Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программируемый контроллер прямого доступа к памяти



 

Контроллер прямого доступа к памяти (ПДП) служит для организации обмена данными между внешними устройствами и памятью, без участия центрального процессора. В персональных микро-ЭВМ используется контроллер ПДП типа КР580ВТ57, который имеет четыре независимых канала обмена, каждый из которых адресует свою область внешней памяти путем последовательного инкрементирования выбранного адреса. Контроллер ПДП имеет приоритетную логику, реализующую запросы от четырех периферийных устройств и производит счет циклов ПДП каждого канала.

Каждый канал ПДП имеет регистр адреса и регистр количества циклов (оба 16 разрядов), шину адреса и шину данных. Шина адреса разделена на две части (А3 – А0) – двунаправленная часть шины адреса, при работе которой во входном режиме указанные разряды адреса используют для инициализации определенного канала, а в выходном режиме – как младший полубайт адреса внешней памяти. А7 – А4 являются выходами и используются для выдачи адреса на внешнюю память. Шина данных (D7 – D0) обеспечивает двунаправленный обмен между микропроцессором и КПДП. По этой шине принимаются управляющие слова и выдается старший байт адреса внешней памяти.

Сигнал Чт В/В разрешает (во входном режиме) чтение регистра состояния (РС) или записанных в ЗУ контроллера начального адреса и числа циклов передачи данных (ПД) любого из каналов. В выходном режиме Чт В/В разрешает выдачу информации из внешнего устройства ввода – вывода. Сигнал Зп В/В разрешает во входном режиме загрузку регистров установки режимов, начального адреса и количества циклов для любого канала ПДП. В выходном режиме Зп В/В разрешает запись информации во внешнее устройство ввода – вывода. Выходные сигналы Чт П и Зп П предназначены для внешнего ЗУ.

Входные сигналы ЗПД3 – ЗПД0 поступают асинхронно с внешних устройств и воспринимаются БИС как запросы на обмен с ЗУ. Выходные сигналы ППД3 – ППД0 являются ответными по отношению к ЗПД. Они вырабатываются контроллером в соответствии с приоритетом внешних устройств. Сигнал КС – вырабатывается при установке в нуль шестнадцатиразрядного регистра количества циклов, и указывают периферийному устройству, что данный цикл ПД последний. Сигнал на выводе М128 – появляется на каждом 128 цикле от конца массива, а также во время действия сигнала КС.

Структурная схема БИС КР580ВТ57 показана на рисунке 4.11. Схема приема запросов (СПЗ) предназначена для приема и формирования ответных сигналов запроса в соответствии с приоритетом внешних устройств. Внутреннее запоминающее устройство (ВЗУ) служит для хранения начального адреса и числа циклов ПД для каждого канала. Для этого в нем расположены для каждого канала шестнадцатиразрядный регистр адреса РгА и регистр циклов РгЦ. РгА загружается адресом первой ячейки памяти, к которой будет обращение. Младшие 14 разрядов РгЦ указывают число циклов минус 1 до конца счета (сигнал КС). Разряды 14 и 15 РгЦ указывают на вид обмена 00 – контроль, 01 – запись в ЗУ, 10 – чтение ЗУ, 11 – запрещенная комбинация.

Схема формирователя сигналов Зп/Чт обеспечивает обмен информацией между микропроцессором и БИС контроллер с одной стороны, и БИС и ОЗУ и прерывающее устройство – с другой.

Регистр установки режимов РгР хранит информацию о режимах работы БИС, к которым относятся «Автозагрузка», «Конец счета-стоп», «Удлиненная запись», «Обычная запись», «Циклический сдвиг приоритета» и «Фиксированный приоритет». Разряды 3¸ 0 РгР разрешает работу соответствующего канала, а 7¸ 4 –обеспечивает необходимый режим контроллера. Регистр состояния каналов РгС указывает номер канала, который достиг конца счета.

Остальные линии БИС имеют следующее назначение:

А0 – А7 – инициализация канала или младший полубайт адреса.

Стр А – указывает, что на шине данных выдан старший байт адреса внешнего ЗУ.

РА – разрешение адреса для блокировки адресных шин в невыбранных устройствах, указывает, что протекает цикл ПД

ТИ – тактовый импульс Ф2ТТЛ –уровень.

Гот – для обеспечения совместной работы ПДП и медленных внешних устройств.

Микросхема КР580ВТ57 может находиться в одном из следующих состояний: исходном, программирования, ожидания, обслуживания.

 
  Рисунок 4.11 – Структурная схема контроллера прямого доступа в память  

В исходное состояние микросхему переводит внешний сигнал установки. В этом состоянии маскируются все запросы признаков ПД, а буферы А3 ¸ А0 переводятся в состояние приема информации. В состоянии программирования микропроцессор имеет доступ к внутренним регистрам выбранного канала в соответствии с состоянием управляющих сигналов. В состоянии ожидания БИС находится либо от момента окончания программирования до выдачи сигнала ПДП, либо в промежутках между циклами ПД.

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

После получения от микропроцессора сигнала ПЗхв контроллер выдает сигнал ППД, соответствующему внешнему устройству и переходит в состояние обслуживания ПДП, в котором системные шины находятся под управлением контроллера ПДП. При этом на шину адреса по линиям А0-А7 котроллер выставляет младший байт адреса, а на шину данных – старшую часть адреса. Присутствие адреса на шине данных сопровождается стробом адреса СтрА, который используется для записи этой части адреса во внешний регистр. Вследствие этого на память поступает 16-разрядный адрес ячейки с которой начинается прямой доступ. После снятия адреса с шины данных контроллер вырабатывает сигнал чтения содержимого ячейки памяти ЧтП, в результате чего память выставляет на шину данных восьмиразрядное слово, которое поступает на внешние устройства. После завершения переходного процесса установки данных на шине контроллер вырабатывает сигнал записи во внешнее устройство ЗпВ/В. Очевидно, что данные будут восприняты только тем устройством, которое получило одновременно сигналы ППД и ЗпВ/В.

Затем контроллер ПДП уменьшает счетчик циклов на 1 и, если счет не закончился, повторяет цикл чтения из памяти и запись во внешнее устройство. Запись в память в режиме ПДП осуществляется аналогично, но при этом контроллер формирует сначала сигнал ЧтВ/В, а потом ЗпП. Если содержимое счетчика циклов стало равным нулю, то контроллер формирует сигнал конец счета КС и снимает сигнал ЗЗхв. Процессор возвращается в рабочее состояние и продолжает управление шинами самостоятельно.

Особенности программирования БИС контроллера ПДП:

1. При записи информации в регистры РА и РЦ выполняются по два обращения к регистрам, причем вначале записывается младший байт, а затем – старший. Запись осуществляется по одному и тому же адресу. Операцию записи шестнадцатиразрядного слова в регистры необходимо всегда выполнять полностью.

2. В микропроцессорной системе, работающей с прерываниями, следует запрещать прерывания перед выполнением двойного обращения к регистрам.

3. После сигнала Сброс в регистре режимов РР содержатся нули и работа всех каналов запрещена. Запись байта в РР необходимо всегда выполнять после загрузки параметров в РА и РЦ.

4. После каждого запроса ПДП контроллер необходимо перепрограммировать, если не был установлен режим автозагрузки.

В контроллерах ПДП для работы с 20- 24-разрядной шинами адреса добавляется 8-битовый регистр страниц. Для 20-разрядной ША используется 4 бита этого регистра, а для 24-разрядной – все 8.

 

 

Программируемый таймер

 

Программируемый таймер(БИС Intel 8254, отечественный аналогК1810ВИ54)предназначен для формирования импульсных последовательностей определенных частот. Программируемый таймер (ПТ), используемый в ПЭВМ IBM PC, содержит 3 канала и служит для:

§ задания импульсной последовательности для контроллера ПДП для регенерации динамического ОЗУ;

§ формирования импульсной последовательности с частотой 18.2 Гц для часов реального времени;

§ формирования колебаний звуковой частоты для управления динамиком.

Программируемый таймер К1810ВИ54 (рисунок 4.12) содержит 3 независимых канала, каждый из которых может быть запрограммирован на работу в одном из шести режимов для двоичного или десятичного счета. Он работает с задающей частотой до 8 МГц. Он

Каждый канал таймера включает:

1) 16–разрядный счетчик/таймер СЕ, работающий в режиме вычитания. Изменение состояния счетчика происходит по спаду сигнала CLK при GATA = 1;

2) 16–разрядный буферный регистр, служащий для запоминания и хранения мгновенного значения счетчика СЕ, которое в любой момент может быть записано по команде «защелка» или «чтение состояния канала». После выполнения этих команд содержимое буферного регистра может быть прочитано ЦП без остановки дальнейшего счета в регистре СЕ;

3) 16–разрядный регистр констант пересчета CR, служащий для хранения коэффициента пересчета. Содержимое CR копируется в СЕ для счета, в зависимости от запрограммированного режима;

4) 8–разрядный регистр управляющего слова RSW. Содержимое управляющего слова позволяет запрограммировать каждый канал в отдельности (указывается номер канала, вид операции: ЧТ, ЗП младшего или старшего байта, тип режима, вид счета (двоичный или двоично-десятичный)).

5) 8–разрядный регистр состояния канала RS, содержимое которого можно считывать в ЦП с помощью команды «чтение состояния канала» (D7=D6=1 в управляющем слове). Слово состояния (D7, D6) показывает, произошла ли загрузка в регистр констант CR, либо состояние выхода канала OUT.

 

Назначение выводов микросхемы следующее:

A0, A1=00 A0, A1=01 A0, A1=10 A0, A1=11 Адресация канала 0 канал 1 канал 2 управляющее слово или команда  
CLK0 – CLK2 Входы тактовых импульсов. Срез сигнала на входе CLK декрементирует счетчик
GATA0 - GATA2 Входы разрешения счета (вентиль). При GATA=1 разрешается выполнение функции
OUT0 – OUT2 Выходы счетчика/таймера.

 

Счетчики могут работать в пяти режимах:

0, 4 ― однократного выполнения функции. Константа (коэффициент пересчета) из CR передается в СЕ по первому тактовому сигналу CLK и при GATA=1. С приходом последовательности ТИ происходит декрементирование СЕ. Если во время счета на GATA подать 0, то это приведет к останову счета. Новый положительный сигнал GATA не вызывает перезагрузки счетчика, а только разрешает продолжение счета. По завершению счета (< CE> =0) выполнение действия прекращается.

Режим 1, 5 ― с перезапуском. Загруженная константа сохраняется в CR, а ее передача в СЕ осуществляется по фронту сигнала GATA независимо от завершения счета.

2, 3 ― режимы автозагрузки. Загрузка СЕ содержимым CR осуществляется автоматически при выполнении условий счета. Выход OUT открывается положительным сигналом на GATA.

Каналы могут функционировать в роли ждущего мультивибратора (режим 1, 4, 5) или генератора импульсов (делитель тактовой частоты) ― режим 2 и 3. Режим 3 (формируется симметричная прямоугольная последовательности типа " меандр" ).


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-11; Просмотров: 831; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.02 с.)
Главная | Случайная страница | Обратная связь