Реферат: Канал последовательной связи на основе МС 8251
1 – прерывание вырабатывается;
0 – прерывание запрещено;
ICL определяет прерывание при изменении состояния линии приёмника:
1 – прерывание вырабатывается;
0 – прерывание запрещено;
IFB задаст прерывание при освобождении регистра буфера принимаемых данных:
1 – прерывание вырабатывается;
0 – прерывание запрещено;
IDA определяет прерывание при доступности принимаемых данных:
1 – прерывание вырабатывается;
0 – прерывание запрещено;
Биты 7-4 не используются и должны принимать значение 0.
Регистр идентификации прерывания (IIR). Регистр имеет адрес 2 относительно базового адреса контроллера. Этот регистр доступен только по чтению и позволяет получить информацию от контроллера о ждущем прерывании. Значение битов регистра приведено ниже.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | I Type | II |
Биты I Type определяют тип ждущего прерывания, если оно хранится контроллером (что определяется битом II):
11 – изменилось состояние линии приёмника;
10 – принимаемые данные доступны;
01 – освобождён регистр буфера;
00 – изменилось состояние модема.
Более подробная информация о приоритетах прерываний, условиях появления и условии сброса состояния прерывания приведена ниже в таблице 1.3
Информация о ждущем прерывании Таблица 1.3
I Type | Приоритет | Тип | Условие появления | Условия сброса |
11 | 1 | Состояние линии приёмника | Ошибка переполнения, чётности, посылки или пауза | Операция чтения LSR |
10 | 2 | Доступность принимаемых данных | Доступность принимаемых данных | Операция чтения RBR |
01 | 3 | Освобождение регистра буфера передатчика | Освобождение THR | Операция чтения IIR или запись в THR |
00 | 4 | Состояние модема | Clear To Send, Data Set Ready, Ring Indicator или Data Carrier Detect | Операция чтения MSR |
Бит II является индикатором ждущего прерывания:
0 – контроллер последовательного интерфейса хранит прерывание;
1 – нет прерываний, ожидающих обработки
Биты 7 – 3 регистра не используются и должны принимать
значение 0.
Регистр управления линией (LCR). Регистр имеет адрес 3 относительно базового адреса контроллера. Этот регистр доступен по чтению и по записи.
Значение данного регистра определяет формат передаваемых данных в линию передачи данных контроллером последовательного интерфейса. Описание битов регистра приводятся далее.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DLAB | SB | SP | EPS | PA | NSB | WLS |
DLAB управляет доступом к регистрам буфера делителя. Если бит равен 1, операция чтение и запись по адресам – и1 относительно базового адреса выполняются с регистрами буфера делителя программируемого генератора. Для доступа к регистрам RBR, THR и IER бит должен иметь нулевое значение.
SB устанавливает состояние «пауза», когда равен 1. В этом остоянии на выходе контроллера последовательного интерфейса устанавливается значение 0, которое не может быть изменино никакими другими действиями, кроме как переустановка бита в 0.
SP управляет установкой режима неизменимого бита контроля чётности. Значение бита 1 задаёт режим, а значение 0 – отменяет. При установки бита SP в 1 должен устанавливаться в 1 и бит PA, е.е. эти два бита связаны. Когда значение бита EPS равно 0, посылается и контролируется значение бита контроля чётности, равное 1 (Mark Parity). При единичном значении бита EPS посылается и контролируется значение бита контроля чётности, равное 0 (Space Parity).
EPS задаёт выбор режима контроля чётности. Если бит устанговлен в 0 и бит PA установлен в 1, генерируется и проверяется чётное количество единичных битов символа посылки и бита контроля чётности. Если бит установлен в 1 и бит PA установлен в 1, генерируется и проверяется нечётное количество единичных битов символа посылки и бита контроля чётности.
PA является битом разрешения контроля чётности. Если бит установлен в 1, то генерируется бит контроля четности между последним битом передаваемого символа и стоп-битом.
NSB определят количество стоп-битов в каждом символе, передаваемом контроллером последовательного интерфейса, и связан с длинной слова обмена (биты WLS). Если этот бит установлен в 0, то генерируется и проверяется один стоп-бит при любой длине слова обмена. Если этот бит установлен в 1, то при длине слова обмена в 5 бит генерируется и проверяется 1.5 стоп-бита, а при любой другой длине слова обмена генерируется и проверяется 2 стоп-бита[2].
Биты WLS определяют длину слова обмена:
00 – 5 битов;
01 – 6 битов;
10 – 7 битов;
11 – 8 битов.
Регистр управления модемом (MCR). Регистр управления модемом имеет адрес 4 относительно базового адреса контроллера. Этот регистр доступен по чтению и записи. С помощью регистра можно управлять работой модема.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | LB | Out2 | Out1 | RTS | DTR |
LB задаёт режим «шлейфа» (Loopback) для диагностических целей. При единичной значении этого бита происходит следующее:
· Выход передатчика (SOUT) устанавливается в активное состоние;
· Вход приёмника (SIN) отсоединяется;
· Выход сдвигового регистра передатчика подсоединяется к сдвиговому регистру приёмника;
· Четыре входных управляющих сигналов модема (CTS, DSR, DCD и RI) отсоединяется;
· Черыре выходных управляющих сигнала модема (DTR, RTS, Out1 иOut2) подсоединяются к четырём управляющим вхолдам модема;
· Управляющие цепи модема принудительно устанавливаются в неоктивное состояние.
В диагностическом режиме передаваемые данные сразу же принимаются. При этом полностью обеспечивается прерывание приёмника и передатчика. Управление прерываниями так же управляется регистром IER, однако источниками прерываний в этом случае является четыре младших бита регистра MCR в место четырёх управляющих входов модема. Система управления прерываниями может быть проверена в режиме «шлейф» записью в младшие 6 бит регистра LSR и младшие 4 бита регистра MSR. При установке любого из этих битов в один вырабатывается соответствующие прерывания (если оно разрешено в регистре IER). Условия сброса состояния прерывание полностью соответствуют нормальному режиму работы.
Для возврата к нормальному режиму работы необходимо сначала перепрограммировать регистры для этого режима работы, а затем установить бит LB регистра MCR в значение 0.
Out2 управляет сигналом Out2. При единичном значении бита сигнал Out2 устанавливается равным 1. Сигнал Out2 управляет генерацией прерываний контроллера последовательного интерфейса. При единичном знании сигнал контроллер генерирует прерывание в соответствии со значением регистра IER. При нулевом значении сигнала Out2 контроллер не генерирует прерываний независимо от значение регистра IER.