バックナンバーはこちら
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側が対応しているならば、効率化するために有効化しておいた方が良い。
バックナンバーはこちら
コメント