車両CAN解析 CAN bit Viewer で“ビットの変化”をリアルタイムで見る ソフトを自作したよ♪
はじめに
前回の記事では 8bit → 1bit 展開シート を使って、
「Byte値からどのビットが立っているか」を計算で求める方法を紹介しました。
CAN解析を続けていると必ずこう思うと思います。
Excelで展開すると時間が掛かるので、リアルタイムでビットの変化を見たい(´・ω・`)
スイッチON/OFF、ECUのフラグ、車両状態の遷移…。
時系列で 1bit の変化を追いたいんですよね。
そこで今回の本題は リアルタイム 1bit Viewer。
従来の流れ
CANビューアで 8bit値を見る
↓
HEX/DEC を別ツールで変換
↓
どのビットが立っているかを目視で確認
↓
ノートにメモ
↓
解析に使う
…という流れ。
自分もこれを毎回やってました(´・ω・`)
でも正直、時間がかかるのでやってられん。 そこで、1bitをリアルタイムで可視化する計測部分とソフトを作りましたよー(`・ω・´)!!!
CANデータ計測と演算の概要
以下の流れでCANデータを測定します。
CANデータ
↓
CANトランシーバ+マイコン(ESP32)
↓
CAN 8bit データ測定
↓
PCへ送信 → Viewerで1bit展開
測定したデータは前回の記事の8bit→1bitの計算方法を使って、
1bitに変換します。
ソフトの方ではマイコンと通信ししてPCにデータを送信し、
リアルタイムで計算した1bitデータを表示します。
以下は自作した CAN 1bit Viewer のソフト画面です。

操作した動画は以下のような感じです。
ソフトウェア機能紹介
COMポート選択機能
COMポートは自動認識。
前回接続したポート番号は自動で選ばれるようにしました。
ボーレートは一応選べるようにしてあります(※使ってません)。

Bitrate設定(500kbps / 1Mbps)
Bitrateを選んでどちらの速度でも通信できるようにしました。
放置しとくと 勝手に認識して接続します(謎仕様)。

1bit / 8bit / 同時表示タブ
表示ビットを選べます。
時間変化があった場所 → 赤色
5秒以上変化がなかった場所 → 灰色
1bit表示

8bit表示

10進数表示、16進数表示も選べます。

ログ開始 / 停止
8bitのデータをCSVデータに保存するようにしました。
1bitは後から再度計算すればいいからね。
見ても分からんデータを保存して後で解析します。
ログ時間やフレーム数も表示されるので、どのくらい測定してるか見れて安心です(謎

ハードウェア構成
CANトランシーバを通して ESP32-C3 が CANフレームを受信します。
親指サイズのマイコンを使って、小型化しました。
WiFiモデルもありますが、USB有線接続で安定性を優先しました。

CANトランシーバ
……好きなの選んでください。
中華CANトランシーバーを買って 全部不良品で捨てたこともあるので、
安定するやつを探してください(疲)
ハードウェア外観

タカチの箱に、マイコンとCANトランシーバーを入れました。
DTM2極コネクタをつけておくと便利。
4極→2極の変換コネクタを作っておくと使いやすいです。
終端抵抗ONOFFスイッチ
通信しているところを読みに行くん前提ですが、
単独でCAN解析にも使えるように、箱の側面に終端抵抗のONOFFスイッチも付けました。
1bit Viewer が便利な理由
Excel展開が不要
リアルタイムで 1bit が見えるので、
「Bit7=128…Bit6=64…」みたいな暗算が不要。
時系列で変化が追える
スイッチON/OFFの瞬間、
ECUがフラグを立てた瞬間が 色で分かる。
どのIDが変化したかも一瞬で分かる
変化したIDだけソートする機能も搭載。
ログ保存して後から解析できる
ログ取ってAIに投げます(謎
まとめ
今回は リアルタイムで1bitを見る Viewer を紹介しました。
CAN解析は Byte値ではなく Bit値を見ると一気に理解が進むので、
1bit Viewer は解析効率を爆上げしてくれます。
もっといい方法とかあれば、コメントで教えてね。
いいなと思ったら応援しよう!
チップは新たな技術向上や計測設備導入に活用し、その内容はNoteの記事としてフィードバックされる予定です。