[an error occurred while processing this directive]
взаимодействие McBSP & DMA в С5502: уточнение нюансов(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Doka 25 июля 2005 г. 19:01

нужно через ДМа писать в ЦАП, но перед началом работы записать туда (один раз) управляющее значение
.
без использования ДМА я это делал просто:
иниц. посл.порта.
его разрешение
запись значения контролирующего слова.
все остальные значения складываются по прерыванию приема.
.
при ДМА придерживаясь такой идеологии иницииализации: http://www.telesys.ru/wwwboards/dsp/202/messages/10861.shtml
получается так:
настроить посл.порт (ПП)
настроить ДМА
разрешить прерывание от ПП
разрешить работу ПП
послать контр.слово
.
в ISR_ПП:
запретить прерывание от ПП
запретить работу ПП
разрешить прерывание ДМА
разрешить ДМА
разрешить ПП
.
и дальше работать .. но что-то какая-то хитрая последовательность действий.. можно , конечно ничего не менять и все сделать в процедуре подготовки данных на передачу, но получится по вычислениям неоптимально: на каждое значение проверять ппередавалась ли уже эта стартовая (контрольная) посылка
что-то типа:
for(i=DAC_BSIZE;i>0;i--)
*(pbuf_dac++)=(state_dac_first)?(output_dac_value):DAC_CNTRL;
/
как бы это все оптимальней сделать?

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru