【CONSULT Information】日産自己診断コネクタ CVT C/U DATA解析

2004/5/23 / Last update:2007/11/18(ほぼ完了)

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ファイルがあります。

pdf icon Protocol PDF - Updated to Issue 6

pdf icon Generic Nissan ECU data register table PDF


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"