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 дБ |
Ошибка амплитуды. Тон между бинами в прямоугольном окне ниже настоящего на 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 Итоги
- Курсоры — когда человек знает лучше прибора, где фронт и где полка; автоизмерение — когда правило подходит к сигналу. Indicator показывает, где прибор взял число.
- Точность растёт, когда событие растянуто на экран: по времени ошибка — доля ширины экрана, по напряжению — доля полной шкалы.
- Все автоизмерения стоят на вершине, основании и порогах 90/50/10 %. Метод вершины (Histogram или Max-Min) и пороги меняют выброс, фронты, ширину, задержку и фазу. Пороги ставят под стандарт: I2C — 30–70 %.
- Vpp шума растёт с длиной записи, Vavg и VRMS врут на нецелом числе периодов; AC RMS и Per.VRMS от этого свободны.
- Статистика — ради максимума, гистограмма — ради формы распределения; среднее редко отвечает на вопрос «бывает ли хуже».
- Частотомер точен настолько, насколько точен кварц прибора (±25 ppm).
- Математика: среднее A×B — мощность, произведение средних — нет; A−B не мерит малую разность на большом синфазном; производная требует сглаживания, интеграл и площадь — точного нуля.
- БПФ: разрешение — обратная длительность записи; окно выбирает между растеканием, точностью амплитуды и высотой полки; полка зависит от окна и числа точек; выше половины частоты выборки — только наложение.
- Диаграмма Боде даёт запасы по фазе и усилению, если амплитуда качания подобрана под цепь.
Дальше: раздел 36ж «Осциллограф, часть 4: декодирование шин, маски, сегментированная память, сохранение и управление по SCPI» — как прибор читает UART, I2C, SPI и CAN, проверяет сигнал по маске (Pass/Fail), хранит тысячи запусков, сохраняет опорные осциллограммы и как управлять им с компьютера.