Ecuflashで書き換えをこれまで相当、おそらく500回以上無事に終えている。一度だけ、ミスで参考にしたインプのデータを間違えてSG9として保存してしまって、ecuflashで書き込みしたらエラーでビックリ、IGN電源を落とさず、SGのデータで再度書き込みでセーフということがあった。
そんなこともあり、エラーでecuを壊した時、英語ではbricked(レンガ)というようです。
そんな場合はSH7055,7058では、SH bootという方法で全書き換えの方法があるので、回路製作をトライしました。
もちろんプロ用のECUTEKなどのツールにはBootモードは備わっているので、接続だけはややこしいが、回路を作る必要はないですけどね。
さて、構成ですが、USBシリアル回路はDLPもあるが、簡単なUSB-TTLをアマゾンで注文。参考記事:https://forums.nasioc.com/forums/showthread.php?t=2200443&highlight=wrx+sh+boot&page=12
Watch Dog Timer(WDT)もNE555で作製記事もあったが、これもVRの2個付いた3個セットの基盤を購入して製作。
金額考えると買ったほうが絶対に安いですね。
VRを調節して125Hzの50%dutyに調節する。画像は150Hzですが、後で125Hzにしてます。150でも恐らく問題は無いとおもいますが。
3Dプリンターでこれが入るボックスを製作した。
参考回路はNE555のWDTは回路図に入っている。
実際にはスバルのECUにはリセットポートがないので、RST用のスイッチは不要なのでスイッチ部分は省略し、WDT555回路は既製の555ユニットを使用しました。コネクターは1.25mmで作製しました。
出典:https://romraider.com/forum/viewtopic.php?f=65&t=12821&hilit=HOW+TO%3A+Unbrick+and
この記事に感謝:日産のECU記事なので、Port番号が異なる。
今回製作した回路図は以下になります。
引用の回路よりかなり簡素化された。
USB-TTLは3V,TX,RX,GND,5Vの5ピンですが、3Vは使用しないので、4Pを使用。WDT回路は5V、GND,出力を使用して、回路を組み立てた。PL2303の5Pの端子は一度外して下に出るようにしてあります。
USB-TTL(2303)とNE555基板を組み合わせて抵抗もつけて作成。
ECU基板の箱を開けて基盤露出として、裏側にP405,P407,P409,P411,P413のマークのある半田付けポートがあるので、そこにP405は5V、P407はWDT、P409はTX,P411はRXを接続し、P413はGNDでそこからC426の電解コンデンサーのマイナス部に接続する。これはUSBのGNDとECUのGNDを一致させる目的のラインと思われます。
基板から黒がGND,青TX,白RX,黄色WDT,赤5Vライン。*書き込み後ecuflashで読み込みチェックの時は上記の黒ジャンパーは外す。
ここにも問題があり、前述の回路図もそうだが、USB-TTLのTXをECUのRX、RXをECUのTXとなっているが、これが記事によって異なり、悩みましたが最終的にはTXはTX、RXはRXに接続、つまり、P409にはTX、P411にRXを接続となりました。
最後にECU基板にアースと12Vを給電する必要があります。スバル車でも車種ごとに微妙に違うので、接続を間違えるECUを壊すことになります。
回路図とにらめっこして12V電源ラインとGNDを探す必要があります。
SG9の整備書(エンジン2)からB137-16(イグニッション)、B135-19(バックアップ電源)、B135-5(制御電源)、B135-6(メイン電源)に12Vを給電する。グランドはB135-12,4,1、B137-1,2を接続して12V5AのスイッチングACアダプタに接続しました。12VラインにLEDを付けてインジケータとしました。
最初はイグニッションは接続不要という記事もあったので、イグニッションは無しで接続したが、後述するFDTソフトで接続すると9600,4800,1200 baudでトライしてエラー15024のエラーで終了となった。イグニッションを12Vに接続したら成功した。
ソフト関連では、SH7058だとEcuflash1.44でboot flashできるようだが、SH7055は無理で、Renesas社からフリーでダウンロードできるFDT flash develpper tool (Renesas Flash Tool)を使用する。
問題はUSBーTTLのドライバーでPL2303のドライバーのインストールが問題。
どうも、Windows10ではうまく動かなくて、repair付のPL2303ドライバーインストーラーをダウンロードして処理する必要がある。参考HPは http://www.ifamilysoftware.com/news37.html
PL2303のドライバーインストールするとデスクトップに上記のPL2303 Code 10 Fixができるので、これをダブルクリックして修正とドライバーインストールを完了する。windows10用の修正ソフトか。
FDTを立ち上げて、起動し、プロジェクトを作成して、デバイスに接続をすると接続完了となった。
どうも、やり方が、ちょっとちがうようだ。
Basic file programmingに最初から入るやり方があるようだった。
プロジェクト作成はキャンセルし、デバイスのプロジェクト設定を選ぶ。
フィルターに7055を入力しSH7055を選択して次を押す。
10MHzを確認。
boot modeを確認。
完了する。
次にツールからsimple interfaceを選ぶ。
新たなウインドウが出て、Basic file programmingの画面となる。
download fileの下にecu complete dump file(.bin)を指定してスタートを押すと書き込みが始まる。
書き込み中はTXのLEDが点滅する。
FDTで書き込みが成功したと表示されたので、ecuflashで読み込みをして確認しようとするが、ssm2,ssm2,connection closeとなり、読み込めない。
書き込みが問題あるのか、それとも別な問題かわからず。ここからが長かった。
問題点が2つあった。
一つはSH bootには不要だがecuflashの通信にecuの12V電源が前記以外にB137-14が必要であったのと、SH bootで基板に接続した配線が悪さしているかもと考えた。
B137-14はECUのコネクタ表に載っておらず、配線図にしか記載がなかった。
そこでECUの基板の裏のSH Boot接続の半田付けポイントP413(gnd)とC426のアースのジャンパーを外して読み込みしたら、あっさり成功!しかし、SH bootにはこのジャンパーが必要。
ECU電源のまとめ
12V
B135-19 バックアップ電源
B135-5 制御電源
B135-6 メイン電源
B137-14 IGN系?
B137-16 IGN電源
GND
B135-1,4,12
b137-1,2
後でわかったのですが、同じ問題を解決している記事がありました。
https://forums.nasioc.com/forums/showthread.php?t=2200443&highlight=wrx+sh+boot&page=5
やはり、同じ現象にぶつかるんだ。
いろいろ苦労しました。Romraider,NASIOCなどの記事を参考にしてなんとか解決しました。
最初はなにも反応せず、何が悪いのか全くわからず、半田付けも何度かしたりしました。
配線間違いは無いと思っていたが、通信を始めても、PL2303のTXのLEDが全く点滅せずでした。結局ドライバーとportの問題だった。