Міністерство освіти і науки України
Національний університет (Львівська політехніка(
КУРСОВА РОБОТА
з дисципліни ( Цифрові пристрої та мікропроцесори (
на тему:( Функціональний генератор інфранизької частоти
на базі МП системи(
Львів 2013
Зміст
Технічне завдання..………………………………………………………….….3
Вступ………………………………..………………………………..………...4
Програмна реалізація функції часу ……………………………………..….5
Мікропроцесорний комплект КР580…………..………………….………....8
Мікропроцесор КР580ИК80А……………………..…………...….....9
Тактовий генератор КР580ГФ24……….………..………………....10
Шинний формувач КР580ВА86/87...…......................................11
Системний контролер КР580ВК28………………..………………....11
Структура мікропроцесорного комплекту КР580………………….12
Запам’ятовуючі пристрої МП системи………………………………………….13
Проектування системи вводу/виводу МПС…………………………………....15
Реалізація паралельного інтерфейсу КР580ВВ55…………………….....15
Двоклавішна клавіатура………………………………………………..…..17
Система індикації…………………………………………………………...18
ЦАП………………………………………………………………………….18
Проектування програмного забезпечення мікропроцесорної системи……...21
Алгоритм роботи…………………………………………………………………22
Текст програми……………………………………………………………….…..23
Висновки……………………………………………………………………….25
Список використаної літератури......................................................................26
Постановка задачі
Технічне завдання.
Реалізувати генератор інфранизької частоти, розробити апаратну частину та написати програму на мові асемблера для МП системи, на основі комплекту КР580, яка реалізує такі функції:
формує за допомогою ЦАП вихідну напругу, що описується виразом:
U(t) = A*(1-exp(-at/T);
2) опитує двоклавішну клавіатуру, перша клавіша якої вибирає період повторення функції з ряду T, 2T, 4T, а друга задає амплітуду вихідної напруги з ряду A, A/2, A/4;
3) виводить на два семисегментні індикатори інформацію про період повторення: цифри 1, 2, 4- відповідають T, 2T, 4T та про амплітуду: цифри 1, 2, 4 – відповідають A, A/2, A/4.
Задано наступні параметри сигналу:
- амплітуда А = 4В;
- період Т = 0.8с;
- індикації – статична
Ескізний малюнок пристрою
Вступ
Мікропроцесорна система - управляюча інформаційна або інша спеціалізована цифрова система, побудована на базі мікропроцесорних пристроїв. [1]
Мікропроцесорна ЕОМ (мікро-ЕОМ) - це ЕОМ, що складається з мікропроцесора (мікропроцесорів), напівпровідникової пам'яті, засобів зв'язку з периферійними пристроями та джерела живлення, поєднаних загальною несучою конструкцією. [2]
Під організацією мікро-ЕОМ розуміють склад її програмно-апаратних засобів, зв'язки між ними і їх функціональні характеристики. Мікросистеми мають багаторівневу ієрархічну організацію з багатьма складовими компонентами на кожному рівні. З нижнім рівнем функціонального опису МПС і її складових пов'язано поняття фізичної організації мікро-ЕОМ - її функціональна схема. Термін "логічна організація" відноситься до більш високих рівнів опису мікро-ЕОМ. Так, логічна організація на рівні апаратури - це склад, функціональні зв'язки і характеристики взаємодії апаратних модулів в процесі виконання різних задач, які звичайно називають структурною схемою або структурою. Про логічну організацію на рівні програмного забезпечення (ПО) говорять як про обчислювальне середовище і її особливості. [1]
Кінцева мета проектування МПС - створення працездатного і оптимального виробу на базі одного або декількох МП. Можливість її досягнення визначається в першу чергу вибором раціонального співвідношення між програмними і апаратними засобами. Для цього вводиться поняття архітектури.
Мікросистема (МС) складається з побудованого на базі МПК центрального процесора (ЦП), основної пам'яті для зберігання програм і даних, а також підсистеми уведення-виведення для зв'язку МПС із зовнішньою апаратурою. Задача управління МС покладається на ЦП, який пов'язаний з пам'яттю і підсистемою ВВ через канали пам'яті і ВВ відповідно. Центральний процесор прочитує з пам'яті МС команди, які утворюють програму, і декодує їх. Відповідно до результату декодування команд він здійснює вибірку даних з пам'яті МС і портів введення, обробляє їх і пересилає назад в пам'ять або порти виводу підсистеми ВВ. Існує також можливість ВВ даних з пам'яті на зовнішні пристрої і назад, минаючи ЦП. В такому випадку обмін даними виконується через канал прямого доступу до пам'яті (ПДП), управління яким покладається на підсистему ВВ. Іноді виділяються ресурси підтримки режиму реального часу, в найпростішому випадку що розділяються процесором і підсистемою ВВ. [1]
1.Програмна реалізація функцій часу
Варіант №3
Форма сигналу: U(t) = A*(1-exp(-at/T);
Значення параметрів:
А=4В
Т=0,8с
Індикація: статична.
N=40 відліків
Заданий сигнал: U(t) = A*exp(-at/T) ; А=4В; Т=0.8 с; а= 6
Рис.1. Часова залежність заданого сигналу
Таблиця 1.
Відліки
Δt*n
U(Δt*n)
Код ЦАП
Код ЦАП ціле число 8
У шіснадцяткові сис.
0
0
0
0
0
0
1
0,02
0,5572
35,6608
35
23
2
0,04
1,0367
66,3488
65
41
3
0,06
1,4495
92,768
92
5C
4
0,08
1,8048
115,5072
115
73
5
0,1
2,1105
135,072
134
86
6
0,12
2,3737
151,9168
151
97
7
0,14
2,6002
166,4128
165
A5
8
0,16
2,7952
178,8928
178
B2
9
0,18
2,963
189,632
189
BD
10
0,2
3,1075
198,88
198
C6
11
0,22
3,2318
206,8352
206
CE
12
0,24
3,3388
213,6832
213
D5
13
0,26
3,4309
219,5776
219
DB
14
0,28
3,5102
224,6528
224
E0
15
0,3
3,5784
229,0176
228
E4
16
0,32
3,6371
232,7744
232
E8
17
0,34
3,6877
236,0128
235
EB
18
0,36
3,7312
238,7968
238
EE
19
0,38
3,7686
241,1904
240
F0
20
0,4
3,8009
243,2576
242
F2
21
0,42
3,8286
245,0304
244
F4
22
0,44
3,8525
246,56
246
F6
23
0,46
3,873
247,872
247
F7
24
0,48
3,8907
249,0048
248
F8
25
0,5
3,9059
249,9776
249
F9
26
0,52
3,919
250,816
250
FA
27
0,54
3,9303
251,5392
251
FB
28
0,56
3,94
252,16
251
FB
29
0,58
3,9484
252,6976
252
FC
30
0,6
3,9556
253,1584
252
FC
31
0,62
3,9618
253,5552
253
FD
32
0,64
3,9671
253,8944
253
FD
33
0,66
3,9717
254,1888
253
FD
34
0,68
3,9756
254,4384
253
FD
35
0,7
3,979
254,656
254
FE
36
0,72
3,9819
254,8416
254
FE
37
0,74
3,9845
255,008
254
FE
38
0,76
3,9866
255,1424
254
FE
39
0,78
3,9885
255,264
254
FE
40
0,8
4
256
255
FF
Рис.2. Залежність коду ЦАП від номера відліку
Рис.3. Залежність напруги від номера відліку
2.Мікропроцесорний комплект КР580
Мікропроцесор КР580ИК80А
Розглядати даний мікропроцесорний комплект КР580 почнемо з мікропроцесора (МП) КР580ИК80А, який зображений на рис.3.
Рис.3 Мікропроцесор КР580ИК80А
Функціональне призначення виводів:
А0 - А15- адресна шина, забезпечує адресацію до довільної 16-розрядної комірки пам'яті або зовнішнього пристрою;
D0 - D7 - двонапрямлена шина даних (ШД), для обміну інформацією із зовнішніми пристроями;
F1, F2 - входи тактових сигналів:
INT - запит на переривання;
HOLD - запит на ПДП;
SYNC- сигнал синхронізації на початку кожного машинного циклу;
DBIN- готовність МП до приймання даних;
WR- сигнал на виході МП, що дані видані й встановлені на ШД для їх запису у зовнішні пристрої;
READY - підтвердження про готовність даних на ШД та їх введення у МП;
RESET - на цьому виводі формується сигнал на початкову установку МП, при цьому обнулюється його програмований лічильник, а також тригери, які формують сигнали;
WAIT - сигнал на підтвердження про те, що МП знаходиться в стані очікування;
INTE - дозвіл на переривання;
HLDA - підтвердження ПДП.
Тактовий генератор КР580ГФ24
В даному мікропроцесорному комплекті системним генератором є мікросхема КР580ГФ24 (рис.4) виконана по біполярній технології, споживаний струм 15 і 12 мА від джерел +5, +12 В відповідно. Сигнали синхронізації формуються задаючим генератором, стабілізованим кварцом з резонансною частотою до 27 МГц, дільником частоти з коефіцієнтом 9.
Рис.4 мікросхема КР580ГФ24
Для роботи генератора тактових імпульсів (ГТІ) передбачено увімкнення зовнішнього кварцового резонатора, а також LC- коливальної системи, яка задає часову постійну.
Функціональне призначення виводів:
F1 - сигнал високого рівня тривалістю у два періоди коливань опорного генератора (для керування МОН входами);
F2 - сигнал високого рівня тривалістю у п'ять періодів коливань опорного генератора (для керування МОН входами);
XTAL1, XTAL2 - входи для вмикання КР;
RDYIN- вхідний сигнал від МП який ініціює формування сигналу готовності системи;
RESIN- вхідний сигнал, який ініціює формування сигналу "скид системи";
READY- вихідний сигнал; який формується мікросхемою для керування МПС;
SYNC- вхід тактової послідовності;
RESET- на цьому виводі ГП формується сигнал "скиду" МП у початковий стан;
STSTB - вихідний імпульс строба стану низького рівня тривалістю один період коливань опорного генератора;
TANK - вивід для підключення LC- коливальної системи.
Шинний формувач КР580ВА86/87
Мікросхема КР580ВА86/87 (рис.5) являє собою двонаправлений шинний формувач з трьохстановими виходами, виконаних по біполярній технології, живляться від джерела +5 В і споживають струми 169 та 130 мА відповідно.
Рис.5 Мікросхема КР580ВА86А
Канал А забезпечує струм навантаження 15 мА, Канал ВA забезпечує струм навантаження 32 мА. Напрям передачі вибирається сигналом на вході Т. Мікросхема КР580ВА86 виконує передачу без інверсії, мікросхема КР580ВА87 – з інверсією.
Системний контролер КР580ВК28
Для буферизації шини даних та для формування сигналів керування використовують системний контролер КР580ВК28. Графічне позначення ВІС типу КР580ВК28 (рис. 6) системного контролера.
Рис.6 Системний контролер КР580ВК28
Призначення виводів системного контролера:
D0-D7— виводи, які увімкнено до відповідних вихідних ліній МП;
BD0- BD7 - виводи, які увімкнено до шини даних;
DBIN - сигнал про готовність МП до приймання даних; STSTB - сигнал строю стану системного контролера;
HLDA - сигнал підтвердження захвату шин;
WR - інформаційна шина КР580ИК80;
MEMR - читання даних із пам'яті;
MEMW- запис даних у пам'ять; IOR - читання з лінії ввід/ вивід; IOW- запис у лінію ввід/ вивід.
Структура мікропроцесора на мікропроцесорному комплекті КР580 приведена на рисунку 7.
Рис. 7 Структура мікропроцесора на мікропроцесорному комплекті КР580
3. Запам’ятовуючі пристрої МП системи
Запам’ятовуючі пристрої в МПС діляться на:
1.Постійно запам'ятовуючий пристрій - працює лише у режимі читання. Він використовується для збереження програм і даних, які потребують для роботи системи і не підлягають зміні.
2.Оперативно запам'ятовуючий пристрій працює у двох режимах і зберігає поточну інформацію, яка введена у МПС. Цей пристрій працює у двох режимах, які залежать від виконання програм і уведених даних. За допомогою цього пристрою змінюються необхідні параметри даних, записуються поточні результати, для їх виводу або подальшої обробки і таке інше.
Оцінка потреб пам’яті.
Є декілька видів запам’ятовуючих пристроїв: оперативний запам’ятовуючий пристрій, постійний запам’ятовуючий пристрій, КЕШ – пам’ять, також стек може виступати як окремий пристрій. Вибираємо ПЗП для запам’ятовування коду програми, ОЗП – для використання мікропроцесором, як область для зберігання проміжних даних.
Визначення об’ємів пам’яті.
Достатньо 2 Кб ПЗП і 2 Кб ОЗП.
Рис. 8 Мікросхеми К573РФ2 – ПЗП і К537РУ8A – ОЗП.
Розподіл пам'яті проводимо з урахуванням того, що основна програма, записана у ПЗП, а тому перше звертання МП здійснюється до нульової комірки ПЗП.
В якості ЗП пристроїв беремо мікросхеми типу К573РФ2 – ПЗП (час вибірки становить 450 нс; потужність 580 мВт при напрузі +5В) і К537РУ8А (час доступу 220 нс; споживана потужність 6 мВт при напрузі живлення 5В) (рис. 8) - ОЗП. - А0- А10 - вхідні адреси комірок пам'яті, з'єднані із шиною адреси МПС;
D0-D7 - вихідні виводи, на які виставляються дані, що зберігались у запам'ятовуючому пристрої, з'єднуються з шиною даних МПС:
CS - вхідний вивід, за яким визначається звертання до ПЗП чи ОЗП:
СЕ - вхідний вивід, який визначає режим роботи запам'ятовуючого пристрою (читання або запис ).
Сімейство
Технологія
Тип ВІС
Організація
К537
КМОП
К537РУ8A
2К(8
К573
nМОП
К573РФ2
2К(8
Карта пам’яті.
Оскільки, кожен пристрій пам’яті згідно нашого вибору має 2 Кб, це означає, що кожен пристрій буде займати 2048 адрес. Ці пристрої підключаються до шини адрес паралельно. Даний адресний простір можна забезпечити за допомогою одинадцяти ліній ( А0 – А10 ).
Першу частину адрес ми відвели для ПЗП а не для ОЗП, оскільки в перший момент роботи мікропроцесора відбувається ініціалізація процесора, в ході якої усі регістри обнулюються, в тому числі й програмний лічильник, у зв’язку з чим мікропроцесор звертається до першої команди за адресою 0000H.
Адреса
Адреса
№ корпуса
Тип/типономінал
0000000000000000B
….
0000011111111111B
0000H
….
07FFH
№ 1
ПЗП/К573РФ2
0000100000000000B
….
0000111111111111B
0800H
….
0FFFH
–
Вільні адреси
0001000000000000B
….
0001011111111111B
1000H
….
17FFH
№ 2
ОЗП/К537РУ8А
0001100000000000B
….
1111111111111111B
1800H
….
FFFFH
–
Вільні адреси
Дешифрація схем пам’яті.
Як бачимо, ні режим роботи, ні вибір комірки не визначають вид ЗП. Тому у цих пристроях передбачений вивід, який визначає активний стан ОЗП або ПЗП. Для визначення виду ЗП потрібно вибрати лінію старших розрядів, наприклад, А12. Якщо стан лінії А12 відповідає логічний "0", то звертання відбувається до ПЗП, і для стану лінії А12 — логічній "1", звертання відбувається до ОЗП. Оскільки для вибору ЗП використовується одна лінія, то між ОЗП і ПЗП ставимо інвертор (рис. 9).
У випадку, коли б у нас було більше двох пристроїв, ми використали б дешифратор потрібної розрядності або схему дешифрації на логічних елементах.
Рис. 9 Підключення мікросхеми КР573РФ2 – ПЗП і КР537РУ8A – ОЗП.
4.Проектування системи вводу-виводу МПС
За допомогою пристрою вводу/виводу у МПС засилається інформація, а також виводиться на контрольні пристрої. Для проектованої МПС, згідно технічного завдання, зовнішніми пристроями є:
сегментні індикатори;
клавіші;
ЦАП
Узгодженість зовнішніх пристроїв із внутрішніми визначається, як навантажувальною здатністю пристрою ввід/вивід, так і числом вихідних ліній МПС із числом вхідних ліній зовнішніх пристроїв.
Для запалювання сегмента індикатора на нього треба подати рівень логічного нуля, що відповідає індикаторам типів АЛС32Б , АЛС342Б. На індикаторах буде виводитись одна з трьох цифр: 1, 2, 4. На основі цього нижче в таблиці наведений стан рівнів на виходах a-g в залежності від цифри.
Цифра
a
b
c
d
e
f
g
Число
1
1
0
0
1
1
1
1
4FH
2
0
0
1
0
0
1
0
12H
4
1
0
0
1
1
0
0
4CH
З даної таблиці видно, що сегмент “b” запалений завжди, тому його можна закоротити на землю. Сегменти “a”, “d” і “e” завжди мають один рівень, тому їх можна об‘єднати і керувати ними одним сигналом. Тому для управління одним індикатором потрібно 4 ліній. Для управління двома індикаторами в статичному режимі необхідно 8 ліній. Для управління ЦАПом потрібно 8 ліній. Тому загальна кількість ліній виводу буде становити 16 ліній при статичній індикації.
4.1 Реалізація паралельного інтерфейсу
Складовими частинами інтерфейсу можуть бути ШФ, багато режимні буферні регістри (ББР) або програмований периферійний адаптер (ППА) типу КР580ВВ55 (рис. 10).
Графічне позначення ППА типу КР580ВВ55 :
D0 - D7 - вхідні виводи ППА, які увімкнені до ШД МП системи (D0 - молодший розряд):
PА0 - PА7 - вихідна шина даних каналу А;
PB0 - PB7 - вихідна шина даних каналу В;
PС0 - PС3 - вихідна шина даних каналу С (молодші розряди):
PС4- PС7 - вихідна шина даних каналу С (старші
розряди);
CS- вибір пристрою:
А0, А1 - молодші розряди ША, за якими проводиться вибір каналу; RD - сигнал, за яким проводиться встановлення
даних внутрішнього регістра ВІС, на ШД;
WR - вхідний сигнал, який дає дозвіл на запис даних у ППА:
R - сигнал, по якому ВІС переходить у початковій стан.
Рис.10 Програмований периферійний адаптер (ППА) типу КР580ВВ55.
Коли на вході CS є сигнал низького рівня, в залежності від того, який з сигналів IORD чи IOWR є активним, відбудеться запис в ППА чи зчитування з нього. Комбінація сигналів на входах A0 та A1 визначає канал, з яким відбудеться обмін інформацією.
Перед початком роботи, ППА треба запрограмувати, тобто задати режими роботи кожного каналу. Програмування відбувається шляхом одноразового запису в регістр керуючого слова відповідного байта.
Вибраний тип ППА має три основних режими роботи:
режим "0" - звичайний ввід/ вивід;
режим '1" - стробований ввід/ вивід;
режим "2" - двонапрямлена магістраль.
Для цілей поставлених технічному завданні найбільш зручною є робота ППА в режимі 0, в режимі вводу сигналів, які поволі міняються. При виводі в цьому режимі на лініях каналів можна програмно формувати різні сигнали, тобто керувати роботою індикаторів.
В даній роботі канали A, B та молодший підканал програмуються на вивід в режимі 0, старший підканал С- на ввід.
Оскільки максимальна навантажувальна здатність виходів КР580ВВ55 становить 2мА, а струм сегментів знаходиться в межах 10-15 мА, між виходами ППА і виходами індикаторів необхідно включати буферні елементи з відкритими колектором – інвертори 155ЛН2, 155ЛН3 або повторювачі 155ЛП9. Опори між виходами інверторів і входами індикаторів обмежують середній струм через сегмент на рівні 10 мА.
Лінії каналу C, які працюють на клавіатуру, під‘єднані через опори 10кОм до шини +5В. Таким чином при розімкнених клавішах відповідні розряди каналу C мають стан лог. "1". При натисненій клавіші лінія переходить в стан лог. "0". Невизначеність станів лінії, яка виникає в моменти натискання та відпускання клавіш ліквідується програмним шляхом.
Через канал A на ЦАП подається код, який відповідає вихідній напрузі. ЦАП вибраний з розрядністю 8. Для роботи ЦАП до його виходів необхідно підключити операційний підсилювач з коректуючими елементами.
Адресація паралельних програмованих адаптерів здійснюється наступним чином – два молодші розряди адресної шини подаються на відповідні входи адаптера, а лінія А3 подається на вхід вибору корпуса. Таким чином адресація має такий вигляд:
IORD
IOWR
Al
A2
A3(CS)
Робота з каналом
1
0
0
0
0
Запис v канал А1
1
0
0
1
0
Запис у канал В1
1
0
1
0
0
Зчитування з каналу С1
1
0
1
1
0
Запис у регістр керованого слова 1
1
0
0
0
1
Запис у канал А2
1
0
0
1
1
Запис у канал В2
1
0
1
0
1
Зчитування з каналу С2
1
0
1
1
1
Запис у регістр керованого слова 2
4.2 Двоклавішна клавіатура
Основними елементами будь-якої клавіатури являються перемикачі. Вони використовуються для комутації електронних кіл постійного та змінного струму. Для побудови двоклавішної клавіатури використаємо два мікроперемикачі типу МП12. Основні характеристики цього перемикача:
- струм комутації – 10-6…0,5 А;
- напруга комутації – 0,5…36 В;
- число комутацій – 104.
Слід зауважити, що перед встановленням мікроперемикачів у клавіатуру після тривалого зберігання необхідно виконати їх тренування (15 перемикань).
Лінії каналу C (PC4, PC5) ППА, що працюють на клавіатуру, під’єднані через опори 10 кОм до шини +5 В. Таким чином при розімкнених клавішах відповідні розряди каналу С мають стан лог.1. Невизначеність станів лінії, яка виникає в момент натискання та відпускання клавіш, ліквідується програмним шляхом.
Приймаємо, що клавіша, котра підключена до лінії PC4, відповідає за зміну амплітуди сигналу, а та, котра підключена до лінії PC5 – за його тривалість.
Паралельно виводи клавіатури РС4, РС5 слід підключити до елемента I, а його вивід під’єднати до входу INT мікропроцесора. Це потрібно для уникнення можливих збоїв під час роботи клавіатури, тобто при замиканні клавіш повинен подаватися сигнал запиту на переривання до процесора.
4.3. Система індикації
В даній системі використано статичну індикацію. Коли мікропроцесорна система включена, індикатори завжди відображають інформацію про коефіцієнти амплітуди та періоду. Оскільки ці індикатори включені постійно, керуючі сигнали на них слід подавати окремо. За таблицею встановлено, що для керування одним індикатором потрібно використати 5 ліній керування. Для керування двома такими індикаторами одночасно, слід використати 10 ліній.
У таких мікропроцесорних системах для підключення пристроїв індикації як правило використовують канал В паралельного програмованого адаптера. Але цей канал 8-розрядний. Для забезпечення одночасної роботи усіх десяти виводів пристроїв індикації, запрограмуємо молодший підканал С на вивід, а лінії PC0 та PC1 будемо використовувати як старші додаткові лінії каналу В.
Оскільки максимальна навантажувальна здатність виходів К580ВВ55 становить 2 мА, а струм сегментів індикатора АЛС342Б знаходиться в межах 10…15 мА, між виходами ППА і входами індикаторів необхідно включати буферні елементи з відкритим колектором – інвертори КР1533АП15. Напруга живлення індикаторів АЛС342Б – 5 В.
4.4. Цифро-аналоговий перетворювач
Основне призначення цифро-аналогових перетворювачів – автоматичне перетворення (декодування) двійкових кодів на еквівалентні їм значення будь-якої фізичної величини (напруги або струму). Кількісний зв'язок між вхідним числом, переважно двійковим, кодом N2 і його аналоговим еквівалентом, наприклад напругою UВИХ, для довільного моменту часу t1 визначається співвідношенням
(5.4.1)
де (U – крок квантування за рівнем напруги, тобто “вага” одного дискрету напруги, якій відповідає один двійковий розряд; (Ui – похибка перетворення.
Основними параметрами ЦАП є динамічний діапазон зміни вхідних та вихідних значень, швидкодія і похибка перетворення.
Динамічні діапазони за входом (Umax/Umin) і виходом (N2max/N2min) при лінійному цифро-аналоговому перетворенні мають одне і те саме значення, яке виражають або числом розрядів цифрового коду, або в децибелах; при Umin=0, Nmin=0 динамічний діапазон D=Umax/(U=Nmax/(N, де (U, (N – допустимі абсолютні похибки відхилення значень статичної характеристики UВИХ=f(N2) від лінійного закону.
Швидкодію цифро-аналогового перетворення визначають такі часові параметри:
– час перетворення – інтервал часу, протягом якого відбувся акт однозначного перетворення із цифрового коду в аналоговий сигнал;
– частота квантування – величина, що обернена періоду квантування, тобто інтервалу часу між сусідніми послідовними перетвореннями.
Схеми ЦАП виготовляють в інтегральному виконанні з метою їх використання у мікропроцесорній техніці.
Для реалізації цифро-аналогового перетворення переважно використовують два типи матриці резисторів:
- складеної із двійково-зважених резисторів;
- постійного імпедансу типу R-2R.
Вибраний ЦАП типу DAC7621E
Даний ЦАП має наступні параметри:
- розрядність – 8 біт;
- час перетворення – 0,2 мкс;
- опорна напруга – від 0 до +20 В;
- диференційна нелінійність – 0,1 %;
- струм споживання – 2 мА.
Задаємо опорну напругу рівною 4В.
5. Проектування програмного забезпечення мікропроцесорної системи
Асемблер використовується для написання системних та прикладних програм, що працюють в реальному масштабі часу. Формат стрічки програми на мові Асемблер має вигляд:
мітка: команда операнди; коментар.
Стрічка програми складається з шести полів. Перших два поля генеруються транслятором. Колонка коментарів завжди починається символом ";" і є необов'язковою.
Мітка є унікальна послідовність символів, довжиною не більше шести, яка починається з букви або знаків "@","!".
Мітка-це ідентифікатор першого байту команди, біля якої вона з'являється. Наявність мітки в команді необов'язкова, але якщо вона є, тоді мітка стає символічним ім'ям, яке застосовується в командах переходів для передачі управління відміченій команді. Мітками не можуть бути назви команд або регістрів та псевдокоманди ORG,EQU,DB,DW,DS,END. Мітка обмежується справа символом ":" В полі команд поміщають мнемонічну назву однієї з команд процесора або одну з наведених вище псевдокоманд. Команди бувають без oперандів або з одним чи двома операндами.
Перший операнд є результат, а другий ― джерело. Операндами є назви регістрів, регістрових пар, мітки, а також ідентифікатори, числа та вирази. Числа можуть бути представлені в двійковому, вісімковому, десятковому та шістнадцятковому вигляді. Відповідно до системи числення в кінці числа має бути одна з букв: В, С, D, Н. Число без букви в кінці інтерпретується як десяткове або як шістнадцяткове, якщо в складі числа є одна з букв А-F. Шістнадцяткове число, що, починається з букви необхідно доповнити зліва нулем.
Ідентифікатори мають відповідати тим самим умовам, що й мітки. Ідентифікатори ― це назви констант та змінних. Для надання константам та змінним початкових значень використовується псевдокоманда EQU.
Текст програми на мові Асемблер повинен починатись псевдокомандою ORG з oперандом, яка задає початкову адресу області трансляції. Останньою стрічкою програми є псевдокоманда END. [2]
Алгоритм роботи
Загальний алгоритм роботи пристрою наведений на блок-схемі, яка відображає процес лише поверхнево.
Повний текст програми
ORG 0
mvi a,089 ;РКС
out 0fbh ;
lxi h,sampl;
sa ds 1 ;резервується пам'ять для sa
sam ds 1 ;резервується пам'ять для sam
p ds 1; ;резервується пам'ять для p
g ds 1 ;резервується пам'ять для g
mvi a,1; ;присвоєння А=1
sta sa; ;присвоєння sa=1
sta sam; ;присвоєння sam =1
sta p; ;присвоєння p=1
sta g; ;присвоєння g=1
mvi c,28h ;кількість відліків
WKL in 0fah ;опитування клавіші
ani 1h ;логічне множення
jnz wkl; ;перехід на мітку wkl
lda sa; ;занесення в А значення sa
inr a ;інкрементація А
cpi 4h ;порівняння А з числом 4
jnz m1 ;перехід,якщо не 4
mvi a,1h ;присвоєння А=1
m1 sta sa ;занесення в комірку sa значення А
cpi 1h ;порівняння А з числом 1
jnz n1; ;перехід на мітку n1
mvi d,4ch ;присвоєння d:=4ch
mvi a,30H ;присвоєння A:=60h
sta g; ;занесення в комірку g значення А
jmp cykl ;безумовний перехід
n1 cpi 2h; ;порівняння А з числом 2
jnz n2; ;перехід на мітку n2
mvi d,4fh; ;присвоєння d:=4fh
mvi a,5H ;присвоєння a:=10h
sta g; ;занесення в комірку g значення А
jmp cykl ;безумовний перехід
n2 cpi 3h; ;порівняння А з числом 3
jnz cykl; ;перехід на мітку cykl
mvi d,12h ;присвоєння d:=12h
mvi a,15H ;присвоєння a:=30h
sta g; ;занесення в комірку g значення А
amplit
lda sam; ;занесення в A значення sam
cpi 1h; ;порівняння А з числом 1
jnz por2; ;перехід на мітку por2
mvi e, 2fh; ;присвоєння e:=2fh
mov a,m; ;занесення в A значення регістрів HL
jmp cykl; ;перехід на мітку cykl
por2 cpi 2h; ;порівняння А з числом 2
jnz por3 ;перехід на мітку por3
mvi e,12h; ;присвоєння e:=12h
mov a,m ;занесення в A значення регістрів HL
rar; ;зсув в право
jmp cykl; ;перехід на мітку cykl
por3 cpi 3h; ;порівняння А з числом 3
mvi e, 2ch ;присвоєння e:=2h
mov a,m ;занесення в A значення регістрів HL
rar; ;зменшення
stc; ;амплітуди
cmc; ;у 4
rar; ;рази
cykl out 0f3h; ;вивід на порт значення А
lda g; ;занесення в А значення g
mov b,a; ;занесення в b значення регістрa a
call delay; ;перехід на підпрограму
INX H; ;інкрементація пари регістрів HL
dcr c; ;декрементація регістра с
jnz per; ;перехід на мітку per
lxi h,sampl; ;занесення sampl в пару регістрів HL
mvi c,0eh; ;присвоєння с:=eh
per mov a,e; ;занесення в a значення регістрa e
ani 0f0h; ;вивід на порт значення А
out 0f1h ;вивід на порт значення А
mov a,e; ;занесення в a значення регістрa e
ani 3h; ;логічне множення
add d; ;Додавання А з регістром d
out 0f2h; ;вивід на порт значення А
in 0fah; ;опитування клавіш
sta p ;занесення в p значення по адресі А
ani 2h; ;логічне множення на 2
cpi 2; ;порівняння А з числом 2
jnz rty; ;перехід на мітку rty
lda sam; ;занесення в A значення sam
INR A; ;інкрементація A
cpi 4h ;порівняння А з числом 4
jnz eee ;перехід на мітку tdi
mvi a,1h ;присвоєння A:=1
tdi sta sam ;занесення в sam значення по адресі А
tdi2 in 0fah; ;опитування клавіш
ani 2; ;логічне множення на 2
jnz eeeee; ;перехід на мітку tdi2
rty lda p ;занесення в A значення p
ani 1; ;логічне множення на 1
jz amplit ;перехід на мітку cykl
jmp wkl ;перехід на мітку wkl