ОРГАНІЗАЦІЯ ІНТЕРФЕЙСУ У мікроЕОМ
Робота мікро ЕОМ супроводжується інтенсивним обміном інформацією між МП, ЗУ і УВВ. У процесі виконання програми МП приймає команди з пам'яті програм, звертається до пам'яті даних, а при виконанні команд введення-виведення - до УВВ. Ефективність вирішення завдання в мікро ЕОМ в значній мірі визначається організацією цього обміну і структурою зв'язку між МП, пам'яттю і УВВ.
Система шин, допоміжної апаратури і алгоритмів, реалізованих на цьому обладнанні, призначена для організації обміну між МП, пам'яттю і УВВ, називається інтерфейсом.
Складність завдань, покладених на інтерфейс, а також недостатня потужність буферних схем, що входять до складу БІС МП, привели до розподілу коштів інтерфейсу між різними пристроями:
а) пристроєм управління пам'яттю і введенням-висновком, що входять до складу МП;
б) безпосередньо інтерфейсним пристроєм, що є проміжною ланкою між МП, з одного боку, і пам'яттю і УВВ, з іншого;
в) спеціалізованими пристроями управління (контроллерами) УВВ, призначеними для реалізації алгоритмів керування, специфічних для різних УВВ.
Організація обміну між МП і пам'яттю або УВВ в найпростіших випадках можлива на основі засобів, що містяться тільки в МП. Відсутні функції в таких випадках реалізуються програмно.
Більш складні ЗУ і УВВ з'єднуються з МП обов'язково через додаткові інтерфейсні пристрої, виконані на основі СІС і МІС або (в деяких МПК) у вигляді спеціальних БІС. Розробка БІС обумовлюється значною складністю функції інтерфейсних пристроїв: при відсутності БІС в деяких випадках може знадобитися до декількох сотень корпусів СІС і МІС.
Нарешті, існують складні ЗУ і УВВ зі специфічними алгоритмами управління (магнітні диски і стрічки, електронно-променеві трубки і т.д.), реалізація яких можлива лише спеціальними контролерами.
Складність зовнішнього інтерфейсу визначається як складністю периферійних пристроїв, так і ступенем сумісності їх з ЕОМ.
Під сумісністю будемо розуміти можливість об'єднання окремих компонентів системи в єдину операційну мережу за допомогою програмних і апаратних засобів.
Сумісність визначається чотирма основними ознаками: швидкодією, кодами, використовуваними для обміну, архітектурою процесора, електричними характеристиками. Якщо об'єднуються компоненти не відповідають один одному по одному або декільком ознаками, то вони не можуть бути об'єднані без інтерфейсних модулів.
У будь-який мікроЕОМ необхідні кошти обміну даними з різноманітними периферійними пристроями. Залежно від умов конкретного застосування і характеристик периферійного обладнання передача даних здійснюється в паралельному або послідовному форматі.
Спільність функцій вводу-виводу стимулювала розробку БІС периферійних адаптерів, що представляють собою гнучкі програмовані прилади, орієнтовані виключно на введення-виведення.
В даний час такі адаптери стали обов'язковими компонентами практично всіх мікропроцесорних систем. Вони отримали широко поширені імена як LPT і COM порти відповідно для паралельних і послідовних каналів вводу / виводу.
На рис. 1 приведена структурна схема адаптера і його програмна модель. Підключення периферійного обладнання проводиться через три двонаправлених 8-бітних порту (або канали) A, B і С. Інтерфейс із системною шиною здійснюється за допомогою 14 ліній:
Рисунок 1 - Структурна схема (а) і програмна модель (б) типового паралельного адаптера
D0¸7 - двунаправленная шина даних з трехстабільнимі каскадами.
RESET - H-активний сигнал скидання для приведення приладу в початковий стан; при дії скидання регістр управління обнуляється, а всі три порту переводяться в режим введення.
Відзначимо, що зчитування з регістру управління (
= 0, A1,0 = 11) не допускається, а одночасні запис і зчитування (
= 0) призводять до непередбачуваного результату.
Малюнок 2 - Формат керуючого слова для налаштування ППА на допустимий режим
Програмування адаптера полягає в завантаженні коду (наказу) в регістр керуючого слова (УКР). Формат наказу визначення режиму, ідентифікованого умовою D7 = 1, наведено на рис. 2.
Відзначимо, що 8-бітові порти А і В не розділені, а лінії порту С розділені на дві 4-бітові групи, що представляють собою два незалежних порту. Наприклад, наказ конфігурації порту А на введення в режимі 0, порту В на висновок в режимі 1, біта 3 порту С на введення і біта 7 порту С на висновок має код 10010101. Цей код завантажується в акумулятор командою MVI і виводиться в регістр управління адаптера командою OUT.
MVIA, 00000111B; Установка біта 3
OUTРУС; Висновок в порт РУС
MVIA, 00000110B; Скидання біта 3
OUTРУС; Висновок в порт РУС
Відзначимо, що в наведеному фрагменті можна заощадити один байт, замінивши другу команду MVI на команду DCR A.
Аналогічна функція установки і скидання окремих біт портів А і В реалізується в три етапи: вміст порту вводиться в акумулятор, командами ORI і ANI з відповідними операндами-масками модифікується потрібний біт, а потім змінений результат виводиться в той же порт.
Як видно з наказу визначення режиму, адаптер має три режими роботи.
Режим 0 - програмно-керований введення-виведення даних в синхронному режимі за трьома 8-розрядним каналам А, В і С. Кожен канал може бути використаний тільки для введення або виведення інформації, а канал З додатково може бути розділений на два 4-розрядних каналу , що забезпечує 16 можливих конфігурацій адаптера.
Виведені дані фіксуються в регістрах-засувках, що входять до складу всіх портів, а дані, що вводяться не запам'ятовуються, т. Е. В операції зчитування вхідного порту в акумулятор передається поточний стан вхідних ліній. Режим 0 застосовується в програмно-керованому введенні-виведенні повільно мінливих даних або постійних значень.
Режим 1 - обмін даними з ВУ по каналах А і В у асинхронному режимі і режимі переривання програми. Шість ліній порту С використовуються для управління обміном.
Даний режим надає користувачеві наступні можливості: запрограмувати один або два паралельних порту з лініями квитирования і переривання, кожна з яких може працювати на введення або виведення; при використанні тільки одного порту решта 13 ліній запрограмувати в режимі 0; при визначенні двох портів в режим 1 решту 2 лінії використовувати для введення або виведення.
Режим 2 - двонаправлений обмін даними з ВУ по каналу А в режимі переривання програми. П'ять розрядів порту С використовується як керуючі для порту А.
Тільки група А ППА може бути налаштована на цей режим.
Приклад 1. Необхідно налаштувати ППА на режим 0, причому порт А повинен виконувати введення; порт В - введення; порт С (4-7й розряди) - висновок; порт С (0-3й розряди) - введення (рис. 3).
а) керуюче слово; б) заданий режим
Малюнок 3 - Керуючий слово для програмування ППА
Приклад 2. Необхідно налаштувати ППА на режим 1, причому порт А і В має забезпечувати стробіруемий введення.
На рис. 4 зображені керуючі слова для налаштування портів А і В.
а) порт А - введення; б) порт В - введення
Малюнок 4 - Керуючі слова для налаштування ППА
Для реалізації цього режиму тригер розрядів PC.4 для порту А і PC.2 для порту В повинні бути введені в "1", якщо програміст дозволяє переривання.
Налаштування тригерів «дозвіл переривання» здійснюється за допомогою завантаження керуючого слова з нулем у старшому розряді за допомогою команди OUT в регістр керуючого слова:
для порту А: MVI A, 01011001B; PC.4: = 1
для порту В: MVI A, 01010101 B; PC.2: = 1
Загальний формат керуючого слова поразрядной установки порту С представлений на рис.5.
Малюнок 5 - Формат керуючого слова поразрядной настройки установки Порта З
Приклад 3. Написати керуюче слово режиму для адаптера з наступною конфігурацією:
1. Порт А - режим 0, введення; Порт В - режим 0, введення; порт С4¸С7 - висновок.
Керуючий слово установки режиму має вигляд 92 H.
2. Порт А - режим 2, введення.
Керуючий слово установки режиму має вигляд D0H.
Слід звернути увагу, що розряди, що визначають режим роботи Порта С, в керуючому слові дорівнюють нулю.
Приклад 4. Написати керуюче слово:
для установки розряду С3 .Відповідь: 07 H
для скидання розряду С3. Відповідь: 06 H
для установки розряду С6. Відповідь: 0D H
для скидання розряду С6. Відповідь: 0C H
Установка відповідного рівня сигналу на виході порту С реалізується наступними командами МП:
Список використаних джерел