Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_Мікропроцесорні пристрої.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Примітка

SM0

SM1

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

0

0

Режим 0

0

1

Режим 1

1

0

Режим 2

1

1

Режим 3

Запис байта в передавач здійснюється автоматично після того, як інформація записана в регістр прийомопередавача SBUF. Повторний запис можливий тільки після установлення прапора TI. Читання інформації виконується з цього ж регістра після установлення прапора готовності послідовного каналу RI.

Наявність регістра РгСПр дозволяє приймати наступний байт, коли попередній ще знаходиться у регістрі SBUF. Однак якщо підпрограма обслуговування не встигла прочитати байт даних з регістра РПП (SBUF) до моменту завершення прийому наступного байта, то черговий прийнятий байт буде записаний на місці попереднього.

На рисунку 3.20 показана часова діаграма роботи послідовного порту в режимі «0».

Рисунок 3.20 – Часова діаграма роботи послідовного порта в режимі 0

Передача починається будь-якою командою, за якою у SBUF надходить байт даних. У момент часу S6P2 пристрій керування ОМК за сигналом «Запис у буфер» записує байт у РгСПер і запускає блок керування передачею, що через один машинний цикл виробляє дозволений сигнал «Посилка». При цьому в момент S6P2 кожного машинного циклу вміст регістра зсувається праворуч (молодшими бітами вперед) і надходить на вивід RXD. У вивільнювані старші біти зсувного регістра передавача записуються нулі. При одержанні сигналу «Передавач порожній» блок керування передавачем знімає сигнал «Посилка» і встановлює прапор TI (момент S1P1 десятого машинного циклу після надходження сигналу

«Запис у буфер»).

Прийом починається за умови REN = 1 і RI = 0. У момент S6P2 наступного машинного цикла блок керування приймачем формує дозволяючий сигнал «Прийом», за яким на вихід Tх передаються синхросигнали зсуву, й у РгСПр формуються значення біт даних, що зчитуються з входу RXD у моменти S5P2 кожного машинного циклу. У момент S1P1 десятого машинного циклу після сигналу «Запис у SCON» блок керування приймачем переписує вміст зсувного регістра у РПП, знімає дозволений сигнал «Прийом» і встановлює прапор RI.

На рисунку 3.21 показані часові діаграми роботи при прийомі та передачі даних у режимі «1». Через вивід Tх передає, а з виводу Rх приймає 10 біт: старт-біт (0), 8 біт даних і стоп-біт (1). При прийомі стоп- біт надходить у біт RB8 регістра SCON.

Рисунок 3.21 – Часова діаграма роботи послідовного порта в режимі 1

На рисунку 3.22 показані часові діаграми роботи при прийомі і передачі даних у режимах «2, 3» .

Рисунок 3.22 – Часова діаграма роботи послідовного порта в режимах 2, 3

Передача ініціюється будь-якою командою, у якій одержувачем байта є регістр SBUF. Генерований при цьому керуючий сигнал «Запис у буфер» завантажує «1» у дев'ятий біт зсувного регістра передавача, запускає блок керування передачею й у момент часу S1P1 формує дозволений сигнал «Посилка». За цим сигналом на вивід TXD спочатку надходить старт-біт, а потім (за дозволяючим сигналом «Дані») біти даних. Кожен період передачі біта дорівнює 16 тактам внутрішнього лічильника.

Прийом починається при виявленні переходу сигналу на вході RXD зі стану «1» до стану «0». Якщо значення, прийняте в першому такті, не дорівнює «0», то блок керування прийомом знову повертається до пошуку переходу з «1» у «0». Цей механізм забезпечує придушення помилкових (збійних) «старт-бітів». Справжній «старт-біт» зсувається у регістрі приймача, і продовжується прийом інших біт посилки. У процесі прийому значення біта перевіряється тричі. Справжнє значення визначається на підставі мажоритарного голосування (два з трьох). Блок керування прийомом сформує сигнал «Завантаження буфера», установить RB8 і прапор RI тільки в тому випадку, якщо в останньому такті зсуву виконуються дві умови: біт RI = 0 і SM2 = 0, або прийнятий «стоп-біт» дорівнює «1». Якщо одна з цих двох умов не виконується, то прийнята послідовність біт губиться. У цей час поза залежністю від того, виконуються зазначені умови чи ні, блок керування прийомом знову починає відшукувати перехід з «1» у «0» на вході RXD.

На часовій діаграмі (рис. 22) показана робота послідовного порту при передачі і прийомі даних у режимах «2» і «3». Як видно, режими «2» і «3» відрізняються від режиму «1» тільки наявністю дев'ятого програмованого біта. Унаслідок цього трохи змінюються умови закінчення циклу прийому: блок керування приймачем сформує керуючий сигнал «Завантаження буфера», завантажить RB8 і установить прапор RI тільки в тому випадку, якщо в останньому такті зсуву виконуються дві умови: біт RI = 0 і SM2 = 0, або значення прийнятого дев'ятого біта даних дорівнює «1».

Швидкість послідовного обміну в залежності від режиму роботи визначається або частотою роботи ОМК (режими «0» і «2») або частотою переповнення C/T1 (режими «1» і «3»).

У режимах 1-3 імпульси переповнення лічильника С/Т1 надходять на дільник частоти, керований бітом SMOD регістра PCON, забезпечуючи зміну частоти передачі інформації в 2 рази, а потім ця частота поділяється на 16 для одержання сигналів синхронізації послідовного каналу. Структура схеми синхронізації має вид показаний на рисунку 3.23.

CT1

SMOD=1

:2

SMOD=0

TxD RxD

Рисунок 3.23 – Схема синхронізації послідовного каналу

f

osc

2smo

У режимі «2» швидкість задається частотою

2smod

64 .

У режимах «1» і «3» - частотою: f

переповнення С/T1.

fC/T1 ,

32

fC / T 1

частота

Частота переповнення лічильника в режимі «1» визначається як

osc osc

6553 (65536 - коефіцієнт розподілу), а для режиму «2» -

12

(256 - коефіцієнт розподілу).

256

12

Для використання C/T1 як джерела швидкості обміну необхідно:

  • заборонити переривання від C/T1;

  • запрограмувати роботу C/T1;

  • запустити C/T1.

Найбільш зручний для використання в послідовному каналі режим

«2» лічильника/таймера (С/Т1), якщо з його допомогою можна забезпечити необхідну швидкість передачі, тому що в цьому режимі не потрібно перезавантаження коефіцієнта перерахування.

У таблиці 3.6 наводиться опис способів настроювання С/Т1 для одержання типових частот передачі даних через УАПП.

Таблиця 3.6 – Настроювання таймера 1 для керування частотою роботи УАПП

Частота прийому/передачі (BAUD RATE)

Частота резонатора, МГц

SMOD

Таймер/лічильник 1

C/T

Режим (MODE)

Число, що перезаван- тажується

Режим 0, макс:

1 МГц

12

X

X

X

Режим 2, макс:

375 кГц

12

1

X

X

X

Режими 1, 3: 62,5 кГц

12

1

0

2

0FFh

19,2 кГц

11.059

1

0

2

0FDh

9,6 кГц

11.059

0

0

2

0FDh

4,8 кГц

11.059

0

0

2

0FAh

2,4 кГц

11.059

0

0

2

0F4h

1,2 кГц

11.059

0

0

2

0E8h

137,5 Гц

11.059

0

0

2

1Dh

110 Гц

6

0

0

2

72h

110 Гц

12

0

0

1

0FEEBh

Формат регістра PCON наведений у таблиці 3.7.

Таблиця 3.7 – Регістр керування потужністю PCON

Символ

Біт

Ім'я і призначення

SMOD

7

Подвоєна швидкість передачі. Якщо біт встановлений у 1, то швидкість передачі вдвічі більше ніж при SMOD = 0

-

6

Не використовуються

-

5

-

4

GF1

3

Прапори, які встановлюються користувачем (прапори загального призначення)

GF0

2

PD

1

Біт зниженої потужності. При установці біта в 1 МК переходить у режим зниженої споживаної потужності

IDL

0

Біт холостого ходу. Якщо біт встановлений у 1, то МК переходить у режим холостого ходу

Примітка. При одночасному записі 1 у PD і IDL біт PD має перевагу. Скидання вмісту регістра виконується шляхом завантаження в нього коду

0XXX0000

Підготовка до роботи послідовного порту полягає в наступному:

  • вибрати режим роботи, задавши відповідне значення регістра SCON, у якому прапори готовності мають бути скинуті;

  • визначити частоту роботи. Установити необхідне значення біта SMOD. Для режимів «1» і «3» послідовного порту вибрати режим роботи СТ1. У тих випадках, коли це можливо, перевагу варто віддавати режимові «2». При роботі в інших режимах СТ необхідно забезпечити регенерацію коефіцієнта розподілу;

  • вибрати спосіб уведення/виводу даних порту. У залежності від обраного способу чи заборонити, чи дозволити переривання від прапорів готовності порту;

  • при прийомі інформації установити біт дозволу прийому REN.

У системах децентралізованого керування, що використовуються для керування і регулювання у розподілених об'єктах (наприклад, прокатних станах, електрорухомому складі залізниць і метрополітену, складальних конвеєрах і лініях гнучких автоматизованих виробництв), виникає задача обміну інформацією між безліччю мікроконтролерів, об'єднаних у локальну обчислювально-керуючу мережу. Як правило, локальні мережі на основі 8051 мають магістральну архітектуру з поділюваним моноканалом (коаксіальний кабель, кручена пара, оптичне волокно), за яким здійснюється обмін інформацією між ОМК. При цьому, передавальний ОМК відіграє роль ведучого, а приймаючі – роль ведених. Механізм такої передачі апаратно підтримується бітом SM2 у регістрі SCON. Ведучий мікроконтролер спочатку посилає кадр, що містить адресу одного з ведених мікроконтролерів. Адреса відрізняється від даних тим, що його дев'ятий біт

даних встановлений у «1», у той час як у кадрі даних дев'ятий біт дорівнює

«0». При SM2=1 кадр адреси викликає переривання, а кадр даних – ні. Процедура обробки переривань усіх відомих аналізує прийняту адресу, при ідентифікації своєї адреси мікроконтролер скидає біт SM2 і читає наступні дані. Інші відомі залишають біт SM2 встановленим і продовжують виконувати поточну програму.

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

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

Реалізація протоколів стандартних інтерфейсів RS-232, RS-485 вимагає застосування спеціальних БІС, які забезпечують формування відповідних сигналів: RS-232 (-12B – «лог. 1», +12B – «лог. 0»), RS-485 (диференціальний сигнал). У якості формувачів RS-232 можна використовувати передавачі - ДО559ИП19, ДО170АП2, приймачі – ДО559ИП20, ДО170УП2. Недоліком передавачів цих схем є необхідність використання джерел напруги +/-12В. Кращі характеристики мають формувачі MAX235, MAX221, 242, що живляться тільки від напруги +5В і містять в одному корпусі як приймачі, так і передавачі.