バックナンバーはこちら。
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のコンフィグレーションの詳細に入る。
これはAUTOSAR-CanTpの仕様書を見れば良いのかな?
AUTOSAR_SWS_CANTransportLaye r4.3
まぁ最初はそうなんだけど・・・。
一応、該当すると思われる仕様を抜き出してみよう。
要件番号 | 要件 | 要約 |
---|---|---|
[SWS_CanTp_00035] | A CAN NSduId shall only be linked to one CAN LSduId that is used to transmit SF, FF, FC and CF frames. | 要は、SF/FF/FC/CFのフレームで使用するCANIDを確定しろって話。実際には送信/受信で1トランザクションなので、結果的に2つのNSduIdを用意しないと通信ができない。USBエンドポイントと似たような感じ。 |
[SWS_CanTp_00122] | Each connection channel is independent of the other connection channels. This means that a connection channel uses its own resources, such as internal buffer, timer, or state machine. | チャネルは他のチャネルには依存しない。ちなみにチャネルはバッファ、タイマ、状態機などのリソースを内包したもの。USBpipe、TCPsocketと似たような感じ。 |
[SWS_CanTp_00340] | Data structure type for the post-build configuration parameters. | コンフィグレーション定義はポストビルドパラメータとする。コードとして埋め込む必要はない。が埋め込んでも良い。 |
・・・。
・・・。
どういうこと?
チャンネルって概念の説明と、
内部の状態遷移とか管理する構造を持ちなさいって話と、
コンフィグレーション定義はビルド後に決定するパラメータとしても良いよー。
って言ってるね。
具体的にどうするかってのは?
AUTOSAR_SWS_CANTransportLayer.pdfの
10.2 Containers and configuration parameters以降でいっぱい書いてる。
(絶望)
(また絶望してる・・・。まぁそりゃそうなんだけど。)
AUTOSAR-CanTpのコンフィグレーション構造
まぁこれは絵を見て全体像を把握するのが手っ取り早いね。
AUTOSARの仕様書には記載されていないけど、
絵に起こすとこんな感じになる。
おー、UMLっぽい書き方だねー。
これだとなんとなく分かる。
本来だとAUTOSAR仕様もUMLでコンフィグレーション構造を記載することになってるんだけど、
CanTpに関しては何故か無いんだよねー。
そうなの?
なんで?
推測になるが・・・。
AUTOSARの前身にOSEKってのがあるんだよね。
OSEK(オーゼック、独:Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug、英語:Open system together with interfaces for automotive electronics(車載電子機器用の公開インタフェース及びシステム))は、自動車制御を行うエンジンコントロールユニット(ECU)で用いるプログラムの業界標準作成を目標としてドイツの自動車産業が1993年に設立したプロジェクトである。 また、そのプロジェクトが規定したオペレーティングシステム仕様も指す。
Wikipediaより(https://ja.wikipedia.org/wiki/OSEK)
CanTpってこのOSEK時代からあるものを、割とそのまま踏襲しているみたい。
よって、そのままで使えるじゃんってことで一旦放置されてるのかも。
放置って、そんなんあり?
まぁ標準仕様作成の作業優先度の問題もあれば、
実績があるからそのままってのも理由かもね。
まぁここに文句を言っても始まらないかー。
で、具体的なコンフィグレーションはどうするの?
本来得あれば、コンフィグレータを使用するんだけど、
今回は無理やりCanTpを引っこ抜いてきた手前、手動で構造体の実態を定義していくことになる。
まじか
まぁそこまで複雑ってことも無いんで、
次回あたりにざっと書いてみようかと思う。
まとめ
まとめだよ。
- CanTpのコンフィグレーション構造はAUTOSAR仕様に記載されている。
- しかし、UMLによる表記無し。
- OSEK時代からの踏襲であるため更新優先度が下がってる可能性あり。
- 今回はコンフィグレータを使用せず、手動で該当の構造体実体を定義していく方針。
バックナンバーはこちら。
コメント