Реферат: Канал последовательной связи на основе МС 8251
Для возврата к нормальному режиму работы необходимо сначала перепрограммировать регистры для этого режима работы, а затем установить бит LB регистра MCR в значение 0.
Out2 управляет сигналом Out2. При единичном значении бита сигнал Out2 устанавливается равным 1. Сигнал Out2 управляет генерацией прерываний контроллера последовательного интерфейса. При единичном знании сигнал контроллер генерирует прерывание в соответствии со значением регистра IER. При нулевом значении сигнала Out2 контроллер не генерирует прерываний независимо от значение регистра IER.
Out1 управляет сигналом Out1. Если бит установлен в 1, сигнал Out1 устанавливается 1. При задании значения 0 сигнал устанавливается в нулевой уровень.
RTS управляет сигналом «запрос на передачу» (Request to Send). При значении этого бита, равном 1, сигнал «запрос на передачу» устанавливается равным 1. При задании значения 0 сигнал устанавливается в нулевой уровень.
DTR задаёт уровень сигнала «готовность терминала» (Data Terminal Ready). Если бит установлен в 1, сигнал «готовность терминала» устанавливается равным 1. При задании значения 0 сигнал устанавливаться в нулевой уровень.
Биты 7-5 не используются и всегда устанавливаются в 0.
Регистр состояния линии (LSR). Регистр состояние линии имеет адрес 5 относительно базового адреса контроллера и доступен только по чтению. Регистр LSR предоставляет информацию о состоянии обмена данных.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | TEMT | THRE | BI | FE | PE | OR | DR |
TEMT является индикатором освобождения передатчика .
Установка этого бита в 1 обозначает, что как регистр THR, так и регистр TSR свободный. Этот бит устанавливается в значение 0, если любой из регистров THR и TSR содержит символ.
THRE является индикатором освобождения регистра THR.
Установка этого бита 1 означает, что из регистра THR символ передан в сдвиговый регистр передатчика (TSR) и регистра THR готов принять следующий байт. Если в регистре IER разрешено прерывание по освобождению регистра THR, то при установке этого бита в значении 1 происходит также прерывание по освобождению регистра THR.
BI является индикатором состояния «пауза» (Break Interrupt). Состояние «пауза» фиксируется в том случае, если уровень принимаемого сигнала установлен в 0 на время приёма полной посылке, т.е. общее время стартового бита, битов данных, бита контроля чётности и стоп-бита. Этот бит принимает значение 0 после операции чтении регистра LSR. Биты с 4-1 являются индикаторами ошибки и установка любого из этих битов в значение 1 проводит к порождению прерывания по состоянию линий приёмника.
FE является индикатором «ошибки стоп-битов» (Framing Error).
Ошибка стоп-бита фиксируется в том случае, когда в принятом символе не обнаружена корректного стоп-бита, т.е. бит, следующий за последним битом данных или за битом контроля четности (в случае контроля чётности), имеет значение 0. Этот бит принимает значение 0 после операции чтения регистра LSR.
PE является индикатором «ошибки четности» (Parity Error).
Ошибка четности фиксируется, если в принятом символе обнаружено некорректное значение бита контроля чётности. Этот бит принимает значение 0 после чтении регистра LSR.
OR является индикатором «ошибки переполнения» (Overrun Error). Ошибка переполнения фиксируется в том случае, если при помешении очередного символа в регистр RBR обнаружено, что предедущее содержимое этого регистра не считано и, таким образом, оно потеряно. Этот бит принимает значение 0 после операции чтение регистра LSR.
DR индикатор доступности принимаемых данных. Этот бит всегда устанавливается в 1, когда приёмником полностью принят символ и помещён в регистр RBR. Бит принимает значение 0 после операцией чтения из регистра RBR.
Бит 7 всегда устанавливается в значение 0.
Регистр состояния модема (MSR). Регистр имеет адрес 6 относительно базового адреса контроллера и доступен только по чтению. Регистр предоставляет информацию о состоянии управляющих линий модема. Кроме того, этот регистр содержит 4 бита, которые отображают изменение состояния модема и устанавливаются в значение 0 после операции чтения из регистра MSR.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DCD | RI | DSR | CTS | DDCD | TERI | DDSR | DCTS |
DCD является инвертированным сигналом Data Carrier Detect (DCD). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) этот бит эквивалентен биту Out2 регистра MCR.
RI является инвертированным сигналом Ring Indicator (RI). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) эквивалентен биту Out1 регистра MCR.
DSR является инвертированным сигналом Data Set Ready (DSR). В режиме «шлейфа» (бит LB регистра MCR имеет значение 1) эквивалентен биту DTR регистра MCR.
CTS – инвертированный сигнал Clear to Send (CTS). При установленном режиме «шлейфа» (бит LB регистра MCR имеет значение 1) этот бит эквивалентен биту RTS регистра MCR.
Биты DDCD, TERI, DDSR и DCTS являются индикаторами изменения состояния модема и установка любого из этих битов в значение 1 приводит к порождению прерывания по состоянию модема, если оно разрешено в регистре IER.
DDCD является индикатором изменения сигнала Data Carrier Detect (DCD). Этот бит принимет значение 1 при изменении сигнала DCD после последней операции чтения регистра MSR.
TERI является индикатором заднего фронта сигнала RI. Этот бит принимает значение 1 при изменении сигнала RI с уровня логической 1 на уровень логического нуля.
DDSR является индикатором изменения сигнала Data Set Ready (DSR). Этот бит принимает значение 1 при изменении сигнала DSR после последней операции чтение регистра MSR.
DTCS является индикатором изменения сигналаClear to Send (CTS). Этот бит принимает значение 1 при изменении сигнала CTS после последней операции чтения регистра MSR.