Смекни!
smekni.com

Канал последовательной связи на основе МС 8251 (стр. 2 из 5)

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.

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.