見出し画像

車両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 は解析効率を爆上げしてくれます。

もっといい方法とかあれば、コメントで教えてね。

いいなと思ったら応援しよう!

Kim23 Test Laboratory チップは新たな技術向上や計測設備導入に活用し、その内容はNoteの記事としてフィードバックされる予定です。