Перейти к содержанию
    

USB с DMA в UC3A3

Пытаемся работать с USB на МК AT32UC3A3 с использованием DMA. Задачу затрудняет практически полное отсутствие описания работы USB DMA контроллера в data sheet, а также примеров его использования. Может быть кто-нибудь сможет поделиться примерами использования USB с DMA на AVR32, желательно AT32UC3A? Также помогло бы описание использования DMA для USB, подозреваю, что у DMA USB есть некоторая специфика по сравнению с обычным DMA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть резон заглянуть в софт, поставляемый к демонстрационной плате 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 Мб исходников и текстовых материалов, поэтому я глубоко в нем не копалась. Если того, что вам надо, там нет, то извиняйте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть резон заглянуть в софт, поставляемый к демонстрационной плате 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

SERVICES/USB/CLASS/AUDIO/EXAMPLES/EXAMPLE2/

. Receive data stream from the USB and send it to the SSC/I2S using the DMA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В новом фрэймворке есть примеры работы с 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...