DESTADDR2 - регистр 2 адреса получателя DMA-канала 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

DESTADDR2 - регистр 2 адреса получателя DMA-канала



Регистры DESTADDR0, DESTADDR1 и DESTADDR2 представляют 24-битное значение DESTADDR - адрес получателя DMA-канала. В регистре DESTADDR2 хранится старший байт этого значения. Значение DESTADDR может автоматически инкрементироваться или декрементироваться, в зависимости от установок бит DESTDIR (см. 5.14.3 "ADDRCTRL - регистр управления адресом DMA-канала").

Чтение и запись 24-битных значений необходимо выполнять с особым вниманием (см. 3.11.1 "Доступ к 24- и 32-битным регистрам").

+0х0E
DESTADDR[23:16]
DESTADDR2
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

8. Биты 7:0 - DESTADDR[23:16]: байт 2 адреса получателя DMA-канала

В данных битах хранится байт 2 24-битного адреса получателя.

DESTADDR1 - регистр 1 адреса получателя DMA-канала

+0х0D
DESTADDR[15:8]
DESTADDR1
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

9. Биты 7:0 - DESTADDR[15:8]: байт 1 адреса получателя DMA-канала

В данных битах хранится байт 1 24-битного адреса получателя.

DESTADDR0 - регистр 0 адреса получателя DMA-канала

+0х0C
DESTADDR[7:0]
DESTADDR0
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

10. Биты 7:0 - DESTADDR[7:0]: байт 0 адреса получателя DMA-канала

В данных битах хранится байт 0 24-битного адреса получателя.

Обзор регистров DMA-контроллера

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 CTRL ENABLE RESET - - DBUFMODE[1:0] PRIMODE[1:0]
+0x01 Резерв - - - - - - - -
+0x02 Резерв - - - - - - - -
+0x03 INTFLAGS CH3ERRIF CH2ERRIF CH1ERRIF CH0ERRIF CH3TRNFIF CH2TRNFIF CH1TRNFIF CH0TRNFIF
+0x04 STATUS CH3BUSY CH2BUSY CH1BUSY CH0BUSY CH3PEND CH2PEND CH1PEND CH0PEND
+0x05 Резерв - - - - - - - -
+0x06 TEMPL TEMP[7:0]
+0x07 TEMPH TEMP[15:8]
+0x10 CH0 Offset Адрес смещения для DMA-канала 0
+0x20 CH1 Offset Адрес смещения для DMA-канала 1
+0x30 CH2 Offset Адрес смещения для DMA-канала 2
+0x40 CH3 Offset Адрес смещения для DMA-канала 3

Обзор регистров DMA-канала

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 CTRLA CHEN CHRST REPEAT TRFREQ - SINGLE BURSTLEN[1:0]
+0x01 CTRLB CHBUSY CHPEND ERRIF TRNIF ERRINTLVL[1:0] TRNINTLVL[1:0]
+0x02 ADDCTRL SRCRELOAD[1:0] SRCDIR[1:0] DESTRELOAD[1:0] DESTDIR[1:0]
+0x03 TRIGSRC TRIGSRC[7:0]
+0x04 TRFCNTL TRFCNT[7:0]
+0x05 TRFCNTH TRFCNT[15:8]
+0x06 REPCNT REPCNT[7:0]
+0x07 резерв - - - - - - - -
+0x08 SRCADDR0 SRCADDR[7:0]
+0x09 SRCADDR1 SRCADDR[15:8]
+0x0A SRCADDR2 SRCADDR[23:16]
+0x0B резерв - - - - - - - -
+0x0C DESTADDR0 DESTADDR[7:0]
+0x0D DESTADDR1 DESTADDR[15:8]
+0x0E DESTADDR2 DESTADDR[23:16]
+0x0F резерв - - - - - - - -

Обзор векторов прерываний DMA

Таблица 5.13. Векторы прерываний DMA и смещения их адресов по отношению к базовому адресу прерываний DMA-контроллера

Смещение Источник Описание прерывания
0x00 CH0_vect Вектор прерываний канала 0 DMA-контроллера
0x02 CH1_vect Вектор прерываний канала 1 DMA-контроллера
0x04 CH2_vect Вектор прерываний канала 2 DMA-контроллера
0x06 CH3_vect Вектор прерываний канала 3 DMA-контроллера

Использование DMA микропроцессора Xmega

Автор: Mage 28.12.2011 09:36

Данная статья посвящена особенностям использования прямого доступа к памяти DMA в микропроцессорах Xmega. Прямой доступ к памяти (Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия центрального процессора.

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

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

Пример использования DMA контроллера проиллюстрирован на следующем рисунке:

Каналы DMA

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

Передача данных

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

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

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

Длина пакета передачи настраивается в битовом поле режима придачи канала (BURSTLEN) в регистре управления (CTRL) по каждому каналу отдельно.

Рис.1 иллюстрирует передачи данных в пакетном режиме.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 264; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.148.113.111 (0.01 с.)