реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SSP и DMA в LPC2362, как лучше использовать
zuy
сообщение Jun 4 2009, 12:30
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Есть прибор в котором к 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 чтобы максимально разгрузить процессор?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 4 2009, 14:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zuy @ Jun 4 2009, 15:30) *
В связи с этим возникли следующие вопросы:

А документацию по возможностям GPDMA, т.е. DMA "общего назначения" особо ничего не знающего о SSP почитать?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zuy
сообщение Jun 4 2009, 17:55
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Цитата(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 ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 4 2009, 18:14
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zuy @ Jun 4 2009, 20:55) *
Т.е. как это GPDMA ничего не знает об SSP?

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

"Для оптимизации" в вашем случае, думаю, бессмысленно менять загрузку FIFO на программмрование канала DMA, который будет возможно менее подтормаживая грузить FIFO.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016