Формат инструкции асинхронного режима приведен на рис.3.
Инструкция определяет тип и скорость передачи/приема данных (биты D1, D0), длину передаваемого символа (биты D3, D2), вид контроля (D5, D4), количество стоповых бит (D7, D6). Асинхронный обмен может осуществляться со скоростью, равной 1/1, 1/16 или 1/64, частоты синхронизации приема/передачи, подаваемой на входы RxC и TxC. Максимальная скорость передачи при соотношении 1/16 достигает 19,2 Кбод, при 1/64 - 9,6 Кбод.
Синхронный (старт - стоповый) режим. Синхронный режим работы УСАПП позволяет осуществить обмен данными с приемопередающими устройствами с высокой скоростью обмена до 64Кбод. Обмен данными начинается с передачи одного или двух синхросимволов, за которыми передаются символы сообщения (рис.1).
Символы синхронизации используются для запуска синхронизации приемника. Приемник, находясь в режиме ожидания, сравнивает поступающие биты с кодом синхронизации. При поступлении идентичных синхросимволов приемник переключается на режим приема последовательного потока информации. Передача информации в синхронном режиме осуществляется непрерывно, вследствие чего скорость обмена в синхронном режиме выше, чем при асинхронном. При отсутствии данных передатчик выдает в линию связи символы синхронизации.
Синхронный режим программируется с помощью инструкции режима, содержащей биты D0D1= 00 (рис.2).Назначение битов D2-D5 тоже, что и при асинхронном режиме: D3,D2 - определяют количество битов в символе ( 00 - 5 бит, 01 - 6 бит, 10 - 7 бит, 11 - 8 бит), D4 - бит разрешения контроля , D5 - бит, указывающий тип контроля ( 1 - на четность, 0 - на нечетность). Биты D6,D7 в синхронном режиме используются иначе: D6 - указывает вид синхронизации (1 - внешняя, 0 - внутренняя). D7 - указывает количество синхросимволов (1- один, 0-два).
Синхронная передача. Передатчик начинает работу, если на входе CTS/- сигнал "0", а разряд D0 инструкции команд содержит 1. Для начала передачи информации в передатчик необходимо записать любые данные, которые будут потеряны, т.к. в это время приемник внешнего устройства будет находиться в режиме поиска синхросимволов.
Инициализация режима осуществляется путем выполнения следующей группы команд.
Адрес Команды |
16-й код |
Мнемоника ассемблера |
Комментарий |
8208 AF XRA A 8209 D39D OUT USART+1 820B D39D OUT USART+1 820D D39D OUT USART+1 820F 3E40 MVI A,RESET ;Программный сброс УСАПП 8211 D39D OUT USART+1 8213 3E?? MVI A,MOD51 ;Программирование режима УСАПП 8215 D39D OUT USART+1 8217 3E19 MVI A,SYNC1 ;Запись 1-го синхросимвола 8219 D39D OUT USART+1 821B 3EE6 MVI A,SYNC2 ;Запись 2-го синхросимвола 821D D39D OUT USART+1 821F 3E MVI A,COM 8221 D39D OUT USART+1 ;Передача команды в УСАПП |
Если микропроцессор не запишет очередной символ в УСАПП до того, как последний передаст предыдущий информационный символ, то для предотвращения потери синхронизации в поток данных автоматически вставляются синхросимволы. При этом на выходе TxEND устанавливается напряжение высокого уровня. При записи данных в УСАПП на выходе TxEND устанавливается напряжение низкого уровня.
Синхронный прием. При синхронном приеме возможны две разновидности режима: с внутренней и внешней синхронизацией. При работе с внутренней синхронизацией (разряд D6 инструкции режима равен 0) работа УСАПП начинается по команде, разряд D7 которой установлен в 1. При этом УСАПП входит в состояние поиска синхросимволов. Информация, поступающая на вход RxD, по фронту RxC/ непрерывно сравнивается с содержимым регистра первого синхросимвола, а затем при необходимости и второго синхросимвола. При обнаружении синхросимволов во время приема последнего бита на выводе SYNDET/BD, работающем как выход, устанавливается напряжение высокого уровня, сигнализируя ВУ о том, что произошел захват синхронизации. При сбросе и чтении слова состояния на линии SYNDET/BD устанавливается в напряжение низкого уровня. При внешней синхронизации на вывод SYNDET/BD, работающий как вход, подается напряжение синхронизации, которое разрешает прием информации по входу RxD со скоростью поступления сигналов RxC/.В режиме синхронного приема с внешней синхронизацией запрограммированные символы не используются, а начало и конец приема данных определяется сигналом SYNDET/BD. Так как фиксация данных в приемнике происходит по фронту I/O сигнала RxC/,то необходимо активизировать сигнал на входе SYNDET/BD в предыдущем периоде сигнала RxC/ (это позволяет исключить сдвиг битов данных). При синхронном приеме данных ошибки четности и переполнения проверяются так же, как и при асинхронном режиме.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.