Dual Rom's on ECU

Holden/Delco Tuning. ALDL, OBD 1.5. Circa 1989 to 2004.
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Dual Rom's on ECU

Post by tav »

Hey guys,

Lately I have been curious to know if it was indeed possible to run 2 rom chips in the ecu and toggle between both on-the-fly. So today I put some time aside to give it a go. I havent tested it in the ECU yet, but works fine when toggling both chips on my programmer [Will do an ecu test sometime tomorrow]. I'll also upload the complete circuit diagram soon.

Things you will need
Some proto board
Soldering iron
Solder
2x 32 pin PDIP sockets
1x 32 or 36 pin socket to interface with ECU
1x Toggle switch
2x 1N4148 diode
2x 10Kohm resistors
2x flash chips [I used AMD's AM29F010's]
30 awg cable or similar [the kynar wire used to mod consoles works best for this imo]

Step 1: Place your PDIP sockets on your proto board & solder them in place.
Image

Step 2: Get your 32 or 36 pin socket and pend the pins 90 degrees like this:
Image

The final result should look something like this:
Image

Step 3: Solder The socket onto the bottom of one of the PDIP sockets. Make sure you do not solder Pin22 to the socket. We need to run two seperate wires for this pin as it is our CE pin [used for rom selection]. Make sure each pin is connected & no shorts exist. Use a multimeter to ensure your connections are good.

Image


Step 4: Connect the 2nd PDIP socket in parallel with the first socket[ I.e. pin1 from socket 1 -> pin1 socket 2 ]. Do this for every pin except for pin 22.

Image


Step 5: Wire up the CE pins to your switch. If you decided to use a pin header, solder them to this instead. Also wire up the diodes and resistors.

Image

Step 6: If all worked well, you should be able to stick your new dual rom board into your programmer and be able to flash two different .bins into each one.

Some pics:

Image
Image
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Re: Dual Rom's on ECU

Post by tav »

Tested it on the ecu, heres the results:
+ Switching on the fly while the engine is running = stall
+ Switching before you turn on ignition = works

Cheers.
User avatar
antus
Site Admin
Posts: 10016
Joined: Sat Feb 28, 2009 10:34 am
cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007

Re: Dual Rom's on ECU

Post by antus »

Yep, sounds about right :) The switching cant happen quickly enough while the processor is running - even if the code data is the same in both chips. Nice :thumbup:
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
VL400
Posts: 4991
Joined: Sun Mar 01, 2009 4:54 am
cars: VL Calais and Toyota Landcruiser. Plus some toys :)
Location: Perth, WA

Re: Dual Rom's on ECU

Post by VL400 »

Nice work, proper DIY job too :mrgreen:
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Re: Dual Rom's on ECU

Post by tav »

Okay after last nights dismal demonstration with the dual roms, I decided to re-think the whole thing over and start from square 1 with the design.

The problem with the stall was with the actual 'switching' process itself. The switches 'toggle' time is somewhere in the 'miliseconds'. The ECU clocks data in 'nanoseconds'. Keeping this in mind - imagine when you switch from 1 rom to another... for a few miliseconds the switch is in 'tristate' [Not exactly tri-state in the strict sense but you get what i mean, i.e. no rom is selected because no defined contact is made].

So instead, the solution to this problem is to only 'switch' once we have contact within our switch. This circuit uses 2 NPN transistors & 1 PNP transistor [BC327 & BC337].

There were 2 minor hitches I encountered though, which are worth keeping in mind:

1) The voltage drop accross the two NPN transistors prevented me from switching to the 2nd rom when programming -

Simple solution was to bypass the CE pin and sink the transistors to ground... This worked....

BUT

When I fitted the board into the ECU the car wouldnt start - turns out the ECU manually controls the CE pin for clocking in the rom data and this is out-of-sync with the hardwired ground connection.

The solution to this was to have a jumper - basically allowing you to toggle between 'reading' and 'writing'.
+ When you program the chips, the transistors must sink to ground [active low]
+ when your chips are in the ECU, the tranistors must sink to the CE pin on the ecu itself.

After doing that it worked flawlessly. I'll explain how the actual circuit works when I write it out and scan it...should have it up shortly. For now heres

some pics:

New Jumpers & transistors added:
Image

Underside of Board with new wiring:
Image

Board in ECU - [Yep thats Vl400's 808 cable which ships with his usb boards on the toggle switch if you guys were wondering!]

Image
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Re: Dual Rom's on ECU

Post by tav »

Heres the circuit diagram for the switcing procedure

Image

+ T1 enables C1 by default by applying '1' to the base of T2.
+ When you ground the base of T1 with the base of T2 via its 4.7K resistor, you enable T3, disabling C1 & enabling C2.
+ The current flows from C1 & C2's CE pins into the CE pin on the ecu OR to Ground [Depending what mode you want to perform on the chips]
+ The 51K ohm resistors arent 100% cruicial. But with that said I would add them because they are used for stabilisation [They help to prevent the transistors from leaking current and magically enabing themselves]

I'll write out a proper diagram after fully testing the board out.


Cheers
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Re: Dual Rom's on ECU

Post by tav »

On second thoughts... could probably have simplified that from 2 NPN and 1 PNP transistor to just 1NPN & 1PNP... oh well.... should be an interesting weekend.
User avatar
The1
Posts: 4852
Joined: Mon Jan 04, 2010 12:23 am

Re: Dual Rom's on ECU

Post by The1 »

nice work tav :thumbup:
User avatar
festy
Posts: 1039
Joined: Sat Apr 30, 2011 8:27 am
cars: Alfa Romeos
Location: Narellan, NSW

Re: Dual Rom's on ECU

Post by festy »

Just wondering what it is that you're doing that requires using two seperate eeproms?
Bin stacking and switching an A line would be a lot simpler, so assume you must have a reason not to do it that way...

"to see if it can be done" is a perfectly valid reason though :mrgreen:
tav
Posts: 38
Joined: Mon Oct 25, 2010 8:53 am
cars: VS Commodore

Re: Dual Rom's on ECU

Post by tav »

Yeah that is indeed true; bin stacking & address shifting is alot 'cleaner' also. Was more of a 'can it be done' type of project, and if so how 'well' would it work xD