Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра САПР
Курсова робота
з курсу “Комп’ютери та мікропроцесорні системи”
ПРИСТРІЙ МІКРОПРОЦЕСОРНОЇ ОБРОБКИ
АНАЛОГОВОЇ ІНФОРМАЦІЇ
Керівник: Теслюк В. М.
ЛЬВІВ – 2003
Завдання до курсової роботи
Тема курсової роботи: Пристрій мікропроцесорної обробки аналогової інформації.
Постановка задачі: Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації.
Обробка описується заданим рівнянням .
Розрядність АЦП: 12.
Полярність вхідного сигналу: двополярний.
Організація обміну з АЦП: через переривання з RST 5.
Режим роботи КР580ВВ55: 1.
Об’єм ОЗП (Кб): 16К.
Організація МП: 16384×1.
Вид функціонального вузла: системний контролер з використанням КР580ВК28.
Анотація
Студент: Юрій Семчишин
Курсова робота на тему: “Пристрій мікропроцесорної обробки аналогової інформації”, каф: САПР, дисципліна: “Комп’ютери та мікропроцесорні системи”, 2003-10-01.
Дана курсова робота містить в собі 34 сторінки, 15 таблиць, 14 схем, 2 додатки. В даній курсовій роботі розроблено компоненти апаратного і програмного забезпечення мікропроцесорного пристрою. Він включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує обробку за функціональною залежністю аналогового сигналу. Дана робота охоплює ввід і первинну обробку аналогової інформації, подальшу цифрову обробку інформації за програмою і вхідними даними, а також вивід обробленої інформації в аналоговій формі для подальшого використання.
Зміст
Перелік умовних скорочень 5
Вступ 6
Синтез аналогової схеми фільтру 7
Синтез структурної схеми цифрового фільтру 9
Вибір і обгрунтування типу АЦП і ЦАП 10
Вибір типу АЦП 10
Вибір типу ЦАП 12
Структура представлення даних 15
Структурна схема та алгоритм функціонування МПП 17
Опис структурної схеми МПП 17
4.2 Розподіл адресного простору 18
4.3 Алгоритм функціонування МПП 19
Загальна структура програми роботи МПП 21
Опис програм вводу, виводу 21
Опис програми обробки інформації 24
Оцінка верхньої фінітної частоти вхідного аналогового сигналу 26
Реалізація блоку ОЗП або ПЗП для МПС 27
Опис функціонального вузла 29
Аналіз результатів та висновки 31
Список використаної літератури 32
Додаток 1 33
Додаток 2 34
Перелік умовних скорочень
АЦП – аналогово-цифровий перетворювач;
БЕ – буферний елемент;
ГТІ – генератор тактових імпульсів;
ДОН – джерело опорної напруги;
ДШП – дешифратор адреси комірки пам’яті;
ДШВ/В – дешифратор каналів вводу/виводу;
ІС – інтегральна схема;
МК – мікроконтролер;
МП – мікропроцесор;
МПП – мікропроцесорний пристрій;
МПС – мікропроцесорна система;
МР – молодший розряд;
ОЗП – оперативний запам’ятовуючий пристрій;
ОП – операційний підсилювач;
ПЗП – постійний запам’ятовуючий пристрій;
ППІ – паралельний програмований інтерфейс;
РКС – регістр керуючого слова;
РПН – регістр послідовного наближення;
СК – системний контролер;
СР – старший розряд;
СШ – системна шина;
ТГ – тактовий генератор;
ТТЛ – транзисторно–транзисторна логіка;
ЦАП – цифрово-аналоговий перетворювач;
ЦФ – цифровий фільтр;
ША – шина адрес;
ШД – шина даних;
ШК – шина керування;
ШФ – шинний формувач.
Вступ
Дана курсова робота має за мету синтез пристрою обробки аналогової інформації за допомогою мікропроцесора. Суть обробки полягає в переведенні початкового вхідного аналогового сигналу у цифрову форму, перетворенні вхідних функцій залежно від конкретного варіанту і кінцеве переведення обрахованої функції у аналогову форму. Зазвичай сигнал, що видається джерелом має аналогову форму, яка описується неперервною в часі функцією з миттєвими значеннями на певному інтервалі. Передавання і обробка таких сигналів може здійснюватись у аналоговій формі. Проте нині широке розповсюдження набувають системи передачі і обробки, в яких вхідні аналогові сигнали переводяться в цифрову форму, отримані цифрові сигнали передаються чи обробляються, на виході системи відбувається зворотнє перетворення сигналів з цифрової в аналогову форму.
Використання цифрової форми представлення сигналів може забезпечити вищу завадостійкість при передачі сигналів, стабільність параметрів обробки (незалежність від часу і впливу змін в навколишньому середовищі – температури, вологості і т. д.) під час обробки сигналів, можливість побудови апаратури з використанням останніх досягнень мікроелектроніки, що забезпечує компактність, економічність, гнучкість у функціонуванні (можна модифікувати виконувані функції) апаратури.
Основні завдання при виконанні курсової роботи :
Поглиблення теоретичних знань в сфері технічних і програмних засобів пристроїв мікропроцесорних систем.
Набуття навичок роботи з технічною та довідниковою літературою із вибору аналого-цифрового і цифро-аналогового перетворювачів.
Використання стандартних підпрограм з прикладного програмного забезпечення МП КР580ВМ80А.
Розвиток навичок по розробці загальної структури МПП з перетворенням інформації, побудови принципових електричних схем окремих вузлів, розробки та відлагодження програмного забезпечення на мові Асемблер МП КР580ВМ80А.
Поставлена задача сьогодні є досить актуальною, тому що з швидким розвитком цифрової техніки і дуже широкого поширення інформації власне у аналоговій формі постає задача обробки цієї інформації цифровими методами і засобами.
1.Синтез аналогової схеми фільтру
Синтез схеми фільтру на активних елементах
Побудуймо спершу схему на активних елементах. Вона базується на використанні операційного підсилювача. На його основі працюють вузли, що реалізують операції диференціювання, інвертування, сумування тощо. Необхідно реалізувати таку функціональну залежність: . Це співвідношення можна також записати так: .
Схема 1. Функціональна схема аналогового фільтра на активних елементах.
Із вигляду схеми і функціональної залежності робимо висновок щодо коефіцієнтів:
З однієї сторони, маємо: ,
а з іншої: .
Отже, С = 1;
R1 = 1;
R2 = 1;
R3 = ;
R4 = .
Синтез схеми фільтру на пасивних елементах
Пристрій, що реалізує на основі певної функціональної залежності перетворення вхідного аналогового сигналу у аналоговий вихідний сигнал називають аналоговим фільтром. Передавальна характеристика аналогового фільтру забезпечує відповідні амплітудно-частотні та фазово частотні залежності, що визначає тип фільтру.
Розглянемо задане рівняння цифрового фільтру :
,
де x(t) – вхідний аналоговий сигнал;
y(t) – вихідний аналоговий сигнал;
1, 2 - сталі величини.
Згідно з варіантом завдання необхідно синтезувати схему фільтру на пасивних елементах.
Для синтезу використовуються елементи R, L, C, що об’єднуються в RC-, LС- або RCL-ланки. Вихідна напруга знімається з якого-небудь одного або двох послідовно з’єднаних елементів. До заданого рівняння застосовуємо перетворення Лапласа.
y(t) ↔ Y(p),
x(t)↔X(p),
↔X(p).
Розв’язуємо отримане алгебраїчне рівняння відносно Y(p).
.
Формула цього дробово-раціонального виразу при X(p) визначає вигляд аналогової схеми. У знаменнику маємо константу, отже, вхідне коло містить лише два елементи – резистори (R1 = 1, R2 = 2). У вихідному колі послідовно з’єднані резистор (R2 = 2) та ємність (C = 1).
Схема 2. Аналогова схема фільтра на пасивних елементах.
2. Синтез структурної схеми цифрового фільтру
Дискретизація аналогового рівняння полягає в заміні безперервної величини її дискретними відліками (x(t)→xn, y(t)→yn) і відповідними перетвореннями похідних та інтегралів.
Задане рівняння:
Виконавши згадані перетворення, отримуємо:
yn = a0xn + a1xn-1 + b1yn-1.
При апаратурній розробці необхідними схемними елементами є вузли, що реалізують перемножувачі, суматори і елементи затримки. На Схемі 3 зображена структурна схема апаратної реалізації цифрового фільтра, що описується вищенаведеним рівнянням.
Xn-1
Xn
Yn
Yn-1
Схема 3. Структурна схема реалізації ЦФ (XY - елемент множення;
DL - елемент затримки;
( - суматор).
3. Вибір і обґрунтування типу АЦП і ЦАП
3.1 Вибір типу АЦП
Згідно варіанту, необхідно використати 12-розрядний перетворювач.
Основні параметри ряду мікросхем АЦП
Таблиця 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мкс ). Включаємо даний АЦП в біполярному режимі. Цифрові виходи АЦП мають логічні рівні ТТЛ-логіки і допускають пряме підключення до каналів МПС.
Схема 4. Типова схема включення ВІС АЦП К1108ПВ2 в біполярному режимі
Основні електричні параметри мікросхеми :
Таблиця 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
Позначення виводу
Призначення
Вхід дозволу зчитування
UТИ
Тактовий вхід
Вхід запуску
Сигнал кінця перетворення (готовність даних)
FS
Сигнал переповнення
UIRN
Аналоговий вхід
UCC1
Напруга джерела живлення (цифр. частина)
U'CC1
Напруга джерела живлення (аналог. частина)
UREF
Опорна напруга
Функціонально закінчений 12-розрядний АЦП для перетворення вхідної напруги в діапазоні 0-5В (чи –2,5-2,5В у біполярному режимі) в прямий двійковий код. Мікросхема розміщена в металокерамічному 40-вивідному корпусі з вертикальним розташуванням виводів. Робочий струм АЦП 5мА. Перетворення відбувається за 14 тактів.
Схема 5. Підімкнення АЦП до МПП
3.2 Вибір ЦАП
Згідно варіанту, необхідно використати 12-розрядний ЦАП.
Основні параметри ряду мікросхем ЦАП:
Таблиця 4
Мікросхема
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 мкс ).
Схема 6. Включення ІС ЦАП К1108ПА1 в біполярному режимі і з різними діапазонами вихідної напруги (вмикааючи пін 9 / 10 отримаємо 10 / 20 В відновідно).
Основні електричні параметри мікросхеми :
Таблиця 5
Параметр
Мін.
Макс.
Число розрядів
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
Призначення виводів мікросхеми:
Таблиця 6
Номер виводу
Призначення виводу
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-вивідному герметичному металокерамічному корпусі з вертикальним розташуванням виводів.
Схема 7. Підімкнення ЦАП до МПП
3.3 Структура представлення даних
Згідно з варіантом завдання, розрядність АЦП становить 12. Вхідний сигнал є біполярним. Результат перетворення АЦП в залежності від вхідного сигналу подано у таблиці:
Таблиця 7
Вхід
Код
Uxmax
2047
0
0
–Uxmax
–2047
Для біполярної вхідної напруги Uxn залежність з вихідним кодом АЦП xn виглядає так
Uxn = Uxmaxxn/211.
Результат перетворення 12-розрядного блоку ЦАП в залежності від цифрового коду yn вихідної напруги Uyn подано у таблиці:
Таблиця 8
Код
Вихід ЦАП
211-1
Uymax
0
0
–(211-1)
–Uxmax
Виходячи з отриманого рівняння цифрового фільтра
yn = a0xn + a1xn-1 + b1yn-1, де а0 = , а1=, b1=.
τ1, τ2 – це величини постійні. За будь-яких невід'ємних τ1, τ2, коефіцієнти а0, а1 і b1 будуть, що очевидно, меншими від одиниці по модулю. Розрядність xn та xn-1 рівна 12. В пам’яті для них необхідно виділити по 12 бітів. Коефіцієнти при них представимо як однобайтові числа. Дане рівняння лінійне і два сусідні значення xn не можуть сильно відрізнятись. Звідси робимо наближений висновок, що максимальному xn відповідає максимальне значення yn:
ymax ≈ xmax.
, ,
Оскільки , і це для будь-яких невід'ємних τ1, τ2, то очевидно, що завжди матимемо:
ymax < xmax.
Таким чином, робимо висновок, що розрядність для вихідної напруги Uyn збільшувати не потрібно. Тепер маємо структуру представлення даних:
Одержана структура представлення даних визначає формати виконання арифметичних операцій обчислення вихідного значення цифрового фільтра.
4. Структурна схема та алгоритм функціонування МПП
4.1 Опис структурної схеми МПП
Схема 8. Структурна схема МПП
Опис структурної схеми МПП:
АЦП - аналого-цифровий перетворювач (К1108ПВ2);
БП - блок переривання;
ДШВВ - дешифратор адрес вводу;
ДШВИВ - дешифратор адрес виводу;
ДШП - дешифратор адрес пам’яті;
МП - мікропроцесор (КР580ВА80);
ОЗП - оперативний запам’ятовуючий пристрій (КМ132РУ8А);
ПЗП - постійний запам’ятовуючий пристрій;
СК - системний контролер (КР580ВК28);
ТГ - тактовий генератор (КР580ГФ24);
ЦАП - цифро-аналоговий перетворювач (К1108ПА1 );
Канали вводу і виводу реалізовані на двох мікросхемах ППІ (КР580ВВ55).
В МПС використовуються також логічні елементи, шинний формувач, тригер, дешифратори адрес.
МП виконує наступні функції: формує адреси команд, видає команди з пам’яті, їх дешифрує, видає для команд потрібні адреси, виконує над ними операції, передбачені командами, при необхідності записує результат в пам’ять, формує керуючі сигнали для обміну, реагує на можливі зовнішні сигнали.
ТГ призначений для формування синхроімпульсів F1, F2 для роботи МП і інших компонентів, які входять до МПС. Синхроімпульси F1, F2 мають амплітуду 12B, але відрізняються один від одного щільністю і зсунуті в часі. Крім того мікросхема генератора тактових імпульсів виробляє сигнал початкової установки RESET і готовності даних READY, а також , який поступає на вхід системного контролера і за яким системний контролер фіксує слово стану процесора.
ПЗП призначений для постійного зберігання відповідних коефіцієнтів, програм і підпрограм.
ОЗП використовується як тимчасовий накопичувач інформації, а саме даних які потрібні для розрахунків (xn, xn-1, yn, yn-1).
СК призначений для формування сигналів керування, які формуються процесором при зверненні до зовнішніх пристроїв (MEMR, MEMW, I/OR, І/OW, INTA).
ППІ використовується для обміну інформацією з зовнішніми перетворювачами.
АЦП перетворює аналоговий сигнал в цифровий код.
ЦАП здійснює зворотнє перетворення: двійковий код, який поступив на його вхід перетворюється у відповідний аналоговий сигнал.
4.2 Розподіл адресного простору
Об’єм адресного простору МП КР580ВМ80А становить 64К адрес. В цьому адресному просторі необхідно розмістити адреси ПЗП та ОЗП. Під величини xn, xn-1, yn, yn-1 виділимо місце в ОЗП. Решту інформації зберігатимемо в ПЗП.
Розподіл адрес в ПЗП.
Таблиця 9
Адреса
Вміст пам’яті
Пояснення
0000h (RST0)
jmp Main
На початкову ініціалізацію в головній програмі
0028h (RST5)
jmp IntHndlr
На підпрограму обробки переривання
0080h
CDop:
Підпрограма переводу числа в доповнюючий код
0088h
LAdd:
Підпрограма додавання двобайтових чисел
0091h
DMul:
Підпрограма беззнакового множення
00A2h
SMul:
Підпрограма знакового множення
0100h
Main:
Головна програма
0120h
IntHndlr:
Підпрограма обробки переривання
0149h
DigIH:
Підпрограма цифрової обробки інформації
01FDh
a0
Коефіцієнт a0
01FEh
a1
Коефіцієнт a1
01FFh
b1
Коефіцієнт b1
Розподіл адрес в ОЗП.
Таблиця 10
Адреса
Вміст пам’яті
Пояснення
4000h
xn
Вхідний сигнал
4002h
xn-1
Попередній вхідний сигнал
4004h
yn
Вихідний сигнал
4006h
yn-1
Попередній вихідний сигнал
У нашій МПС є також два ППІ КР580ВВ55. Для звертання до каналів вводу і каналів виводу їм необхідно також присвоїти конкретні адреси. У МПС на основі МП КР580ВМ80А для зовнішніх пристроїв виділено 256 адрес. Виходячи з цього, канали вводу/виводу, а також регістри керуючих слів матимуть наступні адреси:
Таблиця 11
КР580ВВ55, призначений для вводу
КР580ВВ55, призначений для вводу
Адреса
Значення
Адреса
Значеня
0B0h
Канал А
0D0h
Канал А
0B1h
Канал В
0D1h
Канал В
0B2h
Канал С
0D2h
Канал С
0B3h
РКС
0D3h
РКС
Дешифратори адрес ППІ мають наступний вигляд:
Схема 9 Дешифратори ППІ
Алгоритм функціонування МПП
Ввід інформації від АЦП в нашій МПС здійснюється в режимі переривань, при якому готовність даних формує сигнал переривання для МП, в результаті чого МП переходить на підпрограму обробки переривання. Реалізується переривання використанням команди RST n. В двійковій формі команда RST n має вигляд:
1 1 К2 К1 К0 1 1 1,
де К2 К1 К0 - код числа n в двійковій формі.
При n=5 в двійковій формі команда RST5 матиме вигляд 11101111. Ця команда здійснює перехід за адресою 8*n байт. Отже при n=5 відбудеться перехід за адресою: 8*n=8*5=4010=28h=00101000b.
При використанні цієї команди за сигналом “Готовність даних від” АЦП (вихід ) на шині даних повинен бути сформований код команди RST n. Цю команду можна легко згенерувати - розряди, які дорівнюють 1, отримуються підключенням лінії даних через резистор до +5 В, а код К2К1К0 можна отримати таким же чином, подаючи на відповідний вхід логічні “0” або ”1” на 3 лінії з 8. Після того, як сигнал “Готовність даних” поступає на вхід синхронізації тригера C відбувається перехід від “0” до “1” і дані з входу D (“1”) передаються на вихід Q, який з’єднаний з виводом запиту переривання INT МП. Ця зміна відбувається тоді, коли на вході “R” з’явиться інвертований сигнал від виводу INTE з рівнем “0”, тобто перривання дозволено.
Після цього в системний контролер записується керуюче слово, в якому розряд INTA=1, що обумовлює формування відповідного сигналу керування. Цей сигнал поступає на вхід дозволу “ОЕ” шинного формувача з трьома вихідними станами. При виконанні команди RST n на виході INTE встановлюється “0”, який скидає через згаданий тригер сигнал INT. Встановлення сигналу INTE=1 здійснюється за допомогою команди EI (дозвіл переривання), якою завершується програма обробки переривань.
Схема 10. Алгоритм функціонування МПП
Загальна структура програми роботи МПП.
В ПЗП записуємо набір підпрограм для ініціалізації МПС, для початкового встановлення режимів ППІ, пуску АЦП, вводу даних при обробці переривань, для обчислення рівняння ЦФ і передачі обрахованого yn на ЦАП для переведення в аналогову форму. Ініціалізація мікросхем ППІ відбувається в головній програмі. За вхідні сигнали xn, xn-1 і yn-1 при першому обрахунку приймаємо 0, який і записуємо за відповідними адресами в ОЗП. Встановлюєм вказівник стеку на відповідну адресу. Також в головній програмі розміщені команди запуску АЦП в режим перетворення даних. Ця програма розташована в ПЗП, починаючи з адреси 100h і має такий вигляд:
Main:
lxi h, 0000h ; 10 t ; 3 B
lxi sp, 4008h ; 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, 6000h ; 10 t ; 3 B
mvi a, 0B6h ; 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, 10h ; 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 Опис програм вводу, виводу.
Згідно завдання необхідно вводити 12 і виводити 12 біт даних. Для цього використаємо дві мікросхеми КР580ВВ55. Одну запрограмуємо в режим 1 на ввід: канал А та молодші розряди каналу B. Іншу запрограмуємо в режим 0 на вивід: канал А та молодші розряди каналу B. В обох ППІ, згідно завдання, використовуємо перший режим роботи. Для запуску АЦП будемо використовувати розряд С4 каналу С.
Таким чином керуюче слово для першого ППІ набуде вигляду:
Керуюче слово для другого ППІ має вигляд:
Код програми, що ініціалізує ППІ, має такий вигляд:
mvi a, 0B6h ; 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 для запуску перетворення. Як видно зі схеми підключення АЦП, вихід «Гашення/пертворення» АЦП підключений до ППІ. Це є лінія каналу С С4. Отже, щоб ініціалізувати АЦП необхідно виконати наступну послідовність команд:
mvi a, 10h ; 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 0B0h ; 10 t ; 2 B
mov a, h ; 5 t ; 1 B
out 0B1h ; 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 4000h ; 16 t ; 3 B
shld 4002h ; 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 4000h ; записуєм 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.2 Опис програми обробки інформації
Підпрограма обробки інформації має назву DigIH. Вона працює з значеннями сигналів xn і xn-1 та з коефіцієнтами а0 і а1. Ці всі параметри мають свої конкретні адреси в пам’яті. Результатом виконання підпрограми є числове значення сигналу уn.
DigIH:
lhld 4000h ; 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 ; перетворення в доповнюючий код a * xn ; 17 t ; 3 B
m1: mov b, h ; 5 t ; 1 B
mov c, l ; запам’ятовуєм a0 * xn в ВС ; 5 t ; 1 B
lhld 4002H ; 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 4006h ; 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
lhld 4008h ; [4008h] ( 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 0B0h ; 10 t ; 2 B
mov a, h ; 5 t ; 1 B
out 0B1h ; 10 t ; 2 B
shld 4004h ; занесення yn-1 ( yn... ; 16 t ; 3 B
lhld 4006h ; 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 байт пам’яті.
Процедура множення двобайтового числа на однобайтове без знаку DMul. Вхідними даними для неї є множники, розміщені в регістровій парі DE і акумуляторі. Процедура повертає добуток в акумуляторі (старші розряди) і парі НL (молодші розряди). Текст цієї процедури:
DMul: lxi h, 0000h ; 10 t ; 3 B
mvi c, 08h ; 7 t ; 2 B
n1: dad h ; 10 t ; 1 B
ral ; 4 t ; 1 B
jnc n2 ; 10 t ; 2 B
dad d ; 10 t ; 1 B
n2: aci 00h ; 7 t ; 2 B
dcr c ; 5 t ; 1 B
jnz n1 ; 10 t ; 2 B
ret ; 10 t ; 1 B
Процедура DMul виконується за 499 такти і займає 17 байт пам’яті.
Вхідний сигнал є двополярним, отже, треба реалізувати операцію множення чисел зі знаком. Підпрограма множення чисел зі знаком:
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 ; 1 B
mov a, b ; ознака знаку в А=1 - від’ємне, А=0 - додатнє ; 5 t ; 1 B
ret ; 10 t ; 1 B
Процедура SMul виконується за 107 тактів і займає 23 байта у пам’яті.
5.3 Оцінка верхньої фінітної частоти вхідного аналогового сигналу
Побудуймо таблицю, де буде інформація про кількість тактів кожної підпрограми і визначим загальну кількість тактів.
Таблиця 12
Програми
Кількість тактів
Кількість виконань
Кількість тактів
Головна програма (Main)
156
1
156
Підпрограма обробки переривань (IntHndlr)
222
1
222
Підпрограма обробки інформації (DigIH)
396
1
396
Процедура переводу в доповнюючий код (CDop)
43
3
129
Процедура додавання двобайтових чисел (LAdd)
58
2
116
Процедура беззнакового множення (DMul)
499
3
1497
Процедура знакового множення (SMul)
107
3
321
Загальна кількість тактів
2837
Визначимо тепер фінітну частоту роботи МПП. Тактову частоту роботи МП приймаємо рівною 2,5 МГц. Тоді тривалість виконання основного циклу програми наступна:
Тобр = [1 / (2,5 × 106)] × N, де N – загальна кількість тактів роботи програми.
Тобр = 2837 / (2,5 × 106) = 0,0011348 c.
Частота обміну і обробки інформації в МПП:
fΔt = 1/Тобр.,
fΔt ≈ 881,213 Гц .
За теоремою Котельнікова фінітна частота вхідного аналогового сигналу буде вдвічі менша від fΔt :
fmax = fΔt / 2
fmax ≈ 440,61 Гц.
6. Реалізація блоку ОЗП або ПЗП для МПС
Відповідно до поставленого завдання, необхідно синтезувати блок ОЗП об’ємом 16К, використовуючи мікросхеми структурою 16384×1. Для реалізації ОЗП згідно умови завдання обрано мікросхему КМ132РУ6а. Принципова схема такої одиниці пам’яті наведена в схемі.
Схема 11. Принципова схема ОЗП КМ132РУ6а
Таблиця істинності схеми ОЗП КМ132РУ6а
Таблиця 13
/RD
A0 … A13
D0 / DI
Дія
1
×
×
ROFF
—
0
0
А
0
Запис 0
0
0
А
1
Запис 1
0
1
А
Дані в прямому коді
Зчитування
Технічні та електричні параметри схеми ОЗП КМ132РУ6а
Таблиця 14
Параметр
Значення параметра
Час вибірки
70нс
Інформаційна ємність
16384 біт
Організація
16384(1
Напруга живлення
5В ± 10%
Споживана потужність
≤ 120 мВт
Діапазон температур
-10 .. +70 °С
Схема ця сумісна по входах і виходах з ТТЛ-схемами. Якщо на входах вибору мікросхеми будуть логічні 1, то виходи перейдуть у високоімпедансний стан.
Шина даних в даній МПС 8-розрядна. Задача полягає у синтезі блоку пам'яті 16К(8 на основі схеми 16К(1.
,
де К – кількість мікросхем, які необхідно об’єднати паралельно;
n – потрібна розрядність блоку пам’яті;
ni – розрядність однієї мікросхеми.
В нашому випадку n = 8, ni = 1. Отже, К = 8.
,
де L – кількість мікросхем, які необхідно об’єднати послідовно;
N – потрібний об’єм пам’яті;
Ni – об’єм однієї мікросхеми.
В нас N = 16384 біт, Ni = 16384 біт. L = 1.
Блок пам’яті ОЗП таким чином складатиметься з восьми (K ( L = 8) мікросхем КМ132РУ6а. Принципова схема побудованого блоку наведена у Додатку 1 (слід взяти до уваги, що в Додатку один використано: DD1 – К155ЛЛ1;
DD2 – К155ЛН2;
DD(3(10) – КМ132РУ6а).
Мінімальна адреса комірки пам’яті 4000h:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Максимальна адреса комірки пам’яті 7FFFh:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
7. Опис функціонального вузла
Системний контролер КР580ВК28 призначений для фіксації слова стану МП, сигналів керування зовнішньою пам'яттю та пристроями В / В і буферизації шини даних.
Схема 12. Мікросхема СК КР580ВК28 (а – умовне зображення; б – умовне графічне зображення на схемі електричній принциповій).
Опис виводів СК КР580ВК28.
Таблиця 15
Позначення
Параметр
Номер виводу
D0 – D7
Підключаються до виводів D0 – D7 мікропроцесора (вхід / вихід)
15, 17, 12, 10, 6, 19, 21, 8
DB0 – DB7
Підключаються до шини даних системи (вхід / вихід)
13, 16, 11, 9, 5, 18, 20, 7
Строб слова стану мікропроцесора (вхід)
1
HLDA
Підтвердження захвату (сигнал поступає на системний контролер від мікропроцесора) (вхід)
2
Строб вводу даних (сигнал поступає від мікропроцесора) (вхід)
3
DBIN
Строб шини даних при вводі (сигнал поступає від мікропроцесора) (вхід)
4
Запис у зовнішній пристрій (вихід)
27
Запис в пам'ять (вихід)
26
Читання з зовнішнього пристрою (вихід)
25
Читання з пам'яті (вихід)
24
Підтвердження переривання (вихід)
23
Сигнал керування системною шиною (вхід)
22
Схема 13. Структурна схема СК КР580ВК28.
В кінці 1-го такту кожного машинного циклу ГТІ виробляє строб . По цьому імпульсу СК читає шину даних і записує ці дані в регістр стану. Це слово стану далі дешифрується відповідною схемою і на відповідному виводі СК виробляється один з п'яти керуючих сигналів. Сигнал використовується для керування виводами DB0 – DB7, які підключаються до системної ШД. Якщо на цей вивід подати сигнал високого рівня, тоді ці виводи переводяться у високоімпедансний стан. Таким прийомом вдається реалізувати запит інших пристроїв на здійснення обміну через системну ШД. Якщо на вивід через резистор 1 кОм від напруги +12 В подати сигнал, системний контролер на шину даних виставить код команди RST 7. Таким чином, можна апаратно сформувати цю команду. Якщо у відповідь на підтвердження сигналу зовнішні пристрої виставлять на системну шину перший байт команди CALL, тоді системний контролер видасть ще два сигнали , для того, щоб прочитати наступні два байти програми CALL.
Схема 14. Схема підключення СК КР580ВК28 до МП КР580ИК80А.
Аналіз результатів та висновки
Виконана курсова робота вміщує в собі основні етапи синтезу цифрового фільтра на основі мікропроцесорних великих інтегральних схем серії КР580. Побудовано аналогову схему реалізації залежності на пасивних елементах і на операційних підсилювачах.
В результаті був розроблений мікропроцесорний пристрій, який включає аналогово-цифровий і цифро-аналоговий перетворювач підвищеної швидкодії. Аналоговий сигнал дискретизується і вже цифровий сигнал обробляється відповідно до програми.
Внаслідок відносно простого вихідного рівняння зменшено загальну кількість тактів, необхідну для одного циклу виконання програми, а значить і підвищено фінітну частоту. Проте навіть отримане значення верхньої граничної частоти є дуже малим. На мою думку це перш за все пояснюється низькою швидкодією мікропроцесора. Час перетворення аналогового і цифрового сигналів також відчутно обмежує можливості прискорення пристрою.
До одного із конкретних висновків з виконаної роботи можу також віднести переконливі переваги цифрових фільтрів над відповідними аналоговими схемами. Вони полягають в самому принципі проектування і синтезу мікропроцесорних пристроїв, коли інженер розробляє алгоритм функціонування пристрою і програму його роботи. Функції розробника переміщаються із схемної області в програмну.
Список використаної літератури
Самофалов К. Г., Викторов О. В. – Микропроцессоры. Библиотека инженера.- К.: Техніка, 1989.
Федорков Б.Г.,Телец В.А, Микросхеми ЦАП и АЦП: функционование, параметры, применение.-М.: Енергоатомиздат,1990.
Костинюк Л. Д., Паранчук Я. С., Щур І. З. – Мікропроцесорні засоби та системи: Навч. Посібник – Львів: Видавництво НУ “Львівська політехніка”, 2002.
Калабеков Б. А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебн. Пособие для вузов.-М.: Радио и связь, 1988.
Баранов В.В. и др. Полупроводниковые БИС запоминающих устройств.-М.: Радио и связь, 1987.
Рицар Б. Є. Цифрова техніка. Київ НМК ВО, 1991.
Додаток 1. Додаток 2.