Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Описание регистров УАПП 16550A



Регистр разрешения прерываний. Единичное значение бита соответствует разрешению прерывания, назначение битов приведено в табл. 9. Если работа с портом идет без использования прерываний, то их следует запретить путем записи 0 в этот регистр.

В табл. 10, 14 значком * отмечены биты, не используемые в i8250.

 

Таблица 9. Регистр разрешения прерываний

Бит Значение
7,6,5,4 = 0, не используются
По изменении статуса модема (STS, DSR, RI, RLSD )
По ошибке приема данных
По завершении передачи
По приему символа ( в режиме FIFO - по тайм-ауту)

Регистр идентификации прерываний (табл. 10). Ввиду того, что контроллер обслуживается одним прерыванием, а возникать оно может в четырех различных ситуациях, в процедуре обработки прерывания необходимо выяснить, по какой причине произошло прерывание.

 

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

Бит Значение
7,6* Признак режима FIFO: 11 – FIFO 16550А, 10 – FIFO 16550, 00 – обычный
5, 4 Не используются
3* Прерывание по тайм-ауту (не в режиме FIFO)
2,1 00 – прерывание от приемника; 01 – есть данные в приемнике 10 – буфер передатчика пуст; 11 – изменение статуса модема
1 – нет запроса прерывания, 0 – есть запрос

 

В режиме FIFO биты 3-0 имеют иной смысл:

Продолжение табл. 10

2,1,0* 011 – обрыв, ошибка/обрыв линии; сброс - чтение регистра состояния линии 010 - принят символ; сброс - чтение регистра приемника 110 - индикатор тайм-аута (4-кратный интервал времени передачи символа). Генерируется, если в FIFO- буфере есть символы 001 - регистр передатчика пуст; сброс - запись в регистр передатчика 000 - изменение состояния модема; сброс - чтение регистра состояния модема

Регистр управления FIFO (только для записи, только 16550+) представлен в табл.11. Для очистки буферов FIFO необходимо запретить и затем снова разрешить режим FIFO. Для задания основных параметров адаптера применяется регистр управления линией (табл. 12). Бит 7 регистра управления линией называется DLAB и предназначен для определения назначения регистров 0 и 1. Он устанавливается в единичное состояние только на время программирования делителя управления скоростью передачи.

 

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

Бит Значение
7,6 Уровень заполнения FIFO-буфера, при котором генерируется прерывание (00 - 1 байт, 01 - 4 байта, 10 - 8 байт, 11 - 14 байт)
5,4 Резерв
Разрешение операций DMA
Сброс счетчика FIFO-передатчика
Сброс счетчика FIFO-приемника
Разрешение («1») режима FIFO для передатчика и приемника. При смене режима FIFO буфера очищаются!

 

Таблица 12. Регистр управления линией

Бит Значение
DLAB. Управление доступом к регистрам адаптера интерфейса. 1 – режим программирования делителя, 0 – чтение/запись
Формирование «обрыва линии» (вывод нулей)
Принудительная четность (если 0, то бит паритета генерируется в соответствии с паритетом символа, «1» - всегда равен инверсному значению бита 4 этого регистра)
Тип паритета («1»-четность, «0»-нечетность)
Разрешение бита контроля четности («1» – формируется, «0» – запрещен)
Длина стоп-бита («0»-1, «1»-1,5 при длине слов 5 бит и 2 при длине слова 6-8 бит)
1,0 Длина слова в битах 00 - 5; 01 - 6; 10 - 7; 11 - 8

 

Бит 4 управляет типом паритета, бит 3 задает разрешение контроля паритета. Бит 2 задает длину стоп-бита. Биты 1-0 определяют длину слова. Наиболее часто применяются слова длиной 7 и 8 бит.

Регистр управления модемом позволяет управлять модемом. Назначения битов приведены в табл. 13.

 

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

Бит Значение
7,6,5 =0 – резерв
«0» – нормальный режим, «1» – режим диагностики
OUT2 инверсный (разрешить прерывания от RS-232)
OUT1 инверсный (используется только в режиме диагностики)
RTSC – управление выходом RTS («1» – активен (-V), «0» – пассивен (+V))
DTRС – управление выходом DTR («1» – активен (-V), «0» – пассивен (+V))

 

В режиме диагностики выход передатчика переводится в состояние «1», вход приемника отключается, выход сдвигающего регистра передатчика логически соединяется с входом приемника; входы DSR, CTS, RI, DCD отключаются от входных линий и соединяются с DTRС, RTSC, OUT1, OUT2 соответственно, выходы управления модемом переводятся в пассивное состояние. Переданный в таком режиме байт должен немедленно приниматься, что позволяет проверять внутренние каналы данных порта и сдвиговые регистры.

Регистр состояния линии позволяет определить состояние приемопередатчика (табл.14).

Регистр состояния модема (табл. 15) позволяет определить состояние модема. Биты 3-0 вызывают прерывание «Изменение состояния модема». «1» в любом из этих битов свидетельствует о том, что состояние линии изменилось по сравнению с состоянием на момент последнего чтения этого регистра.

 

Таблица 14. Регистр состояния линии

Бит Значение
7* Ошибка принятых данных в режиме FIFO (буфер FIFO содержит хотя бы один символ, принятый с ошибкой)
Буфер передатчика пуст (символов нет ни в регистре передатчика, ни в сдвиговом регистре, ни в буфере FIFO)
Сдвиговый регистр передатчика пуст (буфер FIFO передатчика пуст). Может генерировать прерывание
BD - индикатор обрыва линии (на входе приемника «0» не менее чем время посылки одного символа)
FE - ошибка кадра (стоп-бит не найден)
PE - ошибка контрольного бита
OE - ошибка переполнения. Означает потерю символа (имеет аналогичный смысл в режиме FIFO)
DR принятые данные готовы. Сбрасывается при чтении регистра приемника

 

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

Бит Значение
Состояние линии DSD
Состояние линии RI
Состояние линии DSR
Состояние линии CTS
Изменение DSD
Изменение RI
Изменение DSR
Изменение STS

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.