バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
AUTOSAR-Dcmのインターフェースの話。
図解して、さらにサブモジュールに分解。
登場人物
博識フクロウのフクさん

イラスト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-Dcm インターフェース仕様図解

よし!
頑張って図解資料作った!

では早速見せたまえ。

(この態度は・・・。)

とりあえず、こんなイメージ。


真ん中のPduRouterってのは?

本来であれば、configuratorが生成する部分なんだけど、
今回は自分たちで頑張って辻褄合わせのために実装する部分。

なるほど・・・。
DcmとCanTpのそれぞれのインターフェースの辻褄を合わせる感じか・・・。
AUTOSAR-Dcmの通信用バッファ

一個気になったんだけど、
送信にしても、受信にしても通信用のバッファってDcmが管理する感じなの?

そうだよ。

うーん、各レイヤごとに管理した方が分かり易くない?

メモリリソースが潤沢且つコピー処理のオーバーヘッドが無視できるレベルならば
そういう実装の方が良いだろうね。

あ、そうか。
ECUに実装されるものだからメモリリソースは必要最小限、
コピーも必要最小限な方が良いのか・・・。

省メモリ省コピーな設計実装方針という言われ方はするね。

AUTOSAR仕様もそれを踏襲しているわけなんだねー。
AUTOSAR-Dcmの内部構成

良く見るとAUTOSAR-Dcmの中も分割されてるね?
dslとdsdとdsp?
なんかの略称?

うん。
以下の略号。
- dsl:Diagnostic Session Layer
- dsd:Diagnostic Service Dispatcher
- dsp:Diagnostic Service Processing

それぞれの役割とかはどうなってるの?

表にまとめたよ。
Module | Formal name | Description |
---|---|---|
dsl | Diagnostic Session Layer | タイミングハンドリングと特殊なレスポンスの振る舞い。 |
dsd | Diagnostic Service Dispatcher | 各サービスへの処理割り振り(セッション、セキュリティによる判定含む) |
dsp | Diagnostic Service Processing | 各サービスの実際の処理とアプリ―ケーション層への要求。 |

タイミングハンドリングってP2時間とか?

P2*時間、S3時間も含まれるね。

dsdが各サービスへの振り分けをするんだけど、
実際はセッション別にサポートしているサービスが違ったり、
セキュリティでロックが掛かってることがあるからここで判定するんだね。

そして、dspが実際のサービス別の処理なんだけど、
処理自体が他の機能が持ってる情報へのアクセスなことが多いから
そこらへんをうまく取りまとめる役割って感じかな。

いいねー。
バッチリだよ!

まぁこれらの振る舞いを決定づけるコンフィグレーションが厄介なんだけどねー。

それは自分で言っててなんとなくそんな気がしたよ。
まとめ

まとめだよ。
- AUTOSAR-Dcmのインターフェース仕様図解した。
- 通信用のバッファはAUTOSAR-Dcm管理で、省メモリ省コピー型の設計実装になっている。
- AUTOSAR-Dcmの中は3つのサブモジュールで形成されている。
- dsl:Diagnostic Session Layer。
- dsd:Diagnostic Service Dispatcher。
- dsp:Diagnostic Service Processing。
バックナンバーはこちら。
ボッシュ自動車ハンドブック 日本語第4版
CAN入門講座: 組込みマイコンで学ぶCANプロトコルとプログラミング
CANおよびCANopenによる組み込みネットワーク
カーハッカーズ・ハンドブック ―車載システムの仕組み・分析・セキュリティ
車載イーサネット “クルマIT”高度化への基盤技術
詳解 車載ネットワーク -CAN、CAN FD、LIN、CXPI、Ethernetの仕組みと設計のために
自動車用ECU開発入門 システム・ハードウェア・ソフトウェアの基本とAUTOSARによる開発演習 (エンジニア入門シリーズ122)
車載ネットワ-ク・システム徹底解説: CAN,LIN,FlexRayのプロトコルと実装 (Design wave mook)
コメント