Меню
Главная
Авторизация/Регистрация
 
Главная arrow Товароведение arrow Электроника

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

Режим непосредственного обмена данными между памятью и ВУ осуществляется под управлением контроллеров ПДП. ПДП особенно удобен при передачах блоков данных в высоком темпе, например, между внешней памятью и ОЗУ.

Для реализации этого вида обмена разработаны специальные БИС. Одной из таких БИС является Intel 8237А (российский аналог К580 ВТ57). Взаимодействие блоков микропроцессорной системы при ПДП показано на рис. 4.25. МП может выполнять программирование контроллера, настраивая его на определенный режим работы, и чтение его состояния. При ПДП контроллер вырабатывает сигналы управления обменом данными между ОЗУ и ВУ. Этот обмен осуществляется непосредственно через системные ША и ШД, при этом МП от них отключается, переводя свои буферные регистры в третье состояние.

Контроллер содержит четыре канала, к которым подключаются ВУ. Каждый канал обеспечивает работу ВУ в режиме ПДП по его запросу. При поступлении запроса контроллер обращается к МП с сигналом HOLD (запрос захвата шин). Если МП отвечает сигналом HLDA (подтверждение захвата), контроллер приступает к управлению обменом.

Взаимодействие блоков микропроцессорной системы при ПДП

Рис. 4.25. Взаимодействие блоков микропроцессорной системы при ПДП

В начале работы МП осуществляет программирование контроллера. При этом для каждого канала заносится следующая информация:

  • • начальный адрес области памяти, с которой начнется обмен;
  • • общее число пересылаемых байтов;
  • • направление обмена (из ВУ в ОЗУ или наоборот).

Пересылка данных осуществляется побайтно, причем данные располагаются в памяти последовательно. Поэтому для формирования адресов ячеек памяти достаточно регистра адреса памяти и счетчика. В регистр адреса памяти заносится начальный адрес, а в счетчик – общее число пересылаемых байтов. При каждой передаче байта содержимое регистра памяти увеличивается или уменьшается на единицу (это определяется при программировании канала), поэтому к моменту окончания пересылки очередного байта уже готов адрес для следующего. Если запрограммирован декремент счетчика, то как только счетчик обнуляется, обмен заканчивается. Счетчик количества пересылаемых байтов 16-разрядный, поэтому максимальный объем блока данных, передаваемых за один запрос ПДП, составляет 64 Кбайт.

Так же как и при обслуживании прерываний, при обслуживании ПДП существует система приоритетов и маскирования запросов. Во время работы МП может запретить обслуживание какого-либо ВУ, выдав соответствующую маску. Система приоритетов в контроллере может быть фиксированной и циклической. При фиксированной системе наивысший приоритет у канала с номером "0", а самый низкий – с номером "3". В циклической системе приоритеты динамически изменяются по приоритетному кольцу. Самый низкий приоритет присваивается последнему обслуженному каналу, следующий за ним канал получает наивысший приоритет, а оставшиеся два канала – более низкие.

Программируемые интервальные таймеры

Работа микропроцессорной системы требует синхронной работы всех ее устройств, при этом их быстродействие может колебаться в самых широких пределах. Для обеспечения такой работы применяются программируемые интервальные таймеры. Эти устройства выполняют операции по выработке временных задержек, формированию частот и интервалов времени. Для аппаратной реализации таймеров разработаны специальные БИС, подключаемые к системным шинам и программируемые процессором. Такие БИС обычно имеют несколько каналов, работа каждого из которых осуществляется независимо от других (рис. 4.26).

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

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

В режиме ждущего мультивибратора формирование переднего фронта выходного импульса происходит только после прихода сигнала запуска, а заднего – при обнулении счетчика. В отличие от первого режима такой импульс будет формироваться каждый раз с приходом сигнала запуска.

Программируемый интервальный таймер

Рис. 4.26. Программируемый интервальный таймер

В режиме импульсного генератора формируется последовательность коротких импульсов, длительность которых равна периоду входной частоты синхронизации, а частота следования определяется делением входной частоты на введенное в счетчик число, т.е.

Режим генератора меандра аналогичен предыдущему режиму, но отличается тем, что длительности положительного и отрицательного полупериодов выходного сигнала равны по величине.

В режиме одиночного программно-запускаемого строба осуществляется формирование короткого импульса с заданной временной задержкой. Содержимое счетчика начинает уменьшаться с приходом сигнала запуска. В момент его обнуления формируется выходной импульс, длительность которого определяется периодом частоты fс. Для повторной выдачи импульса требуется программная загрузка счетчика.

Режим одиночного аппаратно-запускаемого строба отличается от предыдущего тем, что для повторной выдачи импульса программной загрузки счетчика не требуется. Для этого достаточно подать сигнал запуска.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Популярные страницы