Jump to content

    

Быстро и бюджетно оцифровать (от 2МГц и от 16 бит) и затащить непрерывно этот поток в линукс с минимумом 100Мфлопс и 256МБайтами оперативки

Добрый день,

 

собственно сабж, а именно есть аналоговый сигнал, где-то до 1МГц ширины с большим динамическим диапазоном, его желательно оцифровать хотя бы на 16 бит (чтоб охватить динамический диапазон) и непрерывно передавать на линукс борду, в которой будет крутиться алгоритм обработки. Для этого алгоритма надо примерно от 100МФлопсов и от четверти гигабайта оперативной памяти.

 

Есть одно решение - Cyclone 5 SoC в надоборде от терасика и какой-то соответствующий оцифровщик. Скажите, пожалуйста, есть ли какая-то более дешевая альтернатива с покупной бордой (чтоб память самому не разводить).

 

Спасибо!

 

ИИВ

Share this post


Link to post
Share on other sites

откуда там 100МФлопс? 2Мгцх16бит получаем 32МБит, потянет spi с дма. qspi соответственно потянет 4Мгц на 24бита. в линуксовских платах не силен, spi на 32мбит есть практически везде, qspi не уверен. 

Share this post


Link to post
Share on other sites

EVAL-AD7760EDZ  или DC2425A

+ какой-нибудь CY7C68013А или UMFT600A (он правда только fifo и придётся немного логики добавить чтобы в асинхронную шину превратить) или FT232H, но ещё защёлку на шину данных надо будет, чтобы шину до 8 бит уполовинить.

Или любая плата типа stm32discovery чтобы АЦП прочитать и дальше по USB или ethernet отправить, но тогда USB/ethernet самому делать придётся.

Можно конечно и родные платы от AD посмотреть которые ADC -> USB делают, но на них не всегда даже схемы есть, не говоря про описание протоколов общения.

Ну а USB, не смотря на убогость этого интерфейса как такового, уже можно втыкать вообще в любой одноплатный ПК с линуксом.

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

Но всё же дают некие примеры для работы с этими китами из лабвью и при очень большом желании протокол общения можно оттуда выковырять.

Не знаю как сейчас, раньше для китов, вроде ADS1263EVM, довольно простой USBStyx для общения с платой использовался, который выглядит как "файловая система" и без описания разобраться можно было.

Share this post


Link to post
Share on other sites

Спасибо Вам за ответ.

11 hours ago, dac said:

откуда там 100МФлопс?

потому, что в некоторых задачах надо не только одну операцию на одно число делать, а чуть больше. Даже если просто FFT с входящими данными делать надо (хотя бы по 1К блокам), то уже 40 операций на одно входящее число делать надобно.

 

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

Share this post


Link to post
Share on other sites

из CY7C68013А или UMFT600A советую второе или даже FT601

я так понимаю, что речь об единичном лабораторном макете - то есть к альтеровскому разъему прикрутить платку, так как все-равно ПЛИС есть, то в нее и засунуть "управление потоком" и не связываться с программированием цыпресовского шайтан-девайса. там будет перезаклад - не 32Мбит, а 320МБайт можно передать USB3.0, однако

 

upd: я пользовал Cyclone V GX Starter Kit там с одной стороны альтеровский разъем, а с другой штыри 2.5мм - можно втыкать самодельное. но можно наткнуться на пропускную способность со стороны штырей, там еще всякая типа защита от выбросов стоит - гадит на времянку

 

Share this post


Link to post
Share on other sites
16 minutes ago, yes said:

из CY7C68013А или UMFT600A советую второе или даже FT601

А оно под Линуксом живет? Как-то раньше мутно с этим было - описания внутренностей нет, драйверы только под Win.

Share this post


Link to post
Share on other sites

d2xx драйвера не только под вин, https://www.ftdichip.com/Drivers/D2XX.htm 

есть арм и мипс, а вот usb3 пока похоже действительно не запилили ещё.

Но про ft601 я упомянул только потому что у него шина 16ти разрядная и тот же DC2425A можно напрямую подключить без дополнительной логики, хотя там на плате циклон3 стоит и даже AD для него прошивку выложили и исходники на верилоге (видать тяжкое наследство царского режима от линеара осталось, на некоторые другие старые киты, AD драйвера для вин х64 так и не осилили :) ). так вот можно немного подправить и DC2425A подключить umft232h, скорость ТСу не нужна.

Share this post


Link to post
Share on other sites

FFT 2MSPS очень бюджетно. На охват амплитуды 8 или 16 никак не влияет. Как вариант 8bit adc и 10MSPS.

Share this post


Link to post
Share on other sites

Спасибо большое, _pv, и все-все-все, кто советовал!!! Про FTDIшные борды я как-то забыл, а ведь действительно напрасно, там даже с альтерой на борту есть, чтоб сконвертировать любой формат.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now