Проектирование микропроцессорной системы для идентификации объекта управления

Автор работы: Пользователь скрыл имя, 11 Мая 2014 в 15:33, курсовая работа

Описание работы

Курсовой проект выполняется с целью закрепления знаний по курсу “Микропроцессорные системы” и развития навыков самостоятельного проектирования микропроцессорных систем, специализированных на конкретный вид информации.
Задачами курсового проекта является:
• практическое овладение методикой проектирования микропроцессорных систем;
• анализ вариантов проектных решений и выбор на его основе оптимального решения;
• синтеза функциональной схемы микропроцессорной системы на основе анализа исходных данных и принятого оптимального решения;

Содержание работы

ВВЕДЕНИЕ 4
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 5
АНАЛИЗ АЛГОРИТМА ВЫЧИСЛЕНИЙ 8
ОПРЕДЕЛЕНИЕ СОСТАВА МПС 9
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 11
ВЫБОР МПК И РАЗРАБОТКА АРХИТЕКТУРЫ МПС 12
ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА МПС 14
РАЗРАБОТКА ПОДСИСТЕМЫ ПАМЯТИ МПС 22
РАЗРАБОТКА ПОДСИСТЕМЫ ВВОДА-ВЫВОДА 23
РАЗРАБОТКА ТЭЗА 26
ЗАКЛЮЧЕНИЕ 27
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 29

Файлы: 1 файл

PZ.doc

— 335.50 Кб (Скачать файл)

Step 11: fi = [ 0.701 0.817 -0.940 -0.375 0.266 0.225 -0.425 0.973 ]

        e = 0.084

        O = [ 0.836 0.462 -0.436 -0.218 0.702 -0.320 0.297 -0.439 ]

Step 12: fi = [ 1.047 -0.970 0.817 -0.940 -0.375 0.266 0.225 -0.425 ]

        e = -0.256

        O = [ 0.504 0.263 -0.249 -0.070 0.431 -0.131 0.026 -0.285 ]

Step 13: fi = [ 0.533 -0.762 -0.970 0.817 -0.940 -0.375 0.266 0.225 ]

        e = -0.020

        O = [ 0.522 0.260 -0.247 -0.071 0.436 -0.138 0.026 -0.289 ]

Step 14: fi = [ 0.117 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 0.266 ]

        e = 0.023

        O = [ 0.343 0.263 -0.251 -0.073 0.239 -0.135 0.019 -0.291 ]

Step 15: fi = [ 0.939 0.325 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 ]

        e = -0.204

        O = [ 0.330 0.176 -0.220 -0.037 0.259 -0.124 0.048 -0.136 ]

Step 16: fi = [ 0.648 -0.632 0.325 -0.969 -0.762 -0.970 0.817 -0.940 ]

        e = 0.048

        O = [ 0.343 0.272 -0.217 -0.043 0.247 -0.112 0.052 -0.237 ]

Step 17: fi = [ 0.753 0.478 -0.632 0.325 -0.969 -0.762 -0.970 0.817 ]

        e = 0.552

        O = [ 0.765 0.439 -0.471 -0.201 0.673 -0.355 0.232 -0.404 ]

Step 18: fi = [ 0.559 -0.946 0.478 -0.632 0.325 -0.969 -0.762 -0.970 ]

        e = 0.023

        O = [ 0.776 0.442 -0.450 -0.203 0.675 -0.358 0.225 -0.410 ]

 

Step 19: fi = [ 0.974 -0.256 -0.946 0.478 -0.632 0.325 -0.969 -0.762 ]

        e = -0.030

        O = [ 0.767 0.419 -0.408 -0.212 0.673 -0.359 0.229 -0.404 ]

Step 20: fi = [ 0.954 0.139 -0.256 -0.946 0.478 -0.632 0.325 -0.969 ]

        e = -0.368

        O = [ 0.517 0.275 -0.246 -0.015 0.438 -0.150 0.006 -0.256 ]

Step 21: fi = [ 1.736 0.134 0.139 -0.256 -0.946 0.478 -0.632 -0.325 ]

        e = -0.045

        O = [ 0.502 0.267 -0.248 -0.065 0.441 -0.150 0.056 -0.258 ]

Step 22: fi = [ 0.679 -0.488 0.134 0.139 -0.256 -0.946 0.478 -0.632 ]

        e = 0.222

        O = [ 0.664 0.329 -0.357 -0.126 0.545 -0.222 0.103 -0.349 ]

Step 23: fi = [ 0.685 0.531 -0.488 0.134 0.139 -0.256 -0.946 0.478 ]

        e = 0.176

       O = [ 0.675 0.341 -0.357 -0.115 0.558 -0.236 0.122 -0.346 ]

Step 24: fi = [ 1.015 -0.361 0.531 -0.488 0.134 0.139 -0.256 -0.946 ]

        e = -0.220

        O = [ 0.587 0.294 -0.397 -0.122 0.442 -0.245 0.111 -0.217 ]

Step 25: fi = [ 0.755 0.111 -0.361 0.531 -0.488 0.134 0.139 -0.256 ]

        e = -0.173

        O = [ 0.546 0.277 -0.362 -0.136 0.499 -0.218 0.071 -0.251 ]

Step 26: fi = [ 0.420 0.660 0.111 -0.361 0.531 -0.488 0.134 -0.139 ]

        e = 0.310

        O = [ 0.596 0.297 -0.314 -0.118 0.516 -0.186 0.091 -0.296 ]

Step 27: fi = [ 1.239 -0.775 0.660 0.111 -0.361 0.531 -0.488 -0.134 ]

        e = 0.119

        O = [ 0.615 0.321 -0.276 -0.078 0.532 -0.152 0.114 -0.301 ]

Step 28: fi = [ 0.242 -0.715 -0.775 0.660 0.111 -0.361 0.531 -0.488 ]

        e = -0.093

        O = [ 0.610 0.315 -0.297 -0.096 0.526 -0.163 0.102 -0.302 ]

Step 29: fi = [ 0.610 -0.327 -0.715 -0.775 0.660 0.111 -0.361 0.531 ]

        e = -0.040

        O = [ 0.607 0.311 -0.304 -0.107 0.519 -0.173 0.094 -0.306 ]

 

 

ПРИЛОЖЕНИЕ 3

 

Листинг программы прошивки ПЗУ.

 

_TEXT segment byte public 'CODE'

      assume cs:_TEXT, ds:_TEXT

      org 100h

   ;

   ; Процедура инициализации

   ;

init:

   ;

   ; Обнуление  O

   ;

        mov     di,offset O

        mov     ax,ds

        mov     es,ax

        xor     ax,ax

        mov     cx,16

        rep     stosw

        jmp     start

 

start:

        mov     word ptr x,0

        mov     word ptr x+2,0

        mov     word ptr z,0

        mov     word ptr z+2,0

   ;

   ; r -> единичная матрица

   ;

        mov     word ptr i,0

@1@58:

        mov     bx,word ptr i

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr i

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        mov     word ptr r[bx+2],16256

        mov     word ptr r[bx],0

        inc     word ptr i

        cmp     word ptr i,8

        jl      short @1@58

   ;

   ; Настройка портов ввода-вывода

   ;

        mov     cx,8

        mov     dx,02h

@1@581:

        add     dx,4

        mov     al,11110101B ; ассинхр.,

                ; 6 бит символа, четный паритет

        out     dx,al

        mov     al,00111110B ; приемик

        out     dx,al

        loop    @1@581

        add     dx,4

        mov     al,11111101B ; ассинхр.,

                ; 8 бит символа, четный паритет

        out     dx,al

        mov     al,00110011B ; передатчик

        out     dx,al

   ;

   ; Обработка данных

   ;

calc:

   ;

   ; Ввод  fi

   ;

        mov     cx,8

        mov     dx,0

        mov     bx,0

@1@1599:

        add     dx,4

        in      al,dx

        mov     byte ptr fi[bx],al

        inc     bx

        loop    @1@1599

   ;

   ; Обнуляем  rfi

   ;

        mov     di,offset rfi

        xor     ax,ax

        mov     cx,16

        rep     stosw

   ;

   ; Вычисление  rfi

   ;

        mov     word ptr i,0

@1@198:

        mov     word ptr j,0

@1@226:

        mov     bx,word ptr j

        mov     al,byte ptr fi[bx]

        mov     ah,0

        mov     word ptr temp,ax

        fild    word ptr temp

        mov     bx,word ptr i

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr j

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        fmul    dword ptr r[bx]

        mov     bx,word ptr i

        shl     bx,cl

        fadd    dword ptr rfi[bx]

        mov     bx,word ptr i

        shl     bx,cl

        fstp    dword ptr rfi[bx]

        fwait

        inc     word ptr j

        cmp     word ptr j,8

        jl      short @1@226

        inc     word ptr i

        cmp     word ptr i,8

        jl      short @1@198

   ;

   ; znam = 0.0;

   ;

        mov     word ptr znam+2,0

        mov     word ptr znam,0

   ;

   ; Вычисление  znam

   ;

        mov     word ptr i,0

        xor     si,si

        mov     cl,2

        shl     si,cl

        add     si,offset rfi

@1@450:

        mov     bx,word ptr i

        mov     al,byte ptr fi[bx]

        mov     ah,0

        mov     word ptr temp,ax

        fild    word ptr temp

        fmul    dword ptr [si]

        fadd    dword ptr znam

        fstp    dword ptr znam

        fwait

        add     si,4

        inc     word ptr i

        cmp     si,offset rfi+32

        jne     short @1@450

@1@562:

   ;

   ; znam+=sigma;

   ;

        mov     ax,word ptr sigma

        mov     word ptr temp,ax

        fild    word ptr temp

        fadd    dword ptr znam

        fstp    dword ptr znam

        fwait

   ;

   ; Транспонирование  r

   ;

        mov     word ptr i,0

@1@590:

        mov     ax,word ptr i

        inc     ax

        mov     word ptr j,ax

        jmp     @1@674

@1@618:

        mov     bx,word ptr i

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr j

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        mov     ax,word ptr r[bx]

        mov     word ptr temp,ax

        mov     ax,word ptr r[bx+2]

        mov     word ptr temp+2,ax

        mov     dx,bx

       mov     bx,word ptr j

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr i

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        mov     ax,word ptr r[bx]

        mov     word ptr temp+4,ax

        mov     ax,word ptr r[bx+2]

        mov     word ptr temp+6,ax

        mov     ax,word ptr temp

        mov     word ptr r[bx],ax

        mov     ax,word ptr temp+2

        mov     word ptr r[bx+2],ax

        mov     bx,dx

        mov     ax,word ptr temp+4

        mov     word ptr r[bx],ax

        mov     ax,word ptr temp+6

        mov     word ptr r[bx+2],ax

        inc     word ptr j

@1@674:

        cmp     word ptr j,8

        jge     @@28

        jmp     @1@618

@@28:

        inc     word ptr i

        cmp     word ptr i,8

        jge     @@29

        jmp     @1@590

@@29:

   ;

   ; Обнуление  chisl

   ;

        mov     di,offset chisl

        xor     ax,ax

        mov     cx,128

        rep     stosw

   ;

   ;

   ;

        mov     word ptr i,0

@1@786:

   ;

   ; Вычисление  chline

   ;

        mov     word ptr j,0

@1@814:

        mov     bx,word ptr j

        mov     al,byte ptr fi[bx]

        mov     ah,0

        mov     word ptr temp,ax

        fild    word ptr temp

        mov     bx,word ptr i

        mov     cl,2

        shl     bx,cl

        fmul    dword ptr rfi[bx]

        mov     bx,word ptr j

        shl     bx,cl

        fstp    dword ptr chline[bx]

        fwait

        inc     word ptr j

        cmp     word ptr j,8

        jl      short @1@814

   ;

   ; Вычисление  chisl

   ;

        mov     word ptr j,0

@1@926:

        mov     word ptr l,0

        mov     ax,word ptr i

        mov     cl,5

        shl     ax,cl

        mov     dx,word ptr j

        mov     cl,2

        shl     dx,cl

        add     ax,dx

        mov     si,ax

@1@982:

        mov     bx,word ptr l

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr j

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        fld     dword ptr r[bx]

        mov     bx,word ptr l

        shl     bx,cl

        fmul    dword ptr chline[bx]

        fadd    dword ptr chisl[si]

        fstp    dword ptr chisl[si]

        fwait

        inc     word ptr l

        cmp     word ptr l,8

        jl      short @1@982

        inc     word ptr j

        cmp     word ptr j,8

        jl      short @1@926

        inc     word ptr i

        cmp     word ptr i,8

        jge     @@30

        jmp     @1@786

@@30:

   ;

   ; Вычисление  r

   ;

        mov     word ptr i,0

@1@1206:

        mov     word ptr j,0

@1@1234:

        mov     bx,word ptr i

        mov     cl,5

        shl     bx,cl

        mov     ax,word ptr j

        mov     cl,2

        shl     ax,cl

        add     bx,ax

        fld     dword ptr chisl[bx]

        fdiv    dword ptr znam

        fsubr   dword ptr r[bx]

        fstp    dword ptr r[bx]

        fwait

        inc     word ptr j

        cmp     word ptr j,8

        jl      short @1@1234

   ;

   ; Вычисление  k

   ;

        mov     bx,word ptr i

        mov     cl,2

        shl     bx,cl

        fld     dword ptr rfi[bx]

        fdiv    dword ptr znam

        fstp    dword ptr k[bx]

        fwait

        inc     word ptr i

        cmp     word ptr i,8

        jge     @@31

        jmp     @1@1206

@@31:

   ;

   ; e = 0.0;

   ;

        mov     word ptr e,0

        mov     word ptr e+2,0

   ;

   ; Вычисление  e

   ;

        mov     word ptr i,0

        xor     si,si

        mov     cl,2

        shl     si,cl

        add     si,offset O

@1@1486:

        mov     bx,word ptr i

        mov     al,byte ptr fi[bx]

        mov     ah,0

        mov     word ptr temp,ax

        fild    word ptr temp

        fmul    dword ptr [si]

        fadd    dword ptr e

        fstp    dword ptr e

        fwait

        add     si,4

        inc     word ptr i

        cmp     si,offset O+32

        jne     short @1@1486

@1@1598:

   ;

   ; e = ksi-e;

   ;

        mov     al,byte ptr fi

        mov     ah,0

        mov     word ptr temp,ax

        fild    word ptr temp

        fsub    dword ptr e

        fstp    dword ptr e

        fwait

   ;

   ; Вычисление  O

   ;

        mov     word ptr i,0

@1@1850:

        mov     bx,word ptr i

        mov     cl,2

        shl     bx,cl

        fld     dword ptr k[bx]

        fmul    dword ptr e

        fadd    dword ptr O[bx]

        fstp    dword ptr O[bx]

        fwait

        inc     word ptr i

        cmp     word ptr i,8

        jl      short @1@1850

   ;

   ; Вывод  O

   ;

        mov     ax,100

        mov     word ptr temp,ax

        mov     ax,0

        mov     word ptr temp+2,ax

        mov     cx,8

        mov     bx,0

@1@1860:

        fld     dword ptr O[bx]

        fmul    dword ptr temp

        fistp   word ptr temp+4

        mov     al,byte ptr temp+4

        out     20h,al

        add     bx,4

        loop    @1@1860

 

        jmp     calc

   ;

   ; RAM

   ;

i       db      2   dup (?)

j       db      2   dup (?)

l       db      2   dup (?)

 

sigma   dd      0.5

x       db     4   dup (?)

z       db      4   dup {?}

e       db      4   dup (?)

r       db      256 dup (?)

k       db      32  dup (?)

O       db      32  dup (?)

fi      db      8   dup (?)

temp    db      8   dup (?)

tmpr    db      4   dup (?)

rfi     db      32 dup (?)

znam    db      4   dup (?)

chisl   db      256 dup (?)

chline  db      32  dup (?)

 

_TEXT   ends

        end     init

 

 

 

ПРИЛОЖЕНИЕ 4

 

Временные диаграммы работы системы

 

Рисунок 1. Цикл чтения из ОЗУ

Рисунок 2. Цикл записи в ОЗУ

 

Рисунок 3. Цикл чтения из ПЗУ

 

 

 

Время

Значение

Комментарий

Tc

61 нс

  Длительность цикла шины = 2*TCLK2

T82

10 нс

  Задержка на защелках адреса 8282

T86

10 нс

  Задержка приемопередатчиках 8286

Tram

45 нс

  Время чтения/записи данных ОЗУ

Trom

50 нс

  Время выборки данных из ПЗУ


 


Информация о работе Проектирование микропроцессорной системы для идентификации объекта управления