И
"РЛ" - НАЧИНАЮЩИМ
D
Глава 22. Последовательный интерфейс UART
Аббревиатура
UART
расшифровывается как “Универ-
сальный асинхронный приемо-передатчик”, слово “последо-
вательный” почему-то не присутствует, хотя этот интерфейс
именно последовательный. Всем известный COM-порт ком-
пьютера работает как раз по этому протоколу, так что есть
все возможности для соединения устройства на микроконт-
роллере с компьютером. Для чего - это уж вам решать.
UART - довольно сложное устройство, но наружу из него
выходит всего-навсего 2 вывода
R XD
и
TXD,
совмещенные
с портами
РЗ.О
и
Р3.1
соответственно. В программе функ-
ции UART доступны при помощи всего двух регистров - ре-
гистра данных
SBU F
и регистра управления
SCO N.
Физи-
чески SBUF реализован в виде двух независимых регист-
ров, один из которых допускает
только чтение
данных, а
другой -
трлько запись.
Такая особенность позволяет полу-
чать доступ при обращении к одному и тому же регистру
“попадать’’ в разные места в зависимости от команды обра-
щения - чтение или запись. Странный, на первый взгляд,
метод имеет вполне логичное объяснение: дело в том, что
UART может вести передачу и прием независимо и даже
одновременно (причем в некоторых случаях - на разных
скоростях). Вот и получается, что, записав в SBUF данные
и начав их передачу, мы можем тут же обратиться к SBUF
для считывания
ранее принятого
байта, и никаких колли-
зий не произойдет! Эту особенность следует помнить все-
гда:
из SBUF мы считываем не тотбайт, который туда запи-
сываем, а тот
, который был принят
извне!
В таблице 24 показан регистр SCON, при помощи кото-
рого происходит управление UART.
Флаги
71
и
RI
устанавливаются аппаратно при заверше-
нии передачи и после приема байта соответственно. Уста-
новка этих флагов сопровождается запросом прерывания
от последовательного интерфейса, сброс этих флагов дол-
жен осуществляться программно. Назначения других фла-
гов будут рассмотрены вскоре.
Роман Абраш
г. Новочеркасск
E-mail:
arv@ radioliga.com
После сброса SCON содержит нулевое значение.
UART в MCS-51 может работать в одном из 4-х режи-
мов, задаваемых флагами
SMO
и
SM1.
0.
SM0=0, SM1=0: Синхронный последовательный
ввод-вывод
1.
SM0=0, SM 1=1: Асинхронный ввод-вывод с кадром
10 бит
2.
SM0=1, SM 1=0: Асинхронный ввод-вывод с кадром
11 бит и фиксированной скоростью
3.
SM0=1, SM 1=1: Асинхронный ввод-вывод с кадром
11 бит и регулируемой скоростью
В режиме О
UART работает как последовательный ре-
гистр сдвига с частотой сдвига, равной частоте машин-
ных циклов, т.е. в 12 раз ниже частоты кварцевого резо-
натора. Порт TXD используется для выдачи серии из 8-и
синхронизирующих импульсов, a RXD используется для
последовательной выдачи или приема байта, начиная с
младшего бита. Значение бита в линии RXD определено
при низком уровне в линии TXD. На
рис. 13
показана вре-
менная диаграмма сигналов в режиме 0.
В режиме 0 передача начинается сразу после выпол-
нения команды, осуществляющей запись в SBUF. После
выдачи 8-го байта устанавливается флаг TI. Для начала
приема байта необходимо сбросить флаг RI при установ-
ленном флаге REN, либо наоборот, установить флаг REN
при сброшенном RI. Флаг REN является флагом, разре-
шающим прием байта (от Receive ENable). После того,
как будут сформированы 8 импульсов в линии TXD, уста-
новится флаг RI.
Все остальные режимы работы обеспечивают совме-
стимость со стандартным протоколом UART, например,
RS-232, по которому работает, например, COM-порт ком-
пьютера. Обмен ведется
асинхронно,
т.е. без использо-
вания синхронизирующих импульсов, независимо по ли-
ниям TXD и RXD. Данные передаются и принимаются
кад-
рами
по 10 или 11 битов, из которых первый и последний
являются
стартовым
и
стоповым
битами соответствен-
но, т.е. оповещают аппаратуру UART о начале и конце
очередного кадра.
На
рис. 14
и
рис. 15
приведены диаграммы сигналов
в линиях TXD и(или) RXD в режимах 1,2 и 3 соответствен-
но. Как видите, при обмене 11 -битными кадрами допол-
нительно передается 9-й конт-
рольный бит
СВ.
Назначение этого
бита программист может определять
самостоятельно, а так же применить
его для передачи бита
контроля чет-
ности
или же для организации
ло-
кальной сети
микроконтроллерных
устройств.
Таблица
24. Регистр SCON
Р азряд
7
6
5
4
3
2
1
0
Ф л аг
SM 0
SM1
SM 2
REN
TB 8
RB8
ТІ
RI
RXD іпеоелзчаї \
DO
X
D1
X
-
X
D3
X
D4
j
с
/
RXD (прием)
\ 00 У
Ч D1 /
\ D? /
\ ПЗ
/
\ П4 /
\ ПП /
\ D6 /
\
Гл'
,
Рис. 13.
Временная диаграмма режима О
UART
Start
Рис.
14. Формат 10-битного кадра в режиме 1
Рис.
15. Формат 11-битного кадра в режимах 2 и 3
U Радиолюбитель - 1
2 /2 0 0 7
предыдущая страница 30 Радиолюбитель 2007-12 читать онлайн следующая страница 32 Радиолюбитель 2007-12 читать онлайн Домой Выключить/включить текст