N_KMP (722398), страница 5
Текст из файла (страница 5)
Для спряження АЦП і ЦАП з МП доцільно використати програмований паралельний інтерфейс (ППІ) КР580ВВ55. При програмному опитуванні АЦП можна використати режим 0 ППІ, а при вводі через переривання - режим 0 або 1. В залежності від значень розрядів керуючого слова 4, 3, 1, 0 можливі 16 різних комбінацій схем вводу/виводу. При вводі інформація від зовнішніх пристроїв не запам’ятовується в регістраї портів, а передається безпосередньо на шину даних по сигналу читання на вході
. Інформація на входах портів повинна бути встановлена до появи сигналу читання і зберігатись після його закінчення. ППІ в режимі 0 використовується для побудови програмних каналів вводу/виводу з обслуговуванням по програмі. [8]
Так як ввід/вивід здійснюється за допомогою паралельного інтерфейсу, то для проведення даної операції треба ініціалізувати КР580ВВ55. Керуюче слово виглядає так:
Рис. 5.1 Керуюче слово ініціалізації ППІ
Виберемо наступні адреси портів:
А – А0Н;
В – A1H;
С – A2H;
РКС – A3H.
Керуюче слово заноситься в РКС такою послідовністю команд:
MVI A, 90H
OUT 0A3H
Операція вводу:
IN 0A0H; ввід з каналу А
STA 500Н; вивід по адресі XN значення xn
Операція виводу:
LDA 504Н ;ввід в акумулятор 8-розрядів Yn з комірки YN
OUT 0А1H ;вивід в канал В;
Розряд 4 каналу С керує роботою АЦП (до нього підключений вивід АЦП “гашення/перетворення”).
Тоді гашення програмується так:
MVI A ,9H ;вивід в С4 одиниці
OUT 0A2H
Перетворення програмується так:
MVI А, 8H ;вивід в C4 нуля
OUT 0A2H
Як вже було зазначено, коефіцієнти а0, b0, C0 та змінні xn, yn-1, yn-2, yn представляються у пам’яті у вигляді таблиці з початковою адресою 500H.
Програмно це реалізовано так:
| ORG 100H MVI A, 90H OUT 0A0H MVI A, a0 STA 501H MVI A, b0 STA 502H MVI A, c0 STA 503H LXI SP, 4FFH | ;занесення коефіцієнту а0 ;занесення коефіцієнту b0 ;занесення коефіцієнту c0 |
6. Програма цифрової обробки інформації.
Аналізуючи алгоритм функціонування МП–пристрою, ми бачимо, що нам потрібно використовувати такі операції:
-
множення однобайтового слова на однобайтове;
-
додовання однобайтових слів (це можна здійснити за допомогою команди ADD).
В [2] наведені готові програми для здійснення цих операцій.
1. Множення однобайтових чисел без знаку:
| B | |
| * | |
| A | |
| H | L |
| 10 7 7 10 4 16 10 5 16 10 | MULL88: Z1: Z2: | LXI H, 0 MVI D, 0 MVI C, 8 DAD H RLC JNC Z2 DAD D DCR C JNZ Z1 RET |
Коефіцієнти а0, b0, c0в пам'яті зберігаються у вигляді модуля.
Основна програма враховує, що c0 є від'ємний.
Користуючись алгоритмом програми обробки переривання і вищесказаним, програма обробки переривання на мові асемблеру буде (вона зберігається за адресою 8*7)[8]:
Основна програма, за алгоритмом, починається з ініціалізації мікросхеми K580ВВ55 для обміну з ЦАП і АЦП, після того АЦП встановлюється (після гасіння) в режим перетворення вхідного сигналу. Далі іде циклічний підрахунок і виведення результату.
Основна програма:
| 7 7 13 7 13 7 13 10 7 10 7 10 7 10 13 5 13 17 13 13 5 13 17 13 4 13 13 5 13 17 13 4 13 13 13 13 13 13 10 5 10 10 7 | START: | ORG 100,H MVI A, a0 STA 501H MVI A, b0 STA 502H MVI A, c0 STA 503H LXI SP, 4FFH MVI A, 90H OUT 0A3H MVI A, 9H OUT 0A2H MVI A, 8H OUT 0A2H LDA 500H MOV B, A LDA 501H CALL MULL88 STA 504H LDA 505H MOV B, A LDA 502H CALL MULL88 LDA 504H ADD H STA 504H LDA 503H MOV B, A LDA 506H CALL MULL88 LDA 504H SUB H STA 504 H LDA 505H STA 506H LDA 504H STA 505H LDA 504H OUT 0A1H MOV A, 8H OUT 0A3H JMP START HLT | ; занесення в пам’ять коефіцієнтів ; ініціалізація ППІ ; запуск АЦП ;занесення в програму xn ; занесення коефіцієнту а0 ; визначення a0*xn ; занесення в комірку для yn ; занесення в програму значення yn-1 ; занесення коефіцієнту b0 ; визначення b0*yn-1 ; додавання b0*yn-1 і а0*хn ; занесення в комірку для yn ; занесення коефіцієнту с0 ; занесення в програму значення yn-2 ; визначення с0*yn-2 ; визначення b0*yn-1 + а0*хn - с0*yn-2 ; занесення в комірку для yn ; занесення yn-1 в комірку для yn-2 ; занесення yn в комірку для yn-1 ; вивід результату ; вивід логічного 0 в розряд С4 для ; перехід на початок |
6.1 Оцінка верхньої граничної частоти фільтру
Оцінку проводимо з точки зору найнижчої швидкодії фільтру. В процесі виконання програми виконується:
-
підпрограма обробки переривань (ОР)
-
підпрограма множення (3 рази) (MULL88)
Кількість тактів, за які виконується програма, зведені в таблицю:
Таблиця 6.1
| Назва | Кількість тактів, необхідних для виконнаня програми | Число виконань даної програми за один цикл | Кількість тактів, за цикл виконання програми |
| Основна програма | 400 | 1 | 400 |
| MULL88 | 95 | 3 | 285 |
| OP | 108 | 1 | 108 |
Кількість тактів для виконання кожної команди взято з [6].
Формулювання теореми Котельникова:
будь-який сигнал, який має скінчений спектр, може бути без втрат перетворений у цифрову форму і потім відтворений за відліками цього дискретного сигналу при умові:
Для виконання програми необхідно всього тактів N=793. Для максимальної частоти f=2.5МГц для МП KР580ВМ80, частота видачі інформації fвид=2,5МГц/793=3152,6 Гц
За теоремою Котельникова, верхня гранична частота для фільтра складає
fверхнє = fвид /2=3152,6/2=1576,3 Гц (6.2)
7. Опис фрагменту принципової схеми
реалізації системного контролера.
Системний контролер КР580ВВ28 виконує три функції:
-
фіксація слова стану процесора;
-
буферизація шини даних;
-
формування частини сигналів, які належать шині керування МПС (при звернені до ЗП –
і
, при звернені до пристроїв вводу/виводу -
і
,
).
Системний контролер складається з двонаправленої буферної схеми даних, регістра стану, і декодуючої схеми.
Восьмирозрядна паралельна тристабільна буферна схема даних приймає інформацію з канала даних МП по виводам D7 – D0 і передає в регістр стану інформацію стану, на системний канал даних по виводам DB7 – DB0 видає дані у циклі запису по сигналу
. В циклі читання по сигналу
заперечення буферна схема приймає дані з системного каналу по виводам DB7 – DB0 і передає по виводам D7 – D0 на канал даних мікропроцесору.















