Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра САПР
Курсова робота
з курсу “Комп’ютери та мікропроцесорні системи”
МІКРОПРОЦЕСОРНA ОБРОБКA
АНАЛОГОВОЇ ІНФОРМАЦІЇ
Керівник: Процько І.О.
Завдання до курсової роботи
Тема курсової роботи: Мікропроцесорна обробка аналогової інформації.
Термін здачі : ____________
Постановка задачі: Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації.
Обробка описується заданим рівнянням:
Розрядність АЦП: 12.
Полярність вхідного сигналу: однополярний (невід’ємний).
Організація обміну з АЦП: через переривання з RST1.
Режим роботи КР580ВВ55: 0.
Об’єм ОЗП (Кб): 2К.
Організація МП: 1024×1.
Вид функціонального вузла: шинні формувачі з використанням КР580ВА87.
Анотація
Студент: ________________
“Пристрій мікропроцесорної обробки аналогової інформації”. Курсова робота. – НУ „Львівська політехніка”, каф.: САПР, дисципліна: “Комп’ютери та мікропроцесорні системи”, 2005.
Дана курсова робота містить в собі 32 сторінки, 18 таблиць, 14 схем, 2 додатки. В даній курсовій роботі розроблено компоненти апаратного і програмного забезпечення мікропроцесорного пристрою. Він включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує обробку за функціональною залежністю аналогового сигналу. Дана робота охоплює ввід і первинну обробку аналогової інформації, подальшу цифрову обробку інформації за програмою і вхідними даними, а також вивід обробленої інформації в аналоговій формі для подальшого використання.
Зміст
ст.
Завдання до курсової роботи……………………………………………………………..2
Анотація…………………………………………………………………………………...3
Зміст………………………………………………………………………………………..4
Перелік умовних скорочень………………………………………………………………5
Вступ……………………………………………………………………………………….6
1. Синтез аналогової схеми фільтру…...................…………………………………...…7
2. Синтез структурної схеми цифрового фільтру……………………………………….8
3. Вибір і обґрунтування типу АЦП і ЦАП…………………………………………...…9
3.1 Вибір типу АЦП………………………………………………………………...9
3.2 Вибір типу ЦАП……………………………………………………………….11
3.3 Структура представлення даних……………………………………………..13
4. Структурна схема та алгоритм функціонування МПП…………………………….14
4.1 Опис структурної схеми МПП……………………………………………….14
4.2 Розподіл адресного простору……………………………………………...…16
4.3 Алгоритм функціонування МПП…………………………………………….17
5. Загальна структура програми роботи МПП…………………………………………20
5.1 Опис програм вводу, виводу. ………………………………………………..20
5.2 Опис програми обробки інформації…………………………………………22
5.3 Оцінка верхньої фінітної частоти вхідного аналогового сигналу…………24
6. Реалізація блоку ОЗП для МПС……………………………………………………...25
7. Опис функціонального вузла…………………………….……………………….…..27
Аналіз результатів та висновки…………………………….…………………….…….29
Список використаної літератури……………………….…………………….……...…30
Додаток №1.......................................................................................................................31
Додаток №2.......................................................................................................................32
Перелік умовних скорочень
АЦП – аналогово-цифровий перетворювач;
БЕ – буферний елемент;
ГТІ – генератор тактових імпульсів;
ДОН – джерело опорної напруги;
ДШВ/В – дешифратор каналів вводу/виводу;
ІС – інтегральна схема;
МК – мікроконтролер;
МП – мікропроцесор;
МПП – мікропроцесорний пристрій;
МПС – мікропроцесорна система;
МР – молодший розряд;
ОЗП – оперативний запам’ятовуючий пристрій;
ОП – операційний підсилювач;
ПЗП – постійний запам’ятовуючий пристрій;
ППІ – паралельний програмований інтерфейс;
РКС – регістр керуючого слова;
РПН – регістр послідовного наближення;
СК – системний контролер;
СР – старший розряд;
СШ – системна шина;
ТГ – тактовий генератор;
ТТЛ – транзисторно–транзисторна логіка;
ЦАП – цифрово-аналоговий перетворювач;
ЦФ – цифровий фільтр;
ША – шина адрес;
ШД – шина даних;
ШК – шина керування;
ШФ – шинний формувач.
Вступ
Метою даної курсової роботи є синтез пристрою обробки аналогової інформації за допомогою мікропроцесора. Суть обробки полягає в тому, щоб перевести спочатку деякий початковий вхідний аналоговий сигнал у цифрову форму, перетворити вхідну функцію, залежно від конкретного варіанту, а потім перевести кінцеве значення обрахованої функції у аналогову форму. Зазвичай сигнал, що видається джерелом має аналогову форму, яка описується неперервною в часі функцією з миттєвими значеннями на певному інтервалі. Хоча передавання і обробка таких сигналів може здійснюватись у аналоговій формі, проте на сьогоднішній день широке застосування отримали системи передачі і обробки, в яких вхідні аналогові сигнали переводяться в цифрову форму, отримані цифрові сигнали передаються чи обробляються, на виході системи відбувається зворотне перетворення сигналів з цифрової в аналогову форму.
Цифрова форма представлення сигналів може забезпечити вищу завадостійкість, стабільність параметрів обробки при обробці сигналів, можливість побудови апаратури з використанням останніх досягнень мікроелектроніки.
Основні завдання при виконанні курсової роботи :
Поглиблення теоретичних знань в сфері технічних і програмних засобів пристроїв мікропроцесорних систем.
Набуття навичок роботи з технічною та довідниковою літературою із вибору АЦП і ЦАП.
Використання стандартних підпрограм з прикладного програмного забезпечення МП КР580ВМ80А.
Набуття навичок по розробці загальної структури МПП та по відлагодженню програмного забезпечення на мові Асемблер МП КР580ВМ80А.
1. Синтез аналогової схеми фільтру
Пристрій, що реалізує на основі певної функціональної залежності перетворення вхідного аналогового сигналу у аналоговий вихідний сигнал називають аналоговим фільтром. Передавальна характеристика аналогового фільтру забезпечує відповідні амплітудно-частотні та фазочастотні залежності, що визначають тип фільтру.
Розглянемо задане рівняння цифрового фільтру:
, (1.1)
де x(t) - вхідний аналоговий сигнал; y(t) - вихідний аналоговий сигнал; ( - стала величина. Використавши перетворення Лапласа отримаємо:
Y(P) = X(P) + X(P)/(τ∙P), (1.2)
Y(P) = X(P)∙(1 - 1/(τ∙P)), (1.3)
Y(P) =()∙X(P) (1.4)
У виразі (1.4) знаменник представляє елементи у вхідному колі: опір R. Чисельник визначає набір елементів у вихідному колі: опір R та ємність C.
C
X(t) R Y(t)
Схема 1.1. Аналогова схема ЦФ.
2. Синтез структурної схеми цифрового фільтру
Для заданого рівняння побудуємо структурну схему ЦФ. Дискретизація аналогового рівняння полягає в заміні безперервної величини її дискретними відліками і відповідними перетвореннями інтегралів.
Один з способів дискретизації інтеграла полягає в його усуненні шляхом диференціювання рівняння. Інший спосіб, прямої дискретизації, пов’язаний з такими перетвореннями:
; (2.1)
. (2.2)
В результаті часової дискретизації заданого рівняння отримаємо:
(2.3)
Yn = Xn + Yn-1/( + (Xn + Xn-1)∙(t/(2∙(). (2.4)
Переносимо Yn в ліву сторону, все решта в праву. Наше рівняння набуде вигляду:
Yn = a0Xn + a1Xn-1 + b0Yn-1, (2.5)
де a0 = , a1 = , b0 =. (2.6)
Як було вище сказано реалізація ЦФ може бути апаратна і цифрова. При апаратній реалізації необхідними елементами є перемножувачі, суматори і елементи затримки. На схемі 2.1. зображена структурна схема апаратної реалізації цифрового фільтру, який описується даним рівнянням.
Схема. 2.1. Структурна схема реалізації ЦФ, де: XY - елемент множення,
DL - елемент затримки, ( - суматор.
3. Вибір і обґрунтування типу АЦП і ЦАП
3.1 Вибір типу АЦП
Згідно варіанту, необхідно використати 12-розрядний перетворювач. АЦП, які можуть бути використані в даній курсовій роботі, зведені в таблиці 3.1.1.
Таблиця 3.1.1
Основні параметри ряду мікросхем АЦП
Мікросхема
Вид перетворення
n
,мкс
m
К572ПВ1
Послідовне наближення
12
150
48
КР572ПВ1
Послідовне наближення
12
150
40
К1108ПВ2
Послідовне наближення
12
2
40
Тут n - кількість двійкових розрядів, - час перетворення, m - кількість виводів мікросхеми. Керуючись критерієм часу перетворення сигналу в АЦП, я обрав мікросхему К1108ПВ2 ( tпер = 2мкс ). Включаю даний АЦП в однополярному (невід’ємному) режимі. Цифрові виходи АЦП мають логічні рівні ТТЛ - логіки і допускають пряме підключення до каналів МПС.
Схема 3.1.1 Типова схема включення ВІС АЦП К1108ПВ2 в однополярному режимі
Основні електричні параметри мікросхеми показані в таблиці 3.1.1.
Таблиця 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.
Таблиця 3.1.3
Позначення виводу
Призначення
Вхід дозволу зчитування
UТИ
Тактовий вхід
Вхід запуску
Сигнал кінця перетворення (готовність даних)
FS
Сигнал переповнення
UIRN
Аналоговий вхід
UCC1
Напруга джерела живлення (цифр. частина)
U'CC1
Напруга джерела живлення (аналог. частина)
UREF
Опорна напруга
Мікросхема К1108ПВ2 - функціонально закінчений 12-розрядний АЦП для перетворення вхідної напруги в діапазоні 0-5В (чи –2,5-2,5В у біполярному режимі) в прямий двійковий код. Мікросхема розміщена в металокерамічному 40-вивідному корпусі з вертикальним розташуванням виводів. Робочий струм АЦП 5мА. Перетворення відбувається за 14 тактів.
Схема 3.1.2. Підімкнення АЦП до МПП
3.2 Вибір ЦАП
Згідно варіанту, необхідно використати 12-розрядний ЦАП. ЦАП, які можуть бути використані в даній курсовій роботі, зведені в таблиці 3.2.1.
Таблиця 3.2.1
Основні параметри ряду мікросхем ЦАП
Мікросхема
n
tпер, мкс
m
К572ПА2
12
15
48
КР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.
Схема 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
Призначення виводів мікросхеми:
Таблиця 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-розрядного паралельного коду у вихідний однополярний чи біполярний струм. Перетворення здійснюється по принципу сумування двійково-зважених струмів. Рівність струмів досягається за допомогою високої ідентичності елементів інтегральної схеми, а їх стабілізація відбувається від зовнішнього опорного джерела за допомогою спеціальної схеми на основі вбудованого операційного підсилювача.
Перетворювач К1108ПА1 виготовлений по біполярній технології з діелектричною ізоляцією. Мікросхема конструктивно оформлена в 24-вивідному герметичному металокерамічному корпусі з вертикальним розташуванням виводів.
Схема 7. Підімкнення ЦАП до МПП
3.3 Структура представлення даних
Структура даних, які входять в рівняння цифрового фільтра, визначається коефіцієнтами рівняння і заданою розрядністю АЦП.
Рівняння ЦФ має вигляд:
(3.3.1)
Вхідний сигнал є однополярний, розрядність АЦП дорівнює 12. Тоді, результат перетворення АЦП в залежності від вхідного сигналу подамо у вигляді таблиці 3.3.1.
Таблиця 3.3.1
Вхід
Код
+Uxmax
4095
+Uxmax/2
2047
0
0
Однополярна вхідна напруга Uxn виражатиметься через вихідний код АЦП xn за таблицею 3.3.1 : Uxn = xnUxmax/212.
Результат перетворення 12-розрядного блоку ЦАП в залежності від цифрового коду уn вихідної напруги Uуn подано у вигляді таблиці 3.3.2.
Таблиця 3.3.2
Код
Вихід ЦАП
4095
+Uxmax
2047
+Uxmax/2
0
0
Підставляємо залежності в рівняння цифрового фільтра:
Uymax yn /212 = b0 Uymax yn-1/212 +a0 Uxmax xn/212 +a1 Uxmax xn-1/212 , (3.3.2)
(Uymax/Uxmax )yn = b0 (Uymax/Uxmax )yn-1 +a0 xn +a1 xn-1 , (3.3.3)
yn = b0yn-1 +a0(Uxmax/Uymax ) xn +a1(Uxmax/Uymax )xn-1 . (3.3.4)
Коефіцієнти ЦФ при xn, xn-1 залежать від співвідношення напруг (Uymax/Uxmax ) на вході АЦП і виході ЦАП даного МПП. Тому при аналізі структури даних ми вибираємо перетворювачі з електричними параметрами (Uymax/Uxmax )=1.
Згідно завдання розрядність вхідного сигналу є рівною 12, тобто для представлення xn потрібно 1,5Б. Визначимо скільки розрядів займатиме результат yn. Для заданого рівняння у вигляді (2.5), де коефіцієнти
a0 = , a1 = , b0 =. (3.3.5)
причому виберемо такі значення i (t, що всі коефіцієнти будуть менші одиниці по модулю. Тому для їх представлення достатньо по 1Б.
Знайдемо тепер, скільки розрядів потрібно для представлення yn. Робимо наближений висновок, що максимальному xn відповідає максимальне значення yn:
xmax ( ymax.
Тоді запишемо наступне рівняння:
, (3.3.6)
Оскільки xn є 12-розрядним, старшими розрядами будемо нехтувати, які утворюються при множенні і додаванні. Тоді,
(3.3.7)
Виходячи з рівняння (3.3.7) робимо висновок , що вихідну розрядність не буде перевищувати вхідної.
Тоді структура представлення даних набуде наступного вигляду:
a0
7 6 5 4 3 2 1 0
a1
7 6 5 4 3 2 1 0
a2
7 6 5 4 3 2 1 0
Xn
11 10 9 8 7 6 5 4 3 2 1 0
Xn-1
11 10 9 8 7 6 5 4 3 2 1 0
Yn-1
11 10 9 8 7 6 5 4 3 2 1 0
Yn
11 10 9 8 7 6 5 4 3 2 1 0
Схема 3.3.1. Структура представлення даних
Одержана структура представлення даних визначає формати виконання арифметичних операцій обчислення вихідного значення цифрового фільтра.
4. Структурна схема та алгоритм функціонування МПП
4.1 Опис структурної схеми МПП
Структурна схема реалізації проектованого МПП наведена на схемі 4.1.1.
Схема 4.1.1. Структурна схема МПП
Розрядність та функції відповідних елементів мікросхем наведені в таблиці 4.1.1.
Таблиця 4.1.1
Позначення
Опис
Мікросхема
МП
мікропроцесор
КР580ВМ80
ГТІ
генератор тактових імпульсів
КР580ГФ24
СК
системний контролер
КР580ВК28
ШФ
шинний формувач
КР580ВА86
АЦП
аналогово-цифровий перетворювач, 12 розрядів
К1108ПВ2
ЦАП
цифро-аналоговий перетворювач, 12 розрядів
К1108ПА1
ППІ1
паралельний програмований інтерфейс 1
КР580ВВ55A
ППІ2
паралельний програмований інтерфейс 2
КР580ВВ55A
Для можливості функціонування мікропроцесорної системи необхідні такі елементи як МП, ГТІ, СК, ШФ. Для виконання даного завдання необхідно включити АЦП і ЦАП. Для того, щоб ефективно працювати з АЦП, потрібно застосувати ППІ для обміну з мікропроцесорною системою. Звичайно ж для забезпечення функціонування МПС треба включити пам’ять: ОЗП – для можливості запису необхідної буферної інформації, ПЗП – для забезпечення зберігання програмного забезпечення та можливості початкового старту. Також необхідні і адресні дешифратори: для пам’яті та вводу/виводу, щоб ідентифікувати запити до пристроїв. Дані про об’єм пам’яті наводяться нижче.
4.2 Розподіл адресного простору
Об’єм адресного простору МП КР580ВМ80А становить 64К. В цьому адресному просторі необхідно розмістити адреси ПЗП та ОЗП. Згідно варіанту завдання об’єм оперативної пам’яті в МПП повинен бути 2К. Під величини Xn, Xn-1, Yn-1, Yn виділимо місце в ОЗП. Решту інформації зберігатимемо в ПЗП.
Розподіл адрес.
Таблиця 4.2.1
ПЗП (ROM)
Адреса
Вміст пам’яті
Пояснення
0000h (RST0)
jmp Main
На початкову ініціалізацію в головній програмі
0008h (RST1)
jmp IntPereruv
На підпрограму обробки переривань
0080h
lAdd:
Підпрограма додавання двобайтових чисел
0090h
Mul:
Підпрограма множення
0100h
Main:
Головна програма
012Ah
oper:
Підпрограма цифрової обробки інформації
01FDh
a0
Коефіцієнт a0
01FEh
a1
Коефіцієнт a1
01FFh
b0
Коефіцієнт b0
0200h
IntPereruv:
Підпрограма обробки переривання
ОЗП (RAM)
0400h
xn
Вхідна константа
0402h
xn-1
Попередня вхідна константа
0404h
yn-1
Попередня вихідна константа
0406h
yn
Вихідна константа
0С00h
SP
Вершина стеку
У нашій МПС є також два ППІ КР580ВВ55. Для звертання до каналів вводу і каналів виводу їм необхідно також присвоїти конкретні адреси. У МПС на основі МП КР580ВМ80А для зовнішніх пристроїв виділено 256 адрес. Виходячи з цього, канали вводу/виводу, а також регістри керуючих слів матимуть наступні адреси:
Таблиця 4.2.2
КР580ВВ55, призначений для вводу
КР580ВВ55, призначений для виводу
Адреса
Значення
Адреса
Значення
0B0h
Канал А
0D0h
Канал А
0B1h
Канал В
0D1h
Канал В
0B2h
Канал С
0D2h
Канал С
0B3h
РКС
0D3h
РКС
Дешифратори адрес ППІ мають наступний вигляд:
Схема 4.2.1 Дешифратори ППІ
4.3 Алгоритм функціонування МПП
При одночасному включенні живлення -5В, +5В і 12В (або послідовно у вказаному порядку) і поступленні тактових імпульсів на мікропроцесор з генератора тактових інтервалів всі регістри і прапорці МП встановлюються в довільні стани. Після цього подається з ГТІ на вхід RESET МП сигнал високого рівня тривалістю не менше 3 тактів - лічильник команд (PC), тригер дозволу переривання (вихід INTE), а також тригер підтвердження захоплення (вихід HLDA) скидаються, і мікропроцесор починає вибірку з пам’яті команд, розміщених з нульової адреси.
Ввід інформації від АЦП в нашій МПС здійснюється в режимі переривань, при якому готовність даних формує сигнал переривання для МП, в результаті чого МП переходить на підпрограму обробки переривання. Реалізується переривання використанням команди RST n. В двійковій формі команда RST n має вигляд:
1 1 К2 К1 К0 1 1 1,
де К2 К1 К0 - код числа n в двійковій формі.
При n=1 в двійковій формі команда RST 1 матиме вигляд 11001111. Ця команда здійснює перехід за адресою 8*n байт. Отже при n=1 відбудеться перехід за адресою: 8*n=8*=8h= 00001000b.
При використанні цієї команди за сигналом “готовність даних” від АЦП (вихід ) на шині даних повинен бути сформований код команди 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 (дозвіл переривання), якою завершується програма обробки переривань.
Схема 4.3.1 Алгоритм функціонування МПП.
Схема 4.3.2 Структура підпрограми об ь тробки переривань.
5. Загальна структура програми роботи МПП
Основна програма повинна функціонувати згідно алгоритму. Вона містить ініціалізацію мікросхеми КР580ВВ55, запуск АЦП, ввід даних при обробці переривань і обчислення рівняння ЦФ і передачу обрахованого yn на ЦАП для переведення в аналогову форму. За вхідні сигнали xn, xn-1 і yn-1 при першому обрахунку приймаємо 0, який і записуємо за відповідними адресами в ОЗП. Встановлюємо вказівник стеку на відповідну адресу. Головна програма розташована в ПЗП, починаючи з адреси 100h і має такий вигляд:
Main:
lxi h,0h ; 10 t 3 B
lxi sp,0406h ; 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,0С00h ; 10 t 3 B
; ініціалізація ППІ
mvi a, 92h ; 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
mvi a,0h ; 7 t 2 B
out 0B2h ; дозвіл на перетворення АЦП ; 10 t 2 B
call oper ; обчислення рівняння ЦФ ; 17 t 3 B
Головна програма виконується за 159 тактів і займає 31 байти пам’яті.
5.1 Опис програм вводу, виводу
Згідно завдання необхідно вводити 12 і виводити 12 біт даних. Для цього використаємо дві мікросхеми КР580ВВ55. Ці мікросхеми запрограмуємо в режим 0 на ввід/вивід: канал А та молодші розряди каналу B. В обох ППІ, згідно завдання, використовуємо 0 режим роботи. Для запуску АЦП будемо використовувати розряд С4 каналу С.
Таким чином керуюче слово для першого ППІ набуде вигляду:
Схема 5.1.1. Схема керуючого слова для ППІ для вводу.
Керуюче слово для другого ППІ має вигляд:
Схема 5.1.2. Схема керуючого слова для ППІ для виводу.
Код програми, що ініціалізує ППІ, має такий вигляд:
mvi a, 92h ; 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
mvi a,0 ; 7 t 2 B
out 0B2h ; дозвіл на перетворення АЦП ; 10 t 2 B
Після задання режиму роботи ППІ та ініціалізації АЦП можна приступити до зчитування значення xn з АЦП. Дані з виходу АЦП поступають в канали А та В. Програмна реалізація вводу xn відбувається в підпрограмі IntPereruv і має такий вигляд:
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 не використовується і туди записуємо нулі. Вивід результату на ЦАП (відбувається в підпрограмі oper) виконується через канал 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
Таким чином підпрограма IntPereruv виглядає наступним чином:
IntPereruv:
di ; заборона переривань ; 4 t 1 B
push psw ; 11 t 1 B
push h ; 11 t 1 B
lhld 0400h ; 16 t 3 B
shld 0402h ; xn записуємо на місце xn-1 ; 16 t 3 B
lhld 0406h ; 16 t 3 B
shld 0404h ; yn записуємо на місце yn-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
shld 0400h ; записуємо 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
Підпрограма IntPereruv виконується за 179 такти та займає 30 байт у пам’яті.
5.2 Опис програми обробки інформації
Підпрограма обробки інформації має назву oper. Вона працює з значеннями сигналів xn, xn-1 і yn-1 та з коефіцієнтами а0, а1 і b0. Ці всі параметри мають свої конкретні адреси в пам’яті. Результатом виконання підпрограми є числове значення сигналу уn.
oper:
lhld 0400h ; HL ( xn ; 16 t ; 3 B
lda 01FDh ; A ( a ; 13 t ; 3 B
xchg ; 13 ; 2 B
call Mul ; a0 * xn ; 17 t ; 3 B
mov b, h ; 5 t ; 1 B
mov c, l ; запам’ятовуємо a0 * xn в ВС ; 5 t ; 1 B
lhld 0402H ; HL ( xn-1 ; 16 t ; 3 B
lda 01FEh ; A ( a1 ; 13 t ; 3 B
xchg ; 13 ; 2 B
call Mul ; a1 * xn-1 ; 17 t ; 3 B
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 0406h ; HL ( yn-1 ; 16 t ; 3 B
lda 01FFh ; A ( b0 ; 13 t ; 3 B
xchg ; 13 ; 2 B
call Mul ; b0 * yn-1 ; 17 t ; 3 B
call lAdd ; HL ( a0 * xn + a1 * xn-1 + b0 * yn-1 ; 17 t ; 3 B
shld 0406h ; [0406h] ( yn ; 16 t ; 3 B
; виведення yn в ЦАП
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
jmp oper ; 10 t ; 3 B
Підпрограма обробки інформації виконується за 287 тактів і займає 45 байти пам’яті.
Підпрограма додавання двобайтових чисел (Вхідними даними для неї є доданки, які розміщені в парах BC і HL. Вихідні дані повертаються в парі HL.):
lAdd: mov a, c ; 5 t 1 B
add l ; 7 t 1 B
mov l, a ; 7 t 1 B
mov a, b ; 5 t 1 B
adc h ; 7 t 1 B
mov h, a ; 7 t 1 B
ret ; 10 t 1 B
Процедура lAdd виконується за 48 тактів і займає 7 байт пам’яті.
Процедура множення двобайтового числа на однобайтове без знаку Mul. Вхідними даними для неї є множники, розміщені в регістровій парі DE і акумуляторі. Процедура повертає добуток в акумуляторі (старші розряди) і парі НL (молодші розряди). Текст цієї процедури:
Mul: 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
Процедура Mul виконується за 83 такти і займає 17 байт пам’яті.
5.3 Оцінка верхньої фінітної частоти вхідного аналогового сигналу
Побудуймо таблицю, де буде інформація про кількість тактів кожної підпрограми і визначимо загальну кількість тактів.
Таблиця 5.3.1
Програми
Кількість тактів
Кількість виконань
Кількість тактів
Головна програма (Main)
159
1
159
Підпрограма обробки переривань (IntPereruv)
179
1
179
Підпрограма обробки інформації (oper)
287
1
287
Підпрограма додавання двобайтових чисел (lAdd)
48
2
96
Підпрограма беззнакового множення (Mul)
83
3
249
Загальна кількість тактів
970
Визначимо тепер фінітну частоту роботи МПП. Тактову частоту роботи МП приймаємо рівною 2,5 МГц. Тоді тривалість виконання основного циклу програми наступна:
Тобр = [1 / (2,5 × 106)] × N, де N – загальна кількість тактів роботи програми.
Тобр = 970 / (2,5 × 106) = 0,000388c.
Частота обміну і обробки інформації в МПП:
fΔt = 1/Тобр.,
fΔt ≈ 2577,3 Гц .
За теоремою Котельнікова фінітна частота вхідного аналогового сигналу буде вдвічі менша від fΔt :
fmax = fΔt / 2
fmax ≈ 1288,65 Гц.
6. Реалізація ОЗП для МПС
Згідно завдання необхідно побудувати ОЗП об’ємом 2К на базі мікросхем 1024×1. Використаємо схему об’єднання модулів для нарощення розрядності та об’єму.
Визначимо, яка кількість мікросхем потрібна для нарощення розрядності за формулою:
, де К – кількість мікросхем, які необхідно об’єднати паралельно;
n – потрібна розрядність блоку пам’яті;
ni – розрядність однієї мікросхеми.
В нашому випадку n = 8, ni = 1. Отже, К = 8.
, де L – кількість мікросхем, які необхідно об’єднати послідовно;
N – потрібний об’єм пам’яті;
Ni – об’єм однієї мікросхеми.
В нас N = 2048 біт, Ni = 1024 біт. L = 2.
Блок пам’яті ОЗП таким чином складатиметься з 16 (К*L=16) мікросхем К134РУ6.
Всі мікросхеми мають спільні адресні входи А0-А9, спільний вхід для запису/читання , спільний вхід даних DI.
В даній курсовій роботі ОЗП починається з 0400h. Мені необхідно побудувати блок пам’яті з одночасним нарощення розрядності і об’єму. Для нарощення розрядності формуються групи мікросхем, що включаються паралельно. На кожну з цих груп з шини адрес заводиться відповідне число ліній – розрядність. - з’єднують паралельно. Кожна з цих груп (входи ) подаються на адресний дешифратор, який аналізує решту незадіяних ліній шини адрес. Для того, щоб включити кожну з груп, треба виконати з лінії шини адрес один розряд. Решту ліній шини адрес подаються на спільній дешифруючий елемент, що виробляє адресу включення блоку пам’яті. У моєму ОЗП є 2 таких груп.
Таблиця 6.1
Основні характеристики К132РУ3А.
Мікросхема
К132РУ3А
Об’єм
1Kx1
Діапазон температур
-10...+70°С
Час дотупу до комірки пам’яті
75 нс
Потужність споживання
660 мВт
Напруга живлення
5 В ± 10%
Сумісність
з ТТЛ-схемами
Таблиця 6.2
Призначення виводів мікросхеми К132РУ3А
Вивід
Призначення вивода
Позначення на МС
2...6, 9...13
Адресні входи
А0-А9
15
Вхід даних
DI
7
Вихід даних
DO
1
Вибір МС
CS
8
Сигнал Запис/Читання
WR/RD
16
Напруга живлення
+5В
8
Загальний(“Земля”)
GND
Таблиця 6.3
Мінімальна адреса комірки пам’яті 0400h:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
Таблиця 6.4
Максимальна адреса комірки пам’яті 0800h:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
Принципова електрична схема пам’яті наведена в Додатку 1.
7. Опис функціонального вузла
Згідно завдання до курсової роботи в цьому розділі потрібно описати шинний формувач КР580ВА87. Мікросхема КР580ВА87 відрізніється від мікросхеми КР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мА. В МПС виводи А підключаються до МП, виводи В до шин МПС. Т – вхід напрямку передачі інформації. Високий рівень визначає передачу в напрямку від шини А до шини В, низький – навпаки. – вхід дозволу передачі (при низькому рівні є дозвіл, при високому – лінії знаходяться в високоімпендансному стані).
Аналіз результатів і висновки
В ході виконання курсової роботи був розроблений МПП, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію лінійної системи автоматизованого регулювання, яка описується заданим пропорційно-інтегро-диференціальним рівнянням, яке пов’язує аналогові сигнали х(t) на вході і y(t) на виході системи. Мікропроцесорний пристрій побудований на МП КР580ВМ80. Для заданого рівняння системи регулювання було здійснено його часткову дискретизацію і отримано відповідне рівняння цифрового фільтра (ЦФ). Побудувано аналогову схему, яка відображає задане рівняння. Складено алгоритм функціонування МПП. Обрано типи АЦП і ЦАП. Складено принципові схеми підключення АЦП і ЦАП до МПП. Створено на мові асемблера мікропроцесора КР580ВМ80 програму вводу інформації через АЦП і виводу через ЦАП. Складено програму відповідного цифрового фільтра інформації. Розроблено ОЗП об’ємом 2K на базі мікросхем 1024×1.
Як видно з оцінки верхньої граничної частоти фільтру, вона є дуже низька. Це пов’язано в першу чергу з великою довжиною прогами обробки інформації, істотним чином на неї впливає тактова частота. Причиною великої довжини програми обробки інформації є, по перше необхідність працювати з двохбайтними числами (а КР580ВМ80 є 8-ми розрядний), по друге, велика довжина програми обумовлена відсутністю операції множення.
Список використаної літератури
Алексенко А.Г., Галицин А.А., Иванников А.Д. Проектирование радиоелектронной апаратуры на микропроцессорах: Програмирование, типовые решения, методы отладки. -М.: Радио и связь,1984.
Майоров В.Г., Гаврилов А.И., Практический курс программирования микропроцессорных систем. -М.: Машиностроение, 1989.
Корячко В.П., Микропроцессоры и микро-ЄВМ в радиоелектронных средствах: Учебн. для вузов по спец Конструирование и технология радиоелектронних средств.-М.: Высш. школа,1990.
Федорков Б.Г.,Телец В.А, Микросхеми ЦАП и АЦП: функциование, параметры, применение.-М.: Енергоатомиздат,1990.
Якубовский Аналоговые и цифровые интегральные схемы. -М.: Радио и связь. 1985.
Баранов В.В. и др. Полупроводниковые БИС запоминающих устройств. -М.: Радио и связь, 1987.
Алексенко А.Г., Галицин А.А., Иванников А.Д. Проектирование радиоєлектронной аппаратуры на микропроцессорах: Программирование, типовые решения, методы отладки. -М.: Радио и связь. 1984.
Додаток №1.
Додаток №2