Универсальный последовательный приемопередатчик КР580ВВ51
Универсальный последовательный приемопередатчик (далее - контроллер последовательного обмена или просто контроллер) предназначен для аппаратной реализации протокола последовательного обмена между микропроцессором и внешним устройством. При передаче контроллер. .ВВ51 преобразует параллельный код, получаемый от процессора, в последовательный поток символов со служебными битами и выдает этот поток в последовательный канал связи с выбираемой скоростью. При приеме осуществляются обратные преобразования.
Рис. 6.10. Обозначение контроллера. .ВВ51 на функциональных (принципиальных) схемах
Назначение выводов контроллер. .ВВ51 приведено в Табл. 6.2, а внутренняя структура показана на Рис. 6.12.
Табл. 6.2
№ вывода | Русск. | Лат. | Тип вывода | Назначение вывода | ||||||
8,7,6,5,2 1,28,27 | D(7:0) | D(7:0) | вх/вых | Шина данных | ||||||
C | CLK (C) | вх | Синхронизация | |||||||
УСТ | RESET (SR) | вх | Уст. в исходное состояние | |||||||
ПНУ/Д\ | C/D\ | вх | Признак управление /данные | |||||||
РПМ\ | WR\ | вх | Запись-разрешение приема с шины данных в контроллер | |||||||
РВД\ | RD\ | вх | Чтение - разрешение выдачи на шину данных | |||||||
ВД\ | CS\ | вх | Выбор микросхемы | |||||||
СОН1\ | DSR\ | вх | Готовность ВУ передать данные | |||||||
СОН2\ | DTR\ | вых | Запрос на передачу данных | |||||||
ПГТ\ | CTS\ | вх | Готовность ВУ принять данные | |||||||
СОН3\ | RTS\ | вых | Запрос на прием данных | |||||||
С1 | SYNDET/BD | вх/вых | Вид синхронизации (различный смысл в разных режимах | |||||||
СПМ\ | RxC\ | вх | Синхронизация приемника | |||||||
ПГТПМ | RxRDY | вых | Готовность приемника | |||||||
ВХ ПМ | RxD | вх | Вход данных приемника | |||||||
СВД\ | TxC\ | вх | Синхронизация передатчика | |||||||
. 15 | ПГТПЧ | TxRDY | вых | Готовность передатчика | ||||||
ВЫХ ПЧ | TxD | вых | Выход данных передатчика | |||||||
TxEND | вых | Конец передачи | ||||||||
Епит | Ucc | - | + 5 В | |||||||
Общий | GND | - | Общий | |||||||
Контроллер работает в двух режимах - инициализации и приема/передачи.
Режим инициализации обеспечивает настройку контроллера. .ВВ51 на определенный протокол обмена путем загрузки управляющего слова, символов синхронизации (один или два - только для синхронного режима) и подачи ряда команд. Инициализация обязательно начинается с начальной установки контроллера, которая может выполняться аппаратно сигналом SR или подачей команды начальной установки (см. ниже).
После начальной установки загружается управляющее слово, формат которого приведен на Рис. 6.11.
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
СС | Ч | К | Длина слова | Реж/Чаc |
Рис. 6.11. Формат управляющего слова контроллера. .ВВ51
Ниже приводятся значения разрядов управляющего слова и их смысл для различных режимов работы контроллера. .ВВ51.
Режим работы контроллера определяется разрядами D0, D1, причем для трех разновидностей асинхронного режима это поле определяет коэффициент деления частоты синхроимпульсов CLK для получения частоты асинхронного приема/передачи.
D1 | D0 | ||
Синхронный режим | |||
1 : 1 | Асин- | ||
1 : 16 | хронный | ||
1 : 64 | режим |
Длина слова (кадра) определяется значением разрядов D3 и D2:
D3 | D2 | Длина кадра (бит) |
Разряды D4 и D5 определяют режим контроля на четность:
D4 = 0 | - нет контроля; | D5 = 0 | - контроль по нечетности; |
D4 = 1 | - есть контроль; | D5 = 1 | - контроль по четности. |
Рис. 6.12. Структура контроллер К580ВВВВ51
Разряды D6 и D7 имеют различный смысл для синхронного и асинхронного режима. В синхронном режиме D6 задает вид синхронизации, а D7 - число синхросимволов:
D6 = 0 | - внутренняя; | D7 = 0 | - два синхросимвола; |
D6 = 1 | - внешняя; | D7 = 1 | - один синхросимвол. |
В асинхронномрежиме поле D7D6 определяет длительность стоп-бита в периодах частоты передачи:
D7 | D6 | Длина стоп-бита |
Не используется | ||
1,5 | ||
Последовательность программирования контроллера ..ВВ51 и соответствующие входные управляющие сигналы приведены в Табл. 6.3.
Табл. 6.3
№ | Последовательность программирования | Сигналы на входах | |||
CO/D | WR\ | CS\ | SR | ||
Установка исходного состояния | X | X | X | ||
Запись инструкции режима | |||||
Запись синхросимвола | |||||
Запись синхросимвола | |||||
Запись команды |
Данные, передаваемые по шине D[7:0], в отличие от команд, инструкций режима и синхросимволов сопровождаются низким уровнем на линии CO/D.
Каждый бит команды, установленный в "1", имеет свой смысл, независимый от остальных разрядов команды:
D0 - разрешена передача;
D1 - запрос о готовности приемника;
D2 - разрешен прием;
D3 - пауза;
D4 - сброс триггеров ошибок;
D5 - запрос о готовности передатчика;
D6 - программный сброс;
D7 - поиск синхросимволов
Прием/передача может осуществляться в одном из двух режимов - синхронном или асинхронном.
Синхронный режим предназначен для передачи массива слов. В зависимости от способа синхронизации (с внутренней или внешней синхронизацией) определенным образом отмечается начала приема, после чего все поступающие на вход RxD биты упаковываются в слова заранее определенного формата. Способ фиксации момента начала приема определяет режим синхронного обмена.
Различают два режима синхронного приема. В режиме приема с внутренней синхронизацией приемник начинает работу с поисков символа (символов) синхронизации. Информация принимается по входу RxD на первый регистр приемника и непрерывно сравнивается с содержимым регистра первого синхросимвола. Если содержимое двух регистров не одинаково, то в регистр приемника принимается следующий бит и сравнение повторяется. Когда содержимое сравниваемых регистров становится одинаковым, контроллер заканчивает поиск и переходит в режим синхронизации. При этом, если не запрограммирован контроль по четности (нечетности), на выводе SYNDET/BD, работающем как выход, во время приема последнего бита синхросимвола устанавливается напряжение высокого уровня, сигнализируя ВУ, что произошел захват синхронизации. Если контроллер. .ВВ51 запрограммирован с двумя символами синхронизации и/или контролем на четность, то указанная выше ситуация произойдет во время приема последнего бита второго синхросимвола или бита контроля.
В режиме синхронного приема с внешней синхронизацией на вывод SYNDET/BD, работающий как вход, подается напряжение синхронизации, которое разрешает прием информации по входу RxD со скоростью синхросигналов, поступающих на вход RxC\. Если в управляющем слове определен прием в синхронном режиме с внешней синхронизацией, то цепи внутренней синхронизации блокируются установкой внутреннего триггера, сброс которого возможен по сигналу SR или после чтения состояния контроллера.
Синхронная передача начинается при подаче на вход CTS\ низкого уровня. Передатчик начинает трансляцию битов буферного регистра на выход TxD со скоростью синхроимпульсов, поступающих на вход TxC.
Асинхронный режим характеризуется одиночными посылками информации, инициализация которых определяется либо процессором системы, либо внешним устройством. Синхронизация передатчика и приемника обеспечивается равенством частот передачи и приема (частоты задаются программно). Для контроллера. .ВВ51 возможны три частоты передачи/приема: 1:1, 1:16 и 1:64 относительно частоты синхронизации на входе CLK. Неактивному состоянию передатчика соответствует высокий уровень на линии данных.
В начале каждой посылки устанавливается низкий уровень на выходе TxD данных передатчика т.н. "старт-бит", длительность которого равна периоду заданной передающей частоты. Старт-бит служит для ввода в синхронизацию передатчика и приемника. В конце посылки выдается "стоп-бит", длительность которого программируется на 1, 3/2 или 2 периода передатчика.
Асинхронная передача начинается с записи в контроллер данных и при условии, что в D0 инструкции команды записана "1" и на входе CTS\ - низкий уровень. Передатчик формирует на выходе TxD стартовый бит, заданное число бит данных (5..8, начиная с бита d0), если необходимо - контрольный бит и - обязательно - стоповый бит. Если контроллер не содержит информации для передачи, то на линии TxD удерживается высокий уровень, а если в инструкции запрограммирован режим "Пауза", то на TxD выдается низкий уровень.
Асинхронный прием. Обнаружение на RxD перехода с высокого уровня на низкий интерпретируется как приход старт-бита. Истинность этого бита проверяется вторично через 1/2 периода приема и если наличие низкого уровня подтверждается, то запускается счетчик битов, который позволяет определить конец битов данных, бит контроля (если он запрограммирован) и стоп-бит. Если же низкий уровень в середине периода не подтверждается, то приемник переходит в исходное состояние.
Схема управления и синхронизации приемника предохраняет от ошибочного запуска счетчика битов, если на выводе RxD присутствует напряжение низкого уровня, вызванное командой D3 "Пауза". Регистр приемника обнаруживает паузу и на выводе SYNDET/BD устанавливает высокий уровень.
Если при приеме обнаруживаются ошибки четности или длительности стоп-бита, то соответствующие триггеры ошибок устанавливаются в единичное состояние. Принятые данные передаются через внутренние шины в выходной регистр данных, и на выходе RxRDY устанавливается высокий уровень. Если предыдущий символ еще не считан процессором, то он теряется, и устанавливается триггер ошибки переполнения.
Наличие единиц в триггерах ошибок не останавливает работу контроллера. Триггеры ошибок сбрасываются командой с D4 = 1.
Состояние контроллера отображается в регистре состояний, доступном по чтению процессору (при CS = 0, RD = 0, CO/D = 1). Формат регистра состояний приведен ниже:
DSR | SYN/BD | D5 | D4 | D3 | TxEND | RxRDY | TxRDY |
Разряды 7, 6, 2, 1, 0 дублируют состояния соответствующих выводов контроллера (см. табл. 6.3); D5 - триггер ошибки стоп-бита, D4 - триггер ошибки переполнения (устанавливается, если предыдущий символ не прочитан процессором до записи в буферный регистр нового принятого символа), D3 - триггер ошибки четности.