Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: чем проще загнать в ПК поток данных 20МГц х 16бит?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
_pv
плюс в обратную сторону надо неспешно дрыгать десятком ног.

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
Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.
_pv
Цитата(Alex11 @ Jan 15 2014, 22:45) *
Что-то Вы тут странное пишете. 20 МГц*16 бит = 320 Мбит/сек. Это близко к теоретическому пределу USB HS и реализуется с трудом, особенно под windows. Из разумного видится GigaEthernet.

ну если вместо 20МГц вдруг окажется возможным только 15-17 не так уж страшно, хотя цифру в 45МБайт/с как реально выжатую из CY7C68013 где-то встречал.
то что GigEthernet разумнее не спорю, но сложность реализации по сравнению с готовым мостом в USB несколько огорчает. если поделитесь ссылками на реализацию чего-нибудь похожего через ethernet буду признателен.
nios + lwip?
aaarrr
Цитата(_pv @ Jan 15 2014, 18:46) *
CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)

По-моему, самое оно. Сколько лет уже "лошадке", а заменить в общем-то и нечем.
Konst_777
Цитата(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.
_pv
Цитата(Konst_777 @ Jan 16 2014, 01:49) *
А как же FX3?

если 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 там на отдельный разъём вывести забыли sm.gif
Konst_777
Цитата(_pv @ Jan 15 2014, 23:23) *
...если про leapmotion, то GPIF там на отдельный разъём вывести забыли sm.gif

Да ладно, а что же тогда они вывели на 44-выводный разъем?
aaarrr
Цитата(Konst_777 @ Jan 15 2014, 22:49) *
А как же FX3?

У него свои тараканы. Скажем, скоростной поток без внешней буферизации протащить не получится из-за задержек на переключении внутренних буферов.
Если достаточно FX2, то лучше выбрать именно его.
_pv
Цитата(Konst_777 @ Jan 16 2014, 02:34) *
Да ладно, а что же тогда они вывели на 44-выводный разъем?

распиновкой не поделитесь? wink.gif
тем более что на нём висят две камеры с 10ю скорее всего разрядами (вряд ли с 12), я бы на их месте повесил их на 0..9 и 16..25 биты 32хразрядного GPIF интерфейса, а остальное бы не тащил за ненадобностью.
soldat_shveyk
А вариант на PCI/PCIe рассматривается?
Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.
_pv
Цитата(soldat_shveyk @ Jan 16 2014, 11:01) *
А вариант на PCI/PCIe рассматривается?
Требуемая скорость введется без сомнений, да и с буферизацией проблем нет - памяти в ПК много.

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

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

Да, и следует отметить, что хостовая программа должна быть написана грамотно и аккуратно - никаких ожиданий, процессы запроса данных и их приём получаются полностью асинхронными, всё работает по событиям. Иначе успеха не достичь.
_pv
Цитата(dxp @ Jan 16 2014, 13:51) *
У нас достижение 45 Мбайт/сек на FX2LP (CY68013A)

драйвера родные от кипариса или свои?
dxp
QUOTE (_pv @ Jan 16 2014, 15:16) *
драйвера родные от кипариса или свои?

да, драйвер кипарисный. Ещё программист пробовал, вроде, libusb, по скорости, сказал, не уступают (был отдалённый план сделать программу кроссплатформенной - под линухом чтоб тоже жила). Но поскольку время поджимало, не было возможности экспериментировать и ответственность была высока, взяли более обкатанный вариант - от производителя.
VasiaMVR
Тоже выжимали максимум из 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
_pv
вот еще бы подобные цифры про FT232H узнать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.