Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Микроконтроллерные вычислители :: 15.3 Применимость способов обмена данными в МП-системе

15.3 Применимость способов обмена данными в МП-системе

Тип обмена

Сфера применения, особенности

Программно-управляемый, синхронный

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

Программно-управляемый, с ожиданием готовности

1) Используется между процессором и памятью в случае, когда память реализована на ИС динамической памяти.

2) Используется для обмена между процессором и медленными ВУ

Обмен по прерыванию

Обмен между процессором и внешним устройством. Обмен по сути асинхронный. Начинается по сигналу прерывания от ВУ. Контролер прерываний только обрабатывает сигналы запросов. Реализуется отдельной подпрограммой (т.е. в смысле реализации пересылки байтов является программно-управляемым)

Обмен ПДП

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

Логические принципы реализации обмена данными в МП-системе показаны на рис. 2.3.

Рисунок 2.3 – Возможные логические принципы обмена данными в МП-системе

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

2.5  Реализация прямого доступа в память (ПДП)

Средства реализации прямого доступа в память – ПДП (DirectMemoryAccess ­– DMA) реализуют в случаях, если процессе работы системы нужно будет переслать значительные объемы данных между памятью МП-системы и внешним устройством (накопителем данных, видеосистемой, каналом передачи данных и т.п.) по запросу от внешнего устройства.

В обычном протоколе передачи данных между памятью и УВВ для пересылки каждого байта процессор должен выполнить как минимум две команды: «прочитать из памяти» – «передать в УВВ», или наоборот. При выполнении ПДП данные не проходят через процессор, а управление обменом (формирование адресов и сигналов управления) выполняет отдельная микросхема – контроллер ПДП. Причем управление реализуется аппаратно, т.е. быстро и без дополнительной программы. Принцип подключения контроллера ПДП в МП-системе показан на рис. 2.4.

Рисунок 2.4 – Принцип аппаратной реализации обмена ПДП

Режимы использования контроллера ПДП.

1.  Режим программной настройки. Со стороны процессора программным путем проводится запись в контроллер ПДП параметров обмена: начальный адрес памяти, объем пересылаемого блока данных, направление обмена.

2.  Обмен ПДП. По сигналу «Запрос ПДП» от ВУ контроллер ПДП формирует аналогичный запрос в процессор. В результате процессор блокирует БА и БД, отключается от системных шин и останавливается. В соответствии с программными настройками контроллер ПДП формирует последовательно адреса ячеек передаваемого блока памяти, сигналы управления в зависимости от направления обмена. Важно, что сигналы для чтения источника и записи в приемник (MemR – IOW) или (IOR – MemW) выдаются одновременно, что позволяет выполнять прямую пересылку между памятью и ВУ по ШД без устройств-посредников.