kolchanov 0 20 сентября, 2010 Опубликовано 20 сентября, 2010 · Жалоба Помогите советом. Необходимо принять поток данных по SSP (slave) c использованием DMA в LPC2378. Как синхронизировать работу DMA и SSP? У меня не получается возложить управление DMA на SSP. Временно вышел из положения, возложив управление DMA на GPDMA. Синхронизацию приема выполняю в прерывании SSP запуская программный запрос на пакетную пересылку. В этом случае все работает, но прерывания SSP выполняются каждые 15 микросекунд (поток данных 224 кБ/сек). Нельзя ли каким-то образом создать более оптимальную структуру ПО для решения задачи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miv 0 21 сентября, 2010 Опубликовано 21 сентября, 2010 · Жалоба Помогите советом. Необходимо принять поток данных по SSP (slave) c использованием DMA в LPC2378. Как синхронизировать работу DMA и SSP? У меня не получается возложить управление DMA на SSP. Временно вышел из положения, возложив управление DMA на GPDMA. Синхронизацию приема выполняю в прерывании SSP запуская программный запрос на пакетную пересылку. В этом случае все работает, но прерывания SSP выполняются каждые 15 микросекунд (поток данных 224 кБ/сек). Нельзя ли каким-то образом создать более оптимальную структуру ПО для решения задачи? Вообще-то в LPC23xx это всё работает правильно, у IAR есть пример передачи из SSP0 в SSP1 по loopback, с использованием DMA и тот канал DMA который работает с SSP на приём настроен на работу под управлением SSP и всё стреляет. Для этого в регистре конфигурации канала DMA надо поставить режим передачи " Переферия-Память ( под управлением переферии )" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться