Міністерство освіти та науки України
Національний університет “Львівська Політехніка”
Кафедра САПР
Курсова робота
З курсу “Архітектура комп’ютерів ”
ПРИСТРІЙ МІКРОПРОЦЕСОРНОЇ ОБРОБКИ
АНАЛОГОВОЇ ІНФОРМАЦІЇ
ЛЬВІВ-2007
Завдання
на курсову роботу студента
Тема роботи: Мікропроцесорна обробка аналогової інформації.
Термін здачі студентом закінченої роботи 20.XII.2007р
Вхідні дані для роботи:
Функціональна залежність
Розрядність АЦП і ЦАП: 10
Полярність вхідного сигналу: двополярний
Організація обміну з АЦП: через переривання контролера КР580ВН59 за адресою 00D8h. Використати режим роботи КР580ВВ55 “1”
Вид функціонального вузла: системний контролер з використанням КР580ВК28.
Об’єм ОЗП і організація мікросхеми пам’яті: 1К з організацією 256х1
Постановка задачі: Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою на базі МП КР580ВМ80, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію цифрової обробки аналогової інформації. Обробка описується заданим пропорційно-інтегро-диференціальним рівнянням, що пов’язує аналогові сигнали x(t) на вході і y(t) на виході системи.
Анотація
?????????
“Пристрій мікропроцесорної обробки аналогової інформації”. Курсова робота. - НУ “Львівська політехніка”, каф.: САПР, дисципліна : “Архітектура комп’ютерів”, 2007.
Курсова робота складається з 37 сторінок, 15-ти таблиць, 15-ти схем і додатку.
В даній курсовій роботі розроблено компоненти апаратного і прогамного забезпечення мікропроцесорного пристрою, який включає аналого- і цифро-аналогові перетворювачі і виконує обробку за функціональною залежністю аналогового сигналу. Дана робота охоплює ввід і первинну обробку аналогової інформації, подальшу цифрову обробку інформації за програмою і вхідними даними, а також вивід обробленої інформації в аналоговій формі для подальшого використання.
Зміст
Перелік умовних скорочень 5
Вступ 6
1. Синтез аналогової схеми фільтру 7
2. Синтез структурної схеми цифрового фільтру 9
3.Вибір і обґрунтування типу АЦП І ЦАП 10
3.1 Вибір типу АЦП 10
3.2 Вибір типу ЦАП 13
3.3 Структура представлення даних 15
4.Структурна схема та алгоритм функціонування МПП 17
4.1 Опис структурної схеми МПП 17
4.2 Розподіл адресного простору 19
4.3 Алгоритм функціонування МПП 21
5. Загальна структура програми роботи МПП 24
5.1 Опис програм вводу, виводу 28
5.2 Опис програм обробки інформації 29
5.3 Оцінка верхньої фінітної частоти вхідного аналогового сигналу 30
6. Опис функціонального вузла 31
Аналіз результатів та висновки 35
Список використаної літератури 36
Перелік умовних скорочень
АЦП
аналогово-цифровий перетворювач
ВІС
велика інтегральна схема
ГТІ
генератор тактових імпульсів
ДША
дешифратор адрес
ІС
інтегральна схема
КС
керуюче слово
МП
Мікропроцесор
МПП
мікропроцесорний пристрій
МПС
мікропроцесорна система
МР
молодші розряди
ОЗП
оперативний запам`ятовуючий пристрій
ОП
операційний підсилювач
ПЗП
постійний запам`ятовуючий пристрій
ППІ
паралельний програмований інтерфейс
РКС
регістр керуючого слова
СК
системний контролер
СР
старші розряди
СШ
системана шина
ТГ
тактовий генератор
ТТЛ
транзисторно-транзисторна логіка
ЦАП
цифро-аналоговий перетворювач
ЦФ
цифровий фільтр
ЦІС
цифрова інтегральна схема
ША
шина адрес
ШД
шина даних
ШК
шина керування
КМОН
метал оксид напівпровідник – із комплементарною структурою
Вступ
Термін “мікропроцесор”, звичайно, несе певну інформацію про пристрій, названий таким іменем. Це пристрій для обробки даних.
На відміну від стандартного ЦП логічні схеми МП реалізовані на одній або декілька ВІС, а так як останній також називаються мікросхемами, то стає зрозумілим походження терміна “мікропроцесор”.
Очевидно, що обробка даних – одна із головних функцій МП, яка включає як і маніпулювання так і обрахунок даних. Іншою функцією МП є управління системою. Схеми управління дозволяють декодувати і виконувати програми – набір команд для обробки даних. Робота мікропроцесора складається з наступних кроків: спочатку вибирається команда, потім логічна схема її декодує, після чого здійснюється виконання цієї команди. Також відбувається обмін інформацією з зовнішніми пристроями, які під’єднані до мікропроцесора.
Мікропроцесори являють собою цифрові великі інтегральні схеми (ВІС), призначені для виконання простих операцій, інакше названих командами, що зчитуються і здійснюються послідовно з великою швидкістю. До числа внутрішніх схем мікропроцесора відносяться багаторозрядні регістри, рівнобіжні тракти даних, буфери для підключення зовнішніх пристроїв, багатофункціональні схеми, логічні схеми синхронізації і керування. Багатофункціональні схеми придназначені для реалізації простих арифметичних і логічних дій над двійковими числами, що знаходяться в регістрах процесора, і пересилок даних як усередині процесора, так і між ним і зовнішніми пристроями. Схеми синхронізації і керування задають порядок дій процесора, для виконання функцій синхронізації їм необхідні тактові імпульси, що постійно поступають.
Розвиток інтегральної технології і схемотехніки цифрових електронних схем призвів до появи інтегральних мікросхем із великою і дуже великою ступенями інтеграції (ВІС і ДВІС), що містять на однім кристалі (в однім корпусі) декілька десятків тисяч, а в останніх розробках сотні тисяч елементарних транзисторів. На основі таких схем в останні роки вдалося створити мікропроцесори функціонально закінчені, що управляються збереженою в пам'яті програмою (здебільшого малорозрядні) пристрої опрацювання цифрової інформації, виконані у виді однієї або декількох ВІС або ДВІС.
Мікропроцесорні засоби використовуються у виді мікропроцесорних комплектів інтегральних мікросхем, що мають єдине конструктивно-технологічне виконання і призначених для спільного застосування. Мікропроцесорний комплект крім самого мікропроцесора містить мікросхеми, що підтримують функціонування мікропроцесора і розширюють його логічні можливості.
Мікроконтролер являє собою логічний автомат з високим ступенем детермінованості, який допускає небагато варіантів в його системному включенні.
В пристроях управління об’єктами мікроконтролери розглядаються у вигляді сукупності апаратно-програмних засобів. При проектуванні мікроконтролерів треба вирішувати одну з найскладніших задач розробки: задачу оптимального розподілу функцій між апаратними засобами і програмним забезпеченням. Рішення такої задачі ускладнюється тим, що взаємоз’язок і взаємодія між апаратними і програмними засобами динамічно змінюються.
1. Синтез аналогової схеми фільтру
В даному пункті роботі є пристрій, що реалізує на основі певної функціональної залежності перетворення вхідного аналогового сигналу у аналоговий вихідний сигнал і називають аналоговим фільтром. Передавальна характеристика аналогового фільтру забезпечує відповідні амплітудно-частотні та фазово частотні залежності, що визначає тип фільтру.
Давайте розглянемо мій приклад синтезу аналогового фільтру на основі заданої функціональної залежності:
(1.1)
де x(t) – вхідний аналоговий сигнал ; y(t) – вихідний аналоговий сигнал ; (, ω – сталі величини.
На основі операційного підсилювача ОП зібрана схема:
ОП1,ОП3 – диференціатор;
ОП2,ОП5 – операційні повторювачі;
ОП4 – суматор (схема додавання- віднімання);
На Схемі 1. зображена функціональна схема аналогово фільтру.
Схема 1. Функціональна схема аналогового фільтра.
Опісля детального розгляду нашої функціональної залежності, ми отримаємо:
(1.2)
(1.3)
тоді відповідно
(1.4)
Технічні характеристики аналогових схем на практиці обмежені та потребують схем корекції від температурного дрейфу та інших зовнішніх впливів. Цифрові методи обробки інформації оминають ці недоліки і знайшли широке застосування з появою мікропроцесорних пристроїв. Мікропроцесорна обробка характеризується збільшенням точності функціонального перетворення, швидкістю та гнучкістю, що забезпечується цифровим програмуванням та можливістю фільтрації більшого числа аналогових сигналів.
2. Синтез структурної схеми цифрового фільтру
Даний розділ включає виведення рівняння цифрового фільтру та реалізацію структурної схеми на основі одержаного дискретного рівняння.
В лінійних системах, що розглядаються, вхідний х(t) та вихідний y(t) аналогові сигнали в загальному випадку зв’язані пропорційно-інтегро-диференціальним законом регулювання.
Дискретизація аналогово рівня грунтується в заміні безперервної величини її дискретними відліками ( x(t)(xn, y(t) (yn ) і відповідними перетвореннями похідних . Очевидна дискретизація першої похідної – її заміна першою скінченною різницею:
(2.1)
де (t –інтервал дискретизації.
В результаті часової дискретизації при заміні безперервної величини її дискретними відліками ( x(t)(xn, y(t) (yn ). При наявності в правій частині рівняння членів виду yn-1, фільтр називається рекурсивним, при відсутності таких членів – нерекурсивним.
Давайте підійдемо до детального розгляду нашого рівняння:
(2.2)
Першим кроком буде проведення часової дискретизації даного рівняння. Для здійснення цього перетворення використаємо наближені рівності:
(2.3)
(2.4)
(2.5)
Тепер виконаємо підстановку:
(2.6)
(2.7)
(2.8)
(2.9)
(2.10)
(2.11)
Зведемо отримане рівняння (2.11)до вигляду
(2.12)
тобто
(2.13)
Тоді коефіцієнти a, b та c виражатимуться формулами:
(2.14)
(2.15)
(2.16)
(2.17)
Дане рівняння є рекурсивним фільтром, оскільки має член yn.
Цифровий фільтр може бути реалізований як апаратурно, так і програмно. При апаратурній розробці необхідними схемними елементами є вузли, що реалізують перемножувачі, суматори і елементи затримки. В наступній схемі 2, зображена структурна схема апаратної реалізації цифрового фільтру, що описується рівнянням 1.
Схема 3.Структурна схема рівняння цифрового фільтра:
XY-елемент множення; DL-елемент затримки; (-суматор;
Ця структурна схема реалізації рівняння цифрового фільтра складається з суматора, що об’єднує три складові, включаючи рекурсивну складову.
3.Вибір і обґрунтування типу АЦП І ЦАП
Вибір типу АЦП і ЦАП здійснювався за такими критеріями:
Кількість розрядів повинно відповідати умовам індивідуального завдання;
Керування роботою здійснюватиметься з мінімальними апаратними і програмними затратами;
Цифрові входи повинні мати логічні рівні ТТЛ-логіки, тобто допускається пряме підключення до каналів вводу-виводу;
Відповідність полярності вхідного сигналу до завдання.
3.1 Вибір типу АЦП
Напівпровідникова ВІС функціонально закінченого АЦП типу К1113ПВ1 призначена для застосування в електронній апаратурі в складі блоку аналогового вводу. Мікросхема виконує функцію 10-розрядного аналого-цифрового перетворення однополярного або біполярного вхідного сигналу з представленням результатів перетворення двійкового коду.
Мікросхема К1113ПВ1 виготовлена в 18-вивідному герметичному мало керамічному корпусі типу 238.18-1 з вертикальним розміщенням виводів.
Характеристики АЦП К1113ПВ1:
Розрядність – 10.
Час перетворення, 30 мкс.
Похибка, зумовлена нелінійністю, (0,1%
К1113ПВ1 – АЦП послідовного наближення, що містить в своєму складі наступні вузли: внутрішнє джерело опорної напруги, тактовий генератор, компаратор напруг, формувач сигналу готовності даних. АЦП має вихідні пристрої з трьома стабільними станами, що спрощує його спряження з сигналами МПП.
Нижче подано схему даного АЦП:
D1(D10 – цифрові виходи
U2 – напруга живлення
U1 – друга напруга живлення
START – пуск АЦП
IN – аналоговий вхід
ZS – зсув нуля
READY – готовність даних
AGND – аналогова земля
DGND – цифрова земля
Рис. 1. Мікросхема К1113ПВ1
Включення АЦП в режим однополярного сигналу здійснюється під’єднанням виводу 15 (зсув нуля) до 16 (цифрова земля). Робота даного АЦП визначається відповідними керуючими сигналами. При встановленні на вході «гасіння перетворення» рівня 0, АЦП починає перетворювати вхідну інформацію. Через час потрібний для перетворення ((30мкс), на виході 17 з’являється сигнал з рівнем 0, на підставі якого дані з АЦП можуть бути введені мікропроцесором. Прийнявши дані МП встановлює на вході 11 гасіння перетворення рівень логічної одиниці. За цим сигналом гаситься інформація в регістрі послідовного наближення і АЦП знову готовий до обробки і прийому даних. Цей АЦП може обробляти однополярний сигнал напругою до 10,24В і двополярний ( 5,12В.
Встановлення АЦП у вихідний стан і запуск його в режим перетворення проводиться зовнішнім логічним сигналом «гашення перетворення». По закінченні перетворення АЦП виробляє сигнал «готовність даних», який означає, що на цифрові виходи поступила інформація.
Запуск АЦП в режимі переривання здійснюється видачею 0 в один з розрядів каналу С паралельного інтерфейсу. По закінченні перетворення на вході “готовність даних” з’являється сигнал логічного 0, який інвертується і подається на вхід синхронізації С тригера. При цьому на його вихід Q подається сигнал логічної одиниці, який поступає на вхід запиту переривання IRQ0 KП. Все це можливе тільки в тому випадку, коли INTE=1 (сигнал дозволу переривання). МП після запиту переривання встановлює INTE=0 (заборонене переривання) і видається слово стану з INTA=1 (підтвердження переривання, тобто виконується машинний цикл переривання. На МП формується сигнал DBIN=1. Це означає, що МП читає з ШД деяку інформацію, яка не вибирається з пам’яті. В цей час КП формує і видає код команди CALL з заданою адресою і там виконується обробник переривань. По цій команді МП переходить на підпрограму обробки переривань.
Нижче подана часова діаграма роботи ВІС К1113ПВ1:
Запуск АЦП здійснюється подачею сигналу START , після закінчення перетворення подається сигнал READY ,на МП, що призводить до переривання. Під час виконання переривання у програмі здійснюється зчитування даних з портів А та В ППІ.
У вихідному буфері дані знаходяться до тих пір поки не поступлять нові, відповідно до цього на часовій діаграмі (третій графік) розряди даних будуть наявні постійно.
Запуск АЦП (сигнал Запуск) здійснюється через паралельний інтерфейс КР580ВВ55 (розряд 7 каналу С). ППІ використовується в режимі 0, сигнал “Готовність” поступає на вивід запиту переривання IR6 контролера переривання КР580ВН59.
Схема 6. Підключення АЦП до шин МПП
3.2 Вибір типу ЦАП
Відповідно до типу АЦП в системі необхідно застосувати 10-розрядний ЦАП. Тому, в якості мікросхеми ЦАП було вибрано мікросхему К572ПА1, керуючись такими критеріями: вихідна розрядність дорівнює розрядності АЦП (10 розрядів). Мікросхема ЦАП К572ПА1 призначена для перетворення 10-розрядного прямого паралельного двійкового коду на цифрових входах в струм на аналоговому виході, який пропорційний значеню коду і резисторної напруги. Для роботи в режимі з виходом по напрузі до ЦІС ЦАП К572ПА1 підключається зовнішній ДОН і операційний підсилювач (ОУ) з ціллю створення від’ємного зворотнього зв’язку (ВЗЗ), працюючого в режимі сумування струму.
Електричні параметри даної мікросхеми наведені в таблиці 3.
Схема 6. ВІС ЦАП К572ПА1А
Нумерація і призначення виводів мікросхеми:
1 – аналоговий вихід 1;
2 – аналоговий вихід 2;
3 – загальний вивід;
4 – цифровий вхід 1 (СР);
5 –12 – цифрові входи 2-9;
13 – цифровий вхід 10 (МР);
14 – напруга джерела живлення;
15 – опорна напруга UREF;
16 – вивід резистора зворотнього зв'язку.
Метод перетворення, що використовується в ІС К572ПА1А, передбачає сумування у відповідності з заданим значенням двійкового коду всіх розрядних струмів, зважених за двійковим законом і пропорційних значенню опорної напруги на виводі 15.
Таблиця 3 Основні характеристики К572ПА1А
Характеристика
Не менше
Не більше
Число розрядів
10
(
Дифереренційна нелінійність (LD, %
-0,1
0,1
Час встановлення вихідного струму tSі, мкс
(
5
Вихідний струм зміщення нуля IO0, мА
(
100
Абсолютна похибка перетворення в кінцевій точці шкали (FS, МР
-30
30
Струм споживання ICC, мА
(
2
Значення струмів на виводах 1 і 2 в результаті цифро-аналогового перетворення визначаються за формулами:
,
де – значення двійкового розряду на цифровому вході ,
- інверсне значення,
URЕF – значення опорної напруги.
При вживанні джерела опорної напруги В з використання підключення резистора зворотнього зв’язку, розміщеного на кристалі, крок квантування мікросхеми складає 10мВ.
Схема 8. Структурна схема підключення МП і ЦАП
3.3 Структура представлення даних
Структура представлення даних, які входять в рівняння цифрового фільтру, визначається виходом рівняння і розрядністю АЦП. При заданій розрядності АЦП –10 розрядів та вхідним додатнім одно полярним сигналом, для представлення xn потрібно 10 розрядів, тобто xn повинний виражатись двобайтовим словом. Виходячи з цього, знайдемо, скільки розрядів займатиме результат yn .
Для заданого рівняння (дискретизованого) цифрового фільтру у вигляді:
(3.3.1)
тобто
(3.3.2)
коефіцієнти визначаються:
(3.3.3)
0< a < 1 ; -2 < b <0; 0 < c <1. (3.3.4)
Uymax yn /210 = a × Uxmax xn/210 + b × Uxmax xn-1/210 + c × Uymax yn-1/210,
(Uymax/Uxmax )yn = a × xn + b × xn-1 + c × yn-1,
yn = a × (Uxmax/Uymax ) xn + b × (Uxmax/Uymax )xn-1 +c × xn-1× (Uymax/Uxmax ).
Тоді результат перетворення АЦП в залежності від вхідного сигналу подамо у вигляді таблиць.
Таблиця 4
Залежність вхідного сигналу і результату перетворення АЦП
Вхід
Код
-Uxmax
1023
0
0
+Uxmax
511
Таблиця 5
Залежність цифрового входу yn і виходу після перетворення ЦАП
Код
Вихід ЦАП
511
+Uxmax
0
0
1023
-Uxmax
Відведемо по одному байту для представлення коефіцієнтів a, b, c. В свою чергу xn, xn-1 , yn-1 не можуть мати більше ніж 10 розрядів тому що така розрядність АЦП. Під добутки аxn, bxn-1, cn-1 відводимо по 18 розрядів тому що добуток 8-ми розрядного і 10-ти розрядного чисел не перевищує 18 розрядів.
(3.3.5)
(3.3.6)
Отже максимальне значення yn буде 20 розрядів. Так як в нас ЦАП 10-ти розрядний то виводиться лише 10 старших розрядів, а решта 10 неінформативні. Це пов’язано з тим, що в процесі мікропроцесорної обробки накопичуються похибки квантування АЦП, похибки округлення арифметичних операцій, похибки трансформацій та інші, які не доцільно відтворювати на виході системи.
Схема. 9.Структура представлення даних
Для представлення хn, хn-1, yn-1 та yn використовуються 2-байтні комірки оскільки МП працює з даними, розмір яких є кратний 1 байту. Надлишкові розряди в подальшому не враховуються.
4.Структурна схема та алгоритм функціонування МПП
4.1 Опис структурної схеми МПП
Для мікропроцесорних пристроїв характерна шинна структура, під якою розуміється те, що всі компоненти МПП під’єднані до системної шини.
Структурна схема можливої реалізації проектованого МПП наступна:
Схема 10.Структурна схема мікропроцесорного пристрою
Як ми бачимо до складу МПП входять наступні елементи: МП, ПЗП, ТГ, СК, ОЗП, АЦП, ЦАП, СШ. Системна шина в свою чергу складається з ША, ШД та ШК. ША є 16-розрядною односпрямованою; ШД ( 8-розрядна двоспрямована; ШК ( набір окремих ліній, які мають свою напрямленість.
МП в складі МПП виконує наступні функції:
формує адреси команд;
зчитує інформацію з зовнішніх пристроїв та пам’яті;
виконує над нею арифметичні та логічні операції;
аналізує результати і записує дані в пам’ять і зовнішні пристрої, функціонуючи при цьому під управлінням команд з деякої фіксованої множини;
при необхідності записує результати в пам’ять;
реагує на зовнішні сигнали.
ТГ призначений для формування синхроімпульсів та приймає участь в прийомі та видачі керуючих сигналів забезпечуючи функціонування МП та інших МПП.
ПЗП служить для постійного зберігання незмінної інформації необхідної для функціонування МПП (програма функціонування ЦФ ).
ОЗП служить для тимчасового зберігання інформації, що використовується при розрахунках.
СК призначений для формування певних керуючих сигналів (MEMR, MEMW, I/OR, I/OW, INTA).
ППІ служить для обміну інформацією з зовнішніми пристроями (ЦАП і АЦП).
АЦП отримує на вході МПП аналоговий сигнал та перетворює його в цифровий код.
ЦАП здійснює зворотнє перетворення. Поступивший на його вхід двійковий код він перетворює у відповідний аналоговий сигнал.
Отже МПП працює за таким принципом: сигнал поступає на аналоговий вхід АЦП. АЦП перетворює сигнал в двійковий код звідки через ППІ поступає до МП, де він обробляється. МП звертається до пам’яті для отримання нових команд та тимчасового збереження результатів. Отримавши результат, МП посилає двійковий код через ППІ на ЦАП, де код перетворюється у відповідний аналоговий сигнал, що поступає на вихід МПП.
Крім того в склад МПП входять наступні допоміжні елементи:
програмований контролер переривань;
буферний регістр для виводу сигналів на ЦАП
окремі логічні елементи;
дешифратори.
Таблиця 6.
Позначення
Опис
Мікросхема
МП
Мікропроцесор
КР580ВМ80
ГТІ
генератор тактових імпульсів
КР580ГФ24
СК
системний контролер
КР589ИР12
ШФ
шинний формувач
КР580ВА87
ППІ
програмований паралельний інтерфейс
КР580ВВ55
АЦП
Аналогово-цифровий перетворювач
К1113ПВ1
ЦАП
Цифро-аналоговий перетворювач
К572ПА1
ПКП
Програмований контролер переривань
КР580ВН59
4.2 Розподіл адресного простору
В адресний простір МП КР580ВМ80 входить 64К адрес пам’яті, що визначається 16-розрядною адресною шиною. Мікропроцесор КР580ВМ80 може здійснювати синхронний і асинхронний обмін інформацією за даними адресами з пам’яттю (ОЗП, ПЗП) та зовнішніми пристроями. При обробці інформації МП зчитує коди команд, операнди і записує одержаний вміст в регістри РЗК або виконує обмін інформації з пам’яттю та зовнішніми пристроями.
Можливі два підходи до організації звертання до пристроїв обміну інформації. Перший підхід використовує звертання до зовнішніх пристроїв, як до комірок пам’яті. Тобто, адресний простір, що відводиться для цих пристроїв включає 64К адрес. Однак, внаслідок повного вкладення адресного простору пристроїв вводу/виводу в простір адрес пам’яті, останнє пропорційно зменшується з збільшенням числа обслуговування зовнішніх пристроїв вводу/виводу. До переваг даного підходу можна віднести можливість використання різноманітних команд пересилання даних.
Інший підхід використовує роздільне керування пам’яттю і зовнішніми пристроями. Лише дві команди IN і OUT, у випадку, призначені для обміну інформації з зовнішніми пристроями. Так, як для цих команд адреса для зовнішнього пристрою 8-ми розрядна, то МП КР580ВМ80 може звертатись до 256 пристроїв вводу і 256 пристроїв виводу. При цьому адресний простір пам’яті буде максимальним (64К).
ПЗП
0000H jmp 0071H
00D8H jmp 0300H
007EH Головна програма
0300H Обробник переривань
Об’єм 2 Кілобайт
ОЗП
FC00H Xn
FC02H A
FC03H B
FC04H C
FC05H Xn-1
FC07H Уn-1
FC09H Yn
FC0AH допоміжні
…
FFFF SP
Об’єм 1 Кілобайт
Схема. 11. Розподіл простору адрес в МПП обробки аналогового сигналу.
Нижче приведені таблиці розподілу адресного простору схем пам’яті і зовнішніх пристроїв.
Таблиця 7
Адреси комірок пам’яті (ОЗП)
1111100000000000b
F800h
Мінімальна адреса
1111111111111111b
ffffh
Максимальна адреса
Таблиця 8
Адреси комірок пам’яті (ПЗП)
0000000000000000b
0000h
Мінімальна адреса
0000001111111111b
03ffh
Максимальна адреса
Таблиця 9
Адреси портів ППІ (АЦП)
00000000b
00h
Порт А
00000001b
01h
Порт В
00000010b
02h
Порт С
00000011b
03h
РКС
Таблиця 10
Адреси портів ППІ (ЦАП)
11111100b
fch
Порт А
11111101b
fdh
Порт В
11111110b
feh
Порт С
11111111b
ffh
РКС
Таблиця 11
Адреси портів ПКП
01111110b
7Еh
А=0
01111111b
7Fh
А=1
4.3 Алгоритм функціонування МПП
Схема 12. Алгоритм функціонування МПП
Так як в алгоритмі функціонування МПП є зациклення то в блок схемі немає потреби ставити блок кінця алгоритму, бо МПП подовжує працювати до тих пір поки не буде відключено подачу живлення.
При одночасному включені живлення –5В, +5В,12В і поступленні тактових імпульсів на мікропроцесор, всі регістри і прапорці МП встановлюються в довільні стани. Після цього подається на з ГТІ на вхід RESET МП сигнал високого рівня тривалістю не менше 3 тактів. Лічильник команд (PC) , тригер дозволу переривання (вихід INTE), а також тригер підтвердження захоплення (вихід HLDA) скидаються, і мікропроцесор починає вибірку з пам’яті команд, розміщених з нульової адреси.
Алгоритм головної програми включає наступні пункти.
Ініціалізація зовнішніх пристроїв ( ППІ і ПКП ) і початкове обнулення змінних. ППІ, до якого підключений АЦП програмується на режим роботи 1, порт А і порт В – на ввід. ППІ, до якого підключений ЦАП програмується на 0-й режим роботи, однак порти А і В працюють на вивід. В цьому режимі по сигналу, який подається на вхід RD (WR) дані читаються (записуються) з переферії ( у периферію ) в порт, який задається по адресних лініях A0, A1. При виводі із МП інформація запам’ятовується в регістрах портів, а при вводі необхідно підтримувати сигнал на входах портів до тих пір, поки МП не прочитає інформацію. ПКП програмується наступним чином. Адреса підпрограми обробки переривання – 00D8h, запит – IR6, спосіб формування молодшого байту адреси підпрограми обробки переривання – XXXYYY00.
Обнулення змінних ( xn-1, уn-1, ) виконується у зв’язку з тим, що вони використовуються як множники у рівнянні цифрового фільтру, однак при першому звертання до цього рівняння ще не сформовані ( отже повинні бути нульовими).
Подання на АЦП сигналу “Запуск
Обробка отриманої інформації і вивід її на ЦАП. Обробка включає перемноження і сумування елементів у відповідності до рівняння цифрового фільтру, тобто знаходження кінцевої вихідної величини yn, яка і виводиться на ЦАП. Після цього здійснюється перехід до пункту 2.
Функціонування МПП припиняється після вимкнення живлення.
Блок-схема програми обробки переривання приведена на схемі 16. Під час виконання команд обробника всі переривання заборонено. Пісня збереження в стеку регістрів, які будуть використовуватись, скидається сигнал “Запуск” АЦП, і відбувається читання портів ППІ1. Прочитана інформація записується в пам’ять. Наступними діями є завантаження в контролер переривань ОКС 2, відновлення зі стеку регістрів, дозвіл переривань і повернення до перерваної програми.
В даному МПП програмований контролер переривань КР580ВН59 буде використаний для організації обміну з АЦП. Зв’язок контролера з МПП здійснюється через двонаправлений буфер даних. Виходи контролера переводяться у високоімпендансний стан при CS=1. Вхід А0 адресує внутрішні регістри контролера (керуючі слова, маски, стани ).Oскільки число внутрішніх регістрів є більше 2 для їх додаткової адресації використовують внутрішній лічильник а також окремі розряди керуючих слів.
Схема 13. Алгоритм програми обробки переривання
За допомогою сигналу здійснюється читання слова-стану з ПКП на шину даних, а сигналом запис керуючих слів з шини даних в контролер. На входи IR0-IR7 подаються запити переривань по окремих входах. Серед цих запитів вибирається запит з найвищим пріоритетом і формується сигнал INT для МП. При переході МП до обробки переривань системним контролером формується сигнал INTA (підтвердження переривання) в результаті чого контролер переривань видає на шину даних код команди Call ( виклик підпрограми ). Цим сигналом в регістр запитів записуються всі наявні на входах запити. Після цього МП через системний контролер видає ще два рази сигнал INTA, яким контролер видає на шину даних ще 2 Байти адреси підпрограми обробки переривань. Реакція контролера переривань і МП на запит переривання фіксується встановленням в 1 відповідного розряду регістра обслуговування і встановленням в 0 цього ж розряду в регістрі запитів. Кожний наступний запит на переривання сприймається контролером тільки після виконання підпрограми обслуговування поточного запиту по даному входу і скиду відповідного розряду регістру стану, що здійснюється програмним шляхом.
5. Загальна структура програми роботи МПП
ORG 100H
mvi a,a ; занесення в пам’ять коефіцієнтів
sta fc02h
mvi a,b
sta fc03h
mvi a,c
sta fc04h
lxi sp,ffffh
lxi h,fc00h ;очищення комірок пам’яті для xn-1 та yn-1
shld fc05h
shld fc07h
mvi a,0beh ;ініціалізація ППІ (АЦП)
out 03h
mvi a,0a4h ;ініціалізація ППІ (ЦАП)
out ffh
mvi A,DCH ; Програмування ПКП: Завантаження КСІ 1.
out 07EH
mvi A,00h ; Завантаження КСІ 2.
out 07FH
mvi 0efh ;маскування непотрібних запитів на переривання.
out 07Fh
Work
5 mov a,09h ; подача логічної одиниці в тригер 4-го біта порта С ( INTE )
10 out 03h ; тобто дозвіл переривань ( для 1-го режиму ППІ )
7 mvi a,0fh ;запуск АЦП
out 03h
;Початок обробки інформації.
;визначення xna
16 lhld fc00h
5 mov d,h
5 mov e,l
13 lda fc02h
17 call dmult
13 sta 0bh
16 shld fc0ch
;визначення xn-1b
16 lhld fc05h
5 mov d,h
5 mov e,l
13 lda fc03h
17 call dmult
13 sta fc0eh
16 shld fc0fh
;визначення yn-1c
16 lhld fc07h
5 mov d,h
5 mov t,l
13 lda fc04
17 call dmult
13 sta fc11h
16 shld fc12h
;визначення yn
13 lda fc0ah
5 mov b,a
16 lhld fc0bh
5 mov c,h
5 mov d,l ;в регістрах В, С, D - xna
13 lda fc0bh
5 mov e,a
16 lhld fc0eh
17 call plus
13 lda fc10h
5 mov e,a
16 lhld fc11h
17 call plus ; в регістрах В, С, D - yn
5 mov a,b ;зсуваємо так щоб в регістрах В, С були 10 старших розрядів
4 rrc
5 mov b,a
5 mov a,c
4 rar
5 mov c,a
5 mov a,b
4 rrc
5 mov b,a
5 mov a,c
4 rar
5 mov c,a
5 mov a,b ; занесення 10 старших розрядів результату в комірки для yn
13 sta fc09h
5 mov a,c
13 sta fc0ah
16 lhld fc00h
16 shld fc05h ;занесення xn в комірку для xn-1
16 lhld fc09h
16 shld fc07h ;занесення xn-1 в комірку для xn-2
16 lhld fc09h
;Вивід результату на ЦАП
5 mov a,l
10 out fch ;записуємо 8 молодших розрядів в буферний регістр
5 mov a,h
10 out fdh ; записуємо 2 розряди в буферний регістр
5 mov a,01h
10 out ffh ;вивід інформації на ЦАП
10 jmp Work ;перехід на початок
dmult: ;підпрограма множення
10 lxi h,0h
7 mvi c,8h
z3:
10 dad h
4 ral
10 jnc z4
10 dad d
z4:
7 aci 0
5 dcr c
10 jnz z3
ret
підпрограма додавання C, D-1-й доданок, E, H, L - 2-й доданок
plus:
5 mov a,d
7 add l
5 mov d,a
5 mov a,c
7 adc h
5 mov c,a
5 mov a,b
7 adc e
5 mov b,a ;B, C, D - результат
10 ret
Основна програма, за алгоритмом, починається з ініціалізації мікросхеми K580ВВ55 для обміну з ЦАП і АЦП, після того АЦП встановлюється (після гасіння) в режим перетворення вхідного сигналу. Далі іде циклічний підрахунок і виведення результату.
Програма обробки переривань.
op:
4 di ;Заборона переривань
11 push psw
mvi 0fh ;гасіння АЦП
10 out 03h
10 in 00h ;Зчитування з порту А 8розрядів
5 mov l,a ;і запис в регістр l
10 in 02h
5 mov h,a ;ще 2 біти з порту C в регістер h
16 shld fc00h ;занесення в память xn
7 mvi a,67h ;Загрузка в ПКП ОКС 2
10 out 07Eh
10 pop psw
4 ei ;дозвіл переривання
10 ret
5.1 Опис програм вводу, виводу
Для організації обміну інформацією між МП та периферійними пристроями (в даному випадку ЦАП та АЦП) використовується ППІ КР580ВВ55. Отже щоб організувати і здійснити ввід і вивід потрібно задати режим роботи ІС КР580ВВ55 за допомогою керуючого слова.
Перед програмування ВІС КР580ВВ55, слід визначити адреси портів. Адреси портів ППІ визначені і приведені в розділі 4.3
Таким чином код програми, що ініціалізує ППІ, має такий вигляд:
mvi a,0beh ;ініціалізація ППІ (АЦП)
out 03h
mvi a,0a4h ;ініціалізація ППІ (ЦАП)
out ffh
Щоб запустити АЦП необхідно виконати наступну послідовність команд:
5 mov a,09h ; подача логічної одиниці в тригер 4-го біта порта С ( INTE )
10 out 03h ; тобто дозвіл переривань ( для 1-го режиму ППІ )
7 mvi a,0fh ;запуск АЦП
out 03h
Після задання режиму роботи ППІ та ініціалізації АЦП можна приступити до зчитування значення xn з АЦП, це робиться в програмі обробки перериваня .Дані з виходу АЦП поступають в канал А (молодші 8 розрядів) та на старшу тетраду каналу В (старші 2 розряди). Запуск АЦП здійснюється розрядом каналу С. Отже фрагмент програми зчитування даних з АЦП
10 in 00h ;Зчитування з порту А 8розрядів
5 mov l,a ;і запис в регістр l
10 in 02h
5 mov h,a ;ще 2 біти з порту C в регістер h
16 shld fc00h ;занесення в память xn
Вивід на ЦАП здійснюєтьса наступним чином.
5 mov a,l
10 out fch ;записуємо 8 молодших розрядів в буферний регістр
5 mov a,h
10 out fdh ; записуємо 2 розряди в буферний регістр
5 mov a,01h
10 out ffh ;вивід інформації на ЦАП
10 jmp Work ;перехід на початок
5.2 Опис програм обробки інформації
Як ми бачимо з блок-схеми алгоритму роботи МПП в процесі формування вихідного сигналу виконується ряд арифметичних операцій. Операції множення і додавання виконуються декілька разів тому виділимо їх окремими модулями.
Підпрограма множення дво байтового числа на однобайтове без знаку.
Вхідні дані: регістер DE-множене; акамулятор A-множник.
Результат : регістри A, H, L-добуток(А-старші розряди L-молодші)
Програма використовує регістер С
dmult:
lxi h,0h
mvi c,8h
z3:
dad h
ral
jnc z4
dad d
z4:
aci 0
dcr c
jnz z3
ret
підпрограма додавання C, D -1-й доданок, E, H, L - 2-й доданок
plus:
5 mov a,d
7 add l
5 mov d,a
5 mov a,c
7 adc h
5 mov c,a
5 mov a,b
7 adc e
5 mov b,a ;B, C, D - результат
10 ret
5.3 Оцінка верхньої фінітної частоти вхідного аналогового сигналу
Оцінку верхньої частоти фільтру проводимо з точки зору найнижчої швидкодії фільтру. Для визначення верхньої фінітної частоти фільтра необхідно вирахувати за скільки тактів виконається перетворення сигналу на вході АЦП в сигнал на виході ЦАП.
В процесі виконання програми виконуються:
підпрограма обробки переривань;
основна програма;
підпрограма множення;
підпрограма додавання.
Кількість тактів, за які виконуються дані фрагменти, приведені в таблиці:
Таблиця12
Назва програми
Кількість тактів необхідних для виконання програми
Число виконань даної програми за один цикл
Кількість тактів за цикл
Основна програма
609
1
609
підпрограма обробки переривань
119
1
119
підпрограма множення
475
3
1425
підпрограма додавання.
61
2
122
Таким чином цикл перетворення відбувається за 2275 тактів. В такому випадку, частота видачі інформації при максимальній тактовій частоті процесора 2,5 Мгц рівна
fвид=2,5МГц/2275=1098,9 Гц
За теоремою Котельникова довільний сигнал, який має скінчений спектр, може бути точно перетворений в цифрову форму і потім відтворений за відліками цього дискретного сигналу при умові, що
,
де (t ( інтервал дискретизації, fверх ( верхня фінітна частота аналогового сигналу.
Оскільки
,
то ,
а отже верхня фінітна частота фільтра fверх=549,5 Гц.
6. Опис функціонального вузла
Системний контролер КР580ВК28 виконує три функції:
фіксація слова стану процесора;
буферизація шини даних;
формування частини сигналів, які належать шині керування МПС (при звернені до ЗП – і , при звернені до пристроїв вводу/виводу - і , ).
Системний контролер складається з двонаправленої буферної схеми даних, регістра стану, і декодуючої схеми.
Восьмирозрядна паралельна тристабільна буферна схема даних приймає інформацію з канала даних МП по виводам D7 – D0 і передає в регістр стану інформацію стану, на системний канал даних по виводах DB7 – DB0 видає дані у циклі запису по сигналу . В циклі читання по сигналу заперечення буферна схема приймає дані з системного каналу по виводах DB7 – DB0 і передає по виводам D7 – D0 на канал даних мікропроцесору.
Регістр стану по вхідному сигналу фіксує інформацію стану МП в такті Т1 кожного машинного циклу МП.
Декодуюча схема формує один з вище перелічених сигналів керування. Асинхронний сигнал керує видачею даних з буферної схеми і керуючих сигналів з дешифратора: при наявності низького рівня на вході буферна схема передає дані і формує один з керуючих сигналів; при напрузі високого рівня всі виходи мікросхеми переходять у високоімпендансний стан. Напруга високого рівня на вході переводить виходи , , у пасивний стан (напругу високого рівня) і блокує передачу інформації через буферну схему даних.
Керуючі синали і формуються в циклі запису по сигналу .
При роботі МП КР580ВМ80А з контролером переривань КР580ВН59 системний контролер у циклі підтвердження запиту переривання формує три сигнали для прийому трьох байтів команди CALL від контролера переривань КР580ВН59 [7].
В невеликих мікропроцесорних системах вихід мікросхеми КР580ВК28 можна під’єднати до напруги +12В через резистор опору 1 кОм. Під час дії сигнала RC буферна схема даних мікросхеми формує код команди RST 7 і передає на канал даних МП. Таким чином, мікромхема забезпечує єдиний вектор переривань з номером 7 без додаткових компонентів.
Основні параметри мікросхеми зведені у таблиці:
Таблиця 13. Параметри СК КР580ВК28.
Параметр
Значення
Вихідний струм високого рівня
Вихідна напруга високого рівня на виходах D0-D7
Струм споживання
Вхідна ємність
Довжина сигналу
Час затримки інформації на виходах DB0-DB7
Час збереження інформації на виходах DB0-DB7
Час встановлення інформації на виходах DB0-DB7
Час встановлення вхідної інформації на виходах D0-D7 відносно RC в режимі читання
-10 мкА
3,6 В
140 мА
12 пФ
22 нс
30 нс
20 нс
30 нс
45 нс
Схема 14. Структурна схема системного контролера КР580ВК28
Схема 15. Схема підключення КР580ВК28 до МП КР580ВМ80А
Таблиця 15. Опис виводів мікросхеми КР580ВК28
Вивід
Позначення
Тип виводу
Функціональне призначення
1
2
3
4
5, 7,
9, 11,
13, 16,
18, 20
6, 8, 10,
12, 15, 17,
19, 21
14
22
23
24
25
26
27
28
RC
DB4, DB7,
DB3, DB2,
DB0, DB1,
DB5, DB6
D4, D7, D3,
D2, D0, D1,
D5, D6
GND
Ucc
вхід
вхід
вхід
вхід
вихід/
вхід
вхід/
вихід
—
вхід
вихід
вихід
вихід
вихід
вихід
вхід
Стробуючий сигнал стану
Підтвердження захвату
Видача інформації
Прийом інформації
Канал даних системи
Канал даних мікропроцесора
Загальний
Управління передачею даних і видачею сигналів
Підтвердження запиту переривання
Читання з ЗП
Читання з ПВВ
Запис в ЗП
Запис в ПВВ
Напруга живлення +5В
Аналіз результатів та висновки
В даній курсовій роботі мною був розроблений МП – пристрій автоматичної системи регулювання на основі КР580ВМ80. Як видно по результатам роботи (отриманий МПП має верхню граничну частоту зчитування вхідного сигналу рівну 549,5 Гц.) даний пристрій є досить швидкодіючим. Проблема в тому, що якщо даний МПП буде застосований при проведенні вимірювань частота коливання вхідної напруги яких є досить високою. Тоді частота зчитування вхідного сигналу даного пристрою виявиться замалою, щоб точно описати форму вхідного сигналу і відобразити залежність вихідного сигналу. Для підвищення швидкодії МП – пристрою слід або вдосконалювати алгоритм обробки інформації, або використовувати більш потужний мікропроцесор, в систему команд якого входить команда множення, яка часто використовується у нашому алгоритмі роботи пристрою. Може підійти дуже відомий процесор фірми Intel 8088 або Intel 8086.
Можна також взагалі замінити мікропроцесор на набір інтегральних схем, що має суттєво вп...