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

чем проще загнать в ПК поток данных 20МГц х 16бит?

плюс в обратную сторону надо неспешно дрыгать десятком ног.

 

CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)

 

FT2(2)32H + CPLD. по скорости 40МБ/с и на CY7C68013 впритык, а тут вроде еще меньше получится, зато с драйверами получше.

 

AT32UC3A / SAM3X(A) / какой-нибудь другой cortex-M c HSUSB.

через GPIO и DMA, наверное, сможет параллельный поток 20МГц захватить, но опять же свои драйвера для ПК писать не хотелось бы, хотя это может быть и не так страшно, не знаю.

 

еще езернет как сам интерфейс красивее, даже и fast ethernetом, наверное, можно было бы обойтись поставив небольшой буфер, всего данных за раз не сильно больше мегабайта прилетает а в среднем в 10МБ/с пожалуй влезет, но реализовывать сетевой стэк, пусть даже только до UDP в fpga тоже не радует, то есть быстро самому написать не получится хотя и интересно.

взять готорый lwip/uip с ниосом по скорости не знаю что получится.

 

как быть?

 

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


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

Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.

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


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

Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.

ну если вместо 20МГц вдруг окажется возможным только 15-17 не так уж страшно, хотя цифру в 45МБайт/с как реально выжатую из CY7C68013 где-то встречал.

то что GigEthernet разумнее не спорю, но сложность реализации по сравнению с готовым мостом в USB несколько огорчает. если поделитесь ссылками на реализацию чего-нибудь похожего через ethernet буду признателен.

nios + lwip?

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


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

CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)

По-моему, самое оно. Сколько лет уже "лошадке", а заменить в общем-то и нечем.

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


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

По-моему, самое оно. Сколько лет уже "лошадке", а заменить в общем-то и нечем.

А как же FX3?

 

то что GigEthernet разумнее не спорю, но сложность реализации по сравнению с готовым мостом в USB несколько огорчает. если поделитесь ссылками на реализацию чего-нибудь похожего через ethernet буду признателен.

nios + lwip?

BeMicro CV + vadimuzzz = самый простой способ загнать поток данных 40 МБайт/сек в ПК через GigEthernet.

 

Есть еще вариант BeMicro CV + BEUSB 3.0. Но он гораздо хуже предыдущего варианта по надежности обмена.

 

В теме "Посоветуйте USB 3.0 контроллер, выбор чипа" enclis_ предложил более дешевый вариант кита с FX3.

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


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

А как же FX3?

если FX2 хватает по скорости, то выбор между BGA 11х11х0.8мм и TSOP56, вроде как очевиден.

BeMicro CV + vadimuzzz = самый простой способ загнать поток данных 40 МБайт/сек в ПК через GigEthernet.

спасибо, почитаю.

Есть еще вариант BeMicro CV + BEUSB 3.0. Но он гораздо хуже предыдущего варианта по надежности обмена.

у меня есть Bemicro-SDK, он с fast ethernetом и памятью для попробовать пойдёт. но хотелось бы нормальное решение на случай если устройство будет не в единичном экземпляре.

В теме "Посоветуйте USB 3.0 контроллер, выбор чипа" enclis_ предложил более дешевый вариант кита с FX3.

если про leapmotion, то GPIF там на отдельный разъём вывести забыли :)

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


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

...если про leapmotion, то GPIF там на отдельный разъём вывести забыли :)

Да ладно, а что же тогда они вывели на 44-выводный разъем?

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


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

А как же FX3?

У него свои тараканы. Скажем, скоростной поток без внешней буферизации протащить не получится из-за задержек на переключении внутренних буферов.

Если достаточно FX2, то лучше выбрать именно его.

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


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

Да ладно, а что же тогда они вывели на 44-выводный разъем?

распиновкой не поделитесь? ;)

тем более что на нём висят две камеры с 10ю скорее всего разрядами (вряд ли с 12), я бы на их месте повесил их на 0..9 и 16..25 биты 32хразрядного GPIF интерфейса, а остальное бы не тащил за ненадобностью.

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


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

А вариант на PCI/PCIe рассматривается?

Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.

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


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

А вариант на PCI/PCIe рассматривается?

Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.

слишком жирно, изначально вопрос был как сделать проще.

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


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

У нас достижение 45 Мбайт/сек на FX2LP (CY68013A), это, похоже, близко к реальному пределу. Тут очень сильно зависит от хоста. Причём, "современность" хоста мало влияет на прирост скорости. Например, у меня на старом Атлон64 качает 45 мегабайт в секунду, а на более новом четырёхядерном Феноме скорость порядка 38-39 Мбайт/сек. Плотно не выясняли, почему так, но, вроде, это зависит не от крутизны проца и материнки, а от того, что там за USB Host стоит - не факт, что в более современном компе стоит более быстрый USB Host.

 

В общем, хочу сказать, что 40 мегабайт в секунду - это уже близко к пределу, тут влияние хоста значительно. Если будете идти по этому пути, то имейте это в виду. Если 16-17 Мслов/сек, то есть 32-34 МБайта/сек, то тут думаю, всё значительно легче. Даже мой "медленный" Феном спокойно 32 мегабайта сосёт через дырку в передней панели (а через неё помедленее, чем через расположенные непосредственно на материнке).

 

Да, и следует отметить, что хостовая программа должна быть написана грамотно и аккуратно - никаких ожиданий, процессы запроса данных и их приём получаются полностью асинхронными, всё работает по событиям. Иначе успеха не достичь.

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


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

драйвера родные от кипариса или свои?

да, драйвер кипарисный. Ещё программист пробовал, вроде, libusb, по скорости, сказал, не уступают (был отдалённый план сделать программу кроссплатформенной - под линухом чтоб тоже жила). Но поскольку время поджимало, не было возможности экспериментировать и ответственность была высока, взяли более обкатанный вариант - от производителя.

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


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

Тоже выжимали максимум из CY68013A.

Проверяли на разных системах, также лучшие результаты были AMD платформе.

Сейчас протестил на Z77 c i7-2700 WIN7 x64 если через

USB 3.0 host: IN 43MB/s out 46MB/s

USB 2.0 host: IN 41MB/s out 35MB/s

Драйвер свой, у кипариса при передачи в драйвер данных < 1MB сильно просаживается скорость.

Скорость указана в честных MB/s где MB = 1048576 байт.

Если считать в Миллионах байт, то будет

IN 45 OUT 48

IN 43 OUT 36

Изменено пользователем VasiaMVR

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


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

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

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

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

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

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

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

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

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

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