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

 
 
 
«'Legacy code' often differs from its suggested alternative by actually working and scaling.»
Bjarne Stroustrup
Русский | Українська


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

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

Тип обмена

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

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

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

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

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

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

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

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

Обмен ПДП

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

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

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

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

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

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

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

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

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

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

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