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

 
 
> Размер внутреннего буфера USB Хоста драйвера, Как определить / увеличить размер буфера в Win 98 SE
msn
сообщение Feb 9 2006, 20:15
Сообщение #1


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

Группа: Свой
Сообщений: 126
Регистрация: 1-01-06
Из: Украина, Киев
Пользователь №: 12 759



Специалисты подскажите, пожалуйста, новичку.

Суть проблемы такая:
Пишу софт для непрерывной передачи в компьютер потока 800-900 KB/s. В качестве функции использую Cygnal C8051F32x, одна EP (64+64) с двойной буферизацией передачи типа Bulk на Full Speed в сторону Хоста. Между запросами к драйверу DeviceIoContro(,,,,,0x10000,,) в Win XP есть существенные задержки (2-3 мс) только между блоками по 64K, которые убираются ‘хитрым’ программным FIFO (именно в конце блока начинается буферизация, т.е. перед самой большой задержкой). Но в Win98 SE для Хоста Intel 82371 AB / EB есть еще существенные задержки (до 1 мс) между блоками 4К, хотя используется тоже самый драйвер, что и в Win XP и замер буфера в DeviceIoContro тот же самый – 64К. Складывается такое ощущение, что это ограничение вносит именно драйвер Хоста USBD.sys в Win 98 SE (хотя в этом не уверен). Подскажите, пожалуйста, как программно определить размер внутреннего буфера USB Хоста драйвера? Можно ли его как-то увеличить или обновить?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Johny
сообщение Feb 22 2006, 18:41
Сообщение #2


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

Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792



Цитата(msn @ Feb 9 2006, 23:15) *
Специалисты подскажите, пожалуйста, новичку.

в Win XP есть существенные задержки (2-3 мс) только между блоками по 64K, которые убираются ‘хитрым’ программным FIFO (именно в конце блока начинается буферизация, т.е. перед самой большой задержкой). Но в Win98 SE для Хоста Intel 82371 AB / EB есть еще существенные задержки (до 1 мс) между блоками 4К, хотя используется тоже самый драйвер, что и в Win XP и замер буфера в DeviceIoContro тот же самый – 64К. Складывается такое ощущение, что это ограничение вносит именно драйвер Хоста USBD.sys в Win 98 SE (хотя в этом не уверен). Подскажите, пожалуйста, как программно определить размер внутреннего буфера USB Хоста драйвера? Можно ли его как-то увеличить или обновить?

Спасибо.


Есть подозрение, что виноват не драйвер USB, а драйвер DMA. В свое время я ковырял LPT под Win98, там тоже были задержки между блоками по 4К. С задержками либо надо смириться, либо перейти на другой процессор и ISO-transfer (на full-speed максимум 1023 байта/мс, на hi - 1024 за 125 мкс). Чем Cypress FX2 не устраивает?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:28
Рейтинг@Mail.ru


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