Реферат: Канал последовательной связи на основе МС 8251

В состав контроллера последовательного интерфейса входят следующие регистры:

· Регистры буферов приёмника и передатчика,

· Регистры разрешения и идентификации прерываний,

· Регистры управления и состояния линии,

· Регистры управления и состояния модема,

· Регистры буфера делителя генератора.

В таблице 1.1 приведены адреса всех программно доступных регистров. Адреса в этой таблице даны относительно базового адреса контроллера[1] .

Таблица 1.1

Адрес

Операция

Регистр

DLAB

0

W

Буфер передатчика(THR)

0

0

R

Буфер приёмника (RBR)

0

0

R\W

Младший байт буфера делителя (Division Latch MSB)

1

1

R\W

Старший байт буфера делителя (Division Latch MSB)

1

1

R\W

Регистр разрешения прерывания (IER)

0

2

R

Регистр идентификации прерывания(IIR)

X

3

R\W

Регистр управления линией (LCR)

X

4

R\W

Регистр управления модемом (MCR)

X

5

R

Регистр состояния линии (LSR)

X

6

R

Регистр состояния модема (MSR)

X

7

R\W

Неиспользуемый регистр (Scratch Register)

X

Базовый адрес контроллера в зависимости от номера контроллера располагается в сегменте данных BIOS и приведён в таблице 1.2

Таблица 1.2

Номер контроллера

Адрес в сегменте BIOS

Номер прерывания

COM1

0040:0000

IRQ4 (INT 0Ch)

COM2

0040:0002

IRQ3 (INT 0Bh)

COM3

0040:0004

Не фиксирован

COM4

0040:0006

Не фиксирован

Таблица 1.2 содержит адреса полей в области данных BIOS, в которых расположены базовые адреса контроллеров последовательного интерфейса. Базовые адреса контроллеров заносятся в сегмент данных BIOS программой POST (Power On Self Testing) при проверке после включения электропитания. Программа POST помещает базовые адреса контроллеров последовательно один за другим. Это означает, что между значащими полями не может быть нулевого поля.

Рассмотрим подробно назначение и содержимое регистров контроллера последовательного интерфейса.

Регистр буфера передатчика ( THR ). Имеет адрес 0 относительно базового адреса контроллера. Данный регистр доступен только по записи и при значении бита разрешения доступа к делителю (DLAB) в регистре управления линией (LCR), равном 0. Регистр THR содержит восемь битов данных (бит 0 является младшим значащим разрядом и посылается первым в канал передачи).

Регистр буфера приёмки ( RBR ). Имеет адрес 0 относительно базового адреса контроллера. Этот регистр доступен по чтению(IN) и при значении бита разрешения доступа к делителю(DLAB) в регистре управления линией (LCR),равном 0. Регистр RBR содержит восемь битов данных (бит 0 является младшим значащим разрядом и принимается первым из канал передачи).

Регистр буфера младшего байта делителя ( Divisor Latch LSB).

Регистр имеет адрес 0 относительно базового адреса контроллера. Этот регистр доступен по чтению и записи только при значении бита разрешения доступа к делителю (DLAB) в регистре управления линией (LCR), равном 1. При записи в этот регистр нового значения делитель перезагружается немедленно.

Регистр буфера старшего байта делителя ( Divisor Latch MSB).

Регистр имеет адрес 1 относительно базового адреса контроллера. Этот регистр доступен по чтению и записи только при значении бита разрешения доступа к делителю (DLAB) в регистре управления линией (LCR), равном 1. При записи в этот регистр нового значения делитель перезагружается сразу.

К-во Просмотров: 1882
Бесплатно скачать Реферат: Канал последовательной связи на основе МС 8251