• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

しーぜろの愛車 [ダイハツ コペン]

整備手帳

作業日:2010年10月11日

純正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
http://www.lauterbach.com/
この会社のシュミレータ製品は結構優秀らしい。
HC16のデモ版があります。

簡単な使い方はこちら↓
http://minkara.carview.co.jp/userid/323388/car/324114/1342953/note.aspx

関連パーツレビュー

イイね!0件




関連コンテンツ

関連整備ピックアップ

D-SPORTSコンピューター

難易度:

CEP 車速キャンセラー

難易度: ★★

HALF WAYスポーツECUへ交換

難易度:

コンピューターの異常?

難易度: ★★★

dsport コンピューター交換とプラグ交換、タイヤローテーション

難易度:

PIVOT POWER DRIVE取付

難易度:

関連リンク

この記事へのコメント

2010年10月13日 22:47
おおおおぉぉぉぉぉ

ついにネ申ツールまで公開されてしまいましたか(^^y
コメントへの返答
2010年10月13日 23:04
あっきーCPさま

構想から約1年・・・
やっと動きました^^;
PICの書き込みが少々難関?ですが
部品代2000円未満でできると思いますw
2010年10月23日 10:07
♪⌒ヽ(*゜O゜)ノ スゴイッ!!!

CP書き換えて、「パワーモード」とか「エコモード」とか切り替えられたらいいな~
コメントへの返答
2010年10月25日 1:01
ワルキューレ@竜之介の飼い主さま

構造上
簡単にマップ切り替えを
行うのはちょっと危なそうですw
2018年10月12日 22:17
記事に触発されてK02で試したところ読み出せました。
そしてK02にはブートローダーがないことも判明。
すごいツールです。
PKG 68HC16 Development Packageも購入してアセンブラコードを解析中です。
コメントへの返答
2018年10月28日 1:43
たまねぎさん
こんばんわ

K02での追試ありがとうございます。

参考までに任意コード実行モードへの分岐チェック部分です。

0x60086 ldy #0FA00h ; PortE 0
0x6008A ldab 11h, Y
0x6008C andb #1
0x6008E lbeq Adr_60102 ; GoTo Loader
.......

ないですかね?

MPUの型番何になっていますでしょうか?
ワンタイムROM版だったりしませんか?

PortE2につながっているVFPE電圧制御用FETは実装されてますでしょうか?

気になる点は以上です。

PKG16Zの今後の活躍を祈っております。
(メーカー保証される書き込み回数は100回までです・・・)
2018年10月15日 12:19
ブートローダがあるはずの0x60000番地は以降すべて0xFFでコード自体が存在しません。ICDを実行すると0x240からスタートします。

ご指摘の通り、K01とK02はマスクROMだから、と推察しています。

トライフォースやアウトモーダのHPを見てもK01とK02は書き込みできていないようです。
http://moderno24.shop-pro.jp/?pid=22007743

おそらく前期のうち、K01とK02はMC68HC16R3、K03とK04はMC68HC916R3派生のものかなあと推測しています。正確な型番の確認方法ってあるんですか?

D-SPORTのデータと比較してみたいのですが、なかなか高価だったため躊躇しています。w

しーぜろさんのコペン関連のブログは非常に興味深いです。
もっと突っ込んだ情報交換がしたい。。
コメントへの返答
2018年10月15日 22:29
たまねぎさん
こんばんわ

>>ICDを実行すると
ICDを動かすとはさすがですね^^;

>>すべて0xFFで
このタイプやっぱりあるんですか

>>K01とK02は書き込みできていない
ブートローダー利用の書き込み機とか
そういう技術を他から買って使っているところは無理でしょうね。

>>K01とK02はマスクROMだから、
マスクROMだと断定するのはまだ早いですよ。
おそらくCPUの型番から判断するしかないでしょう。
デンソーのリマークだとしても型番は異なるはずです。
もっとデータシートと睨めっこすればあるいは・・・
フラッシュ版ならBDM経由でなんとでもなりますよ、
間違いなく工場出荷時はそこから書いてますのでw
中古の後期を購入してCPUだけスワップするのもアリでしょう。
(VFPE1,VFPE2に5Vかかってるかどうかの判定も一つの判断基準?)


>>D-SPORTのデータ
安全とるならDスポあたりかなと。
攻めるならパルスポっぽい感じがします。
Dスポのデータ作った人はなんとなく中身が分かっている感があります。
DスポのECUはリセールが高いので、やりようによっては比較的安価にデータは見れるのではないですかね?
後期と前期でどう違うのか私も少し興味はありますが・・・
PCB側もちょっと興味深いですし。

>>もっと突っ込んだ情報交換がしたい。。
出せるもの(個人で編み出した情報)と出せないもの(他者から得た情報)があります^^;
基本880Kに関しては前者ですが・・・
2018年10月25日 16:33
アドバイスありがとうございます。

> (VFPE1,VFPE2に5Vかかってるかどうかの判定も一つの判断基準?)

これで確認しましたところ0Vでしたので、やはりMC68HC16R3かと思っています。

また、K04も入手し、まずPICを使用したROMイメージを試したところ、できました!

そしてICD16Zで確認したところ、こちらは0x60000番地からスタートしました。

つまり前期のECUは以下のような星取表になるのかなと認識しています。

K01 イモビなし ブートローダなし エントリポイント0x240 MaskedROM
K02 イモビなし ブートローダなし エントリポイント0x240 MaskedROM
K03 イモビあり ブートローダあり エントリポイント0x60000 FlashROM
K04 イモビあり ブートローダあり エントリポイント0x60000 FlashROM

ただ、PROG16ZでK04のROMをREAD/WRITEを試しているのですが、うまく動作せず、試行錯誤中です。"Initializing"のまま処理が進まない状況です。

コメントへの返答
2018年10月26日 2:17

VFPE1が0Vでしたか、ワンタイムと考えるべきでしょうね・・・残念。

K04での追試ありがとうございました。

K02,K04とも
0x38000以降のMAPデータ領域は一致してますでしょうか?
あ、診断コマンドが返すECU_IDの領域だけは変わってると思いますが・・・

勘ですが
K04にK02のファーム書いても多分車両は動きます。
ただ、配線図を見てもわかるとは思いますが
基板上かどこかで燃料ポンプの電源供給部分を1個所修正しないといけません。
配管に残ってる燃料分だけ動いてエンスト・・・滝汗になった記憶があります。

ブートローダを見ればがわかると思いますが、
0x600FE jmp Adr_0x240
エントリポイントさえ気をつけておけば
ブートローダーも多分そのまま使えます^^;
0x0000~0xFFFFまでソックリ入れ替えれば多分OKかもしれません。

>>Initializing"のまま処理が進まない
ブートローダが同じものであること前提ですが多分、
0x604E4~0x6051Cのコードを読めば動くようになるかもです。
実はシステム保護のために定期的にこのコードを実行しないと動かないようになっています・・・
0x0000~0xFFFFの範囲のどこかにも同じコードが潜んでいて定期的に実行されてるはずです。

余談ですが、これは後発のFT86とかLA400Kにも同じようなのが踏襲されてるようです。
http://www.ft86club.com/forums/showthread.php?t=95334

最後にシャドウビット領域のバックアップを忘れずに・・・
2018年11月30日 22:26
ああ、前回のコメントから1カ月経過。。
お久しぶりでございます。

恥ずかしながらいまだPROG16Zの動作までこぎつけておりません。
同じK06を入手して試したのですが状況変わらずです。

オシロで確認したところ70msくらいの周期でRESETが発生していることがわかりました。アドバイスいただいたアセンブリコードの箇所から察するに、おそらくWDTでしょうか。

動作していると思っていたICD16Zでも同様で、以下の動画のような動作はせず、同じところを行ったり来たりしているようです。
https://www.youtube.com/watch?v=ZFmO0Vk6ji8

動画をよーくみますと、ハーネス差し込み口のどこぞのピンに、なにか結線しているように見受けられるのですが、もしかするとこれが、周期RESETを止める仕込みだったりしますか?

もしそうならば、どこのピンに何を入力しているのか、アドバイスいただけると大変ありがたいです。
コメントへの返答
2018年12月3日 11:11
それは
ECU書き換え最大の醍醐味だと思うので
何とか自力で突破して欲しいです。
もう少し静観しています^_^
やる事はFT86と同じです。

ハーネスのピンは今回特に関係はありません。
電源、k-Line、書き込み電圧、ブートローダ起動モード変更、擬似センサ が繋がってます



2018年12月3日 21:25
> やる事はFT86と同じです。

これは大ヒントになりそうです。
フォーラムには「125-150Hz oscillator for WDT」なんて書いてますね!

> 電源、k-Line、書き込み電圧、ブートローダ起動モード変更、擬似センサ が繋がってます

これも非常に有用な情報です。書き込み電圧とか起動モード変更とかコペンの修理書にも記載されていないと思うのですが、なんでわかるんですか?w 本当にすごい!
コメントへの返答
2018年12月5日 0:57
良い結果をお待ちしています。
自分で書き換えたECUで走るのは
私にとってはなかなか感慨深いものでしたが、危険も伴うので慎重にお願い致します。


>>コペンの修理書にも記載されていない
周辺回路とかコードとかずっと見てれば大体わかりますよ。
私も最初のころは何もわかりませんでしたし。

旧型コペンのコードはCPUの命令も相まって非常に素直というかわかりやすいと思います。

2018年12月6日 22:13
先生。できました!

アドバイスいただいたコードから原因を推測して、コード中でアクセスしているポートに疑似的なパルスを送り込むことでRESETを止めることができました。

WDには内臓と外付けがいて、内臓をとめると外付けがRESETを発生させるから、という認識でいます。

試したのがK02なので書き込みまでは試せていませんが、PROG16Zでも"initializing"から処理が進むことまでは確認できました。

これで解析が捗りそうなので、私のほうからも前期型の情報をお出しできると思います。

> 周辺回路とかコードとかずっと見てれば大体わかりますよ。
いや。単独自力でここまで解析できる人ってごく一握りだと思いますよ。素で尊敬します。
コメントへの返答
2018年12月7日 16:28
おめでとうございます!

そこまで行くともうECUも一種のマイコンボードなので
エンジンチェックランプポートにLEDでも繋いで流行りのLチカも可能ですよ。

何か面白いことがわかったら、コッソリ教えてください^^;

プロフィール

「そろそろ http://cvw.jp/b/323388/42511476/
何シテル?   02/14 22:38
あまり車には詳しくないので 色々勉強中です。 和歌山や奈良の山奥を マイペースで走っています。
みんカラ新規会員登録

ユーザー内検索

リンク・クリップ

Adafruit Feather nRF52 Bluefruit LEによるnRF-Sniffer-v2.0.0-3.beta 
カテゴリ:その他(カテゴリ未設定)
2018/11/01 11:48:37
地元紙から 
カテゴリ:その他(カテゴリ未設定)
2016/05/08 14:58:30
コペンに乗ってみて 
カテゴリ:その他(カテゴリ未設定)
2012/07/30 08:35:22

愛車一覧

ダイハツ コペン ダイハツ コペン
20代も過ぎてこんな遊び車を買ってしまいました。 大人気ないでしょうか・・・w 今はまだ ...
ダイハツ コペン ダイハツ コペン
30代も目前にしてこんな遊び車を買ってしまいました。 大人気ないでしょうか・・・w 今 ...
トヨタ パッソ トヨタ パッソ
デザインがお気に入りです。 ちょっと車高が高いのとタイヤが細いのが気にかかりますが、前作 ...
ダイハツ タント ダイハツ タント
L350がそろそろ限界・・・ということで。 新型コペンも考えましたが 色々な状況に左右さ ...
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation