ec2-3-236-112-101.compute-1.amazonaws.com , 8427th | 2017/10/16 UPDATED |
物理仕様は K-LINEで、high:12V, low:0V, 通信速度は 15,384bps S8N1である。
診断信号線は、バッテリー付近にある緑色の線のギボシ短絡を外して使用するが、通常時の短絡先はメーターユニットへ信号が行っていて、昔からある長点灯+点滅何回的な信号が出力される。 メーター側はこの原始的診断信号を翻訳して液晶画面にエラーコードを表示するようになっているようだ。
電源投入後 15,384bpsの通信モードへ突入するには、開始コマンドを送信する必要がある。
PC | ECU | |||
---|---|---|---|---|
fd | → | 電源起動から 100ms以内。 時間が過ぎると受付されない。 | ||
← | 00 00 00 00 00 | 通信モードに移行すると00が5バイト返ってくる |
DIAGモードへ突入するには、0xce (MODEボタン押下)コマンドを、v2 = 0x40のタグパケットが返るまで送出し続ける。
ちなみに、DIAGモードではエンジン始動が無効化されるため、走行中に使用する事はできない。
PC | ECU | |||
---|---|---|---|---|
ce | → | 15ms毎に繰り返し | ||
← | 00 00 80 00 80 | 突入中 | ||
ce | → | 15ms毎に繰り返し | ||
← | 00 00 40 d0 10 | 準備中 | ||
ce | → | |||
← | 00 00 40 01 41 | [D01]モード | ||
・ | ||||
・ | ||||
・ | ||||
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
コマンド | |||||||||||
PC→ECU | 1 | 0xfd | 通信モード移行 | ||||||||
PC→ECU | 1 | 0xca | ボタン解放 | ||||||||
PC→ECU | 1 | 0xcb | UPボタン押下 | ||||||||
PC→ECU | 1 | 0xcc | DOWNボタン押下 | ||||||||
PC→ECU | 1 | 0xce | MODEボタン押下 | ||||||||
レスポンス | |||||||||||
PC←ECU | 5 | v0 | v1 | v2 | v3 | SUM | SUM = (v0 + v1 + v2 + v3 ) & 0x0ff |
通常はボタン解放コマンド 0xcaが 15ms間隔で送出され、8回に一度 v2 = 0x40のタグパケットが返ってくる。
タグパケット以外の 7回はデーターパケットとなる。
ツール側で、UP/DOWNが押下されると、押されいる間 15ms毎に 0xcb(UP)、0xcc(DOWN)が送出される。 ECU側でメニュー推移が行われると、タグパケットの診断番号が推移し、データーパケットに推移された診断データーが出力される。
UP/DOWNコマンドを送ったら、タグの番号が推移するまで 0xcaを送り続け、推移後のデーターパケットを使って処理を進める。
[D01] スロットル開度
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 1 | 0x41 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v | SUM | 開度 = v / 2.06 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 3 | 0x43 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v | SUM | 吸気圧 = v / 2.02 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 5 | 0x45 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v | SUM | 吸気温 = v - 30 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 6 | 0x46 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v | SUM | 水温 = v - 30 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 7 | 0x47 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | v1 | 0 | v2 | SUM | v1, v2 単位時間あたりの車速パルス数。 パケットが一巡(8フレーム)する時間を t、データーフレーム中の v1, v2の合計を nとすると、車速[km/h] = (3600 / t) * n * 0.23 (車速1パルス=23cm) |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 8 | 0x48 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | センサ電圧[v] = 0.02 * v1 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 9 | 0x49 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | バッテリー電圧[v] = 0.073 * v1 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 0x14 | 0x54 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | off:v1 = 0xf0, on:v1 = 0 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 0x3e | 0x7e | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | v1: エラー総数 |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 0x43 | 0x83 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | v1: フラグ |
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
タグパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0x40 | 0x46 | 0x86 | |||||
データーパケット | |||||||||||
PC←ECU | 5 | 0 | 0 | 0 | v1 | SUM | v1: プログラムNo.(?) |
0xFD初期化後、モニターコマンドを送信すると、エンジンの稼働状況をモニターすることができる。 DIAGモードはエンジンの始動ができないが、モニターモードは始動可なため走行中でも使用が可能である。
回転数, 水温, エラー値
通信方向 | LEN | +0 | +1 | +2 | +3 | +4 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
コマンド | |||||||||||
PC→ECU | 1 | 0x01 | モニター項目 #1 | ||||||||
データーパケット | |||||||||||
PC←ECU | 5 | rpm | ?? | err | temp | SUM | 回転数 = rpm * 50 エラー番号 = err & 0x7f 水温 = temp - 30 エラー番号が複数個ある場合、128回読み出す毎に順番に出力される |
-- LINK FREE -- |
||
HOME | LAST |