Chapter 04
デジタル信号の観測 — ロジックアナライザとオシロで線を読む
この章のゴール.
ロジックアナライザとオシロスコープの役割分担を理解し、 サンプリングレート・トリガ・プロトコルデコードの基本を押さえて、 GPIO・バス・タイミングを「見える化」できるようになること。
この章で使う既出の用語(定義は各リンク先). アナログ(01 章 2 節)、オラクル(01 章 8 節)、記録(01 章 4 節)、判定(02 章 1 節)、電源(02 章 2 節)
1. 2 つの目 — ロジックアナライザとオシロ
| ロジックアナライザ(LA) | オシロスコープ | |
|---|---|---|
| 見るもの | 0/1 のデジタル信号を多チャンネル(8〜16 本) | 電圧のアナログ波形を 1〜4 本 |
| 得意 | バス(I²C/SPI/UART)、GPIO、タイミング関係、プロトコルデコード | 波形の質(なまり、リンギング、ノイズ)、アナログ、電源 |
| 苦手 | 電圧の「質」は見えない(閾値で 0/1 に丸める) | チャンネル数が少ない、長時間・多信号 |
| 例 | Saleae Logic、fx2lafw 互換(sigrok/PulseView) | 任意のオシロ、pyvisa で制御 |
まずロジックアナライザ。デジタルのやり取りの 9 割はこれで見える。波形が乱れて誤動作する、アナログが絡む、というときにオシロを足す。
2. サンプリングレートとナイキスト
ロジックアナライザは、信号を一定周期でサンプリングして 0/1 に記録する。 正しく捉えるには、観測したい信号の最高周波数の最低 4〜10 倍でサンプリングする(理論下限のナイキスト = 2 倍では波形の形が分からない)。
- 100 kHz の I²C → 最低 1 MS/s、余裕をみて 4 MS/s 以上
- 8 MHz の SPI → 40〜100 MS/s
- 短いパルス(グリッチ、割り込み)を捉えたいなら、そのパルス幅の逆数のさらに数倍
サンプリングが足りないと、エッジがずれる・パルスが消える・デコードが失敗する。「デコードできない」ときはまずレートを疑う。
3. トリガ — 見たい瞬間だけ捕まえる
ずっと記録し続けるとメモリが足りず、目的の 1 回を探せない。トリガ(trigger)で「この条件が起きた瞬間」を中心に記録する。
| トリガの種類 | 例 |
|---|---|
| エッジ | ある線が 0→1 になった瞬間 |
| パターン | 複数線が特定の組み合わせになった |
| プロトコル | I²C で特定アドレスが出た、UART で特定バイト |
| パルス幅 | 幅が閾値より短い(グリッチ)/ 長い |
| シリアル | 特定のバイト列 |
「たまに起きる不具合」は、その症状(エラーピン、異常な値)でトリガを張って待つのが定石。捕まえたら前後(プリ/ポストトリガ)を見る。
4. プロトコルデコード — 波形を意味に変える
生の 0/1 の羅列は読めない。プロトコルデコーダが、波形を「I²C: アドレス 0x68 に書き込み、データ 0x3C」のように意味のある表に変換する。
sigrok/PulseViewは 100 種類以上のデコーダを持つ(I²C、SPI、UART、CAN、1-Wire、各種チップ専用…)- Saleae も同様。デコーダをスタックできる(I²C の上に「この I²C はこのセンサのレジスタアクセス」という高位デコーダを重ねる)
- デコード結果をエクスポート(CSV/JSON)して、判定スクリプトに渡せる(19 章)
自分でデコーダを書く.
独自プロトコル・独自チップは既存デコーダがない。
sigrokのデコーダは Python で書け、 「エッジの列 → 状態機械 → 注釈」という素直な構造をしている(19 章)。 AI 生成ファームの独自通信フォーマットを検証するとき、専用デコーダを 1 つ書くと以後のテストが桁違いに楽になる。
5. 何をオラクルにするか
デジタル観測から作れる判定の例。
- タイミング関係: 「割り込みピンが立ってから応答まで t 以内」「クロックとデータの位相」(14 章)
- プロトコルの正しさ: アドレス・レジスタ・データが仕様どおりか。ACK が返っているか、リトライしていないか
- GPIO の状態機械: 「電源シーケンスが規定の順で立ち上がる」「LED の点滅パターンがエラーコードと一致」
- 有無: 期待した通信が「起きている/起きていない」。AI コードが「実は一度も送っていない」を暴く
6. プローブの当て方
- 共通グラウンド必須(02 章)。多チャンネル LA でも GND は 1 本しっかり
- テストポイント・ピンヘッダがあればそこへ。なければ IC のピン・部品の端子に。細かいピッチはマイクログラバやフライングリード
- プローブの容量が高速信号を鈍らせる。SPI が高速でデコードが不安定なら、プローブの負荷とグラウンドの取り回しを見直す
- 信号を借りるだけ(ハイインピーダンス観測)が原則。能動的に駆動する(06 章の能動テスト)ときは競合に注意
7. 手を動かす
サンプリングとデコードを体験する
この章のポイント
- ロジックアナライザがデジタルの主力、オシロは波形の質とアナログ。まず LA
- サンプリングは信号最高周波数の4〜10 倍。足りないとエッジずれ・パルス消失・デコード失敗
- トリガで見たい瞬間を捕まえる。症状でトリガを張って「たまに」を捕獲
- プロトコルデコーダが波形を意味に変える。独自プロトコルはデコーダを自作すると強い
- オラクル: タイミング関係・プロトコルの正しさ・状態機械・通信の有無