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

 
 
> USB с DMA в UC3A3
РРоман
сообщение Oct 27 2009, 09:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Пытаемся работать с USB на МК AT32UC3A3 с использованием DMA. Задачу затрудняет практически полное отсутствие описания работы USB DMA контроллера в data sheet, а также примеров его использования. Может быть кто-нибудь сможет поделиться примерами использования USB с DMA на AVR32, желательно AT32UC3A? Также помогло бы описание использования DMA для USB, подозреваю, что у DMA USB есть некоторая специфика по сравнению с обычным DMA.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Xenia
сообщение Oct 27 2009, 11:27
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Есть резон заглянуть в софт, поставляемый к демонстрационной плате EVK1100 с установленном на ней AT32UC3A0512. Речь идет об архиве AVR32-SoftwareFramework-AT32UC3A-1.4.0.zip или -1.5.0.rc1.zip. См. http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4192
Там в этом архиве среди всякой всячины встречаются определения (через #define) следующих функций:

Is_usb_endpoint_dma_interrupt(epdma)
Is_usb_endpoint_dma_interrupt_enabled(epdma)
Is_usb_endpoint_int_dis_hdma_req_enabled(ep)
Usb_disable_endpoint_dma_interrupt(epdma)
Usb_disable_endpoint_int_dis_hdma_req(ep)
Usb_enable_endpoint_dma_interrupt(epdma)
Usb_enable_endpoint_int_dis_hdma_req(ep)
Usb_get_dma_buffer_size()
Usb_get_dma_channel_nbr()
Usb_get_dma_fifo_word_depth()
Usb_raise_endpoint_dma_interrupt(epdma)

Судя по их названиям, есть вероятность, что USB с участием DMA там реализован. Архив слишком большой - 66 Мб исходников и текстовых материалов, поэтому я глубоко в нем не копалась. Если того, что вам надо, там нет, то извиняйте.
Go to the top of the page
 
+Quote Post
РРоман
сообщение Oct 27 2009, 12:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(Xenia @ Oct 27 2009, 15:27) *
Есть резон заглянуть в софт, поставляемый к демонстрационной плате EVK1100 с установленном на ней AT32UC3A0512. Речь идет об архиве AVR32-SoftwareFramework-AT32UC3A-1.4.0.zip или -1.5.0.rc1.zip. См. http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4192
Там в этом архиве среди всякой всячины встречаются определения (через #define) следующих функций:

Is_usb_endpoint_dma_interrupt(epdma)
Is_usb_endpoint_dma_interrupt_enabled(epdma)
Is_usb_endpoint_int_dis_hdma_req_enabled(ep)
Usb_disable_endpoint_dma_interrupt(epdma)
Usb_disable_endpoint_int_dis_hdma_req(ep)
Usb_enable_endpoint_dma_interrupt(epdma)
Usb_enable_endpoint_int_dis_hdma_req(ep)
Usb_get_dma_buffer_size()
Usb_get_dma_channel_nbr()
Usb_get_dma_fifo_word_depth()
Usb_raise_endpoint_dma_interrupt(epdma)

Судя по их названиям, есть вероятность, что USB с участием DMA там реализован. Архив слишком большой - 66 Мб исходников и текстовых материалов, поэтому я глубоко в нем не копалась. Если того, что вам надо, там нет, то извиняйте.

Насколько мы поняли эти макросы ничего не делают. Это просто заглушки. Поддержка Атмеля отсылает к примерам по DMACA, а они, к сожалению, не отражают специфики USB.
Go to the top of the page
 
+Quote Post
jasper
сообщение Oct 27 2009, 12:33
Сообщение #4


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



В новом фрэймворке есть примеры работы с DMA:

SERVICES/USB/CLASS/AUDIO/EXAMPLES/EXAMPLE2/
. Receive data stream from the USB and send it to the SSC/I2S using the DMA
Go to the top of the page
 
+Quote Post
РРоман
сообщение Oct 28 2009, 07:38
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 24-01-08
Пользователь №: 34 374



Цитата(jasper @ Oct 27 2009, 16:33) *
В новом фрэймворке есть примеры работы с DMA:

SERVICES/USB/CLASS/AUDIO/EXAMPLES/EXAMPLE2/
. Receive data stream from the USB and send it to the SSC/I2S using the DMA

К сожалению в данном примере USB не использует DMA, возможно используется DMA для доступа к SSC/I2S. Сами атмелевцы сказали, что у них пока примера USB с DMA нет, поэтому и обращаюсь к народу в надежде на то, что кто-то из наших уже это делал на AVR32.
Go to the top of the page
 
+Quote Post

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

 


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


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