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

 
 
> LPC2148: LPSUSB (custom) + usblib0
olegras
сообщение Feb 22 2010, 16:59
Сообщение #1


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

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Кто юзал ентого зверя?
Пример custom завелся с полпинка, win видит устойство, функции usblib0.dll работают.
Удручает одно: скорость передачи ПК->LPC не превышает 32 000 байт/с. Многочасовые танцы с бубном к положительным результатам не привели. Передаю по 64 байта, как и в примере. Чето не верится что для bulk HS это нормальная скорость. Описаний различных реализаций много, а про обеспечиваемые скорости обмена почти ничего нету.
Подскажите, куда копать... Интересует именно LPSUSB режим custom (vendor specific class).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
sonycman
сообщение Feb 23 2010, 08:12
Сообщение #2


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



А откуда на 2148 bulk HS? Там ведь только FullSpeed.
Хотя 32 кб\сек совсем мало, конечно.
Go to the top of the page
 
+Quote Post
olegras
сообщение Feb 23 2010, 08:26
Сообщение #3


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

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Цитата(sonycman @ Feb 23 2010, 12:12) *
А откуда на 2148 bulk HS? Там ведь только FullSpeed.


Извиняюсь за запарку, конечно же FS.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 23 2010, 09:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



копайте LPCUSB, с libusb стабильно гораздо более высокие скорости точно получаются
Go to the top of the page
 
+Quote Post
olegras
сообщение Feb 23 2010, 12:55
Сообщение #5


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

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Цитата(toweroff @ Feb 23 2010, 13:44) *
копайте LPCUSB, с libusb стабильно гораздо более высокие скорости точно получаются

toweroff, может я скорость не так измеряю? Я делаю так (прошу ногами не бить):

на ПК
CODE
unsigned char tmp[64];
...
while(!kbhit())
usb_bulk_write(hDevice, EP_OUT, tmp, sizeof(tmp), 5000);


на LPC в обработчике прерываний от приема EP
CODE
unsigned char Buffer[64];
...
DEBUG_LED_ON(11); //низкий уровень
iChunk = USBHwEPRead(bEP, Buffer, 64);
DEBUG_LED_OFF(11); //высокий уровень


Запускаю все и смотрю осциллографом на вывод P0.11. Так как USBHwEPRead просто перекачивает буфер EP в Buffer, на картинке преобладает высокий уровень, в течении которого ПК выполняет usb_bulk_write. Период высокого уровня делю на 64 и получаю период для 1 байта. У меня получается ~ 32 000 байт в секунду.
Или я чтото не так делаю???
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 23 2010, 13:50
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Я делаю проще - перекачиваю, например, 128Мб данных туда-сюда... потом время делю на объем smile.gif
при этом, кстати, у меня для каждого куска (я передаю по 32Кб) есть ответ-подтверждение корректности передачи
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 00:05
Рейтинг@Mail.ru


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