バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
CANapeへのXCP関連の設定の続き。
登場人物
博識フクロウのフクさん
イラスト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関連の設定の続きだよ。
後、どのくらいあるの?
項目としては
- イベントリスト
- DAQリスト
- トランスポート層
だね。
じゃあ、やりますか・・・。
イベントリストは多分あまり詳しくは説明していない。
え?そうなの?
DAQがイベントと同期だどうのは言ってた気はしたけど。
うん。
その通りでDAQリストを送信するタイミングを作り出す重要な概念。
結構設定はメンドクサイ?
今回は特に複雑なものはないね。
プロトタイプECUの仕様によると、
\(1[ms]\)タイマによるイベントがあるだけのようだ。
TimeStampフィールドのデータ長はDWORD。
TimeStampの精度は\(1[us]\)
なので、設定としては以下になる。
リストという割には1個で済むんだ。
今回はたまたまだね。
実際はもっとあることが多い。
どちらにしても今回はシンプルでよかった。
DAQリスト
次はDAQリストだな。
これも説明していなかったけど、
DAQリストにはStaticDAQとDynamicDAQの2種類に大別される。
今回はDynamicDAQなんで、DAQリストの一般設定は何も入れなくて良い。
StaticDAQとDynamicDAQの違いは?
StaticDAQは最初からDAQリスト構成が決まっている状態。
DynamicDAQはCMDのALLOC_DAQ、ALLOC_ODT等で動的にDAQリスト構成を決められる、
って違いがある。
DynamicDAQの方が主流っぽいけどね。
DynamicDAQの方が簡単ってことかな?
実装する側としてはDynamicDAQの方が手間かかるだろうね。
でも、計測の自由度が無くなるんで、結果的にDynamicDAQを選択せざる得ない感じ。
これもECUの負荷を想定したoptionalな仕様ってことかー。
あと、DAQリストの拡張設定を調整する必要があるね。
任せた。
(だんだん頭が付いてこれなくなってきてるな・・・。)
DAQリスト(拡張設定)
MIN_DAQは0。
識別子フィールドタイプは4byte構成のRelative_Word_Aligned。
オーバーロード通知は無いな。
ODTの最適化型はBYTEなんでデフォルト。
アドレス拡張は使わない。
単位はBYTE。
MAX_ODTは255。
整合性モードはDAQだな。
最適化型ってなに?
1要素の大きさを示してる。
大体byteだけどね。
これもECU都合に変わってくるやつなんだな。
「高度な設定」も調整するの?
ここは調整しなくても良いね。
トランスポート層
次で最後だ。
トランスポート層ってところだね。
ここはプロトタイプECUのIPアドレスとポート番号とプロトコルを指定すればOK。
IPアドレスは192.168.40.20。
ポート番号は5000。
プロトコルはUDP。
これはXCPと関係ないネットワーク設定だからイメージ湧くな。
「高度な設定」の方で、PACKET_CTRをオンにしておこう。
PACKET_CTRってXCPパケットの外側にいたCTRってやつ?
デフォルトだとオフになっているんだ。
そうみたいだね。
XCPの仕様としてはオフのパターンは無かったと思うが、
CANapeとしてはCTRが無いことも想定しているようだ。
ここら辺はXCPの初期のころの仕様の揺らぎの名残なのかもね。
仕様の揺らぎって、標準仕様なのに。
内容を入力してください。標準仕様って聞くと絶対的な響きはあるが、
必ずしもそうとは限らない。
時代の流れで、最適な標準は変わっていくんで、
どうしても揺らぎってのは発生すると思った方が良いね。
そういうもんかぁ。
難しいなぁ。
で、これで計測できる状態?
XCPの設定は出来たと思うけど、
計測はまだだな。
ASAP2 Studioで変数定義しないと。
(ホント、次から次へといろいろ出てくるな。)
まとめ
まとめだよ。
- DAQリストを駆動させるイベントの定義が必要。
- DAQリストタイプはStaticDAQとDynamicDAQの2種類がある。
- 今回はDynamicDAQ
- トランスポート層はEthernetとしての設定。
- デフォルトではCTRがオフになっているので、オンに切り替える。
バックナンバーはこちら
コメント