|
High-Speed USB устройство, Вопросы к специалистам |
|
|
|
Sep 11 2005, 00:17
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Разрабатывается довольно навороченное устройство захвата видео. Связь с 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. Уместно ли заводить дополнительные пайпы или эндпойнты в рамках того же девайса для достижения каких-либо преимуществ? Пока все. Простите, если вопросы покажутся несколько ламерскими - тематика для меня совсем новая. Заранее спасибо.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Sep 12 2005, 00:37
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(MALLOY2 @ Sep 11 2005, 15:48) Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме 312 Мбит/с. это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат. ДЛя хаба если он не твоей разроботки софта дополнительного не надо. Скажите каких приемуществ я скажу уместно это или нет. В первую очередь, естественно, более полная утилизация "полосы пропускания" USB хабов, во вторую - удобство написания софта для девайса - предполагается, что заполнение буфера IN для изохрона будет осуществляться короткими бёрстами, размер которых оределяется емкостью FIFO буфера видеодекодера (SAA7114). Однако, второе не столь важно, т.к. ISP1582 имеет двойную буферизацию, а для эндпойнта типа изохрон можно отводить до 3-х таймслотов в микрофрейме. А Вы такую скорость получили при использования одного эндпойнта или нескольких? По моим прикидкам, с одного получиться не должно. Еще повторю, что подключение других устройств к корневым USB хабам не предполагается, поэтому можно использовать всю полосу целиком. Внешний хаб, следовательно, является полностью прозрачным устройством. Спасибо за Ваш ответ, но все же, что делать с софтом? Клиентскую часть напишут, но за все остальное наш народ упорно не желает браться, и когда спрашиваешь, что же еще им нужно, молчат, как партизаны. Хотелось бы все-таки выяснить, как можно сконструировать простейшие драйвера второго уровня, чтобы ткнуть кого следует в них лицом и заставить наконец разобраться с этим как положено.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Sep 12 2005, 07:31
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Я и использовал 1 ендпоит с 4х буферизацией (4*512) все было нормально, но это на CY7C68013 с вашей микрухой я не работал. По поводу драйверов, есть некие универсальные драйвера USBIO вот ссылка на них http://www.thesycon.de/deu/home.shtml с ними идеет еще демо программа с помощью которой очень легко отлаживать USB девыйсы, вот эти дрова можно заюзать к ним еще идет API. вобщем все там очень просто советую закачать. Кому интерестно могу на FTP залить версию 2.0 ломаную.
|
|
|
|
|
Sep 12 2005, 09:38
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

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

|
Цитата(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.
|
|
|
|
|
Sep 12 2005, 11:40
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата(bve @ Sep 12 2005, 14:23) Попробуйте Total(Windows) Commander или Far для закачки. Они работают, но инсталяхи все дома, винт новый поставил еще не переписал ничего.
|
|
|
|
|
Sep 12 2005, 12:15
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765

|
Цитата(MALLOY2 @ Sep 12 2005, 14:40) Цитата(bve @ Sep 12 2005, 14:23) Попробуйте Total(Windows) Commander или Far для закачки. Они работают, но инсталяхи все дома, винт новый поставил еще не переписал ничего. Могу кинуть на ftp Total Commander 6.53 с плагинами. весят примерно 6М. Надо?
|
|
|
|
|
Sep 12 2005, 14:22
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата(FLTI @ Sep 12 2005, 16:55) "USBIO дает скорость 44 метра пер секонд". Это и на запись , и на чтение? А какова при этом загрузка процессора? Или передача идет через DMA ? Нет, это в одну сторону или запись или чтение, как внутри компа работает незнаю, а в CY7C680013 FPGA поток генерит. Точнее OUT в USB медленней немного (~35) из за винта, IN пишется по кругу в память. Так они пишут у меня реально получилось 39 польшке FPGA не выдавала, загрузка проца компьютера примерно ~50-60%, но тачка у меня слабоватая celeron 2000, 256 мозгов winXp, если мозгов по больше поставить падает гдето до 30
|
|
|
|
|
Sep 12 2005, 21:16
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата(FLTI @ Sep 12 2005, 17:34) А почему все-таки такая высокая загрузка процессора? Разве не DMA используется? Я думаю это оболочка много забирает котороя показывает трафик ошибки и другую информацию
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|