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

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

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

はじめに

前回までで、PyXCPにXCPonCANFDの動作確認が完了した。
Bitrate_switchが効かないなどの問題はあるが、
実験をする上では問題にならないだろう。

これらの実験結果を元にxcp_canクラスを改造していく。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

xcp_canクラス改造箇所

太郎くん
太郎くん

今回はxcp_canクラスを改造するんだっけ?

フクさん
フクさん

そうだね。
方針は以下だ。

  • コンフィグレーションを弄ってCANからCAN-FDに変える。
  • DAQ listのODT_ETNRYのデータ長変更(16bit→32bit)
  • DAQの受信レイアウト調整
  • DAQ受信データの物理値変換(1/65536→浮動小数点)
  • STIMの送信レイアウト調整
  • STIM送信時のrawデータ変換(浮動小数点→1/65536)
太郎くん
太郎くん

これは・・・。
思ったよりもいろいろあるな・・・。

フクさん
フクさん

仮想HILSにXCPの都合を見せないようにしている部分だからね。
ここに修正が集中し易い。
って事情はあるね。

太郎くん
太郎くん

逆言うとここがちゃんと動けば、ゴールは見えてくるってことか。

フクさん
フクさん

その通り。

コンフィグレーションを弄ってCANからCAN-FDに変える

フクさん
フクさん

まずはコンフィグレーション用のJSON記述の修正だ。

太郎くん
太郎くん

これはPyXCPのCAN-FD実験で大体わかってるところだね。

フクさん
フクさん

そうそう。
以下に修正すればOKなはずだ。

def __init__ ( self,reqid=1, resid=2, bitrate=500000, fd=True, data_bitrate=2000000, appname="PyXCP-CANFD", serial=0 ):
	# コンフィグレーションパラメータ(JSON文字列)の作成と読み込み
	JSON = """{
	"TRANSPORT": "CAN",
	"CAN_DRIVER": "Vector",
	"CAN_USE_DEFAULT_LISTENER": true,
	"CHANNEL": "0",
	"CAN_ID_MASTER":""" + str(resid) + """ ,
	"CAN_ID_SLAVE": """ + str(reqid) + """,
	"CAN_ID_BROADCAST": 256,
	"MAX_DLC_REQUIRED": false,
	"CREATE_DAQ_TIMESTAMPS": true,
	"BITRATE": """ + str(bitrate) + """,
	"FD":""" + str(fd).lower() + """,
	"DATA_BITRATE": """ + str(data_bitrate) + """,
	"APP_NAME": """ + "\"" + appname + "\""  + """
	}"""
	CONF_JSON = StringIO(JSON)
	CONF_JSON.name = "conf_can_vector.json"
	CONFIG = readConfiguration(CONF_JSON)
	
	# コンフィグレーションを元にXCPマスターの生成
	self.xm = Master('can',config=CONFIG)
太郎くん
太郎くん

SERIALは消して、
FDとDATA_BITRATEのパラメータが増えただけだね。

フクさん
フクさん

こんな感じで残りの修正箇所も見て行こう。

まとめ

フクさん
フクさん

まとめだよ。

  • xcp_canクラス改造箇所を整理。
    • 予想以上に多いが、仮想HILSにXCPの都合を見せないための部分なので修正内容が集中し易い。
  • コンフィグレーション用のJSON記述の修正。
    • 事前のPyXCP CAN-FD実験を元に修正。
      • SERIALを消して、FDとDATA_BITRATEと追加。

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

コメント

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