Перейти к содержанию
    

Разрабатывается довольно навороченное устройство захвата видео. Связь с 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. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на 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 ломаную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме  312 Мбит/с.  это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

 

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

 

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

 

Сайпресс68013 разгонял в одну трубу 26мегабайт пер секонд (два фильма слил за 50 секунд).

Кстати, количество труб влияло на скорость, только в режиме USB1.1. В 2.0, даже не заметно(хотя зависит от конфигурации компа).

На драйвере от производителя. Драйвер весьма не удобный. И больше предназначен как демонстрационный. НО! Я к нему приспособился. Говорят, новый удобней, но скорости выше 13мег не получали(сам не пользовал, не скажу).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
Прожует, но мильно играет роль на таких скоростях конфигурация, у меня реальная скорость была на CY7C68013 в BULK режиме   312 Мбит/с.  это почти физический предел USB. С изохронными потоками не много сложнее там ситуация такая если нужной полосы пропускания на шине не будет (к примеру кто то флешку подключимт и будет копировать фильм ) то ендпоинт получит откат.

 

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

 

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

 

Сайпресс68013 разгонял в одну трубу 26мегабайт пер секонд (два фильма слил за 50 секунд).

Кстати, количество труб влияло на скорость, только в режиме USB1.1. В 2.0, даже не заметно(хотя зависит от конфигурации компа).

На драйвере от производителя. Драйвер весьма не удобный. И больше предназначен как демонстрационный. НО! Я к нему приспособился. Говорят, новый удобней, но скорости выше 13мег не получали(сам не пользовал, не скажу).

 

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

 

Офф: а как на FTP заливать с помощью виндовых средств, сейчас нету натачке не одной проги для работы с FTP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
Попробуйте Total(Windows) Commander или Far для закачки.

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте Total(Windows) Commander или Far для закачки.

 

 

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

Могу кинуть на ftp Total Commander 6.53 с плагинами. весят примерно 6М.

Надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2

Не надо всем подряд засорять FTP !!!

У меня все есть, завтра залью, сейчас некогда разыскивать устанавливать настраивать. Просто я попробывал через explorer он не хочет, ну и не надо, вечером из дому залью

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"USBIO дает скорость 44 метра пер секонд".

 

Это и на запись , и на чтение?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
"USBIO дает скорость 44 метра пер секонд".

 

Это и на запись , и на чтение?

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

 

Нет, это в одну сторону или запись или чтение, как внутри компа работает незнаю, а в CY7C680013 FPGA поток генерит. Точнее OUT в USB медленней немного (~35) из за винта, IN пишется по кругу в память. Так они пишут у меня реально получилось 39 польшке FPGA не выдавала, загрузка проца компьютера примерно ~50-60%, но тачка у меня слабоватая celeron 2000, 256 мозгов winXp, если мозгов по больше поставить падает гдето до 30

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
А почему все-таки такая высокая загрузка процессора?

Разве не DMA используется?

 

Я думаю это оболочка много забирает котороя показывает трафик ошибки и другую информацию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...