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

 
 
> Время отклика USB-устройства....
qqqqqq
сообщение Oct 16 2007, 10:26
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277



Померял время между отправкой одного bulk-пакета и приёмом другого. Получил в среднем 40мс.
Что-то не этого я ожидал от HS USB.
Длина пакетов была 10 байт. Драйвер CYUSB, микросхема CY7C68001, на выходе которой стоит CPLD, разворачивающая приходящий пакет, инвертируя его, в синхронном режиме на скорости 48МГц 8бит.

Как бы сократить это время раз этак в 40тысяч?...
Похоже, где-то я действую неправильно...
В интернете ничего на данную тему найти не смог, кроме упоминаний, что "USB response time is unacceptably slow". Неужели этого и добивались разработчики данной шины?
Даже не верится...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
oran-be
сообщение Oct 20 2007, 11:09
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Чего то как то совсем непонятно.... У шины время кадра на полной скорости 1 мС, а на высокой микрокадр - 0.125 мс. В течении этого времени в самом худшем случае ( это тот случай, если имеется простейший планировщик пакетов - один запрос в кадре) мы буим иметь задержки 2 мСек и 0.25 мСек соответственно. Хотя я еще ни разу не видел простых планировщиков пакетов. На полной скорости шина умудряется в течении 1 мсек пропустить 64 булк пакета туда и обратно при условии, что функция не тормозит с ответом и она на шине единственная. Вопрос заключается в том, каким образом измерялось время реакции. Если через GUI, то можно получить время реакции и больше.
Вообще при таких скоростях самая большая проблема - это грамотная организация потока записи в драйвер и вычитывания из него.

Сообщение отредактировал oran-be - Oct 20 2007, 11:11
Go to the top of the page
 
+Quote Post
qqqqqq
сообщение Oct 23 2007, 16:00
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277



Цитата(oran-be @ Oct 20 2007, 17:09) *
Чего то как то совсем непонятно.... У шины время кадра на полной скорости 1 мС, а на высокой микрокадр - 0.125 мс. В течении этого времени в самом худшем случае ( это тот случай, если имеется простейший планировщик пакетов - один запрос в кадре) мы буим иметь задержки 2 мСек и 0.25 мСек соответственно. Хотя я еще ни разу не видел простых планировщиков пакетов. На полной скорости шина умудряется в течении 1 мсек пропустить 64 булк пакета туда и обратно при условии, что функция не тормозит с ответом и она на шине единственная. Вопрос заключается в том, каким образом измерялось время реакции. Если через GUI, то можно получить время реакции и больше.
Вообще при таких скоростях самая большая проблема - это грамотная организация потока записи в драйвер и вычитывания из него.


1. Консольное приложение считывает тек. время (QueryPerformanceCounter),
2. отправляет драйверу CYUSB.SYS запрос на транзакцию по OUT-ендпоинту,
3. драйвер некоторое время думает, потом возвращает управление приложению,
4. приложение отправляет драйверу второй запрос уже по IN-ендпоинту,
5. драйвер опять думает, на этот раз гораздо дольше и снова возвращает управление, после чего принятый пакет появляется в буфере.
6. Приложение второй раз считывает время и считает разницу.

Получается время от 20 до 100 мс. 40 мс в среднем.

Для LPT-порта такой фокус выполняется около 2 мкс, только, естественно, драйвера там нет, а есть команды процессора IN и OUT.

Так что GUI тут ни при чём.


Цитата(blackfin @ Oct 20 2007, 21:13) *
Так то оно так, но USB Root-Hub скорей всего подключен через шину PCI,
так что для него тоже имеет значение установки BIOS'а.
Попробуйте уменьшить в BIOS'е PCI_Latency_Timer, скажем, до восьми.
По умолчанию, PCI_Latency_Timer обычно равен 32, а это при частоте PCI шины 33 МГц
дает задержку на доступ к шине равную 32*30 нс = 0.96 мкс.
Поскольку для обслуживания прерывания требуется несколько обращений к шине PCI,
это может приводить к задержке в несколько мкс.


Попробовал... Похоже или виндоз при загрузке её переопределяет всегда как 32, или это число вообще ни на что не влияет. Всегда примерно 1мкс...

Забавно выглядит на анализаторе: два-три цикла шины - обмен, 30 циклов - пауза. А проц в это время ждёт чего-то...
Go to the top of the page
 
+Quote Post
Седой
сообщение Oct 24 2007, 05:23
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(qqqqqq @ Oct 23 2007, 22:00) *
Получается время от 20 до 100 мс. 40 мс в среднем.


Все правильно, так и будет при таком использовании.
Go to the top of the page
 
+Quote Post
qqqqqq
сообщение Oct 24 2007, 07:03
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277



Цитата(Седой @ Oct 24 2007, 11:23) *
Все правильно, так и будет при таком использовании.


Непонятно, что мешает драйверу при свободной шине отправить запрос на чтение сразу при получении этого запроса от приложения? Зачем ждать 40мс?
Go to the top of the page
 
+Quote Post
Седой
сообщение Oct 24 2007, 08:33
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(qqqqqq @ Oct 24 2007, 13:03) *
Непонятно, что мешает драйверу при свободной шине отправить запрос на чтение сразу при получении этого запроса от приложения?


По CyUSB ничего сказать не могу, нет исходников.
Попробуйте EzUsb.

Цитата
Зачем ждать 40мс?

Это вы спросите у Microsoft и Cypress.

PS. Какую версию SuiteUSB используете?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- qqqqqq   Время отклика USB-устройства....   Oct 16 2007, 10:26
- - VDG   Цитата(qqqqqq @ Oct 16 2007, 14:26) Неуже...   Oct 16 2007, 12:51
- - Oldring   Цитата(qqqqqq @ Oct 16 2007, 14:26) Помер...   Oct 16 2007, 13:10
|- - qqqqqq   Цитата(Oldring @ Oct 16 2007, 19:10) По м...   Oct 16 2007, 14:08
|- - Oldring   Цитата(qqqqqq @ Oct 16 2007, 18:08) Менят...   Oct 16 2007, 14:14
||- - qqqqqq   Цитата(Oldring @ Oct 16 2007, 20:14) inte...   Oct 16 2007, 14:32
|- - blackfin   Цитата(qqqqqq @ Oct 16 2007, 18:08) Специ...   Oct 20 2007, 15:13
- - qqqqqq   Возникло у меня тут предположение одно.... Если п...   Oct 17 2007, 15:22
|- - Oldring   Цитата(oran-be @ Oct 20 2007, 15:09)...   Oct 20 2007, 17:34
||- - Седой   Цитата(Oldring @ Oct 20 2007, 23:34) Вопр...   Oct 21 2007, 10:59
||- - Oldring   Цитата(Седой @ Oct 21 2007, 14:59) Давайт...   Oct 22 2007, 06:25
||- - Седой   Цитата(Oldring @ Oct 22 2007, 12:25) И ка...   Oct 23 2007, 12:50
||- - Oldring   Цитата(Седой @ Oct 23 2007, 16:50) Я уже ...   Oct 23 2007, 13:32
||- - Седой   Цитата(Oldring @ Oct 23 2007, 19:32) До с...   Oct 23 2007, 13:48
||- - Oldring   Цитата(Седой @ Oct 23 2007, 17:48) Если в...   Oct 23 2007, 14:20
||- - Седой   Цитата(Oldring @ Oct 23 2007, 20:20) помо...   Oct 23 2007, 15:10
|- - qqqqqq   Цитата(Седой @ Oct 24 2007, 14:33) PS. Ка...   Oct 24 2007, 09:01
|- - qqqqqq   Цитата(qqqqqq @ Oct 24 2007, 15:01) Попро...   Oct 26 2007, 09:45
|- - Седой   Цитата(qqqqqq @ Oct 26 2007, 15:45) Остал...   Oct 26 2007, 09:56
|- - qqqqqq   Цитата(Седой @ Oct 26 2007, 15:56) Для Ez...   Oct 26 2007, 14:10
|- - Седой   Цитата(qqqqqq @ Oct 26 2007, 20:10) Прове...   Oct 26 2007, 15:43
|- - qqqqqq   Цитата(Седой @ Oct 26 2007, 21:43) Судя п...   Oct 26 2007, 17:44
|- - aaarrr   Цитата(qqqqqq @ Oct 26 2007, 21:44) Я нав...   Oct 26 2007, 17:51
|- - Седой   Цитата(aaarrr @ Oct 26 2007, 23:51) Да, в...   Oct 27 2007, 04:31
- - Седой   ЦитатаВообще при таких скоростях самая большая про...   Oct 20 2007, 14:19
- - AndreyS   Добрый день. После прочтения топика, хочется вст...   Oct 29 2007, 19:53
- - Седой   ЦитатаПо поводу EzUSB, натолкнулись на то что деба...   Oct 30 2007, 10:10
- - qqqqqq   Цитата(AndreyS @ Oct 30 2007, 00:53) Юзае...   Oct 31 2007, 20:51
- - Седой   Цитата(qqqqqq @ Nov 1 2007, 01:51) И ещё ...   Nov 1 2007, 15:11
- - AndreyS   ЦитатаПытаюсь пока обходиться одним абортом - дабы...   Nov 1 2007, 20:09
|- - Седой   Цитата(AndreyS @ Nov 2 2007, 01:09) А как...   Nov 2 2007, 06:59
|- - Oldring   Цитата(AndreyS @ Nov 1 2007, 23:09) PS. А...   Nov 2 2007, 11:46
|- - AndreyS   Цитата(Oldring @ Nov 2 2007, 15:46) ...   Nov 4 2007, 19:14
|- - Oldring   Цитата(AndreyS @ Nov 4 2007, 22:14) Катас...   Nov 4 2007, 20:26
|- - Седой   Цитата(AndreyS @ Nov 5 2007, 00:14) Спаси...   Nov 5 2007, 10:06
- - qqqqqq   Цитата(Седой @ Nov 1 2007, 20:11) IO-мана...   Nov 4 2007, 19:41


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

 


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


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