Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системное программирование.doc
Скачиваний:
179
Добавлен:
19.03.2015
Размер:
1.96 Mб
Скачать

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-совместимых УАПП.

УАПП

Характеристики

8250

Считается базовой, самая простая по возможностям. Имеет

ошибки, приводящие к возможности появления ложных прерываний.

8250А

Модернизированная 8250. Устранена некоторые ошибки, непригоден

в АТ для скорости 9600 бит/с, несовместим с XT BIOS.

8250B

Исправлены ошибки 8050 и 8050А, совместим с XT BIOS.

16450

Быстродействующая версия 8250 для AT.

Не имеет ошибок, присущих 8250.

16550

Развитие 16450. Имеет FIFO буфер, однако, с ошибками, не

позволяющими корректно его использовать. Поддержка режима

прямого доступа в память DMA.

16550А

Исправленная версия 16550, имеет корректно работающий

16-ти байтный FIFO буфер и DMA, которые должны

применяться для работы на скоростях 9600 бит/сек и более.