Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Периферийные устройства ЭВМ_2009.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
2.43 Mб
Скачать

1.4.2. Структура регистров уапп 16550a

У контроллера последовательного интерфейса имеется 8 регистров, занимающих смежные адреса в пространстве устройств ввода-вывода. Следует обратить особое внимание на то, что регистров реально больше: при чтении регистра 0 байт читается из регистра приемника, при записи байт запишется в регистр передатчика. Кроме того, регистры 0 и 1 мультиплексируются битом 7 регистра управления. Когда этот бит равен 0 (нормальное рабочее состояние), регистр 0 является регистром приемопередатчика, а регистр 1 задает маску прерываний. Когда этот бит равен 1, то регистры 0 и 1 применяются для чтения/записи старшего и младшего байтов делителя, определяющего скорость обмена. Входная частота синхронизации 1,8432 МГц делится адаптером на К и получается 16-кратная частота передачи. Базовый адрес COM-порта определяется путем чтения переменных BIOS. Стандартным адресом COM-порта является 3F8h, COM2 – 2F8h. Перед работой с портом рекомендуется определить его адрес путем чтения переменной BIOS, а не брать стандартное значение. Назначение регистров UART и их адреса относительно базового приведены в табл. 7, 8.

Таблица 7. Регистры UART 16550A

Смещение

DLAB

R/W

8250

Значение

0

1

0

0

R/W

WO

RO

+-

++

++

Регистр скорости обмена (LO) (табл. 8) Регистр передатчика

Регистр приемника

1

1

0

R/W

R/W

+-

+-

Регистр скорости обмена (HI) (табл. 8)

Регистр маски разрешения прерываний

(табл. 9)

2

x

x

RO

WO

+-

-

Регистр идентификации прерываний  (табл. 10)

Регистр управления FIFO (табл. 11)

3

x

x

R/W

+

Регистр управления линией (настройка параметров канала (табл. 12)

4

x

R/W*

+

Регистр управления модемом (табл. 13)

5

x

R/W*

+

Регистр состояния линии (табл. 14)

6

x

R/W

+

Регистр состояния модема (табл. 15)

7

x

R/W

-

Раб. регистр для временного хранения данных

Примечания:

  1. * – некоторые биты допускают только чтение.

  2. 8250 – столбец, содержащий признак степени совместимости с 8250 («+» – полная, «+-» – частичная, «-» – отсутствует в 8250).

  3. DLAB – состояние бита 7 регистра управления линией.

  4. При помещении байта в буфер передатчика он немедленно передается.

Таблица 8. Адреса переменных BIOS для COM-портов

Имя порта

Адрес в BIOS

Тип переменной

Описание

COM1

0040:0000h

Word

Базовый адрес порта COM1. Если переменная равна 0, то порт не найден

COM2

0040:0002h

Word

--//--

COM3

0040:0004h

Word

--//--

COM4

0040:0006h

Word

--//--