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

 
 
> 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
Ответов
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



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

 


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


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