Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Архитектура контроллера прямого доступа к памяти КР580ВТ57






БИС программируемого контроллера прямого доступа к памяти КР580ВТ57 предназначена для организации высокоскоростного обмена данными между памятью и внешними устройствами, выполняемого по инициативе внешнего устройства (рис. 3.8). Контроллер прямого доступа к памяти (КПДП) генерирует управляющие сигналы, необходимые для организации обмена. КПДП содержит четыре канала прямого доступа, каждый из которых обеспечивает передачу блока данных размером от 0 до 16К байт с произвольным начальным адресом в диапазоне от 0 до 64К байт (рис. 3.8, а)

В состав БИС входят (рис. 3.8, а): двунаправленный двустабильный буфер данных (BD), предназначенный для обмена информацией между МП и КПДП; схема управления чтением/записью (RWCU), адресующая внутренние регистры КПДП и управляющая обменом по шине D (7-0); блок управления (CU), содержащий регистры режима и состояния КПДП и обеспечивающий последовательность операций, необходимых для организации режима прямого доступа к памяти; блок управления приоритетами (PC U), обеспечивающий определенный порядок обслуживания запросов внешних устройств; четыре канала прямого доступа (СНО - СНЗ), содержат регистр адреса ячейки памяти, с которой производится обмен, и счетчик циклов обмена. Два старших разряда счетчика отведены для задания операций обмена. Назначение входных, выходных и управляющих сигналов КПДП приведено при описании выводов микросхемы в табл. 3.10.

 

 

Таблица 3.10. Описание выводов КПДII

 

Обозначение вывода Номер контакта Назначение вывода
D(7-0) 21; 22; 23; 26; 27; 28; 29; 30 Входы/выходы данных для обмена с МП
I/OR 1 Чтение ввода/вывода - двунаправленный тристабильный вход/выход; входной сигнал L-уровня разрешает чтение информации из КПДП в МП; выходной сигнал L-уровня разрешает чтение из ВУ
I/OW   Запись ввода/вывода - двунаправленный тристабильный вход/выход; входной сигнал L-уровня разрешает программирование КПДП; выходной сигнал L- уровня разрешает запись в ВУ
CLK   Вход тактовых импульсов
RESET   Вход установки 0
A(3-0) 35; 34; 33; 32 Двунаправленные тристабильные адресные выводы
CS   Выбор микросхемы
A(7-4) 40; 39; 38; 37 Тристабильные адресные выходы
READY   Готовность - входной сигнал H-уровня указывает на готовность к обмену
HRQ   Запрос захвата - выходной сигнал H- уровня указывает на запрос о доступе КПДП к системным шинам
HLDA   Подтверждение захвата - входной сигнал H-уровня указывает на возможность доступа к системным шинам
MEMR   Чтение из памяти - тристабильный выход; выходной сигнал L-уровня разрешает чтение из ячейки памяти, адресуемой КПДП
MEMW   Запись в память - тристабильный выход; выходной сигнал L- уровня разрешает запись в ячейку, адресуемую КПДП
AEN   Разрешение адреса - сигнал H-уровня используется для блокировки некоторых шин адреса и данных
ADSTB   Строб адреса - сигнал H-уровня указывает на нахождение на шине D(7-0) старшего байта адреса ЗУ
TC   Конец счета - сигнал H-уровня определяет выполнение последнего цикла передачи блока данных
MARK   Маркер - сигнал H-уровня указывает, что до конца передаваемого блока необходимо выполнить число циклов обмена, кратное 128
DRQ3-DRQO 16; 17; 18; 19 Запросы прямого доступа к памяти каналов СНЗ-С Н0, сигнал H-уровня указывает на запрос от ВУ
DACK3-DACKO 15; 14; 24: 25 Подтверждение запросов прямого доступа к памяти каналов СНЗ-СНО, сигнал L--уровня указывает на разрешение обмена
Ucc   Напряжение питания (+5 В)
GND   »» (0 В)

 

 
 

Рис. 3.8

При подключении КПДП к шинам микроЭВМ младший байт адреса памяти выдается по линиям А (3-0) и А (7-4), а старший байт - через шину D (7-0), поэтому КПДП обычно работает вместе с буферным регистром (рис. 3.8, б).

Для начальной установки КПДП необходимо записать соответствующую информацию в 16-разрядный регистр адреса канала (RGA), в 16-разрядный счетчик циклов канала (СТ) и в 8-разрядный регистр режима, общий для всех каналов. Запись этой информации производится с помощью команды OUT, хотя возможен и другой способ обращения к КПДП как к ячейкам памяти. Запись информации в 16-разрядные регистры осуществляется двумя командами, начиная с младшего байта. Два старших разряда счетчика циклов определяют операцию обмена следующим образом: запись в память - 01, чтение из памяти - 10, контроль - 00 (комбинация II запрещена). Состояние КПДП можно контролировать чтением, с помощью команды IN содержимого RGA, СТИ 8-разрядного регистра состояния, общего для всех каналов. Для чтения содержимого 16-разрядного регистра используются две команды IN с одной и той же адресной частью, причем сначала происходит считывание младшего байта.

В табл. 3.11 приведены коды адресных выводов А(3 - 0) и значение сигнала CS для адресации внутренних регистров КПДП. При программировании КПДП операции записи управляющих слов или чтения состояний внутренних регистров определяются также значениями сигналов I/OR и 1/OW.

Формат управляющего слова, записываемого в регистр режима, приведен на рис. 3.8, в. Разряды D3 —DO (EN3 —EN 0) задают разрешение обмена по соответствующему каналу, запись нуля в разряд запрещает обмен. Остальные разряды определяют режимы работы канала.

Разряд D4(RP) устанавливает порядок обслуживания запросов от каналов. При RP = 0 включается фиксированный приоритет каналов, и канал 0 имеет высший приоритет. В режиме циклического приоритета (RP = 1) после обслуживания канала ему присваивается низший приоритет, а следующему за ним каналу - высший. Причем циклический сдвиг приоритетов производится после каждого цикла прямого доступа.

Режим расширенной записи (EW= 1) увеличивает за счет смещения переднего фронта длительность сигналов 1/OW и MEMW, генерируемых КПДП. Это позволяет ВУ, формирующему сигнал READY по фронту сигнала записи, уменьшить время охлаждения и увеличить скорость обмена.

При TCS = 1 появление сигнала ТС в одном из каналов сбрасывает соответствующий разряд D3 - DO, в результате чего канал отключается. Дальнейшая работа этого канала возможна после перезагрузки регистра режима. Если TCS=0, то появление сигнала ТС не воздействует на разряд разрешения работы канала и ВУ заканчивает передачу за счет прекращения выработки сигнала DRQ.

В режиме автозагрузки (AL= 1) может работать только второй канал, используя содержимое своих внутренних регистров и внутренних регистров третьего канала. После передачи данных, в соответствии с параметрами регистров второго канала и появления сигнала ТС, параметры из регистров третьего канала автоматически загружаются в регистры второго канала; значение 0 или флаг обновления (UF) в регистре состояния каналов (рис. 3.8, г) устанавливается в 1. Затем передача данных продолжается в соответствии с новыми параметрами регистров второго канала, а в конце первого же цикла прямого доступа с новыми параметрами флаг UF сбрасывается. Режим автозагрузки позволяет организовать повторяющиеся пересылки блоков данных с одинаковыми параметрами или соединять несколько блоков с разными параметрами.

 

Таблица 3.11. Адресация внутренних регистров КПДП

 

Регистр Сигналы управления
CS A3 А2 А1 А0
RQ0          
СТ0     0,    
RQI          
СТ1          
RQ2          
СТ2          
RQ3          
СТЗ          
Регистр режима (запись)          
Регистр состояния (чтение)          
NOP*   X X Х Х
Примечания: 1. NOP - означает отключение КРДП от шины данных. 2. X – произвольное состояние (XÎ [0, 1]).          

 

Разряды D3 - DO регистра состояний устанавливаются одновременно с появлением сигнала ТС соответствующего канала и сбрасываются сигналом RESET при чтении содержимого регистра состояний. Считывание регистра состояний на флаг UF (разряд D4) не влияет; флаг можно сбросить установкой 0 в разряде D7 регистра режима.

Если два старших разряда счетчика циклов канала устанавливают режим контроля (VERIFY), то передача данных не производится, так как не генерируются сигналы управления записью и чтением, все остальные функции прямого доступа сохраняются. Этот режим может использоваться ВУ для контроля принятых данных.

Работу КПДП поясняет диаграмма состояний (рис. 3.8, д). Выдача старших разрядов адреса сопровождается стробирующим сигналом ADSTB, которые предназначены для записи их во внешний буферный регистр. В состоянии S2 вырабатывается сигнал DACK, указывающий на начало обмена, а также формируются пары сигналов MEMR, I/OR и MEMW. HOW, определяющие направление обмена. В состоянии S3 происходит передача данных в ЗУ или ВУ. Состояние S4 завершает цикл прямого доступа. В этом состоянии при передаче последнего байта выдается сигнал ТС, а в случае конца блока - сигнал MARK. При необходимости согласования быстродействия ЗУ и ВУ с помощью сигнала READY междусостояниями S3 и S4 вводится требуемое число состояний ожидания SW. В режиме-контроля переход в состояние SW не разрешается.

Фрагмент программы начальной установки КПДП при обращении к нему как к внешнему устройству может иметь следующий вид:

   
   
   
DI   ; Запрещение прерываний
MVI A, 00H ; Загрузка младшего байта
OUT 0F0H ; Адреса массива
MVI A, 40H ; Загрузка старшего байта
OUT 0F0H ; Адреса массива
MVI A, 0F7H ; Загрузка младшего байта
OUT 0F1H ; Количества циклов
MVI A, 43H ; Загрузка шести старших
OUT 0F1H ; разрядов количества циклов
    ; и кода операции обмена
; Начальная установка
; каналов CH1, CH2, CH3
MVI A, 4FH ; Запись управляющего слова
OUT 0F8H ; В регистр режима
EI   ; Разрешение прерывания
   
     





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.