Смекни!
smekni.com

Пристрій мікропроцесорної обробки аналогової інформації (стр. 5 из 6)

( ЕО) обох буферних регістрів, здійснюється подача 12-ти розрядного коду на входи ЦАП. Цей сигнал подається програмно, встановленням в 0 четвертого біта ( не зарезервованого) порта С.


5. Загальна структура програми роботи МПП

Структура програмного забезпечення для МПП включає в себе:

головну програму, з якої викликаються підпрограми: ініціалізації, обробки інформації, виводу інформації на ЦАП. В свою чергу підпрограма обробки інформації звертається до підпрограми множення.

програму обробки переривання.

; Головна програма

MAIN: LXI H,FFFFh ;встановлення вказівника стеку на кінець ОЗП,

SPHL ;оскільки в програмі використовується стек

CALL INIT ; виклик підпрограми ініціалізації

MVI A,01H ; подача логічного одиниці в тригер 0-го біта порта С

OUT 07H ;тобто подача сигналу “Запуск” для АЦП

WAIT: EI ; дозвіл переривань

DI ; перевірка не повинна перериватися

LDA 40BH ; Цикл очікування готовності АЦП,

CPI 1; перевірка змінної в пам’яті (“індикатора”) на рівність два.

JNZ WAIT; (чи відбулось переривання?), якщо ні, то продовжити цикл

DI ; програма не повинна перериватися

XRA A ; обнулити “індикатор”,

STA 40BH

CALL DEALW ; Викликати підпрограму обробки інформації

CALL CAP ; Вивести результат на ЦАП

JMP WAIT ; перехід на наступний робочий цикл

; Підпрограма ініціалізації

INIT: DI ; Ініціалізація не повинна перериватися

MVI A,92H; Програмування ППІ1: 0-й режим, порт А,В – ввід,С – вивід.

OUT 07H ; Адреса РКС для ППІ1

MVI A,80H; Програмування ППІ2: 0-й режим, порт А,В,С – вивід.

OUT 0FH ; Адреса РКС для ППІ2

MVI A,14H; Програмування таймера: лічильник – 0, спосіб запису -

OUT 0BH ; молодший байт, режим – 2, лічильник – двійковий.

MVI A,8 ; Запис в лічильник коефіцієнту ділення частоти – 8

OUT 08H ; Адреса РКС таймера

MVI A,F7H; Програмування програмованого контролера переривань ICW1.

OUT PICUL; молодший байт,адреси підпрограми обробки переривань.

MVI A,00H ; задання ICW2

OUT PICUH; старший байт,адреси підпрограми обробки переривань.

MVI A,FDH; задання OCW1,тобто задання обслуговуваних входів PIC.

OUT PICUH ; запис OCW1 в PIC.

MVI A,0h ; запис в пам’ять „0”

STA 40BH ; для індикації

LXI H,400H ; Встановлення адреси на початок ОЗП

MOV M,а0 ; Запис в пам’ять коефіцієнту а0

INX H ; Перехід на наступну комірку пам’яті

MOV M,а1 ; Запис в пам’ять коефіцієнту а1

INX H ; Перехід на наступну комірку пам’яті

MOV M,a2 ; Запис в пам’ять коефіцієнту a2

LXI H,0000H ; Встановлення „0” для x.

SHLD H,405H ; Встановлення „0” для xn-1.

SHLD H,407H ; Встановлення „0” для xn-2.

EI ; дозвіл переривань

RET ; повернення в головну програму

5.1 Опис програми вводу, виводу

Вводом даних займається програма обробки переривання, в задачу якої входить прочитати дані з АЦП, тобто з портів А і В ППІ1, і записати їх в оперативну пам’ять.

; Обробник переривання

IR1: DI ; Інші переривання заборонені

PUSH PSW; Збереження в стеку регістра прапорців і акумулятора

IN 04H; Читання молодших 8 інформаційних розрядів із порта

А STA 403H ; їх запис в оперативну пам’ять.

IN 05H; Читання старших 4-ох інформаційних розрядів із порта В

STA 404H ; їх запис в оперативну пам’ять.

MVI A,1 ; Інкрементування “індикатора” на 1, тобто вказівка головній

STA 40BH ; програмі, що переривання відбулося.

POP PSW; відновлення зі стеку регістра прапорців і акумулятора

EI ; дозвіл переривань

RET ; повернення в перервану програму

Підпрограма виводу обробленої інформації на ЦАП викликається в кінці робочого циклу головної програми, і в її задачу входить почергово записати у буферні регістри інформаційні розряди результату, для того, щоб потім одночасно подати їх на ЦАП. Запис у буферні регістри здійснюється через програмований паралельний інтерфейс ( ППІ2 ).

; Підпрограма виводу інформації на ЦАП

CAP: LDA 408H ; Завантаження з пам’яті 8 молодших розрядів результату

OUT 0CH; Їх вивід в порт А ППІ2 (запис в 1-й буферний регістр)

LDA 409H ; Завантаження з пам’яті 4 старших розрядів результату

OUT 0DH; Їх вивід в порт В ППІ2 (запис в 2-й буферний регістр)

MVI A,08H; Дозвіл виводу інформації із буферних регістів на ЦАП

OUT 0FH ; ( встановлення 4-го біту порта С ППІ2 в 0 )

MVI A,09H; Заборона виводу інформації із буферних регістів на ЦАП

OUT 0FH ; ( встановлення 4-го біту порта С ППІ2 в 1 )

RET ; Повернення в головну програму

5.2 Опис програми обробки інформації

Підпрограмам цифрової обробки інформації здійснює обчислення за одержаним рівнянням цифрового фільтру, тобто необхідно провести обчислення значення yn за відомими значеннями xn, xn-1, yn-1, та постійними коефіцієнтами.

; Підпрограма обробки інформації.

INFW: LHLD 403H ; Завантаження з пам’яті в регістри HL значення xn

MOV B,H; Перепис даних із HL в BC ( специфіка підпрограми DMULT)

MOV C,L

LDA 400H ; Завантаження в акумулятор коефіцієнту а0

CALL DMULT ; Множення xn з a0. Результат в HL

PUSH ; Збереження результату в стеку.

LHLD 405H ; Завантаження з пам’яті в регістри HL значення xn-1

MOV B,H ; Перепис даних із HL в BC

MOV C,L

LDA 401H ; Завантаження в акумулятор коефіцієнту а1

CALL DMULT ; Множення xn-1 з a1. Результат в HL

XCHG; Виконання операції HL=HL-DE, тобто (xn*a0)– (xn-1*a1)

MOV A,D

CMA

MOV D,A

MOV A,E

CMA

MOV E,A

INX D

POP H

DAD D

XCHG

LHLD 407H ; Завантаження з пам’яті в регістри HL значення xn-2

MOV B,H ; Перепис даних із HL в BC

MOV C,L

LDA 402H ; Завантаження в акумулятор коефіцієнту a2

CALL DMULT ; Множення xn-2 з a2. Результат в HL

DAD D ; HL=HL+DE, тобто (xn*a0)-(xn-1*a1)+(xn-2*a2)

MVI A,H

ANI 80H

JZ OVERF ; Перевірка: якщо результат від’ємний

LXI H,0; то присвоюємо йому нижню межу виводу на ЦАП ( тобто 0 )

JMP EXT

OVERF: MOV A,H

ANI 10H

JZ EXT ; якщо результат більший за 12 розрядів,

MOV A,H

ANI 20H

JZ EXT ; якщо результат більший за 12 розрядів,

MOV A,H

ANI 40H

JZ EXT ; якщо результат більший за 12 розрядів,

LXI H,0FFFH; то присвоюємо йому верхню межу виводу на ЦАП ( 4095 )

EXT: SHLD 409H ; Запис результату в пам’ять

LHLD 405H ; Переписати значення xn-1 на місце xn-2

SHLD 407H

LHLD 403H ; Переписати значення xn на місце xn-1

SHLD 405H

RET ; Повернення в головну програму

; Підпрограма множення (спеціалізована). Вхід: BC-множене, A- множник. Вихід: HL- результат

DMULT: PUSH D ; Збереження в стеку регістрів DE

LXI H,0

MVI E,8

Z1: DAD H

RAL

JNC Z2

DAD B

Z2: ACI 0

DCR E

JNZ Z1

MOV L,H; Зсув результату на 8 розрядів вправо (Це пов’язано із

MOV H,A ; специфікою формату представлення даних ).

POP D ; Відновлення зі стеку регістрів DE

RET ; Повернення в підпрограму обробки інформації

5.3 Оцінка верхньої фінітної частоти вхідного аналогово сигналу

Для визначення верхньої фінітної частоти, тобто значення максимальної частоти, що може міститися в аналоговому вхідному сигналі, необхідно порахувати максимальну кількість тактів при виконані обміну і обробки інформації.

Таблиця 9. Кількість тактів, що виконуються основним циклом програми

Частина програми Кількість тактів Число виконань за основний цикл Кількість тактів
Основна 152 1 152
Підпрограма ініціалізації 245 1 245
Підпрограма обробки 460 1 460
Підпрограма множення 506 3 1518
Підпрограма виводу 90 1 90
Програма обробки переривання (вводу даних) 105 1 105
Разом 2570

Кількість тактів в циклі очікування головної програми розраховується у відповідності з tпер АЦП.

Отже загальна кількість тактів основного циклу програми: N= 2570.

На основі теореми про вибірки ( дискретизації ) визначимо фінітну частоту роботи МПП. Дана теорема в ряді випадків називається теоремою Котельникова, Шеннона або Уіттекера – на честь вчених, що її сформували і довели незалежно один від одного. Теорема стверджує можливість представлення аналогово сигналу дискретним рядом, отриманим з АЦП, у випадку виконання умови:

де fDt – частота дискретизації; fmax – фінітна частота вхідного аналогово сигналу.

При тактовій частоті роботи МП КР580ВМ80 рівній 2,5 МГц отримаємо тривалість виконання основного циклу програми:

що відповідає частоті обміну і обробки інформації в МПП, яка рівна:

За теоремою про вибірки фінітна частота вхідного аналогово сигналу має бути вдвічі менша fDt, тобто

Отже, МПП ефективно з великою достовірністю проводить перетворення за функціональною залежністю аналогових сигналів з верхньою обмежувальною частотою 486,38Гц.


6. Опис функціонального вузла

Системний контролер КР580ВК28 призначений для фіксації слова стану процесора КР580МВ80А, формування сигналів які керують пам’ятю і зовнішніми пристроями і буферизації шини даних.

Таблиця 10. Технічні характеристики

Технологія ТТЛШ
Число активних елементів у кристалі 1141
Тип корпуса 2121.28-4
Напруга живлення,В +5
Струм споживання,А 190
Ємність вхідна,Пф 12
Ємність вихідна,Пф 15
Маса, г 5

На схемі 15 зображено корпус системного контролера, а на умовне графічне зображення схеми електричної принципової . Функціональне призначення виводів контролера приведено в таблиці.