純正ECU読み出し
目的 |
チューニング・カスタム |
作業 |
DIY |
難易度 |
初級 |
作業時間 |
3時間以内 |
1
はじめに・・・
動作保証しません!
十分なテストがされていません!
意図せぬ結果を招く場合があり、
誰かの財産や命を奪うことになる場合もありますが
いかなる場合も私は責任を負いません。
”それは困る!”と言う方は記事を見るだけにしてください^^;
それから説明が必要最低限レベルですみません・・・・
後日、詳しく書き加えていくつもりですので
なんとか理解をお願いします。
あと、読み出した内容はおそらく著作物なので取り扱いにはご注意くださいませ。
2003~2009年製造車搭載のECUでのみの動作チェック。
2002年、2010年以降の新ECUでも基本的に動きそうですが、まだ試していません。
腰が重いだけですので
気が向いたらやってみます、、、
※前期L902Sとか別な車両に流用する場合は、オシロでRESETとBKPTの立ち上がりが
同時(1us以下ぐらい?)になっているか確認してください。
ずれてる場合はうまく動きません。
コペンのECUでの下記現象の対策の為、ずれてる可能性があります。
http://minkara.carview.co.jp/userid/323388/blog/19954792/
また、BDMモード動作中にRESETがかかっていないか確認してください。
BDMのGOコマンド発行後、再度BDMモードに入る際にはRESETとBKPTを同時に立ち上げる動作となります。
2
秋月電子の
USBマイコンボード 完成品(PIC18F2550)
にプログラム(cpnecurd.hex)を書き込みます。
書き込み方はあえて説明しませんw
↓パッケージ
ttp://members.tripod.com/lets_play_dai/cpnecurd.lzh
今回はMicrochip MPLAB ICD 2 を使用しました。
3
結線は以下です
+++++++++++++++++++++++++++++++++++++++++++++
※結線を間違えると一般的にECU,PICが壊れます。
+++++++++++++++++++++++++++++++++++++++++++++
PIC結線
RB0→(100Ω抵抗)→P825(RESET)
RB1→(100Ω抵抗)→P805(DSCLK)
RB2→(100Ω抵抗)→P803(DSI)
RB3→(100Ω抵抗)→P804(DSO)
RB4→(100Ω抵抗)→P814(Freeze)
VDD→P812(VDD)
GND→P836(VSS)
RC7→(10kΩ抵抗)→VDD(USRTを生かしてあるので入力を固定する意味)
ジャンパ→CN1(REG)
ECU基板電源結線
DC12Vバッテリ-→P828
DC12Vバッテリ+→P832
PIC→ECU間のケーブル長は
テスト環境では10cmぐらいの長さ。
写真は91Ωの抵抗ですが万一の保護が目的のため誤差範囲・・・・
異様に足の長いコンデンサはオシロのプローブを掴ませるところなので無視してください^^;
DIP8PinのソケットはICD2を繋ぐ用途。
4
Microchip Application Libraries v2010-08-04の
USB Device - CDC - Serial Emulatorをベースにしていますので
対応するUSBドライバを取得してWinXP32Bitのパソコン※で認識させてください。
COMポートは1~9の間で設定をお願いします。
※こちらで動作確認したOSがWinXP32Bitのみという意味です。
5
読み出しソフト(cpnecurd.exe, MFC 6.0)を起動し
COMポートを指定してReadDataボタンを押します。
約1.5時間^^;で読み込みを完了しファイル保存ダイアログが出ますので
ファイルを保存します。
パソコンが十分に速くないとうまくいかないかもしれません。
一応セレロン800MHzでは動いてましたけどね。
6
保存したファイルをバイナリエディター等で開き、
マシン語のソースコードを心行くまでお楽しみください^^;
7
暫定ですがマップビューア(エディタ)のようなものを作成しました。
動作無保証、不定期更新ですw
ttp://members.tripod.com/lets_play_dai/CpnMapEdt.zip
追記------
CpnMapEdt.exeは汎用的なマップビューア、エディタを目指しました。
なのでCpnMapEdt.iniを編集することで
ある程度ユニバーサルにほかの車種にも使えるのではないかと思います。
[COMMON]
WorkFileSavePath=
WorkFileOpenPath=
MapMax=16 ←バイナリファイルに存在するマップの数を入れる
[MAP1]
MapName=MAPY1 ←マップの名称を入れます
MapOffset=3804F ←バイナリファイルにあるマップの開始アドレスを16進数で指定します
MapWidthName=MapWidthName ←未使用
MapWidth=38 ←マップの横幅を指定する
MapHeightName=MapHeightName ←未使用
MapHeight=21 ←マップの縦幅を指定する
MapWordSize=1 ←マップが16ビットの値で構成されているなら1、8ビットなら0を入れる
MapUpDownRev=1 ←マップ表示の上下を逆にしたいなら1を入れる。それ以外は0
注意としてはマップの開始アドレスに存在しないアドレスを指定していたり、
MapMaxに指定したマップの数だけiniファイルに定義が存在しないと
エラーになってしまいます。
8
関連パーツレビュー
[PR]Yahoo!ショッピング
入札多数の人気商品!
[PR]Yahoo!オークション
関連コンテンツ
関連整備ピックアップ
関連リンク