МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Комп”ютерний факультет
Кафедра систем автоматизованого проектування
ПОЯСНЮВАЛЬНА ЗАПИСКА
до курсової роботи
з дисципліни: “Комп’ютери і мікропроцесорні системи”
на тему:
“ Аналого-цифрове і цифро-аналогове перетворення та цифрова обробка інформації в мікропроцесорних пристроях ”
Допущено до захисту:
Державний університет “Львівська політехніка”.
Кафедра: Систем автоматизованого проектування.
Дисципліна: Комп’ютери і мікропроцесорні системи.
Курс: четвертий. Група: ІСМ-42. Семестр: сьомий.
Завдання
на курсовий проект студента
1.Тема проекту : “ Аналого-цифрове і цифро-аналогове перетворення та цифрова обробка інформації в мікропроцесорних пристроях ”
2.Термін здачі : до 24.12.99 р.
3. Вихідні дані для проекту роботи
Конкретизація завдання : Розробити компоненти технічного і програмного забезпечення мікропроцесорного пристрою, який включає аналогово-цифровий і цифро-аналоговий перетворювачі і виконує функцію лінійної системи автоматизованого регулювання. Системи описуються заданим пропорційно-інтегро-диференціальним рівнянням, яке зв’язує аналогові сигнали х(t) на вході і y(t) на виході системи. МПП повинен бути побудований на МП КР580ВМ80.
Визначення варіантів індивідуального завдання :
Номер залікової книжки студента Римара М.Р. :
9617079
для таблиці 1 (k=18) порядковий номер варіанта буде :
L1 = {([79/18]+{79/18})/18}+1={(4+7)/18}+1={11/18}+1=12;
для таблиці 2 (k=3) порядковий номер варіанта буде :
L2 = {([79/3]+{79/3})/3}+1={(26+1)/3}+1={27/3}+1=1;
для таблиці 3 (k=2) порядковий номер варіанта буде :
L3 = {([79/2]+{79/2})/2}+1={(39+1)/2}+1={40/2}+1=1;
для таблиці 4 (k=9) порядковий номер варіанта буде :
L4 = {([79/9]+{79/9})/9}+1={(8+7)/9}+1={15/9}+1=7;
для таблиці 5 (k=7) порядковий номер варіанта буде :
L5 = {([79/7]+{79/7})/7}+1={(11+2)/7}+1={13/7}+1=7.
Отже для варіанта з останніми двома цифрами заліковки 79 вхідні дані будуть наступними :
При L1 = 12 функціональна залежність :
dy(t)/dt=(1/r)[x(t)-y(t)]+w20(t[x(p)-y(p)] dp
При L2 = 1 розрядність АЦП – 8.
При L3 = 1 полярність вхідного сигналу – однополярний.
При L4 = 7 організація обміну з АЦП – через переривання з RST 6.
При L5 = 7 вид функціонального вузла – постійний запам’ятовуючий пристрій.
4.Зміст розрахунково-пояснювальної записки / перелік питань що підлягають розробці :
Для заданого рівняння системи регулювання здійснити його часткову дискретизацію і отримати відповідне рівняння цифрового фільтра (ЦФ). Побудувати аналогову схему, яка описується заданим рівнянням.
Скласти і детально описати структурну схему МПП з врахуванням особливостей індивідуального завдання.
Скласти схему алгоритму функціонування МПП. Вибрати структуру представлення даних при заданій розрядності АЦП, який здійснює дискретизацію і квантування вхідного сигналу.
У відповідності з індивідуальним завданням вибрати типи АЦП і ЦАП. Скласти і описати принципові схеми підключення АЦП і ЦАП до МПП. Нарисувати часову діаграму роботи АЦП.
Скласти на мові асемблеру мікропроцесора КР580ВМ80 програму вводу інформації через АЦП і виводу через ЦАП.
Скласти програму відповідної цифрової обробки інформації. Оцінити верхню граничну частоту ЦФ.
Скласти і детально описати фрагмент принципової схеми реалізації функціонального вузла, вказаного в індивідуальному завданні.
5. Перелік графічного матеріалу / з точним зазначенням обов’язкових креслень/
Рис. 1 Структурна схема реалізації даного фільтру:
Рис. 2 Схема аналогового фільтру (1).
Рис. 3 Схема аналогового фільтру (2).
Рис. 4 Структурна схема проектного мікропроцесорного пристрою.
Рис. 5 Алгоритм функціонування МП-пристрою
Рис. 6 Алгоритм для програми обробки переривання
Рис. 7 Структура представлення даних в пам’яті.
Рис. 8 Схема підключення АЦП до МП
Рис. 9 Основні параметри ряду мікросхем АЦП
Рис. 10 Часова діаграма роботи АЦП
Рис. 11 Схема підключення ЦАП до МП-пристрою.
Рис. 12 Структура керуючого слова ППІ.
Рис. 13 Структурна схема ПЗП масочного типу.
Рис. 14 Мікросхема ПЗП К556РТ4.
6. Дата видачі завдання
Календарний план
Реферат.
Дана пояснювальна записка складається з 37-ти листів тексту, малюнків, таблиць, необхідних для пояснення функціонування схеми побудови мікропроцесорного пристрою автоматичного регулювання на основі ЦАП і АЦП, блок-схем функціонування ММП, текстів програм. Було використано кілька інформаційних джерел.
Пояснювальна записка складається із 7-ми розділів, в яких описано принцип функціонування схеми на основі ЦАП і АЦП.
Метою даної роботи є розробка анолого-цифрового і цифро-аналового перетворювача, як частини МП системи, написання програми обробки цифрової інформації за заданою формулою та обробки переривань, освоєння основних принципів функціонування схем на базі ЦАП, АЦП і МП пристроїв.
Зміст.
ст.
Завдання на КР ________________________________________________2
Реферат _______________________________________________________ 6
Зміст __________________________________________________________7
Специфікація. ___________________________________________________8
Вступ __________________________________________________________9
Часова дискретизація рівняння системи регулювання.
Виведення відповідного рівняння цифрового фільтра. _____________11
Структурна схема МП-пристрою. ______________________________15
Алгоритм функціонування мікропроцесорного пристрою. __________17
Вибір АЦП і ЦАП. ___________________________________________22
Підпрограми вводу інформації через АЦП і виводу через ЦАП. _____25
Програма цифрової обробки інформації. ________________________26
Опис фрагменту принципової схеми реалізації ПЗП. ______________33
Висновок ______________________________________________________36
Список використаної літератури. __________________________________37
Специфікація
АЦП – аналогово – цифровий перетворювач.
ГТІ – генератор тактових імпульсів.
ДОН – джерело опорної напруги.
ДШВ/В – дешифратор вводу/виводу.
ДШП – дешифратор адреси комірки пам’яті.
ІС – інтегральна схема.
МП – мікропроцесор.
МПП – мікропроцесорний пристрій.
МПС – мікропроцесорна система.
МР – молодший розряд.
ОЗП – оперативний запам’ятовуючий пристрій.
ОП – оперативна пам’ять.
ПЗП – постійний запам’ятовуючий пристрій.
ПІ – підсилювачі – інверторні.
ППІ – паралельний програмований інтерфейс.
РЕА – радіоелектронний аппарат.
РКС – регістр керуючого слова.
РПН – регістр послідовного наближення.
СК – системний контролер.
СР – старший розряд.
СШ – системна шина.
ТГ – тактовий генератор.
ЦАП – цифро – аналоговий перетворювач.
ЦФ – цифровий фільтр.
ША – шина адрес.
ШД – шина даних.
ШК – шина керування.
Вступ.
Успіх інтегральних технологій привів до появи великих інтегральних схем з густиною розміщення компонентів до десятків та сотень тисяч транзисторів на одному кристалі. Степінь інтеграції підвищується в даний час великими темпами, густина ВІС з кожним роком подвоюється, звідси випливає, що відношення об’єму випуску заказних ВІС, призначених для реалізації конкретних логічних схем до кількостів типів ВІС зі збільшенням степені інтеграції зменшується. Заказні ВІС в більшості випадків не вигідні для їх виготовлення і закажчика-розробника цифрових систем, так як будь яка нова логічна схема потребує створення дорогої вузькоспеціалізованої ВІС.
Вихід з даної ситуації полягає в підході в основі якого лежить використання можливості програмування на рівні логічного елемента. На даний час найбіль широко використовуються програмні логічні матриці різних рівннів і ВІС з багатократним програмуванням – управляємі логічні матриці, мікропроцесори і мікро-ЕОМ.
Основною частиною цифрового пристрою, в якому відбувається обробка інформації є процесор. Процесор складається з операційного пристрою і пристрою керування. Очевидно що МП не може функціонувати без інших інтегральних схем, що виконують функції синхронізації та узгоджнння. Сукупність інтегральних схем, сумісних по конструктивно-технологічному виконанню і призначених для сумісного використання при побудові мікропроцесорних систем, називається мікропроцесорним комплексом. Таким чином , МП виконує арифметичні та логічні операції, аналізує та приймає рішення , що міняють процес обрахунків, керує процесом вводу та виводу інформації.
Операційний пристрій складається з регістрів суматорів лічильників і т. д. В ньому виконуються арифметичні та логічні операції у відповідності з командами, які поступають з пристрою керуваня. Пристрій побудований за способом схемної логіки, будується на інтегральних схемах різного ступеня інтеграції , в тому числі на спеціалізоваих ВІС шляхом вибору певного комплекта інтегральних мікросхем і способу вибору їх з’єднання. Функціонування його полягає в генерації послідовності керуючих сигналів , які виробляються керуючим пристроєм під дією синхронізуючих імпульсів. Функціонування такого пристрою серйозно залежить від схеми з’єднання.
При такій оргаізоції операційного пристрою та пристрою керування вони є вузькоспеціалізовані і будь яка зміна алгоритму функціонування або різноманітних коефіцієнтів в розрахункових співвідношеннях вимагає або повної заміни мікросхем, або їх доповнення і зміни схеми з’єднань цих мікросхем.
Розвиток мікроелектроніки та ціфрових методів привів до нового напрямку в створенні радіоелектронних засобів, які будуються на принципах програмованої логіки. Тепер інженер розробляє електронну схему ,яка є уніфікованою а також алгоритм функціонування пристрою і прграму роботи цього пристрою, тобто функції розробника апаратури перемістилися зі схемної області в програмну.
З застосуванням МП стало можливим в радіоелектронних пристроях широко впровадити принцип програмованої логіки, який полягає в тому, що всі перетворення, що відбуваються в ОП здійснються за програмою записаною в пам’яті і реалізують функціонування радіоелектронного процесу.
1.Часова дискретизація рівняння системи регулювання. Виведення відповідного рівняння цифрового фільтра.
Часова дискретизація рівняння системи регулювання.
Рівняння системи регулювання:
dy(t)/dt=(1/r)[x(t)-y(t)]+w20(t[x(p)-y(p)] dp
використовуючи наближені рівності:
x(t)=xn; y(t)=yn;
dy(t)/dt((yn-yn-1)/(t;
0(ty(p)dp=уn-1+(xn+xn-1)(t/2; 0(tx(p)dp=xn-1+(yn+yn-1)(t/2
здійснюєм перетворення :
yn-yn-1/(t=(1\r)[xn-yn]+ w2(xn-1+(yn+yn-1)(t/2)-w2 (уn-1+(xn+xn-1)(t/2)
виконавши їх отримаємо наступний вигляд рівняння, яке відповідає даному диференційному рівнянню:
yn(2r+2(t+w2r(t2)/2r(t2=xn(2+w2(tr)/2t+xn-1(w2(t-2w2)/2+yn-1(2+2(tw2-w2(t2)/2(t
Виразимо yn через інші параметри рівняння
yn= xn (2(t+w2(t2)/ (2r+2(t+w2r(t2)+ xn-1(r(t2w2-2rw2(t)/ (2r+2(t+w2r(t2)+
+ yn-1(2r+2r(tw2-rw2(t2)/ (2r+2(t+w2r(t2)
Позначимо ao= (2(t+w2(t2)/ (2r+2(t+w2r(t2)
a1=(r(t2w2-2rw2(t)/ (2r+2(t+w2r(t2)
b1=(2r+2r(tw2-rw2(t2)/ (2r+2(t+w2r(t2)
Щоб показати , що ao, a1, b1 по модулю менші одиниці перетворимо їх до наступного вигляду:
ao=1-(2r+r(tw2-2w2(t2)/ (2r+2(t+w2r(t2)
a1=1-(2r+2(t+3r(tw2-w2(t2)/ (2r+2(t+w2r(t2)
b1=1-(r(tw2-rw2(t2)/ (2r+2(t+w2r(t2)
Тепер рівняння отримає вигляд:
yn=aoxn+ a1xn-1 +b1yn-1
Оскільки у виразі для yn присутній член yn-1 , то даний фільтр є рекурсивним фільтром. Коефіцієнти ao, a1, b1 як це видно з виразів для обчислення коефіцієнтів, менші від одиниці.
Структурна схема реалізації даного фільтру:
a1
xn-1
DL XY
a0 ( yi
xn XY
yn-1
XY DL
b1
Рис. 1
XY – елемент множення
DL – елемент затримки
( - суматор
Побудова аналогової схеми.
Для побудови аналогової схеми, яка описується заданим початковим рівнянням:
dy(t)/dt=(1/r)[x(t)-y(t)]+w20(t[x(p)-y(p)] dp
можна скористатись перетворенням Лапласа:
x(t)( =( X(p)
y(t)( =( Y(p)
(( =((;
w2o=ow2
dx(t)/dt( =( pX(p)
dy(t)/dt ( =( pY(p)
0(t[x(p)dpo=ox(p)/p
0(t[y(p)o=yo(p)/p
тоді задане рівняння цифрового фільтру набере вигляду
py(p)=[x(p)-y(p)]/r+w2[x(p)/p-y(p)/p]
послідовними спрощеннями перейдемо до рівняння, що зв’язує між собою X(p) і Y(p):
y(p)=x(p)[(p+w2r)/(p2r+p+rw2)]
Перетворим його до вигляду:
y(p)=x(p)w/p/[w+(rw2-w)/p+w/p+pwr]
Позначим:
Z1(p)= w/p
Z2(p)= w+(rw2-w)/p+pwr
Тоді
y(p)=x(p)[ Z2(p)/( Z1(p)+Z2(p))]
Для схеми:
Схема аналогового фільтру (1).
Z1(p)
X(p) Z2(p) Y(p)
Рис. 2
Де Z1(p) і Z2(p) комплексні опори
Оскільки для перетворень Лапласа справедливо:
R( = (R; C( = (1/(Cp); L( = (Lp; (( = (RCp або (( = (Lp/R
то аналоговою схемою, що описується рівнянням:
dy(t)/dt=(1/r)[x(t)-y(t)]+w20(t[x(p)-y(p)] dp
може бути схема настyпного вигляду:
Схема аналогового фільтру (2).
R L1 C
X(t) L2 Y(t)
Рис. 3
2.Структурна схема МП-пристрою.
Для організації мікропроцесорного пристрою використаєм принцип побудови МПС з шинною структурою, тобто структурою, де всі компоненти під”єднані до системної шини – набору ліній, що з’єднюють систему.
Структурна схема проектного мікропроцесорного пристрою.
МП ТГ СК ПЗП ОЗП
ДШП
СШ
ДШ В/В
Канали вводу/виводу
АЦП ЦАП ІНД
Рис. 4
Системна шина поділяється на три окремі шини: шина даних.; шина адрес ; шина керування.
Лінії СШ характеризуються спрямованістю . Спрямованість визначається по тому, який з пристроїв є визначальним за рівнем сигналу.
ШД – двоспрямована ; ША- односпрямована ; ШК – набір окремих ліній, що мають свій напрям
За рахунок того, що виходи всіх компонент МП – пристрою під’єднані до СШ, вони повинні мати крім станів, що забезпечують логічний 0 чи 1 на виході третій стан з високим вихідним опором.
Мікропроцесор в складі розроблюваного пристрою виконує наступні функції:
формує адреси команд;
вибирає команди з пам’яті та дешифрує їх;
видає для цих команд потрібні адреси та виконує над ними операції, які передбачені командами;
при необхідності записує результати в пам”ять
формує керуючі сигнали для обміну даними із зовнішніми пристроями;
реагує на зовнішні сигнали.
Тактовий генератор призначений для формування синхроімпульсів F1 та F2 для роботи мікропроцесора та інших мікропроцесорних пристроїв. Синхроімпульси F1і F2 мають амплітуду 12В, але відрізняються щільністю і зсунуті один відносно одного. Крім того, мікросхема КР580ГФ24, яка виконує функцію тактового генератора, приймає участь в прийомі та видачі керуючих сигналів системної шини.
ПЗП призначений для постійного зберігання даних і програм. У даному випадку він зберігає програму обробки вхідного сигналу, а також коефіцієнти рекурсивного фільтру, вид якого було визначено у першому розділі.
ОЗП призначений для тимчасового зберігання інформації, що необхідна для розрахунків.
СК призначений для формування сигналів керування , які не формуються мікропроцесором (MEMR, MEMW, I/OR,I/OW, INTA).
Обмін інформацією між МП та ЦАП/АЦП відбувається через ППІ, для реалізації якого використовуєм КР580ВВ55 призначений для організації вводу-виводу паралельної інформації різних пристроїв і дозволяє реалізувати обмін по паралельних каналах. Він може бути використаний для реалізації програмно-керованого обміну(синхронного або асинхронного по перериванню) між процесором і різними зовнішніми пристроями.
В склад ППІ входять наступні компоненти:
двонаправлений 8-ми розрядний буфер даних (BD), який з’єднюється з ППІ системною шиною
блок управління читанням/записом (RWCU), який забезпечує керування зовнішньою і внутрішньою передачею даних, керуючих слів і інформації про стан ППІ;
три 8-ми розрядних канали вводу/виводу, (PROT A, B, C) , що призначені для обміну інформацією з зовнішніми пристроями;
CUA – схема керування групою А, яка виробляє сигнали керування каналом А і старшими розрядами каналу C [CP(7-4)];
CUB – схема керування групою В, яка виробляє сигнали керування каналом B і старшими розрядами каналу C[CP(3-0)].
Крім того, в склад мікропроцесорного пристрою входять допоміжні елементи:
буферний регістр для організації переривання RST
окремі логічні елементи
дешифратори
Алгоритм функціонування мікропроцесорного пристрою.
3.1 Схема алгоритму функціонування МП-пристрою.
Ввід інформації з АЦП здійснюється в режимі переривань. При готовності даних формується сигнал переривання, в результаті чого МП переходить на підпрограму обробки даного переривання. Далі відбувається ввід інформації з АЦП. Введена інформація обробляється у відповідності до заданого рівняння і виводиться у вигляді аналогового сигналу через ЦАП..
В процесі обробки запиту на переривання , яке здійснюється подачею на вхід ІNT мікропроцесора логічної одиниці, мікропроцесор сигналом INTE=0 забороняє всі можливі запити на переривання . Далі виконується машинний цикл переривання , в якому видається керуюче слово з одиницями в INTA що означає підтвердження переривання, М1 – початок машинного циклу, W0 – запис або вихід, а MEMR=0 – читання з пам”яті. При цьому сигнал BDIN=1 означає прийом інформації з шини даних. Тобто мікропроцесор читає з шини даних деяку інформацію, що вибирається з пама”яті чи портів. В цей момент на ШД повинен бути встановлений код команди RST N (згідно завдання RST6).
1 1 K2 K1 K0 1 1 1
де K2 K1 K0 - двійковий код числа N
При N=6 (110) в двійковій формі команда RST6 буде мати вигляд: 11110111. Ця команда здійснює перехід за адресою 8*N. Одже при N=6 перехід буде здійснюватися за адресою: 8*N=8*6=4810=30H=00110000
Для цифрової обробки фільтра, що описується рівнянням
yn=aoxn+ a1xn-1 +b1yn-1
з вводом значень використовуючи RST6 можна запропонувати наступний алгоритм функціонування МП-пристрою.
Алгоритм функціонування МП-пристрою.
Початок
Ініціалізація ВВ55
Початкові установки
Пілрахунок a0xn
Занесення в пам”ять
Підрахунок a1xn-1
Занесення в пам”ять
Підрахунок b1yn-1
Обчислення yn
Виведення yn
Занесення значення
yn в комірку пам’яті
yn-1
Встановлення дозво-
лу переривання для
АЦП
Рис. 5.
Алгоритм для програми обробки переривання
Початок
Занесення в стек
значення всіх да-
них ,які потрібно
зберегти (PUSH)
Перенесення зна-
чення з комірки
для xn в комірку
для xn-1
Ввід значення хn
і занесення його
в пам”ять
Встановлення
сигналу читання
АЦП
Відновлення
значень всіх даних
зі стеку (POP)
Дозвіл
переривання (EI)
Кінець
Рис. 6.
Необхідність в команді EI (дозвіл переривання ) зумовлена тим, що вихід INTE в стан логічної 1 (дозвіл переривання) можна перенести лише програмним способом, а стан логічного 0(заборона переривання) – як програмною командою DI, так і апаратним способом.
Вибір структури представлення даних.
При заданій розрядності АЦП - 8 розрядів для представлення вхідних даних необхідно 8 розрядів. Виходячи з цього, потрібно знайти скільки розрядів потрібно виділити для вихідних даних.
Для заданого рівняння цифрового фільтру у вигляді :
yn=aoxn+ a1xn-1 +b1yn-1
де
ao=1-(2r+r(tw2-2w2(t2)/ (2r+2(t+w2r(t2)
a1=1-(2r+2(t+3r(tw2-w2(t2)/ (2r+2(t+w2r(t2)
b1=1-(r(tw2-rw2(t2)/ (2r+2(t+w2r(t2)
Оскільки коефіцієнти a0 , a1 і b1 менші одиниці , то представим іх однобайтовим числом з фіксованою крапкою.фіксованою перед старшим розрядом Числа xn , xn-1 будемо вважати цілими, тобто з фіксованою крапкою після молодшого розряду. Розрядність цілої частини добутків aoxn, a1xn-1 не буде перевищувати 8 ,. Розрядність суми цих добутків не буде перевищувати 10 . Розрядність добутку b1yn-1 не буде перевищувати розрядність yn-1 при b1<1.Таким чином можна вважати, що розрядність yn, yn-1 не перевищує 10. Тоді для представлення величин ao, xn, a1, xn-1, b1 потрібно по одному байту, а для величин yn, yn-1 по два байта. Якщо буде виникати ситуація , що yn виходить за 10 розрядів, то будем її вважати аварійною.
Структура представлення даних в пам’яті.
Yn по 2 байти
yn-1
xn
xn-1
a0 по 1 байту
a1
b0
Рис 7.
4.Вибір АЦП і ЦАП.
У відповідності з умовами даної роботи для цифрового фільтру потрібно використати восьмирозрядні АЦП і десятирозрядні ЦАП.
Критерії вибору мікросхеми ЦАП і АЦП, окрім розрядності, є наступні їх параметри:
Час перетворення
Похибка перетворення
Парність, поширеність
Вибір АЦП.
Для вибору мікросхеми АЦП проведемо порівняння характеристик
АЦП:
Основні параметри ряду мікросхем АЦП
Мікросхема
Вид перетворення
n
tпер, мкс
m
1
2
3
4
5
К572ПВ1
(КР572ПВ1)
Послідовне наближення
12
110
48
(40)
К572ПВ2
(КР572ПВ2)
Подвійне інтегрування
14
48
(40)
К1113ПВ1
Послідовне наближення
10
30
18
К1107ПВ1
Однократний відлік
6
0,1
64
К1107ПВ2
Однократний відлік
8
0,1
64
К1107ПВ3
Однократний відлік
6
0,02
16
К1108ПВ1
Послідовне наближення
10
0,9
24
К572ПВ3
Послідовне наближення
8
7,5
18
К1107ПВ4
Однократний відлік
8
0,03
64
К1107ПВ5
Однократний відлік
6
0,02
24
К1108ПВ2
Послідовне наближення
12
2
40
(n – кількість двійкових розрядів; tпер – час перетворення; m – кількість виводів мікросхеми)
З вище наведеної таблиці бачимо, що для проектування даного пристрою підходить мікросхема К572ПВ3 , оскільки вона восьмирозрядна і задовільняє вимоги швидкодії і похибки перетворення.
Мікросхема являє собою АЦП послідовного наближення, виконаний по технології КМОП. Кількість виводів – 18. Преваги даного АЦП над іншими:
довжина слова рівна 8 біт, що співпадає з довжиною слова МП КР580
управління його роботою здійснюється від МП з мінімальними затратами
часові характеристики добре співпадають з часовими характеристиками ВІС МП
цифрові входи дозволяють пряме підключення до вхідних портів і шин даних.
Алгоритм перетворення АЦП реалізується за допомогою регістра послідовних наближень, що включає зсувний регістр, і регістр пам”яті на RS-трігерах. Для роботи потрібно подати сигнал CS, RD. Після скидання на виході формується сигнал 10000000. По сигналу початку перетворення запускається обчислювальний процес. В свому складі АЦП містить ЦАП, буферний регістр пам”яті з трьома станами, логічні схеми управління та синхронізації, підсилювач, регістр послідовного наближення.
Схема підключення АЦП до МП
К572ВП2 КР580ВВ55 КР580ВМ80А
Аналог + DB7 A D0 DO
вхід - DB0 …
Гаш/ Пер C D7 D7
Земля CS
B
КР580ВК28
-15В
+5В +5В
КР580ВА86
S
D
C
R
+5В
Рис. 8.
Для ініціалізації АЦП через біт С4 посилається сигнал гашення АЦП, який спричиняє початок апроксимації аналогового сигналу цифровим значенням. Через час менший за максимальний час формування вихідного сигналу на виході АЦП з”являється результат і біт подається на синхровхід трігера К176ТМ2, який, в свою чергу, посилає сигнал запиту переривання INT на МП КР580ВМ80, якщо переривання дозволені, то МП через СК КР580ВК28 видає 2рази INTA, після чого на шині даних повинна бути адреса програми обробки переривань, яка видається з буферного регістру КР580ВА86, цей сигнал видається внаслідок того,що INTA подається на вхід Е цього шинного формувача. Після переходу МП на виконання програми обробки переривань і зчитування даних з АЦП через порт А ППІ відбувається гашення АЦП, і так по циклу.
5. Підпрограми вводу інформації через АЦП і виводу через ЦАП.
Перш за все перед початком обміну необхідно ініціалізувати КР580ВВ55 відповідним керуючим словом, яке заноситься в регістр керуючого слова КР580ВВ55.
Структура керуючого слова ППІ.
1 0 0 1 0 0 0 1 канал С(0-3) програмується на ввід канал В прогамується на вивід вибір режиму роботи
канал С(4-7) програмується на вивід
кнал А прогамується на ввід
вибір режиму роботи 0
ознака керуючого слова
Рис. 9
Нехай адреси портів наступні:
A8H – для каналу А
A9H – для каналу В
AAH – для каналу С
ABH – регістр керуючого слова
Керуюче слово ініціалізації 91Н вводиться командами:
MVI A, 91H
OUT АBH
Для початку перетворення АЦП потрібно провести “гашення / перетворення” послідовно вивести сигнал логічної одиниці і нуля.
Нехай до входу “гашення / перетворення” АЦП підключений розряд С4 каналу С. Тоді дана операція виглядатиме:
MVI A, 91H - вивід в С4 одиниці
OUT АBH
MVI A, 8H - вивід в С4 нуля
OUT АBH
Далі АЦП приступає до перетворення вхідного сигналу в цифрофий код. По закінченні перетворення МП переходить до програми обробки переривання, в якій вводиться байт Хn.
IN А8H; ввід з каналу А
STA X; вивід по адресі X байту Xn
Операція виводу виглядає простіше:
LDA YNН; ввід в аккумулятор 8-розрядів Yn
OUT А9H; вивід в канал В
LDA YNL; ввід в аккумулятор 2-х молодших розрядів Yn
(всі інші занулені крім С4)
OUT АBH
6. Програма цифрової обробки інформації
Програма цифрової обробки обчислює вихідний сигнал згідно рівняння ЦФ. При цьому програма цифрової обробки інформації повинна неодноразово виконувати такі операції як:
множення двобайтних чисел на однобайтні
додавання двобайтнх чисел
Для цього можна використати готові підпрограми:
Підпрограма множення цілих чисел без знаку 16*8
10 DMULT : LXI H,0H
MVI C,8H
10 NXBIT : DAD H
4 RAL
10 JNC ND
10 DAD D
7 NOADD : ACI 0
5 DCR C
10 JNZ NX
RET
Підпрограма додавання двобайтових чисел
5 PLUS : MOV A,C
7 ADD M
7 MOV M,A
5 MOV A,B
5 INX H
7 ADC M
7 MOV M,A
5 DCX H
10 RET
Виходячи, з умови , що вхідний сигнал однополярний - потрібно організувати операцію множення однобайтного числа на однобайтне. Оскільки вхідний сигнал представлений як восьмирозрядний без знаку і є можливість використання підрограми множення DMULT чисел без знаку, то при множені будемо подавати результат як ціле число.
Користуючись алгоритмом програми обробки переривання , програма обробки переривання на мові асемблеру буде мати вигляд :
11 OP : PUSH H
11 PUSH PSW
16 LHLD X занесення колишнього значення
16 SHLD XNPL Хn в комірку пам’яті для Хn-1
10 IN А8H - ввід в програму Хn
5 MOV H,A
16 SHLD XNL вивід у канал С розряду С:=1
7 MVI A,9H для гашення результату
10 OUT АBH
10 POP PSW
10 POP H
EI дозвіл переривання
10 RET
Виникає проблема узгодження інформації, тобто кодів представлення чисел з АЦП та кодів, що виводяться на ЦАП. Для представлення уn в пам’яті виберемо формат двобайтового числа, (так само як і для представлення уn-1). Коефіцієнти а0 і b1 в пам’яті зберігаються у вигляді модуля.
В основній програмі будуть використані ще дві наступні підрограми :
Підпрограма переводу 2-х байтного числа в доповнений код (для опрацювання операції додавання) :
5 DOP : MOV A,H
4 CMA
5 MOV H,A
5 MOV A,L
4 CMA
5 MOV L,A
5 INX H
10 RET
Підпрограма множення чисел зі знаком, яка в свою чергу використовує підпрограму DМULT множення чисел без знаку 16*8 :
5 MN : MOV C,A ; множник з А заноситься в С для зберігання
5 MOV A,H чи множене в [HL] є позитивним
10 JP ML
7 MVI B,1H; В=1 – множене в [HL] є від’ємним
7 ANI 7FH
5 MOV H,A
10 JMP MM
7 ML: MVI B,0H
4 MM: XCHG M ; обмін DE HL
5 MOV A,C; занесення в А множника з С
17 CALL DMULT; множення чисел без знаку
5 MOV L,H корекція добутку до цілого числа
5 MOV H,A
5 MOV A,B; ознака знаку множеного в А=1-від’ємне
10 RET
Основна програма спочатку повинна ініціалізувати КР580ВВ55 для обміну з АЦП і ЦАП, після чого АЦП встановлюється в режим перетворення вхідного сигналу. Далі іде циклічний підрахунок і виведення результату.
Основна програма
7 М1: MVI A,91H ініціалізація ВВ55
10 OUT АBH
7 MVI A,9H
10 OUT АBH запуск АЦП
7 MVI A,8H
10 OUT АBH
16 М2: LHLD YNPL ; запис в HL значення хn-1 в комірку пам’яті
13 LDA А1 ; занесення в А байту а1 з пам’яті
17 CALL MN ; множення а1*хn-1
10 JNZ M3 ; перевірка чи хn-1 був відємним
17 CALL DOP; перетворення а1*хn-1 в доповн. код
16 М3: SHLD АХNP ; запис добутку а1*хn-1 в пам’ять для зберігання
16 LHLD YNPL ; запис в HL значення yn-1 в комірку пам’ять
13 LDA B1 ; занесення в А байту b1 з пам’яті
17 CALL MN ; множення b1*Yn-1
10 JZ M4 ; перевірка чи Yn-1 було додатнім
17 CALL DOP; перетворення b1*Yn-1 в доповн. код
6 М4: SHLD BYNP ; запис добутку b1*Yn-1 в пам’ять
16 LHLD XNL ; запис в HL значення Xn з комірки пам’яті
13 LDA A0 ; запис в аккумулятор байту коеф а0.
17 САLL MN ; множення а0*Xn
10 JZ M5 ; перевірка чи Xn був додатній
17 CALL DOP ; перетворення в доповнюючий код
5 М5: MOV B,H ; значення добупків a0*xn в допов нюючому
5 MOV C,L ; коді в регістрову пару ВС
10 LXI H,AXNP; занесення в HL добутку a1*xn-1 в доп.коді
17 CALL PLUS; a0*xn + a1*xn-1 результат в М; М+1
13 LDA BYNP ;
MOV C,А ; занесення регістрову пару ВС b1*уn-1
LDA BYNP+1;
5 MOV В,A;
17 CALL PLUS; додавання b1*уn-1 до результату в дор. коді
LHLD АХNP; Yn(HL(результат був в комірці для а1*хn-1)
5 MOV A,H
7 ANI 7FH
4 CMA
5 MOV H,A перетворення Yn в код для виводу на ЦАП
5 MOV A,L
4 CMA
5 MOV L,A
13 LDA AXNP-1
10 JP М15
5 MOV B,H
5 MOV C,L перетворення Yn в код у якому значення
10 JMP М16 Yn зберігається в пам’яті
13 М15: LDA AXNP
5 MOV C,A
LDA AXNP+1
5 MOV B,A
MOV A,C занесення значення Yn в комірку пам’яті
STA XNPL Yn-1
MOV A,B
13 М16: STA YPРН
5 MOV A,L
7 ANI 01H вивід в С6 Y0 результату Yn
10 JZ М7
7 MVI A,07H
10 JMP М8
7 М7: MVI A,0CH
10 М8: OUT АBH
5 MOV A,L
7 ANI 02H; вивід в С7 Y1 результату Yn
10 JZ М9
7 MVI A,0FH
10 JMP М10
7 М9: MVI A,0EH
10 М10: OUT АBH
MOV A,L
7 ANI АCH
5 MOV L,A
5 MOV A,H
7 ANI 01H вивід в порт В розрядів Y2 … Y9
4 ADD L результату наступним чином
5 MOV L,A Y8(В0
5 MOV A,H Y9(В1
10 JM М11 Y2(В2
7 MVI A,02H Y3(В3
4 ADD L ……….
10 JMP М12 Y7(В7
5 М11: MOV A,L
10 М12: OUT А9H вивід логічного 0 в С4 для дозволу
7 МVI A,08H каналу С перетворення АЦП
10 ОUT АBH
10 JMP М0; перехід на початок
Оцінка верхньої граничної частоти фільтру.
Оцінку проводимо наступним чином. Вираховуєм найнижчу швидкодію фільтру. В процесі виконання програми виконуються наступні підпрограми:
Підпрограма обробки переривань
Підпрограма множення (2 рази) (MN)
Підпрограма додавання (1 раз) (PLUS)
Підпрограма переводу в доповнюючий код (2 рази) (DOP)
Крім того, в ході виконання підпрограма MN виконується один раз в підпрограмі DMULT.
Кількість тактів, за які виконується програма, приведені в наступній таблиці :
Назва програми
К-сть тактів
Число виконань за один цикл
К-сть тактів за цикл та виконання
Основна
780
1
780
DMULT
83
2
166
PLUS
58
1
58
OP
136
1
136
DOP
43
2
86
MN
107
2
214
Для виконання програми необхідно всього тактів N=1440.
Для max тактової частоти f=2,5МГц для МП КР580ВМ80, частота видачі інформації складає:
fвид. інф.=2,5МГц/1440=1736,1Гц
За теоремою Котельникова, верхня гранична частота для фільтра складає:
fв= fвид. інф./2=868,05Гц
7. Опис фрагменту принципової схеми реалізації ПЗП.
Інформація в ПЗП записується однократно і після цього в режимі експлуатації лише зчитується. По способу занесення інформації ПЗП поділяються на два види:
ПЗП програмовані масово на підприємствах виробниках.
ПЗП програмовані користувачем.
В ПЗП масочного типу інформація заноситься в процесі виготовлення за допомогою фотошаблона. Це вигідно для виготовлення великих партій.
Програмовані ПЗП допускають однократне програмування користувача.
Найбільш широко використовуються ПЗП з плавкими вставками. Під дією зовнішнього джерела живлення з використанням певної комутації ці плавкі вставки перегоряють.
Програмовані ПЗП на біполярних транзисторах мають більшу швидкодію, але потребують більшу споживану потужність.
Структурна схема ПЗП масочного типу.
Рис. 13.
Мікросхема ПЗП К556РТ4.
5
6
7 12
4 11
3 10
2 9 256*4
1
15
13 ...