見出し画像

TSMasterで車両CANトレースで車輪速度を見ることについて

始める前に

この文章の出処はPICODE(피아이코드)の李さんが運営しているTistoryブログからです。
リンク:https://hsl9.tistory.com/m/33

TSMasterの使い方についてこのブログを作成しようとしています。そのためにはTSMasterを紹介しなければなりません。 TSMasterを導入する前に、車両CAN通信を説明する必要があります。車両CAN通信を説明する前に、車両制御システムを説明する必要があります。このように考えると、物語をどこでどのように始めるべきか窮屈だ。だから、まずTSMasterでできることを先に披露することにする。まるで水泳を学ぼうとする人に、水泳の振る舞いを一つ一つ分けて説明する前に泳ぐ姿を見せてくれれば、学びたい人は全体についてある程度概念をとった状態で、各部分の詳細をより簡単かつ迅速に理解できるようになることを願っています。

概要

  • 車にはいくつかの制御システムがあります。エンジン制御、ブレーキ制御など。そのような制御システムは、通信を介して協調制御と呼ばれることをする。車両システムが通信する方法の1つがCANである。 CAN:Controller Area Network。

  • 車両通信開発のために(当然)通信内容を測定し分析しなければならない。 TSMasterは、測定や分析など、通信開発に必要な機能を集めた車両通信開発のためのPC用プログラムです。

  • PCは物理的な違いでCAN ネットワークに直接接続できない。 CANをUSBに変換する変換器が必要である。

車両CAN通信を開発するためには、通信データを測定、分析できる車両通信開発プログラムが必要である。 PCは物理的な違いで車両CANネットワークに直接接続できない。 PCの代表的な入出力ポートであるUSBとCANを接続するコンバータが必要である。車両通信にはCANの他にLIN、FlexRay、Ethenetなどがある。
  • このブログは練習を想定している。 この練習では、あらかじめ測定したCAN通信データ(トレースファイル)から車輪の速度信号を探してグラフで表示してみる。

  • この過程を通してCANの基本的な特徴を学ぶ。

練習が完了したら、TSMasterグラフィックスウィンドウにWHL_SPD_??信号を上の図のようにグラフで表示することができます。

CAN Trace(トレース) File

  • 練習に使用する CAN トレース ファイル: 20240725_venue2024_07_26_09_17_29.blf

  • 添付トレースは、李さんの車(現代自動車ヴェニュー)で直接測定したトレースである。

  • TSMasterがデフォルトでトレースファイルを保存する経路があるが、すぐにはこれを無視し、各自が希望するところに保存する。

  • blf はVector 社固有のファイルフォーマット(バイナリファイル、"Binary" Logging File)である。 自動車産業におけての事実上の標準である。

  • TSMasterでblfを読んで再生することができる。 TSMasterでCANデータを測定してblfファイルとして保存することもできる。

CANトレース再生

  • TSMasterをダウンロードしてインストールを完了して実行し、下図のようにメインメニューがあるTSMaster実行ウィンドウまで到達したと仮定する。

TSMaster実行ウィンドウ
  • メインメニューのAnalysis/Bus ReplayをクリックしてBus Playbackウィンドウを開く。

  • Bus PlaybackウィンドウでSelect Playback Fileボタンをクリックすると、blf選択ウィンドウが開く。

メインメニュー/ Analysis/ Bus ReplayボタンをクリックしてBus Playbackウィンドウを開く。   Bus Playbackウィンドウで、Select Playback Fileボタンをクリックする。
  • blfを選択してBus Playbackウィンドウに登録する。

  • Bus Playbackウィンドウに登録されたblfのうち一つをblfを選択し、Start Playbackボタンをクリックしてblfを再生する。


Bus Playbackウィンドウにblfを登録し、Start Playbackボタンをクリックして再生する。
  • 再生はオンラインあるいはオフラインで行うことができる。

  1. オンライン再生は変換器を通じてCANメッセージが伝送される。

  2. オフライン再生は変換器を通じてCANメッセージが伝送されない。

  3. オフライン再生は再生速度の変更が可能だ。

トレース窓

  • Trace(トレース)ウィンドウが開き、blf のデータが表示される。


トレースウィンドウは、メインメニュー/Analysis/Traceボタンをクリックして開くことができる。
  • トレースウィンドウを見ると、左からタイムスタンプ、メッセージID、データ長、データカラムを見ることができる。 これを通じて次のことが分かる。 CAN通信はメッセージで構成される。 メッセージはIDとデータを持っている。 データは長さが決まっている。 データは数字の羅列/束である。

  • CANの特徴を簡単に見てみよう。

CANの特徴

メッセージ

  • CAN はメッセージ(message)単位で通信する。

  • 各メッセージは固有のid を持つ。

  • メッセージidという。 一般的に0x386のように16進数で表示する。

  • メッセージidを記憶して指すのは不便だ。 メッセージごとに覚えやすい名前をつけて呼ぶ場合が多い。 (メッセージの名前)

    •  はい、0x386の代わりに WHL_SPD11

  • メッセージidが低ければ優先順位が高い。 (後で原理を説明する。)

  • メッセージの内容(data)は0 以上の信号(signal)である。

はい、WHL_SPD11メッセージには、WHL_SPD_FL(Wheel Speed Front Left)、WHL_SPD_FR、WHL_SPD_RL、WHL_SPD_Rという信号があり得る。

メッセージの長さ(data length)は0~8 バイトまで1 バイト単位で定めることができます。
はい、WHL_SPD11 メッセージの長さを8 バイトとする。
CAN-FDはメッセージの長さを最大64バイトまで可能です。 ただし、CAN-FD の場合、メッセージの長さを1 バイト単位で定めることはできない。 (後で別に説明する。)

CANデータベース

  • 各メッセージ内の各信号に対して、データの長さ、メッセージ内でデータの位置、データ数値を(速度のような)物理量信号に変換する方法をあらかじめ定義し共有する。

  • はい、WHL_SPD11メジシの中にWHL_SPD_FLは14ビット長の信号で、メッセージ内のデータ領域の0~13番ビットまで部分を占め、速度範囲で0~512kphまで表示するように定義することができる。 すると、データの十進数値1は物理量速度0.03125 kphに相当する。 この他にもデータを物理量に変換するのに必要な変換法を定義する。

  • 各メッセージの各信号に該当するデータを物理量に変換する方法を集めた表構造をCANデータベースあるいはCANマトリックス(matrix)というである。

  • WHL_SPD_FR、WHL_SPD_RL、WHL_SPD_RRなどもWHL_SPD_FLと類似した方法で定義すると··· メッセージの中のデータ領域に各信号が占める位置と部分は下図のように表示できる。 これをメッセージレイアウトという。

  • CAN データベースには、各信号の十進数値を物理量に変換するのに必要な信号定義がされている。

バス(bus)

  • コントローラは一対の電線で接続されている。すべてのコントローラが共同で使用する通信線という意味でバスと呼ばれる。

  • 各電線をCANH/CAN hi(gh)、CANL/CAN lo(w)と呼ぶ。

  • 電磁干渉を防ぐためにCANH、CANLワイヤーはねじれている。 (twisted-pair cable)

  • バスラインの端にはCANHとCANLを接続する120オームの終端抵抗がある。 (バス別に一対が存在する。)

CAN BUS 出処 https://www.digikey.fr/fr/blog/how-to-simplify-the-test-of-can-bus-networks
  • 特定の瞬間バスには1つのコントローラからの1つのメッセージだけが送信され、バスに接続されているすべてのコントローラはそのメッセージを受信できる。 (broadcast方式)

  • 特定の瞬間バスには1つのコントローラからの1つのメッセージだけが送信され、バスに接続されているすべてのコントローラはそのメッセージを受信できます。 (broadcast方式)

参考
以下のリンクのYouTubeビデオを参照してください。
CANとCAN FDプロトコル
CANとCAN FD の概要

トレースウィンドウで

トレースウィンドウをもう一度見てみましょう。

トレースのウィンドウ

以下の項目がわかります。
CANバスにはどのIDのメッセージがありますか?
各IDのメッセージの長さは何バイトですか?
各IDのメッセージはどのくらいの頻度で送信されますか?

以下の項目は不明です。
メッセージにはどの信号が含まれていますか?
各信号の物理量はいくらですか?私たちが知りたいのは、各信号の物理量です。

各信号の物理量を見るには?


各信号を変換する方法を定義したCANデータベースファイルを読み、変換方法に従ってCANメッセージのデータから信号を抽出して変換し、トレースウィンドウに信号を表示できるようにする必要があります。

CANデータベースは通常dbc形式のファイルとして保存されます。 dbcはVector独自のファイルフォーマットです。自動車産業内は事実上標準である。

TSMasterはdbcファイルをロードできる。

dbcの読み込み

  • メインメニュー/ 分析/ CANデータベースの表示のボタンをクリックする。

  • CAN Databaseウィンドウが開く。

  • CANチャンネルを選択してください。 [データベースの追加]ボタンをクリックする。

  • dbcファイルを選択する。

  • dbcの内容がCAN Databaseウィンドウに表示される。

TSMasterはdbcを読み取り、独自のファイル形式(pdbc)に変更して、「プロジェクトディレクトリ/ DB / CAN」ディレクトリに保存する。

TSMasterでdbcエディタを起動して編集すると、pdbcが自動的に更新される(90%以上のユースケース)。

TSMasterに関係なくdbcエディタを起動して編集すると、CAN Databaseでdbcを手動で削除して追加しなければpdbcが更新されない。


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