|
чем проще загнать в ПК поток данных 20МГц х 16бит? |
|
|
|
Jan 15 2014, 14:46
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
плюс в обратную сторону надо неспешно дрыгать десятком ног.
CY7C68013, вроде самое оно, но когда пару лет назад приходилось сталкиваться с ним, возникали какие-то грабли с родными кипарисовыми драйверами (вероятно просто руки кривые)
FT2(2)32H + CPLD. по скорости 40МБ/с и на CY7C68013 впритык, а тут вроде еще меньше получится, зато с драйверами получше.
AT32UC3A / SAM3X(A) / какой-нибудь другой cortex-M c HSUSB. через GPIO и DMA, наверное, сможет параллельный поток 20МГц захватить, но опять же свои драйвера для ПК писать не хотелось бы, хотя это может быть и не так страшно, не знаю.
еще езернет как сам интерфейс красивее, даже и fast ethernetом, наверное, можно было бы обойтись поставив небольшой буфер, всего данных за раз не сильно больше мегабайта прилетает а в среднем в 10МБ/с пожалуй влезет, но реализовывать сетевой стэк, пусть даже только до UDP в fpga тоже не радует, то есть быстро самому написать не получится хотя и интересно. взять готорый lwip/uip с ниосом по скорости не знаю что получится.
как быть?
|
|
|
|
|
Jan 15 2014, 18:49
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(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.
|
|
|
|
|
Jan 15 2014, 19:23
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(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 там на отдельный разъём вывести забыли
|
|
|
|
|
Jan 16 2014, 07:51
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
У нас достижение 45 Мбайт/сек на FX2LP (CY68013A), это, похоже, близко к реальному пределу. Тут очень сильно зависит от хоста. Причём, "современность" хоста мало влияет на прирост скорости. Например, у меня на старом Атлон64 качает 45 мегабайт в секунду, а на более новом четырёхядерном Феноме скорость порядка 38-39 Мбайт/сек. Плотно не выясняли, почему так, но, вроде, это зависит не от крутизны проца и материнки, а от того, что там за USB Host стоит - не факт, что в более современном компе стоит более быстрый USB Host.
В общем, хочу сказать, что 40 мегабайт в секунду - это уже близко к пределу, тут влияние хоста значительно. Если будете идти по этому пути, то имейте это в виду. Если 16-17 Мслов/сек, то есть 32-34 МБайта/сек, то тут думаю, всё значительно легче. Даже мой "медленный" Феном спокойно 32 мегабайта сосёт через дырку в передней панели (а через неё помедленее, чем через расположенные непосредственно на материнке).
Да, и следует отметить, что хостовая программа должна быть написана грамотно и аккуратно - никаких ожиданий, процессы запроса данных и их приём получаются полностью асинхронными, всё работает по событиям. Иначе успеха не достичь.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jan 16 2014, 10:20
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (_pv @ Jan 16 2014, 15:16)  драйвера родные от кипариса или свои? да, драйвер кипарисный. Ещё программист пробовал, вроде, libusb, по скорости, сказал, не уступают (был отдалённый план сделать программу кроссплатформенной - под линухом чтоб тоже жила). Но поскольку время поджимало, не было возможности экспериментировать и ответственность была высока, взяли более обкатанный вариант - от производителя.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Feb 13 2014, 08:59
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 2-12-07
Из: Ростов-на-Дону
Пользователь №: 32 893

|
Тоже выжимали максимум из 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 - Feb 13 2014, 09:21
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|