バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
車両診断通信のネットワーク層の話。
アドレッシングフォーマットの続き。
登場人物
博識フクロウのフクさん
イラスト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
Extended addressing
前回の続きで次はExtended addressing
構成はこんなん。
ちなみに11bitと29bitどっちもある。
CANID | DataField | |
---|---|---|
1byte | 2byte~ | |
N_AI | N_TA | – |
あれ?
今までのアドレッシングフォーマットはCANIDの中で閉じてたけど、
これはDataFieldも使うんだね。
そうだね。
Normal addressingにN_TAの情報を付加して拡張版としたイメージだね。
これはどういう特性があるの?
私もこのアドレッシングフォーマットは見たことないので、推測になるが、
- 元々Normal addressingで運用していた。
- ノード数が増えてCANIDが枯渇し始めた。
- N_AIを固定にしてN_TAでハンドリングし始めた。
って感じではなかろうか。
Normal addressingのN_AIがノード数分あるのに対して、
Extended addressingはノード数ではなく、物理アドレスと機能アドレスグループの分だけで済むって効能がある。
なるほど。
Normal addressingはCANID毎に意味を持たせていたから、枯渇し易いのか。
IPv6を彷彿させる話だね。
11bit Mixed addressing
次はMixed addressingの11bitIDの場合。
構成はこんなん。
CANID | DataField | |
---|---|---|
1byte | 2byte~ | |
N_AI | N_AE | – |
ん?なんかExtended addressingに似てるね。
N_TAがN_AEになったくらい?
実は一緒ってオチはない?
N_AEの役割が重要になるんだよ。
IPアドレスでいうところのネットワーク部に相当するもので、
ゲートウェイを跨いだ通信がすることが想定される場合に使われるイメージ。
まぁN_TAもゲートウェイを跨いではいけないという理由は無いので、結果的には一緒ってオチはあり得る。
ただ、動機が異なることだけは覚えておいた方が良いね。
なるほど。
似てるけど、こっちはゲートウェイを意識しているってことか。
29bit Mixed addressing
で、気づいたかもしれないけど、Mixed addressingは11bitIDと29bitIDで大きく異なる。
29bit Mixed addressingの構成はこんなん。
CANID | DataField | ||||
---|---|---|---|---|---|
24-28[bit] | 16-23[bit] | 8-15[bit] | 0-7[bit] | 1byte | 2byte~ |
0x18 | N_TAtype | N_TA | N_SA | N_AE | – |
N_TAtypeは、
物理アドレスの場合は0xCE。
機能アドレスの場合は0xCD。
これは、前回出たNormal fixed addressingにそっくりだね。
ということはNormal fixed addressingで且つゲートウェイを意識したアドレッシングフォーマットってことか!
たぶんそうだと思う。
ECUがむちゃむちゃ増えることを想定した一番なんでもありなアドレッシングフォーマットだね。
ただ、ネットワーク設計をきっちりする必要があるので、
これもあまり日の目を見ないのも事実で、私も実際にこの仕様で動いているのは見たことない。
アドレッシングフォーマット考察
アドレッシングフォーマットっていろいろあったけど、
どれが良く使われるのかな?
うーん、私の経験則になってしまうが、
Normal AddressingとNormal fixed addressingがほとんどじゃないかなぁ。
理由はいろいろあるんだろうけど
DoCANの前身でKWP2000と呼ばれる通信フォーマットがあるんだけど、
あれの仕様を可能な限り踏襲するとNormal AddressingかNormal fixed addressingになるんだよ。
あと、すべてのECUが車両診断通信に対応する必要もないので、
ECUの数が増えたことが直接N_AI、N_TA枯渇ってわけでもないんだよね。
キーワードプロトコル2000 (Key Word Protocol、KWP2000と略記)とは、 車載診断システム(OBD)に使用される通信プロトコルで ISO14230という国際規格に準拠した自動車のダイアグノシス通信規格のことである。
Wikipediaより(https://ja.wikipedia.org/wiki/KWP2000)
このプロトコルは、コンピュータネットワーキングにおいてOSI参照モデルアプリケーション層から、通信セッションの開始、維持、終了に関してOSIモデルのセッションレイヤーまでカバーしている。
車両診断通信しなくてもよい?
たしか法規的に対応しないとダメだったと思ったけど。
法規的に対応するのはエミッション系と呼ばれるもので、
エンジン制御とトランスミッション制御のように排ガスに関連のあるECUなんだよね。
それ以外は法規的には求められていない。
ってことは枯渇はしない?
法規要件だけだったらね。
故障診断通信としては工場での組付け後動作確認や市場不具合解析の目的もあるんで、
ここらへんの費用対効果があれば実装されることは多い。
よって、完成車メーカの方針次第ってことになるね。
どちらにしてもいずれ枯渇するかもしれないし、
知っておいて損は無いってことか。
そうなるね。
まとめ
まとめだよ。
- Extended addressingはNormal addressingのN_TA追加の拡張版。
- Mixed addressingは11bitID版と29bitID版がある。
- 11bitID版はNormal addressingベースのゲートウェイ越え想定版。
- 29bitID版はNormal fixed addressingベースのゲートウェイ越え想定版。
バックナンバーはこちら。
コメント