Embedded HandbookПриложения
Все разделы › V. Отладка и качество
STM32F103 · уровень средний · 34 мин чтения
Открыть в интерактивном справочнике

36е. Осциллограф, часть 3: курсоры, автоизмерения, математика и БПФ

Первые две части — о том, как сигнал попадает в память (36г) и как поймать нужный момент (36д). Эта — о том, как из записи достать число: сколько вольт, сколько микросекунд, какая частота, сколько энергии, что в спектре. Прибор считает быстро и показывает результат с четырьмя знаками, и именно поэтому ему легко поверить. А каждое число посчитано по правилу: где вершина, где основание, по какому порогу считать фронт, на каком куске записи. Если правило не подходит к сигналу, прибор честно выдаст неверное число.

Для каждой функции — что это, зачем, что видно, типичная ошибка и случай из жизни микроконтроллерной платы. Порядок: курсоры, автоизмерения по группам, статистика и гистограмма, встроенные вольтметр и частотомер, математика каналов, БПФ и диаграмма Боде.

Примеры — на приборе автора, RIGOL DHO900: названия пунктов меню даны по-английски, как на экране, цифры — из его документов. Сами явления общие для любого цифрового осциллографа; то, что относится только к DHO900, так и помечено.

Опоры: RIGOL DHO900 User Guide (Books/DHO900_UserGuide_EN.pdf; страницы здесь и дальше — по PDF-файлу): с. 128–148 — математика (арифметика, функции, БПФ, логика, фильтры), с. 149–162 — автоизмерения, пороги, статистика, с. 163–171 — курсоры, с. 172–176 — вольтметр и частотомер, с. 181–185 — гистограмма, с. 194–200 — диаграмма Боде; RIGOL DHO900 Datasheet (Books/dho900-datasheet.pdf): с. 10–11 — точность усиления, смещения и интервала времени, с. 16 — курсоры и измерения, с. 17 — математика и БПФ, с. 18 — гистограмма, с. 19 — Боде, с. 22 — вольтметр и частотомер. Все расчётные числа — прогон _verify/scope36e/model36e.py (Python 3.11 и numpy в контейнере stm-lab:1).

Как это называется в документации

Оригинал Перевод
cursor: Manual, Track, XY; AX, BX, ∆X, 1/∆X, ∆Y курсоры: ручные, слежения, XY; отсчёты и разности
auto measurement; Indicator автоизмерение; показ курсорами, где оно взято
Vtop, Vbase, Vamp; Vmax, Vmin, Vpp вершина, основание, амплитуда; максимум, минимум, размах
Overshoot, Preshoot выброс над вершиной, провал под основанием
Vavg, VRMS, Per.VRMS, AC RMS среднее, действующее, действующее за период, действующее без постоянной
threshold: Upper, Mid, Lower пороги измерения: верхний, средний, нижний
Rise Time, Fall Time, Slew Rate время нарастания и спада, скорость нарастания
+Width, −Width, +Duty, −Duty ширина импульса, скважность (доля периода)
Delay, Phase (r-r, f-f, r-f, f-r) задержка и фаза между фронтами двух каналов
Area, Period Area площадь под кривой
Statistic, Count, Reset Stat. статистика, число измерений, сброс
histogram: Horizontal, Vertical, Measure гистограмма по времени, по напряжению, по измерению
DVM; Counter, Totalize встроенный вольтметр; частотомер, счёт фронтов
Math: Intg, Diff, LowPass, A&&B математика: интеграл, производная, фильтр, логика
FFT; window; span, center; dBV, Vrms быстрое преобразование Фурье; окно; полоса и центр обзора; единицы
leakage, noise floor, ENBW растекание спектра, шумовая полка, шумовая полоса окна
Bode plot; gain margin, phase margin диаграмма Боде; запас по усилению и по фазе

36е.1 Три способа снять число

По сетке. Деления на экране — грубая линейка: доля деления на глаз и ошибка, если забыта плавная подстройка (Fine, 36г.2). Годится, чтобы понять порядок величины.

Курсорами. Две линии, которые ставит человек; прибор пишет координаты и разность. Человек решает, что считать фронтом и вершиной, — поэтому курсоры честны там, где автоизмерение запутается: пачка импульсов, звон, странная форма.

Автоизмерением. Прибор сам находит вершину, основание, пороги и фронты и пересчитывает результат на каждой записи. У DHO900 — 41 параметр (руководство с. 149; даташит с. 16): 17 амплитудных (Vertical), 16 временных (Horizontal) и 8 межканальных (Other, руководство с. 157–158). Одновременно — до 14 по руководству (с. 157) и до 10 по даташиту (с. 16); документы расходятся.

Насколько точен сам прибор. По времени у DHO900 ошибка интервала — ±(точность развёртки × отсчёт) ± 0,001 ширины экрана ± 20 пс (даташит с. 11). Интервал 1 мс:

развёртка ошибка доля
200 мкс/дел (экран 2 мс) ±2,025 мкс 0,20 %
1 мс/дел (экран 10 мс) ±10,025 мкс 1,00 %

Вклад 25 ppm кварца ничтожен, почти вся ошибка — доля ширины экрана. Отсюда правило: интервал растягивают на экран. По напряжению — ±1 % от полной шкалы (FullScale, на чувствительности грубее 5 мВ/дел, даташит с. 10): ±40 мВ на 0,5 В/дел, ±80 мВ на 1 В/дел, ±160 мВ на 2 В/дел — при любом сигнале. То же правило, что в 36г.3: сигнал растягивают на экран.

Кнопка AUTO сама подбирает масштабы и сразу включает период и частоту; отдельные значки — два периода, много периодов, фронт, спад и откат к прежним настройкам (руководство с. 149). Сигнал нужен не медленнее 35 Гц и не меньше 10 мВ. Ошибка: нажимать AUTO на медленном или одиночном сигнале — прибор не найдёт его и выставит что-то своё.


36е.2 Курсоры вручную (Manual)

Что это. Пара вертикальных линий X (время) или пара горизонтальных Y (напряжение). Курсор A — сплошной, B — пунктирный. Прибор пишет AX, BX, ∆X и 1/∆X или AY, BY и ∆Y (руководство с. 164–166); источник — CH1–CH4, логический анализатор или Math1–Math4 (с. 165). Переключатель AX BX двигает обе линии вместе, сохраняя расстояние (с. 166).

Зачем. Мерить то, что автоизмерению не по силам: время от спада CS до первого фронта SCK, длительность паузы между пачками, высоту одной ступеньки ЦАП. 1/∆X сразу даёт частоту по одному периоду.

Что видно. Руководство сравнивает курсоры с автоизмерением на синусе: период обоих — 200 нс (с. 166). Совпадают, потому что синус чистый. На сигнале с шумом курсор, поставленный «на фронт», попадает куда рука поставила.

Ошибка. Курсор Y мерит в единицах источника: если в меню щуп 1X, а стоит 1:10, ∆Y врёт в 10 раз (36г.8). Курсоры X на медленной развёртке мерят долю экрана — см. таблицу 36е.1.

Случай. Задержка от записи в регистр до перехода вывода: вывод-метка в коде (36а.7) на канал 1, выход — на канал 2. Курсор A на фронте метки, B — на фронте выхода, ∆X — ответ, и в нём нет никакого порога, который мог бы сдвинуться.


36е.3 Курсоры слежения (Track)

Что это. Ставите курсор X — прибор сам ставит Y туда, где кривая пересекает X; и наоборот, в режиме Y ищется X. Курсор A может следить за одним каналом, B — за другим (AX Source, BX Source, руководство с. 168). Метки держатся за выбранные точки и после растяжения развёртки (с. 167).

Зачем. Задержка между двумя каналами по одинаковому уровню: «когда выход операционного усилителя дошёл до 1,65 В относительно момента, когда до того же уровня дошёл вход».

Что видно и где лежит. На крутом фронте маленький сдвиг X — большой скачок Y. Фронт 3,3 В за 10 нс (от 10 до 90 %) — 0,264 В/нс, на один шаг выборки 0,8 нс приходится 211 мВ. Курсор Y на фронте прыгает ступеньками по выборкам, и «напряжение в момент X» на фронте — величина случайная.

Ошибка. Слежение на шумной полке: Y показывает не уровень, а шум одной выборки. Уровень полки — автоизмерением Vtop (36е.6), оно усредняет.

Случай. Порядок включения питаний: 3,3 В и 1,8 В на двух каналах, режим Y, курсор на уровне 90 % каждого — ∆X между ними сразу видно, и оно не зависит от того, как растянута развёртка.


36е.4 Курсоры автоизмерения (Indicator) и курсоры XY

Автокурсоры. Отдельного режима Auto в меню курсоров DHO900 нет — там Manual, Track и XY (руководство с. 165). Его роль играет переключатель Indicator в настройках измерений: прибор рисует линии там, где взял число, — пороги, фронты, вершину (с. 160; даташит с. 16 называет это показом курсоров при автоизмерении). Зачем: увидеть, что «период» измерен между нужными фронтами, а «вершина» — на полке, а не на выбросе. Это первое, что делать, когда автоизмерение выдаёт странное. Ошибка: верить числу, не включив Indicator.

Курсоры XY. Доступны только в режиме развёртки XY (руководство с. 171; сам режим — 36г.13): X мерит напряжение источника X, Y — источника Y. Зачем: отсчитать по эллипсу высоту пересечения с осью и полную высоту — и по ним угол сдвига фаз (36г.13). Ошибка: искать курсоры XY в обычном режиме — пункт недоступен, пока развёртка не XY.


36е.5 Как прибор считает автоизмерения

Вершина и основание. Почти все параметры строятся от двух уровней: Vtop — где сигнал проводит больше всего времени наверху, Vbase — внизу. У DHO900 метод выбирается в Amplitude Method: Auto или Manual, и в Manual для вершины и основания отдельно — Histogram или Max-Min (руководство с. 161). Histogram — самый частый уровень (вершина полки), Max-Min — крайние точки (вершина выброса). Это внутренний алгоритм, а не функция гистограммы из 36е.15 (так и оговорено там же).

Пороги. От Vtop и Vbase считаются три порога: верхний, средний и нижний; по умолчанию 90, 50 и 10 % (руководство с. 151, 160). Средний — для периода, ширины, задержки и фазы, верхний и нижний — для фронтов и счётчиков. Пороги задаются в процентах или в вольтах (% или Abs), для каждого источника свои, кнопка Default возвращает 90/50/10 (с. 160). Смена порогов меняет все временные измерения, задержки и фазы (с. 161).

Область. Region: Main — вся основная развёртка, Zoom — только окно лупы (руководство с. 161; лупа — 36г.12). Источник — CH1–CH4, D0–D15 или Math1–Math4 (даташит с. 16).

Когда числа нет. Если сигнала нет или результат вне допустимого, вместо числа звёздочки ***** (руководство с. 150). Частая причина — на экране меньше одного периода или сигнал не дотягивает до порогов.

Ошибка. Мерить на записи, где рядом с нужным сигналом есть другое: пачка байтов и пауза, импульс и звон. Прибор считает по всей области — сузить её лупой и Region: Zoom.


36е.6 Амплитудная группа: Vmax, Vmin, Vpp, Vtop, Vbase, Vamp

Что это (руководство с. 155): Vmax и Vmin — самая высокая и самая низкая точка; Vpp — их разность (размах); Vtop и Vbase — уровни полок; Vamp = Vtop − Vbase (амплитуда); Vupper, Vmid, Vlower — напряжения, которым соответствуют пороги (с. 155).

Модель. Меандр 1 МГц 0/3,3 В, на каждом фронте звон 105 МГц (земляной провод щупа, 36а.2) с затуханием, дающим выброс 16,3 %, и шум 15 мВ; 4 периода при 1,25 Гвыб/с:

параметр значение что это на сигнале
Vmax / Vmin 3,83 / −0,53 В пик выброса и провала
Vpp 4,36 В выбросы вместе со звоном
Vtop / Vbase 3,30 / 0,00 В настоящие уровни полок
Vamp 3,30 В логический размах
Vupper / Vmid / Vlower 2,97 / 1,65 / 0,33 В пороги 90/50/10 %

Зачем какой. Vamp — логический размах и основа всех порогов. Vpp — сколько на самом деле выдерживает вход приёмника: 4,36 В на выводе с питанием 3,3 В — это ток через защитные диоды. Vmax и Vmin — для проверки предельных режимов.

Где лежит Vpp — шум и длина записи. Размах шума — это два крайних выброса, а их размер растёт с числом точек. Шум 10 мВ (среднеквадратичный):

точек в записи Vpp шума в долях шума
1 тыс. 65 мВ 6,5
10 тыс. 77 мВ 7,7
1 млн 97 мВ 9,7

Тот же сигнал — разный «размах пульсаций» при разной глубине памяти (36г.14). Ошибка: сравнивать пульсации двух источников питания по Vpp, снятые с разной памятью или разной полосой (36г.7). Для шума — AC RMS (36е.8): оно от длины записи не зависит.

Случай. Пульсации на шине 3,3 В: Vpp на разных глубинах памяти различается почти в полтора раза; AC RMS на тех же записях — одно число.


36е.7 Выброс и провал: Overshoot, Preshoot

Что это. Overshoot — (Vmax − Vtop) / Vamp, Preshoot — (Vbase − Vmin) / Vamp, в процентах (руководство с. 156). Заметьте: по определению DHO900 Preshoot — это провал под основание после спада, а не «предвыброс» перед фронтом, как его понимают в других приборах.

Что видно. В модели 36е.6 выброс 16,0 % (расчёт 16,3 %; разница — шум на пике), провал 16,2 %.

Где лежит — метод вершины. Если вершина считается по Max-Min, то Vtop = Vmax, и выброс по определению 0,0 %, а Vamp становится 4,36 В. Хуже того, пороги уезжают: 90 % — уже 3,39 В, выше настоящей полки, 10 % — −0,10 В, ниже основания. Фронт пересекает такой верхний порог только пиком звона, и время нарастания меряется до вершины выброса или не меряется вовсе. С методом Histogram то же время нарастания — 2,21 нс.

Ошибка. Выбросов «нет» — а включён Max-Min. И наоборот: на сигнале без полок (синус, треугольник) Histogram находит «вершину» где попало, и выброс бессмыслен.

Случай. Звон на линии тактирования SPI: выброс в процентах — мера того, насколько плохо согласована линия (раздел 160) и короткий ли земляной провод (36а.2). Сравнивать до и после правки — по одному и тому же методу.


36е.8 Среднее и действующее: Vavg, VRMS, Per.VRMS, AC RMS

Что это (руководство с. 155–156): Vavg — среднее всех точек; VRMS — корень из среднего квадрата (действующее значение вместе с постоянной частью); Per.VRMS — то же, но за один период; AC RMS — действующее без постоянной части, то есть разброс вокруг среднего.

Модель. ШИМ 1 кГц со скважностью 25 % и уровнями 0/3,3 В:

параметр значение зачем
Vavg 0,825 В что увидит RC-фильтр, мультиметр на постоянке
VRMS 1,650 В нагрев резистора: мощность по нему
AC RMS 1,429 В переменная часть: пульсации, шум

Где лежит — нецелое число периодов. Vavg и VRMS берутся по всему экрану. Окно в 2,5 периода от фронта ШИМ захватывает три импульса вместо двух с половиной — Vavg 0,990 В вместо 0,825 (+20 %). Синус 1 В на 2,3 периода: Vavg 91 мВ вместо нуля, VRMS 0,714 вместо 0,707 (+1,0 %). Per.VRMS берёт ровно период и этой ошибки нет; для среднего то же даёт развёртка, на которой периодов много.

Ошибка. Мерить среднее ШИМ на двух периодах: число скачет при каждом сдвиге картинки. Другая — путать VRMS и AC RMS: шум питания по VRMS — это 3,3 В с хвостиком.

Случай. Ток потребления платы через шунт: Vavg за много периодов работы — средний ток для расчёта батареи; AC RMS — сколько переменного тока должен отдать конденсатор фильтра.


36е.9 Период, частота, ширина, скважность

Что это (руководство с. 151): период — между двумя одинаковыми фронтами на среднем пороге; частота — обратная величина; +Width — от подъёма до спада на среднем пороге, −Width — наоборот; +Duty и −Duty — доли ширины в периоде. Tvmax и Tvmin — моменты максимума и минимума (с. 151).

Где лежит — порог на медленном фронте. Таймер выдаёт ШИМ 20 кГц со скважностью 10 % (импульс 5 мкс) через выход с открытым стоком и подтяжку; фронт — экспонента с постоянной 1 мкс, спад резкий. Полка доходит до 3,278 В:

порог +Width +Duty
средний (50 %) 4,315 мкс 8,63 %
верхний (90 %) 2,754 мкс 5,51 %

Прошивка задала 10 %, прибор показывает 8,63 % — и прав: на уровне середины импульс короче. Что увидит приёмник, зависит от его порога.

Где лежит — шум на пологом пересечении. Синус 50 Гц амплитудой 100 мВ и шум 5 мВ: около нуля сигнал проходит 5 мВ за 159 мкс, и за это время шум пересекает порог много раз. В модели — 172 подъёма через середину на каждый период, кратчайший «период» — 1 мкс. Подъём, засчитанный только когда сигнал прошёл и нижний, и верхний порог (гистерезис), — ровно 1 на период. Есть ли гистерезис в измерении периода DHO900, в руководстве не сказано; лекарство на любом приборе — ограничение полосы (36г.7), фильтр математики (36е.19) или частотомер (36е.16).

Где лежит — мало периодов. Меньше одного периода на экране — ***** (36е.5). Один-два периода — число есть, но одно, и шум фронта даёт дрожание. Для частоты лучше много периодов или частотомер.

Ошибка. Видеть +Duty и думать, что это настройка таймера; видеть частоту на картинке с алиасингом (36г.15) — прибор честно измерит ложную волну.

Случай. Проверка ШИМ сервопривода: 1–2 мс импульс каждые 20 мс — +Width прямо в миллисекундах; статистика (36е.14) покажет дрожание, если таймер перенастраивается из прерывания.


36е.10 Фронты: время нарастания, пороги, скорость

Что это. Rise Time — время от нижнего порога до верхнего, Fall Time — обратно (руководство с. 151); по умолчанию 10 и 90 %. +Slew Rate и −Slew Rate — разность уровней, делённая на это время (с. 156).

Пороги меняются в Measurement Threshold (36е.5): Upper и Lower, в процентах или в вольтах (руководство с. 160). Зачем: у разных стандартов разные определения фронта. Для экспоненциального фронта RC время между порогами — в постоянных времени:

пороги время
10–90 % 2,197 τ
20–80 % 1,386 τ
30–70 % 0,847 τ

Случай — I2C. Подтяжка 4,7 кОм на линии 400 пФ: τ = 1,88 мкс. Прибор по умолчанию покажет 4,13 мкс, а предел шины задан между 30 и 70 % (раздел 17: 1000 нс в стандартном режиме, 300 нс в быстром), и по нему фронт — 1,59 мкс. Пороги по умолчанию завышают в 2,59 раза. Поставить Upper 70 %, Lower 30 % — и число сравнимо с пределом. Скорость нарастания на тех же 10–90 % — 0,639 В/мкс.

Где лежит — свой фронт прибора. Прибор с полосой 250 МГц сам даёт фронт 1,4 нс, со 125 МГц — 2,8 нс; фронт 2 нс выглядит как 2,44 и 3,44 нс (сложение по корню из суммы квадратов, 36а.3). И точек мало: на 2 нс при 1,25 Гвыб/с — 2,5 выборки, при четырёх каналах (312,5 Мвыб/с, 36г.1) — 0,625. Ошибка: мерить фронт, сравнимый с собственным, и не вычесть его; мерить фронт с включённым BW Limit (36г.7).

Где лежит — звон. На сигнале со звоном пороги зависят от вершины (36е.7). С вершиной по Histogram фронт модели 36е.6 — 2,21 нс; с Max-Min верхний порог уходит выше полки.


36е.11 Счётчики импульсов и фронтов

Что это (руководство с. 151–153): Positive Pulse Count и Negative Pulse Count — число импульсов, Rising Edge Count и Falling Edge Count — число фронтов. Засчитывается только переход через оба порога: снизу нижнего — выше верхнего (или обратно). Это и есть гистерезис.

Модель. 10 импульсов 3,3 В, седьмой — недоросток (рант) до 1,98 В (60 %). По среднему порогу — 10 фронтов, по правилу двух порогов — 9.

Зачем. Сосчитать шаги, отданные драйверу двигателя, байты в пачке, импульсы энкодера за оборот; найти, что одного не хватает.

Ошибка. Считается только то, что попало в запись (и в область Region). Для долгого счёта — Totalize частотомера (36е.16). Другая — пороги по умолчанию от Vamp: если в записи есть выброс или помеха, проценты считаются не от того.

Случай. Шаговый двигатель теряет шаг. Счётчик показывает на один импульс меньше заданного — а картинка подсказывает, что один импульс — рант: драйвер его не видит. Причина — в форме, а не в прошивке; поймать сам рант — запуск Runt (36д).


36е.12 Задержка и фаза между каналами

Что это (руководство с. 153–154): Delay — время между фронтами источника A и источника B на среднем пороге: r-r (подъём к подъёму), f-f, r-f, f-r. Отрицательная — значит, фронт A позже. Phase — та же задержка в градусах: задержка, делённая на период A, × 360°. Источники — любые каналы, D0–D15 и Math1–Math4 (с. 154).

Что видно. 1 кГц, задержка 100 мкс — фаза 36,0°.

Где лежит — неоднозначность. Задержка 700 мкс на периоде 1 мс неотличима от опережения на 300 мкс: 252,0° или −108,0°. Какой фронт B прибор парует с фронтом A, руководство не говорит. Правило: задержка меньше полупериода, запуск по каналу A (36д), Indicator включён.

Где лежит — перекос каналов. Между аналоговыми каналами у DHO900 типично до 2 нс (даташит с. 11), есть подстройка перекоса до ±100 нс (там же). На 1 МГц 2 нс — 0,72°. Щупы разной длины добавляют своё: перед точным измерением оба щупа на один и тот же фронт.

Случай — задержка реакции на прерывание. Вход EXTI на канал A, вывод, который обработчик переключает первым делом, — на канал B; Delay(r-r) и статистика (36е.14) дают время реакции и его разброс. Модель ниже — условная: 0,75 мкс плюс до 0,07 мкс случайно, а в 0,2 % случаев раньше успевает другое прерывание и добавляет 3 мкс.


36е.13 Площадь: Area, Period Area

Что это. Area — интеграл сигнала по всему экрану в В·с; выше нуля — плюс, ниже — минус (руководство с. 156–157). Period Area — то же за первый период на экране.

Случай — заряд пачки радиопередатчика. Шунт 0,1 Ом в питании: передача 120 мА за 2 мс — 12 мВ; остальное время 5 мА — 0,5 мВ. На экране 10 мс Area — 28 мкВ·с, делим на 0,1 Ом — 280 мкКл за пачку. Это то, что батарея отдаёт за одну передачу.

Где лежит — ноль. Площадь считается от нуля канала. Смещение нуля 1 мВ (дрейф, неточность смещения, 36е.17) за 10 мс добавляет 10 мкВ·с: 38 вместо 28, ошибка 35,7 %. Малые токи — малые напряжения, и ошибка нуля съедает результат. Перед измерением — проверить ноль при выключенной нагрузке (связь GND, 36г.5) и уменьшить экран до самого события.

Ошибка. Мерить Area на экране, где пачка занимает малую часть: весь остальной экран вносит фон и ошибку нуля.


36е.14 Статистика

Что это. Переключатель Statistic: к каждому измерению добавляется история — среднее, минимум, максимум, разброс за последние Count измерений (у DHO900 от 2 до 100000, по умолчанию 1000; Reset Stat. начинает заново; руководство с. 162).

Зачем. Одно измерение — одна запись. Статистика отвечает на вопросы «как сильно дрожит» и «бывает ли хуже».

Модель — реакция на прерывание (36е.12). 1000 измерений:

среднее разброс минимум максимум редких
0,791 мкс 0,134 мкс 0,750 мкс 3,76 мкс 2

Среднее известно с точностью около 4 нс — но среднее здесь ничего не говорит: оно смешало быстрый обычный случай и редкий медленный. Главное число — максимум.

Где лежит — редкое. Событие с вероятностью 0,2 % в статистике из 100 измерений не появится с вероятностью 81,9 %, из 1000 — 13,5 %. На 100000 измерений редких 205, максимум 3,82 мкс. Отсюда: для худшего случая Count — побольше, и смотреть максимум, а не среднее.

Ошибка. Поменяли настройку или прошивку и не нажали Reset Stat.: максимум — от прошлого опыта. И ещё: статистика собирается только по записям, которые прибор успел снять, — мёртвое время (36г.17) пропускает часть событий.


36е.15 Гистограмма

Что это. Прибор считает, сколько раз сигнал (или измерение) попал в каждый узкий интервал, и рисует столбики. У DHO900 три вида (руководство с. 181–182): Horizontal — столбики под сеткой, распределение по времени (например, дрожание фронта); Vertical — слева, распределение по напряжению (шум полки); Measure — распределение выбранного автоизмерения (с. 159, включается после добавления хотя бы одного измерения). Окно задаётся четырьмя границами, высота столбиков — от 1 до 4 делений, по умолчанию 2 (с. 182–183). Результат: Sum, Peaks, Max, Min, Pk_Pk, Mean, Median, Mode, Bin width, Sigma, XScale — последний в 100 раз больше ширины столбика (с. 184). Недоступна в режимах лупы, XY и Roll (даташит с. 18).

Зачем — форма, которую не видно в среднем. Реакция на прерывание (36е.14), 100000 измерений: медиана 0,785 мкс, самая частая величина (Mode) — 0,765 мкс, среднее 0,791. Гистограмма Measure показывает две горки: основную у 0,75–0,82 мкс и далёкую около 3,82 мкс. Два холма — две причины, и сразу видно, что их нужно искать порознь.

Vertical на шуме. Sigma гистограммы — шум (среднеквадратичный), он от числа попаданий не зависит; Pk_Pk растёт так же, как Vpp в 36е.6: 65 мВ на тысяче точек, 97 на миллионе при шуме 10 мВ.

Horizontal на фронте. Окно поперёк фронта на среднем уровне при послесвечении: столбики — где фронт пересёк уровень, Sigma — дрожание (в 36г.18 оно было видно только как ширина полосы).

Ошибка. Окно гистограммы задано в вольтах и секундах и не следует за сменой масштабов (руководство с. 183): сдвинули развёртку — окно стоит на старом месте и считает не то. Clear — начать заново (с. 185).


36е.16 Встроенный вольтметр (DVM) и частотомер (Counter)

Вольтметр. Меряет напряжение на любом аналоговом канале независимо от сбора: даже когда канал выключен, и непрерывно (руководство с. 172–173). Режимы: DC — среднее, AC RMS — действующее без постоянной, AC+DC RMS — полное действующее (с. 173). На метке — крайние значения за последние 3 с (с. 172). Пищалка по выходу из пределов или по входу в них (In Limits, Out Limits, с. 173–174). Знаков — 4 по руководству (с. 172), 3 по даташиту (с. 22). Зачем: держать в углу экрана напряжение питания, пока картинка занята другим, и услышать просадку. Ошибка: путать DVM с автоизмерением Vavg — вольтметр не знает о развёртке и запуске.

Частотомер. Frequency, Period или Totalize (счёт фронтов) на любом аналоговом канале или D0–D15 (руководство с. 175–176). Разрядность — от 3 до 6 знаков, по умолчанию 4; чем больше знаков, тем дольше время счёта (с. 175). Totalize у DHO900 — 48-битный, считает подъёмы, опора — внутренний кварц (даташит с. 22).

Где лежит — опорный кварц. Точность развёртки DHO900 — ±25 ppm (даташит с. 11), и частотомер опирается на тот же внутренний опорный генератор: на 8 МГц это ±200 Гц. Четыре знака показывают 8,000 МГц с шагом 1000 Гц; шесть — шаг 10 Гц, тоньше, чем точность опоры. Ошибка: «проверять» кварц 8 МГц платы с точностью в единицы ppm шестым знаком прибора: последний знак точен лишь по отношению к своему кварцу. Для этого — внешняя опора или сравнение двух плат между собой.

Totalize. 48 бит на 100 МГц переполнятся через 32,6 суток — то есть никогда в рамках опыта. Случай: сколько импульсов энкодера пришло за прогон механизма, без ограничения длиной записи (36е.11).


36е.17 Математика: A+B, A−B, A×B, A÷B

Что это. Каналы складываются, вычитаются, перемножаются и делятся точка в точку (руководство с. 129). У DHO900 четыре математических канала Math1–Math4, источники — CH1–CH4 и Ref1–Ref10, а Math2 может брать Math1 и так далее — цепочки (с. 131). Деление на ноль даёт ноль (с. 130). Масштаб и смещение результата — свои, Expand: от нуля или от центра (с. 132).

A×B — мгновенная мощность. Напряжение на нагрузке — канал A, ток через шунт — канал B в амперах (единица A и коэффициент щупа, 36г.8). Нагрузка 12 В и 2 А под ШИМ 25 %: Vavg от A×B — 6,00 Вт. Если перемножить средние, Vavg(A) × Vavg(B) — 1,50 Вт, в 4 раза меньше: ток течёт только тогда, когда приложено напряжение, и среднее произведения — не произведение средних. Случай: потери в ключе при переключении — A×B на фронте (раздел 57).

A÷B. Сопротивление как напряжение на токе, усиление каскада как выход на вход. Ошибка: около нуля B результат — шум, делённый на шум, а ровно в нуле прибор пишет 0 (с. 130), и это не настоящий ноль.

A−B — где лежит. Разность двух каналов вместо дифференциального щупа. Случай на плате: шунт 0,1 Ом в плюсе 12 В, ток 0,5 А — полезная разность 50 мВ при синфазных 12 В. Чтобы оба канала показали 12 В подробно, ставят 500 мВ/дел и смещение −12 В (36г.4): шаг АЦП 0,977 мВ, этого хватает. Но расхождение усиления каналов на 1 % оставляет от 12 В 120 мВ — в 2,4 раза больше сигнала, а точность смещения DHO900 на этом масштабе — ±172 мВ на канал (0,1 деления + 2 мВ + 1 % смещения, даташит с. 10). Разность двух таких ошибок больше самого тока. Подробно — почему A−B врёт и чем его заменить — 36з.5; здесь вывод: малую разность на большом синфазном A−B не мерит; шунт в минусе или усилитель тока на плате.


36е.18 Функции: Intg, Diff, Sqrt, Lg, Ln, Exp, Abs, AX+B

Все — над одним источником, точка в точку (руководство с. 132–133).

Intg — интеграл. Площадь, растущая со временем: ток через шунт → накопленный заряд, напряжение на катушке → ток. В отличие от Area (36е.13) видно, где набирается заряд. Где лежит: постоянное смещение интегрируется в наклонную линию: 2 мВ за 10 мс — 20 мкВ·с, сравнимо с пачкой 28 мкВ·с из 36е.13. Для этого у Intg есть параметр Offset — поправка постоянной составляющей (руководство с. 136).

Diff — производная. Ток через конденсатор I = C·dU/dt, скорость фронта. Модель: 100 мкФ заряжается от 0 до 5 В за 1 мс — ток 0,50 А. Шум 2 мВ при 10 Мвыб/с: производная по соседним точкам шумит на 2,80 А — больше сигнала в несколько раз. Разность через 100 точек: шум 28 мА. Для этого у Diff параметр Smooth (руководство с. 136); как именно он сглаживает, в руководстве нет. Ошибка: дифференцировать на полной частоте выборки и принимать шум за ток.

Sqrt, Abs, Exp. Корень — например, из A×A после усреднения, когда нужна своя формула действующего; модуль — ток мотора в обе стороны как один «выпрямленный»; экспонента — обратная к логарифму.

Ln и Lg. Натуральный логарифм выпрямляет экспоненту: разряд RC с τ = 1 мс в Ln — прямая, за 1 мс она падает ровно на 1,000, и τ читается курсорами. Ошибка: у нуля логарифм уходит в бесконечность и тонет в шуме — брать участок, где сигнал заметно больше шума. Lg в руководстве описан как «экспонента по основанию 10» (с. 132), хотя имя говорит о десятичном логарифме; что считает прибор — проверить на известном сигнале.

AX+B — пересчёт в единицы. Датчик температуры с выходом 10 мВ/°C и 500 мВ при 0 °C: A = 100, B = −50 — и 0,75 В на экране становится 25,0 °C. Параметры A и B задаются в меню (руководство с. 136).


36е.19 Цифровые фильтры: LowPass, HighPass, BandPass, BandStop

Что это. Фильтр по записи: пропустить ниже частоты ωc, выше, полосу между ωc1 и ωc2 или вырезать её (руководство с. 144–147). Пределы частот зависят от частоты выборки математики, а она — от частоты выборки канала и глубины памяти (с. 148).

Зачем. Увидеть медленное под быстрым: огибающую тока мотора без ШИМ, сетевую наводку 50 Гц на сигнале датчика (BandPass вокруг неё или BandStop, чтобы убрать). Это не BW Limit (36г.7): тот — аналоговый, до АЦП и только 20 МГц; этот — любой частоты, после АЦП, и сырые данные не трогает.

Что видно и где лежит. Какой именно фильтр внутри DHO900, в документах нет. Модель — четырёхполюсный фильтр Баттерворта, 1 кГц, при 1 Мвыб/с: шум 50 мВ становится 2,30 мВ (идеальный срез дал бы 2,24). Но ступенька после него — с выбросом 10,8 % и задержкой 0,45 мс до середины. Ошибка: мерить выброс или время нарастания на отфильтрованном сигнале — они принадлежат фильтру. Или ставить ωc рядом с половиной частоты выборки: при малой памяти её мало (36г.14), и фильтр работает не там, где задумано.


36е.20 Логические операции: A&&B, A||B, A^B, !A

Что это. Каждый источник сравнивается со своим порогом и становится нулём или единицей; затем И, ИЛИ, исключающее ИЛИ или НЕ точка в точку (руководство с. 141–142). Источники — аналоговые каналы или D0–D15 (с. 143); порог и чувствительность (Sensitivity) — в меню (с. 144).

Зачем. Свести несколько линий в одну: «CS активен И идёт такт», XOR двух сигналов, которые должны совпадать. Квадратурный энкодер: каналы A и B на 1 кГц со сдвигом четверть периода, A^B — меандр 2000 Гц, а фронтов A и B вместе — 4000 в секунду: это и есть «умножение на четыре» в счётчике таймера.

Ошибка. Порог не на логическом уровне: на медленном фронте с шумом результат дребезжит, как пересечения в 36е.9 (172 на период в той модели). Для чистой логики — цифровые каналы и анализатор (36а.6, 36л).


36е.21 БПФ: что показывает и от чего зависит разрешение

Что это. Быстрое преобразование Фурье раскладывает запись на синусоиды: по горизонтали частота, по вертикали — их амплитуды. У DHO900 это один из видов Math (Operator: FFT, руководство с. 136–137); источник — CH1–CH4 (с. 138).

Зачем. Увидеть то, что во времени тонет: гармоники и искажения, частоту наводки в шуме питания, вибрацию (руководство перечисляет это же, с. 136). Для платы: откуда шум в отсчётах АЦП — от преобразователя, от SysTick, от сети.

Разрешение. Расстояние между соседними частотами БПФ — частота выборки, делённая на число точек (руководство с. 137), то есть величина, обратная длительности записи. При 1 мс/дел и памяти 10 тыс. (1 Мвыб/с, 36г.14) — 100 Гц. У DHO900 БПФ берёт не больше 1 млн точек (с. 137; даташит с. 17): при 1,25 Гвыб/с это 0,8 мс и разрешение 1,25 кГц. Как прибор берёт 1 млн из записи 50 млн, в документах не сказано. Ошибка: искать две близкие частоты (50 и 60 Гц) на быстрой развёртке — запись короче их разности, и они сливаются в одну.

Полоса обзора. Span и Center или Start и End (руководство с. 138): центр от 5 Гц, полоса от 10 Гц, верх — 625 МГц. Это ровно половина 1,25 Гвыб/с — предел Найквиста: выше половины частоты выборки БПФ ничего не покажет, только наложение (36е.23).

Пики. Peak Search ищет до 15 пиков (по умолчанию 5) выше порога и с заданным перепадом, сортирует по амплитуде или частоте, выгружает в CSV (руководство с. 140–141). Color Grade — спектр с послесвечением (с. 139): видно, какая линия стоит, а какая мелькает.


36е.22 БПФ: окна, шумовая полка и единицы

Зачем окно. БПФ считает запись куском бесконечно повторяющегося сигнала. Если в запись влезло нецелое число периодов, на стыке повторов — скачок, и энергия одной частоты «растекается» по соседним (leakage). Окно плавно сводит края записи к нулю. У DHO900 их шесть: Rectangular, Blackman-Harris, Hanning (по умолчанию), Hamming, Flattop и Triangle (руководство с. 139; даташит с. 17). Коэффициенты окон прибора не опубликованы; модель — общепринятые определения:

окно шумовая полоса, бинов полка выше на ошибка амплитуды между бинами боковой лепесток главный лепесток, бинов
Rectangular 1,00 0,00 дБ −3,92 дБ −13 дБ 1
Triangle 1,33 1,25 дБ −1,82 дБ −27 дБ 2
Hamming 1,36 1,34 дБ −1,75 дБ −43 дБ 2
Hanning 1,50 1,76 дБ −1,42 дБ −31 дБ 2
Blackman-Harris 2,00 3,02 дБ −0,83 дБ −92 дБ 4
Flattop 3,77 5,76 дБ −0,01 дБ −93 дБ 5

Каждое окно что-то покупает и чем-то платит: низкие лепестки — широким главным лепестком (хуже различаются близкие частоты) и большей шумовой полосой (выше полка).

Что видно — слабая линия рядом с сильной. Тон 1 В точно между бинами и тон 1 мВ (−60 дБ) на 40 бинов дальше:

окно растекание сильного тона на месте слабого слабый тон
Rectangular −42,7 дБ не виден: −42,6 дБ — это растекание
Hanning −105,7 дБ виден: −60,0 дБ
Blackman-Harris −121,6 дБ виден: −60,0 дБ

Спектр двух тонов — 1 В между бинами и 1 мВ на −60 дБ — в трёх окнах: прямоугольное растекается до −42,7 дБ и прячет слабый тон, Hanning опускает растекание до −105,7 дБ и показывает тон на −60,0 дБ, Blackman-Harris — до −121,6 дБ

Ошибка амплитуды. Тон между бинами в прямоугольном окне ниже настоящего на 3,92 дБ — по напряжению это 0,64 от настоящего. Flattop ошибается на 0,01 дБ — поэтому он для точного измерения амплитуды, когда частота не попадает в бин.

Почему полка зависит от окна. Каждый бин собирает шум из своей полосы, а у окна она шире одного бина — на столько, сколько в столбце «шумовая полоса». Шум 1 мВ, 10 тыс. точек: полка в прямоугольном окне −96,9 дБВ, в Hanning −95,2, в Blackman-Harris −94,0, во Flattop −91,2. Сам шум один и тот же. И от длины записи: на 1 млн точек полка −117,0 дБВ — на 20 дБ ниже, потому что бин в 100 раз уже. Ошибка: сравнивать «уровень шума» двух спектров, снятых с разными окнами или разной памятью, — разница будет даже на одном и том же сигнале. Шум мерить во временной области (AC RMS, 36е.8).

Единицы. Unit: dBV, dBm или Vrms (руководство с. 138). 0 дБВ — 1 В действующего. Синус амплитудой 1 В — 0,7071 В действующего, −3,01 дБВ. dBm — мощность относительно 1 мВт на нагрузке, обычно 50 Ом: тот же синус — +10,00 дБм. На входе 1 МОм (у DHO900 он единственный, 36г.6) dBm — условность пересчёта; на какую нагрузку пересчитывает прибор, руководство не говорит. Ошибка: путать амплитуду и действующее — 3 дБ разницы.

Какое окно когда (по таблице руководства, с. 139, и модели): Hanning — по умолчанию, для периодических сигналов и шума; Blackman-Harris — слабые гармоники рядом с сильной; Flattop — точная амплитуда; Rectangular — одиночный импульс, целиком попавший в запись, или два близких тона равной силы; Hamming и Triangle — промежуточные.


36е.23 БПФ: меандр, ШИМ и наложение

Меандр 0/3,3 В (модель, целое число периодов): постоянная 1,650 В; первая гармоника — амплитуда 2,101 В, действующее 1,486 В, +3,44 дБВ; третья ниже на 9,54 дБ, пятая — на 13,98 дБ; чётных нет вовсе. Чётная гармоника в спектре «меандра» — признак того, что скважность не 50 % или фронты несимметричны.

ШИМ. Гармоника номер n пропорциональна синусу n·π·D, делённому на n, и обращается в ноль там, где n·D — целое:

гармоника относительно первой 25 % 10 %
2-я −3,01 дБ −0,44 дБ
3-я −9,54 дБ −1,18 дБ
4-я нет −2,28 дБ
5-я −13,98 дБ −3,78 дБ
10-я −16,99 дБ нет

Постоянная — 0,825 В при 25 % и 0,330 В при 10 %; первая гармоника — 1,050 В (+0,43 дБВ) и 0,459 В (−6,76 дБВ). Узкий импульс — почти плоский спектр: гармоники до десятой у ШИМ 10 % почти равны первой. Случай: ШИМ светодиодов 10 % на частоте 20 кГц слышен в аудиотракте и виден в отсчётах АЦП — его гармоники идут далеко вверх почти без спада, и фильтр на одну частоту не спасёт.

Наложение в БПФ. Входной тракт прибора пропускает сотни мегагерц, а частота выборки на медленной развёртке — мегагерц. Всё, что выше её половины, складывается вниз (36г.15). Модель: меандр 30 кГц при 1 Мвыб/с (предел Найквиста 500 кГц). 33-я гармоника на 990 кГц ложится на 10 кГц — ниже основной! — на −29,2 дБ (её собственный уровень −30,4 дБ); 31-я на 930 кГц даёт линию 70 кГц на −28,8 дБ (расчёт −29,8). Линий 10 и 70 кГц в сигнале нет. Как отличить: сменить развёртку — настоящие линии стоят, ложные переезжают. Перед БПФ — частота выборки с запасом: больше памяти или быстрее развёртка, и смотреть только нижнюю часть полосы.


36е.24 Диаграмма Боде (Bode Plot)

Что это. Встроенный генератор качает синус по частоте, прибор на каждой частоте мерит отношение выхода к входу (усиление, дБ) и сдвиг фаз — и рисует две кривые (руководство с. 194). Только у DHO914S и DHO924S, где есть генератор (там же); сам генератор — 36к.

Настройки (руководство с. 195–199; даташит с. 19): In и Out — каналы входа и выхода цепи; Sweep Type — Log или Line; FIR Setup — цифровой фильтр; вид — Wave (кривые) или Chart (таблица точек). Начальная частота — от 10 Гц до 24,99 МГц, конечная — от 100 Гц до 25 МГц; точек от 10 до 300 — «на декаду» по руководству и «на октаву» по даташиту; амплитуда — от 20 мВ до 5 В или своя для участков частот (Var.Amp.). Результат — в CSV или HTML (с. 199).

Что видно. RC-фильтр 1 кОм и 100 нФ: на 1591,5 Гц усиление −3,01 дБ, фаза −45,0°. Качание от 10 Гц до 100 кГц по 10 точек на декаду — 41 точка. После остановки прибор пишет запасы (руководство с. 197): PM — сколько фазы осталось до −180° на частоте, где усиление петли 0 дБ; GM — насколько усиление ниже 0 дБ там, где фаза −180°. Модель петли — интегратор на 10 кГц и полюсы на 20 и 100 кГц: срез 9,07 кГц, запас по фазе 60,4°, −180° на 44,7 кГц, запас по усилению 21,6 дБ. Что эти запасы значат — раздел 163.

Как подключают петлю. Сигнал с выхода генератора — через развязывающий трансформатор на резистор, врезанный в петлю обратной связи; каналы — по обе стороны резистора (руководство с. 198).

Ошибка. Слишком большая амплитуда выводит петлю из линейного режима, слишком малая тонет в шуме; руководство прямо оговаривает, что шумные цепи эта функция не проверит (с. 195). Var.Amp. — большая амплитуда там, где петля сильно давит сигнал, и малая там, где усиливает.

Случай. Стабилизатор на плате (раздел 58) или усилитель датчика: запас по фазе с конденсатором на выходе и без него — две кривые показывают, почему с керамикой малой ёмкости он звенит.


36е.25 Грабли

Выброса «нет». Метод вершины Max-Min: Vtop = Vmax, выброс 0,0 %, пороги уехали за полку (36е.7).

Скважность меньше заданной. Пологий фронт через подтяжку: 10 % в прошивке — 8,63 % на среднем пороге (36е.9).

Фронт I2C «не проходит». Пороги 10–90 % вместо 30–70 %: 4,13 мкс вместо 1,59 мкс (36е.10).

Частота прыгает на медленном сигнале. Шум у порога: 172 пересечения на период (36е.9). BW Limit, фильтр или частотомер.

Размах шума разный на одном сигнале. Vpp растёт с памятью: 65 мВ на 1 тыс. точек, 97 на 1 млн (36е.6). Шум — по AC RMS.

Среднее скачет. На экране нецелое число периодов: +20 % на ШИМ (36е.8). Per.VRMS или больше периодов.

Мощность вчетверо меньше. Перемножили средние вместо среднего произведения (36е.17).

A−B на плюсе 12 В. Ошибка каналов 120–172 мВ при сигнале 50 мВ (36е.17, 36з.5).

Площадь не та. Смещение нуля 1 мВ за 10 мс — +35,7 % к заряду пачки (36е.13).

Производная — один шум. 2,80 А шума при токе 0,50 А; сглаживание (36е.18).

Слабой гармоники «нет». Прямоугольное окно: растекание −42,7 дБ закрывает тон −60 дБ (36е.22).

Линия 10 кГц у меандра 30 кГц. Наложение 33-й гармоники (36е.23).

Статистика без редкого. 100 измерений пропускают событие 0,2 % с вероятностью 81,9 % (36е.14).

Шестой знак частотомера. Опора прибора — ±25 ppm, на 8 МГц ±200 Гц (36е.16).


36е.26 Итоги

Дальше: раздел 36ж «Осциллограф, часть 4: декодирование шин, маски, сегментированная память, сохранение и управление по SCPI» — как прибор читает UART, I2C, SPI и CAN, проверяет сигнал по маске (Pass/Fail), хранит тысячи запусков, сохраняет опорные осциллограммы и как управлять им с компьютера.

Открыть в интерактивном справочнике