КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Последовательный интерфейс — СОМ-порт

Отметим, что:

8250 имеет ошибки (появление ложных прерываний), учтенные в XT BIOS;

8250А — ошибки исправлены, но в результате потеряна совместимость с BIOS;эта микросхема работает в некоторых моделях AT, но непригодна для скорос¬ти 9600 бит/с;

8250В — исправлены ошибки 8250 и 8250А, восстановлена ошибка в прерыва¬ниях — возвращена совместимость с XT BIOS; работает в AT под DOS (кроме скорости 9600 бит/с).
Микросхемы 8250х имеют невысокое быстродействие по обращениям со стороны системной шины. Они не допускают обращения к своим регистрам в смежных шинных циклах процессора — для корректной работы с ними требуется введение программных задержек между обращениями CPU.
В компьютерах класса AT применяют микросхемы UART перечисленных ниже модификаций.

16450 — быстродействующая версия 8250 для AT. Ошибок 8250 и полной сов¬местимости с XT BIOS не имеет.

16550 — развитие 16450. Может использовать канал DMA для обмена данными. Имеет FIFO-буфер, но некорректность его работы не позволяет им воспользо¬ваться.

16550А — имеет работающие 16-байтные FIFO-буферы приема и передачи и
возможность использования DMA. Именно этот тип U ART должен применять¬ ся в AT при интенсивных обменах на скоростях 9600 бит/с и выше. Совмести¬мость с этой микросхемой обеспечивает большинство микросхем контролле¬ров портов ввода-вывода, входящих в современные чипсеты.
Микросхемы UART 16550А с программной точки зрения представляют собой на¬бор регистров, доступ к которым определяется адресом (смещением адреса регист¬ра относительно базового адреса порта) и значением бита DLAB (бита 7 регистра LCR). В адресном пространстве микросхема занимает 8 смежных адресов. Список регистров UART 16550A и способы доступа к ним приведены в табл. 2.4. Микросхе¬мы 8250 отличаются отсутствием регистра FCR и всех возможностей FIFO и DMA.
Таблица 2.4. Регистры UART 16550А

Доступ Регистр Смещение DLAB Имя
Название
Чтение/запись R/W
Oh Oh Oh
0 0 1
THR RBR DLL
Transmit Holding Register Receiver Buffer Register Divisor Latch LSB
WO RO R/W
продолжение-^

64
Глава 2. Последовательный интерфейс — СОМ-порт
Таблица 2.4 (продолжение)
Доступ
Регистр
Чтение/запись R/W
Смещение DLAB Имя Название
1h
1
DIM
Divisor Latch MSB
R/W
1h
0
IER
Interrupt Enable Register
R/W
2h
X
IIR
Interrupt Identification Register
RO
2h
X
FOR
FIFO Control Register
WO
3h
X
LCR
Line Control Register
R/W
4h
X
MCR
Modem Control Register
R/W
5h
X
LSR
Line Status Register
R/W1
6h
X
MSR
Modem Status Register
R/W'
7h
X
SCR
Scratch Pad Register
R/W
1 Некоторые биты допускают только чтение.

Hosted by uCoz