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

Формат передачі по асинхронному інтерфейсу.

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

Для підвищення надійності передачі даних може бути добавлений біт парності. Біт парності доповнює розряди даних таким чином , що досягається пряма парність (сума усіх бітів, в тому числі біт парності, парна) або непряма парність (сума усіх бітів, в тому числі біт парності, непарна). Необхідний вид парності (відсутність, пряма, непряма) також повинен бути оголошений у протоколі передачі даних.

Передача закінчується стоп-бітом з рівнем логічної 1, який в деяких мікроконтролерах може бути запрограмований з протяжністю 1; 1.5 або 2 довжини біта. Після відправлення стоп-біта лінія даних знову переходить у вихідний стан очікування і готова до наступної передачі. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24 наведена на рис. 4.

Рис.4. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24.

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

Наслідок суттєвої різниці між тактами передачі і прийому, а також випадку, коли передача здійснюється по наростаючому фронту такту, а опитування на стороні приймача – по спадаючому, який може попадати в середину імпульсу даних наведені на рис.5.

Рис.5. Вплив різних тактів передачі на транслюючій і приймаючій стороні.

На рис.5 зображений випадок, коли розряд 4 і розряд 7, а також біт парності розпізнані не правильно. Оскільки, в цьому прикладі оголошена непряма парність, то помилка може бути помічена за допомогою біта парності, так як байт розпізнаний як #75 і встановлений біт парності дають в результаті пряму парність, але при виникненні двох помилок біт парності про це не просигналізував би.

Відмінність у тактах на транслюючій та приймаючій стороні в розглянутому прикладі складає 20%, що не допускається. Для уникнення помилок і для забезпечення надійної передачі даних слід уникати відхилень, що перевищують 3%.

Послідовний порт може працювати в чотирьох режимах.

Режим 0. 8 бітів даних (LSD перший). Швидкість передачі фіксована (1/12 частоти генератора fosc).

Режим 1. 10 бітів передаються/приймаються: старт-біт (0), 8-бітів даних (LSB перший) і стоп-біт. При прийомі стоп-біт переміщується в RB8 регістра SCON. Швидкість передачі змінна.

Режим 2. передача/прийом здійснюється 11-бітним словом: старт-біт (0), 8 бітів даних, програмований 9-ий біт (біт парності) і стоп-біт. При передачі 9-ий біт даних (TB8 в SCON) може містити „0” або „1”.

При прийомі, 9-ий біт прямує в RB8 регістра SCON. Швидкість передачі 1/32 або 1/64 частоти генератора.

Режим 3. передача/прийом здійснюється 11-бітним словом. Режим 3 аналогічний режиму 2 лише швидкість передачі даних є зміна.

Для роботи з послідовним портом виділено два регістри: SCON (Serial Port Control Register) – призначений для управління функціями прийомопередавача та регістр даних; SBUF (Serial Data Buffer) – регістр даних, фізично складається з двох регістрів (звернення до цих регістрів відбувається за однією адресою, причому один з них використовується для передачі, а інший – для прийому даних).

Мультипроцесорний зв’язок. Режим 2 і 3 має спеціальне забезпечення для мультипроцесорного зв’язку. В цьому режимі приймається 9 бітів даних, 9-ий біт поступає в RB8. Порт може бути запрограмований так, що коли отриманий стоп-біт, то переривання від послідовного порту буде активоване якщо RB8=1 (SM2=1). Цей режим надає можливість передачі даних між декількома пристроями.

Прийом призначається в режимі 0 умовою RI=0 і REN=1, прийом введений в інші режими прийнятим стартовим бітом якщо REN=1.

На рис.6 наведений вигляд регістра конфігурації.

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

Рис.6. Регістр конфігурації SCON.

Біт

Пояснення

SM0

Визначає режим роботи послідовного порту.

SM1

Визначає режим роботи послідовного порту.

SM2

Визначає режим мультипроцесорного зв’язку в режимі 2 і 3. В режимі 2 чи 3, якщо SM2 встановлений в 1, то RI не буде активований, якщо отриманий 9-ий біт даних (RB8) нульовий. В режимі 1, якщо SM2=1, то RI не буде активований, якщо не був отриманий коректний стоповий біт. В режимі 0, біт SM2 повинен бути встановлений в „0”.

REN

Встановлюється програмно для дозволу або заборони прийому.

TB8

9-ий біт (біт парності), що може передаватися в режимах 2 і 3. встановлюється програмно.

RB8

В режимах 2 і 3, 9-ий біт (біт парності), що може бути прийнятий. В режимі 1, якщо SM2=0, RB8 – стоповий біт, який був отриманий.

TI

Біт закінчення передачі. Встановлюється апаратно в кінці 8-го біта в режимі 0 чи на початку стоп-біта в інших режимах. Очищається програмно.

RI

Біт закінчення прийому. Встановлюється апаратно в кінці 8-го біта в режимі 0 чи на початку стоп-біта в інших режимах. Очищається програмно.

SM0

SM1

Режим

Опис

Швидкість пердачі (Бод рейт)

0

0

0

Shift Register

Фіксована (fosc/12)

0

1

1

8-bit UART

Змінна (встановлюється таймером)

1

0

2

9-bit UART

Фіксована (fosc/64 або fosc/32)

1

1

3

9-bit UART

Змінна (встановлюється таймером)