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

 
 
> DMA & USB в lpc2148, тыкните носом в пример использования DMA
klen
сообщение Oct 27 2007, 09:16
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Всем привет .
Использую для PC-хостов libusb с http://sourceforge.net/projects/libusb
для lpc2148 использую стек liblpcusb c http://sourceforge.net/projects/lpcusb
Все изумительнол работает и устраивает. скорость до 1,6 м/с
Но liblpcusb не использует DMA, както это не кашерно. если есть железо - оно должно работать.

Почитал даташит, описание очень интересное - про регистры DMA все понятно, непонятно зачем они нужны и как их использовать!

Нужен пример с камментами. чтоб разобратся и дописать lpcusb
с DMA никогда дела не имел но имею общие представления о нем.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Abo
сообщение Oct 27 2007, 11:34
Сообщение #2


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

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



Цитата(klen @ Oct 27 2007, 13:16) *
Все изумительнол работает и устраивает. скорость до 1,6 м/с


1,6 Мбайт/с быть не может. Что то не так меряете. (кстати 12 / 8 к сожалению только 1,5).
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 27 2007, 13:28
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Abo @ Oct 27 2007, 15:34) *
1,6 Мбайт/с быть не может. Что то не так меряете. (кстати 12 / 8 к сожалению только 1,5).

А как надо? пишу 1 мегабайт с PC в libusb , на ней мерю записи чтения. в lpc кольцевой буффер 32к, потом еще и проверяю что пишется правильно. Более того я сдел плату генератор-произвольгого сигнала на Olimex H-lpc2148 лью синал в буфер ЦАПа через usb, все работает.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Oct 29 2007, 08:25
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(klen @ Oct 27 2007, 18:28) *
А как надо? пишу 1 мегабайт с PC в libusb , на ней мерю записи чтения.


Присоединяюсь к мнению DASM-а. 1.5 теоритический максимум. Реальный намного меньше.

Ещё по поводу libusb - есть неприятный момент при чтении с таймаутом на примере чтения bulk-а. Таймаут используется Юзерспейсный, по истечении времени Юзерспейс тормозит кернельную часть. Если в этот момент кернельная часть уже чтото читает/прочитала с девайса но не отдала в юзерспейсную часть, то эти данные теряются.
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 29 2007, 10:21
Сообщение #5


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Alex03 @ Oct 29 2007, 11:25) *
Присоединяюсь к мнению DASM-а. 1.5 теоритический максимум. Реальный намного меньше.

с этим понятно, ошибка была при записи с PC.

Цитата
Ещё по поводу libusb - есть неприятный момент при чтении с таймаутом на примере чтения bulk-а. Таймаут используется Юзерспейсный, по истечении времени Юзерспейс тормозит кернельную часть. Если в этот момент кернельная часть уже чтото читает/прочитала с девайса но не отдала в юзерспейсную часть, то эти данные теряются.

Что предлагается?
Go to the top of the page
 
+Quote Post



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

 


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


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