Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurs_lektsy_TS_AiU.doc
Скачиваний:
70
Добавлен:
31.03.2015
Размер:
2.39 Mб
Скачать

14.5 Назначение каналов контроллера пдп и адреса регистров страниц.

КПДП

Канал

Назначение

Адреса регистров страниц

КПДП1

0

Регенерация ОЗУ

87h

1

Резерв (КАМАК), Sound

83h

2

НГМД

81h

3

Резерв

82h

КПДП2

4

Каскадирование

-

5

Резерв, Sound

8Bh

6

Резерв

89h

7

Резерв

8Ah

Лекция №15 Функциональный состав и программная модель кпдп.

Рис. 15.1 Функциональный состав и программная модель контроллера ПДП.

Любой КПДП включает 3 функциональных блока:

  • Блок управления КПДП;

  • 4 канала обмена данными в режиме ПДП;

  • Буферный регистр данных для обмена память-память.

15.1 Блок управления.

Блок управления предназначен для установки общих параметров работы для всех каналов, чтения информации о состоянии каналов, разрешения запрета работы каналов.

Включает 4 регистра:

  • Регистр управления КПДП;

  • Регистр состояния КПДП;

  • Регистр масок;

  • Регистр запросов.

Регистр управленияКПДП (адрес 8h), 8-разрядный, доступен процессору для записи, определяет основные параметры работы контроллера.

Рис. 15.2 Регистр управления КПДП.

При включении питания BIOSинициализирует регистр: 00000000, это значит, что устанавливается режим память-ВУ, временной цикл ПДП обычный, уровень сигнала запросаDREQвысокий,DACK– низкий, приоритеты фиксированные.

Регистр состоянияКПДП 8-разрядный (адрес 8h) фиксирует состояния счетчиков каналов и наличие или отсутствие запросов каналов ПДП. Регистр состояния доступен процессору для чтения.

Рис.15.3 Регистр состояния КПДП.

Биты 3-0 устанавливаются в 1 при достижении счетчиками каналов 3-0 конечных значений, сбрасываются после чтения регистра; биты 7-4 устанавливаются в 1, если имеется запрос ПДП от каналов 3-0.

Регистр запросов 4-х разрядный, предназначен для организации программного запроса ПДП, формат такой же, как и у регистра маски.

2

1

0

Маска 1/0- установка/сброс

Канал: 00-0 канал,01-1,10-2,11-3

Рис.15.4 Регистр запросов.

Регистр маски4-х разрядный, используется для маскирования/разрешения запросов ПДП каналов. Регистр доступен процессору для записи.

Рис. 15.5 Регистр маски.

Разрешение (запрет) определенного канала ПДП может выполняться командой записи по адресу Ah. Биты 0,1 определяют канал, а бит 2 – состояние канала. Сброс регистра маски выполняется путем записи произвольного значения по адресуEh.

15.2 Каналы контроллера пдп.

Каналы КПДП содержат по одному 8-разрядному регистру режима и по четыре 16-разрядных: регистр адреса базовый, регистр счетчик базовый, регистр адреса текущий, регистр счетчик текущий.

Регистр режима(адресBhдля любого канала) определяет режим работы канала, процессору доступен для записи.

Рис. 15.6 Регистр режима работы каналов.

Назначение отдельных разрядов регистра: биты 1,0 – номер канала, биты 3,2 – тип цикла ПДП, бит 4 – автоинициализация канала разрешена/запрещена, бит 5 определяет инкремент или декремент адреса ОЗУ, биты 7,6 определяют режим обслуживания.

В цикле проверка выполняется псевдопередача: линии MEMR/IOW,IOR/MEMWостаются пассивными.

В режиме одиночной передачи(01) контроллер после передачи каждого байта освобождает шину минимум на один цикл, но как только обнаруживает активный сигналDREQ, инициирует следующую передачу. В режимеблоковой передачи(10) шина не освобождается до окончания передачи блока. В режимепередачи по требованию(00) аналогичен предыдущему, но после каждой передачи проверяется сигналDREQ. Если он пассивный, передачи приостанавливаются до получения активного сигналаDREQ.

Регистр адреса базовыйхранит начальный адрес ОЗУ канала ПДП. Регистр счетчика базовый хранит число циклов ПДП. В процессе работы канала содержимое базовых регистров не меняется.

Регистр текущего адреса содержит текущий адрес памяти обмена. После выполнения цикла ПДП содержимое этого регистра инкрементируется или декрементируется.

Регистр счетчик текущийсодержит число слов, предназначенных для передачи, минус 1. При выполнении операций обмена данными регистр работает в режиме вычитания.

Адреса 16-разрядных регистров каналов:

Адрес

Канал

Назначение регистра

00h

01h

0

0

Регистры адреса: базовый, текущий

Регистры счетчики: базовый и текущий

02h

03h

1

1

Регистры адреса: базовый, текущий

Регистры счетчики: базовый и текущий

04h

05h

2

2

Регистры адреса: базовый, текущий

Регистры счетчики: базовый и текущий

06h

07h

3

3

Регистры адреса: базовый, текущий

Регистры счетчики: базовый и текущий

Запись в регистры текущего адреса или в текущий счетчик одновременно загружает и соответствующий базовый регистр. Чтение возможно только из текущего регистра адреса или счетчика.

Так как контроллер может одновременно принимать по одному байту, чтение (запись) каждого из 16-разрядных регистров производится двумя операциями ввода (вывода). Для загрузки регистров счетчиков и регистров адресов в контроллере существует триггер первый/последний. Если первоначально триггер первый/последний находится в состоянии 0, то первый выводимый в эти регистры байт загружается в младший байт, а триггер первый/последний устанавливается в 1. При выводе второго байта, единичное состояние триггера направляет его в старший байт. После этого триггер сбрасывается в 0. Для инициализации триггера до начала операций ввода-вывода предназначен приказ сброса триггера первый/последний, который выполняется операцией запись в регистр по адресуCh произвольного значения.

Операции с 8 битными регистрами КПДП:

Адрес

Операция

Назначение операции

08h

Запись

Запись в регистр управления КПДП

08h

Чтение

Чтение регистра состояния КПДП

09h

Запись

Программная установка/сброс запросов

Ah

Запись

Программная установка/сброс масок индивидуально

Bh

Запись

Запись в регистр режима работы канала

Ch

Запись

Сброс триггера первый/последний

Dh

Запись

Общий сброс КПДП

Dh

Чтение

Чтение из регистра временного хранения

Eh

Запись

Общий сброс регистра масок

Fh

Запись

Установка/сброс масок всех каналов

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]