バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
ISO-TPのシミュレーションをしよう。のシリーズ。
CanTpのコンフィグレーションについて。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
今回実験するAUTOSAR-CanTpの構成
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
さて、そろそろコンフィグレーションの話をするつもりなんだけど、
その前に、どんな内部構成になるかを絵で描いてみる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
おー。今回は最初から図解してくれるだね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
(結局描くことになるからねー。)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
こんなイメージだ。
![AUTOSAR-CanTpテスト構成、Service$22、CanIf、チャネル](https://www.simulationroom999.com/blog/wp-content/uploads/2020/08/02_CanTp内部構成-1024x552.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん、
車両診断通信は送信と受信で1つの通信を実現しているから
送信機能と受信機能が必要なのはわかったけど、
わざわざ分けてるのはなんでだろう。
「送受信」で一個にまとめても良いような気がする。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
送受信しかしないならそういう構成もありかもね。
しかし、実際は
受信だけして終了とか、
送信を複数回するってパターンもあるんで、
機能としては送信と受信に分けておいた方が使い勝手が良いんだよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん。
こればっかりは動かしてみないとイメージ湧きそうにないなー。
マルチチャンネル仕様
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
そういえば、チャンネルが1個だけど、これが複数ってパターンは作れるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
できるよ。
マルチチャンネル仕様と言って、
割とそのままだけど、こんなイメージになるね。
![AUTOSAR-CanTp内部構成、チャネルを二つ。CanIf](https://www.simulationroom999.com/blog/wp-content/uploads/2020/08/03_マルチチャンネル仕様.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
おー、概念上は本当に増やすだけなのか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ実際のコードとしては、必要な機能の数だけ構造体の定義が増えるような実装になるねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
なんか機能の複製とかってオブジェクト指向っぽいねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ近い考え方かもだね。
送信、受信もベースに使用する構造体は同一で多態化と言って良いと思う。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
へー。ますますオブジェクト指向っぽい。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
大きな違いは、動的な複製はできないってところかな。
ECUに組み込む前提なんで、動的生成は許容されないことが多いから仕方のないことだけど。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
それでも簡単に複製できるってのはいいよねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
んじゃ、次回は、コンフィグレーションの詳細に入るよー。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- CanTpは送信、受信の1対で1チャンネルという概念になっている。
- チャンネルは複製可能
-
ただし、動的複製は不可。静的複製のみ。
-
バックナンバーはこちら。
コメント