Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SSP и DMA в LPC2362
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zuy
Есть прибор в котором к LPC2362 подключен внешний чип по протоколу SPI для которого используется канал SSP0 в контроллере.
В чип нужно передавать поток данных частями по 2кб, при этом сам он может за раз переварить только 50байт, и сигнализирует ногой что готов получить следующие 50байт.
т.е. 2кб передаются кусочками по 50 байт по готовности их принять. Частота клока SPI от 3 до 6МГц.

Сейчас все сделано через FIFO и прерывания.

Хочется применить DMA, чтобы оптимизировать процесс.
В связи с этим возникли следующие вопросы:
1. FIFO SSP рассчитан на 8 фреймов, в моем случае это 8 байт. Если я запрограммирую DMA передать 50 байт, они сами между собой разберуться когда грузить данные в FIFO, а когда ждать пока в нем место появится?
2. Могу ли я как-нибудь сконфигурировать DMA, чтобы один раз дать ему 2кб блок, а далее без моего участия он передал их по SPI при этом следил когда внешний чип готов принять очередные 50 байт?
3. В общем каким образом в моем случае лучше скрестить DMA и SSP чтобы максимально разгрузить процессор?
zltigo
Цитата(zuy @ Jun 4 2009, 15:30) *
В связи с этим возникли следующие вопросы:

А документацию по возможностям GPDMA, т.е. DMA "общего назначения" особо ничего не знающего о SSP почитать?
zuy
Цитата(zltigo @ Jun 4 2009, 17:03) *
А документацию по возможностям GPDMA, т.е. DMA "общего назначения" особо ничего не знающего о SSP почитать?


Т.е. как это GPDMA ничего не знает об SSP?
А о чем тогда второй пункт в "Features of the GPDMA": The GPDMA provides 16 peripheral DMA request lines. Some of these are connected
to peripheral functions that support DMA: the SD/MMC, two SSP, and I2S interfaces. ?
Да и далее по тексту описания GPDMA много где упоминается SSP как источник либо приемник операций.
В описании SSP модулей написано что они поддерживают DMA через GPDMA.

Так все таки можно как-нибудь использовать GPDMA для оптимизации отправки данных из памяти через SSP в режиме SPI ?
zltigo
Цитата(zuy @ Jun 4 2009, 20:55) *
Т.е. как это GPDMA ничего не знает об SSP?

Я писал "особо ничего не знает" в отличии от, напимер, специализированных DMA контролеров для MAC и USB, посему, все , что можете сделать это за один цикл загрузить FIFO.
Цитата
Так все таки можно как-нибудь использовать GPDMA для оптимизации отправки данных из памяти через SSP в режиме SPI ?

"Для оптимизации" в вашем случае, думаю, бессмысленно менять загрузку FIFO на программмрование канала DMA, который будет возможно менее подтормаживая грузить FIFO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.