Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: High-Speed USB устройство
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Stanislav
Разрабатывается довольно навороченное устройство захвата видео. Связь с PC-совместимым компьютером, работающим под Windows2K/XP предполагается осуществлять по шине USB в режиме High Speed. В качестве контроллера USB используется ISP1582 от Philips. Предположительная конфигурация девайса (не считая эндпоинта 0):
- три эндпоинта типа IN;
- один эндпоинт типа OUT.
Эндпоинты типа IN несут следующую функциональную нагрузку (пронумерованы условно):
1) Передача видео превью (картинка 360х288) в стандарте ITU-601/656 с эффективной скоростью порядка 40-45 Мбит/с. Режим - изохронный.
2) Передача видео в стандарте MPEG-2 с фиксированной скоростью порядка 4 Мбит/с. Режим - асинхронный, конкретно пока не выбран.
3) Передача побочной информации, <1 Мбит/с. Режим - interrupt.
Эндпоинт типа OUT используется для передачи служебной информации от PC к девайсу. Режим - bulk.
Таким образом, существует 4 пайпа, не считая управляющих, с суммарной эффективной скоростью передачи около 50 Мбит/с. Превью должно выводиться на экран, а другие IN пайпы предназначены для записи на диск.
В дальнейшем предполагается подключать к одному компьютеру до 4-х таких устройств.
В связи с этим возникает ряд вопросов.
1. Как правильно создать драйвера верхнего уровня для стыковки с клиентским софтом? Достаточно ли для этого использовать WinDriver USB, или есть какие-то подводные камни? Проблема усугубляется тем, что я сам, в силу определенных причин, не пишу софт под винду, а наши программисты ленивы и/или недостаточно квалифицированы, поэтому помощи от них ждать не приходится.
2. Прожует ли один USB порт суммарный поток данных ~200-240 Мбит/с, если к нему будут подключены 4 таких устройства через внешний хаб (предполагается, что корневой хаб более ничем не будет загружен)? И прожует ли этот поток сама винда?
3. Нужен ли какой-либо дополнительный софт для использования внешнего хаба?
4. Уместно ли заводить дополнительные пайпы или эндпойнты в рамках того же девайса для достижения каких-либо преимуществ?
Пока все. Простите, если вопросы покажутся несколько ламерскими - тематика для меня совсем новая.
Заранее спасибо.
MALLOY2
Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме 312 Мбит/с. это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

ДЛя хаба если он не твоей разроботки софта дополнительного не надо.

Скажите каких приемуществ я скажу уместно это или нет.
Stanislav
Цитата(MALLOY2 @ Sep 11 2005, 15:48)
Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме   312 Мбит/с.  это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

ДЛя хаба если он не твоей разроботки софта дополнительного не надо.

Скажите каких приемуществ я скажу уместно это или нет.
*


В первую очередь, естественно, более полная утилизация "полосы пропускания" USB хабов, во вторую - удобство написания софта для девайса - предполагается, что заполнение буфера IN для изохрона будет осуществляться короткими бёрстами, размер которых оределяется емкостью FIFO буфера видеодекодера (SAA7114). Однако, второе не столь важно, т.к. ISP1582 имеет двойную буферизацию, а для эндпойнта типа изохрон можно отводить до 3-х таймслотов в микрофрейме.
А Вы такую скорость получили при использования одного эндпойнта или нескольких? По моим прикидкам, с одного получиться не должно.
Еще повторю, что подключение других устройств к корневым USB хабам не предполагается, поэтому можно использовать всю полосу целиком.
Внешний хаб, следовательно, является полностью прозрачным устройством.
Спасибо за Ваш ответ, но все же, что делать с софтом? Клиентскую часть напишут, но за все остальное наш народ упорно не желает браться, и когда спрашиваешь, что же еще им нужно, молчат, как партизаны. Хотелось бы все-таки выяснить, как можно сконструировать простейшие драйвера второго уровня, чтобы ткнуть кого следует в них лицом и заставить наконец разобраться с этим как положено.
MALLOY2
Я и использовал 1 ендпоит с 4х буферизацией (4*512) все было нормально, но это на CY7C68013 с вашей микрухой я не работал. По поводу драйверов, есть некие универсальные драйвера USBIO вот ссылка на них http://www.thesycon.de/deu/home.shtml с ними идеет еще демо программа с помощью которой очень легко отлаживать USB девыйсы, вот эти дрова можно заюзать к ним еще идет API. вобщем все там очень просто советую закачать.
Кому интерестно могу на FTP залить версию 2.0 ломаную.
aal
2 MALLOY2
Заливай!
Trashy
Цитата(MALLOY2 @ Sep 11 2005, 15:48)
Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме  312 Мбит/с.  это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

ДЛя хаба если он не твоей разроботки софта дополнительного не надо.

Скажите каких приемуществ я скажу уместно это или нет.
*


Сайпресс68013 разгонял в одну трубу 26мегабайт пер секонд (два фильма слил за 50 секунд).
Кстати, количество труб влияло на скорость, только в режиме USB1.1. В 2.0, даже не заметно(хотя зависит от конфигурации компа).
На драйвере от производителя. Драйвер весьма не удобный. И больше предназначен как демонстрационный. НО! Я к нему приспособился. Говорят, новый удобней, но скорости выше 13мег не получали(сам не пользовал, не скажу).
MALLOY2
Цитата(Trashy @ Sep 12 2005, 12:38)
Цитата(MALLOY2 @ Sep 11 2005, 15:48)
Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме   312 Мбит/с.  это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

ДЛя хаба если он не твоей разроботки софта дополнительного не надо.

Скажите каких приемуществ я скажу уместно это или нет.
*


Сайпресс68013 разгонял в одну трубу 26мегабайт пер секонд (два фильма слил за 50 секунд).
Кстати, количество труб влияло на скорость, только в режиме USB1.1. В 2.0, даже не заметно(хотя зависит от конфигурации компа).
На драйвере от производителя. Драйвер весьма не удобный. И больше предназначен как демонстрационный. НО! Я к нему приспособился. Говорят, новый удобней, но скорости выше 13мег не получали(сам не пользовал, не скажу).
*



USBIO дает скорость 44 метра пер секонд, программеры говорят удобный API.

Офф: а как на FTP заливать с помощью виндовых средств, сейчас нету натачке не одной проги для работы с FTP.
bve
Попробуйте Total(Windows) Commander или Far для закачки.
MALLOY2
Цитата(bve @ Sep 12 2005, 14:23)
Попробуйте Total(Windows) Commander или Far для закачки.
*



Они работают, но инсталяхи все дома, винт новый поставил еще не переписал ничего.
bve
Цитата(MALLOY2 @ Sep 12 2005, 14:40)
Цитата(bve @ Sep 12 2005, 14:23)
Попробуйте Total(Windows) Commander или Far для закачки.
*



Они работают, но инсталяхи все дома, винт новый поставил еще не переписал ничего.
*


Могу кинуть на ftp Total Commander 6.53 с плагинами. весят примерно 6М.
Надо?
MALLOY2
Не надо всем подряд засорять FTP !!!
У меня все есть, завтра залью, сейчас некогда разыскивать устанавливать настраивать. Просто я попробывал через explorer он не хочет, ну и не надо, вечером из дому залью
FLTI
"USBIO дает скорость 44 метра пер секонд".

Это и на запись , и на чтение?
А какова при этом загрузка процессора? Или передача идет через DMA ?
MALLOY2
Цитата(FLTI @ Sep 12 2005, 16:55)
"USBIO дает скорость 44 метра пер секонд".

Это и на запись , и на чтение?
А какова при этом загрузка процессора? Или передача идет через DMA ?
*


Нет, это в одну сторону или запись или чтение, как внутри компа работает незнаю, а в CY7C680013 FPGA поток генерит. Точнее OUT в USB медленней немного (~35) из за винта, IN пишется по кругу в память. Так они пишут у меня реально получилось 39 польшке FPGA не выдавала, загрузка проца компьютера примерно ~50-60%, но тачка у меня слабоватая celeron 2000, 256 мозгов winXp, если мозгов по больше поставить падает гдето до 30
FLTI
А почему все-таки такая высокая загрузка процессора?
Разве не DMA используется?
MALLOY2
Цитата(FLTI @ Sep 12 2005, 17:34)
А почему все-таки такая высокая загрузка процессора?
Разве не DMA используется?
*


Я думаю это оболочка много забирает котороя показывает трафик ошибки и другую информацию
MALLOY2
Цитата(aal @ Sep 12 2005, 12:20)
2 MALLOY2
Заливай!
*


Залил

/upload/Drivers/USBIO V20/
Stanislav
Цитата(MALLOY2 @ Sep 13 2005, 00:26)
Залил

/upload/Drivers/USBIO V20/
*


Огромное спасибо. Также и всем, кто откликнулся.
Stanislav
Вот еще вопрос: как правильно установить связь с корневым хабом? Исходные данные: USB device controller - ISP1582, ОС на PC - Windows 2000, корневой хаб поддерживает High-Speed протокол.
Дело в том, что не удается добиться приема даже SETUP token. После шинного ресета девайс переходит в режим High-speed, затем шина через некоторое время переходит в состояние Resume, а потом - Suspend. Приема SETUP токена не происходит. Далее сброс повторяется, и так 3 раза. Подскажите, плиз, кратко - какую последовательность действий надо применить, чтобы хоть что-то ожило, или где прочитать. В описании USB стандарта ничего полезного для этой ситуации не нашел.
Konst_777
Цитата(Stanislav @ Sep 20 2005, 19:12)
... Подскажите, плиз, кратко - какую последовательность действий надо применить, чтобы хоть что-то ожило, или где прочитать. В описании USB стандарта ничего полезного для этой ситуации не нашел.


Возможно, следующие документы будут полезны:
AN10039: "ISP1582/83 Firmware Programming Guide"
AN10046: "ISP1581/2/3 Frequently Asked Questions"
AN10031: "ISP1582/83 Control Pipe"
AN10045: "ISP1582/83 Clearing an IN Buffer"
UM10042: "ISP1582 PCI Mass Storage Kit Firmware"
Stanislav
Цитата(Konst_777 @ Sep 20 2005, 21:15)
Цитата(Stanislav @ Sep 20 2005, 19:12)
... Подскажите, плиз, кратко - какую последовательность действий надо применить, чтобы хоть что-то ожило, или где прочитать. В описании USB стандарта ничего полезного для этой ситуации не нашел.


Возможно, следующие документы будут полезны:
AN10039: "ISP1582/83 Firmware Programming Guide"
AN10046: "ISP1581/2/3 Frequently Asked Questions"
AN10031: "ISP1582/83 Control Pipe"
AN10045: "ISP1582/83 Clearing an IN Buffer"
UM10042: "ISP1582 PCI Mass Storage Kit Firmware"
*



Большое спасибо, но все это я уже прочитал. К сожалению, на Филипсе очень плохая документация. По всей видимости, дело как-то связано с самой виндой.
//------------------------------------
Ура, заработало! Причина траха - плохая документация. Кроме того, выяснилось, что у ISP1582 параллельный интерфейс имеет пропускную способность ниже, чем последовательная USB шина, что очень неприятно.
Konst_777
Цитата(Stanislav @ Sep 23 2005, 16:55)
Ура, заработало! Причина траха - плохая документация. Кроме того, выяснилось, что у ISP1582 параллельный интерфейс имеет пропускную способность ниже, чем последовательная USB шина, что очень неприятно.

Каковы впечатления от работы с ISP1582? Какие "подводные камни" были обнаружены? Если есть время и желание, пожалуйста, напишите поподробнее.
Inno
Коллеги, подскажите где можно взять взломанную версию USBIO, или лекарство?
Andy Great
Цитата(Inno @ Oct 12 2005, 09:22)
Коллеги, подскажите где можно взять взломанную версию USBIO, или лекарство?
*

Код
Comparing files usbio.old and USBIO.SYS
00000138: EB EA
00003E3A: 01 00
Inno
Благадрю.
Еще вопрос:
CY7C68001,
Использую windriver от Jungo. Дескиптор взят из дата шита по сайпросу. Максимальная скорость 4MByte/sec. Есть ли способ увеличть скорость обмена?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.