Аппаратный протокол управления RTS/CTS использует сигнал CTS, который позволяет остановить передачу данных, если приемник не готов к работе. Байт, передаваемый на момент прихода CTS, будет передан, однако с момента окончания его передачи передатчик переходит к ожиданию готовности приемника (снятие CTS). Протокол обеспечивает быструю реакцию передатчика на состояние приемника и позволяет организовать обмен, не прибегая к буферизации.
Протокол применяется в принтерах и для соединения компьютеров. В случае с принтером линия CTS ПК должна соединяться с линией RTS принтера. При соединении двух ПК необходимо перекрестное соединение CTS-RTS. Если аппаратный протокол обмена не используется, то на линию CTS ПК необходимо подать сигнал «включено», что обычно достигается соединением CTS ПК с его же RTS перемычкой на разъеме.
Аппаратный протокол DTR/DSR подобен RTS/CTS, но использует другую пару сигналов.
Программный протокол XON/XOFF реализует двунаправленный канал обмена. Протокол предполагает наличие у приемника буфера, т.к. время реакции передатчика может оказаться достаточно большим. Когда буфер заполняется до определенного уровня (80-90%), он передает на приемник команду XOFF (байт с кодом 13h). Приняв команду, передатчик прекращает передачу и переходит в состояние ожидания до прихода команды XON (байт с кодом 11h), по которому передатчик возобновит передачу.
Программный протокол ACK. При обмене по данному протоколу для получения байта данных приемник посылает передатчику команду ACK (байт с кодом 6h). В ответ передатчик посылает приемнику один байт (или пакет байт определенного размера).
13.3. Универсальный асинхронный приемо-передатчик 8250
Для организации последовательной передачи данных в асинхронном режиме разработаны специальные микросхемы UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемо-передатчик). В режиме передатчика UART должен выполнить следующие операции:
принять символ (в параллельной форме) от ПК;
выполнить параллельно-последовательное преобразования символа;
сформировать кадр путем добавления к информационным разрядам стартового, стопового битов и бита четности;
передать кадр на интерфейс с требуемой скоростью;
сообщить о готовности приема следующего символа.
В режиме приемника UART должен выполнить следующие операции:
принять данные в последовательной форме от интерфейса;
проверить целостность кадра и при наличии ошибки кадрирования выдать сообщение;
выполнить проверку четности и в случае наличия ошибки четности выдать сообщение;
выполнить последовательно-параллельное преобразование и передать символ в ПК;
сообщить о готовности принятия следующего символа.
Первым адаптером последовательной связи являлась микросхема фирмы National Semiconductor 8250. Полным функциональным аналогом микросхемы является 16450. Упрощенная блок-схема УАПП 8250 показана на рис. 49.
Управление всеми операциями выполняется с помощью регистров микросхемы. Все регистры 8-разрядные, но не все разряды являются значимыми. Поэтому при выполнении операции чтения содержимого регистров, неопределенные разряды должны маскироваться.
Для простой последовательной связи необходимо только шесть регистров. Два регистра делителя скорости обмена содержат делитель опорной частоты. Регистр хранения передатчика THR содержит байт данных, который будет передан, а регистр данных приемника RBR – последний полученный байт данных. Доступ можно получить только к этим буферным регистрам, а копирование информации в сдвиговые регистры и процесс сдвига будет выполняется микросхемой 8250 автоматически.
Регистр управления линией LCR и регистр состояния линии LSR инициализируют и управляют линией связи. Регистр состояния модема MSR необходим только для связи через модем, а регистр разрешения прерывания IER и регистр идентификации прерывания IIR – только в процедурах, управляемых прерываниями.
Обычно коммуникационная процедура должна непрерывно проверять регистр статуса линии, ожидая вводимого символа или указания, что все готово для передачи следующего байта данных. Поскольку процессор работает быстро, по сравнению со скоростью передачи последовательных данных, такой метод напрасно расходует процессорное время, которое может использоваться для обработки поступающих или передаваемых данных.
По этой причине адаптер может быть установлен в режим, генерирующий прерывание при поступлении определенного события: появлении символа, возникновении ошибки и т.д. Прерывание передаст управление соответствующей процедуре обработки.
Все последующие модификации этих микросхем программно совместимы. Последовательные COM порты IBP PC основаны на микросхемах, совместимых на уровне регистров с UART 8250. Сравнительные характеристики УАПП, совместимых с микросхемой 8250, приведены в табл. 104.
С микросхемой 16550А совместимо подавляющее большинство микросхем – адаптеров COM портов. По сравнению с 8250 микросхемы 16550 и 16550А имеют дополнительные регистры. Многие биты, считающиеся в 8250 резервом, в 16550 задействованы для управления новыми функциями. Однако все регистры 8250 совпадают с соответствующими регистрами 16550, что обеспечивает совместимость.
Регистр делителя
скорости передачи
MSB
LSB
MR
DDIS
RD,RD
WR,WR
CS0
CS1
CS2
A2-A0
3
ADS
3
DTR
RTS
OUT1
OUT2
DSR
CTS
DCD
SOUT
BAUDOUT
RCLK
SIN
INTR
Данные
D7-D0
8
8
ПК-интерфейс
Регистр управления модемом
Регистр состояния модема
Схема управления модемом
Буферный регистр приемника
Сдвигающий регистр приемника
Регистр управления линией
Синхронизация и управление приемником
Контроллер-генератор
Регистр состояния линии
Регистр хранения передатчика
Сдвигающий регистр передатчика
Буфер шины данных
Регистр разрешения прерываний
Схема управления прерываниями
Регистр ввода-вывода прерываний
Регистр
сверхоперативной памяти
Схема выбора кристалла
Схема выбора регистра
Схемы выбора
режима записи-считывания и управления
Синхронизация и управление передатчиком
Коммуникационный интерфейс
RI
Рис. 49. Структурная схема УАПП 8250/16450.
Табл. 104. Характеристики 8250-совместимых УАПП.
Do'stlaringiz bilan baham: |