Что делается с помощью осциллографа при отладке аппаратуры
Что проверяют
Держали ли вы прибор в руках и понимаете ли, где кончается тестирование прошивки и начинается физика. В командах, где тестируют железо, это разделительный вопрос: по ответу видно, сможете ли вы отличить «устройство не отвечает, потому что баг в коде» от «на линии нет сигнала».
Как отвечать
Осциллограф показывает напряжение во времени, то есть даёт увидеть, что реально происходит на выводе, а не что думает об этом прошивка. Типовые задачи при отладке:
- питание: уровень, просадки под нагрузкой, пульсации, выбросы на фронтах;
- однократные события: настроить триггер по фронту, уровню или длительности импульса и поймать сбой, который случается раз в час;
- временные характеристики: период, скважность, время нарастания и спада, задержка между двумя каналами, соблюдение требований по установке и удержанию;
- механика: дребезг контактов кнопки, по которому видно, хватает ли программного подавления;
- протоколы: многие приборы декодируют UART, I2C и SPI, и сразу видно, ушёл ли байт вообще и с какой скоростью;
- сравнение: снять ту же точку на заведомо исправном экземпляре и сопоставить осциллограммы.
Полезно упомянуть запас по полосе пропускания относительно скорости фронтов и то, что щуп 10x нужно компенсировать перед измерением.
Где спотыкаются
Берут осциллограф там, где нужен логический анализатор. Восьмибитную шину двумя каналами не посмотреть: логику и протокол читает анализатор, а осциллограф нужен, когда важна форма сигнала и аналоговая картина.
Меряют без общей земли или цепляют землю щупа на точку под потенциалом. В первом случае получается картинка из наводок, во втором можно устроить короткое замыкание. Длинный земляной провод к тому же добавляет звон, которого на плате нет.
В отчёт пишут «сигнал плохой» без цифр. Дефект железа воспроизводится не всегда, поэтому в баг идут экземпляр, точка измерения, настройки развёртки, скриншот и измеренное значение рядом с допуском из документации.