8. Контроллер прямого доступа к памяти (DMAC)
8.1. Отличительные особенности
- Отвечает за высокоскоростную передачу данных
- из памяти в УВВ
- из памяти в память
- из УВВ в память
- из УВВ в УВВ
- 4 канала
- Передача за одну транзакцию от 1 байта до 16 Мбайт
- Несколько режимов адресации для адреса источника и получателя
- Инкрементный
- Декрементный
- Статический
- Передач 1, 2, 4 или 8-байтных потоков
- Программируемый приоритет между каналами
8.2. Обзор
Для передачи данных между встроенными запоминающими устройствами и УВВ в пространстве памяти данных у микроконтроллеров XMEGA A3 предусмотрен контроллер прямого доступа к памяти (DMA-контроллер). Для передачи данных DMA-контроллер и ЦПУ используют общую шину данных.
Контроллер имеет 4 канала с возможностями раздельной конфигурации. Каждый канал DMA может передавать данные блоками конфигурируемого размера от 1 до 64 кбайт. При необходимости передачи за одну транзакцию до 16 Мбайт данных можно воспользоваться возможностью повторяющейся передачи. В настройках каждого из каналов DMA задается адрес источника и получателя данных, а также режим адресации: с инкрементируемым, декрементируемым или статическим адресом. Адресация источника и получателя данных независимая.
По завершении текущей транзакции, исходный адрес источника и получателя может быть автоматически перезагружен для подготовки к следующей транзакции.
DMA-контроллер имеет доступ ко всем УВВ через их расположенные в памяти ввода-вывода регистры. Кроме того, DMA можно использовать для автоматический передачи данных в коммуникационные модули и обратно, а также для автоматического считывания результата преобразования АЦП, передачи данных для преобразования в ЦАП, или изменения/опроса состояния линий ввода-вывода. Доступен для выбора широкий диапазон источников запуска передачи из УВВ, системы событий и программы. У каждого канала DMA имеются различные источники запуска передачи.
Для непрерывной передачи данных можно чередовать работу двух каналов с тем, чтобы, по завершении передачи первым каналом, вступал в работу второй и наоборот.
DMA-контроллер может считывать данные из EEPROM, но не может записывать в него данные и не имеет доступа к Flash-памяти.
|