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

 
 
> Еще раз про USB., Как поднять скорость?
KAlex
сообщение Apr 12 2007, 13:27
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Работаю с AT91SAM7. Перекачивается поток информации с железки в комп.
Прикинулся FTDI-девайсом. Дрова встали, все работает.
Только скорость больше 400Kb/c получить не удается.
Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006).
Кто нибудь получал нормальную скорость для USB 2
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Bosicc
сообщение Apr 14 2007, 13:12
Сообщение #2


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Цитата(KAlex @ Apr 12 2007, 12:27) *
Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006).
Кто нибудь получал нормальную скорость для USB 2


Тестом скорости не занимался, но обратите внимание драйвер со стороны ПК. Попробуйте написать свой.
И какие ендпоинты Вы используете для передачи и приема?
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 16 2007, 12:32
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



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
Go to the top of the page
 
+Quote Post
boez
сообщение Apr 17 2007, 20:57
Сообщение #4


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

Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868



Цитата(KAlex @ Apr 12 2007, 13:27) *
Работаю с AT91SAM7. Перекачивается поток информации с железки в комп.
Прикинулся FTDI-девайсом. Дрова встали, все работает.
Только скорость больше 400Kb/c получить не удается.
Есть подозрение, что ограничение по скорости дают дрова от ftdi (2.00.00 May 18, 2006).
Кто нибудь получал нормальную скорость для USB 2


Я читал что это проблема драйверов VCP (виртуального ком-порта). Если поставить другие дрова, которые через ДЛЛ работают, с того же сайта фтди, то скорость возрастет.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 18 2007, 12:08
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Работаю через DLL. Для VCP не знаю дескриптора и прочих нужностей.
Go to the top of the page
 
+Quote Post
cebotor
сообщение Apr 18 2007, 12:19
Сообщение #6


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KAlex @ Apr 18 2007, 13:08) *
Работаю через DLL. Для VCP не знаю дескриптора и прочих нужностей.

простите , может немного не в тему , но зачем Вам , если вы работаете не как виртуал ком порт , вообще использование драйверов FTDI ?
у чипов FTDI работа через ДЛЛ имеется и она аналогична работе со стандартными CDC USB устройствами , но Вы же не юзаете ни их чип ни их возможности виртуального ком порта, так почему все таки их дрова ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 18 2007, 12:43
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Так исторически сложилось. Сначала был девайс на Меге+Фтди. Соответственно был заточен компьютерный софт. Теперь Мегу заменили на АРМ, надобность в Фтди отпала, софт остался.
Если вы знаете хорошие дрова, примерно с теми же возможностями что и Фтди, только быстрее - скажите мне.
Go to the top of the page
 
+Quote Post
АДИКМ
сообщение Apr 18 2007, 12:50
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



с d2xx драйверами получались стабильные 1 мегабайт/секунда.
от версии дров ничего не менялось особенно.

какие вы используете буфера/тайм ауты и т.д.?


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 18 2007, 13:05
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



/* 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 по скорости было тоже самое, но с ними невозможно отлаживать
программу, любой останов на брейкпоинте вешает комп - синий экран.
Go to the top of the page
 
+Quote Post
cebotor
сообщение Apr 18 2007, 13:45
Сообщение #10


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KAlex @ Apr 18 2007, 14:05) *
/* 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 объявлено ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
АДИКМ
сообщение Apr 18 2007, 13:50
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



Цитата(KAlex @ Apr 18 2007, 13:05) *
/* 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.


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 18 2007, 14:52
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Ну это как всегда, что то готовое берется за пример, камментарии остаются.
Нет, не HID.

Set_USB_Device_TimeOuts(2000,2000);
Остальное по умолчанию.


Set_USB_Device_TimeOuts(2000;2000)
Остальное по умолчанию.
Go to the top of the page
 
+Quote Post
АДИКМ
сообщение Apr 18 2007, 15:29
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



установите SetLatencyTimer 2-3.
по умолчанию там стоит 16. это много. это сразу даст прирост 20-40 %
возможно следует изменить размер приемного буфера.

какой характер передачи данных?
вы непрерывно передаете большой объем?

у меня была длительная передача данных 100-500 мбайт.
и скорость держалась постоянно на одном уровне.
разумеется в том же хабе больше ничего не было.


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 18 2007, 15:56
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



>>установите SetLatencyTimer 2-3.
>>по умолчанию там стоит 16. это много. это сразу даст прирост 20-40 %
>>возможно следует изменить размер приемного буфера.
Нет еффекта.

>>какой характер передачи данных?
>>вы непрерывно передаете большой объем?
Передаются блоки по 48К. В секунду успевает пройти 8-9 блоков.
К стати, как померить время передачи блока без учета времени на его подготовку?
IAR+JTAG.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 19 2007, 10:09
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Померил реальную скорость одного пакета (засек по таймеру). Получилось около 950К/с.
Так что ... 1111493779.gif
Go to the top of the page
 
+Quote Post

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

 


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


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