MINIのECUのEEPROMの93c46を読み書きできるようにした。
MINIのECUのMEMSはメインリレーを制御することで、バッテリから常時電源が使われていることがない。イグニッションがONになった延長で、ECUの電源が入る仕組みになっている。こうなると、電源を切ったときに消えない設定情報を保存する場所が必要になるだけど、これはEEPROMで行われている。ECUによって違うだけど、DIPかSOPの93c46が使われている。下は、DIPタイプの93c46が右下にある。
これもMEMSなんだけど、右上の小さい8PINのチップがSOPタイプの93c46である。
今回EEPROMの読み書きをしたかった理由は、ヨーロッパからECUを買うと結構とんでもなく安い値段でECUを買うことができるケースがあるだけど、問題はヨーロッパ仕様のECUは、SPIモデルでもイモビライザーがついている。この機能を解除しないと、日本仕様のMINIに使えない問題がある。まあ、MEMSの解除ツールはAliexpressでいっぱい売っていたりするだけど、コピー物でも、いい値段がするだよねえ。ただ93c46は、PCのBIOSの情報を保存することもあるので、昔からライターを持っていたりする。私も、秋月のキットを作って読み書きできるようにしてあるだけど、XPまでしかソフトがサポートされていない。いまは、XPはHypre-VでWindows11上で仮想化されてしまっているので、ライターが動かせなくなっている。それなら、Windows10のライターを買えばいいだけど、意外に93c46を扱うには面倒な点があることが分かった。まあ、この辺が嫌なら、イモビライザー解除ツールを買えばいいだけど、できるだけ安価に対応した。まずライターはAliexpressから、CH341Bのライターを買った。3種類あったりするけど、フルセットの618円のものが必要。
Aliexpressので618円なので、実際にはHWしか来ない。しかしよく見ると、25Cxx,24Cxxしか書き込めないものが届く。実は、25Cxx,24Cxxは、93cXXとPIN配置が違うので、変換ケーブルを作らないと読めないし、書き込めないのだ。下記のスレットを読んでやっと理解できた。
Need Help Programing an 93C46 EEPROM. I Can Read and Erase But Not Write. – Page 1 (eevblog.com)
私の場合はクリップで、MEMSのチップを直接いじりたいので、PIN6のORGについているプルアップ抵抗は外した。仕様書を読んだけど、1MΩで内部でプルアップされているということなので不要だと思う。基本16ビットモードで読む形になる。25CXXの部分を利用して、93CXXをアクセスできるようなクリップを作る。
いま、DIP8のクリップって生産中止で、入手難なんだ。。。。ちょっとびっくりした。もともと、この辺のツールは手持ちがあるので、これを利用して作ることになる。CH341Bの付属のクリップをぶった切って、上の回路図になるように、配線し直す。
これができた完成系。この形でアクセスすることになる。
SOPのケーブルは追加で買えるので、併せてSOPの組み換えケーブルも作っておいた。ECUを触りたいなら2種類いるだろう。
あと、Alexressの業者はHWしか送ってこないから、ソフトは自前で調達が必要。また、93cXXをサポートするのは、バージョンがあるようで、AsProgrammer_v2.1.0.13を探してダウンロードする。AsProgrammer起動して、ちゃんと変換ケーブルができていれば、Chipの確認で、正しい93c46が見つかる。ちゃんと16ビットモードで認識されている。
このHWで元のECUの93c46のデータを読み出して、一部を書き換えると解除できる。どの部分かは示せないけど検索すれば情報はいっぱい転がっているので、すぐわかるだろう。
最近のコメント