【XCP】最小構成のMBD事例 第2章 その207【AUTOSAR⑬】

【XCP】最小構成のMBD事例 第2章 その207【AUTOSAR⑬】 事例
【XCP】最小構成のMBD事例 第2章 その207【AUTOSAR⑬】

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

はじめに

前回はDAQ list構築とODT_ENTRYの更新まで実施。
この段階ではまだDAQ listが存在するだけで、DAQかSTIMかの性質の話までは到達していない。

恐らく、今回辺りからSTIMが使えるかどうかの確認に入っていくはず。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

AUTOSAR-XCPのDAQ listモード設定コマンドの動作確認

フクさん
フクさん

DAQ listの構築とODT_ENTRYの更新ができたから、
DAQ listモードを設定する。
ここでそれぞれのDAQ listがDAQかSTIMか切り替わることになる。

太郎くん
太郎くん

もしSTIMが未対応だとここのコマンドでエラーとかでちゃうのか・・・。

フクさん
フクさん

そうなるね。

フクさん
フクさん

まぁ試してみよう。

DAQ listモード設定

xm.setDaqListMode(0x10, 0, 1, 1, 0) # DAQ,TimeStamp付き,イベントチャンネル1(10ms周期)に設定
xm.setDaqListMode(0x02, 1, 3, 1, 0) # STIM,TimeStamp無し,イベントチャンネル1(1ms周期)に設定

CAN回線ログ

# SET_DAQ_LIST_MODE
 0.586187 1  1               Rx   d 8 E0 10 00 00 01 00 01 00
 0.589431 1  2               Rx   d 1 FF

# SET_DAQ_LIST_MODE
 0.609550 1  1               Rx   d 8 E0 02 01 00 03 00 01 00
 0.610795 1  2               Rx   d 1 FF
太郎くん
太郎くん

STIMの方はTimeStamp用のフィールドは無しなのか。
まぁマスターから送るから不要で良いのか。

太郎くん
太郎くん

イベントチャンネルが
DAQは10msに対してSTIMは1msになってるね。
なんで?

フクさん
フクさん

STIMはイベントチャンネルに同期して実際のRAMに書き込みが実施される。
1ms周期に設定しておけば、ほぼ即時設定することになる。

太郎くん
太郎くん

なるほど。
10ms周期だと、STIMを発行してから実際に更新するまでに少し間が空いちゃうってことか。

太郎くん
太郎くん

それにSTIMの設定でエラーが出てないから、

一応STIMは対応できてるって体にはなってるってことだね。

START_STOP_DAQ_LIST

フクさん
フクさん

そのままSTART_STOP_DAQ_LISTでSelectedの状態にしてしまおう。

太郎くん
太郎くん

DAQ開始可能状態ってやつだね。
実際の開始はSTARRT_STOP_SYNCHコマンドだけど、その時に同時に開始させるための仕掛けだったね。

フクさん
フクさん

そうそう。
コードとしては以下になる。

res = xm.startStopDaqList(0x02, 0)
print("startStopDaqList #0", res)
res = xm.startStopDaqList(0x02, 1)
print("startStopDaqList #1", res)

結果

startStopDaqList #0 Container: 
    firstPid = 0
startStopDaqList #1 Container: 
    firstPid = 1

CAN回線ログ

# START_STOP_DAQ_LIST
 0.624222 1  1               Rx   d 4 DE 02 00 00
 0.625639 1  2               Rx   d 2 FF 00

# START_STOP_DAQ_LIST
 0.645136 1  1               Rx   d 4 DE 02 01 00
 0.645587 1  2               Rx   d 2 FF 01
太郎くん
太郎くん

これで完全にDAQとSTIMの準備ができたねー。

まとめ

フクさん
フクさん

まとめだよ。

  • AUTOSAR-XCPのDAQ listモード設定コマンドの動作確認実施。
    • SET_DAQ_LIST_MODEを実施。
      • STIM側はTimeStampFieldは不要なので削除指定。
      • さらにRAM値への更新速度を上げるため1ms周期。
    • START_STOP_DAQ_LISTを実施。

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

コメント

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