バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
今回はCANapeへのXCP関連の設定。
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
プロトコル設定
じゃ、
プロトタイプECUのXCP仕様に合わせて設定していこうか。
うん。
まずXCP versionは1.1で良いね。
versionが変ると何が変わるの?
大きな変化としては
Testコマンドの有無とか、
DTOパケット構成の「相対PID_WORD (3byte構成)」でFILLにしておく場所がカウンタになったりとかあるね。
今回使用する範囲では該当する仕様は無いんで、
最も基本的なversoin1.1にしておく。
シレっと膨大な情報が出てきた気がしたが。
今回は気にしなくて良いってことだよ。
うん。気にしない。
バイト順はMotorola形式
アドレス単位はBYTE単位だな。
MAX_CTOは255[byte]
MAX_DTOは1472[byte]
ブロックモードは未使用。
シードキーも未使用。
アドレス単位がBYTEじゃないことってあるの?
基本はBYTE単位だし、それ以外は見たことないんだけど、
ECU内のメモリアクセス効率を重視した場合、
BYTE単位じゃないくて、WORD、DWORD単位の方が良い。
ECUの負荷を下げる目的でBYTE以外もあり得るってことにはなるかな。
うーん、
なんかECU都合でバリエーションが増えるがメンドイよね。
私もそう思うが、
過去にこういう仕様が無いと困ることがあったんじゃないかな?
あとブロックモード、シードキーってなに?
気にしなくて良いが、簡単に説明。
ブロックモードはCTOの効率転送用の方式。
今回はスタンダードモードなんでブロックモードは未使用。
シードキーはXCP経由のキャリブレーションやリプログラミングをする際のセキュリティ機能だ。
これも今回使用しない。
最初の「気にしなくて良い」だけ良く聞こえたよ。
一応設定済みの画面はこんな感じ。
となりのタブの高度な設定も調整するよ。
あいよ。
プロトコル設定(高度な設定)
なんかむちゃむちゃ設定項目があるんだけど・・・。
全部デフォルトでOKだったりしない?
うーん、まぁデフォルト状態でも動作しそうだけど、
効率面を考えると調整しておいた方が良い項目はあるかな。
3つくらいだからそんなに構えなくてもいいよ。
3つくらいなら大丈夫かな。
修正する場所は以下かな。
MODIFY_BITS_DISABLED | いいえ |
SHORT_DOWNLOAD_DISABLED | いいえ |
SHORT_UPLOAD_DISABLED | いいえ |
DISABLE(許可しない)という設定項目で「いいえ」って・・・。
言いたいことは分かるが、
最初にできる状態が普通で、
それに対してできないようにしたんだけど、
XCPの仕様上出来ない方が普通って感じで
良く分からないことになってると思うんだよね。
製品仕様と標準仕様の攻めぎ合いの結果の姿なんだと思う。
ようわからんが、そういうものだと思っておこう。
で、それぞれの調整項目の意味は?
単純に使用して良いCMDを追加した感じ。
有効にしたCMDは以下。
MODIFY_BITS | ビット単位の更新 |
SHORT_DOWNLOAD | アドレス付きDOWNLOAD |
SHORT_UPLOAD | アドレス付きUPLOAD |
一応設定済みの画面はこんな感じ。
これらのCMDって標準仕様だと使わない方側なんだ?
厳密に言うとOptional(選択可)だね。
逆の必須CMDはMandatoryと呼ばれる。
うーん、
何がOptionalかも知っておいた方が設定で悩まなく済むってことなのかな。
そこらへんは難しいところだね。
ASAMとしての標準仕様に依存している部分と
CANapeという製品の仕様に依存している部分があるんで、
一概にこれって感じは無いよ。
最終的には慣れだな。
そんな身も蓋もない・・・。
続きは次回かな。
(これは結構かかるな。)
まとめ
まとめだよ。
- XCPにもversionが存在する。
- 最も基本的な構成はversion1.1。
- ブロックモードを使うとCMD効率的に動作する。
- しかし、今回は使わない。
- シードキーを使うとセキュリティロックが掛けられる。
- しかし、今回は使わない。
- MODIFY_BITS、SHORT_DOWNLOAD、SHORT_UPLOAD等はデフォルトでは無効になっている。
- ECU側が対応しているならば、効率化するために有効化しておいた方が良い。
バックナンバーはこちら
コメント