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


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



ЗНАЕТЕ ЛИ ВЫ?

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



CTRL - регистр управления DMA

Бит                  
+0х00 ENABLE RESET - - DBUFMODE[1:0] PRIMODE[1:0] CTRL
Чтение/запись Чт/Зап Чт/Зап Чт Чт Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач. значение                

· Бит 7 - ENABLE: разрешение работы DMA

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

· Бит 6 - RESET: программный сброс DMA

Установка данного бита активизирует программный сброс. Данный бит автоматически очищается по завершении сброса. Данный бит можно установить, только если DMA-контроллер отключен (ENABLE = 0).

· Биты 5:4 - Res: Резервные биты

Данные биты не задействованы и зарезервированы для будущего использования. Для совместимости с будущими МК, при выполнении записи в этот регистр, в резервные биты необходимо записывать нули.

· Биты 3:2 - DBUFMODE[1:0]: режим двойной буферизации DMA

Данные биты управляют активностью функции двойной буферизации в различных каналах в соответствии с таблицей 5.1.

Таблица 5.1. Настройки двойной буферизации DMA

DBUFMODE[1:0] Групповая конфигурация Описание
  DISABLED Двойная буферизация отключена
  CH01 Двойная буферизация включена у каналов 0/1
  CH23 Двойная буферизация включена у каналов 2/3
  CH01CH23 Двойная буферизация включена у каналов 0/1 и 2/3

· Биты 1:0 - PRIMODE[1:0]: приоритеты DMA-каналов

Данные биты задают приоритеты внутренних каналов в соответствии с таблицей 5.2.

Таблица 5.2. Настройки приоритетов каналов DMA

PRIMODE [1:0] Групповая конфигурация Описание
  PR0123 Обработка запросов всех каналов карусельным методом (Round Robin)
  CH0RR123 Высший приоритет имеет канал 0, а все остальные (каналы 1, 2 и 3) обрабатываются по карусельному методу
  CH01RR23 Высший приоритет имеет канал 0, затем - канал 1, а все остальные (каналы 2 и 3) обрабатываются по карусельному методу
  CH0123 Высший приоритет имеет канал 0, затем - канал 1, канал 2, и, наконец, канал с самым низким приоритетом - 3

INTFLAGS - регистр статуса прерываний DMA

Бит                  
+0х04
CH3ERRIF CH2ERRIF CH1ERRIF CH0ERRIF CH3TRNFIF CH2TRNFIF CH1TRNFIF CH0TRNFIF
NTFLAGS
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение                
  • Биты 7:4 - CHnERRIF[3:0]: флаг прерывания по ошибке в DMA-канале n

Флаг CHnERRIF автоматически устанавливается при обнаружении ошибки в DMA-канале n. Запись единицы в данный бит приводит к сбросу флага.

· Биты 3:0 - CHnTRNFIF[3:0]: флаг прерывания по завершении транзакции в DMA-канале n

Флаг CHnTRFIF автоматически устанавливается по завершении транзакции в канале n. Если активизировать неограниченное количество повторов, то данный флаг будет принимать единичное значение после завершении передачи каждого блока. Запись единицы в данный бит приводит к сбросу флага.

STATUS - Регистр статуса DMA

Бит                  
+0х05
CH3BUSY CH2BUSY CH1BUSY CH0BUSY CH3PEND CH2PEND CH1PEND CH0PEND
STATUS
Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт. Чт.
Начальное значение                
  • Биты 7:4 - CHnBUSY[3:0]: флаг занятости канала DMA

Флаг CHnBUSY принимает единичное значение при старте транзакции в DMA-канале n. Данный флаг автоматически сбрасывается при отключении DMA-канала, при установке флага прерывания по завершении транзакции в DMA-канале n или при установке флага прерывания по ошибке в DMA-канале n.

· Биты 3:0 - CHnPEND[3:0]: флаг отправки передачи по DMA-каналу

Флаг принимает единичное значение во время отправки передачи блока по DMA-каналу n. Данный флаг автоматически сбрасывается во время запуска передачи блока или при отмене передачи.



Поделиться:


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

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