СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №4/2015

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 37 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 4 2015 оритетов, запросы регулируются аппа- ратно. Запрос с номером 1 имеет прио- ритет над запросом 2, и так далее. Блок DMA обеспечивает независимые размерности данных для обмена между источником и адресатом в виде байта, полуслова и 32-разрядного слова. Под- держивается режим эмуляции упаков- ки и распаковки данных. Адреса источ- ника и приёмника обмена могут быть выровнены по размерности элемента данных. DMA поддерживает три флага собы- тий: половина обмена DMA, заверше- ние обмена DMA и ошибка обмена DMA. Эти флаги логически объединя- ются с помощью функции «ИЛИ» в еди- ный запрос на прерывание для каждо- го канала. Блок DMA способен работать в раз- ных режимах обмена: «память–память», «периферия–память», «память–перифе- рия» и «периферия–периферия». Он обеспечивает доступ к памяти Flash, SRAM, памяти периферии, ши- Таблица 1. Карта регистров DMA Сдвиг Регистр 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x000 DMA_ISR Резерв TEIF7 HTIF7 TCIF7 GIF7 TEIF6 HTIF6 TCIF6 GIF6 TEIF5 HTIF5 TCIF5 GIF5 TEIF4 HTIF4 TCIF4 GIF4 TEIF3 HTIF3 TCIF3 GIF3 TEIF2 HTIF2 TCIF2 GIF2 TEIF1 HTIF1 TCIF1 GIF1 Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x004 DMA_IFCR Резерв CTEIF7 CHTIF7 CTCIF7 CGIF7 CTEIF6 CHTIF6 CTCIF6 CGIF6 CTEIF5 CHTIF5 CTCIF5 CGIF5 CTEIF4 CHTIF4 CTCIF4 CGIF4 CTEIF3 CHTIF3 CTCIF3 CGIF3 CTEIF2 CHTIF2 CTCIF2 CGIF2 CTEIF1 CHTIF1 CTCIF1 CGIF1 Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0х008 DMA_CCR1 Резерв MEM2MEM PL[1:0] M SIZE [1:0] PSIZE [1:0] MINC PINC CIRC DIR TEIE HTIE TCIE EN Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x00C DMA_CNDTR1 Резерв NDT[15:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x010 DMA_CPAR1 PA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x014 DMA_CMAR1 MA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x018 Резерв 0x01C DMA_CCR2 Резерв MEM2MEM PL[1:0] M SIZE [1:0] PSIZE [1:0] MINC PINC CIRC DIR TEIE HTIE TCIE EN Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x020 DMA_CNDTR2 Резерв NDT[15:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x024 DMA_CPAR2 PA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x028 DMA_CMAR2 MA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x02C Резерв … … 0x080 DMA_CCR7 Резерв MEM2MEM PL[1:0] M SIZE [1:0] PSIZE [1:0] MINC PINC CIRC DIR TEIE HTIE TCIE EN Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x084 DMA_CNDTR7 Резерв NDT[15:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x088 DMA_CPAR7 PA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x08C DMA_CMAR7 MA[31:0] Исх. значение 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x090 Резерв нам периферии APB1, APB2 и AHB, как к источнику и как к приёмнику данных. Программируемый размер данных для обмена может достигать значения 65536. Если блок DMA и процессор микро- контроллера обращаются к одному и тому же устройству, то время обра- щения между ними будет распре- делено поровну. Механизм работы DMA позволяет занять шину данных на несколько рабочих тактов, а затем освобождает её. Блок DMA выполняет прямой обмен с памятью, разделяя системную шину с ядром микроконтроллера. DMA- запрос может приостановить доступ процессора к системной шине на несколько тактов шины, если процес- сор и DMA работают с одним адреса- том памяти или внешнего устройства. Матрица шин работает по алгоритму циклического планирования, которое гарантирует, по крайней мере, поло- вину пропускной способности систем- ной шины для процессора при одно- временном обращении как к памяти, так и к периферии. О ПИСАНИЕ РЕГИСТРОВ DMA Для настройки контроллера DMA предусмотрено две категории реги- стров: ● регистры настройки и управления DMA в целом; ● регистры настройки и управления каждого канала. Для настройки и управления DMA в целом предназначены регистры: ● DMA_ISR – регистр флагов прерыва- ния от каналов; ● DMA_IFCR – регистр очистки флагов прерываний. Для каждого канала служат следую- щие регистры: ● DMA_CCR – управляет режимом рабо- ты канала; ● DMA_CNDTR – содержит количество необходимых для передачи байт; © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy