DMA для dsPIC. Контроллер Прямого доступа к памяти (DMA). DMA контроллер. Регистр Смещения Адреса Начала A DPSRAM Канала DMA x, страница 4

1 = DMA5STB register selected

0 = DMA5STA register selected

bit 4 PPST4: Channel 4 ‘Ping-Pong’ Mode Status Flag

1 = DMA4STB register selected

0 = DMA4STA register selected

bit 3 PPST3: Channel 3 ‘Ping-Pong’ Mode Status Flag

1 = DMA3STB register selected

0 = DMA3STA register selected

bit 2 PPST2: Channel 2 ‘Ping-Pong’ Mode Status Flag

1 = DMA2STB register selected

0 = DMA2STA register selected

bit 1 PPST1: Channel 1 ‘Ping-Pong’ Mode Status Flag

1 = DMA1STB register selected

0 = DMA1STA register selected

bit 0 PPST0: Channel 0 ‘Ping-Pong’ Mode Status Flag

1 = DMA0STB register selected

0 = DMA0STA register selected

Note: This register is read-only.

.

22.3 БЛОК-СХЕМА DMA

Рисунок22-2 - блок-схема показывает, как DMA интегрирован в внутреннюю архитектуру dsPIC33F. CPU связывается с обычной SRAM с помощью X-шины. Она также связана с Портом 1 из Двухпортового блока SRAM (DPSRAM) с помощью той же самой X-шины. CPU связывается с периферийными устройствами с помощью отдельной Периферийной X-шины, которая также постоянно находится в пределах X пространства данных.

Каналы DMA сообщаются с Портом 2 DPSRAM и портами DMA каждого DMA-способного периферийного устройства с помощью специальной шины DMA.

Figure 22-2: DMA Controller Block Diagram

В отличие от других архитектур, dsPIC33F CPU способен к чтению и доступу для записи в пределах каждого цикла шины CPU. Точно так же DMA может завершить передачу байта или слова в каждый шинный цикл с помощью специальной шины. Это также гарантирует, что все передачи DMA не прерываемы. То есть как только передача началась, она завершится в пределах того же самого цикла, независимо от другой деятельности канала.

Пользовательское приложение может определять любое DMA - способное прерывание ввода-вывода, чтобы быть запросом DMA, термин, данный IRQ, когда оно направлено DMA. Это принято, конечно, что, когда канал DMA конфигурирован, чтобы ответить на специфическое прерывание как запрос DMA, соответствующее прерывание CPU заблокировано, иначе прерывание CPU будут также запрашиваться.

Каждый канал DMA может также быть запущен вручную через программное обеспечение. Установка бита FORCE в регистре DMAxCON инициирует ручной запрос DMA, который является подчиненным к тому же самому арбитражу как все запросы DMA на основе прерывания (см. Раздел 22.8" Арбитраж и Переполнение Канала DMA).

22.4 ПЕРЕДАЧА ДАННЫХ DMA

Рисунок 22-3 иллюстрирует передачу данных между периферийным и 2хПортовой SRAM.

A. В этом примере, Канал DMA 5 конфигурирован для работы с DMA-способным Периферийным устройством 1.

B. Когда данные готовы к передаче от периферийного устройства, периферийным устройством испускается Запрос DMA. Запрос DMA арбитрируется с другими запросами. Если этот канал имеет самый высокий приоритет, передача закончится в течение следующего цикла. Иначе, запрос DMA остается ожидать, пока он не станет самым высоприоритетным.

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

D. Канал DMA пишет данные определенному адресу DPSRAM.

Этот пример представляет Режим Косвенной Регистровой адресации, где адрес DPSRAM определяется в пределах Канала DMA через регистры Состояния DMA (DMAxSTA или DMAxSTB). В Режиме Периферийной Косвенной адресации, адрес DPSRAM получается из периферийного устройства, а не активного канала. Подробная информация относительно этой темы представлена в Разделе 22.6.6" Способ Периферийной Косвенный адресации”.

Вся операции DMA передачи чтения и записи непрерывна в одном цикле команды. В течение этого полного процесса, запрос DMA остается защелкнутым в канале DMA, пока передача данных не закончится.

Канал DMA одновременно контролирует регистр Счетчика Передачи (DMA5CNT). Когда счетчик передач достигает предела указанного приложением передача данных закончится и устанавится прерывание CPU предупреждая CPU, чтобы нужно обработать полученные данные.