Универсальный асинхронный приемо-передатчик 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, что обеспечивает совместимость.

 

 

                         
 
 
   
 
   
 
   
 
   
 
   
 
   
     
 

 

 

           
   
ПК-интерфейс
 
 
 
 

 


Рис. 49. Структурная схема УАПП 8250/16450.

 

Табл. 104. Характеристики 8250-совместимых УАПП.

УАПП Характеристики
Считается базовой, самая простая по возможностям. Имеет ошибки, приводящие к возможности появления ложных прерываний.
8250А Модернизированная 8250. Устранена некоторые ошибки, непригоден в АТ для скорости 9600 бит/с, несовместим с XT BIOS.
8250B Исправлены ошибки 8050 и 8050А, совместим с XT BIOS.
Быстродействующая версия 8250 для AT. Не имеет ошибок, присущих 8250.
Развитие 16450. Имеет FIFO буфер, однако, с ошибками, не позволяющими корректно его использовать. Поддержка режима прямого доступа в память DMA.
16550А Исправленная версия 16550, имеет корректно работающий 16-ти байтный FIFO буфер и DMA, которые должны применяться для работы на скоростях 9600 бит/сек и более.