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

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

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

はじめに

前回はPyXCPのCAN-FD対応の動作確認向けのコード修正を実施。
CAN-FD対応だけであればコンフィグレーションのJSON記述を変更するだけだが、
動作確認を加味するとUPLOAD、DOWNLOADのサイズ、DAQ listのODTのデータ長を変える必要がある。
ODTのデータ長はODT_ENTRYの数を増やすことで伸ばす。

今回はこれらの動作確認となる。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

PyXCPのCAN-FD対応の動作確認結果

太郎くん
太郎くん

じゃー、とりあえず動作確認用のコードを走らすよー。

・・・動作確認中・・・

太郎くん
太郎くん

一応、一通り動作したっぽい。

フクさん
フクさん

あとは、CAN-FDならではの部分のCAN回線ログを見て、効果の確認だな。

UPLOAD

太郎くん
太郎くん

まずは。UPLOAD。

Timestamp: 1641109999.272150 ID: 0001 S      DLC:  2 f5 20 Channel: 0
Timestamp: 1641109999.272838 ID: 0002 S DLC: 48 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Channel: 0
太郎くん
太郎くん

お!
DLCが48byteになってる。
これはちゃんとCAN-FDのフレームに切り替わってるね。

DOWNLOAD

太郎くん
太郎くん

次はDOWNLOAD。

Timestamp: 1641109999.318697 ID: 0001 S      DLC: 64 f0 2f aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Channel: 0
Timestamp: 1641109999.319721 ID: 0002 S F BS DLC:  1 ff Channel: 0
太郎くん
太郎くん

これもOKだね。

フクさん
フクさん

データ長が64byteまで拡張されているし、CAN-FDとして動作していると言えるだろう。

フクさん
フクさん

(でもなんか変だな・・・。)

DAQ

Timestamp: 1641125205.988688 ID: 0002 S Rx F BS DLC: 24 00 66 4c aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    Channel: 0
Timestamp: 1641125205.998575 ID: 0002 S Rx F BS DLC: 24 00 70 4c aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    Channel: 0
Timestamp: 1641125206.008545 ID: 0002 S Rx F BS DLC: 24 00 7a 4c aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    Channel: 0
Timestamp: 1641125206.018580 ID: 0002 S Rx F BS DLC: 24 00 84 4c aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    Channel: 0
Timestamp: 1641125206.028517 ID: 0002 S Rx F BS DLC: 24 00 8e 4c aa 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    Channel: 0
Timestamp: 1641125206.036930 ID: 0001 S Rx DLC:  5    01 11 22 33 44 
太郎くん
太郎くん

これもOKか。

フクさん
フクさん

うーん、少しまずいことになってきたな・・・。

太郎くん
太郎くん

え゛

フクさん
フクさん

PyXCP。
どうやらCAN-FDのフレームは受け取れているようだが、

CAN-FDのフレームを送出できていないようだ。
CAN回線ログ上にPyXCP側から送信したフレームはF、BSのフラグが入っていない。
これはCAN-FDのフレームになっていないってことだ。

太郎くん
太郎くん

えーーー!!
なんでー!

フクさん
フクさん

これはかなり厄介な誤算だな。

太郎くん
太郎くん

ど、どうするの?!
PyXCPがCAN-FDできる前提で話が進んでいるのに!

フクさん
フクさん

PyXCPもいろいろversionがあるから、少し調べて来よう。

太郎くん
太郎くん

頼むよ~~~~。

まとめ

フクさん
フクさん

まとめだよ。

  • PyXCPのCAN-FD対応の動作確認の結果を確認。
    • 一見するとうまく動いているように見える。
    • が、どうやらPyXCP側からの送信フレームがCAN-FDになっていない。
  • 少なくともCAN-FDフレームの受信はできている。
    • PyXCPもVersionがあるので、Version別の挙動を確認してみる。

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

コメント

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