Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра САПР
Курсова робота
з курсу “Комп’ютери та мікропроцесорні системи”
МІКРОПРОЦЕСОРНA ОБРОБКA
АНАЛОГОВОЇ ІНФОРМАЦІЇ
Керівник:
Тема роботи: Мікропроцесорна обробка аналогової інформації.
Термін здачі : ____________
Постановка задачі: Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації.
Обробка описується заданим рівнянням:
Розрядність АЦП: 10.
Полярність вхідного сигналу: двополярний.
Організація обміну з АЦП: через переривання IR13 контролера КР580ВН59.
Режим роботи КР580ВВ55: 0.
Об’єм ОЗП: 32Кх8.
Організація МП: 16Кх1.
Вид функціонального вузла: шинні формувачі з використанням К589АП26.
Студент: Барна А. М.
“Пристрій мікропроцесорної обробки аналогової інформації”. Курсова робота. – НУ „Львівська політехніка”, каф.: САПР, дисципліна: “Комп’ютери та мікропроцесорні системи”, 2006.
Дана курсова робота складається з 34 сторінок, 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. Суть обробки полягає в тому, щоб перевести деякий початковий вхідний аналоговий сигнал у цифрову форму, перетворити його відповідно до функціональної залежності , а потім перевести кінцеве значення у аналогову форму. Зазвичай сигнал, що видається джерелом має аналогову форму, яка описується неперервною в часі функцією з миттєвими значеннями на певному інтервалі. Хоча передавання і обробка таких сигналів може здійснюватись у аналоговій формі, проте на сьогоднішній день широке застосування отримали системи передачі і обробки, в яких вхідні аналогові сигнали переводяться в цифрову форму, отримані цифрові сигнали передаються чи обробляються, на виході системи відбувається зворотне перетворення сигналів з цифрової в аналогову форму.
Цифрова форма представлення сигналів може забезпечити вищу завадостійкість, стабільність параметрів обробки при обробці сигналів, можливість побудови апаратури з використанням останніх досягнень мікроелектроніки.
Основні завдання при виконанні курсової роботи :
Поглиблення теоретичних знань в сфері технічних і програмних засобів пристроїв мікропроцесорних систем.
Набуття навичок роботи з технічною та довідниковою літературою із вибору АЦП і ЦАП.
Використання стандартних підпрограм з прикладного програмного забезпечення МП КР580ВМ80А.
Набуття навичок по розробці загальної структури МПП та по відлагодженню програмного забезпечення на мові Асемблер МП КР580ВМ80А.
1. Синтез аналогової схеми фільтру
Аналоговим фільтром називають пристрій, що реалізує на основі певної функціональної залежності перетворення вхідного аналогового сигналу у аналоговий вихідний сигнал. Тип фільтру визначають відповідні амплітудно-частотні та фазочастотні залежності.
, (1.1)
де x(t) - вхідний аналоговий сигнал; y(t) - вихідний аналоговий сигнал; , - сталі величини. Використавши перетворення Лапласа отримаємо:
(1.2)
(1.3)
(1.4)
У виразі (1.4) знаменник представляє елементи у вхідному колі: опір R. Чисельник визначає набір елементів у вихідному колі: опір R та ємність C.
C
X(t) R Y(t)
Схема 1.1. Аналогова схема ЦФ.
2. Синтез структурної схеми цифрового фільтру
Дискретизація аналогового рівняння полягає в заміні безперервної величини її дискретними відліками і відповідними перетвореннями інтегралів.
Один із способів дискретизації інтеграла полягає в його усуненні шляхом диференціювання рівняння. Інший спосіб, прямої дискретизації, пов’язаний з такими перетвореннями:
; (2.1)
(2.2)
. (2.3)
В результаті часової дискретизації заданого рівняння отримаємо:
(2.4)
Отже наше рівняння набуде вигляду:
Yn = a0Xn + a1Xn-1 + b1Yn-1, (2.5)
де a0 =, a1 = , b1 =. (2.6)
Реалізація ЦФ може бути апаратна і цифрова. При апаратній реалізації необхідними елементами є перемножувачі, суматори і елементи затримки. На схемі 2.1. зображена структурна схема апаратної реалізації цифрового фільтру, для даного рівняння.
Схема. 2.1. Структурна схема реалізації ЦФ, де: XY - елемент множення,
DL - елемент затримки, ( - суматор.
3. Вибір типу АЦП і ЦАП
3.1 Вибір типу АЦП
Нам необхідно використати 10-розрядний аналого-цифровий перетворювач. АЦП, які можуть бути використані в даній курсовій роботі, наведені в таблиці 3.1.1.
Таблиця 3.1.1
Основні параметри ряду мікросхем АЦП
Мікросхема
Вид перетворення
n
,мкс
m
К1113ПВ1
Послідовне наближення
10
30
18
К1108ПВ1
Послідовне наближення
10
0.9
24
Тут n - кількість двійкових розрядів, - час перетворення, m - кількість виводів мікросхеми. Керуючись критерієм кількості виводів у АЦП, я обрав мікросхему К1113ПВ1 ( m = 18 ). Включаю даний АЦП в двополярному режимі. Цифрові виходи АЦП мають логічні рівні ТТЛ - логіки і допускають пряме підключення до каналів МПС. Мікросхема К1113ПВ1 є функціонально закінченими 10-розрядними АЦП, що може бути спряженим з МП. Забезпечує перетворення як однополярної напруги (вивід 15 з’єднується з виводом 16) в діапазоні 0...9,95В, так і біполярної напруги в діапазоні -4,975...+4,975 В в паралельний двійковий код. До її складу входять ЦАП, компаратор напруги, регістр послідовного наближення (РПН), джерело опорної напруги (ДОН), генератор тактових імпульсів, вихідний буферний регістр з трьома станами, схеми керування. Вихідні каскади з трьома станами дозволяють читати результат перетворення зразу на шину даних МП. В ЦІС вихідний струм ЦАП порівнюється зі струмом вхідного резистора від джерела сигналу і формується логічний сигнал РПН. Стабілізація розрядних струмів ЦАП здійснюється вбудованим ДОН. Синхронізація РПН забезпечується імпульсами вбудованого ГТІ з частотою 300...400 кГц. Встановлення РПН в вихідне положення і запуск його в режим перетворення здійснюється по зовнішньому сигналу "гасіння і перетворення". По закінченні перетворення АЦП виробляє сигнал "готовність даних" і інформація з РПН поступає на цифрові входи через каскади з трьома станами. Корпус К1113ПВ1(A-B) типу 2104.18-1, маса не більше 2,5г.
Схема 3.1.1 Мікросхема К1113ПВ1
Основні електричні параметри мікросхеми показані в наступній таблиці.
Таблиця 3.1.2
Параметр
Мін.
Макс.
Число розрядів
10
(
Дифереренційна нелінійність (LD, МР
-0,1
0,1
Нелінійність (L, МР
-0,1
0,1
Похибка перетворення в кінцевій точці шкали (FS,МР
-20
20
Напруга зміщення нуля на вході U10, мВ
-30
30
Час перетворення tc, мкс
(
30
Струм живлення від джерела ICC1, мА
(
10
Струм живлення від джерела ICC2, мА
(
20
Вхідна напруга UIRN , В
-5,5
5,5
Споживана потужність Р, Вт
(
1,3
Діапазон температур
15 °С
35 °С
Тип корпусу
238.18-1
Призначення виводів мікросхеми показані в таблиці 3.1.3.
Таблиця 3.1.3
Позначення виводу
Призначення
D1(D10
цифрові виходи
U1
перша напруга живлення
U2
друга напруга живлення
Г/П
пуск АЦП
IN
аналоговий вхід
S0
зсув нуля
ГД
готовність даних
GA
аналогова земля
GD
цифрова земля
Схема 3.1.2. Підімкнення АЦП до МПП
3.2 Вибір ЦАП
ЦАП, які можуть бути використані в даній курсовій роботі, наведені в таблиці 3.2.1.
Таблиця 3.2.1
Основні параметри ряду мікросхем ЦАП
Мікросхема
n
tпер, мкс
m
К572ПА1
10
5
16
К1118ПА2
10
0,08
40
Тут, як і в попередньому випадку, n – розрядність, tпер – час перетворення, m – кількість виводів мікросхеми. Як і при виборі АЦП за критерій вибору мікросхеми приймаємо кількість виводів. З ряду схем виберемо ЦАП К572ПА1 (m = 16). Ця мікросхема, що зображена на схемі 3.2.1, призначена для перетворення 10-розрядного прямого паралельного двійкового коду на цифрових входах в струм на аналоговому виході, який пропорційний значенню коду і резисторної напруги. Для роботи в режимі з виходом по напрузі до ЦІС ЦАП К572ПА1 підключається зовнішній ДОН і операційний підсилювач (ОП) з метою створення від’ємного зворотного зв’язку (ВЗЗ), працюючого в режимі сумування струму.
Схема 3.2.1. Включення ІС ЦАП К572ПА1.
Основні електричні параметри мікросхеми :
Таблиця 3.2.2
Параметр
Мін.
Макс.
Число розрядів
10
(
Дифереренційна нелінійність (LD, %
-0,1
0,1
Вхідний струм високого рівня I1H, мкА
(
1
Абсолютна похибка перетворення в кінцевій точці шкали (FS,МР
-30
30
Час встановлення вихідного струму tS1, нс
(
5
Струм живлення від джерела ICC, мА
(
2
Опорна напруга UREF , В
10
22,5
Призначення виводів мікросхеми:
Таблиця 3.2.3
Номер виводу
Призначення виводу
1
аналоговий вихід 1
2
аналоговий вихід 2
3
спільний вивід
4
цифровой вхід 1 (СР)
5-12
цифрові входи 2 – 9
13
цифровой вхід 10 (МР)
14
напруга джерела
15
опорна напруга
16
вивід резистора зворотньогозв’язку
Мікросхема 10-розрядного ЦАП типу К572ПА1 призначена для побудови блоків аналогового вводу/виводу з підвищеною швидкодією.
Схема 3.2.2. Підімкнення ЦАП до МПП
3.3 Структура представлення даних
Структура даних, які входять в рівняння цифрового фільтра, визначається коефіцієнтами рівняння і заданою розрядністю АЦП.
Рівняння ЦФ має вигляд:
(3.3.1)
де a0 =, a1 = , b1 =
Припустимо, що:
Підставимо заміни у рівняння і визначимо :
(3.3.2)
τ1 і τ2 – це величини постійні, є малою величиною. Дивлячись на дріб (3.3.2), видно, що чисельних буде приблизно рівним знаменнику. Отже, коефіцієнт при xmax буде рівним 1, що в свою чергу означає, що ymax = xmax. Оскільки розрядність xn рівна 10, то розрядність yn також повинна бути 10.
Вхідні дані мають знак, відповідно його мають коефіцієнти і вихідні дані, тому старший біт резервуємо для знаку.
Тоді структура представлення даних набуде наступного вигляду:
a0
Знак 6 5 4 3 2 1 0
a1
Знак 6 5 4 3 2 1 0
a2
Знак 6 5 4 3 2 1 0
Xn
Знак 8 7 6 5 4 3 2 1 0
Xn-1
Знак 8 7 6 5 4 3 2 1 0
Yn-1
Знак 8 7 6 5 4 3 2 1 0
Yn
Знак 8 7 6 5 4 3 2 1 0
Таблиця 3.3.1. Структура представлення даних
Одержана структура представлення даних визначає формати виконання арифметичних операцій обчислення вихідного значення цифрового фільтра.
4. Структурна схема та алгоритм функціонування МПП
4.1 Опис структурної схеми МПП
Структурна схема МПП включає крім АЦП і ЦАП всі необхідні для функціонування компоненти МПС: МП КР580ВМ80, тактовий генератор КР580ГФ24, системний контролер КР580ВК28, оперативну та постійну пам’ять (ОЗП, ПЗП), програмований паралельний інтерфейс КР580ВВ55, до якого підключаються АЦП і ЦАП, програмований контролер переривань KР580ВН59.
Схема 4.1.1. Структурна схема МПП
Позначення елементів на схемі (4.1.1): ШД– шина даних (8-ми розрядна); ДШП – дешифратор пам’яті; ША – шина адрес (16-ти розрядна); ШК – шина керування; ДШВ/В – дешифратор каналів вводу-виводу; x(t) – вхідний аналоговий сигнал; y(t) – вихідний аналоговий сигнал.
Таблиця 5. Опис та мікросхеми елементів структурної схеми МПП
Позначення
Опис
Мікросхема
ГТІ
Генератор тактових імпульсів
КР580ГФ24
МП
Мікропроцесор
КР580ВМ80
СК
Системний контролер
КР580ВК28
ШФ
Шинний формувач
КР580ВА86
АЦП
Аналогово-цифровий перетворювач
К1113ПВ1
ЦАП
Цифро-аналоговий перетворювач
К572ПА1
ППІ
Програмований паралельний інтерфейс
КР580ВВ55
ПКП
Програмований контролер переривань
КР580ВН59
Призначення кожного з елементів структурної схеми МПП:
МП- центральний пристрій мікропоцесорної системи. Мікропроцесор в складі даного МПП виконує наступні функції: формує коди команд, видає команди з пам’яті, їх дешифрує, виконує над даними опереції, при необхідності записує результат в пам’ять, формує керуючі сигнали для обміну, реагує на можливі зовнішні сигнали.
ГТІ- виробляє синхросигнали F1, F2 для синхронізації роботи МП. Крім того мікросхема формує ще сигнали Reset, Ready, F2ttl, які використовуються для синхронізації зовнішніх прстроїв та пам’яті. ГТІ також виробляє сигнал, STSTB який поступає на вхід системного контролера і за яким системний контролер фіксує слово стану процесора.
СК використовується для:
формування керуючих сигналів для роботи з памяттю(MEMR, MEMW) і зовнішніми пристроями (I/OR, I/OW), а також сигналу дозволу переривання INTA;
фіксації слова-стану процесора;
буферизації шини даних.
ПЗП- призначений для постійного зберігання даних. Такими даними є ПЗ , за якою функціонує МПС, і постійні коефіцієнти.
ОЗП- призначений для тимчасового зберігання даних .
ППІ - використовується для обміну інформацією між МП та ЦАП/АЦП.
Призначеній для організації вводу-виводу паралельної інформації різних пристроїв.
ПКП- виконує наступні функції:
фіксація запитів переривань зовнішніх джерел
програмне маскування запитів, які поступили
присвоювання фіксованих або циклічнозмінюваних пріорітетів
формування коду операції команди Call і 16-тирозрядної адреси цієї підпрограми
послідовне опитування зовнішніх пристроїв для визначення потреби в обміні
4.2 Розподіл адресного простору
Об’єм адресного простору МП КР580ВМ80А становить 64К, що визначається 16-розрядною адресною шиною. В цьому адресному просторі необхідно розмістити адреси ПЗП та ОЗП. Згідно варіанту завдання об’єм оперативної пам’яті в МПП повинен бути 32К. Під величини Xn, Xn-1, Yn-1, Yn виділимо місце в ОЗП. Решту інформації зберігатимемо в ПЗП. Мікропроцесор КР580ВМ80 може здійснювати синхронний і асинхроннай обмін інформацією за даними адресами з пам’ятю (ОЗП, ПЗП) та зовнішніми пристроями. При обробці інформації МП зчитує коди команд, операнди і записує одержаний вміст в регістри РЗК або виконує обмін інформації з пам’ятю та зовнішніми пристроями.
Можливі два підходи до організації звертання до пристроїв обміну інформації. Перший підхід використовує звертання до зовнішніх пристроїв, як до комірок пам’яті. Тобто, адресний простір, що відводиться для цих пристроїв включає 64К адрес. Однак, внаслідок повного вкладення адресного простору пристроїв вводу/виводу в простір адрес пам’яті, останнє пропорційно зменшується з збільшенням числа обслуговування зовнішних пристроїв вводу/виводу. До переваг даного підходу можна віднести можливість використання різноманітних команд пересилання даних.
Інший підхід використовує роздільне керування пам’ятю і зовнішніми пристроями. Лише дві команди IN і OUT, у випадку, призначені для обміну інформації з зовнішніми пристроями. Так, як для цих команд адреса для зовнішнього пристрою 8-ми розрядна, то МП КР580ВМ80 може звертатись до 256 пристроїв вводу і 256 пристроїв виводу. При цьому адрсний простір пам’яті буде максимальним (64К).
Таблиця 4.2.1 Розподіл адрес.
ПЗП (ROM)
Адреса
Вміст пам’яті
Пояснення
0000h (RST0)
jmp Main
На початкову ініціалізацію в головній програмі
0008h
IntPereruv
Підпрограма обробки переривань
0080h
lAdd:
Підпрограма додавання двобайтових чисел
0090h
Mul:
Підпрограма множення
0100h
Main:
Головна програма
012Ah
oper:
Підпрограма цифрової обробки інформації
01FDh
a0
Коефіцієнт a0
01FEh
a1
Коефіцієнт a1
01FFh
b0
Коефіцієнт b0
0200h
IntPereruv:
Підпрограма обробки переривання
ОЗП (RAM)
8000h
xn
Вхідна константа
8002h
xn-1
Попередня вхідна константа
8004h
yn-1
Попередня вихідна константа
8006h
yn
Вихідна константа
FFFFh
SP
Вершина стеку
У нашій МПС є також два ППІ КР580ВВ55. Для звертання до каналів вводу і каналів виводу їм необхідно також присвоїти конкретні адреси. У МПС на основі МП КР580ВМ80А для зовнішніх пристроїв виділено 256 адрес. Виходячи з цього, канали вводу/виводу, а також регістри керуючих слів матимуть наступні адреси:
Таблиця 4.2.2
КР580ВВ55, призначений для вводу(АЦП)
КР580ВВ55, призначений для виводу(ЦАП)
Адреса
Значення
Адреса
Значення
0B0h
Канал А
0D0h
Канал А
0B1h
Канал В
0D1h
Канал В
0B2h
Канал С
0D2h
Канал С
0B3h
РКС
0D3h
РКС
Таблиця 4.2.3 Адреси портів КПК
Порти
Адреси ведучого
Адреси веденого
0 (А0=0)
1 (А1=1)
7eh
7fh
3eh
3fh
4.3 Алгоритм функціонування МПП
Після запуску системи всі регістри і прапорці МП встановлюються в довільні стани. Після цього подається з ГТІ на вхід RESET МП сигнал високого рівня тривалістю не менше 3 тактів. Лічильник команд (PC), тригер дозволу переривання (вихід INTE), а також тригер підтвердження захоплення (вихід HLDA) скидаються, і мікропроцесор починає вибірку з пам’яті команд, розміщених з нульової адреси.
Алгоритм головної програми включає наступні пункти:
Ініціалізація зовнішніх пристроїв ( ППІ і ПКП ) і початкове обнулення змінних. ППІ, до якого підключений АЦП програмується на режим роботи 0, порт А і порт В – на ввід. ППІ, до якого підключений ЦАП також програмується на 0-й режим роботи, однак порти А і В працюють на вивід. В цьому режимі по сигналу, який подається на вхід RD (WR) дані читаються (записуються) з переферії ( у периферію ) в порт, який задається по адресних лініях A0, A1. При виводі із МП інформація запам’ятовується в регістрах портів, а при вводі необхідно підтримувати сигнал на входах портів до тих пір, поки МП не прочитає інформацію. ПКП програмується наступним чином. Адреса підпрограми обробки переривання – 0008h, запит – IR1- ведучий контролер, IR3 - ведений , ПКП єдиний, спосіб формування молодшого байту адреси підпрограми обробки переривання – XXXYYY00.
Обнулення змінної (xn-1) виконується у зв’язку з тим, що вона використовується як множник у рівнянні цифрового фільтру, однак при першому звертанні до цього рівняння ще не сформована (отже повинна бути нулем).
2. Подання на АЦП сигналу “Запуск”. Затримка, пов’язана із перевіркою змінної switch на рівність 1, використовується у зв’язку з тим, що подавши на АЦП сигнал “Запуск” останній не одразу виробить двійковий код вхідного аналогово сигналу ( для ВІС АЦП К1113ПВ1 tпер=30мкс.), тобто мікропроцесору потрібно почекати доки АЦП не видасть сигналу “готовність”, тим самим викликавши переривання. Обробник цього переривання прочитає дані з АЦП, запише їх в пам’ять і встановить зміну switch в 1, що після повернення до головної програми призведе до виходу із циклу очікування і виконанню наступних дій.
Обробка отриманої інформації і вивід її на ЦАП. Обробка включає перемноження і сумування елементів у відповідності до рівняння цифрового фільтру, тобто знаходження кінцевої вихідної величини yn, яка і виводиться на ЦАП. Після цього здійснюється перехід до пункту 2.
Функціонування МПП припиняється після вимкнення живлення.
Блок-схема програми обробки переривання приведена на схемі 4.1.1. Під час виконання команд обробника всі переривання заборонено. Пісня збереження в стеку регістрів, які будуть використовуватись, скидається сигнал “Запуск” АЦП, і відбувається читання портів ППІ1. Прочитана інформація записується в пам’ять. Наступними діями є встановлення в 1 змінної switch, завантаження в контролер переривань ОКС 2, відновлення зі стеку регістрів, дозвіл переривань і повернення до перерваної програми.
В даному МПП програмований контролер переривань КР580ВН59 буде використаний для організації обміну з АЦП. Зв’язок контролера з МПП здійснюється через двонаправлений буфер даних. Виходи контролера переводяться у високоімпендансний стан при CS=1. Вхід А0 адресує внутрішні регістри контролера (керуючі слова, маски, стани ).Oскільки число внутрішніх регістрів є більше 2 для їх додаткової адресації використовують внутрішній лічильник а також окремі розряди керуючих слів.
За допомогою сигналу здійснюється читання слова-стану з ПКП на шину даних, а сигналом запис керуючих слів з шини даних в контролер. На входи IR0-IR7 подаються запити переривань по окремих входах. Серед цих запитів вибирається запит з найвищим пріоритетом і формується сигнал INT для МП. При переході МП до обробки переривань системним контролером формується сигнал INTA (підтвердження переривання) в результаті чого контролер переривань видає на шину даних код команди Call ( виклик підпрограми ). Цим сигналом в регістр запитів записуються всі наявні на входах запити. Після цього МП через системний контролер видає ще два рази сигнал INTA, яким контролер видає на шину даних ще 2 Байти адреси підпрограми обробки переривань. Реакція контролера переривань і МП на запит переривання фіксується встановленням в 1 відповідного розряду регістра обслуговування і встановленням в 0 цього ж розряду в регістрі запитів. Кожний наступний запит на переривання сприймається контролером тільки після виконання підпрограми обслуговування поточного запиту по даному входу і скиду відповідного розряду регістру стану, що здійснюється програмним шляхом.
Схема 4.3.1 Алгоритм функціонування МПП.
Схема 4.3.2 Структура підпрограми обробки переривань.
5. Загальна структура програми роботи МПП
Основна програма повинна функціонувати згідно алгоритму. Вона містить ініціалізацію мікросхем КР580ВВ55, КР580ВН59, запуск АЦП, ввід даних при обробці переривань, обчислення рівняння ЦФ і передачу обрахованого yn на ЦАП для переведення в аналогову форму. За вхідні сигнали 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