Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

5.6. Програмований послідовний інтерфейс

Програмований послідовний інтерфейс КР580ВВ51 (І8251) — це універсальний синхронно-асинхронний приймач-передавач (УСАПП), призначений для організації обміну між МП і зовнішніми пристроями в послідовному форматі. Універсаль­ний синхронно-асинхронний приймач-передавач приймає дані з 8-розрядної шини даних МП і передає їх у послідовному форматі периферійному пристрою або отримує послідовні дані від периферійного пристрою й перетворює їх на пара­лельну форму для передавання МП. Обмін може бути як напівдуплексним (односпрямованим), так і дуплексним (двонапрямленим). Послідовний інтерфейс здійснює обмін даними в асинхронному режимі зі швидкістю передавання до 9 6 Кбіт/с або в синхронному — зі швидкістю до 56 Кбіт/с залежно від запрограмованого режиму. Довжина переданих даних - від 5 до 8 біт. Під час передавання в МП символів завдовжки менше ніж 8 біт невикористані біти заповнюють нулями. Формат символу містить також службові біти і необо­в'язковий біт контролю парності.

Структурна схема УСАПП (рис. 5.51) містить:

• буфер передавача TBF зі схемою керування передава­чем TCU, який призначений для приймання даних від МП і видавання їх у послідовному форматі на вихід Тх;

• буфер приймача RBF зі схемою керування приймачем RCU, що виконує приймання послідовних даних із входу Rx і передавання їх у МП у паралельному форматі;

• буфер даних BD, який є паралельним 8-розрядним двонапрямленим буфером шини даних з тристабільними каскадами, що використовується для обміну даними та керуючими словами між МП і УСАПП;

Рис. 5.51. Структурна схема УСАПП

• блок керування читаниям-записом RWCU, що приймає керуючі сигнали від МП і генерує внутрішні сигнали керу­вання;

• блок керування модемом MCU, що обробляє керуючі сиг­нали, призначені для зовнішнього пристрою.

Призначення виводів ВІС УСАПП наведено у табл. 5.13. З'єднання УСАПП із шинами МП показано на рис. 5.52.

Таблиця 5.13. Призначення виводів УСАПП

Позначення

виводу

Номер

виводу

Призначення

D7-D0

8; 7; 6; 5;

2; 1; 28; 27

Канал даних

RESET

21

Установлення «0» (вихідний стан)

CLK

20

Синхронізація

A0

12

Низький рівень визначає можливість за­пису або читання даних в(із) УСАПП; високий рівень визначає можливість запису керуючих слів або читання слова стану в (із) УСАПП

13

Читання-дозвіл виведення даних або сло­ва стану з УСАПП на шину даних

10

Запис-дозвіл введення інформації із шини даних

11

Вибірка кристала-з'єднання УСАПП із шинами даних МП

22

Готовність передавача термінала

24

Запит передавача термінала

17

Готовність приймача термінала

23

Запит приймача термінала

SYNDET

16

Вид синхронізації: для синхронного ре­жиму вихідний сигнал високого рівня — ознака внутрішньої синхронізації; для синхронного режиму із зовнішньою син­хронізацією сигнал є вхідним; в асин­хронному режимі сигнал є вихідним

RxC

25

Синхронізація приймача

RxRDY

14

Готовність приймача

RxD

3

Вхід приймача

ТхС

9

Синхронізація передавача

18

Кінець передавання. Сигнал високого рівня є ознакою закінчення посилання даних

TxRDY

15

Готовність передавача

TxD

19

Вихід передавача

Ucc

26

Напруга живлення +5 В

Сигнал Аі, поданий на вивід ВІС ЛО, визначає дві адреси УСАПП. Для адреси з Аі = 0 передаватимуться дані, а за Аі = 1 записуватимуться команди або читатиметься слово ста­ну. Інші виводи під'єднані до однойменних ліній шин МП системи.

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

Значення сигналів адреси A0, керування читанням , записом і вибіркою під час запису та читання ре­гістрів ВІС подано у табл. 5.14.

Керуюче слово ініціалізації задає синхронний або асин­хронний режим роботи, формат даних, швидкість приймання або передавання, контроль правильності даних. Це слово за­носиться відразу після встановлення УСАПП у вихідний стан відповідною програмою або за сигналом RESET, а замінюєть­ся лише у разі зміни режиму. Формат керуючого слова різний в асинхронному чи синхронному режимах.

В асинхронному режимі роботи дані, що передаються, містять нульовий старт-біт, біти даних, біт контролю і стоп-біти. Кількість бітів даних і стоп-бітів та наявність або відсутність біта контролю задаються записом в УСАПП керуючого слова режиму (рис 5.53, а). Розряди DO і D1 визнача­ють коефіцієнт ділення сигналів синхронізації CLK. Розря­ди D3 і D2 визначають кількість бітів даних. Режим контро­лю задається розрядами D5 і D4; за D4 = 0 контроль пар­ності заборонений; значення розряду D5 встановлює вид контролю — парності або непарності. Розряди D1 і D6 визна­чають кількість переданих стоп-бітів.

Рис. 5.52. З'єднання УСАПП із шинами МП

Таблиця 5.14. Визначення операцій сигналами керування від МП

Операція

Сигнали керування

A0

Читання даних з УСАПП на шину D7D0

0

0

1

0

Запис даних із шини D7D0 в УСАПП

0

1

0

0

Зчитування слов стану з УСАПП на шину D7 D0

1

0

1

0

Запис керуючого слова із шини D7-D0 в УСАПП

1

1

0

0

Високоімпедансний стан виводів

x

1

1

0

D7-D0

x

x

x

1

Синхронний обмін передбачає передавання даних у вигляді масивів слів. Для синхронізації запуску під час приймання даних використовуються один або два символи синхронізації (спеціальні кодові комбінації, наприклад 10010100). Формат керуючого слова ініціалізації режиму для синхронного обмі­ну наведено на рис. 5.53, б. Розряди D1 і D0 мають нульове значення. Розряд D6 встановлює тип синхронізації (зовніш­ню або внутрішню). Розряд D1 визначає використання одного (D7 = 1) або двох (D7 = 0) символів синхронізації. Призна­чення розрядів D3, D2 і D5, D4 аналогічне призначенню цих розрядів під час асинхронного обміну.

Контроль стану УСАПП у процесі обміну даними МП здій­снюється за допомогою команди читання слова стану. На рис. 5.53, в показано формат слова стану УСАПП. Розряд D3(PE) установлюється тоді, коли виникають помилки парно­сті; розряд D4(ОЕ) — коли виникають помилки переповнен­ня, якщо МП не прочитав символ; розряд D5 — коли виникає помилка, внаслідок того, що для асинхронного режиму не вияв­лено стоп-біт. Інші розряди слова стану мають таке саме зна­чення, що й однойменні виводи МП, які наведені в табл. 5.13.

Рис. 5.53. Формат керуючого слова ініціалізації:

а — для асинхронного обміну; б — для синхронного обміну; в — формат

слова стану

Керування роботою УСАПП після ініціалізації здійснюєть­ся записуванням операційних керуючих слів, які можуть багаторазово задаватися у процесі обміну, керуючи різними його етапами. Призначення окремих розрядів операційного керу­ючого слова УСАПП наведено в табл. 5.15.

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

Часові діаграми сигналів керування УСАПП під час запису керуючого слова режиму, символів синхронізації команди на­ведено на рис. 5.54, а, а часові діаграми сигналів під час чи­тання слова стану — на рис. 5.54, б.

Запис керуючих слів і символів синхронізації здійснюєть­ся через шину даних DB у процесі подання на вхід С / Н-рівня, а на вхід L-рівня (див. рис. 5.54, а). Після початкового встановлення УСАПП приймає інформацію на DB як керуюче слово ініціалізації і розміщує його у відпо­відному регістрі. Блок RWCU дешифрує це слово і, якщо запрограмований асинхронний режим, то наступне слово сприймається як операційне керуюче слово, а якщо синхрон­ний — інформація на DB сприймається як символ синхро­нізації.

Таблиця 5.15. Призначення розрядів операційного керуючого слова УСАПП

Розряд

Позначення

Призначення

D0

ТхЕ

Дозвіл передавання. За нульового значен­ня передавання інформації неможлива, за одиничного — можлива

D1

DTR

Запит про готовність передавача до пере­давання. За одиничного значення — запис нуля на виході DTR

D2

RxE

Дозвіл на прийом. За нульового значення приймання інформації неможливе, за оди­ничного — можливе

D3

SBRK

Кінець передавання. За нульового значен­ня — нормальна робота каналу передаван­ня, при одиничному значенні — встанов­лення високого рівня на виводі TxD

D4

ER

Виявлення помилок. За одиничного зна­чення — встановлення розрядів помилок у вихідний стан

D5

RTS

Запит про готовність приймача термінала до приймання. Запис нуля на вході RTS за D5 = 1

D6

IR

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

D7

EH

Режим пошуку імпульсів синхронізації. За одиничного значення — встановлення ре­жиму пошуку символів синхронізації

Читання слова стану (див. рис. 5.54, б) здійснюється під час подання на вхід С /D Я-рівня, а на RD L-рівня. Інформацію, яка міститься у слові стану (див. рис. 5.53, в), можна використовувати для організації обміну між МП і УСАПП, наприклад, визначати, чи не було помилки під час передавання інформації, який стан готовності приймача (пе­редавача) до обміну.

Рис. 5.54. Часові діаграми сигналів керування УСАПП: а — запис керуючого слова режиму, символів синхронізації та операційно­го слова; б — читання слова стану; в — приймання вхідних даних з внутріш­ньою синхронізацією; г — синхронне приймання із зовнішньою синхроні­зацією

Після запису керуючого слова режиму та операційного слова УСАПП готовий до виконання обміну даними в одно­му з п'яти режимів:

• синхронне передавання;

• синхронне приймання з внутрішньою синхронізацією;

• синхронне приймання із зовнішньою синхронізацією;

• асинхронне передавання;

• асинхронне приймання.

Під час синхронного передавання даних на виході TxD з частотою сигналу синхронізації формується послідовність, що починається з символів синхронізації, запрограмованих керуючим словом режиму (рис. 5.53, б). Потім передаються коди символів, що надходять з МП, кожний з яких може за­кінчуватися бітом контролю. Якщо МП не завантажив черговий символ до моменту передавання, то УСАПП вставляє в передану послідовність символи синхронізації, а на виході TxD генерується сигнал високого рівня, який вказує на по­рожній регістр передавання.

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

Під час синхронного приймання із зовнішньою синхроні­зацією (див. рис. 5.54, г) на вивід SYNDET подається сиг­нал від зовнішнього пристрою, що дозволяє приймання даних на вході RxD зі швидкістю сигналів синхронізації, які над­ходять на вхід RxD. Можлива організація приймання даних у МП за перериванням, якщо сигнали на виводі SYNDET використовуються як запит переривання.

У режимі асинхронного передавання послідовні дані фор­муються на виході TxD за заднім фронтом сигналу синхро­нізації ТхС з періодом, що задається керуючим словом режи­му і дорівнює 1, 16 або 64 періодам сигналу синхронізації. Якщо після передавання символу наступного символу немає, то на виході TxD встановлюється напруга високого рівня доти, доки нові дані не надійдуть від МП. У програмі, яка реалізує алгоритм асинхронного передавання, запис чергово­го байта в УСАПП здійснюється за командою виведення OUT, якщо у слові стану розряд D0 = 1. Сигнал на виході TxD Y використовується як сигнал запиту переривання.

Асинхронне приймання даних починається з пошуку старт-біта, який встановлює на вході RxD напруга L-рівня. На­явність цього біта вдруге перевіряється внутрішнім строб-імпульсом. Якщо старт-біт підтверджений, то запускається внутрішній лічильник бітів, який визначає початок і кінець бітів даних, біт контролю і стоп-біт. Приймання стоп-біта вказує на закінчення приймання байта інформації і супро­воджується встановленням сигналу високого рівня на виході RxRDY. У програмі асинхронного приймання передавання чергового байта даних у МП може здійснюватися за коман­дою введення IN, якщо в слові стану розряд

D1 = 1, що відпо­відає Я-рівню сигналу на виході RxRDY, або за перериван­ням, якщо сигнал на виході RxRDY використовується як сигнал запиту переривання.

Приклад 5.16. Запрограмувати УСАПП на асинхронний режим з наступним форматом даних — старт-біт, 8 біт даних, біт контролю парності та 1,5 стоп-біта. Коефіцієнт ділення частоти синхросигналів 1/64. Вхід УСАПП з'єднати з адресною лінією А4, вхід А0 з лінією А1 Здійснити передавання даних із регістра BL по послідовному порту.

Визначимо адреси УСАПП. Запис керуючого слова відбуватиметь­ся, якщо А4 = 0,

А1 = 1, тобто за адресою 02, а передавання даних — якщо А1 = 0, тобто за адресою 00.

Згідно з рис. 5.53, а керуюче слово ініціалізації дорівнює 10111111.

Операційне керуюче слово визначимо за табл. 5.14 як 00010001. Одиничне значення біта D0 дозволяє передавання, біт D4 скидає зна­чення розрядів помилок у слові стану у вихідне положення. Нульове значення біта D3 визначає нормальну роботу каналу передавання. Інші біти не впливають на цей режим.

MOV AL, 10111111В

Формування в AL керуючого слова ініціалізації

OUT 02,AL

і пересилання його в УСАПП

MOV AL, 00010001B

Формування в AL операційного ке­руючого слова

OUT 02, AL

і пересилання його в УСАПП

М1:

IN AL,02

Читання слова стану

AND AL,01

Виділення розряду £)0

JZ M1

Якщо D0 = 0 (УСАПП не готовий допередачі),то відбувається перехід на М1

MOV AL,BL

OUT 00,AL

Пересилання даних

Ознакою того, що дані можна передавати по послідовному порту, тобто УСАПП готовий до обміну, в цій програмі прийнята умова D0 = 1 у слові стану. Іншим шляхом є використання сигналу на виході TxDY як запиту переривання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]