格安ロジアナの実力検証!Arduinoで1-Wire通信を解析した結果は…?

Arduino

はじめに

格安ロジックアナライザを買って試してみた。値段はなんと1,700円 — Arduinoの通信解析に使えるか検証します。

この記事を読んでわかること

  • 格安ロジックアナライザの基本的な使い方
  • Arduinoとセンサー間の1-Wire通信を実際に解析する手順
  • 通信データをどのように見える化できるのか
  • ロジックアナライザを導入するメリット

使用パーツ

今回の実験に使用したパーツは以下の通りです。

回路図

回路図は、以前の記事 を参考にしてください。
信号線とGNDにロジックアナライザを接続します。

下記は実験風景です。

プログラム

Arduino側はシンプルに 温度を読み取るスケッチ を使用しました。
プログラムの詳細は以下の記事にまとめていますのでご参照ください。

👉OneWire(1-Wire)DS18B20温度センサをArduinoで使う方法|1Wire通信で温度測定

通信解析結果

ロジックアナライザをPCに接続し、PulseView(sigrok) というフリーソフトを使用して解析しました。

以下が解析結果です。

以下は、データをCSV出力した結果です。

考察

  • リセットパルスとプレゼンスパルスは通信開始の合図であり、今回のキャプチャでも正しくデコードできている。
  • シリアルで温度が取れているので 通信自体は成功している
  • ロジックアナライザのログに 0xB1 0x01 があり、これは温度の生データ(約27°C)に一致する。つまり「データはあるがデコーダが正しく分類できていない」のが現状。
  • サンプリング周波数、トリガ、デコーダ設定、配線の品質を調整すれば、コマンドを正しく見られるはず。

まとめ

  • 2000円前後で購入できる格安ロジックアナライザでも、Arduinoの通信解析には十分使える。
  • 1-Wireのように「目で確認が難しい通信」も、波形として観測することで理解が深まる。
  • UART/I2C/SPIも同じように解析できるため、マイコン学習に役立つ。
  • 今後はサンプリング周波数・トリガ・デコーダ設定・配線の品質を調整して、改めて測定してみようと思います。

コメント

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