
- •1. Розробка структурної схеми системи
- •2. Розробка і опис принципової схеми системи
- •2.1 Розробка мікропроцесорного блоку
- •2.2 Розробка блоку пам’яті (озп і пзп)
- •2.3 Інтервальний таймер
- •2.4 Аналого-цифровий перетворювач (ацп)
- •2.5 Контролер клавіатури і індикації
- •2.6 Адаптер послідовного інтерфейсу Intel 8251
- •2.7 Розрахунок електричних навантажень на лінії мікросхем
- •Висновки
2.3 Інтервальний таймер
Одним з елементів, обумовлених завданням, є інтервальний таймер i8254. Таймер призначений для формування затримок послідовності імпульсів, формування одиночних імпульсів заданої тривалості, формування стробуємих імпульсів із програмованою затримкою. Виконаний по n-МОП технології.
Рис.10 - Умовне графічне позначення таймеру i8254
D0 - D7 - двонаправлена шина даних з високоімпедансним станом.
А0 - А1 - розряди шини даних, визначають регістр, що буде адресуватися: А1А0 = 00 - адреса каналу 0; А1А0 = 01 - адреса каналу 1; А1А0 = 10 - адреси каналу 2; А1А0 = 11 - адреса регістра керуючого слова
- вибір кристала
- сигнал запису
- сигналу читання
CLK0 - CLK2 - вхід дозволу подачі імпульсу від зовнішнього джерела
GATE0 - GATE2 - вхід дозволу подачі імпульсу сlk на таймер/лічильник
OUT0 - OUT2 - вихід таймерів/лічильників
Вхідні сигнали CLK0 - CLK2 подаються через схеми із зовнішніми керуючими входами GATE0 - GATE2. Кожен лічильник має вихідний сигнал OUT. Інші вузли схеми призначені для установки режиму й реалізації інтерфейсу із системною шиною.
Для функціонування таймера мікроконтролер повинен завантажити керуючі слова, значення яких позначають режим кожного лічильника, і необхідні початкові значення. У завданні нам дані параметри для програмування таймера, тому ми проініціализуємо його в розділі розробки програм ініціалізації.
Електричні параметри i8254:
1. Напруга живлення - 5 В
2. Вихідна напруга:
високого рівня - 2,4 В
низькі рівні - 0,5 В
3. Вихідний струм високого рівня - 1 мА
4. Вихідний струм низького рівня - 5 мА
5. Вхідний струм високого рівня - 30 мкА
6. Вхідний струм низького рівня - 30 мкА
Рис.11 - Схема підключення таймера i8254
2.4 Аналого-цифровий перетворювач (ацп)
Згідно із завданням, у нашій МПС повинен бути використаний аналого-цифровий перетворювач. Це пристрій, який перетворює аналоговий сигнал у цифровий код. Цей код повинен потрапляти на всі пристрої, таким чином, АЦП підключається до загальної шини.
Варіантом передбачено використання 12ти розрядного швидко-діючого АЦП послідовного наближення, працюючого із ТТЛ-рівнями. Так як дана мікросхема не має окремого блоку цифрового керування, то включення АЦП до шини даних проводиться завдяки регістру К1810ИР82. Нижче наведено УГП MAX201В (іноземний аналог).
Рис.12 - Умовно графічне позначення MAX201B
Основні електричні параметри мікросхеми приведені нижче:
Напруга живлення: +5±10%В, - 15±15%
Максимальний вхідний струм лог.1: 100мкА
Максимальний вхідний струм лог.0: 100мкА
Мінімальна вхідна напруга лог.1: 2В
Максимальна вхідна напруга лог.0: 0,8В
Максимальний вихідний струм лог.1: 0,5мА
Максимальний вихідний струм лог.0: 3,2мА
Мінімальна вихідна напруга лог.1: 2,4В
Максимальна вихідна напруга лог.0: 0,4В
Вхідна ємність по всіх виводах (на частоті 1МГц): 6пФ
Вихідна ємність (на частоті 1МГц): 5пФ
Похибка перетворення: ±1/2ОМР
Час перетворення: 20мкС
Струм живлення: 15мА
Споживана потужність: 800мВт
2.5 Контролер клавіатури і індикації
Для керування індикацією та сканування клавіатури використовується спеціалізована мікросхема i8279. Вона являє собою контролер клавіатури та індикації. Мікросхема має внутрішній ОЗП клавіатури та індикації, може працювати у декількох режимах і дозволяє керувати восьми - або шістнадцятирозрядною індикацією та опитувати до 128 клавіш або дискретних датчиків. Умовне графічне позначення мікросхеми приведене на рис.14.
Рис.13- Умовне-графічне позначення мікросхеми i8279
Внутрішня адресація виробляється по входу A0, тому на цей вхід потрібно подати сигнал з адресної шини. Обмін даними йде по шині даних. Входи RL0-RL7 мікросхеми служать для зчитування стану клавіш клавіатури; виходи OutA3-OutA0, OutB0-OutB3 підключаються до індикаторів; виходи S0-S3 - це виходи сканування рядків клавіатури й перебору індикаторів при відображенні. При надходженні інформації від клавіатури контролер виробляє запит на переривання, виставляючи на виході IRQ сигнал активного рівня. Цей сигнал надходить на один із входів зовнішніх переривань мікроконтролера.
Найменування виводів мікросхеми i8279:
D0…D7 - входи-виходи з третім станом
CS - вибір мікросхеми
RD - читання
WR - запис
A0 або C/D - команда / данні
CLK - синхронізація
RES - початкова установа
S0…S3 - сканування
BD - гасіння індикації
OUTA3… OUTA0, OUTB3… OUTB0 - коди символів
R0…R7 - прийом сигналів з клавіатури
SHIFT - верхній / нижній регістр
IRQ - запит переривання
Технологічні та електричні характеристики:
Технологія - ТТЛШ
Напруга живлення, В - 5
Вихідна напруга, В:
високого рівня - 2,4
низького рівня - 0.45
Вихідний струм, мA:
при напрузі низького рівня - 5
при напрузі високого рівня - 1
Вхідний струм, мкA:
низького рівня - 30
високого рівня - 30
Потужність - 350 мВт
Струм споживання - 60 мА
Режими роботи інтерфейсу клавіатури:
1. Послідовне опитування матриці клавіш із декодуванням і забороною уведення двох одночасно натиснутих клавіш.
2. Послідовне опитування з дешифруванням лічильника сканування з дозволом натискання N клавіш (N<=8).
3. Послідовний режим без дешифрації клавіш із забороною уведення 2х і більше натиснутих клавіш (S0-S3 - Висновки лічильника, до нього підключений 8 розрядний дешифратор (128 кл))
4. Послідовне опитування без дешифрування й з дозволом N натиснутих клавіш N<=8.
5. Послідовне опитування матриці датчиків з дешифруванням матриці сканування.
6. Послідовне опитування матриці датчиків без дешифрування матриці сканування.
7. Стробований вхід з дешифруванням лічильника сканування, що використається для опитування.
8. Стробований вхід без дешифрування лічильника сканування, що використається для опитування.
Режими роботи блоку індикації:
0. Виводить символ на 8мі розрядну індикацію, з розміщенням їх ліворуч праворуч.
1. Виводить символ на 16ти розрядну індикацію, з розміщенням їх ліворуч праворуч.
2. Виводить символ на 8мі розрядну індикацію, зі зрушенням раніше відображеної інформації вліво.
3. Виводить символ на 16ти розрядну індикацію, зі зрушенням раніше відображеної інформації вліво.
Згідно завданню треба організувати 8 індикаторів та 11 клавіш.
Для перетворення двійкового коду у семисегментний використаємо дешифратор К155ИД7, який має три входи і вісім виходів, чого достатньо для виконання поставленої задачі. Даний дешифратор у своєму составі має керуючі входи для організації динамічної індикації.
Рис.14 - Умовне графічне позначення К155ИД7
Найменування виводів:
А0-А2 - адресні входи,
Q0-Q7 - лінії виходу,
С1-С3 - ліній вибору мікросхеми.
Технологічні та електричні характеристики:
Технологія - ТТЛШ
Напруга живлення, V - 5
Вихідна напруга, V
високого рівня - 2,2
низького рівня - 0.8
Вихідний струм, mA
при напрузі високого рівня - 20
при напрузі низького рівня - 8
Струм споживання, mA – 74
Рис.15 - Схема підключення блоку i8279
Сформуємо формат команди встановлення режиму роботи контролера:
ICW1 = 00000001B = 01H
Обрано Режим 0 роботи інтерфейсу індикації та Режим 1 роботи інтерфейсу клавіатури, вивід символів на 8мі розрядну індикацію з розміщенням їх ліворуч праворуч та з запереченням натискання двох або більше клавіш.
Сформуємо формат команди програмування синхронізації: ICW2 = 00110100B = 34H. Коефіцієнт переліку вибрано рівним 20, тобто 10100В, тому що внутрішня частота інтерфейсу не повинна перевищувати 100кГц (2МГц /20 = 100кГц).
Сформуємо формат команди запису у ОЗП індикації:
ICW3 = 10010000B = 90H
Сформуємо формат команди читання ОЗП клавіатури:
ICW4 = 01010000B = 50H
Програма ініціалізації контролера клавіатури і індикації i8279
Мітка |
Мнємокод |
Операнди |
Коментарії |
i8279:
m1: |
. equ . equ . equ . equ . equ . equ ldi sts ldi sts ldi sts ldi ldi mov sts dec cpi brne ldi lds mov ret |
ICW1 = 0x01 ICW2 = 0x34 ICW3 = 0x90 ICW4 = 0x50 Adr2 = 0x8000 Adr1 = 0x8001 R0, ICW1 Adr1, R0 R0, ICW2 Adr1, R0 R0, ICW3 Adr1, R0 R1, 0x08 R2, 0x100 R3, R2 Adr2, R3 R2 R2, 0 m1 R4, 0x300 R5, Adr2 R4, R5
|
; команда установки режиму ; команда программ. синхронізації ; команда запису в ОЗП індикації ; команда читання ОЗП клавіатури ; адреса завантаження команд ; адреса завантаження даних ; завантаження команди режиму роботи ; у контролер ; завантаження команди програмування ; синхронізації у котролер ; завантаження команди запису в ОЗП ; індикації у контролер ; завантаження лічильника ; завантаження початкової адреси ; завантаження даних в ОЗП індикації ; декремент регістру ; порівняння значення в регістрі з 0 ; перехід на мітку, якщо не рівно 0 ; завантаження початкової адреси ; читання ОЗП клавіатури ; зміст регістру R5 відправити у пам’ять по адресу, який знаходиться в R4
|