【XCP】最小構成のMBD事例 第2章 その224【CAN-FD①】

【XCP】最小構成のMBD事例 第2章 その224【CAN-FD①】 事例
【XCP】最小構成のMBD事例 第2章 その224【CAN-FD①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回は、ついに仮想ECUと仮想HILSの連携動作を実現した。
さらに変数の精度を上げることでさらに良くなるかも?

しかし、変数精度を上げるためにはXCPのODTに載せるデータサイズを大きくする必要があり、
4byte長になると1ODTあたり1変数しか乗せられない。
これだとレイテンシが下がって別の問題で制御が粗くなる可能性が高い。

というわけで、解決策としてCAN-FDの話が出たが・・・。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

XCPonCAN-FD

太郎くん
太郎くん

前回の最後にXCPonCAN-FDって言葉が出てたけど、
何がどう解決するのかさっぱりわからないんだけど?

フクさん
フクさん

XCPonCANで変数のデータサイズを大きくした際の課題として、
1ODTあたりに載せられる変数の数が減ってしまうってのがあったよね?

太郎くん
太郎くん

うん。
4byte長だと1ODTに結果的に1変数しか乗せられないから、
その分ODTを増やすことになって、
現状では1ODTで済んでるのが3ODTになっちゃう。
って問題。

フクさん
フクさん

その通り。

フクさん
フクさん

じゃ、1ODTに4byte長の3変数を載せたい場合はどうすれば良い?

太郎くん
太郎くん

いや、それが無理だから問題になってるのでは・・・?

ODTの長さを決めているのは?

フクさん
フクさん

そもそも今回の1ODTの長さって何で決まってる?

太郎くん
太郎くん

たしか、CANのデータフィールドが8byteで、
先頭1byteがPIDで使われて、残りの7byteがODT_ENTRYとして割り付けられる。
って理屈だったと思う。

フクさん
フクさん

じゃ、その8byteが長くなれば?

太郎くん
太郎くん

長くなれば、その分ODT_ENTRYを載せられるようになるんじゃない?

フクさん
フクさん

長くするには?

太郎くん
太郎くん

え?しらないよー?
CANの仕様だし。

フクさん
フクさん

じゃ、そのCANの部分をCAN-FDにしたら?

太郎くん
太郎くん

CAN-FDのデータフィールドって
確か最大64byte

太郎くん
太郎くん

・・・あ!

太郎くん
太郎くん

そうか!
64byte分あるから4byte長変数が3つあってお釣りがくるレベルだ!

太郎くん
太郎くん

それでXCPonCAN-FDが解決法になるってことなのか。

フクさん
フクさん

そういうことだねー。

具体的に何をしていく?

太郎くん
太郎くん

と言ってもいままでXCPonCANでやって来たわけで、
そこからCAN-FDに切り替えるのって大変じゃない?
またとんでもない回数重ねちゃうの?

フクさん
フクさん

CANとCAN-FDは仕様的には似てるし、
それほど手間はかからないと思う。
AUTOSAR-XCPも8byteという制限があるわけではないから、
なんとかなるんじゃないかな?

太郎くん
太郎くん

でも、何をどうすれば良いのか・・・。

フクさん
フクさん

まぁ次回、現状を把握して、今後どうしていくか決めよう。

まとめ

フクさん
フクさん

まとめだよ。

  • XCPonCANとしての課題を明確化。
    • CANのデータフィールド8byteの仕様がODTの限界値を決めていた。
    • よって、データフィールドが長くなれば解決と言える。
  • CANのデータフィールドの上限が8byteに対し、CAN-FDは64byte。
    • よって、4byte、3変数が載っても十分な長さ。

バックナンバーはこちら。

コメント

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