Універсальний синхронно-асинхронний приймач

Призначення УСАПП.

За допомогою УСАПП реалізується обмін між процесором і зовнішнім пристроєм (ВУ) в послідовному коді. Програмним способом можна встановити один з п’яти режимів: асинхронна передача, асинхронний прийом, синхронна передача, синхронний прийом з внутрішньої синхронізацією і синхронний прийом з зовнішньою синхронізацією. Асинхронний обмін характеризується поодинокими посилками інформації з боку УСАПП або ВУ, що містять старт-біт, 5-8 біт даних, біт контролю парності, 1-2 стоп-біта. При синхронному обміні після передачі одного або двох сінхросімволов слід безперервний потік даних у вигляді масиву.

Організація обміну.

Для організації обміну крім апаратних засобів використовуються:

● команди введення (

IN

) і виведення (

OUT

);

● два види керуючих слів: інструкція режиму (Табл. 3.7.1) і інструкція команди (Табл. 3.7.2);

● слово стану

(Табл. 3.7.3);

● інформаційно-керуючі сигнали

(Табл. 3.7.4-3.7.6), що діють на висновках УСАПП (рис. 3.7.1).

Структура УСАПП.

У схемі УСАПП (рис. 3.7.1) можна виділити передавач, приймач, буфер введення-виведення, регістри керуючих слів і слова стану, блок управління.

Передавач призначений для перетворення даних, що надходять з процесора у вигляді 8-розрядного паралельного коду, в послідовний код з додаванням службових символів відповідно до формату даних при синхронному і асинхронному обміні. Управління роботою передавача здійснюється модулем управління, який відстежує прийом нових даних з боку процесора, додає до них стартовий і стоповий біти, контрольний біт і синхронізує висновок з регістра, що зрушує з використанням повідомних і керуючих сигналів (табл. 3.7.4).

Приймач призначений для перетворення послідовності символів, що надходять від передавача ВУ, в паралельний 8-розрядний код і записи цього коду в свій регістр даних. У приймач входять два регістра даних і регістри для зберігання сінхросімволов. Модуль управління приймачем включає логіку формування синхроімпульсів прийому, лічильник числа прийнятих бітів, схему контролю парності, тригер помилки парності РЕ (

Parity

Error

), Тригер помилки кадру (

Framing

Error

FE

) І тригер помилки переповнення (

Overrun

Error

– ОЕ) та інші вузли. Призначення сигналів приймача наведено в табл. 3.7.5.

Буфер вводу-виводу призначений для зв’язку УСАПП з процесором, являє собою 8-розрядний двонаправлений пристрій з третім високоомним станом Z.

Регістри керуючих слів зберігають інструкції режимів (табл. 3.7.1) і команд (табл. 3.7.2), а регістр слова стану – необхідні відомості про стан УСАПП (табл. 3.7.3).

Блок управління координує режими УСАПП. Призначення керуючих сигналів наведено в табл. 3.7.6.

За допомогою сигналів:

● активізується робота УСАПП (¯ВК);

● задається напрямок передачі між процесором і УСАПП (¯Зп, ¯Чт). Напрямок передачі ініціюється командами введення (

IN

) І виведення (

OUT

);

● визначається вид переданих даних (У / Д);

● здійснюється переклад УСАПП в початковий стан (Скидання) і в високоомне стан

Z

.

Задаються сигналами режими УСАПП наведені в табл. 3.7.7.

Режими роботи УСАПП.

На рис. 3.7.2 приведена блок-схема алгоритму роботи УСАПП в різних режимах. У всіх режимах подачею системного сигналу скидання УСАПП встановлюється в початковий стан. При синхронному обміні за допомогою команди

OUT

(Висновок) в УСАПП передаються і зберігаються до кінця сеансу інструкція режиму, один або два сінхросімвола і інструкція команди, які попередньо формуються в акумуляторі процесора. Вид виведеної з процесора інформації (керуючі слова, дані) координується сигналом У / ¯Д. При асинхронному обміні сінхросімволи виводяться. У всіх режимах поточний сеанс обміну завершується висновком інструкції команди, містить:

D

3 = 1 в розряді кінець передачі (або

D

0 = 0 – при передачі і

D

2 = 0 – при прийомі), якщо наступний сеанс обміну даними не зажадає зміни режиму УСАПП;

D

6 = 1 в розряді установка УСАПП в початковий стан, якщо наступний сеанс обміну вимагає зміни режиму УСАПП. Розглянемо особливості окремих режимів роботи УСАПП.

Синхронна і асинхронна передача.

Після передачі в УСАПП керуючих слів командою

OUT

з акумулятора процесора в буфер вводу-виводу записується
перший байт даних (ліва частина рис. 3.7.2). У передавачі виведений байт даних перетвориться в необхідному форматі і надходить на ВихПд, якщо сигнал готовності приймача ВУ ¯ГПмВУ = 0. При асинхронному виведення єдиного байта даних сеанс передачі закінчується і з процесора виводиться наступна інструкція режиму або (і) команди. При синхронному виведення перший байт даних є порожнім (при програмуванні він може бути заданий довільно), так як йому на виході передавача не передують сінхросімволи. Тому УСАПП завжди виводить масив, по крайней мере, з двох байтів. При виведенні масиву байтів передача чергового байта з процесора в УСАПП можлива лише після завершення видачі попереднього байта. Про завершення видачі байта даних передавач сповіщає сигналом ГПД = 1 на своєму виході і значенням

D

0 = 1 слова стану. При використанні сигналу ГПД = 1 на виході ГПД мікропроцесор переходить на виконання перериває програми виведення даних через УСАПП.

При використанні слова стану, а саме цей випадок представлений на рис. 3.7.2, здійснюється циклічний його введення в процесор з регістра стану по команді

IN

(Введення) при У / ¯Д = 1 до тих пір, поки в розряді

D

0 чи не з’явиться одиниці, після чого буде виводитися наступний байт даних. Після виведення останнього байта даних в акумуляторі процесора формується інструкція команди на завершення сеансу передачі.

Як видно з рис. 3.7.2, відміну синхронної передачі полягає в тому, що після передачі першого байта починається опитування розряду

D

0 слова стану і висновок байтів даних. при асинхронної передачі цієї процедури може не бути.

Синхронний і асинхронний прийом.

При синхронному прийомі з внутрішньої синхронізацією в розряді

D

6 (вид синхронізації) інструкції режиму записується нуль, щоб використовувати висновок відси для видачі сигналу в регістр стану

PC

. Ця операція реалізується після завантаження інструкції команди в регістр керуючих слів (УКР) наступним чином. З УСАПП в ВУ надсилається сигнал запиту готовності передавача ¯ЗПдВУ = 0. Після надходження сигналу у відповідь ¯ГПмВУ = 0 на вхід ВхПм подаються послідовно синхро-символи і слово даних. При збігу прийнятих сінхросімволов з сінхросімволамі інструкції команди слово даних записується в регістр приймача і на виході відси встановлюється сигнал відси = 1, який виводиться в розряд

D

6 регістра стану. Поодинокі сигнали на вході ГПМ приймача і в дублюючому його розряді

D

1 слова стану свідчать про закінчення прийому слова даних і готовності видачі його з УСАПП в процесор.

При синхронному прийомі з зовнішньої синхронізацією в інструкції режиму

D

6 = 1 і висновок відси використовується як вхід, на який з ВУ подають сигнали дозволу прийому даних. При цьому байти даних приймаються в УСАПП з тактовою частотою синхроімпульсів, що надходять на вхід ¯СПм приймача від передавача ВУ. Для реалізації обох режимів синхронного прийому в програмі після передачі в УСАПП інструкції команди передбачено два циклу введення в процесор слів стану (рис. 3.7.2, права частина) з перевіркою в них значень розрядів

D

6 (вид синхронізації) і

D

1 (готовність приймача). При позитивних результатах перевірок по команді

IN

в процесор вводиться байт даних.

Відмінність алгоритму режиму асинхронного прийому полягає в тому, що відразу після завантаження регістра керуючих слів реалізується циклічний введення слова стану з перевіркою в ньому вмісту розряду

D

1 готовності приймача УСАПП.

Ссылка на основную публикацию