Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
15.04.2015
Размер:
41.19 Кб
Скачать

10. Прямой доступ в память. Обмен данными с использованием ПДП.

Второй специальный режим работы микропроцессорной системы называется режимом прямого доступа к памяти. В этом режиме нарушается основной принцип всей микропроцессорной системы. Теперь системой управляет не микропроцессор, а специальный контроллер прямого доступа к памяти (контроллер ПДП).

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

Пример. Хороший пример —печать текста на скоростном принтере. Если производить печать в обычном режиме работы, то необходимо написать некую подпрограмму, которая должна побайтно читать данные из памяти и выдавать их на порт принтера. Для чтения каждого байта процессор должен выполнить 3—4 команды. Если принтер скоростной, то процессор может не обеспечить требуемую скорость печати. В этом случае применяют прямой доступ к памяти.

Для реализации этого режима микропроцессорная система должна иметь в своем составе специальное устройство — контроллер прямого доступа (см. рис. 2.5).

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

подлежащих передаче и направление передачи информации.

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

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

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

Рассмотрим подробнее схему подключения контроллера ПДП (рис. 2.5). Как уже говорилось, микросхема контроллера ПДП — это программируемое устройство. В данном случае понятие «программируемое» означает то, что микросхема имеет внутри специальные регистры, которые подключаются к системной шине как порты ввода—вывода. Процессор может записывать в эти порты различные коды и, тем самым, менять режимы работы микросхемы.

Для того, чтобы запустить процесс прямого доступа к памяти, центральный процессор должен сначала запрограммировать контроллер. Затем, при помощи тех же самых программируемых регистров, процессор передает на контроллер команду запуска процесса ПДП, а сам продолжает свою работу. Получив команду запуска, контроллер ПДП ждет сигнала на одном из специальных входов DRQ0—DRQ4 (см. рис. 2.5).

В нашем случае сигнал запроса ПДП поступает от принтера в тот момент, когда он окажется готовым к работе. Этот сигнал называется «сигнал запроса на ПДП». Получив запрос на

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

Рис. 2.5. Подключение контроллера ПДП

О своей готовности к работе в режиме захвата процессор сообщает контроллеру ПДП при помощи сигнала подтверждения захвата (HLDA). Лишь после этого начинается передача данных под управлением контроллера ПДП. По окончании процесса передачи данных контроллер ПДП отключается от системной шины и снимает с процессора сигнал HOLD. После снятия сигнала процессор возобновляет свою работу в обычном режиме.

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

Соседние файлы в папке 7.Антипов