KAlex 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Работаю с AT91SAM7. Перекачивается поток информации с железки в комп. Прикинулся FTDI-девайсом. Дрова встали, все работает. Только скорость больше 400Kb/c получить не удается. Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006). Кто нибудь получал нормальную скорость для USB 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bosicc 0 14 апреля, 2007 Опубликовано 14 апреля, 2007 · Жалоба Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006). Кто нибудь получал нормальную скорость для USB 2 Тестом скорости не занимался, но обратите внимание драйвер со стороны ПК. Попробуйте написать свой. И какие ендпоинты Вы используете для передачи и приема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 16 апреля, 2007 Опубликовано 16 апреля, 2007 · Жалоба USB Device Viewer: Endpoint Descriptor: bEndpointAddress: 0x81 Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00 Endpoint Descriptor: bEndpointAddress: 0x02 Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
boez 0 17 апреля, 2007 Опубликовано 17 апреля, 2007 · Жалоба Работаю с AT91SAM7. Перекачивается поток информации с железки в комп. Прикинулся FTDI-девайсом. Дрова встали, все работает. Только скорость больше 400Kb/c получить не удается. Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006). Кто нибудь получал нормальную скорость для USB 2 Я читал что это проблема драйверов VCP (виртуального ком-порта). Если поставить другие дрова, которые через ДЛЛ работают, с того же сайта фтди, то скорость возрастет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба Работаю через DLL. Для VCP не знаю дескриптора и прочих нужностей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cebotor 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба Работаю через DLL. Для VCP не знаю дескриптора и прочих нужностей. простите , может немного не в тему , но зачем Вам , если вы работаете не как виртуал ком порт , вообще использование драйверов FTDI ? у чипов FTDI работа через ДЛЛ имеется и она аналогична работе со стандартными CDC USB устройствами , но Вы же не юзаете ни их чип ни их возможности виртуального ком порта, так почему все таки их дрова ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба Так исторически сложилось. Сначала был девайс на Меге+Фтди. Соответственно был заточен компьютерный софт. Теперь Мегу заменили на АРМ, надобность в Фтди отпала, софт остался. Если вы знаете хорошие дрова, примерно с теми же возможностями что и Фтди, только быстрее - скажите мне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АДИКМ 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба с d2xx драйверами получались стабильные 1 мегабайт/секунда. от версии дров ничего не менялось особенно. какие вы используете буфера/тайм ауты и т.д.? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба /* Endpoint 2 descriptor */ 0x07, // bLength 0x05, // bDescriptorType 0x02, // bEndpointAddress, Endpoint 02 - OUT 0x02, // bmAttributes BULK 0x40, // wMaxPacketSize: 64 bytes (button, x, y) 0x00, 0x00, // bInterval Таймаутов как таковых нет. С d2xx по скорости было тоже самое, но с ними невозможно отлаживать программу, любой останов на брейкпоинте вешает комп - синий экран. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cebotor 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба /* Endpoint 2 descriptor */ 0x07, // bLength 0x05, // bDescriptorType 0x02, // bEndpointAddress, Endpoint 02 - OUT 0x02, // bmAttributes BULK 0x40, // wMaxPacketSize: 64 bytes (button, x, y) 0x00, 0x00, // bInterval Таймаутов как таковых нет. С d2xx по скорости было тоже самое, но с ними невозможно отлаживать программу, любой останов на брейкпоинте вешает комп - синий экран. а что это за коментарий такой про кнорку и x y ? у вас устройство часом не как HID объявлено ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АДИКМ 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба /* Endpoint 2 descriptor */ 0x07, // bLength 0x05, // bDescriptorType 0x02, // bEndpointAddress, Endpoint 02 - OUT 0x02, // bmAttributes BULK 0x40, // wMaxPacketSize: 64 bytes (button, x, y) 0x00, 0x00, // bInterval Таймаутов как таковых нет. С d2xx по скорости было тоже самое, но с ними невозможно отлаживать программу, любой останов на брейкпоинте вешает комп - синий экран. Вы немного не поняли меня. Какие параметры заданы в SetLatencyTimer, SetUSBParameters, Set_USB_Device_TimeOuts Это в Вашем приложении, которое использует dll. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба Ну это как всегда, что то готовое берется за пример, камментарии остаются. Нет, не HID. Set_USB_Device_TimeOuts(2000,2000); Остальное по умолчанию. Set_USB_Device_TimeOuts(2000;2000) Остальное по умолчанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АДИКМ 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба установите SetLatencyTimer 2-3. по умолчанию там стоит 16. это много. это сразу даст прирост 20-40 % возможно следует изменить размер приемного буфера. какой характер передачи данных? вы непрерывно передаете большой объем? у меня была длительная передача данных 100-500 мбайт. и скорость держалась постоянно на одном уровне. разумеется в том же хабе больше ничего не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба >>установите SetLatencyTimer 2-3. >>по умолчанию там стоит 16. это много. это сразу даст прирост 20-40 % >>возможно следует изменить размер приемного буфера. Нет еффекта. >>какой характер передачи данных? >>вы непрерывно передаете большой объем? Передаются блоки по 48К. В секунду успевает пройти 8-9 блоков. К стати, как померить время передачи блока без учета времени на его подготовку? IAR+JTAG. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 19 апреля, 2007 Опубликовано 19 апреля, 2007 · Жалоба Померил реальную скорость одного пакета (засек по таймеру). Получилось около 950К/с. Так что ... :1111493779: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться