6.2 Описание режимов работы УАПП
Режим 0 – синхронный ввод или вывод байта, сопровождаемый синхроимпульсами от МК. В этом режиме вывод RxD применяется как для приема, так и для передачи информации. Через вывод TxD выдаются синхроимпульсы, которые сопровождают каждый бит (импульсы с активным уровнем "0"). Информация выдается младшими битами вперед. Скорость передачи зависит от тактовой частоты резонатора FQ:
[бит/с].
В этом режиме к выводам RxD и TxD могут быть подключены внешние сдвигающие регистры, которые будут формировать параллельный код при выдаче информации из МК, или будут превращать параллельный код в последовательный при приеме данных в МК. Таким образом, разработчики контроллера на основе MCS-51 получают в распоряжение относительно "медленный" параллельный порт.
В режимах 1, 2 и 3 вывод TxD (Transmit Data) используется только для передачи данных, а вывод RxD (Receive Data) – только для приема данных.
Режимы 1, 2 и 3 называют режимами асинхронной передачи, т.к. момент начала и завершения посылки задается не по отдельным проводникам, а специальными битами на той же линии, по которой передается информация.
Постоянный высокий уровень на линиях TxDи RxDсчитается отсутствием сигнала (пассивное состояние линии).
Режим 1 – посылка состоит из 10 битов: старт-бит("0"), восемь бит данных и стоп-бит("1"):
Скорость приема-передачи задают программным путем. Она зависит от значения бита управления PCON.7 (SMOD), и от частоты переполнения таймера 1, которая обозначена FOV T1. Наиболее удобно использовать таймер Т1 в конфигурации автоперезагрузки стартового числа. Тогда скорость передачи равна:
[бит/с]. (6.1)
Прерывание от таймера T1 в этом случае должно быть запрещено.
Режим 2 – посылка состоит из 11 бит: старт-бит("0"), восемь бит данных, бит B8, определяемый пользователем, и стоп-бит("1"):
При передаче "девятый" бит (B8) можно использовать, например, для контроля чётности количества "1" в байте данных, который передается, то есть для проверки достоверности полученной информации. При приеме "девятый" бит поступает в разряд RB8 регистра SCON.
Частота передачи зависит от бита SMOD и тактовой частоты МК:
, [бит/с] (6.2)
Режим 3 – размер посылки, как для режима 2 (11 бит). Скорость приема-передачи определяют, как для режима 1 (формула 6.1).
Для любого режима к моменту завершения приема очередной посылки программным путем нужно выполнить RI = 0 (команда CLR RI). Перед передачей очередного байта программно нужно выполнить TI = 0 (команда CLR TI).
Принцип электрического соединения последовательных портов UART двух контроллеров следующий (т.н. полнодуплексное соединение):
Важно: передатчик и приемник должны быть настроены на одинаковые скорость передачи и вид посылки.
Для соединения УАПП микроконтроллера с COM-портом ПЭВМ нужно использовать преобразователи уровня, т.к. COM-порт не работает в ТТЛ-сигналах. Типовое решение – использовать микросхему MAX232.
Важно отметить, что стандартные скорости передачи, в частности, для связи с СОМ-портом ПЭВМ, не могут быть реализованы на типовой тактовой частоте МК FQ = 12 МГц. Так, наиболее популярные скорости передачи 9600 бит/сек и 19200 бит/сек точно реализуются при:
FQ = 11,0592 МГц; NST = 253 для таймера Т1;
бит SMOD = 0 или 1 соответственно для указанных скоростей.
На правах рекламы: Отдельно хотелось бы обратить внимание уважаемого читателя на статью "Разбираем ошибки в работе Рутокен ЭЦП 2.0 и ESMART Token ГОСТ для ЕГАИС" jacarta pki гост для егаис. Перейдя по ссылке вы найдёте подробное описание токенов для ЕГАИС, а также узнаете что лучше - рутокен или етокен.
|