はじめに
I2Cの波形をロジアナで解析してみた。
回路図や動作概要は、以前の記事「RTCとは?Arduinoで学ぶリアルタイムクロックの仕組みと使い方」を参照して下さい。
この記事でわかること:
- DS3231 を I2C で動かす際の典型的な波形
- Arduino とロジックアナライザを使った測定方法
- 実際のデータ取得とその解釈
使用したもの(機材・環境)
- Arduino:I2C マスターとして使用
- DS3231:RTC モジュール。I2C スレーブ。
- ロジックアナライザ:I2C 信号を観測するため。クロック/データ線の波形取得が可能なもの。
- その他:配線(SDA, SCL, VCC, GND)、ブレッドボード、PC等
セットアップと測定方法
回路図と配線
ArduinoでDS3231をI2C接続し、ロジックアナライザをSDA/SCLに接続してPulseViewで観測しました。
接続方法は、「RTCとは?Arduinoで学ぶリアルタイムクロックの仕組みと使い方」を参照して下さい
I²C スキャナによるアドレス確認
Arduino で I²C スキャナスケッチを実行すると、以下のように 2つのデバイスが検出されました。
今回は 0x68 の RTC 通信を対象に解析します。

実測結果と解析
まとめ
Arduino と DS3231 の I²C 通信をロジックアナライザで観測し、通信の流れを確認できました。波形として見ることで I²C の仕組みを実感し、トラブル時の切り分けにも役立つことが分かりました。
今後は UART や SPI など、他の通信方式の解析にも挑戦して理解を広げていきます。
コメント