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

15.3 Каскадирование контроллеров пдп.

При каскадировании 1 контроллер работает, как основной, и несколько контроллеров дополнительные.

Никакие сигналы основного контроллера в формировании циклов ПДП не участвуют.

Рис. 15.7 Схема каскадирования контроллеров ПДП.

Приоритеты: DREQ0, 1, 2, 3, 5, 6, 7 – если приоритеты фиксированные.

Особенности работы КПДП2:

Каналы 5-7 обеспечивают 16-битовую передачу данных.

КПДПА1: A0-A7 (КПДП1), A8-A15 (Защелка), A16-A23 (Регистр страниц).

КПДПА2: A0=0, A1-A8 (КПДП2), A9-A16 (Защелка), A17-A23 (Регистр страниц).

Адрес регистра КПДП2 = C0h+ Адрес регистра КПДП1*2.

Лекция №16 Методика программирования контроллера пдп.

Выполняется процессором в программном режиме и включает следующие действия:

1. Инициализация – должна выполняться по всем каналам, даже если они не используются. В машинах семействаIBMPCвыполняетсяBIOS.

  • DREQ – высокий уровень сигнала;

  • DACK – низкий уровень сигнала;

  • Цикл записи – нормальный;

  • Приоритеты – фиксированные;

  • Режим управления ПДП – ВУ-память;

  • Все каналы маскированы.

2. Программирование канала КПДП.

  1. Запрет работы канала на время программирования.

Операция индивидуального маскирования выбранного канала:

Запись по адресу Ahследующей информации:

2

1

0

Маска

Канал

  1. Установка режима работы канала.

Запись по адресу Bhпозволяет установить параметры режима работы.

  1. Сброс триггера “Первый/последний”.

Запись произвольного значения по адресу Ch.

  1. Запись младших бит адреса в регистр адреса базовый, регистр адреса текущий.

  2. Запись старших бит адреса: A16-A23 в регистр страниц.

  3. Запись числа, которое на 1 меньше, чем количество байт, которые необходимо передать по каналу ПДП.

  4. Разрешение работы канала.

Нужно сбросить маску в 0.

Пример реализации методики программирования.

Канал 1 (КАМАК), запись в ОЗУ одиночными символами 1000 байт.

Var

Buf: array [1..500] of word;

addr_buf: longint;

Apage, Aofs: word;

Begin

{1} Port[$A]:=5;

{2}Port[$B]:=$45;

Seg(Buf); {Возвращает сегментную часть аргумента}

ofs(Buf); {Смещение}

addr_buf:=seg(Buf);

addr_buf:=(addr_bufshl4) +ofs(Buf); {узнали физический адрес}

Apage:=addr_buf shr 16;

Aofs:=addr_buf and $FFFF;

Port[$C]:=0; {Сброс триггера первый/последний}

Port[2]:=Lo(Aofs); {Триггер первый/последний = 1}

Port[2]:=Hi(Aofs); {Триггер первый/последний = 0}

Port[$83]:=Apage;

Port[3]:=Lo(sizeof(Buf)-1)); {999}

Port[3]:=Hi(Sizeof(Buf)-1);

Port[$A]:=1; {Разрешение работы канала}

End.

Если интерфейс установит DREQ=1, то КПДП будет выполнять обмен данными так, как его запланировали.

Лекция№17 Реализация пдп в ас на основе камак.

В качестве интерфейса ВУ используется интерфейс КАМАК. Контроллер крейта КАМАК для обмена в режиме ПДП содержит 2 дополнительных регистра.

Адрес 24Fh- Регистр управления ПДП, адрес 24Fh– регистр состояния ПДП.

Рис. 17.1 Регистр управления ПДП контроллера ККП3.

Регистр управления обменом ПДП доступен процессору для записи, определяет: число байтов в словах, передаваемых между модулями КАМАК и ОЗУ ЭВМ – биты 1,0; режим окончания обмена – бит 2; направление передачи данных в режиме ПДП – бит 3; номер активного контроллера КАМАК – биты 4,5; разрешение/запрет формирования сигнала DREQ1 –бит 6. Бит 6 аппаратно сбрасывается по окончании передачи сигналомEOP.

7

6

5

4

3

2

1

0

1/0

1

1

1

1

1

1

1

Рис. 17.2 Формат регистра состояния ПДП контроллера ККП3.

Регистр состояния операции ПДП доступен процессору для чтения. Бит 7 регистра показывает состояние операции ПДП: 0/1 – ПДП операция выполняется / закончена. Бит устанавливается сигналом на линии EOP.

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