バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
前回、Bypassが何者かの概要を説明。
今回はもう少し具体的な実現手段について。
登場人物
博識フクロウのフクさん
イラスト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
Bypassの実現手段
Bypassが何かしらの通信回線を使ってPCとやり取りするってのはわかったけど、
具体的にはどんなやり取りをしているの?
必ずこれってものではないのだけど、
XCPというプロトコルを使っているのが一つの標準かな。
XCP?はじめて聞いた。
欧州のASAMって組織で策定されている
ECUの
- モニタ
- キャリブレーション
- リプログラミング
を実現するための標準プロトコルだね。
ASAM XCP説明サイト(英語)
物理層はとりあえずは何でも良いけど、以下がメジャーどころだね
- CAN/CAN-FD
- Ethernet
- FlexRay
- USB
今回はEthernetを使うことになると思う。
これって仕様書は入手できるの?
ASAMに加盟することで入手可能になる。
太郎くんの会社は加盟してる?
うーん、そんな話は聞いた事ないなぁ。
(まぁXCPというキーワードを知らなかったところから考えてもそりゃそうか。)
加盟しないとダメそう?
仕様書が必須ってわけでもないので、一旦無視で良いよ。
XCP
で、XCPって具体的にはどんなものなの?
うん。パケットの種類は割と少なくて、以下2種類
- CTO(Command Transfer Object)
- コマンドを送り、レスポンスを返すタイプ
- DTO(Data Transfer Object)
- 一方的に送信。スループット&リアルタイム性重視
絵で描くとこんなん。
このSTIMとDAQってのは?
DAQはData AcQuisitionの略で、
ECU側で割込み等の何かしらのイベントが発生したらマスタ側へ変数群を送信する機能。
STIMはSTIMulation(刺激)の略で、
ECU側が想定した周期で変数群をマスタからECUへ送る機能。
変数群?
うん。
事前に変数群の情報として以下をCTOを使ってDAQリストってのを構築するんだ。
- アドレス
- サイズ
そして、変数群の並びが確定している状態でSTIM,DAQのやり取りをすると高スループットが期待できる。
うーん、やはりイマイチ把握できない。
ここら辺って実は知らなくても良かったりとかしない?
うーん、どうだろうか。
変数の読み書き自体はSTIM、DAQ以外にCTOのDownload、Uploadってのがある。
Bypass用のツールは大体STIM、DAQ設定を無視すると、勝手にCTO側で実現してくれるんで、
ちょっと動かくだけならば知らなくても良いかもしれない。
しかし、顧客が期待するスループットが分からない段階に於いては少なくともDAQは知っておいた方が良いと思うよ。
うーん、
ツールの設定に必要な知識なら知っておいた方だ良いかな・・・。
まぁXCPの具体的な流れは次回説明するよ。
まとめ
まとめだよ。
- Bypassの標準的実現手段としてASAM XCPがある。
- XCPの物理層はCAN/CAN-FD/Ethernetなど多岐に渡る。
- Bypassを効率的に実現するにはSTIM、DAQの知識があった方が良い。
- Bypass対応ツールもXCPの知識が前提となる設定項目が多い。
バックナンバーはこちら
コメント