Это сводится к вопросу о пропускной способности и задержке. Для простой системы, давайте предположим, что один зонд с полосой пропускания 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-кратная частота дискретизации считается минимальным отсечением для полосы пропускания. Так что если у вас есть частота дискретизации 1GS / s, которая едва ли дает вам полосу пропускания 100 МГц. Вы не можете получить больше - прямоугольная волна 200 МГц будет выглядеть как синусоида 200 МГц. Это отстой. Это глупо - это далеко не на профессиональном уровне.
Ваш другой набор очков:
- $ 200? Как вы рисуете? Что такое список запчастей?
- Хорошие возможности для чтения высокоскоростных сигналов не стоят тысяч долларов. Они стоят, может быть, тысячу долларов. 100 МГц - это детская игра в области прицелов, и ваша идея не будет соответствовать ни этому эталону, ни прицелу в 1000 долларов
- Да, от того, как вы это описали, это было бы очень ограниченно. Технические аспекты даже тех немногих требований, которые у вас есть, означают очень ограниченное устройство.
- Это было бы не так полезно, как прицел за 1100 долларов, который я купил с логическим анализатором и аналоговой полосой пропускания 60 МГц. Я предпочел бы заплатить за мое испытательное оборудование, которое крутится вокруг с намеренно ограниченными детскими игрушками.
Вы живете и умираете на своем испытательном оборудовании как инженер. Если вы не уверены, что можете в это поверить, вы теряете время. Учитывая недостаток опыта, который вы продемонстрировали в отношении высокоскоростной связи, обработки сигналов и мощности встроенной обработки (в ПЛИС или микроконтроллерах), я бы не стал настаивать на том, что вы сами разрабатываете его, и никто другой, кто ответил, ничего кроме двойственного.
Если бы существовал более точный набор требований, удовлетворяющих реальную потребность в сообществе, которое не обслуживалось, я мог бы быть технически осуществимым, и я был бы на борту. Но ваши смутные требования не кажутся исследованными. Вам нужно сделать обзор доступных вариантов для любителей - какие USB-приёмники и отдельные устройства используют люди, каковы их сильные и слабые стороны, и определить, не заполнены ли ниши. В противном случае это просто фантазия.