ArduinoでDS3231をI2C解析 – ロジックアナライザで波形を観測する

Arduino

はじめに

I2Cの波形をロジアナで解析してみた。

回路図や動作概要は、以前の記事「RTCとは?Arduinoで学ぶリアルタイムクロックの仕組みと使い方」を参照して下さい。

この記事でわかること:

  1. DS3231 を I2C で動かす際の典型的な波形
  2. Arduino とロジックアナライザを使った測定方法
  3. 実際のデータ取得とその解釈

使用したもの(機材・環境)

  • 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 など、他の通信方式の解析にも挑戦して理解を広げていきます。

コメント

タイトルとURLをコピーしました