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

Контроллер пдп к1810 вт37

В МПС, построенных на базе МП К580, К1810, К1821, для реализации режима ПДП используется БИС К1810ВТ37, называемая контроллером ПДП. Контроллер ПДП реализует режим ПДП по четырем независимым каналам, т.е. позволяет подсоединять четыре ВУ и позволяет реализовать передачу «память – память». Контроллер имеет возможность организации каскадирования, что увеличивает число ВУ, работающих в режиме ПДП. Суммарный объем обменов с каждым ВУ – до 64 Кбайт. Это определяется разрядностью регистров адреса и циклов (объема передачи). Для обращения к адресному пространству памяти 1 Мб (20 разрядов адреса) для задания базовых адресов сегмента памяти используется внешний порт, который программируется отдельно. Запросы ПДП от разных ВУ удовлетворяются на приоритетной основе.

Структурная схема БИС контроллера ПДП представлена на рис.3.3. В его состав входят: буфер данных (БД), предназначенный для организации двунаправленной связи внутренней шины БИС контроллера с ШД системного интерфейса; блок управления контроллером (БУК), формирующий сигналы управления узлами контроллера при передаче

Рис. 3.3. Структурная схема контроллера ПДП

данных в режиме ПДП; блок управления передачей типа «память – память» (БУПП); четыре одинаковых канала. Каждый канал реализует запрограммированный режим ПДП для одного ВУ и работает независимо от других каналов.

Назначение выводов контроллера ПДП:

  • D7 – D0 – выводы данных.

  • CLK – вход синхронизации.

  • – выбор кристалла.

  • RESET – сброс.

  • READY – готовность. Используется при работе с медленнодействующими ВУ.

  • DREQ3 – DREQ0 – входы запросов на ПДП от ВУ.

  • DACK3 – DACK0 – подтверждение ПДП. Полярность активных сигналов DREQ и DACK задается программно.

  • HRQ – выход запроса захвата.

  • HLDA – подтверждение захвата.

  • – чтение (вход/выход). Как вход используется ЦП для чтения содержимого внутренних регистров контроллера ПДП. Как выход в режиме ПДП разрешает выдачу данных из ВУ.

  • - запись (вход/выход). Как вход используется для загрузки данных в регистры контроллера ПДП. Как выход в режиме ПДП разрешает запись данных в регистры ВУ.

  • - чтение из памяти. Выход, используемый в режиме ПДП для управляющего сигнала чтения из памяти.

  • - запись в память. Выход, используемый в режиме ПДП для управляющего сигнала, записи в память.

  • А3 – А0 – адресные входы/выходы. Как входы используются для адресации регистров контроллера ПДП. Как выходы в режиме ПДП используются для передачи четырех младших разрядов адреса ОЗУ.

  • А7 – А4 – адресные выходы.

  • AEN – разрешение адреса.

  • ADSTB – строб адреса.

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

Для уменьшения числа выводов в конструкции БИС 16-разрядный адрес ячейки памяти на ША МПС выдается следующим образом. (рис.3.4).

ША

Рис. 3.4. Схема подключения адресных выводов

Выводы А7 – А0 контроллера ПДП подключаются непосредственно к ША. Восемь старших разрядов адреса ячейки памяти А15 – А8 выдаются через выводы D7 – D0 контроллера и поступают в регистр-защелку, где фиксируются сигналом ADSTB (строб адреса). По сигналу AEN старший байт адреса А15 – А8 выставляется на ША.

Контроллер включает 4 канала, каждый из которых состоит из 4-х 16-разрядных регистров CAR, BAR, CWR, WCR и одного 6-разрядного регистра MR.

CAR – регистр текущего адреса памяти. При выполнении цикла ПДП его содержимое увеличивается или уменьшается на единицу. Этот регистр можно загрузить и прочитать.

CWR – регистр циклов ПДП. Также допускает запись и чтение ЦП. Хранит число слов, предназначенных для передачи. Загружаемая в него константа должна быть на единицу меньше объема передаваемых слов. При выполнении циклов ПДП регистр работает в режиме вычитающего счетчика. При переходе регистра из нулевого состояния в состояние FFFFH вырабатывается сигнал окончания передачи, и канал устанавливается в состояние «Конец счета».

BAR и WCR – базовые регистры адреса (BAR) и циклов ПДП (WCR). Программно не доступны. При загрузке в них дублируется содержимое CAR и CWR соответственно. В процессе режима ПДП их состояние не меняется. Они используются в режиме автоинициализации для восстановления регистров CAR и CWR по окончании передачи по данному каналу. Загрузка всех четырех регистров на этапе инициализации выполняется побайтно. При этом в каждый момент может загружаться только один байт – старший либо младший. Поэтому для занесения в эти регистры исходных параметров нужно выполнить две команды загрузки.

Регистр режима MR определяет режим работы канала. Информация в регистр режима заносится по команде «Установка режима канала», формат которой представлен на рис.3.5. В младших разрядах D1, D0 команды указывается код номера канала. С помощью разрядов D2, D3 задается один из типов передачи – чтение, запись, проверка. Разряд D4 определяет режим автоинициализации. Если D4=1 (условие автоинициализации), то по окончании режима ПДП канала его регистры CAR и CWR загружаются параметрами регистров BAR и WCR соответственно. Разряд D5 определяет режим изменения регистра CAR. Если D5=0, то после каждого цикла ПДП происходит увеличение содержимого CAR; если D5=1, то – уменьшение. Разряды D6, D7 определяют режимы работы канала: передача по требованию, одиночная передача, блочная передача, каскадирование.

Блок управления контроллером вырабатывает сигналы управления узлами контроллером. В БУК входят два 8-разрядных регистра – регистр команд CR и регистр состояния SR и два 4-разрядных регистра – регистр запросов RR и регистр маски MASK.

Регистр команд CR определяет основные параметры работы канала. Загрузка регистра CR осуществляется командой вывода от ЦП, а сброс – по сигналу RESET или по команде общего сброса. Назначение разрядов регистра показано на рис.3.6. Разряды D0, D1 используются для задания режимов работы каналов 0 и 1 в режиме память – память. Разряд D2 инициализирует контроллер для выполнения ПДП. Разряд D3 определяет режим выполнения циклов ПДП. Если D3=1, циклы ПДП выполняются с пропуском одного такта. Разряд D4 устанавливает режим приоритетов.

Если D4=1, то запросу обслуженного канала присваивается наинизший приоритет – это режим вращения приоритета. Если D4=0, каналу 0

присваивается высший приоритет с последовательным понижением приоритетов последующих каналов. Разряд D5 устанавливает режим удлиненного цикла записи. Если D5=1, то сигналы и вырабатываются с двойной длительностью. Разрядами D6 и D7 программируются активные уровни сигналов запросов ПДП (DREQ) и сигналы подтверждения ПДП (DACK).

Рис. 3.5. Формат команды ”Установка режима команды”

В регистре состояния RS фиксируются некоторые параметры состояния каналов, которые могут быть прочитаны ЦП для анализа. Формат регистра состояния представлен на рис.3.7. Его поле D3 – D0 показывает факт окончания счета каналами 3 – 0 соответственно (в разряд , i – номер канала, записывается 1 по сигналу окончания ). При подаче внешнего сигнала в контроллер (окончание процесса) происходит установка в 1 того из разрядов, номер которого совпадает с номером канала, работающего в режиме ПДП. Все эти разряды сбрасываются по сигналу RESET либо по команде чтения SR. Поле D7 – D4 фиксирует наличие запросов ПДП по каналам 3 – 0 аппаратных (через ) либо программных.

Рис. 3.6. Формат регистра команд CR

Регистр запросов RR. Контроллер может обслуживать запросы на ПДП, формируемые как аппаратно – по входам DREQ, так и программно – по состоянию разрядов регистра запросов RR. Каждый разряд этого регистра соответствует запросу по одному из каналов. Каждый из разрядов регистра RR устанавливается командой установки запросов на ПДП, формат которой представлен на рис.3.8. Команда выдается ЦП при необходимости программного запроса по каналу. По окончании обслуживания разряд сбрасывается сигналом ТС соответствующего канала или сигналом . Сброс всех разрядов регистра RR осуществляется по сигналу RESET. Программные запросы обрабатываются только в режиме блочной передачи и не маскируются.

Рис. 3.7. Формат регистра состояния SR

Рис. 3.8. Формат команды установки запросов на ПДП

Регистр маски MASK, с помощью которого могут быть замаскированы сигналы DREQ каждого канала. Разряды регистра MASK могут быть установлены специальной командой установки всех разрядов маски (рис.3.9) или командой установки одного разряда маски для одного канала (рис.3.10). Если канал не запрограммирован на режим автоинициализации, то после поступления сигнала соответствующий каналу разряд регистра MASK устанавливается в 1. Сброс всех разрядов по сигналу RESET.

Контроллер ПДП может управлять передачей «память – память», при которой осуществляется перемещение блоков информации из одного поля оперативной памяти в другое.

Рис. 3. 9. Команда установки всех разрядов маски

Рис. 3.10. Команда установки разряда маски

Для реализации этого режима используются параметры каналов 0 и 1. В канале 0 должна быть информация об источнике, т.е. об адресации ячеек памяти, откуда производится считывание информации. В канале 1 – адрес получателя и количество циклов передачи (объем передаваемого блока). Передача инициируется программно установкой запроса в регистре RR для канала 0.

Блок БУПП контроллера включает регистр временного хранения байта TR, который обеспечивает хранение байта в режиме «память – память» за время изменения адреса. Дело в том, что в этом режиме выполняются два цикла ПДП: один – чтение из памяти по адресу, установленному в регистре CAR канала 0, другой – запись в память по адресу, установленному в регистре CAR канала 1.

Каждый канал контроллера ПДП может быть запрограммирован для выполнения одного из четырех режимов ПДП.

В режиме одиночной передачи по сигналу запроса DREQ от ВУ осуществляется передача одного байта. При этом содержимое счетчика циклов ПДП (CWR) уменьшается, а содержимое регистра адреса CAR уменьшается или увеличивается на единицу. Сигнал HRQ снимается после передачи каждого байта, даже если сигнал DREQ остается активным, и управление передается ЦП. Новый цикл передачи возможен с приходом очередного сигнала HLDA.

В режиме блочной передачи запрос DREQ может быть снят ВУ при приеме сигнала подтверждения ПДП (DACK). Здесь контроллер не возвращает управление ЦП. Передача данных происходит до конца, т.е. всем блоком, либо приостанавливается лишь при поступлении внешнего сигнала .

В режиме передачи по требованию передача происходит блоком, но сигнал запроса DREQ не должен сниматься ВУ. После окончания очередного цикла ПДП контроллер проверяет состояние сигнала DREQ и как только ВУ снимает сигнал запроса, то передача по данному каналу приостанавливается. Она возобновляется при активизации сигнала DREQ. Передача прекратится также при поступлении внешнего сигнала .

Для увеличения числа каналов, поддерживающих режим ПДП, в МПС применяется каскадирование контроллеров ПДП. В этом случае один из контроллеров является ведущим, а остальные – ведомыми. Выводы HRQ и HLDA ведомого контроллера подключаются к выводам DREQi и DACKi канала i ведущего контроллера. Таким образом, к ведущему контроллеру может быть подключено до 4-х ведомых. Факт каскадирования указывается только при программировании i-го канала ведущего контроллера в команде «Установка режима канала». Управление шиной осуществляет ведомый контроллер.

Для обращения ЦП к регистрам контроллера ПДП в адресном пространстве ввода-вывода МПС отведено 16 адресов. Выбор регистра определяется кодом на выводах А3 – А0 контроллера. Первые восемь кодов определяют адреса регистров CAR, BAR, CWK, WCR каналов (табл. 3.1). Эти регистры двухбайтные. Поэтому, как уже указывалось, для их загрузки нужно выполнить две команды вывода (сначала загрузка младшего байта, затем – старшего). Загрузка как регистров CAR и BAR, так и регистров CWK и WCR происходит одновременно. Прочитать же ЦП может по команде ввода только содержимое регистров CAR и CWK.

Коды на входах А3 – А0 для регистров управляющих режимом ПДП, находящихся в блоках БУК и БУПП приведены в табл. 3.2.

Таблица 3.1

А3

А2

А1

А0

Адресуемый регистр

Канал

0

0

0

0

Загрузка CAR, BAR; чтение CAR

0

0

0

0

1

Загрузка CWR, WCR; чтение CWR

0

0

0

1

0

Загрузка CAR, BAR; чтение CAR

1

0

0

1

1

Загрузка CWR, WCR; чтение CWR

1

0

1

0

0

Загрузка CAR, BAR; чтение CAR

2

0

1

0

1

Загрузка CWR, WCR; чтение CWR

2

0

1

1

0

Загрузка CAR, BAR; чтение CAR

3

0

1

1

1

Загрузка CWR, WCR; чтение CWR

3

Таблица 3.2

А3

А2

А1

А0

Операция

1

0

0

0

Чтение SR

1

0

0

0

Запись в CR

1

0

0

1

Запись в RR

1

0

1

0

Запись в MASK (установка всех разрядов MASK)

1

0

1

1

Запись в MR

1

1

0

0

Установка режима ввода младшего байта

1

1

0

1

Чтение TR

1

1

0

1

Общий сброс

1

1

1

0

Сброс всех разрядов MASK

1

1

1

1

Установка одного разряда MASK

В качестве примера приведем ассемблированные команды загрузки регистров CAR, BAR канала 1 адресом 1855Н, маскирования канала 2 и чтение регистра состояния контроллера ПДП, для которого в адресном пространстве ввода-вывода МПС выделены адреса в диапазоне (80 – 8F)H:

mov AL, 55H

out 82H, AL

mov AL, 18H

out 82H, AL

mov AL, 00000110b

out 8FH, AL

in AL, 88H

При первоначальной инициализации контроллера ПДП производится общий сброс контроллера и установка режима ввода младшего байта. В процессе работы МПС содержимое регистров управления и регистров начала перепрограммируется в зависимости от параметров режима ПДП каналов.

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