Возможен ли сумасшедший доморощенный осциллограф 500 МГц 1 Гвыб/с?

Я читал USB Scope probe — запрос на комментарии и идеи , и это заставило меня задуматься. Чего бы я действительно хотел, так это осциллографа с очень высокими характеристиками, который стоил бы около 10 000 долларов. Наверняка многие другие люди тоже хотели бы такой. И, конечно же, с опытом, доступным на этом сайте, должно быть возможно разработать и открыть исходный код.

Вот моя идея:

  • Это будет ручной зонд с выходом USB-кабеля.
  • Работает от батареи, чтобы изолировать его от питания USB.
  • Входной каскад представляет собой высокоскоростной операционный усилитель, такой как THS3201DBVT ?
  • АЦП — это что-то вроде ASD5010 с пропускной способностью 1 Гс/с и входной полосой пропускания 650 МГц.
  • FPGA для обработки выходящих 32-битных данных, запуска и упаковки их в USB.
  • Программное обеспечение с открытым исходным кодом для работы на ПК.

Это дурацкая затея? Что мне не хватает?

Добавлено, более подробная информация в ответ на ответы:

  • Этот прицел не сможет конкурировать с дорогими модными прицелами. Основная цель состоит в том, чтобы иметь что-то, что позволило бы исследовать высокоскоростные сигналы, и при этом стоило бы кому-то менее 200 долларов, чтобы сделать это самостоятельно.
  • Пропускная способность USB: это не аналоговый прицел и не причудливый LeCroy . Однако USB вполне способен передавать 2k сэмплов на частоте 60 Гц. Это по-прежнему делает его чрезвычайно полезным, даже несмотря на то, что он не может фиксировать переходные события между этими кадрами.
  • Четкий отзывчивый дисплей. Ну монитор компа конечно четкий. Лучше, чем почти все прицелы на рынке. Так что ясность и размер не проблема. Отзывчивый? Пока экран может обновляться с частотой 60 Гц, я думаю, что это довольно отзывчиво.
  • Запуск: я представлял себе простой запуск уровня на устройстве. Опять же, он не сможет конкурировать с модными прицелами, но помните: это устройство должно стоить 200 долларов.
  • Он не должен иметь пропускную способность 1 ГГц. Где я это сказал? Но разве у него может быть полоса пропускания более 100 МГц?

Забрать домой очки:

  • Это устройство за 200 долларов.
  • Основная цель устройства — дать возможность видеть высокоскоростные сигналы, не тратя 10000 долларов.
  • Было бы много вещей, которые он был бы не в состоянии сделать.
  • Конечно, что-то подобное было бы довольно полезно для людей здесь.
  • Конечно, с опытом, доступным на этом сайте, мы могли бы это сделать?
* Четкий, отзывчивый дисплей * Схема триггера, поддерживающая все причудливые режимы триггера, доступные в новых прицелах * Память
Проблема в том, что при работе с прибором вам нужно как можно больше ДОВЕРЯТЬ тому, что вы читаете на экране; иначе это порождает только путаницу
Я должен согласиться с clabacchio, аналоговым прицелом My Conar модели 255 (твердотельный), я не доверяю показаниям напряжения или времени/см, и это привело только к большей путанице и ударной отладке с большим тяжелым объектом. Но мне нравится идея построить свой собственный.
http://www.osciprime.com/ Эхх 8 МГц теоретически? Веселье досталось кому-то другому. Я люблю читать «мышление», особенно AngryEE. Хотя у osciprime есть несколько хороших идей, в основном это сетевая бета-фаза их / его программного обеспечения «по сетевым данным», я мог бы сделать одну для развлечения. Спасибо, - Дэнни К.
Легко сказать, что это не сработает , и легко найти 100 причин , по которым это не сработает. Что сложно, так это найти способ, как это будет работать, даже если это означает изменение масштаба (проекта, без каламбура) и / или функций, но я понимаю, к чему стремится Rocketmagnet. что касается USB, AngryEE (чье имя подходит, кстати) имеет смысл. Однако eSATA теоретически дает 6 Гбит/с, а USB 3.0 — 5,0 Гбит/с. Это лучшее, что у нас есть сейчас, с подключением PCIx, которое, безусловно, даст нам необходимую пропускную способность (если это достаточно хорошо для видеокарты, я думаю, что это подойдет, лол).
Кроме того, этот вопрос может вырасти до безумно длинного. Если люди настроены серьезно, мы могли бы использовать список рассылки для большего обсуждения или что-то более постоянное, чем чат. Я не опытный EE, но у меня есть опыт, а также опыт кодирования на различных платформах, поэтому я готов помочь.

Ответы (5)

Это сводится к вопросу о пропускной способности и задержке. Для простой системы предположим один датчик с полосой пропускания 100 МГц, частотой дискретизации 1 Гвыб/с и 10-битным АЦП (у меня был неудачный опыт работы с 8-битными осциллографами).

Я хочу, чтобы на ПК отображалось изображение в реальном времени с минимальным окном выборки, скажем, 10 нс — 1 цикл синусоидальной волны 100 МГц и максимальным окном (я буду щедр к вам в этом) полсекунды. Другими словами, минимальное значение времени будет примерно 1 нс/дел, а максимальное — 0,05 с/дел. Я также хочу несколько режимов напряжения - диапазон от 100 мВ до 20 В, скажем.

О каких скоростях передачи данных идет речь?

1 Гбит/с * 10 бит/выборка = 10 Гбит/с

Это не скорости USB. Отнюдь не. И я даже не принял во внимание накладные расходы. Во-первых, у вас просто нет пропускной способности. И дело не только в пропускной способности. Для вашего отображения в реальном времени вы должны быть последовательными. Вам нужно передавать 100 бит на прикладной уровень каждые 10 наносекунд. Такой согласованности не может быть с USB. Он не предназначен для обслуживания одного устройства с экстравагантными требованиями — он разработан как шина. И вы не можете контролировать, когда вы владеете шиной — устройства просто ведомые. Если хост позволяет другому устройству говорить, когда вам нужно отправить данные, ваши данные будут потеряны.

Возможно, вы возмущаетесь — зачем передавать данные в реальном времени на компьютер, когда «реальное время» для человека составляет 60 Гц? Если все, что вам нужно сделать, это обновить дисплей, вам, конечно, не нужно столько данных. За исключением вас — ваш дисплей представляет собой некую линейную комбинацию всех собранных вами образцов. Усредненная, аппроксимированная методом наименьших квадратов, интерполяция кубическим сплайном - это не имеет значения. Чтобы сделать красивое изображение, а не просто набор точек, вам понадобится большая часть всех этих данных, и вам нужно будет их постобработать. Любое срабатывание? Расчеты должны выполняться на хосте — на прикладном уровне. Независимо от того, как вы его нарезаете, для отображения в реальном времени со скоростью 1 Гвыб/с и любой ценой точности вам придется передавать на порядки больше данных, чем может обработать USB, и вы должны делать это более надежно, чем вы.

Каковы способы обойти это? Не делайте отображение в реальном времени. Некоторые осциллографы USB предлагают только триггерные режимы. Триггер обрабатывается на устройстве, и когда триггер найден, данные собираются в буфере. Когда буфер заполняется, USB-прицел медленно передает его приложению, а затем приложение отображает его. Этого достаточно для большого количества областей применения, но это не в реальном времени. И перевод - это тоже требует времени. Это неудобно. И обычно водители хреновые. Вы можете сказать, что у меня был плохой опыт.

Я всегда задавался вопросом, почему Firewire не использовался для прицелов. Это позволяет избежать некоторых головных болей USB. Это одноранговая сеть, предлагает изохронные (согласованные по времени) режимы и имеет относительно высокую пропускную способность. Возможно, вы сможете сделать 10-мегагерцовый прицел в реальном времени или около того.

Чтобы решить ваши вопросы после редактирования:

  • Удобство использования прицела значительно возрастает с ценой. Когда вы совершаете переход от USB-прицела за 200 долларов даже к отдельному прицелу за 500 долларов, вы получаете огромное увеличение возможностей и базовой функциональности. Зачем тратить всего 200 долларов, если за немного больше можно получить настоящий прицел? Теперь, когда Китай открыл шлюзы дешевых, эффективных прицелов, нет особых причин хотеть сэкономить 300 долларов, которые потом просто разочаруют вас. «Навороченные» прицелы с такими характеристиками сегодня стоят дешево.

  • Да, ограничение передачи данных только для предоставления согласованных данных с частотой около 60 Гц будет проще с USB, но это все же не то, что вы хотите делать. Не забывайте о своих классах DSP - только захват определенных данных из потока равнозначен прореживанию. Когда вы прореживаете, вы должны добавить фильтры сглаживания. Когда вы это делаете, вы теряете пропускную способность. Это делает ваш прицел менее полезным - он ограничит вашу пропускную способность на дисплее в реальном времени (и только для реального времени - триггерные режимы будут в порядке) намного меньше, чем пропускная способность вашего аналогового внешнего интерфейса. Управление аспектами обработки сигналов осциллографа — сложная задача.

  • Четкий отзывчивый дисплей? ПК? Не последовательно. Независимо от того, как вы это делаете, вам необходимо буферизовать данные. Как я уже говорил, USB не гарантирует, когда ваши данные будут доставлены. Скажу по-другому: USB не предназначен для жесткой передачи данных в реальном времени. Конечно, для достаточно небольших объемов данных с большими интервалами вы можете получить хорошую производительность, но не стабильную производительность. Вы будете использовать буферизацию и время от времени будете пропускать своевременную передачу буфера. Затем ваш дисплей пропускает, данные устаревают и т. д. и т. д. Четкие и отзывчивые дисплеи в реальном времени требуют жестких ссылок на данные в реальном времени, и точка.

  • Простой запуск — опять же, мы возвращаемся к стоимости, сложности и скорости отклика. Чтобы выполнять запуск на устройстве для обнаружения переходных процессов, ваше устройство не может быть просто тупым каналом данных, который безответственно передает образцы через USB. Вы должны буферизовать, буферизовать, буферизовать сэмплы на устройствепока вы не увидите свое условие триггера. Это означает, что вам нужна память и интеллект на вашем устройстве — либо большой FPGA, либо большой микроконтроллер. Это увеличивает размер и пространство. Если вы используете FPGA, вы должны сбалансировать количество логики запуска с вашей потребностью в большом количестве оперативной памяти для буферного пространства. Таким образом, ваш буфер меньше, чем вам хотелось бы. Это означает, что вы получаете незначительное количество данных вокруг вашей триггерной точки. Разве что внешнюю память добавить - тогда можно и больше. Однако это увеличивает размер и стоимость вашего устройства — это, конечно, не будет просто датчик с подключенным к нему USB-кабелем.

  • Вам повезет, если вы получите полосу пропускания 100 МГц — обычно 10-кратная частота дискретизации считается минимальным ограничением пропускной способности. Так что, если у вас частота дискретизации 1 Гвыб/с, едва ли вы получите полосу пропускания 100 МГц. Вы не можете получить больше - прямоугольная волна 200 МГц будет выглядеть как синусоида 200 МГц. Это отстой. Это глупо - это далеко не профессиональный уровень.

Ваш другой набор очков:

  • 200 долларов? Как вы понимаете? Какой список запчастей?
  • Хорошие прицелы для считывания высокоскоростных сигналов не стоят тысяч долларов. Они стоят, может быть, тысячу долларов. 100 МГц — это детская игра в области прицела, и ваша идея даже не будет соответствовать этому критерию, а также прицелу за 1000 долларов.
  • Да, судя по тому, как вы это описываете, это действительно очень ограничено. Технические аспекты даже тех немногих требований, которые у вас есть, означают очень ограниченное устройство.
  • Это было бы далеко не так полезно, как осциллограф за 1100 долларов, который я купил с логическим анализатором и аналоговой полосой пропускания 60 МГц. Я лучше заплачу за свое тестовое оборудование, которое возится с преднамеренно ограниченными детскими игрушками.

Вы живете и умираете своим испытательным оборудованием как инженер. Если вы не уверены, что можете доверять этому, вы тратите свое время. Учитывая отсутствие опыта, который вы продемонстрировали в области высокоскоростной связи, обработки сигналов и мощности встроенной обработки (в FPGA или микроконтроллерах), я бы не стал держать пари, что вы сами разработаете это, и никто другой, кто ответил, ничего кроме амбивалентного.

Если бы существовал более целенаправленный набор требований, отвечающих реальным потребностям сообщества, которые не были удовлетворены, и я мог бы видеть их технически выполнимыми, я был бы на борту. Но ваши расплывчатые требования не кажутся изученными. Вам нужно провести обзор доступных вариантов для любителей — какие USB-прицелы и автономные устройства используют люди, каковы их сильные и слабые стороны, и определить, не заполнены ли какие-либо ниши. В противном случае это просто фантазии.

USB также имеет изохронную передачу. Но да, вы будете ограничены в лучшем случае около 400 МБ/с при сверхскоростном соединении USB 3.0, что составляет около 320 млн отсчетов/с при 10 бит/сэмпл, при условии отсутствия сжатия, запуска и одного канала. USB 3.1 удваивает этот предел.
Извините, но я не верю вашим аргументам. Даже USB 2.0 предлагает достаточную пропускную способность и достаточно низкую задержку для плавного отображения (посмотрите веб-камеры USB), а буферизация достаточно длинного сигнала внутри области связана с прореживанием. Я знаю, что это ответ из 2012 года, и USB-прицелы тогда были отстойными, но причина, по которой они были отстойными, заключалась не в USB. Основная причина заключалась в том, что они не считались профессиональными, поэтому они должны были быть дешевыми и в результате не были построены профессионально.
Части этого ответа устарели (USB 3.1 продвигает 10 Гбит / с, хотя, конечно, это не учитывает накладные расходы), а некоторые его части никогда не были действительными. Вы абсолютно можете понижать частоту дискретизации и запускать на периферии способами, которые не снижают полезности, если вы готовы вложить в них достаточную вычислительную мощность. Это непросто и, вероятно, не под силу одному случайному человеку, но против этого нет законов физики.
Как насчет того, чтобы просто сосредоточиться на Thunderbolt 3 (до 40 Гбит/с)? Даже Thunderbolt 2 может поддерживать скорость до 20 Гбит/с. Большинство старых компьютеров Mac (2012 года и новее?) имеют порты Thunderbolt 2. Многие новые ПК имеют порт Thunderbolt 3. Думал, может быть, кодировать/поддерживать драйверы через Thunderbolt сложнее, я не знаю.
Я не понимаю этого ответа. Чтобы иметь отображение в реальном времени, вам нужно только иметь возможность отправлять достаточное количество пикселей. Полоса пропускания для HDTV 1920x1080p при частоте 120 Гц и 10-битных данных составляет около 2,5 Гбит/с. Легко выполнимо для USB3.0. Всю обработку вы делаете на самом прицеле. Триггеры, которые вы передаете обратно в область видимости.

Вы бы не хотели, чтобы он был в формате ручного зонда, так как одноканальный осциллограф не очень полезен. Дополнительные затраты на 2 канала (даже если вы мультиплексируете АЦП) составляют небольшой процент дополнительных затрат, но огромное увеличение полезности.

Если вы не хотите потреблять более 500 мА, нет причин использовать батарею, поскольку у вас может быть изолированный преобразователь постоянного тока. Однако получение высокой пропускной способности через изолирующий барьер нетривиально.

Изолированный USB: Analog.com/en/press-release/…

Ну, здесь есть пара проблем. Если мы возьмем в качестве эталона аналоговый осциллограф с частотой 1 ГГц (например, хороший Tektronix), то предлагаемый осциллограф пострадает следующим образом:

1) ASD5010 — 8-битный преобразователь. 8 бит недостаточно, чтобы конкурировать с хорошим аналоговым прицелом.

2) Не путайте частоту дискретизации с аналоговой пропускной способностью. Для выбранного вами чипа эквивалентная аналоговая полоса пропускания, вероятно, будет намного ближе к 100 МГц, чем к 1 ГГц.

Это не означает, что невозможно построить такой прицел, очевидно, что его можно купить в коммерческих целях. Достичь полосы пропускания 1 ГГц непросто, и потребуются специальные инженерные решения и более качественные детали.

8 бит на самом деле довольно типичны для цифрового осциллографа, и, похоже, это не ограничивает возможности Agilent, Tektronix и т. д. конкурировать с любыми предполагаемыми аналоговыми осциллографами, которые кто-то мог подумать выпустить на рынок.
Кроме того, я не знаком ни с одним аналоговым прицелом на 1 ГГц. Я не удивлюсь, если они будут построены, может быть, для очень специальных приложений (ученые-ядерщики или что-то в этом роде), но я ожидаю, что это будет очень редкий зверь, которого можно найти в дикой природе. Примерно до 1990 года частота 1 ГГц была очень редкой в ​​цифровой электронике (может быть, в суперкомпьютерах Cray и тому подобном); примерно после 1990 года почти каждый новый дизайн прицела от ведущих поставщиков был цифровым.
Одним из имеющихся в продаже аналоговых осциллографов с частотой 1 ГГц является Iwatsu TS_81000: testequipmentconnection.com/tecspecs/Iwatsu_TS-81000.PDF .
Хорошо, ваша ссылка привела меня к Tek 7104, аналоговому прицелу с частотой 1 ГГц. Также приятно знать, что я не единственный, кто считает, что аналоговая частота 1 ГГц впечатляет. На одном веб-сайте написано: «Tektronix 7104 — самый быстрый аналоговый осциллограф из когда-либо созданных. Первоначально разработанный в 1970-х годах для Комиссии по атомной энергии США, он имеет полосу пропускания 1 ГГц…» ( readjimwilliams.blogspot.com/2011/08/scope -sunday-4.html ) Так что, по крайней мере, я не был слишком далек от того, чтобы сказать, что аналоговый прицел с частотой 1 ГГц будет редким зверем.
Также в таблице данных для 7104 на testequipmentconnection.com указана прейскурантная цена более 30 тысяч долларов, вероятно, в середине 80-х годов.

8-битные АЦП довольно распространены в осциллографах, однако техника использования АЦП немного отличается. Как я видел внутренности некоторых осциллографов, в общем случае используется 4 микросхемы АЦП, каждая из которых работает с шагом фазы 90 градусов, поэтому вы получаете 4-кратные выборки за один такт, и поэтому частота clk довольно низкая, но пропускная способность данных в приоритете. В любом случае, такой проект выльется в большую трату денег, чем покупка нового прицела :-) Тем не менее, это может быть хорошей практикой для самообучения. OTOH, подумайте об аналоговой стороне прицела. Эта часть чертовски сложна и очень сложна в исполнении.

Это именно то, чем является ASD5010. Это 4 АЦП в одном корпусе. Каждая выборка выполняется на частоте 250 МГц с разностью фаз 90 градусов.
Вопрос не столько в том, насколько это сложно, сколько в том, будет ли полезен такой размах и найдутся ли здесь люди, желающие и способные решить эти проблемы.
Подумайте о том, чего добились эти сообщества в области программного обеспечения. Очень сложно создать операционную систему, но посмотрите, чего они добились!
Не очень сложно создать операционную систему — люди постоянно этим занимаются.
Я могу ошибаться, но я думаю, что вместо использования четырех АЦП в осциллографах чаще используются конвейерные преобразователи, которые имеют несколько каскадов, каждый со схемой выборки и хранения. Первый этап производит выборку входных данных, следующий этап идентифицирует его как один из 32 уровней, следующий вычитает ранее идентифицированный и масштабирует сигнал, а следующий идентифицирует его как один из 32 уровней. Два пятибитных значения, полученные для выборки, затем могут быть помещены в справочную таблицу, чтобы получить 8-битное чтение (5-разрядные АЦП могут быть немного неуклюжими, но справочная таблица это исправляет).
@supercat, чередование выборок из нескольких АЦП также является распространенным методом, особенно для очень высоких скоростей (1 Гвыб/с и выше).

Другие вопросы:

  • защита : точно не хотите, чтобы он сломался при первой ошибочной подаче на вход 20-30 В;

  • калибровка : даже при 8-битной точности вам все равно придется контролировать ошибку в пределах 1/256 = 0,4% в целом; нетривиально со стандартными компонентами;

  • фильтрация шума : он должен быть экранирован и отфильтрован, и этого недостаточно, потому что также FPGA, вероятно, будет генерировать шум, поэтому вам необходимо разделить аналоговую и цифровую области.

Во всяком случае, по поводу USB-подключения, я думаю, что более функциональнее обрабатывать данные внутри, и подключать их непосредственно к дисплею.