|
CY7C680013A Киньте ссылкой на софт и лит-ру |
|
|
|
 |
Ответов
|
Jan 16 2007, 10:00
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 23-09-05
Из: Москва
Пользователь №: 8 874

|
2jur Я взял стандарнтый ezusb.sys. Про CyUsb.sys не знаю, не пробовал, но думаю что выигрыша уже не будет. Так как исходников его нету, а я его ставил как-то раз, то могу предположить, что код, ответственный за приемопередачу, врядли короче и чище чем у ezusb.sys. Поверхностно они отличаются способом создания устройства. ezusb.sys создает устройство "EZUSB-0" а CyUsb.sys действует через GUID. Много доработать не получится, так как там все просто и "лишних" вызовов на чем можно съэкономить почти нет. Доработка заключается в увеличении входного буфера, в оригинале драйвер принимает не больше 2^16 байт за раз, но у меня максимальная скорость была при 2^15. Так вот, чтобы получить 33Мега надо 1024 раза вызвать драйвер с буфером 2^15. А это "лишние" накладные расходы. Да и прога будет заниматься только тем что вызывать драйвер и ждать пока придет очередная порция, а обрабатывать будет некогда. Вот тогда и родился вариант отдать драйверу весь буфер 33МБ, и когда он заполнится, взведется событие, по которому аппилуха обработает данные.
Сообщение отредактировал Warlord - Jan 16 2007, 10:02
|
|
|
|
|
Jan 16 2007, 12:07
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(Warlord @ Jan 16 2007, 09:00)  Доработка заключается в увеличении входного буфера, в оригинале драйвер принимает не больше 2^16 байт за раз, но у меня максимальная скорость была при 2^15. Большое спасибо за разъяснение! Цитата(Warlord @ Jan 16 2007, 09:00)  Так вот, чтобы получить 33Мега надо 1024 раза вызвать драйвер с буфером 2^15. А это "лишние" накладные расходы. Да и прога будет заниматься только тем что вызывать драйвер и ждать пока придет очередная порция, а обрабатывать будет некогда. Вот тогда и родился вариант отдать драйверу весь буфер 33МБ, и когда он заполнится, взведется событие, по которому аппилуха обработает данные. Хм... Снова на ум приходит все тот же пример Streamer из Cypress'овской USB DevStudio. Взгляни, там очередь заданий запускается вот таким образом: // Queue-up the first batch of transfer requests for (i=0; i< QueueSize; i++) contexts[i] = dlg->InEndPt->BeginDataXfer(buffers[i], len, &inOvLap[i]);Из этого примера видно, что происходит выполнение следующего приема данных параллельно с их обработкой в прикладной программе, т.е. получили данные из первого запроса (и снова перезапустили, чтобы очередь была постоянно заполненна) и можем их обрабатывать, а драйвер тем временем качает дальше. Я пробовал поиграться параметрами такого запуска на слабенькой embedded-материнке (VIA EPIA SP, PIII 1.3 GHz, 17 x 17 cm) и получил хорошие показатели сбалансированности нагрузки при 4-х запросах в очереди и 8 блоках в каждом запросе (т.е. порция данных 4 КБ). Может быть и в твоем случае можно применить похожий механизм? Тогда не нужно будет организовывать такой большой буфер в драйвере. Ведь в этом случае получится хорошее распараллеливание процесса: драйвер порции данных качает, а приложение их обрабатывает по мере поступления. Хотя я на таких больших скоростях не работал, возможно мои рассуждения ошибочны.
--------------------
MPEG-4 - в массы!
|
|
|
|
Сообщений в этой теме
-=Vitaly=- CY7C680013A Киньте ссылкой на софт и лит-ру Jan 2 2007, 13:45 aaarrr Для начала стоит посмотреть софт от developer kit... Jan 2 2007, 14:03 rvk Для того, чтобы полностью врубиться в USB стандарт... Jan 2 2007, 14:29 -=Vitaly=- Спасибо, я где-то так и делал. Просто для подстрах... Jan 2 2007, 15:11 jur Цитата(rvk @ Jan 2 2007, 14:29) можно исп... Jan 2 2007, 17:35 rvk Да извините прогнал я по поводу CyUSB, исходников ... Jan 2 2007, 19:17 jur Цитата(rvk @ Jan 2 2007, 19:17) Да извини... Jan 3 2007, 09:36  XShocK Цитата(jur @ Jan 3 2007, 09:36) Не знаю, ... Jan 3 2007, 23:08 XShocK FX2_TechRefManual.pdf + GPIF_Primer.pdf рулят. Тол... Jan 3 2007, 05:51 XShocK Мой вопрос отпадает. Написал свою прогу на CyAPI и... Jan 4 2007, 06:16 grumbler Цитата(XShocK @ Jan 4 2007, 06:16) Мой во... Jan 4 2007, 06:20  XShocK Цитата(grumbler @ Jan 4 2007, 06:20) Заби... Jan 4 2007, 07:03   grumbler Программа посылает Спартану картинку, тот ее по пр... Jan 4 2007, 07:14    XShocK Цитата(grumbler @ Jan 4 2007, 07:14) А ка... Jan 4 2007, 07:20  jur Цитата(grumbler @ Jan 4 2007, 06:20) Заби... Jan 4 2007, 10:07 jur Цитата(XShocK @ Jan 4 2007, 06:16) Теперь... Jan 4 2007, 10:20  XShocK Цитата(jur @ Jan 4 2007, 10:20) Цитата(XS... Jan 4 2007, 15:49 -=Vitaly=- Мне надо 50-60 мб/cек. GPIF работает в режиме SLAV... Jan 4 2007, 12:40 jur Цитата(-=Vitaly=- @ Jan 4 2007, 12... Jan 4 2007, 14:24  -=Vitaly=- Ладно сделаем посмотрим.
Еще вопрос, в режиме SLAV... Jan 4 2007, 15:09   jur Цитата(-=Vitaly=- @ Jan 4 2007, 14... Jan 4 2007, 23:10    jur (К моему предыдущему посту. Почему-то не получилос... Jan 5 2007, 08:43 XShocK Дело в том, что если использовать оочень большой б... Jan 6 2007, 05:17 -Al- Насчет скорости данного контроллера... У меня при ... Jan 9 2007, 11:44 XShocK Все больше и больше мне становиться интересно како... Jan 10 2007, 06:32  -=Vitaly=- Цитата(XShocK @ Jan 10 2007, 07:32) Все б... Jan 10 2007, 10:00   -Al- Цитата(-=Vitaly=- @ Jan 10 2007, 10... Jan 10 2007, 11:09   jur Цитата(-=Vitaly=- @ Jan 10 2007, 09... Jan 11 2007, 10:24    XShocK Цитата(jur @ Jan 11 2007, 10:24) Спасибо ... Jan 13 2007, 02:42     jur Цитата(XShocK @ Jan 13 2007, 01:42) В том... Jan 15 2007, 11:43 Gate 3 доки с сайта сайпресс о измерении скорости и о р... Jan 10 2007, 11:59 Warlord Мне удалось достичь скорости 33МБайт\с на Bul... Jan 15 2007, 17:18 jur Цитата(Warlord @ Jan 15 2007, 16:18) Мне ... Jan 15 2007, 23:29 nicom Цитата(Warlord @ Jan 15 2007, 17:18) Мне ... Jan 16 2007, 12:45  jur Цитата(nicom @ Jan 16 2007, 11:45) А на к... Jan 16 2007, 20:54   nicom Цитата... похоже, что скорость в 40 МБайт/сек дост... Jan 16 2007, 21:32    jur Цитата(nicom @ Jan 16 2007, 20:32) 2 ALL.... Jan 22 2007, 11:06 Warlord Да, щас сам глянул CyUSB.sys и увидел, что этот др... Jan 16 2007, 12:41 Warlord Вчера примерялся к драйверку CyUSB.sys а сегодня у... Jan 17 2007, 10:53 jur Цитата(Warlord @ Jan 17 2007, 09:53) Вчер... Jan 17 2007, 14:35 Warlord Провел я опыт, результаты - 37МБ за 9.4сек, т.е. п... Jan 18 2007, 10:15 jur Цитата(Warlord @ Jan 18 2007, 09:15) Пров... Jan 18 2007, 10:46  jur Привет!
Провел некоторые эксперименты (P4, 3.... Jan 20 2007, 15:37   -Al- Цитата(jur @ Jan 20 2007, 15:37) Потом я ... Jan 20 2007, 16:05    jur Цитата(-Al- @ Jan 20 2007, 15:0... Jan 20 2007, 17:10     jur Привет!
"Играем дальше." (С) Жванец... Jan 21 2007, 17:47 Warlord Тут главное понять для чего вообще нужен это тип E... Jan 18 2007, 10:53 Warlord Проделал те же шаги, что и jur, касательно bulk пе... Jan 22 2007, 14:56 jur Цитата(Warlord @ Jan 22 2007, 13:56) Резу... Jan 24 2007, 01:06 Warlord Проделал тоже самое для Interrupt, и здесь результ... Jan 22 2007, 16:14 Warlord Остается только вопрошать технарей Cypress. Пробов... Jan 24 2007, 09:50 jur Цитата(Warlord @ Jan 24 2007, 08:50) Оста... Jan 24 2007, 16:34 Warlord Давай я переведу вопросы, если ты собираешься писа... Jan 24 2007, 16:39 jur Цитата(Warlord @ Jan 24 2007, 15:39) Дава... Jan 26 2007, 21:26  jur Я обещал сообщить результаты переписки с фирмой Са... Feb 22 2007, 23:29 torik Думается мне, что они не хотят отвечать... Просто ... Feb 24 2007, 16:47 jur Цитата(torik @ Feb 24 2007, 15:47) Думает... Mar 7 2007, 22:00 torik С удовольствием присоединюсь, тема интересная - са... Mar 8 2007, 11:41 Warlord Думаю хлопцы из сайпресса что-то темнят, что-то не... Mar 9 2007, 09:39 alexkok Цитата(Warlord @ Mar 9 2007, 09:39) Думаю... Mar 12 2007, 06:48 torik мдя, интересно.... искали искали, писали долго упо... Mar 12 2007, 08:52 Warlord Спасибо, alexkok, теперь все стало ясно, и со ... Mar 12 2007, 09:59 jur Большое тебе спасибо, alexkok, очень здорово ты ра... Mar 13 2007, 18:28  jur Цитата(jur @ Mar 13 2007, 17:28) Только с... Mar 13 2007, 20:40  alexkok Цитата(jur @ Mar 13 2007, 18:28) А вот ... Mar 15 2007, 07:48   jur Цитата(alexkok @ Mar 15 2007, 06:48) Ну е... Mar 15 2007, 10:07 Warlord Ответ неверный, будет не 4*8 а 4*2 т.е. те же 8МБ. Mar 15 2007, 09:45 alexkok Цитата(Warlord @ Mar 15 2007, 09:45) Отве... Mar 16 2007, 08:29  jur Цитата(alexkok @ Mar 16 2007, 07:29) А мо... Mar 16 2007, 21:39 Warlord 2alexkok
USB 2.0 - 1 мкФрейм - 125мс, всего 8000 м... Mar 16 2007, 09:40 alexkok Цитата(Warlord @ Mar 16 2007, 09:40) Хост... Mar 16 2007, 23:59  jur Цитата(alexkok @ Mar 16 2007, 22:59) Спас... Mar 19 2007, 09:38   alexkok Цитата(jur @ Mar 19 2007, 09:38) Устройст... Mar 21 2007, 03:37    jur Цитата(alexkok @ Mar 21 2007, 02:37) Ещё ... Mar 21 2007, 08:05     alexkok Цитата(jur @ Mar 21 2007, 08:05) Ендпойнт... Mar 21 2007, 09:50 Warlord Цитата(alexkok @ Mar 16 2007, 23:59) Спас... Mar 19 2007, 09:50 alexkok Цитата(Warlord @ Mar 19 2007, 09:50) Это ... Mar 19 2007, 23:50 Warlord Цитата(alexkok @ Mar 21 2007, 09:50) Игра... Mar 21 2007, 10:35 alexkok Цитата(Warlord @ Mar 21 2007, 10:35) Булк... Mar 22 2007, 10:17 Warlord 8МБ лимит - это касательно определенной ОС, конкре... Mar 22 2007, 11:05 Aaron Доброго всем дня. Подскажите, плз, в каком направл... Mar 23 2007, 16:59 alexkok Цитата(Aaron @ Mar 23 2007, 16:59) Картин... Mar 24 2007, 00:48  Aaron Цитата(alexkok @ Mar 24 2007, 00:48) Скор... Mar 26 2007, 14:01   klop А не подскажете где можно найти етот самый ezusb.s... Oct 18 2008, 22:04 brag Возможно тема очень старая и уже давно пора перехо... Oct 16 2014, 04:23 QingTing Добрый день уважаемые форумчане. Я использую FX2 в... Oct 21 2014, 12:32 jcxz Выпрямляйте руки вашему "программисту" -... Oct 22 2014, 02:09 QingTing Да, возможно программист что то делает не так. Спа... Oct 22 2014, 08:11 jcxz Цитата(QingTing @ Oct 22 2014, 14:11) Я м... Oct 22 2014, 14:51 QingTing Спасибо большое за такой развернутый ответ. Буду м... Oct 23 2014, 13:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|