Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра САПР
Курсова робота
з курсу “Комп’ютери та мікропроцесорні системи”
МІКРОПРОЦЕСОРНA ОБРОБКA
АНАЛОГОВОЇ ІНФОРМАЦІЇ
Керівник: Теслюк В. М.
Завдання до курсової роботи
Тема курсової роботи: Мікропроцесорна обробка аналогової інформації.
Термін здачі : до __________
Постановка задачі: Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації.
Обробка описується заданим рівнянням: .
Розрядність АЦП: 12.
Полярність вхідного сигналу: двополярний.
Організація обміну МП з АЦП: через переривання IR9 контролера КР580ВН59.
Використати КР580ВВ55 у режимі роботи: 0.
Об’єм ОЗП (Кб): 32К.
Використати МП з наступною організація: 16386×1.
Вид функціонального вузла: шинні формувачі з використанням КР580ВА86.
Анотація
Студентка: Смірнова Вікторія.
“Пристрій мікропроцесорної обробки аналогової інформації”. Курсова робота. – НУ „Львівська політехніка”, каф.: САПР, дисципліна: “Комп’ютери та мікропроцесорні системи”, 2005.
Дана курсова робота містить в собі 35 сторінки, 16 таблиць, 21 схем, 2 додатки. В даній курсовій роботі розроблено компоненти апаратного і програмного забезпечення мікропроцесорного пристрою. Він включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує обробку за функціональною залежністю аналогового сигналу. Дана робота охоплює ввід і первинну обробку аналогової інформації, подальшу цифрову обробку інформації за програмою і вхідними даними, а також вивід обробленої інформації в аналоговій формі для подальшого використання.
Зміст
Завдання до курсової роботи……………………………………………………………..2
Анотація…………………………………………………………………………………...3
Зміст………………………………………………………………………………………..4
Перелік умовних скорочень………………………………………………………………5
Вступ……………………………………………………………………………………….6
1. Синтез аналогової схеми цифрового фільтру……………………………………...…7
2. Синтез структурної схеми цифрового фільтру……………………………………….7
3. Вибір і обґрунтування типу АЦП і ЦАП…………………………………………...…9
3.1 Вибір типу АЦП………………………………………………………………...9
3.2 Вибір типу ЦАП……………………………………………………………….11
3.3 Структура представлення даних……………………………………………..14
4. Структурна схема та алгоритм функціонування МПП…………………………….16
4.1 Опис структурної схеми МПП……………………………………………….16
4.2 Розподіл адресного простору……………………………………………...…17
4.3 Алгоритм функціонування МПП…………………………………………….19
5. Загальна структура програми роботи МПП…………………………………………21
5.1 Опис програм вводу, виводу. ………………………………………………..21
5.2 Опис програми програмування КП.................................................................24
5.3 Опис програми обробки інформації………………………………………....27
5.4 Оцінка верхньої фінітної частоти вхідного аналогового сигналу………....28
6. Реалізація блоку ОЗП для МПС…………………………………………………...…30
7. Опис функціонального вузла…………………………………………………………31
Аналіз результатів та висновки…………………………………………………….…...32
Список використаної літератури…………………………………………….………….33
Додаток №1........................................................................................................................34
Додаток №2........................................................................................................................35
Перелік умовних скорочень
АЦП – аналогово-цифровий перетворювач;
БЕ – буферний елемент;
ГТІ – генератор тактових імпульсів;
ДОН – джерело опорної напруги;
ДШВ/В – дешифратор каналів вводу/виводу;
ІС – інтегральна схема;
МК – мікроконтролер;
МП – мікропроцесор;
МПП – мікропроцесорний пристрій;
МПС – мікропроцесорна система;
МР – молодший розряд;
ОЗП – оперативний запам’ятовуючий пристрій;
ОП – операційний підсилювач;
ПЗП – постійний запам’ятовуючий пристрій;
ППІ – паралельний програмований інтерфейс;
РКС – регістр керуючого слова;
РПН – регістр послідовного наближення;
СК – системний контролер;
СР – старший розряд;
СШ – системна шина;
ТГ – тактовий генератор;
ТТЛ – транзисторно–транзисторна логіка;
ЦАП – цифрово-аналоговий перетворювач;
ЦФ – цифровий фільтр;
ША – шина адрес;
ШД – шина даних;
ШК – шина керування;
ШФ – шинний формувач.
Вступ
Дана курсова робота має за мету синтез пристрою обробки аналогової інформації за допомогою мікропроцесора. Суть обробки полягає в переведенні початкового вхідного аналогового сигналу у цифрову форму, перетворенні вхідних функцій залежно від конкретного варіанту і кінцеве переведення обрахованої функції у аналогову форму. Зазвичай сигнал, що видається джерелом має аналогову форму, яка описується неперервною в часі функцією з миттєвими значеннями на певному інтервалі. Передавання і обробка таких сигналів може здійснюватись у аналоговій формі. Проте нині широке розповсюдження набувають системи передачі і обробки, в яких вхідні аналогові сигнали переводяться в цифрову форму, отримані цифрові сигнали передаються чи обробляються, на виході системи відбувається зворотне перетворення сигналів з цифрової в аналогову форму.
Використання цифрової форми представлення сигналів може забезпечити вищу завадостійкість при передачі сигналів, стабільність параметрів обробки (незалежність від часу і впливу змін в навколишньому середовищі – температури, вологості і т. д.) під час обробки сигналів, можливість побудови апаратури з використанням останніх досягнень мікроелектроніки, що забезпечує компактність, економічність, гнучкість у функціонуванні (можна модифікувати виконувані функції) апаратури.
Основні завдання при виконанні курсової роботи :
Поглиблення теоретичних знань в сфері технічних і програмних засобів пристроїв мікропроцесорних систем.
Набуття навичок роботи з технічною та довідниковою літературою із вибору аналого-цифрового і цифро-аналогового перетворювачів.
Використання стандартних підпрограм з прикладного програмного забезпечення МП КР580ВМ80А.
Розвиток навичок по розробці загальної структури МПП з перетворенням інформації, побудови принципових електричних схем окремих вузлів, розробки та відлагодження програмного забезпечення на мові Асемблер МП КР580ВМ80А.
Поставлена задача сьогодні є досить актуальною, тому що з швидким розвитком цифрової техніки і дуже широкого поширення інформації власне у аналоговій формі постає задача обробки цієї інформації цифровими методами і засобами.
1. Синтез аналогової схеми цифрового фільтру
Пристрій, що реалізує на основі певної функціональної залежності перетворення вхідного аналогового сигналу у аналоговий вихідний сигнал називають аналоговим фільтром. Передавальна характеристика аналогового фільтру забезпечує відповідні амплітудно-частотні та фазово частотні залежності, що визначає тип фільтру. Дано функціональну залежність:
(1.1)
де - вхідний аналоговий сигнал; - вихідний аналоговий сигнал; - сталі величини.
Схема 1.1. Функціональна схема аналогового фільтру.
2. Синтез структурної схеми цифрового фільтру
В цьому розділі виводиться рівняння цифрового фільтру та реалізується структурна схема на основі одержаного дискретного рівняння.
В лінійних системах вхідний та вихідний аналогові сигнали в загальному випадку зв’язані пропорційно-інтегро-диференціальним законом регулювання. Розглянемо представлення в кінцево-різницевій формі. Задане рівняння:
, (2.1)
де - вхідний аналоговий сигнал; - вихідний аналоговий сигнал; - сталі величини.
Дискретизація аналогового рівняння полягає в заміні безперервної величини її дискретними відліками ( ) і відповідними перетвореннями похідних та інтегралів. Очевидна дискретизація першої похідної – її заміна першою скінченною різницею:
, (2.2)
де - інтервал дискретизації.
Один з способів дискретизації інтеграла полягає в його усуненні шляхом диференціювання рівняння. Інший спосіб прямої дискретизації пов’язаний з такими перетвореннями:
. (2.3)
Заміна усіх компонентів рівняння:
(2.4)
Розкриваємо дужки:
(2.5)
Групуємо за змінними:
(2.6)
Позначаємо коефіцієнти:
(2.7)
Остаточний результат після проведення дискретизації і підстановки коефіцієнтів:
(2.8)
Схема 2.1 Структурна схема реалізації цифрового фільтру.
XY - елемент множення ; DL - елемент затримки ; ( - суматор.
3. Вибір і обґрунтування типу АЦП і ЦАП
3.1 Вибір типу АЦП
Згідно варіанту, необхідно використати 12-розрядний перетворювач.
Таблиця 3.1.1.
Основні параметри ряду мікросхем АЦП
Мікросхема
Вид перетворення
n
,мкс
m
572ПВ1А,
572ПВ1Б,
К572ПВ1А,
К572ПВ1Б,
К572ПВ1В
Послідовне наближення
12
150
48
КР572ПВ1А,
КР572ПВ1Б,
КР572ПВ1В
Послідовне наближення
12
150
40
К1108ПВ2
Послідовне наближення
12
2
40
Тут n - кількість двійкових розрядів; - час перетворення; m - кількість виводів мікросхеми. Керуючись критерієм часу перетворення сигналу в АЦП, обрано мікросхему К1108ПВ2 ( tпер = 2мкс ). Включаємо даний АЦП в біполярному режимі. Цифрові виходи АЦП мають логічні рівні ТТЛ-логіки і допускають пряме підключення до каналів МПС.
Схема 3.1.1. Типова схема включення ВІС АЦП К1108ПВ2 в біполярному режимі
Таблиця 3.1.2.
Основні електричні параметри мікросхеми.
Параметр
Мін.
Макс.
Число розрядів
12
(
Дифереренційна нелінійність (LD, МР
-1
1
Нелінійність (L, МР
-2
2
Похибка перетворення в кінцевій точці шкали (FS,МР
уніполярний режим
біполярний режим
-10
-10
10
10
Напруга зміщення нуля на вході U10, мВ
уніполярний режим
біполярний режим
-10
-10
10
10
Час перетворення tc, мкс
(
2,0
Вихідна напруга низького рівня U0L, В
(
0,4
Вихідна напруга високого рівня U0Н, В
2,4
(
Струм живлення від джерела ICC1, мА
(
80
Струм живлення від джерела ICC2, мА
(
150
Вхідна напруга UIRN , В
-3,5
5,5
Напруга низького рівня на входах керування
-0,1
0,45
Напруга високого рівня на входах керування
2,28
4,75
Споживана потужність Р, Вт
(
1,3
Діапазон температур
-10 °С
+70 °С
Тип корпусу
2123.40-6
Таблиця 3.1.3.
Призначення виводів мікросхеми.
Позначення виводу
Призначення
Вхід дозволу зчитування
UТИ
Тактовий вхід
Вхід запуску
Сигнал кінця перетворення (готовність даних)
FS
Сигнал переповнення
UIRN
Аналоговий вхід
UCC1
Напруга джерела живлення (цифр. частина)
U'CC1
Напруга джерела живлення (аналог. частина)
UREF
Опорна напруга
Функціонально закінчений 12-розрядний АЦП для перетворення вхідної напруги в діапазоні 0-5В (чи –2,5-2,5В у біполярному режимі) в прямий двійковий код. Мікросхема розміщена в металокерамічному 40-вивідному корпусі з вертикальним розташуванням виводів. Робочий струм АЦП 5мА. Перетворення відбувається за 14 тактів.
Схема 3.1.2. Підімкнення АЦП до МПП
3.2 Вибір ЦАП
Згідно варіанту, необхідно використати 12-розрядний ЦАП.
Таблиця 3.2.1.
Основні параметри ряду мікросхем ЦАП.
Мікросхема
n
tпер, мкс
m
572ПА2А,
572ПА2Б
12
10
48
К572ПА2А,
К572ПА2Б,
К572ПА2В
12
15
48
КР572ПА2А,
КР572ПА2Б,
КР572ПА2В
12
15
40
К594ПА1
12
3,5
24
К1108ПА1
12
0,4 - 0,7
24
Тут, як і в попередньому випадку, n – кількість двійкових розрядів, tпер – час перетворення, m – кількість виводів мікросхеми. Як і при виборі АЦП за критерій вибору мікросхеми приймаємо час перетворення. З ряду схем оберемо ІС ЦАП К1108ПА1 (tпер = 0,4 - 0,7 мкс).
Схема 3.2.1. Включення ІС ЦАП К1108ПА1 в біполярному режимі і з різними діапазонами вихідної напруги.
Таблиця 3.2.2.
Основні електричні параметри мікросхеми.
Параметр
Мін.
Макс.
Число розрядів
12
(
Дифереренційна нелінійність (LD, %
0,024
0,024
Вхідний струм високого рівня I1H, мкА
(
100
Абсолютна похибка перетворення в кінцевій точці шкали (FS,МР
-30
30
Час встановлення вихідного струму tS1, нс
(
400
Струм живлення від джерела ICC1, мА
15
15
Струм живлення від джерела ICC2, мА
46
46
Максимальна вихідна напруга U0RN, В
-1,0
1,0
Вхідна напруга низького рівня UIL, В
0
0,8
Вхідна напруга високого рівня UIH, В
2
(
Опорна напруга UREF , В
2,2
10,5
Діапазон температур
-10 °С
+70 °С
Тип корпусу
210Б.24-1
Таблиця 3.2.3.
Призначення виводів мікросхеми.
Номер виводу
Призначення виводу
1
напруга джерела живлення Ucc1
2
напруга джерела живлення Ucc2
3
вихід ОП компенсації
4
опорна напруга UREF
5
вивід резистора
6
загальний вивід матриці R-2R
7
вивід резистора
8
аналоговий вихід
9
вивід резистора зворотнього зв’язку RO.C1
10
вивід резистора зворотнього зв’язку RO.C2
11
вхід ОП компенсації
12
загальний
13
Цифрових вхід 1 (СР)
14-23
Цифрові входи 2-11
24
Цифрових вхід 12 (СР)
Мікросхема 12-розрядного ЦАП типу К1108ПА1 призначена для побудови блоків аналогового вводу/виводу з підвищеною швидкодією. Мікросхема виконує функцію лінійного перетворення 12-розрядного паралельного коду у вихідний уніполярний чи біполярний струм. Перетворення здійснюється по принципу сумування двійково-зважених струмів. Рівність струмів досягається за допомогою високої ідентичності елементів інтегральної схеми, а їх стабілізація відбувається від зовнішнього опорного джерела за допомогою спеціальної схеми на основі вбудованого операційного підсилювача.
Вихідна напруга зв’язана з вхідним кодом виразом:
де К – коефіцієнт, що враховує особливості конструкції;
N – число, яке представляється вхідним b-розрядним двійковим кодом.
Перетворювач К1108ПА1 виготовлений по біполярній технології з діелектричною ізоляцією. Мікросхема конструктивно оформлена в 24-вивідному герметичному металокерамічному корпусі з вертикальним розташуванням виводів.
Схема 3.2.2. Підімкнення ЦАП до МПП
3.3 Структура представлення даних
Структура даних, які входять в рівняння цифрового фільтра, визначається коефіцієнтами рівняння і заданою розрядність АЦП.
Рівняння ЦФ має вигляд:
(3.3.1)
Вхідний сигнал є двополярний, розрядність АЦП дорівнює 12. Тоді, результат перетворення АЦП в залежності від вхідного сигналу наступний:
Таблиця 3.2.1.
Вхід
Код
+Uxmax
4095
+Uxmax/2
2047
0
0
Для двополярної вхідної напруги Uxn матимемо залежність з вихідним кодом АЦП xn :
(3.3.2)
Результат перетворення 12 – розрядів блоку ЦАП в залежності від цифрового коду yn вихідної напруги Uyn подано в наступній таблиці:
Таблиця 3.2.2.
Код
Вихід ЦАП
212-1
+Uymax
211
+Uymax/2
0
0
Отже, з вище вказаного можна зробити висновок, що максимальне число, яке може бути передане від АЦП до МП при двополярному сигналі дорівнює 2047, в двійковій системі - це 11111111111 і для зберігання такого числа достатньо використати 1.5 байта.
Аналіз коефіцієнтів:
(3.1.2)
Зведення до спільного знаменника:
(3.1.3)
З вище вказаного можна зробити припущення, що всі коефіцієнти додатні і знаходяться в околі одиниці. Тому виділяємо один байт.
Також необхідно проаналізувати максимальне і мінімальне можливі вихідні значення yn. Робимо наближений висновок, що з певною похибкою можна вважати, що ymax xmax = 12 біт.
a0
0
1
2
3
4
5
6
7
a1
0
1
2
3
4
5
6
7
b1
0
1
2
3
4
5
6
7
хn
0
1
2
3
4
5
6
7
8
9
10
11
хn-1
0
1
2
3
4
5
6
7
8
9
10
11
yn-1
0
1
2
3
4
5
6
7
8
9
10
11
yn
0
1
2
3
4
5
6
7
8
9
10
11
Схема 3.2.1. Структура представлення даних в МПП
Дані представлятимуться у вигляді масиву в оперативній пам’яті. Після обчислення величина yn заміщує величину yn-1, а значення xn вводиться від АЦП. Адреса таблиці – 1FDh. Числа розміщені у порядку наростання значення адреси.
4. Структурна схема та алгоритм функціонування МПП
4.1. Опис структурної схеми МПП
Всі компоненти МПП підімкнені до системної шини (СШ) - набору ліній, що з’єднує систему. Системна шина складається з 3 окремих шин:
1) ШД - шина даних (двоспрямована);
2) ША - шина адрес (односпрямована);
3) ШК - шина керування (набір окремих ліній).
За рахунок того, що виводи всіх компонент МПП під’єднані до СШ, вони повинні мати крім станів, що забезпечують логічний нуль чи одиничку на виході, третій стан, стан з високим вихідним опором — високоімпендансний стан.
Структурна схема реалізації проектованого МПП наведена на схемі. 4.1.1.
Схема 4.1.1 Структурна схема МПП.
Таблиця 4.1.1.
Мікросхеми МПП.
Позначення
Опис
Мікросхема
МП
Мікропроцесор
КР580ВМ80
ТГ
Тактовий генератор
КР580ГФ24
ШФ
Шинний формувач
КР580ВА86
СК
Системний контролер
КР580ВК28
ППІ
Паралельний програмований інтерфейс (дві штуки)
КР580ВВ55А
АЦП
Аналогово-цифровий перетворювач
К1108ПВ2
ЦАП
Цифро-аналоговий перетворювач
К1108ПА1
КП
Контролер переривань (дві штуки)
КР580ВН59
МП – формує адреси команд, видає команди з пам’яті, їх дешифрує, видає для команд потрібні адреси, виконує над ними операції – передбачені командами, при необхідності записує результат в пам’ять, формує керуючі сигнали для обміну, реагує на можливі зовнішні сигнали.
ТГ – формує синхроімпульси F1, F2 для роботи МП і інших компонент, які входять до МПП. Синхроімпульси F1, F2 мають амплітуду 12B, але відрізняються один від одного щільністю і зсунуті в часі. Крім того, мікросхема КР580ГФ24, виробляє сигнал початкового встановлення RESET і готовності даних READY, а також , за яким системний контролер фіксує слово стану процесора.
ПЗП – призначений для постійного зберігання потрібних даних і програм. У випадку даного цифрового фільтру він зберігає програму, за якою працює цифровий фільтр, а також постійні коефіцієнти.
ОЗП – використовується як тимчасовий накопичувач інформації, а саме: накопичувач кодів програми та даних, які потрібні для розрахунків.
СК – призначений для формування сигналів керування, які формуються процесором при зверненні до ЗП (MEMP, MEMW,I/OR, J/OW, INTA).
АЦП отримує на вході МПП аналоговий сигнал та перетворює його в цифровий код.
ЦАП здійснює перетворення двійкового коду у відповідний аналоговий сигнал.
В МПП присутні також і логічні елементи, шинний формувач, буферний елемент, та дешифратори адрес.
4.2 Розподіл адресного простору
Об’єм адресного простору МП КР580ВМ80А становить 64К. В цьому адресному просторі необхідно розмістити адреси ПЗП та ОЗП. Згідно варіанту завдання об’єм оперативної пам’яті в МПП повинен бути 32К. Під величини Xn, Xn-1, Yn-1, Yn виділимо місце в ОЗП. Решту інформації зберігатимемо в ПЗП.
Таблиця 4.2.1.
Розподіл простору адрес в МПП обробки аналогового сигналу.
ПЗП (ROM)
Адреса
Вміст пам’яті
Пояснення
0000h
jmp Main
На початкову ініціалізацію в головній програмі
0038h
jmp IntHndlr
На підпрограму обробки переривання
0080h
CDop:
Підпрограма переводу числа в доповнюючий код
0088h
LAdd:
Підпрограма додавання двобайтових чисел
00A2h
SMul:
Підпрограма знакового множення
0100h
Main:
Головна програма
0120h
IntHndlr:
Підпрограма обробки переривання
0149h
DigIH:
Підпрограма цифрової обробки інформації
01FDh
a0
Коефіцієнт a0
01FEh
a1
Коефіцієнт a1
01FFh
b1
Коефіцієнт b1
ОЗП (RAM)
0800h
xn
Вхідна константа
0802h
xn-1
Попередня вхідна константа
0804h
yn
Вихідна константа
0806h
yn-1
Попередня вихідна константа
7FFFh
SP
Вершина стеку
У нашій МПС є також два ППІ КР580ВВ55. Для звертання до каналів вводу і каналів виводу їм необхідно також присвоїти конкретні адреси. У МПС на основі МП КР580ВМ80А для зовнішніх пристроїв виділено 256 адрес. Виходячи з цього, канали вводу/виводу, а також регістри керуючих слів матимуть адреси зазначені в таблиці 4.2.2.
Таблиця 4.2.2
Адреси портів ППІ.
Адреса для ППІ вводу
Адреса для ППІ виводу
А
0B0h
0D0h
B
0B1h
0D1h
C
0B2h
0D2h
РКС
0B3h
0D3h
Дешифратори адрес ППІ мають наступний вигляд:
Схема 4.2.1 Дешифратори ППІ.
Згідно завдання потрібно використати контролери переривань КР580ВН59. Для програмування КП їм необхідно також присвоїти конкретні адреси.
Таблиця 4.2.3
КП КР580ВН59
КП
Адреса
Значення
Головний
09Сh
Адреса 1-го керуючого слова ініціалізації
09Dh
Адреса 2-го і 3-го керуючого слова ініціалізації
Підпорядкований
0AСh
Адреса 1-го керуючого слова ініціалізації
0ADh
Адреса 2-го і 3-го керуючого слова ініціалізації
Дешифратори КП мають наступний вигляд:
Схема 4.2.2 Дешифратори КП
4.3. Алгоритм функціонування МПП
При одночасному включенні живлення -5В, +5В і 12В (або послідовно у вказаному порядку) і поступленні тактових імпульсів на мікропроцесор з генератора тактових інтервалів всі регістри і прапорці МП встановлюються в довільні стани. Після цього подається з ГТІ на вхід RESET МП сигнал високого рівня тривалістю не менше 3 тактів - лічильник команд (PC), тригер дозволу переривання (вихід INTE), а також тригер підтвердження захоплення (вихід HLDA) скидаються, і мікропроцесор починає вибірку з пам’яті команд, розміщених з нульової адреси.
Ввід інформації з АЦП здійснюється в режимі переривань. При готовності даних контролером переривань формується і подається на ШД процесора код команди CALL. Після чого відбувається перехід на підпрограму обробки переривання Далі відбувається ввід інформації з АЦП. Введена інформація обробляється у відповідності до заданого рівняння і виводиться у вигляді аналогового сигналу через ЦАП.
Послідовність обробки сигналу КП запиту на переривання виглядає наступним чином. Контролер визначивши, що даний запит має найвищій пріоритет формує сигнал INT для МП. При переході МП до обробки переривань системним контролером формується сигнал INTA (підтвердження переривання) в результаті чого КП видає на ШД код команди CALL. Цим же сигналом в регістр запитів записуються всі наявні на входах запити. Після цього МП через системний контролер ще 2 рази видає сигнал INTA, яким контролер видає на ШД ще два байти адреси підпрограми обробки переривань. Реакція КП і МП на запит переривання фіксується встановленням в 1 відповідного розряду регістра обслуговування і встановленням в 0 того ж розряду в регістрі запитів.
Схема. 4.3.1 Алгоритм функціонування МПП. Схема 4.3.2 Структура
підпрограми обробки переривань.
5. Загальна структура програми роботи МПП
В ПЗП записуємо набір підпрограм для ініціалізації МПС, для початкового встановлення режимів ППІ, пуску АЦП, вводу даних при обробці переривань, для обчислення рівняння ЦФ і передачі обрахованого yn на ЦАП для переведення в аналогову форму. Ініціалізація мікросхем ППІ відбувається в головній програмі. За вхідні сигнали xn, xn-1 і yn-1 при першому обрахунку приймаємо 0, який і записуємо за відповідними адресами в ОЗП. Встановлюємо вказівник стеку на відповідну адресу. Також в головній програмі розміщені команди запуску АЦП в режим перетворення даних. Ця програма розташована в ПЗП, починаючи з адреси 100h і має такий вигляд:
Main:
lxi h,0000h ; 10 t ; 3 B
lxi sp,0808h ; 10 t ; 3 B
push h ; 11 t ; 1 B
push h ; 11 t ; 1 B
push h ; 11 t ; 1 B
push h ; 11 t ; 1 B
lxi sp,7FFFh ; 10 t ; 3 B
mvi a,092h ; 7 t ; 2 B
out 0B3h ; ініціалізуємо ППІ, призначений для вводу ; 10 t ; 2 B
mvi a,80h ; 7 t ; 2 B
out 0D3h ; ініціалізуємо ППІ, призначений для виводу ; 10 t ; 2 B
mvi a,40h ; 7 t ; 2 B
out 0B2h ; запуск АЦП ; 10 t ; 2 B
xra a ; 7 t ; 2 B
out 0B2h ; дозвіл на перетворення АЦП ; 10 t ; 2 B
call DigIH ; обчислення рівняння ЦФ ; 17 t ; 3 B
Головна програма виконується за 156 тактів і займає 32 байти пам’яті.
5.1 Опис програми програмування КП
Згідно завдання обмін з АЦП потрібно організувати через переривання IR9 контролера КР580ВН59. Оскільки КР580ВН59 має лише 8 запитів на переривання, тоді необхідно каскадно підключати два контролери КР580ВН59 (схема 5.1.1). Один контролер повинен бути головним (ГК), а другий підпорядкованим (ПК).
Схема 5.1.1 Каскадне підключення двох контролерів.
Перед використанням КП в процесі його роботи необхідне програмування його відповідними керуючими словами. Для КР580ВН59 можливі 6 типів керуючих слів: 3 типи керуючих слів ініціалізації (КСІ) і 3 типи операційних керуючих слів (КСО). КСО в даній курсовій роботі не будемо використовувати. КСІ заноситься контролером один раз. При занесенні КСІ і КСО в КП запити переривань повинні бути заборонені. Необхідно відзначити, що КСІ1, КСІ2 і КСІ3 для кожного контролера додаються окремо.
Керуюче слово КСІ1 заноситься в контролер при А0=0 і задає молодший байт адреси програми обробки переривань (схема 5.1.2). КСІ1 для обох контролерів буде однакове.
Схема 5.1.2 КСІ1 для ГК і ПК
Молодший байт програми обробки переривання має вигляд: 0 0 К2К1К0 0 0 0. Де К2К1К0 – код пристрою, який послав запит на переривання. Оскільки я підключив АЦП до IR7 ПК, тоді К2К1К0 = 111. Таким чином МБА ПОП – 00111000 = 38h.
Керуюче слово ініціалізації КСІ2 заноситься в КП при А0=1 і задає старший байт адреси програми обробки переривань (схема 5.1.3 – ПК, схема 5.1.4 – ГК).
Схема 5.1.3 КСІ2 для ПК
Схема 5.1.4 КСІ2 для ГК
Таким чином КСІ1 і КСІ2 повністю визначають адреси програми обробки переривання, які відповідають запитам. Тоді, програма обробки переривання IR9 буде міститися під адресою 0038h.
КСІ3 задається коли число контролерів більше одного, як в нашому випадку (схема 5.1.5 – ГК, схема 5.1.6 – ПК).
Схема 5.1.5 КСІ3 для ГК
Схема 5.1.6 КСІ3 для ПК
Код програми, що програмує КП, має такий вигляд:
DI ; програмування КП, IR9 – 0038h
MVI A,10h ; КСІ1 ГК
OUT 9Ch
MVI A,4h ; КСІ2 ГК
OUT 9Dh
MVI A,4h ; КСІ3 ГК
OUT 9Dh
MVI A,10h ; КСІ1 ПК
OUT 0ACh
MVI A,0h ; КСІ2 ПК
OUT 0ADh
MVI A,2h ; КСІ3 ПК
OUT 0ADh
EI
5.2. Опис програм вводу, виводу
Згідно завдання необхідно вводити 12 і виводити 12 біт даних. Для цього використаємо дві мікросхеми КР580ВВ55. Одну запрограмуємо в режим 0 на ввід: канал А та молодші розряди каналу B. Іншу запрограмуємо також в режим 0 на вивід: канал А та молодші розряди каналу B. Для запуску АЦП будемо використовувати розряд С4 каналу С.
Таким чином керуюче слово для першого ППІ набуде вигляду:
Схема 5.2.1 Схема керуючого слова ППІ1 для вводу.
Керуюче слово для другого ППІ має вигляд:
Схема 5.2.2 Схема керуючого слова ППІ2 для виводу.
Код програми, що ініціалізує ППІ, має такий вигляд:
mvi a, 092h ; 7 t ; 2 B
out 0B3h ; ініціалізуємо ППІ, призначений для вводу ; 10 t ; 2 B
mvi a, 80h ; 7 t ; 2 B
out 0D3h ; ініціалізуємо ППІ, призначений для виводу ; 10 t ; 2 B
Наступним кроком для зчитування інформації буде ініціалізація АЦП. Для цього необхідно на вхід «Гашення/пертворення» АЦП подати логічну 1 для скидання та логічний 0 для запуску перетворення. Як видно зі схеми підключення АЦП, вихід «Гашення/пертворення» АЦП підключений до ППІ. Це є лінія каналу С ( С6. Отже, щоб ініціалізувати АЦП необхідно виконати наступну послідовність команд:
mvi a, 40h ; 7 t ; 2 B
out 0B2h ; запуск АЦП ; 10 t ; 2 B
xra a ; 7 t ; 2 B
out 0B2h ; дозвіл на перетворення АЦП ; 10 t ; 2 B
Після задання режиму роботи ППІ та ініціалізації АЦП можна приступити до зчитування значення Xn з АЦП. Дані з виходу АЦП поступають в канали А та В. Програмна реалізація вводу xn відбувається в підпрограмі IntHndlr і має такий вигляд:
in 0B0h ; 10 t ; 2 B
mov l, a ; 5 t ; 1 B
in 0B1h ; 10 t ; 2 B
ani 00001111b ; 7 t ; 2 B
mov h, a ; 5 t ; 1 B
Після виконання цієї послідовності команд введене xn буде міститись в HL. Старша тетрада регістра h не використовується і туди записуєм нулі. Вивід результату на ЦАП (відбувається в підпрограмі DigIH) виконується через канал A та молодші розряди каналу В і програмується так:
mov a, l ; 5 t ; 1 B
out 0D0h ; 10 t ; 2 B
mov a, h ; 5 t ; 1 B
out 0D1h ; 10 t ; 2 B
mvi a, 80h ; 5 t ; 1 B
out 0D2h ; 10 t ; 2 B
Вхідний сигнал є 12-бітний зі знаком. В пам’яті будемо зберігати його наступним чином:
Для приведення такого формату треба:
якщо D11=0, то D0–D10 інвертуємо, D15=1
якщо D11=1, то D11=0, D15=0.
Таким чином підпрограма IntHndlr виглядає наступним чином:
IntHndlr:
di ; заборона переривань ; 4 t ; 1 B
push psw ; 11 t ; 1 B
push h ; 11 t ; 1 B
lhld 0800h ; 16 t ; 3 B
shld 0802h ; xn записуєм на місце xn-1 ; 16 t ; 3 B
in 0B0h ; 10 t ; 2 B
mov l, a ; 5 t ; 1 B
in 0B1h ; 10 t ; 2 B
ani 00001111b ; 7 t ; 2 B
mov h, a ; 5 t ; 1 B
ani 00001000b ; перевірка знаку 0 - ’-’, 1 - ’+’ (чи D11=0)... ; 7 t ; 2 B
jz l1 ; 10 t ; 2 B
mov a, h ; корекція старшого байту додатнього хn... ; 5 t ; 1 B
xri 88h ; 7 t ; 2 B
mov h, a ; 5 t ; 1 B
jmp l2 ; 10 t ; 2 B
l1: mov a, l ; 5 t ; 1 B
cma ; корекція від’ємного xn ; 4 t ; 1 B
mov l, a ; 5 t ; 1 B
mov a, h ; 5 t ; 1 B
xri 87h ; 7 t ; 2 B
mov h, a ; 5 t ; 1 B
l2: shld 0800h ; записуєм xn ; 16 t ; 3 B
pop h ; 11 t ; 1 B
pop psw ; 11 t ; 1 B
ei ; дозвіл перериваннь ; 4 t ; 1 B
ret ; 10 t ; 1 B
Підпрограма IntHndlr виконується за 222 такти та займає 41 байт у пам’яті.
5.3 Опис програми обробки інформації
Підпрограма обробки інформації має назву DigIH. Вона працює з значеннями сигналів xn, xn-1, yn-1 та з коефіцієнтами а0, а1, b1. Ці всі параметри мають свої конкретні адреси в пам’яті. Результатом виконання підпрограми є числове значення сигналу уn.
DigIH:
lhld 0800h ; HL ( xn ; 16 t ; 3 B
lda 01FDh ; A ( a ; 13 t ; 3 B
call SMul ; a0 * xn ; 17 t ; 3 B
jp m1 ; перевірка знаку, якщо додатнє - перехід на мітку ; 10 t ; 2 B
call CDop ; перетворення в доповнюючий код a0 * xn ; 17 t ; 3 B
m1: mov b, h ; 5 t ; 1 B
mov c, l ; запам’ятовуєм a0 * xn в ВС ; 5 t ; 1 B
lhld 0802H ; HL ( xn-1 ; 16 t ; 3 B
lda 01FEh ; A ( a1 ; 13 t ; 3 B
call SMul ; a1 * xn-1 ; 17 t ; 3 B
jp m2 ; перевірка знаку ; 10 t ; 2 B
call CDop ; перетворення в доповнюючий код a1 * xn-1 ; 17 t ; 3 B
m2: call LAdd ; HL ( a0 * xn + a1 * xn-1 ; 17 t ; 3 B
mov b, h ; 5 t ; 1 B
mov c, l ; запам’ятовуємо a0 * xn + a1 * xn-1 в ВС ; 5 t ; 1 B
lhld 0806h ; HL ( yn-1 ; 16 t ; 3 B
lda 01FFh ; A ( b1 ; 13 t ; 3 B
call SMul ; b1 * yn-1 ; 17 t ; 3 B
jp m3 ; перевірка знаку ; 10 t ; 2 B
call CDop ; перетворення в доповнюючий код b1 * yn-1 ; 17 t ; 3 B
m3: call LAdd ; HL ( a0 * xn + a1 * xn-1 + b1 * yn-1 ; 17 t ; 3 B
shld 0808h ; [0808h] ( yn ; 16 t ; 3 B
mov a, h ; перетворення yn в код для виведення на ЦАП...; 5 t ; 1 B
ani 7Fh ; 7 t ; 2 B
cma ; 4 t ; 1 B
mov h, a ; 5 t ; 1 B
mov a, l ; 5 t ; 1 B
cma ; 4 t ; 1 B
mov l, a ; 5 t ; 1 B
mov a, l ; вивід yn... ; 5 t ; 1 B
out 0D0h ; 10 t ; 2 B
mov a, h ; 5 t ; 1 B
out 0D1h ; 10 t ; 2 B
mvi a, 80h ; 5 t ; 1 B
out 0D2h ; 10 t ; 2 B
lhld 0804h ; занесення yn-1 ( yn... ; 16 t ; 3 B
shld 0806h ; 16 t ; 3 B
jmp DigIH ; 10 t ; 3 B
Підпрограма обробки інформації виконується за 396 тактів і займає 78 байти пам’яті.
Підпрограма переводу двобайтового числа в доповнюючий код. Вона також розташована в ПЗП:
CDop: mov a, h ; 5 t ; 1 B
cma ; доповнюючий код старшого байта ; 4 t ; 1 B
mov h, a ; 5 t ; 1 B
mov a, l ; 5 t ; 1 B
cma ; доповнюючий код молодшого байта ; 4 t ; 1 B
mov l, a ; 5 t ; 1 B
inx h ; 5 t ; 1 B
ret ; 10 t ; 1 B
Процедура CDop виконується за 43 такти і займає 8 байтів у пам’яті.
Підпрограма додавання двобайтових чисел:
LAdd:mov a, c ; 5 t ; 1 B
add m ; 7 t ; 1 B
mov m, a ; 7 t ; 1 B
mov a, b ; 5 t ; 1 B
inx h ; 5 t ; 1 B
adc m ; 7 t ; 1 B
mov m, a ; 7 t ; 1 B
dcx h ; 5 t ; 1 B
ret ; 10 t ; 1 B
Процедура LAdd виконується за 58 тактів і займає 9 байт пам’яті.
Вхідний сигнал є двополярним, отже, треба реалізувати операцію множення чисел зі знаком. Підпрограма множення чисел зі знаком:
SMul: mov c, a ; збереження множника в регістрі С ; 5 t ; 1 B
mov a, h ; 5 t ; 1 B
jp ml ; перевірка на позитивність множеного, HL ; 10 t ; 2 B
mvi b, 01h ; B=1, ознака від’ємності множеного ; 7 t ; 2 B
ani 7Fh ; 7 t ; 2 B
mov h, a ; 5 t ; 1 B
jmp mm ; 10 t ; 3 B
ml: mvi b, 00h ; B=0, ознака додатності множеного ; 7 t ; 2 B
mm: xchg ; [DE]([HL] ; 4 t ; 1 B
mov a, c ; витягуємо з регістра С множник ; 5 t ; 1 B
call DMul ; 17 t ; 3 B
mov l, h ; 5 t ; 1 B
mov h, a ; корекція результату ; 5 t ;1B mov a, b ; ознака знаку в А=1 - від’ємне, А=0 - додатнє; 5 t ; 1 B
ret ; 10 t ; 1 B
Процедура SMul виконується за 107 тактів і займає 23 байта у пам’яті.
5.4 Оцінка верхньої фінітної частоти вхідного аналогового сигналу
Побудуймо таблицю, де буде інформація про кількість тактів кожної підпрограми і визначимо загальну кількість тактів.
Таблиця 5.4.1.
Програми
Кількість тактів
Кількість виконань
Кількість тактів
Головна програма (Main)
156
1
156
Підпрограма обробки переривань (IntHndlr)
222
1
222
Підпрограма обробки інформації (DigIH)
396
1
396
Процедура переводу в доповнюючий код (CDop)
43
3
129
Процедура додавання двобайтових чисел (LAdd)
58
2
116
Процедура знакового множення (SMul)
107
3
321
Загальна кількість тактів
1340
Визначимо тепер фінітну частоту роботи МПП. Тактову частоту роботи МП приймаємо рівною 2,5 МГц. Тоді тривалість виконання основного циклу програми наступна:
Тобр = [1 / (2,5 × 106)] × N, де N – загальна кількість тактів роботи програми.
Тобр = 1340 / (2,5 × 106) = 0,000536 c.
Частота обміну і обробки інформації в МПП:
fΔt = 1/Тобр.,
fΔt ≈ 1865,67 Гц .
За теоремою Котельнікова фінітна частота вхідного аналогового сигналу буде вдвічі менша від fΔt :
fmax = fΔt / 2
fmax ≈ 932,83Гц.
6. Реалізація блоку ОЗП для МПС
Згідно поставленого завдання необхідно побудувати ОЗП об’ємом 32К на базі мікросхем 16386(1. Для цього необхідно одночасно наростити розрядність та об’єм.
Визначимо, яка кількість мікросхем потрібна для нарощення розрядності за формулою: , де - розрядність пам’яті, яку треба побудувати; - розрядність однієї мікросхеми. К = 8:1=8. Об’єднаємо ці 8 мікросхеми паралельно.
Визначимо, яка кількість мікросхем потрібна для нарощення об’єму, після нарощення розрядності, за формулою: , де N – потрібний об’єм пам’яті; Ni – об’єм пам’яті однієї мікросхеми. L = 32772:16386 = 2. Об’єднаємо ці 2 групи мікросхем послідовно.
Отже, ми отримали загальну схему пам’яті, яка складається з 16-ти мікросхем 16386(1. Адресація комірок пам’яті для даних мікросхем наведена в таблиці 6.1. Принципова електрична схема пам’яті наведена в додатку 1.
Таблиця 6.1.
Адресація комірок пам’яті.
IС
-
A15
A14
A13
A12
А11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0-7
Miн.
Макс.
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
8-15
Miн.
Макс.
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
7. Опис функціонального вузла
Згідно завдання до курсової роботи в цьому розділі потрібно описати шинний формувач КР580ВА86. Мікросхема КР580ВА86 – двонаправлений 8-розрядний шинний формувач, призначений для обміну інформації між МП і системною шиною, працює в режимах 3 станів.
Схема 7.1. Функціональна схема ШФ КР580ВА86.
Таблиця 6.1
Сигнал керування
Напрямок передачі інформації
Т
0
0
А(B
0
1
A(B
1
х
Високоімпендансний стан
Ця мікросхема має такі електричні параметри:
Таблиця 6.2
Електричні та механічні параметри КР580ВА86.
Параметр
Значення
Час затримки розповсюдження сигналу
Менше 30 нс
Температурний режим
-10 - +70 С
Вага
Менше 4 г
Умовне позначення корпусу
2140.20-1
Напруга живлення
5 В
Мікросхема володіє підвищеною напруженістю і допускає при низькому значенні сигналу 32мА і при значенні логічна одиниця 5мА. В МПС виводи А підключаються до МП, виводи В до шин МПС. Т – вхід напрямку передачі інформації. Високий рівень визначає передачу в напрямку від шини А до шини В, низький – навпаки. – вхід дозволу передачі (при низькому рівні є дозвіл, при високому – лінії знаходяться в високоімпендансному стані).
Аналіз результатів та висновки
Виконана курсова робота вміщує в собі основні етапи синтезу цифрового фільтра на основі мікропроцесорних великих інтегральних схем серії КР580. Побудовано аналогову схему реалізації залежності на активних елементах.
В результаті був розроблений мікропроцесорний пристрій, який включає аналогово-цифровий і цифро-аналоговий перетворювач підвищеної швидкодії. Аналоговий сигнал дискретизується і вже цифровий сигнал обробляється відповідно до програми.
Внаслідок відносно простого вихідного рівняння зменшено загальну кількість тактів, необхідну для одного циклу виконання програми, а значить і підвищено фінітну частоту. Проте навіть отримане значення верхньої граничної частоти є дуже малим. На мою думку це перш за все пояснюється низькою швидкодією мікропроцесора. Час перетворення аналогового і цифрового сигналів також відчутно обмежує можливості прискорення пристрою.
До одного із конкретних висновків з виконаної роботи можу також віднести переконливі переваги цифрових фільтрів над відповідними аналоговими схемами. Вони полягають в самому принципі проектування і синтезу мікропроцесорних пристроїв, коли інженер розробляє алгоритм функціонування пристрою і програму його роботи. Функції розробника переміщаються із схемної області в програмну.
Список використаної літератури
Самофалов К. Г., Викторов О. В. – Микропроцессоры. Библиотека инженера.- К.: Техніка, 1989.
Федорков Б.Г.,Телец В.А, Микросхеми ЦАП и АЦП: функционование, параметры, применение.-М.: Енергоатомиздат,1990.
Костинюк Л. Д., Паранчук Я. С., Щур І. З. – Мікропроцесорні засоби та системи: Навч. Посібник – Львів: Видавництво НУ “Львівська політехніка”, 2002.
Калабеков Б. А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебн. Пособие для вузов.-М.: Радио и связь, 1988.
Баранов В.В. и др. Полупроводниковые БИС запоминающих устройств.-М.: Радио и связь, 1987.
Рицар Б. Є. Цифрова техніка. Київ НМК ВО, 1991.
Додаток №1.
Додаток №2.