плюс в обратную сторону надо неспешно дрыгать десятком ног.
CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)
FT2(2)32H + CPLD. по скорости 40МБ/с и на CY7C68013 впритык, а тут вроде еще меньше получится, зато с драйверами получше.
AT32UC3A / SAM3X(A) / какой-нибудь другой cortex-M c HSUSB.
через GPIO и DMA, наверное, сможет параллельный поток 20МГц захватить, но опять же свои драйвера для ПК писать не хотелось бы, хотя это может быть и не так страшно, не знаю.
еще езернет как сам интерфейс красивее, даже и fast ethernetом, наверное, можно было бы обойтись поставив небольшой буфер, всего данных за раз не сильно больше мегабайта прилетает а в среднем в 10МБ/с пожалуй влезет, но реализовывать сетевой стэк, пусть даже только до UDP в fpga тоже не радует, то есть быстро самому написать не получится хотя и интересно.
взять готорый lwip/uip с ниосом по скорости не знаю что получится.
как быть?
Alex11
Jan 15 2014, 15:45
Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.
Цитата(Alex11 @ Jan 15 2014, 22:45)
Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.
ну если вместо 20МГц вдруг окажется возможным только 15-17 не так уж страшно, хотя цифру в 45МБайт/с как реально выжатую из CY7C68013 где-то встречал.
то что GigEthernet разумнее не спорю, но сложность реализации по сравнению с готовым мостом в USB несколько огорчает. если поделитесь ссылками на реализацию чего-нибудь похожего через ethernet буду признателен.
nios + lwip?
aaarrr
Jan 15 2014, 16:34
Цитата(_pv @ Jan 15 2014, 18:46)
CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)
По-моему, самое оно. Сколько лет уже "лошадке", а заменить в общем-то и нечем.
Konst_777
Jan 15 2014, 18:49
Цитата(aaarrr @ Jan 15 2014, 20:34)
По-моему, самое оно. Сколько лет уже "лошадке", а заменить в общем-то и нечем.
А как же
FX3?
Цитата(_pv @ Jan 15 2014, 20:11)
то что GigEthernet разумнее не спорю, но сложность реализации по сравнению с готовым мостом в USB несколько огорчает. если поделитесь ссылками на реализацию чего-нибудь похожего через ethernet буду признателен.
nios + lwip?
BeMicro CV +
vadimuzzz = самый простой способ загнать поток данных 40 МБайт/сек в ПК через GigEthernet.
Есть еще вариант
BeMicro CV +
BEUSB 3.0. Но он гораздо хуже предыдущего варианта по надежности обмена.
В теме "
Посоветуйте USB 3.0 контроллер, выбор чипа"
enclis_ предложил более дешевый вариант кита с FX3.
Цитата(Konst_777 @ Jan 16 2014, 01:49)
если FX2 хватает по скорости, то выбор между BGA 11х11х0.8мм и TSOP56, вроде как очевиден.
Цитата(Konst_777 @ Jan 16 2014, 01:49)
BeMicro CV +
vadimuzzz = самый простой способ загнать поток данных 40 МБайт/сек в ПК через GigEthernet.
спасибо, почитаю.
Цитата(Konst_777 @ Jan 16 2014, 01:49)
Есть еще вариант
BeMicro CV +
BEUSB 3.0. Но он гораздо хуже предыдущего варианта по надежности обмена.
у меня есть Bemicro-SDK, он с fast ethernetом и памятью для попробовать пойдёт. но хотелось бы нормальное решение на случай если устройство будет не в единичном экземпляре.
Цитата(Konst_777 @ Jan 16 2014, 01:49)
В теме "
Посоветуйте USB 3.0 контроллер, выбор чипа"
enclis_ предложил более дешевый вариант кита с FX3.
если про leapmotion, то GPIF там на отдельный разъём вывести забыли
Konst_777
Jan 15 2014, 19:34
Цитата(_pv @ Jan 15 2014, 23:23)
...если про leapmotion, то GPIF там на отдельный разъём вывести забыли
Да ладно, а что же тогда они вывели на
44-выводный разъем?
aaarrr
Jan 15 2014, 19:56
Цитата(Konst_777 @ Jan 15 2014, 22:49)
У него свои тараканы. Скажем, скоростной поток без внешней буферизации протащить не получится из-за задержек на переключении внутренних буферов.
Если достаточно FX2, то лучше выбрать именно его.
Цитата(Konst_777 @ Jan 16 2014, 02:34)
Да ладно, а что же тогда они вывели на
44-выводный разъем?
распиновкой не поделитесь?
тем более что на нём висят две камеры с 10ю скорее всего разрядами (вряд ли с 12), я бы на их месте повесил их на 0..9 и 16..25 биты 32хразрядного GPIF интерфейса, а остальное бы не тащил за ненадобностью.
soldat_shveyk
Jan 16 2014, 05:01
А вариант на PCI/PCIe рассматривается?
Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.
Цитата(soldat_shveyk @ Jan 16 2014, 11:01)
А вариант на PCI/PCIe рассматривается?
Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.
слишком жирно, изначально вопрос был как сделать проще.
У нас достижение 45 Мбайт/сек на FX2LP (CY68013A), это, похоже, близко к реальному пределу. Тут очень сильно зависит от хоста. Причём, "современность" хоста мало влияет на прирост скорости. Например, у меня на старом Атлон64 качает 45 мегабайт в секунду, а на более новом четырёхядерном Феноме скорость порядка 38-39 Мбайт/сек. Плотно не выясняли, почему так, но, вроде, это зависит не от крутизны проца и материнки, а от того, что там за USB Host стоит - не факт, что в более современном компе стоит более быстрый USB Host.
В общем, хочу сказать, что 40 мегабайт в секунду - это уже близко к пределу, тут влияние хоста значительно. Если будете идти по этому пути, то имейте это в виду. Если 16-17 Мслов/сек, то есть 32-34 МБайта/сек, то тут думаю, всё значительно легче. Даже мой "медленный" Феном спокойно 32 мегабайта сосёт через дырку в передней панели (а через неё помедленее, чем через расположенные непосредственно на материнке).
Да, и следует отметить, что хостовая программа должна быть написана грамотно и аккуратно - никаких ожиданий, процессы запроса данных и их приём получаются полностью асинхронными, всё работает по событиям. Иначе успеха не достичь.
Цитата(dxp @ Jan 16 2014, 13:51)
У нас достижение 45 Мбайт/сек на FX2LP (CY68013A)
драйвера родные от кипариса или свои?
QUOTE (_pv @ Jan 16 2014, 15:16)
драйвера родные от кипариса или свои?
да, драйвер кипарисный. Ещё программист пробовал, вроде, libusb, по скорости, сказал, не уступают (был отдалённый план сделать программу кроссплатформенной - под линухом чтоб тоже жила). Но поскольку время поджимало, не было возможности экспериментировать и ответственность была высока, взяли более обкатанный вариант - от производителя.
VasiaMVR
Feb 13 2014, 08:59
Тоже выжимали максимум из 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
вот еще бы подобные цифры про FT232H узнать.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.