【CanTp】車両診断通信 その34【シミュレーション㉑】

【CanTp】車両診断通信 その34【シミュレーション㉑】 車両診断通信

バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/

はじめに

ISO-TPのシミュレーションをしよう。のシリーズ。
CanTpを取り巻く構造などを頑張って絵に描いてみる。

登場人物

博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

AUTOSAR CanTpのインターフェース復習

フクさん
フクさん

前回のAUTOSAR CanTpのインターフェースは以下だったね。

  • CanTp_Transmit。
  • CanTp_MainFunction。
  • CanTp_RxIndication。
  • CanTp_TxConfirmation。
  • CanIf_Transmit。
  • PduR_CanTpCopyRxData。
  • PduR_CanTpCopyTxData。
  • PduR_CanTpRxIndication。
  • PduR_CanTpStartOfReception。
  • PduR_CanTpTxConfirmation。
太郎くん
太郎くん

うん。それは覚えてるけど、イマイチ関係性が・・・。

接頭語が関係性を示してるんだっけ?

フクさん
フクさん

うん。
これも前回言ったけど、こんなイメージ
CanTp_:CanTpへの通知
CanIf_:CanTpからCanIfへの通知
PduR_:CanTpから上位層への通知

AUTOSAR CanTpのインターフェースを絵で表現してみた

太郎くん
太郎くん

で、頑張って絵で表現してみるって言ってけど、進捗は如何に?

フクさん
フクさん

(なんで偉そうなんだ?)

フクさん
フクさん

一応書いてきたよ。
こんなイメージだね。

AUTOSAR-CanTp構造概要。インタラクション層、CanTp、データリンク層
太郎くん
太郎くん

おー。なるほど。
インタラクション層ってのとデータリンク層でサンドイッチになっていたのか。

フクさん
フクさん

というわけで、
CanTpとCanIfことXLドライバライブラリの繋ぎ
と、
CanTpとインタラクション層の繋ぎ
の辻褄を合わせれば動作するはず。

太郎くん
太郎くん

インターフェース用のソースファイルを用意する感じかな?

フクさん
フクさん

それでも良いし、PduR_CanTp.hにPduR宛てのインターフェース関数がインライン関数として記載されているんで、これの中を埋めるでも良いねー。

太郎くん
太郎くん

すでにあるなら、そっちを使おうか。

太郎くん
太郎くん

CanIfの方は?

フクさん
フクさん

同じようにCanIf.hにインライン関数として記載されている。

太郎くん
太郎くん

お、ということは、CanTpはCanTp.h?

フクさん
フクさん

CanTp向けの関数の実態はCanTp.cにあって、
外部からの呼出し用のextern宣言はCanTp_Cbk.hでされてるね。

太郎くん
太郎くん

あ、そっか。
CanTp自体は実装されている物を持ってきてるから
こっちで実装する必要は無いのか。

フクさん
フクさん

とりあえず、各種インターフェースの繋ぎは追々やっていくとして、
あとはコンフィグレーション定義だねー。

太郎くん
太郎くん

なにそれ?

フクさん
フクさん

車両診断通信を実現するチャンネルの定義だね。
これはこれで結構なボリュームになるんで、次回説明かな。

太郎くん
太郎くん

(なにそれこわい)

まとめ

フクさん
フクさん

まとめだよ。

  • AUTOSAR CanTpのインターフェースの復習。
  • AUTOSAR CanTpのインターフェースを図解してみた。
  • 各種インターフェースはそれぞれのヘッダファイルで定義はされている。
    • シミュレーション用に辻褄合わせは必要。

バックナンバーはこちら。

コメント

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