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

LPC2148: LPSUSB (custom) + usblib0

Кто юзал ентого зверя?

Пример custom завелся с полпинка, win видит устойство, функции usblib0.dll работают.

Удручает одно: скорость передачи ПК->LPC не превышает 32 000 байт/с. Многочасовые танцы с бубном к положительным результатам не привели. Передаю по 64 байта, как и в примере. Чето не верится что для bulk HS это нормальная скорость. Описаний различных реализаций много, а про обеспечиваемые скорости обмена почти ничего нету.

Подскажите, куда копать... Интересует именно LPSUSB режим custom (vendor specific class).

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


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

А откуда на 2148 bulk HS? Там ведь только FullSpeed.

Хотя 32 кб\сек совсем мало, конечно.

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


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

А откуда на 2148 bulk HS? Там ведь только FullSpeed.

 

Извиняюсь за запарку, конечно же FS.

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


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

копайте LPCUSB, с libusb стабильно гораздо более высокие скорости точно получаются

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


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

копайте LPCUSB, с libusb стабильно гораздо более высокие скорости точно получаются

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

 

на ПК

unsigned char tmp[64];
...
while(!kbhit()) 
  usb_bulk_write(hDevice, EP_OUT, tmp, sizeof(tmp), 5000);

 

на LPC в обработчике прерываний от приема EP

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 байт в секунду.

Или я чтото не так делаю???

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


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

Я делаю проще - перекачиваю, например, 128Мб данных туда-сюда... потом время делю на объем :)

при этом, кстати, у меня для каждого куска (я передаю по 32Кб) есть ответ-подтверждение корректности передачи

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


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

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

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

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

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

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

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

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

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

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