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

車両診断通信

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

スポンサーリンク

はじめに

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のインターフェースを絵で表現してみた

太郎くん
太郎くん

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

フクさん
フクさん

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

フクさん
フクさん

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

太郎くん
太郎くん

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

フクさん
フクさん

というわけで、
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をコピーしました