INITIALISATION |
0xFF 0xFF 0xE9 | |||||||||
Register No (hex) |
Data Name | Scaling | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0x00 | 車速センサ | Value (km/h) |
|
|
|
|
|
|
|
|
0x02 | スロットルセンサ | Value x 50 (V) | |
|
|
|
|
|
|
|
0x03 | 油温センサ | Value x 50 (V) | |
|
|
|
|
|
|
|
0x04 | バッテリ電圧 | (Value x 8) / 100 (V) | |
|
|
|
|
|
|
|
0x05 | ライン圧センサ | Value x 50 (V) | |
|
|
|
|
|
|
|
0x06 | エンジン回転数 | Value x 32 (rpm) | |
|
|
|
|
|
|
|
0x07 | 入力プーリー回転数 | Value x 32 (rpm) | |
|
|
|
|
|
|
|
0x08 | スイッチ1 | P/N : 08h R : 10h D : 04h L : 02h |
|
|
|
R | P / N | D | L | |
0x09 | スイッチ2 | IDLE SW : 01h アクセルFULL SW : 02h ブレーキ SW : 08h アイドル判定 : 10h |
|
|
|
アイドル判定 | ブレーキ | |
アクセル全開 | アクセル全閉 |
0x0a | スイッチ3 | ABS SW : 01h NON M MODE SW : 02h UP SW : 04h DOWN SW : 08h S MODE SW : 10h M MODE SW : 20h |
|
|
M MODE | S MODE | DOWN | UP | NON M MODE | ABS |
0x0b | ? | "00h" , "02h" のみ | |
|
|
|
|
|
|
|
0x0c | ステップモーターコイル の励磁状態 |
S/M COIL A : 04h S/M COIL B : 08h S/M COIL C : 10h S/M COIL D : 20h |
|
|
S/M COIL D | S/M COIL C | S/M COIL B | S/M COIL A | |
|
0x0d | CVT警告灯(スポーツ表示灯) /リバース以外状態 |
リバース : 04h CVT警告灯 : 08h |
|
|
|
|
CVT警告灯 (スポーツ表示灯) |
リバース以外 | |
|
0x10 | 速度 | Value (km/h) | |
|
|
|
|
|
|
|
0x11 | アクセル開度 | Value / 2.55 (%) | |
|
|
|
|
|
|
|
0x12 | セレクタポジション | P/N : 83h R : 84h D : 80h L : 82h |
|
|
|
|
|
|
|
|
0x13 | 入力プーリー2 | Value x 32 (rpm) | |
|
|
|
|
|
|
|
0x14 | CVT変速比 | Value / 100 | |
|
|
|
|
|
|
|
0x15 | CVT変速比2 | Value / 100 | |
|
|
|
|
|
|
|
0x16 | 実ステップ | Value? | |
|
|
|
|
|
|
|
0x17 | 実ステップ2 | Value? | |
|
|
|
|
|
|
|
0x18 | ライン圧デューティ | (Value x 64) / 100 (%)? | |
|
|
|
|
|
|
|
0x19 | ロックアップデューティ | (Value x 64) / 100 (%)? | |
|
|
|
|
|
|
|
0x1a | M-モード ギア位置 | Value + 1 | |
|
|
|
|
|
|
|
0x1b | 不明 | "00h" or "FFh" |
|
|
|
|
|
|
|
|
0x1c | 不明 | 常に"CAh" |
|
|
|
|
|
|
|
|
0x1d | ライン圧 | Value / 50 (MPa) | |
|
|
|
|
|
|
|
0x1e | ライン圧2 | Value / 50 (MPa) | |
|
|
|
|
|
|
|
0x1f | 出力プーリー回転数 | Value (rpm) | |
|
|
|
|
|
|
|
0x20 | 不明 | 常に"00h" | |
|
|
|
|
|
|
|
0x21 | 不明 | 常に"00h" | |
|
|
|
|
|
|
|
0x22 | 不明 | 常に"00h" | |
|
|
|
|
|
|
|
Doggie's Homeさんからいただいたソースを変更してCVT C/Uとの通信ができるようになりました。
ハードは簡単にできたものの、C言語で書かれたソースを書き直すために内容が理解できないとならないため、3000円弱する本まで購入しました。
ちなみに購入したのは後閑哲也著「C言語によるPICプログラミング入門」です。
自分はハードウェア(回路設計)専門で、ソフトウェアについては素人に毛が生えた程度。
ソースを読むことで多少は動作を理解できるレベルであって、関数とかを理解していないので地道にリクエストコマンドを書き換えて、ライタで書き換えて、実車確認という方法をとりました。
スイッチ入力からコマンドをインクリメント、デクリメントしてコマンドを送りなおすようなソフトがかければもっと簡単なんですが・・・。
実車確認については最初は家の周りを走りながら確認していたのですが、走行中に状態表示を確認するのは危険なのでフロントをジャッキアップすることで擬似走行状態にしました。
振動でウマが外れたりしたら危険なのですが・・・
さすがにPICにソース変更してコンパイルして書き込んで・・・なんてやっていたら時間がかかるので途中からはPCで解析をするようになりました。
VBHexTermというソフトを使いHEXモードにし、"FF"、"Enter"、"FF"、"Enter"、"E9"、"Enter"、"5A"、"Enter"、"Req. No."、"Enter"、"F0"、"Enter"でCVT C/Uからデータが送られてきます。
データが送られてきているときに"30"、"Enter"と送信するとデータ送信を止めることができ、違うデータを見たいときには"5A"、"Enter"、"Req. No."、"Enter"、"F0"、"Enter"を送ります。 (一度CVT C/Uと通信が確立すると FF FF E9 は送らなくていいようです)
"9F"、"Enter"、"F0"、"Enter"ですべてのデータが送ってくることがわかりました。
送られてくるデータは先頭が"20"で下の表の上から順番に送られてきて最後が"00"となります。
先頭の"20"は送信バイト数と思われます
"D1"、"Enter"、"F0"、"Enter"で自己診断コードが送られてきます。
"C1"、"Enter"、"F0"、"Enter"で自己診断結果をクリアするようです。
"D0"、"Enter"、"F0"、"Enter"でC/U品番をみることができるようです。
FF 0D 01 11 43 48 34 36 33 30 57 46 31 30 30 と送ってくるのですが、後半の 57 46 31 30 30 がWF100となります。
PLMSさんのE-ATのデータが非常に参考になりました。
最近は助手席に小学一年生の息子を乗せて走行しながらノートPCとの通信内容を読んでもらっています。
ということでCVT C/Uとの通信ができたので解析できたものからリストにしていきます。
Doggieさんの情報も組み込んでいます。
ちなみにPLMS Designs Homepageには通信プロトコルやECUデータレジスタのPDFファイルがあります。
Protocol PDF - Updated to Issue 6
Generic Nissan ECU data register table PDF