Arduino DUE, сбор и хранение данных
- Войдите на сайт для отправки комментариев
Пт, 09/03/2018 - 13:56
Добрый день,
требуется организовать опрос аналогового порта с частотой 50 МГц и сохранение результатов. Время опроса от 2 до 20 мс. То есть количество значений, которые надо сохранить от 100 тыс до 1 млн.
Подскажите, что лучше взять для реализации (пока смотрел Arduino Due или лучше ориентироваться на более производительные STM32F4?) и как можно организовать хранение и передачу данных.
Спасибо.
Посмотрите страницу 1403 даташита. на SAM3X/A.
Кстати, в даташите STM32F4? даже так далеко лезть не надо, там всё, что Вам нужно есть прямо на первой странице.
allwave, заходите лет через 20-30, что-нибудь подберём :-)
ЕвгенийП, спасибо за ответ. То есть со встроенным АЦП предельное быстродействие у Due 1 МГц, а у STM - 2.4 (7.2 если 3 АЦП с перемежением). Правильно ли я понимаю, что применение внешнего АЦП позволит это ограничение преодолеть?
ЕвгенийП, спасибо за ответ. То есть со встроенным АЦП предельное быстродействие у Due 1 МГц, а у STM - 2.4 (7.2 если 3 АЦП с перемежением). Правильно ли я понимаю, что применение внешнего АЦП позволит это ограничение преодолеть?
Ну сами подумайте. Если существуют цифровые устройства отцифровывающие сигнал с частотами выше 50 Мгц, значит это возможно. Иными словами однозначно есть АЦП работающие на таких частотах. Успеет ли ардуино обработать такой поток данных.... Вот о чем нужно задуматься. Но тогда озвучьте, что вы собираетесь делать с отцифроваными данными?
brokly,
да, видимо, вопрос я сформулировал неточно.
Тогда правильно ли я понял, что для определения максимального быстродействия при оцифровке надо учесть количество тактов, требуемых для работы АЦП, а также на передачу данных и т.д., и в среднем это будет около 20 тактов. В результате, с использованием внешнего АЦП мы можем получить быстродействие выше, чем у применяемых в данных платформах, но не выше, чем частота процессора деленная на требуемое количество тактов? В данной задаче полученные данные требуется сохранить (объем данных до 1 млн. отсчетов) без предварительной обработки. Может быть подскажете какое решение может быть для требуемой частоты опроса 50 МГц из доступных?
allwave, Возможно какие-то топовые лабораторные осциллографы уже могут это. Но стоят они под мульён рублей. Не знаю, насколько это для вас доступно =)
Может быть подскажете какое решение может быть для требуемой частоты опроса 50 МГц из доступных?
Ну, есть много решений, Вы же не сказали ничего, кроме частоты. Ну, вот, например ADC34J22IRGZT. 12 bit, счетверённый, однополярное питание. Стоимость $40 если прямо у производителя брать 1-9 штук. Также 12 бит есть LTC1743.
Если хватит 8 бит, то есть AD9283.
А вообще, наберите в гугле-то, чего ж я за Вас это делаю-то?
Только, знаете, Вы уверены, что Вам это действительно нужно? Просто, характер Ваших вопросов заставляет предположить, что даже если у Вас и будет нужный АЦП и нужный процессор, со схемой такой частотности Вы не справитесь. Вот я бы и браться не стал - или купил бы готовое, или искал бы как обойтись другим путём.
да че вы так возбудились то ? очередной спутник на ардуино с гпрс+вайфай+лан+жсм+мост.
dimax, ну "мульён" оборудование с такими характеристиками не стоит. готовое решение в районе 50000 руб. нашел.
К сожалению, пока такую сумму не выделят. Отсюда и возникла мысль воспользоваться более доступными средствами.
Но, видимо, действительно, промышленная версия окажется технико-экономически эффективнее, чем разработка.
Всем спасибо.
allwave, а что за готовое решение, ссылочкой поделитесь? Просто любопытно :)
dimax, http://signal.ru/catalog/vyisokochastotnyie-aczp/usb/la-n4USB
allwave, бегло посмотрел - не заметил что-б было сказано, что устройство может непрерывно записывать со скоростью 50млн. семплов/сек в свою память. На первый взгляд можеть показаться, что это само собой разумеющееся -но нет, это отдельный параметр.
dimax, может, я чего-то не понимаю, но мне казалось, что непрерывной записи и не требуется. Требуется однократноая запись в буфер с последующими вычитыванием из него через доступный интерфейс.
andriano, под непрерывно я имел ввиду до заполнения памяти :) Не знаю, как организовано это в том девайсе по ссылке, но в осциллографах в режиме записи есть сильные ограничения на скорость записи. Поэтому обычно этот параметр стараются не афишировать, если он не слишком выдающийся. А в крутых пишут сразу. Например в этом Род и Шварц скорость 1 мегасемпл/сек, что в 50 раз медленнее чем нужно ТС, а его цена уже под 3 мульона.. Конечно узкоспециализированная железка будет стоить меньше, даже по ссылке ТС есть какой-то прибор с шиной PCI-E, он возможно потянет, но опять же прямыми словами скорость там не написана, а значит возможны неприятные нюансы.
Можно использовать FPGA - программируемые логические матрицы. Их много разных, быстродействие высокое, есть встроеная память, но явно меньше чем надо, сотня мегагерц реально. Програмируются языками высокого уровня. На Алиэкспресе есть много разных.
andriano, под непрерывно я имел ввиду до заполнения памяти :) Не знаю, как организовано это в том девайсе по ссылке, но в осциллографах в режиме записи есть сильные ограничения на скорость записи. Поэтому обычно этот параметр стараются не афишировать, если он не слишком выдающийся. А в крутых пишут сразу. Например в этом Род и Шварц скорость 1 мегасемпл/сек, что в 50 раз медленнее чем нужно ТС, а его цена уже под 3 мульона.. Конечно узкоспециализированная железка будет стоить меньше, даже по ссылке ТС есть какой-то прибор с шиной PCI-E, он возможно потянет, но опять же прямыми словами скорость там не написана, а значит возможны неприятные нюансы.
А где Вы увидели 1 мегасэмпл?
Написано "частота дискретизации 10ГГц". И дальше в таблицах 1000000 сигналов/с в правой графе. А в средней - в отсчетах/с 10^9 и 10^3. Т.е. отсчет/с не равен сигнал/с.
andriano, я говорил о второй строчке текста "Высокая скорость регистрации в 1 млн. сигналов/с дает значительное преимущество в скорости поиска ошибок. "
Честно говоря я не углублялся в детали всей этой кухни за ненадобностью. Так что не могу компетентно рассуждать. Факт лишь в том, что в режиме записи в память есть сильные органичения на скорость оной. У моего осциллографа например полоса 300МГц, скорость 2Gs/sec, казалось бы дофига, но нет, записывать в память он может лишь 50000 измерений/сек. В настройках минимальная пауза между записями 100nS. Выгрузить из памяти можно например в формате csv, где через запятую будет номер фрейма и вольтаж.
Нифига не понял. :(
Но вопрос остался: где же он хранит измеренное, как не а памяти? Вроде, больше негде.
Вроде, больше негде.
в мешках. О_О
Узнал у производителя про возможнсть оборудования.
Цитата: "У ЛА-н4USB встроенное ОЗУ 1Мбайт на каждый канал. С частотой дискретизации 50 МГц Вы сможете оцифровывать данные по двум каналам в течении 20 мс, затем запись прекратится и данные будут передаваться в компьютер по интерфейсу USB."
Так что для решения данной задачи - подходит. Но, как я уже понял, сделать подобное устройство с сопоставимой стоимостью даже профессионалу неподъемная задача.
А в реальном времени ни этот аппарат, ни вышеупомянутый осциллограф сливать данные с такой скоростью (50 МSPS), как выяснилось, не могут.
Всех благодарю за обсуждение.