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

 
 
> USB и DMA (ПДП) в AT91SAM9261
Morfko
сообщение Jun 3 2009, 13:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 9-10-08
Пользователь №: 40 814



Может кто уже писал или знает, возможно ли организовать прямой доступ к памяти (DMA) потока данных по USB в микроконтроллере AT91SAM9261?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
aaarrr
сообщение Jun 3 2009, 13:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Не предусмотрен там DMA, увы.
Go to the top of the page
 
+Quote Post
Morfko
сообщение Jun 3 2009, 13:41
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 9-10-08
Пользователь №: 40 814



А в datasheet почему-то тогда написано:

– USB 2.0 Full Speed (12 Mbits per second) Host Double Port
• Dual On-chip Transceivers
• Integrated FIFOs and Dedicated DMA Channels

Может знаете что это за зверь такой "Dedicated DMA Channels"?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 3 2009, 13:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Дык то хост, у него по определению есть DMA.
Go to the top of the page
 
+Quote Post
Morfko
сообщение Jun 3 2009, 14:01
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 9-10-08
Пользователь №: 40 814



Вот как оно...

А есть какой-нибудь микроконтроллер подобный AT91SAM9261 с USB+DMA на борту?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 3 2009, 15:33
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Morfko @ Jun 3 2009, 18:01) *
А есть какой-нибудь микроконтроллер подобный AT91SAM9261 с USB+DMA на борту?

Пережевать 12мбит/с можно совершенно спокойно и без DMA, откуда такое требование?
Go to the top of the page
 
+Quote Post
Morfko
сообщение Jun 4 2009, 01:36
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 9-10-08
Пользователь №: 40 814



Для real-time приложения это нужно просто как воздух. Без DMA никак не получится.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jun 4 2009, 05:13
Сообщение #8


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
Без DMA никак не получится.
Почему ? там ведь только мегабайт в секунду, это даже ресурсов проца особенно не займет
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 4 2009, 07:34
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Morfko @ Jun 4 2009, 05:36) *
Для real-time приложения это нужно просто как воздух. Без DMA никак не получится.

Ничего подобного. При правильном подходе никто отсутствия DMA даже не заметит.
Go to the top of the page
 
+Quote Post
Albun
сообщение Jun 4 2009, 08:26
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-07-08
Пользователь №: 39 116



Для real time приложения в данном случае вам было бы достаточно просто организовать обмен данными с USB контроллером по прерываниям. Пришли данные - возникло прерывание, вы перебросили их в память и все. Приложение даже подозревать не будет о том каким образом данные в памяти появляются.

Если предположить что скорость обмена данными будет около 1 Мбайта в секунду (что мало вероятно при общении с PC, обычно меньше), то при размере эднпоинта 64 байта прошивка должна 1000000/64 = 15625 раз в секунду проработать прерывание. Предположим что весь код прерывания у вас занимает не более 1000 тактов процессора (тоесть вход в него, определение что его вызвало, чтение в цикле регистра данных эндпоинта и запись в память и т.п.), тогда в секунду у вас при заданной скорости обмена данными примерно будет потрачено процессором 15625000 тактов, что при тактовой частоте MCU = 48МHz есть менее 30% процессорного времени. 70% времени остается для Вашего real time приложения.
Go to the top of the page
 
+Quote Post

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

 


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


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