Понятие и назначение DMA-пересылок в ADSP-2106x. Направления пересылок. Каналы DMA. Принципы функционирования DMA-контроллера ADSP-2106x

Механизм прямого доступа к памяти (Direct Memory Access, DMA) обеспечивает передачу целых блоков данных между внешними устройствами, внешней памятью, последовательными или линк-портами ADSP‑21060 и внутренней памятью. DMA-контроллер освобождает процессорное ядро от выполнения операций по пересылке данных и функционирует параллельно и независимо от него. DMA-контроллер может выполнять следующие виды обмена данными:

- внутренняя память «внешняя память или отображаемое во внешнюю память периферийное устройство;

- внутренняя память «внутренняя память другого ADSP-2106x;

- внутренняя память «хост-процессор;

- внутренняя память «последовательный порт ввода/вывода;

- внутренняя память «линк-порт ввода/вывода;

- внешняя память «внешнее периферийное устройство.

Основное назначение DMA-контроллера – выполнение двух типов пересылок: пересылки блоков данных через внешний порт и пересылки блоков данных через порты ввода/вывода (т.е. линк-порты и последовательные порты).

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

При DMA-пересылках через порты ввода/вывода передаются данные, которые поступают в ADSP или которые необходимо передать вовне через последовательные или линк-порты. При этом задаются адрес и размеры буфера во внутренней памяти, а также величина инкремента адреса. Направление пересылки определяется направлением передачи данных самого порта ввода/вывода. Когда данные принимаются в порт, они автоматически передаются во внутреннюю память, а когда они должны передаваться через порт – автоматически выбираются из внутренней памяти.

Дополнительной возможностью DMA-контроллера является поддержка передачи данных между внешним устройством и внешней памятью. При этом этот обмен не оказывает влияния на выполнение операций ADSP-21060, которые не работают с внешним портом.

Внешние устройства могут участвовать в DMA-пересылках двумя способами: записывать или читать какой-либо DMA-буфер или выставлять сигнал с запросом DMA (DMARx) и ожидать обработки.

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

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

Каждый из внешних портов, последовательных и линк-портов имеет в своем главном регистре управления бит разрешения DMA (DEN). Если DMA-канал порта включен и разрешен, данные, получаемые этим портом, автоматически передаются во внутреннюю память, а передаваемые – выбираются из внутренней памяти и помещаются в буфер данных порта. По завершении DMA-пересылки блока данных (при достижении счетчиком соответствующего DMA-канала значения 0) может быть сгенерировано прерывание. DMA-прерывания, как и все остальные прерывания, защелкиваются и маскируются в регистрах процессорного ядра IRPTL и IMASK.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: