バックナンバーはこちら。
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の構成

さて、そろそろコンフィグレーションの話をするつもりなんだけど、
その前に、どんな内部構成になるかを絵で描いてみる。

おー。今回は最初から図解してくれるだね。

(結局描くことになるからねー。)

こんなイメージだ。


うーん、
車両診断通信は送信と受信で1つの通信を実現しているから
送信機能と受信機能が必要なのはわかったけど、
わざわざ分けてるのはなんでだろう。
「送受信」で一個にまとめても良いような気がする。

送受信しかしないならそういう構成もありかもね。
しかし、実際は
受信だけして終了とか、
送信を複数回するってパターンもあるんで、
機能としては送信と受信に分けておいた方が使い勝手が良いんだよ。

うーん。
こればっかりは動かしてみないとイメージ湧きそうにないなー。
マルチチャンネル仕様

そういえば、チャンネルが1個だけど、これが複数ってパターンは作れるの?

できるよ。
マルチチャンネル仕様と言って、
割とそのままだけど、こんなイメージになるね。


おー、概念上は本当に増やすだけなのか。

まぁ実際のコードとしては、必要な機能の数だけ構造体の定義が増えるような実装になるねー。

なんか機能の複製とかってオブジェクト指向っぽいねー。

まぁ近い考え方かもだね。
送信、受信もベースに使用する構造体は同一で多態化と言って良いと思う。

へー。ますますオブジェクト指向っぽい。

大きな違いは、動的な複製はできないってところかな。
ECUに組み込む前提なんで、動的生成は許容されないことが多いから仕方のないことだけど。

それでも簡単に複製できるってのはいいよねー。

んじゃ、次回は、コンフィグレーションの詳細に入るよー。
まとめ

まとめだよ。
- CanTpは送信、受信の1対で1チャンネルという概念になっている。
- チャンネルは複製可能
-
ただし、動的複製は不可。静的複製のみ。
-
バックナンバーはこちら。
コメント