elenbert
@elenbert

Как организовать передачу данных с ADC через Ethernet PHY?

Добрый день.

Разрабатываю новое устройство - один научный прибор, задача весьма новая для меня.
В устройстве мне требуется оцифровывать данные и передавать дальше на хранение и анализ.
Использую два восьмибитных AЦП со скоростью до 80 MSPS.
Изначальная задумка была передавать данные с АЦП на контроллер CY7C68013A, работающий как скоростной FIFO-USB. Проблема в том, что оборудование расположено на улице, а основные компьютеры - в здании, на некотором удалении. Соответственно нужно организовывать связь по Ethernet или даже оптике.
Это требует наличия дополнительного компьютера на месте, принимающего данные из USB (приборов на самом деле два, так что трафик удваивается) и посылающего их дальше по сети. Очевидно что миниатюрное решение, вроде Raspberry PI) тут не справится, а полноценный компьютер слишком усложняет и удорожает систему.
Исходя из этого хотелось бы реализовать прямой "мост" между параллельной шиной данных и ethernet phy чипом, без заметных просадок по скорости.
Знаю что делают подобные решения на FPGA, но в этой области я боюсь совсем не силен, никогда не работал с программируемой логикой и языки вроде VHDL не знаю. Если делать так - потребуется дополнительное время на приобретение демоплат, изучение и разработку. Итоговая цена микросхем тоже несколько пугает.

Возможно ли в данном случае применение достаточно мощного ARM микроконтроллера (например из топовых stm32), справится ли чип с быстрым копированием данных из АЦП в ethernet phy?
Возможно есть какие-то готовые (и самое главное не очень сложно добываемые) решения?

Транслировать по сети думаю с помощью UDP, для уменьшения накладных расходов.

Спасибо.
  • Вопрос задан
  • 852 просмотра
Пригласить эксперта
Ответы на вопрос 2
@iv_k
Возможно ли в данном случае применение достаточно мощного ARM микроконтроллера


Смотрите тогда в сторону DSP или DSP+ARM soc. главное чтобы можно было с интерфейса ADC по DMA гнать прямо в 1gb езернет.
Ответ написан
@Emil2014
А что-нибудь справится? 80 Мвыб/сек * (2 * 8) бит = 1280 Мбит/сек в чистых данных!
Я перенес часть алгоритма в ПЛИС рядом с АЦП. Передаю по RS485 на 1Мбит/сек.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы