ВУЗ:
Составители:
девятый бит сдвигающего регистра передатчика и запускает блок
управления передачей, который через один машинный цикл вырабатывает
разрешающий сигнал Посылка. По этому сигналу на вывод TXD сначала
поступает старт-бит, а затем (по разрешающему сигналу Данные) биты
данных. При этом в каждом машинном цикле содержимое сдвигающего
регистра сдвигается вправо (младшими битами вперед) и поступает на
вывод RXD. В освобождающиеся старшие биты сдвигающего регистра
передатчика записываются нули. Каждый период передачи бита равен 16
тактам внутреннего счетчика. При получении от детектора нуля сигнала
Передатчик пуст блок управления передатчиком снимает сигнал Посылка
и устанавливает флаг TI.
Приемник UART в режимах 1, 3
Прием начинается с приходом стартового бита (перепада 1→0), если
REN = 1 и RI = 0. Каждый период представления бита делится на 16
периодов внутреннего счетчика (выборок). В 7, 8 и 9-й выборках
производится опрос сигнала на входе RXD. Значение бита устанавливается
по принципу мажоритарного голосования «два из трех»: принятый бит
принимает значение, которое было считано по меньшей мере в двух (из
трех) выборок.
Если в первом такте (старт-бит) был получен не «0», то приемник
UART возвращается к детектированию перехода 1→0. Истинный
стартовый бит сдвигается в регистре приемника, и продолжается прием
остальных битов посылки. Блок управлением приемом сформирует сигнал
Загрузка буфера, установит RB8 и флаг RI только в том случае, если в
последнем такте сдвига выполнятся два условия: RI = 0, и либо SM2 = 0,
либо принятый стоп-бит = 0. Если одно из этих условий не выполняется, то
принятая последовательность теряется.
Приемник и передатчик UART в режиме 1 работают также, как и в
режиме 3, но передается и принимается 8 бит данных.
Работа USART проиллюстрирована на рис.5.3.
Скорость приема/передачи в режимах 1 и 3
В формирование частоты передачи участвуют бит SMOD (бит7 в
регистре PCON) и таймер 1. При этом прерывание от таймера 1 должно
быть заблокировано (ЕТ1 – бит 3 в регистре IE – нужно сбросить). В этом
случае наиболее удобно использовать таймер 1 в режиме с
Синхр. Тх
0
1
2
3
4
5
6
7
TB8
Запись в
SBUF
TxD
старт
-
бит
стоп
-
бит
TI
1/2
fBQ/2 (режим 2)
fOV (режимы 1,3)
от Таймера1
SMOD=0
SMOD=
1
1/ 16
1/16
Синхр. Тх
Синхр. Rх
Синхр.
R
х
0
1
2
3
4
5
6
7
RB8
RxD
старт
-
бит
стоп
-
бит
RI
бит
-
детектор
a)
б)
в)
Рис.5.3. Временные диаграммы, иллюстрирующие работу
последовательного порта в режимах 2 и 3:
а) – схема синхронизации; б) – передача; в) – прием
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »
