マイコンやセンサー、通信モジュールを接続してシステムを構築する際、通信が突然止まる、データが欠落する、応答が返ってこないといったトラブルに直面することがあります。こうした問題はプログラムのバグに見えて、実は信号のタイミングやレベルが原因であることも少なくありません。オシロスコープで通信波形を観測すると、デジタル通信の仕組みとトラブルの発生箇所を目で確認できます。
I²C通信では、SCL(クロック)とSDA(データ)の2本の線を使い、マスターとスレーブ間でデータを送受信します。波形を観測すると、クロックに同期してデータが1ビットずつ送られている様子が見えます。クロックが止まっている、データ線が常にLOWのまま、といった状態はハード的な異常を示します。特にプルアップ抵抗が適切でない場合、信号が十分にHIGHまで上がらず、誤判定を起こすことがあります。波形の立ち上がり時間を確認することで、抵抗値や配線容量が適正か判断できます。
SPI通信では、SCLK、MOSI、MISO、CSの4線が使われます。信号の同期関係を確認することで、クロック位相や極性(CPOL/CPHA)の設定ミスを検出できます。マスターのクロック立ち上がりに対してデータが安定していない場合、設定が合っていない可能性があります。また、ケーブルが長い場合や信号ラインが平行に並んでいると、隣接する線間にクロストークが発生して波形が乱れることもあります。オシロスコープで波形が振動したり反射しているように見えるときは、終端処理の検討が必要です。
UART通信はTX(送信)とRX(受信)で構成されるシンプルな方式ですが、波形を確認すると通信速度やパリティ設定の違いが一目でわかります。例えば、9600bpsで送信しているのに受信側が115200bpsに設定されていると、波形の1ビット幅が合わずデータが崩れます。オシロスコープで1ビットの時間幅を測定すれば、実際の通信速度を正確に確認できます。また、ノイズによる誤ビットが混入していないかどうかも、時間波形を見れば容易に判断できます。
通信トラブルの中で意外に多いのが、電源やGNDの問題です。センサーやマイコンが異なる電源から動作している場合、GNDを共通にしていないと信号の基準がずれ、通信が安定しなくなります。通信線だけをつないでも、電位差があると信号レベルが正しく認識されません。測定時には、必ずGNDクリップを共有し、異なる電源系統の場合はレベル変換器を使用するなどの対策が必要です。
また、I²C通信では1台のスレーブが通信バスを占有してしまうことがあります。SDA線が常にLOWのままになる「バスハング」は、スレーブ側の誤動作で発生する代表的な現象です。オシロスコープでSCLが動いているのにSDAが変化していない場合、この状態が疑われます。電源を再投入するか、マスターからクロックパルスを送ることで復帰するケースもあります。こうした現象も波形を観測することで迅速に特定できます。
通信波形を観測する際は、できるだけ短いGND線を使い、信号線の近くで接地することが大切です。長いGNDリードを使うと、周囲のノイズを拾って波形が乱れることがあります。また、測定対象が小型モジュールの場合は、無理にプローブを押し当てるとピンが折れたりショートしたりする恐れがあります。ピンヘッダやテストポイントを用意して安全に測定できる環境を整えることが望ましいです。
オシロスコープには、通信プロトコルを自動解析してデータをデコード表示できる機能を備えた機種もあります。これを利用すれば、波形上でビット列を直接読み取ることなく、アドレスやデータの内容を一覧表示することができます。機器の違いに関わらず、まずは基本波形の正しさを確認し、通信のタイミングやレベルが正確に保たれているかを把握することが、問題解決の第一歩です。
通信トラブルはソフトウェアだけでなく、物理層のわずかな不具合でも発生します。オシロスコープを使えば、見えないデータの流れを可視化し、安定した通信のための根拠を得ることができます。安全な接続と確実な観測を心がけ、波形の裏側にあるロジックの動きを読み解く力を身につけましょう。
オシロスコープ用途シリーズ 目次
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
-
オシロスコープで始める電子工作 ― Arduino・Raspberry Pi波形観測入門
-
FFTで見るオーディオ回路 ― 歪みとノイズの“見える化”
-
ESCとモータ駆動波形を観る ― ドローン電源系の安全チェック
-
I²C・SPI・UARTを波形で読む ― 通信トラブルの見つけ方
-
車載電源の波形を見る ― クランキング・リップル測定入門
-
スイッチング電源の波形を読む ― リップルと過渡応答の解析
-
授業で学ぶオシロスコープ ― 5回で身につく波形リテラシー
-
設備トラブルを波形で診る ― オシロスコープ活用の一次診断法
-
FFTでノイズ源を探す ― EMC対策の第一歩
-
I-Vカーブを波形で学ぶ ― MPPT追従とエネルギー変換の観測
関連製品
Previous: 第5編:車載電源の波形を見る ― クランキング・リップル測定入門
もっと用語集
- オシロスコープは「見えている=正しい」ではない
- 【技術コラム・入門〜初級】電気回路におけるインピーダンスの意味とは?
- 【技術コラム・入門〜初級】電気回路におけるコンデンサの重要な働きとは?
- OWONを「安心して選べる」人・選ばないほうがよい人
- 「測定が合わない」と言われたとき、まず考えること
- なぜ高級機と“まったく同じ測定”はできないのか
- 「十分な性能」と言える基準はどこか
- 安いオシロスコープは本当に危険なのか
- スペック表の数字は、どこまで信じていいのか
- 【技術コラム・入門〜初級】電気回路でよく見かける dB(デシベル)の意味とは?
- なぜ「帯域幅」だけ見てオシロを選んではいけないのか
- なぜ同じ測定なのに、測定値が毎回違うのか
- オート測定は信用していいのか
- ノイズはどこから来るのか(測定しているつもりで、実は拾っているもの)
- プローブをつなぐとなぜ波形が変わるのか
- 入力インピーダンス(50Ω / 1MΩ)をもう一段やさしく分解する
- トリガ(Trigger)をもう一段やさしく分解する
- 分解能(Resolution)をもう一段やさしく分解する
- 帯域幅(Bandwidth)をもう一段やさしく分解する
- 【技術コラム・入門〜初級】なぜ差動プローブが必要なのか?
- オシロスコープを替える前に、まず疑うべき3つのこと
- 【技術コラム・入門〜初級】なぜ帯域幅が重要なのか?足りないと何が起きるのか
- FFT 解析なのに、なぜ波形(スペクトル)が汚く見えるのか
- 【技術コラム・入門〜初級】アンプで欠かせない NFB(負帰還)とは?
- 【技術コラム・入門〜初級】プローブで測定結果が変わる理由とは?
- 【技術コラム・入門〜初級】なぜ高速信号は測りにくいのか?
- 【技術コラム・入門〜初級】帯域幅と立ち上がり時間の関係とは?
- 【技術コラム・入門〜初級】なぜ100MHzオシロスコープで10MHz信号が見えるのか?
- 【技術コラム・入門〜初級】スペクトラムアナライザとFFT解析は何が違うのか?
- 【技術コラム・入門〜初級】パッシブプローブとアクティブプローブの違いとは?
- 【技術コラム・入門〜初級】FFTで分かること・分からないこと
- 【技術コラム・入門〜初級】FFTで分かること・分からないこと
- 【技術コラム・入門〜初級】ノイズとは何か?なぜ見えないのに回路に影響するのか
- 【技術コラム・入門〜初級】FFT解析で失敗しない設定のコツとは?
- 【技術コラム・入門〜初級】FFT解析とは何か?周波数で見ると何が分かるのか
- 【技術コラム・入門〜初級】オシロスコープ設定で結果が変わる理由とは?
- 【技術コラム・入門〜初級】測定ミスはなぜ起きるのか?初心者が陥りやすい原因
- 【技術コラム・入門〜初級】なぜ波形は安定しないのか?よくある原因と考え方
- 【技術コラム・入門〜初級】オシロスコープでノイズを見るコツとは?
- 【技術コラム・入門〜初級】時間波形と周波数解析はどう使い分けるべきか?
- 【技術コラム・入門〜初級】チャタリングとは?なぜ起きるのか、どう対策するのか
- 【技術コラム・入門〜初級】プルアップ・プルダウンとは?知らないと起きるトラブル
