В.А. Авдеев, В.Ф. Гузик
Компьютеры: шины, контроллеры, периферийные устройства
Учебное пособие. Таганрог: ТРТУ, 2001. - 536 с.
6. Периферийные интерфейсы
6.8. Микросхема УАПП
Для управления работой последовательного интерфейса COM-порта используется микросхема УАПП (Universal Asynchronous Receiver/Transmitter). Выпускаются несколько
типов таких микросхем, например, микросхемы фирмы National Semiconductor 8250, 16450, 16550 и др., которые
называются совместимыми на уровне регистров. Обычно УАПП содержат два канала
передачи данных (асинхронные передатчик и приемник), упрощенные принципы
построения которых были рассмотрены ранее (см. 6.4 и 6.5). Кроме того, УАПП
содержит адресуемые регистры (см. приложение В, проверочное задание № 3),
необходимые для программирования последовательной кодовой посылки (количество
битов данных, стоповых битов и типа контроля), управления скоростью передачи
данных, координирования работы модема, линии и т.д.
В табл. 6.4 представлены адресуемые регистры COM1, имеющего базовый адрес 3F8h и реализованного на базе микросхемы NS16550.
Микросхема NS16550 содержит 16-байтные буферы FIFO передатчика и приемника, позволяющие
без потери данных осуществлять их обработку. Порты 3F8h и 3F9h имеют различное назначение в зависимости от бита D7 порта 3F8h (бита DLAB – Divisor Latch Access Bit).
Таблица 6.4
Адрес (h)
|
DLAB
|
Доступ
|
Название регистра
|
3F8
|
0
|
W
|
Регистр передатчика
|
3F8
|
0
|
R
|
Регистр приемника
|
3F8
|
1
|
R/W
|
Регистр делителя скорости (младший байт)
|
3F9
|
1
|
R/W
|
Регистр делителя скорости (старший байт)
|
3F9
|
0
|
R/W
|
Регистр разрешения прерывания
|
3FA
|
*
|
R
|
Регистр идентификации прерывания
|
3FA
|
*
|
W
|
Регистр управления FIFO
|
3FB
|
*
|
R/W
|
Регистр управления линией
|
3FC
|
*
|
R/W
|
Регистр управления модемом
|
3FD
|
*
|
R
|
Регистр состояния линии
|
3FE
|
*
|
R
|
Регистр состояния модема
|
3FF
|
*
|
R/W
|
Рабочий регистр
|
Примечание: W – запись, R – чтение, * -
безразличное состояние
Регистр
передатчика предназначен для временного хранения байта данных, автоматически
выводимого на линию TxD, а регистр
приемника – для временного хранения вводимого байта данных с линии RxD.
Скорость (V) передачи данных (бит/с) задается
значением делителя, равным 115200/V. Например, для V=9600
бит/с делитель равен 0Сh,
причем 0 (старший байт) выводится в порт 3F9h (DLAB=1), а С – в порт 3FBh (DLAB=1). В табл. 6.5 приведены некоторые значения байтов
делителя, определяющие соответствующие скорости передачи данных.
Таблица 6.5
Порт 3F8h DLAB=1
|
Порт 3F9h DLAB=1
|
Скорость передачи (бит/с)
|
80h
|
01h
|
300
|
C0h
|
00h
|
600
|
60h
|
00h
|
1200
|
...
|
...
|
...
|
0Сh
|
00h
|
9600
|
Регистр разрешения прерывания используется для разрешения
одного или нескольких прерываний в следующих случаях: приема символа (регистр
приемника полон), завершения передачи (регистр передатчика пуст), ошибки при
приеме данных, изменения состояния модема.
Регистр идентификации используется только для чтения с целью
установления источников прерывания и признака режима FIFO.
Режим FIFO задается битами D7 и
D6 (D7D6=11
– режим FIFO микросхемы 16550A,
D7D6=10 – режим FIFO микросхемы 16550, D7D6=00 – обычный режим). Назначение остальных битов этого и
других регистров показано в приложении В, проверочном задании № 3.
Описание битов регистра управления FIFO
представлено в табл. 6.6.
Таблица 6.6
Биты
|
Назначение
|
D0
|
1 – разрешение режима FIFO для
передатчика и приемника
|
D1
|
1 – сброс счетчика FIFO-приемника
|
D2
|
1 - сброс счетчика FIFO-передатчика
|
D3
|
1- разрешение операции ПДП
|
D5,
D4
|
Резерв
|
D7,
D6
|
Уровень заполнения FIFO, при
котором формируются прерывания:
00 – 1 байт (по умолчанию), 01 – 4 байта, 10 – 8
байтов, 11 – 14 байтов
|
Регистр управления линией используется для программирования
числа передаваемых битов данных и стоповых битов, типа паритета и бита доступа
(DLAB). Регистр управления модемом позволяет программно
осуществить управление выходами DTR и DSR
и установить режим проверки (бит D4=1), в котором выход
передатчика замыкается на вход приемника. В регистре состояния линии, доступном
по чтению со стороны процессора, отмечается состояние УАПП: готовности
передатчика принять выводимые данные (бит D5=1 –
регистр передатчика пуст), готовности приемника передать вводимые данные (бит D0=1 – регистр приемника полон), ошибки кадра, паритета,
переполнения, обрыва линии (наличие постоянного логического нуля), ошибки
принятых данных в режиме FIFO (бит D7=1).
В регистре состояния модема отображается состояние линий CTS, DSR, RI
и DCD. Рабочий байтовый регистр используется для
временного хранения данных и в микросхеме 8250 не применяется.
Похожие материалы:
Микрообъекты как носители криминалистически значимой информации
Миграция рабочей силы (Фролова Т.А.)
Мешальщик угольных масс
Микроэкономические модели в теории принятия решений
Миксеровой (Выпуск №7 ЕТКС)
Миксовщик
|