Лекция№17 Реализация ПДП в АС на основе КАМАК

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

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

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

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

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

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

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

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

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

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

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

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

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

     
Маска Канал

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

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

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

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

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

5. Запись старших бит адреса: A 16- A 23 в регистр страниц.

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

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

Нужно сбросить маску в 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 _ buf shl 4) + 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, то КПДП будет выполнять обмен данными так, как его запланировали.

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

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

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

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

               
1/0              

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

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

17.1 Алгоритм выполнения КК операции ПДП.

D 3, D 6 – РУ ПДП КК.

Чтение данных из ФМ в ОЗУ: ФМ→КК→ОЗУ.

При чтении данных из модуля в ОЗУ выполняются следующие действия:

1. Запуск цикла КАМАК.

2. Устанавливает сигнал DREQ – запрос ПДП.

3. Передача по каналу ПДП.

4. Снимает сигнал DREQ.

Запись данных из ОЗУ в модуль КАМАК: ОЗУ→КК→ФМ.

При записи данных из ОЗУ в ФМ выполняются следующие действия:

1. Установка сигнала DREQ в КПДП.

2. Передача по каналу ПДП 1-го, 2 или 3 байта.

3. Сброс сигнала DREQ.

4. Запуск цикла КАМАК.

Если указано условие прекращение обмена по Q =0, то контроллер в каждом цикле будет проверять Q.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: