【上流検証】最小構成のモデルベース開発事例 その36【Bypass②】

事例

バックナンバーはこちら

スポンサーリンク

はじめに

前回、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説明サイト(英語)

Detail
フクさん
フクさん

物理層はとりあえずは何でも良いけど、以下がメジャーどころだね

  • 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のDownloadUploadってのがある。
Bypass用のツールは大体STIM、DAQ設定を無視すると、勝手にCTO側で実現してくれるんで、
ちょっと動かくだけならば知らなくても良いかもしれない。
しかし、顧客が期待するスループットが分からない段階に於いては少なくともDAQは知っておいた方が良いと思うよ。

太郎くん
太郎くん

うーん、

ツールの設定に必要な知識なら知っておいた方だ良いかな・・・。

フクさん
フクさん

まぁXCPの具体的な流れは次回説明するよ。

まとめ

フクさん
フクさん

まとめだよ。

  • Bypassの標準的実現手段としてASAM XCPがある。
  • XCPの物理層はCAN/CAN-FD/Ethernetなど多岐に渡る。
  • Bypassを効率的に実現するにはSTIM、DAQの知識があった方が良い。
    • Bypass対応ツールもXCPの知識が前提となる設定項目が多い。

バックナンバーはこちら

コメント

タイトルとURLをコピーしました