Послідовний порт часто називають універсальним асинхронним прийомо-передавачем (УАПП - UART).
Через УАПП здійснюється прийом і передача інформації, представленої послідовним кодом. Порт послідовного введення-виведення використовують в асинхронному режимі для зв'язку зі стандартними периферійними пристроями (дисплеєм, модемом, іншими контролерами). У синхронному режимі УАПП може бути застосований для розширення кількості ліній введення-виведення з використанням зовнішніх зсувних регістрів.
До складу УАПП входять (рис. 6.1):
· зсувний регістр прийому;
· зсувний регістр передачі;
· буферний регістр прийому-передачі SBUF;
· схеми управління та обробки зовнішніх сигналів управління.
Рис. 6.1 Структура послідовного порту
Запис байту у буфер SBUF програмним шляхом призводить до автоматичного переписування байта в зсувний регістр передачі та ініціює початок передачі байта. Наявність буферного регістра прийому дозволяє поєднувати операцію пересилання раніше прийнятого байта у внутрішню пам'ять з прийомом наступного байта. Якщо до моменту закінчення прийому байта попередня інформація не була зчитана з SBUF, вона втрачається.
|
|
Управління роботою УАПП здійснюється за допомогою регістра SCON який має побітову адресацію.
При закінченні передачі байту формується сигнал переривання ТI основної програми мікроконтролера. При заповненні регістра приймача формується сигнал переривання RI. Ці прапори апаратно не скидаються відповідною програмою переривань, необхідно використовувати програмні засоби.
Бітова структура регістра SCON наведена на рис.6.2, а призначення окремих бітів описано в табл. 6.1.
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
Рис. 6.2.
Таблиця 6.1
Біт | Позиція | Призначення |
SM0 | SCON.7 | Біт 0 визначення режиму роботи послідовного порту. |
SM1 | SCON.6 | Біт 1 визначення режиму роботи послідовного порту. |
SM2 | SCON.5 | Дозвіл мультипроцесорного обміну. У режимі 0 повинен бути скинутим. У режимі 1 при SM2 = 1 біт RI не встановлюється, якщо прийнятий стоп-біт = 0. У режимах 2 і 3 при SM2 = 1 біт RI не встановлюється, якщо прийнятий дев’ятий біт даних RB8 = 0. |
REN | SCON.4 | Дозвіл прийому. При REN = 1 прийом дозволено. |
TB8 | SCON.3 | 9-біт даних, який буде передаватись у режимах 2 і 3. Значення встановлюється програмно за розсудом розробника. |
RB8 | SCON.2 | У режимі 0 не використовується. У режимі 1 при SM2 = 0 у нього заноситься стоп-біт. У режимах 2 і 3 в нього заноситься 9-й прийнятий біт даних. |
TI | SCON.1 | Прапор запиту переривань передавача. Повинен скидатися програмно |
RI | SCON.0 | Прапор запиту переривань приймача. Повинен скидатися програмно |
У табл. 6.2 приведено відповідність між режимами УАПП, станом біт керування SM0 і SM1 та основними характеристиками режимів роботи.
|
|
Таблиця 6.2
Режим | SM1 | SM0 | Швидкість передачі | Опис режиму роботи |
fosc/12 | Зсувний регістр | |||
змінна | Асинхронний прийомо-передавач, 8 біт даних у кадрі | |||
fosc/64, або fosc/32 | Асинхронний прийомо-передавач, 9 біт даних у кадрі | |||
змінна | Асинхронний прийомо-передавач, 9 біт даних у кадрі |
Швидкість прийому-передачі залежить від режиму роботи УАПП і в режимах 1... 3 визначається з урахуванням значення розряду PCON.7 регістра керування потужністю PCON (байт доступний регістр). Цей розряд називається SMOD. При значенні SMOD = 1 - швидкість передачі подвоюється.