Схема 4. Часова діаграма роботи ВІС К572ПВ1 в режимі АЦП.
В циклічному режимі роботи за періодом зчитування йде період повернення АЦП в початковий стан ( скидання ) по сигналу з виводу 22 ( Цикл ). Включення резисторів R/2 або 2R на вході компаратора А1 ( див. Додаток 2 ) забезпечує зміну UIRN
від 0,5 до 2 UREF
відповідно. Типовий час перетворення складає 110 мкс. Полярність діапазону вхідної напруги може бути любою і встановлюється вибором полярності UREF
.
Число розрядів перетворення може бути зменшено шляхом подачі на вхід 27 повторного сигналу “Запуск” по закінченню (n+1) такту. З’єднання виводів 22 і 28 переводить схему з синхронного режиму роботи в циклічний, при цьому на вхід 27 подається логічний 0.
Особливістю конструктивного-технологічного виконання ВІС АЦП К572ПВ1 дає можливість її сумісній роботі із серійними МП комплексами без застосування додаткових зовнішніх пристроїв.
Для спряження АЦП з МП доцільно використовувати програмований паралельний інтерфейс ( ППІ ) КР580ВВ55. У даній роботі використовується 1-й режим роботи ППІ.
На схемі 4 наведено фрагмент схеми підключення ВІС АЦП К572ПВ1 до шин МПП через КР580ВВ55 в режимі вводу інформації через ПКП.
Схема 4. Фрагмент схеми підключення ВІС АЦП К572ПВ1 до шин МПП.
На аналоговий вхід АЦП подається сигнал х(t). Цифрові виходи P(0-7) АЦП (молодші 8 біт ) підключені до каналу А ППІ, а цифрові виходи P(8-11) АЦП ( старші 4 біти ) – до молодшої тетради каналу В ППІ.
Вивід АЦП П ( пуск ) підключений до розряду 0 порта С. Цей сигнал кожен раз буде формуватись програмно.
Обмін між ППІ і МП здійснюється через виводи D(0-7), які підключені до шини даних. Канал А та В ППІ запрограмовані на ввід, розряди каналу С використовуються для керування обміном.
Запуск АЦП ( сигнал П ), здійснюється через паралельний інтерфейс КР580ВВ55 ( розряд 0 каналу С ).При поступлені на АЦП x(t) і при закінченні перетворення він виробляє сигнал готовності ГТ, який підключений до ПКП.Який в свою чергу подає сигнал INT на МП, і дочекавшись сигналу INTA від СК подає на шину даних код команди CALL і діставши іще два сигнали INTA подає на шину даних два байти адреси підпрограми обробника переривання. По такомуж алгоритму і буде підключена ВІС до нашого Програмованого Контроллера Переривань.
3.2 Вибір типу ЦАП
Вибір типу ЦАП здійснювався з урахуванням наступних вимог:
Кількість розрядів ЦАП співпадає із АЦП і відповідає умовам індивідуального завдання;
Цифрові входи мають логічні рівні ТТЛ - логіки, тобто допускають пряме підключення до каналів вводу-виводу;
Відповідність полярності вихідного сигналу до завдання і схем вибору ЦАП.
Проаналізувавши такі мікросхеми ЦАП, як К572ПА2 (КР572ПА2), К594ПА1, К1108ПА1, я зупинився на виборі мікросхеми К594ПА1.
Мікросхема типу К594ПА1 являє собою паралельний ЦАП з сумуванням струмів, комбінованою матрицею (зважених і R-2R резисторів), використовується для перетворення двійкового 12 розрядного коду в струм та працює зі стандартними рівнями сигналів від ТТЛ та КМОН ЦІС. Конструктивно ЦАП створений на двох кристалах, які знаходяться в металокерамічному корпусі. Мікросхема створена по біполярній планарно-епітаксіальній технології з p-n-p та n-p-n транзисторами.
Основні електричні параметри при температурі навколишнього середовища 25±10 о
С:
Не менше Не більше
Число розрядів ......12
Диференціальна нелінійність δ(%)..............-0,012 0,012
Діапазон вихідних струмів Iorn (мА):
Уніполярний ............................................1,8 2,2
Біполярний....................................................0,9 1,1
Струм витоку (утєчкі) на виході (мкА)........... 0,7
Вхідна напруга низького рівня (В), про роботі з :
ТТЛ........................ 0,8
КМОН..................................................……. 0,3
Вхідна напруга високого рівня (В), про роботі з :
ТТЛ...................................................................…….................... 2,0
КМОН......................................................................……............. 0,7Ucc1
Струм живлення Icc1(мА)................................................ 25
Струм живлення Icc2(мА).............................................…….. 35
Вихідний струм Io(мА)...........................................................…….. 2,2
Час встановлення вихідного струму
(при зміні коду від 00...00 до 11...11) (мкс) ............................ 3,5
Гранично допустимі значення електричних режимів експлуатації:
Не менше Не більше
Напруга джерела живлення Ucc1(В)................................................. 6,0
Напруга джерела живлення Ucc2(В).................................................-18
Напруга опорного джерела Uref(В)...................................9,0 11,0
Вхідна напруга високого рівня (В)......................................2,0 6,0
Вхідна напруга низького рівня (В)...................................0 1,0
Типові залежності електричних параметрів ЦАП від зміни напруги джерел живлення та температури навколишнього середовища:
Схема 6. Типові залежності нелінійності та диференціальної не лінійності ІС ЦАП К594ПА1 від напруг джерел живлення
а) б)
Схема 7. Типові залежності не лінійності (а) і часу встановлення (б) ІС ЦАП К594ПА1 від температури навколишнього середовища
Схема 8. Типова залежність часу встановлення ЦАП К594ПА1 від ємності навантаження С
Мікросхема К594ПА1 експлуатується без додаткового тепло відводу. При температурі навколишнього середовища 85 С та більше поверхню ІС необхідно охолоджувати повітрям зі швидкістю 3 м/с. Забороняється подавати які-небудь електричні сигнали на поверхню кришки корпусу і незадіяні виводу ІС. Резистор 10 кОм (виводи 1,2) забезпечує режим роботи з біполярним струмом в діапазонах напруги ±2,5 ; ±5 ; ±10В.
Номінальні значення ємності навантаження ІС 10 пФ. Загальна ємність навантаження може перевищувати номінальне значення, але при цьому норми на часові параметри ЦАП не гарантуються.
В режимі роботи ЦАП з струмовим виходом допускається підключення джерела опорного навантаження до виводу 22 ІС . При цьому величина вихідного струму перетворювача буде залежати від стабільності підключеного резистору.
Таблиця 2. Нумерація та призначення виводів ІС ЦАП К594ПА1
Вивід |
Призначення |
1
2
3
4
5
6
7
8-17
18
19
20
21
22
23
24
|
–вхід зсуву вихідного рівня;
–вихід зсуву вихідного рівня;
–вихід;
–зворотній зв’язок Uorn=10B;
–зворотній зв’язок Uorn=20B;
–загальний;
–цифровий вхід 12 (МР);
–цифрові входи 11-2;
–цифровий вхід 1 (СР);
–напруга джерела живлення Ucc1;
–керування логічним порогом;
–інвертуючий вхід ОП;
–неінвертуючий вхід ОП;
–вхід джерела опорної напруги Uref;
–напруга джерела живлення Ucc2;
|
Мікросхема К594ПА1 забезпечує норми на електричні параметри, при номінальному значенні Uref=10,24B з допустимими відхиленнями ± 3% і стабільності підтримки напруги 0,005%. Амплітудні значення пульсацій джерела опорної напруги можуть досягати 150 мкВ, але значення напруг перехідних і паразитних сигналів не повинні перевищувати 200 мкВ при тривалій дії не більше 0,3 мкс.
Схема 9. Структурна схема підключення МП і ЦАП
3.3 Структура представлення даних
Структура даних, які входять в рівняння цифрового фільтра, визначаються коефіцієнтами рівняння і заданою розрядністю АЦП. Оскільки відповідно до завдання АЦП є 12-ти розрядним, а вхідний сигнал є двополярним, то результат перетворення АЦП в залежності від вхідного сигналу подамо у вигляді таблиці 3.
Таблиця 3.
Вхід АЦП |
Код |
+Uxmax
|
4095 |
0 |
2048 |
–Uxmax
|
0 |
Для двополярної вхідної напруги Uxn
матимемо залежність з вихідним кодом АЦП xn
:
Uxn
= Uxmax
( xn
/211
– 1 ) (3.1)
Результат перетворення 12-ти розрядного блоку ЦАП в залежності від цифрового коду yn
вихідної напруги Uyn
подано у вигляді таблиці 4.
Таблиця 4
Код |
Вихід ЦАП |
4095 |
+Uymax
|
2048 |
0 |
0 |
–Uymax
|
Підставимо (3.1) в рівняння цифрового фільтру yn
=a0
xn
+a1
xn-1
+b1
yn-1
. В результаті отримаємо:
Коефіцієнти цифрового фільтру при xn
, xn-1
залежать від співвідношень напруг
на вході АЦП і виході ЦАП даного МПП. Тому необхідно вибирати перетворювачі з електричними параметрами
=1.
Для рівняння цифрового фільтру yn
=a0
xn
+a1
xn-1
+b1
yn-1
, коефіцієнти a0
, a1
, b1
представляються однобайтовими числами. В нашому випадку:
0 < a0
< 1 ; -1 < a1
<0; -1 < b1
< 0.
Як видно всі параметри за модулем менші від 1, а параметр a1
та b1
є від’ємним. Запишемо параметри як числа з фіксованою комою. В такому випадку їх можна представити одним байтом, де всі 8 розрядів будуть визначати дробову частину числа (ціла частина рівна 0). Максимальне дробове число (по модулю), яке може розміститись у восьми розрядах – (11111111)2
= (2-1
+2-2
+2-3
+2-4
+2-5
+2-6
+2-7
+2-8
)10
=0,99609375; мінімальне – (00000000)2
= 0. Коефіцієнти a0
будемо вважати додатніми, а для коефіцієнта a1
та b1
замість операції додавання будемо виконувати операцію віднімання.
Для максимальних кодових комбінацій xn
, xn-1
, yn-1
однакової розрядності:
yn(max)
= a0
xn(max)
+a1
xn-1(max)
+b1
yn-1(max)
тобто yn(max)
= 4095 = 8190 ( 12 розрядів ), при a0
=1, a1
=b1
=0; yn(min)
= –8190, при a0
=0, a1
=b1
= - 1;
Схема 10. Структура представлення даних
У пам’яті всі дані розташовані з певної комірки в такій послідовності, як показано на рис.3.1. Під коефіцієнти a0
, a1
, b1
відводиться по одному байту, під змінні xn
, xn-1
, yn
, yn-1
– по два байти. У разі перевищення результату обчислень значення 4095 на ЦАП виводиться максимальне значення, тобто 0FFFh, у разі від’ємного результату – мінімальне значення ( 0000h ).
Одержана структура визначає формати виконання арифметичних операцій обчислення вихідного значення цифрового фільтра.
4. Структурна схема та алгоритм функціонування МПП
4.1 Опис структурної схеми МПП
Структурна схема МПП включає крім АЦП і ЦАП всі необхідні для функціонування компоненти МПС: МП КР580ВМ80, тактовий генератор КР580ГФ24, системний контролер КР580ВК28, оперативну та постійну пам’ять (ОЗП, ПЗП), два програмованих паралельних інтерфейси КР580ВВ55, до яких підключаються АЦП і ЦАП.
Схема 10. Структурна схема МПП
Позначення елементів на схемі 11: СК – системний контролер; ША – шина адрес (16-ти розрядна); ШД– шина даних (8-ми розрядна); ШК – шина керування; ВШД – внутрішня шина даних мікропроцесора (8-ми розрядна) ; ВШК – внутрішня шина керування мікропроцесора; ДШП – дешифратор пам’яті; ДШВ/В – дешифратор каналів вводу-виводу; x(t) – вхідний аналоговий сигнал; y(t) – вихідний аналоговий сигнал.
У таблиці 5 наведено елементи, які використовуються в структурній схемі МПП, їх опис, та мікросхеми, що їм відповідають.
Таблиця 5. Опис та мікросхеми елементів структурної схеми МПП
Позначення |
Опис |
Мікросхема |
МП |
Мікропроцесор |
КР580ВМ80 |
ГТІ |
Генератор тактових імпульсів |
КР580ГФ24 |
ШФ |
Шинний формувач |
КР580ВА86 |
БР |
Буферний регістр |
КР580ИР82 |
ПЗП |
Постійно-запам’ятовуючий пристрій |
К573РФ21 |
ОЗП |
Оперативно-запам’ятовуючий пристрій |
КР537РУ8А |
ППІ |
Програмований паралельний інтерфейс |
КР580ВВ55 |
АЦП |
Аналогово-цифровий перетворювач |
К512ПВ1 |
ЦАП |
Цифро-аналоговий перетворювач |
К594ПА1 |
ПКП |
Програмований контролер переривань |
КР580ВН59 |
Таймер |
Програмований таймер |
КР580ВИ53 |
Наведемо коротко призначення кожного з елементів структурної схеми МПП.
МП. Головна частина МПП. Виконує функції зчитування інформації із зовнішніх пристроїв чи пам’яті і виконання над нею арифметичних чи логічних операції; аналізу результатів обчислення; запису даних у пам’ять чи зовнішні пристрої;
ГТІ. Використовується для вироблення тактуючих синхросерій F1, F2 для мікропроцесора; сигналу початкової установки RESET; сигналу готовності READY; сигналу стробу стану STB, який поступає на системний контролер і служить для фіксації слова стану мікропроцесора;
СК. Призначений для фіксації слова стану мікропроцесора, сигналів керування зовнішньою пам’яттю та пристроями вводу-виводу, буферизації шини даних;
ПЗП. Використовується для зберігання та зчитування інформації. Відмінність від ОЗП полягає у тому, що в ПЗП інформація записується один раз і режимі експлуатації використовується лише при зчитуванні;
ОЗП. Призначений для зберігання, зчитування та запису інформації. В режимі експлуатації інформацію можна як зчитувати, так і записувати;
ППІ. Використовується для організації вводу-виводу паралельної інформації різних форматів і дозволяє здійснювати обмін в більшості відомих протоколах паралельної передачі даних;
АЦП. Призначений для перетворення аналогово сигналу у цифровий код відповідної розрядності;
АЦП. Призначений для перетворення цифрової комбінації певної розрядності у аналоговий сигнал;
ПКП призначений для контролю за перериваннями, та при поступленні запиту на переривання подачу адреси підпрограми обробки переривання.
ША, ШД, ШД. Використовуються для інформаційного обміну між елементами МПП;
ВШД, ВШК. Використовуються для інформаційного обміну в самому МП;
ДШП, ДШВ/В,ДАК. Використовуються для вибору відповідних мікросхем пам’яті та зовнішніх пристроїв.
Таймер. Використовується як подільник частоти для ТІ АЦП.
4.2 Розподіл адресного простору
В адресний простір МП КР580ВМ80 входить 64К адрес пам’яті ( 216
), що визначається 16-ти розрядною адресною шиною. МП КР580ВМ80 може здійснювати синхронний і асинхронний обмін інформацією за даними адресами з пам’яттю ( ПЗП, ОЗП ) та зовнішніми пристроями. При обробці інформації МП зчитує коди команд, операнди і записує одержаний вміст в РЗК або виконує обмін інформації з пам’яттю та зовнішніми пристроями.
Можливі два підходи до організації звертання до пристроїв обміну інформації. Перший підхід використовує звертання до зовнішніх пристроїв, як до комірок пам’яті. До переваг даного підходу можна віднести можливість використання різноманітних команд пересилання даних. Інший підхід використовує роздільне керування пам’яттю і зовнішніми пристроями. Лиш тільки дві команди IN і OUT, в цьому випадку, призначені для обміну інформації з зовнішніми пристроями. Так, як для цих команд адрес для зовнішнього пристрою 8-ми розрядний, то МП КР580ВМ80 може звертатись до 256 пристроїв вводу і 256 пристроїв виводу. При цьому адресний простір пам’яті буде максимальним.
Організація адресного простору пам’яті наступна:
Таблиця 6.
Вид пам’яті |
Мінімальна. комірка пам’яті |
Максимальна. Комірка пам’яті |
Об’єм |
ПЗП
ОЗП
|
0000h
0400h
|
03FFh
FFFFh
|
1 Кб
63 Кб
|
Розподіл адресного простору для зовнішніх пристроїв:
1.Для програмованого контролера переривань.
Таблиця 7.
контролер |
Адреси |
А0 = 0
А0 = 1
|
00h
01h
|
2.Для програмованих паралельних інтерфейсів
Таблиця 8.
Порти |
ППІ1 ( до АЦП ) |
ППІ2 ( до ЦАП ) |
A
B
C
РКС
|
04h
05h
06h
07h
|
0Сh
0Dh
0Eh
0Fh
|
3. Для програмованого таймера
Таблиця 9.
Лічильники |
Адреси |
0
1
2
РКС
|
08h
09h
0Ah
0Bh
|
У схемі 12 приведені адреси, що відводяться для програм, підпрограм, даних.
0000h перехід на головну програму ( jmp 0040h )
0040h-0060h головна програма
0061h-0085h підпрограма ініціалізації
0086h-0099h програма обробки переривання
009Ah-00B0h підпрограма множення
00B1h-00BBh підпрограма виводу інформації
0100h-015Fh підпрограма обробки інформації
00E4h перехід на програму обробки переривання
( jmp 0086h )
03FFh
ПЗП
|
400h a0
401h a1
402h a2
403h-404h xn
405h-0406h xn-1
407h-0408h xn-2
409h-40Ah yn
,
40Bh ind – допоміжна змінна
FFFFh SP
ОЗП
|
Схема 12. Розподіл простору адрес в МПП обробки аналогово сигналу
4.3 Алгоритм функціонування МПП
Схема 13. Алгоритм функціонування МПП
На цьому етапі відбудеться переривання , обробник якого встановить змінну Ind в1
При одночасному включені живлення –5В, +5В,12В і поступленні тактових імпульсів на мікропроцесор, всі регістри і прапорці МП встановлюються в довільні стани. Після цього подається з ГТІ на вхід RESET МП сигнал високого рівня тривалістю не менше 3 такітв. Лічильник команд (PC) , тригер дозволу переривання (вихід INTE), а також тригер підтвердження захоплення (вихід HLDA) скидаються, і мікропроцесор починає вибірку з пам’яті команд, розміщених з нульової адреси.
Алгоритм головної програми включає наступні пункти.
Ініціалізація зовнішніх пристроїв, запис коефіцієнтів a0
, a1
, a2
і початкове обнулення змінних. ППІ, до якого підключений АЦП програмується на режим роботи 0, порт А і порт В – на ввід. ППІ, до якого підключений ЦАП також програмується на 0-й режим роботи, однак порти А і В працюють на вивід. У програмованому таймері лічильник 0 ініціюється як двійковий, на 2-й режим роботи (подільник частоти ) і в цей лічильник записується значення 8 ( частота сигналу F2(TTL)
ділиться на 8 ). Обнулення змінних ( xn-1
, xn-2
, ) виконується у зв’язку з тим, що вони використовуються як множники у рівнянні цифрового фільтру, однак при першому звертання до цього рівняння ще не сформовані ( отже повинні бути нульовими).
Подання на АЦП сигналу “Запуск”. Затримка, пов’язана із перевіркою змінної Ind на рівність 1, використовується у зв’язку з тим, що подавши на АЦП сигнал “Запуск” останній не одразу виробить двійковий код вхідного аналогово сигналу (для ВІС АЦП К512ПВ1 tпер
=110мкс.), тобто мікропроцесору потрібно почекати доки АЦП не видасть сигналу “готовність”, тим самим викликавши переривання . Обробник цього переривання прочитає дані з АЦП, запише їх в пам’ять і встановить зміну Ind в 1, що після повернення до головної програми призведе до виходу із циклу очікування і виконанню наступних дій. Обробка отриманої інформації і вивід її на ЦАП. Обробка включає перемноження і сумування елементів у відповідності до рівняння цифрового фільтру, тобто знаходження кінцевої вихідної величини yn
, яка і виводиться на ЦАП. Після цього здійснюється перехід до пункту 2.
Для збільшення фінітної частоти вхідного сигналу запуск АЦП проводиться перед підпрограмою виводу ( а не безпосередньо перед циклом очікування ), тобто в розрахований час МП АЦП працюють паралельно.
Функціонування МПП припиняється після вимкнення живлення.
Блок-схема програми обробки переривання приведена на схемі 14. Під час виконання команд обробника всі переривання заборонено. Пісня збереження в стеку регістрів, які будуть використовуватись, скидається сигнал “Запуск” АЦП, і відбувається читання портів ППІ. Прочитана інформація записується в пам’ять. Наступними діями є встановлення в 1 змінної Ind, відновлення зі стеку регістрів, дозвіл переривань і повернення до перерваної програми.
Схема 13. Алгоритм програми обробки переривання за адресою 00E4h(IR1)
Виконавши команду, мікропроцесор збереже у стеку адресу ( тобто поточне значення лічильника команд PC ) перерваної програми і почне вибирати з пам’яті команди, які розташовані за адресою 00E4h. Перша команда – це безумовний перехід на програму обробки переривання. Таким чином реалізовується механізм обміну даних з АЦП через переривання.
Отже нам задано адресу 00E4h, це значить,що старший байт це ICW2 = 00h, а молодший байт формується на основі ICW1.Отже E4h = 11100100b, а це означає що спосіб формування молодшого байта буде першим, тобто другий біт ICW1 ,буде 1.Так як ПКП один, то третій біт ICW1 буде 1.Так як молодший байт адреси підпрограми обробника переривання формується першим способом то його структура буде така: XXXYYY00, де ХХХ – задається старші три біта молодшого байта адреси (у нашому випадку – 111), а YYY – номер порта на який поступив запит (у нашому випадку 001b=1)
Тобто сигнал готовності АЦП має бути підклбючений до IR1, а ICW1 = F6h (порожні біти ICW1 взяли за 0).Також в цій курсовій я використав маскування входів ПКП, використавши OCW1 = F7, але це не суттєво
Вивід обробленої інформації здійснюється в три етапи. На першому етапі в порт А ППІ записуються молодші 8 біт результату. Із буфера порта А ці дані одразу ж переписуються в перший з буферних регістрів. На другому етапі старші 4 біти результату ( інші 4 біти рівні нулеві ) записуються в порт В і відповідно у другий буферний регістр. На третьому етапі одночасною подачею сигналу низького рівня на входи “дозвіл видачі”
( ЕО) обох буферних регістрів, здійснюється подача 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.
На основі теореми про вибірки ( дискретизації ) визначимо фінітну частоту роботи МПП. Дана теорема в ряді випадків називається теоремою Котельникова, Шеннона або Уіттекера – на честь вчених, що її сформували і довели незалежно один від одного. Теорема стверджує можливість представлення аналогово сигналу дискретним рядом, отриманим з АЦП, у випадку виконання умови:
де fD
t
– частота дискретизації; fmax
– фінітна частота вхідного аналогово сигналу.
При тактовій частоті роботи МП КР580ВМ80 рівній 2,5 МГц отримаємо тривалість виконання основного циклу програми:
що відповідає частоті обміну і обробки інформації в МПП, яка рівна:
За теоремою про вибірки фінітна частота вхідного аналогово сигналу має бути вдвічі менша fD
t
, тобто
Отже, МПП ефективно з великою достовірністю проводить перетворення за функціональною залежністю аналогових сигналів з верхньою обмежувальною частотою 486,38Гц.
6. Опис функціонального вузла
Системний контролер КР580ВК28 призначений для фіксації слова стану процесора КР580МВ80А, формування сигналів які керують пам’ятю і зовнішніми пристроями і буферизації шини даних.
Таблиця 10. Технічні характеристики
Технологія |
ТТЛШ |
Число активних елементів у кристалі |
1141 |
Тип корпуса |
2121.28-4 |
Напруга живлення,В |
+5 |
Струм споживання,А |
190 |
Ємність вхідна,Пф |
12 |
Ємність вихідна,Пф |
15 |
Маса, г |
5 |
На схемі 15 зображено корпус системного контролера, а на умовне графічне зображення схеми електричної принципової . Функціональне призначення виводів контролера приведено в таблиці.
Схема 15.Схематичне зображення корпусуКР580ВК28.
До складу системного контролера входять: регістр стану ; декодуюча схема шинний формувач. В кінці першого такту кожного машинного циклу генератор КР580ГФ24 видає на вхід STSTB системного контролера строб відємної полярності. По цьому імпульсу виконується фіксація слова стану мікропроцесора в регістрі стану системного контролера, які потім дешифруються з допомогою декодуючої схеми, і на відповідному керуючому виході (MEMR, MEMW, I/OR, I/OW ) появляється сигнал, призначений для керування пам’яттю або зовнішніми пристроями . Вхід BUSEN використовується для керування виходами DB0-DB7, які приєднуються до системної шини. Якщо на цей вхід подати сигнал високого рівня, то виводи DB0-DB7 переходять у високоімпендансний стан, цим самим дозволяючи другим пристроям обінюватись даними через шину даних.
Якщо до входу INTA підключити через опір 1кОм джерело живлення +12В, то системний контролер виставить на шину даних код команди RST7. Якщо у відповідь на підтверджуючий сигнал низького рівня системного контролера INTA зовнішні пристрої видадуть на системну шину перший байт команди CALL (1101101), то системний контролер видасть ще два сигнали INTA для того щоб прочитати останні два байти команди CALL. Схема підключення системного контролера до мікропроцесора КР580МВ80А зображена на схемі в додатку.
Таблиця 11.Функціональне ризначення.
15,17,12,10,6,19,21,8 |
D0-D7 |
Входи -виходи |
Підключаються до одноіменних входів процесора |
13,16,11,9,5,18,20,7 |
DB0-DB7 |
Входи –виходи |
Підключаються до ША |
1 |
STSTB |
Вхід |
Строб слова стану процесора |
2 |
HLDA |
Підтвердження захвату |
3 |
WR |
Строб вводу даних |
4 |
DBIN |
Строб ШД при вводі |
27 |
I/OW |
Вихід |
Запис у зовнішній пристрій |
26 |
MEMW |
Запис у пам'ять |
25 |
I/OR |
Читання із зовнішнього пристрою |
24 |
MEMR |
Читання з памяті |
23 |
INTA |
Підтвердження переривання |
22 |
BUSEN |
Вхід |
Сигнал керування системною шиною |
Аналіз результатів та висновки
Отже в ході курсової роботи були розроблені компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації. Зробимо короткий аналіз результатів виконаних робіт.
Аналогово схема фільтру на пасивних елементах використовує меншу елементну базу ніж схема фільтру на операційних підсилювачах, тому її використання є більш доцільним;
Рівняння цифрового фільтру є досить простим і не викликає особливих труднощів при його програмній реалізації;
Вибір типів АЦП і ЦАП, а також структура представлення даних забезпечують високу точність обчислень;
Структурна схема МПП включає всі необхідні вузли для повноцінного функціонування. Використання програмованого таймера дає можливість як збільшувати, так і зменшувати частоту тактових імпульсів для АЦП;
Підключення АЦП і ЦАП до мікропроцесора відбувається через паралельний інтерфейс КР580ВВ55, що забезпечує простоту обміну і стабільність роботи;
Програми на мові асемблера мікропроцесора КР580ВМ80 для вводу інформації через АЦП і виводу через ЦАП, а також програми відповідної цифрової обробки є максимально оптимізованими, виконуючи при цьому всі покладені на них функції. Однак у зв’язку з тим, що доводиться обробляти 12-ти розрядку вхідну інформацію, кількість тактів, що виконуються основним циклом програми є досить великою. Велику частку тактів ( 66% ) займає підпрограма множення, якої немає в системі команд даного мікропроцесора, і доводиться її писати самому;
Верхня фінітна частота роботи цифрового фільтру складає 546 Гц. Тому обробка сигналів із більшими частотами не дасть бажаного вихідного результату;
Реалізація системного контролера з використанням буферного регісту К589ИР12 не є доцільною. Краще використати готову мікросхему системного контролера КР580ВК28.
Досягти збільшення фінітної частоти роботи ЦФ можна використавши мікропроцесор із більшою тактовою частотою, а також використавши новіші і швидші ЦАП та АЦП. Можна йти також шляхом оптимізації коду програмного забезпечення. Це дозволяють зробити системи команд сучасних мікропроцесорів.
Характеризуючи цифрові фільтри загалом, можна виділити наступні їхні переваги над аналоговими:
нечуттєвість характеристик фільтра до розкидування параметрів елементів, що у нього входять, їх часових та температурних дрейфів;
малі розміри і висока надійність фільтрів, пов’язані з використанням ВІС;
легкість зміни параметрів і характеристик цифрового фільтру через модифікацію програми і коефіцієнтів;
можливість реалізації фільтрів із змінними в процесі роботи параметрами.
Список використаної літератури
1. Мікропроцесорна обробка аналогової інформації: Методичні вказівки до курсової роботи з дисципліни “Комп’ютерні і мікропроцесорні системи”. Панчак Р.Т., Процько І.О., Теслюк В.М.-Львів: НУ”Львівська політехніка”, 2003р.
2. Самофалов К.Г., Викторов О.В. Микропроцесоры. ¾ Б-ка инженера. ¾ 2-е изд., перераб. и доп. ¾ К.: Техника, 1989. ¾ 312 с.
3. Федорков В.Г. Телец В.А. Микросхемы ЦАП и АЦП: Функционирование, параметры, применение. ¾ М.: Энергоатомиздат, 1990.
4. Баранов В.В. и др. Полупроводниковые БИС запоминающих устройств.–М.: Радио и связь, 1987.
5. Костюк Л.Д., Паранчук Я.С., Щур І.З. Мікропроцесорні засоби та системи: Навчальний посібник.–2-ге вид., перероб., доп., – Львів: Видавництво Національного університету “Львівська політехніка”, 2002. –200с.