Назначение и основные режимы работы контроллера ПДП (DMA).
Платформа С2000 является дальнейшим развитием процессоров TMS320 2-го поколения.
Контроллер прямого доступа к памяти (direct memory access - DMA) процессора ’5402 пересылает данные между указанными ячейками памяти без участия ЦПУ. Контроллер ПДП осуществляет также пересылку между внутренней памятью программ/данных и внутренней периферией (такой как McBSP) и происходит параллельно с операциями ЦПУ. ПДП имеет шесть независимых программируемых канала, что позволяет иметь шесть операций ПДП.
ПДП обеспечивает следующие возможности:
• DMA работает независимо от ЦПУ.
• DMA имеет шесть каналов и поддерживает шесть независимых передач блоков данных.
• DMA имеет более высокий приоритет чем ЦПУ для внутреннего доступа.
• Любой канал имеет независимый программируемый приоритет.
• Любые канальные регистры адресов источников и приемников могут конфигурироваться и индексироваться. Адрес может оставаться постоянным, постинкрементироваться, постдекрементироваться или изменяться на любое программируемое значение.
• Любая процедура чтения или записи может быть инициализирована выбранным событием.
• После пересылки половины или всего блока, любой канал DMA может послать прерывание в ЦПУ.
• DMA позволяет пересылать двойные слова (32-битная пересылка двух 16-битных слов).
DMA может выполнять следующие операции:
• Чтение. DMA читает элемент данных из источника в памяти. Источником может быть память или периферийное устройство и может располагаться в пространстве программ, данных или ввода/вывода.
• Запись. DMA пишет элемент данных, который был прочитан в предыдущей фазе в приемник в памяти. Приемником может быть память или периферийное устройство и может располагаться в пространстве программ, данных или ввода/вывода.
• Пересылка элемента. Комбинация операций чтения и записи одного элемента.
• Пересылка фрейма. В любом канале DMA независимо программируется число элементов во фрейме. Завершением передачи фрейма DMA является пересылка всех элементов в одном фрейме.
• Пересылка блока. В любом канале DMA независимо программируется число фреймов в блоке. Завершением передачи блока DMA является пересылка всех заданных фреймов блока.
Управление работой контроллера выполняется через регистры, отображаемые на память, и субадресуемые регистры (табл. 7.17). На каждый канал приходится пять регистров управления плюс несколько общих регистров.