Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сгребнев Н.В., Осокина Е.Б., Перехода М.С. Микр...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.6 Mб
Скачать

Необходимые теоретические сведения

Одной из распространенных БИС программируемого последовательного интерфейса является I8251А, разработанная фирмой Intel(США). Наша промышленностью выпущен ее аналог К580ВВ51. Структурная схема этой БИС приведена на рис.29. Микросхема имеет два режима работы: синхронный и асинхронный и способна осуществлять контроль ошибок передачи. Устройство такого типа называется универсальный синхронно-асинхронный приемопередатчик – УСАПП (USART-Universal synchronous-asynchronous Resiver-Transmitter). В состав УСАПП входят: двунаправленный 8-разрядный буфер данных, связывающий интерфейс с внешней шиной данных; блок управляющей логики чтения/записи; блок управления модемом; блоки управления передачей и приемом; буферные и сдвиговые регистры приема и передачи. Назначение выводов микросхемы дано в табл.3.

Микросхема имеет семь адресуемых регистров. Буферные регистры входных и выходных данных разделяют порт с одним и тем же адресом.

При вводе последовательный двоичный поток с входа RxD поступает в регистр сдвига приемника, затем принятый байт передается в буферный регистр входных данных, и оттуда считывается микропроцессором. При выводе микропроцессор помещает байт в буферный регистр выходных данных, затем он передается в регистр сдвига передатчика и вместе с синхронизирующими битами – на выход TxD.

Рис. 20. Структурная схема УСАПП К580ВВ51 (I8251А)

Таблица 3

Назначение выводов микросхемы

Вывод

Функция вывода

D7...D0

Шина данных - 8 бит

C(H)/D(L)

Управление/Данные

RD(L)

Команда чтения

WR(L)

Команда записи

CS(L)

Выбор кристалла

CLK

Синхроимпульс МП

RESET

Сброс

TxC(L)

Синхронизация передатчика

TxD

Выход передатчика

RxC(L)

Синхронизация приемника

RxD

Вход приемника

RxRDY

Готовность приемника. УСАПП готов передать собранный байт в МП.

TxRDY

Готовность передатчика. УСАПП готов к передаче данных.

DSR(L)

Готовность модема

DTR(L)

Готовность терминала

SYNDET/

Обнаружение синхронизации и разрыва (паузы)

BRKDET

RST(L)

Запрос передачи

CTS(L)

Готовность терминала приемника

TxE

Передатчик пуст

Формат передаваемых и принимаемых символов, а также режим работы УСАПП задается программно в регистре режима (рис.21).

Рис. 21. Формат регистра режима: асинхронный(а) и синхронный (б)

Через регистр управления (рис.22) осуществляется координация работы интерфейса, а регистр состояния (рис.23) обеспечивает программе определенную информацию. Регистры символов синхронизации необходимы для синхронной связи.

Рис.22. Формат регистра управления

Рис.23. Формат регистра состояния

Все семь регистров микросхемы ассоциируются с адресами двух портов и дифференцируются одной линией адреса, подключаемой на вход C/D. микросхема интерпретирует сигналы C/D, RD, WR в соответствии с табл.4.

Таблица 4

Интерпретация сигналов управления

C/D

RD

WR

Действие

0

0

1

Чтение из буфера входных данных

0

1

0

Запись в буфер выходных данных

1

0

1

Чтение регистра состояния

1

1

0

Запись в регистр режима, управления, или символа синхронизации

Остальные комбинации сигналов переводят выводы D7-D0 в третье состояние.

Выбор регистра режима, управления или символа синхронизации в последнем варианте табл. 4 зависит от последовательности обращения, блок – схема которой представлена на рис.24.

Рис. 24. Схема размещения выводимых байтов

После аппаратного или программного сброса выводимый байт, при комбинации на входах C/D=1, RD=1 и WR=0, попадает в регистр режима. Форматы регистра режима для асинхронного и синхронного случаев показаны на рис.20.

Если два младших бита содержат нули, интерфейс переводится в синхронный режим и старший бит определяет число символов синхронизации, при этом следующие один или два байта, выводимые при С/D=0, попадают в регистры символов синхронизации. Если два младших бита регистра режима не равны нулю, интерфейс работает в асинхронном режиме. В любом случае – все последующие байты направляются в регистр управления (при С/D=1) или в буферный регистр выходных данных (при С/D=0).

Методы последовательной связи

Асинхронный режим

На рис. 25 приведен формат символа при асинхронной передаче. В состоянии ожидания передатчик устанавливает на линии уровень напряжения, соответствующий логической 1 (часто называется маркером). Переключение из 1 в 0 сигнализирует приемнику о том, что начинается передача потока данных. Первый бит этого потока, равный нулю (иногда называют пробелом), именуется стартовым битом.

Рис. 25. Формат символа при асинхронной передаче

После обнаружения перехода из 1 в 0 приемник считывает сигнал с входной линии через интервал времени, равный половине длительности одного разряда – это гарантирует, что принятий логический 0 является стартовым битом, а не помехой. Если стартовый бит признается недействительным, приемник игнорирует обнаруженный 0 и возвращается в состояние ожидания до поступления следующего действительного стартового разряда (0). Если же линия по прежнему находится в состоянии логического 0, приемник воспринимает стартовый бит как действительный и приступает последовательному считыванию информативных битов (от 5 до 8). Затем следует необязательный бит четного или нечетного паритета. Число завершающих стоповых битов может быть 1, 1,5 или 2.

Число информационных битов, тип паритета (если он есть), число стоповых битов могут меняться от одной передачи к другой, но в пределах одной передачи они являются константами. Для программирования вышеперечисленных параметров в К580ВВ51 используется регистр режима. Формат регистра при асинхронной передаче приведен на рис. 21(a).

Синхронный режим

Передаваемый синхронно символ также состоит из 5-8 информационных битов и необязательного бита паритета, но не имеет стартового и стоповых битов. Опросом в приемнике управляет та же синхронизация, которая применяется для генерации битов в передатчике, что гарантирует синхронность двух процессов. Все передачи должны начинаться с серии символов синхронизации, которые нельзя спутать с другими символами. Приемник, который должен знать код символа синхронизации, проверяет каждый бит по мере его появления и когда последовательность битов точно соответствует битам в символе синхронизации, полагает, что началась передача. Передатчик должен передавать символ в течение каждого n-битного интервала. Если символ к началу интервала отсутствует, возникает недогрузка и передатчик вводит холостой символ, обычно совпадающий с символом синхронизации. Ненужные холостые символы и символы синхронизации при приеме удаляются. Формат регистра режима при синхронной передаче приведен на рис. 20(6).

Обнаружение ошибок при последовательной передаче

Аппаратные методы

Интерфейс К580ВВ51 позволяет определять ошибки трех типов: четности (паритета), перезаписи (перегрузки) и кадра. Для индикации обнаруженных ошибок используются биты с 3 по 6 регистра состояния (рис.23).

Если 4 бит в регистре режима (рис.21) установлен в 1, то УСАПП осуществляется контроль по четности передаваемой информации. В этом случае старшим битом передаваемого символа является бит четности. Бит 5 регистра режима определяет тип контроля: четный (1) или нечетный (0). Когда тип контроля четный, то УСАПП устанавливает бит четности так, чтобы число всех единиц передаваемого символа (включая сам бит) в символе было четным. Аналогично устанавливается бит четности при нечетном типе контроля. Например, при передаче 8-разрядного символа 00010000 девятый разряд, являющийся в данном случае старшим, устанавливается в 1 при четном типе контроля и а 0 при нечетном. Если приемник обнаруживает несоответствие символа выбранному типу паритета, то он устанавливает флаг ошибки паритета (3-бит) в регистре состояния (рис. 23).

Ошибки перезаписи возникают, когда принятый символ находится в буферном регистре входных данных и по какой-то причине он заменяется новым символом до того, как микропроцессор успел его считать. Это вызывает установку флага ошибки перезаписи (4-бит) в регистре состояния (рис. 23).

Флаг ошибки кадра (6-бит) в регистре состояния устанавливается в случае, если приемник, ожидая стопового бита (или битов), в конце символа считывает 0. Ошибка кадра возникает в результате появления ложных разрядов, обусловленных действием шумовых выбросов. Такая же ситуация может наблюдаться в тех случаях, когда поток двоичных разрядов считывается при неправильно выбранной скорости передачи.

Программные методы

Самым простым программным методом обнаружения ошибок является " вычисление контрольной суммы после поступления заданного числа символов (такой набор символов называется блоком). Контрольная сумма имеет длину 1 байт и добавляется в конце блок; символом, типичная длина которого обставляет 128 или 256 байт. Для получения контрольной суммы пользуется различными: соглашениями. В некоторых случаях в качестве нее используется сумма всех байт в блоке, исключая переносы и переполнения, а иногда – дополнительный код этой суммы. Аналогичный байт контроля ошибок, служащий для так называемого продольного контроля избыточным кодом, представляет собой просто нарастающий итог операции «исключающее ИЛИ» над всеми переданными символами блока. Очевидно, что для генерации контрольной суммы принятого блока символов в приемнике должен использоваться тот же алгоритм, что и в передатчике. Расхождение переданной и вычисленной в приемнике контрольной суммы, говорит об ошибке, возникающей при передаче блока. Следовательно, необходима его повторная передача.