EPROM / ECU Chipping / Programming for CA18DET

[ Home ]

I figured I might start and put a bit of effort into the general CA18DET Tuning community.. I'm sick of it being an industry secret.. 

I built my EPROM programmer, cost me $35.. Full schematics and part link here - http://home.quicknet.com.au/andrewm/eprom1/index.html .. of course, if you're not very electrically minded, then digging into this side of things of your car is most likely not for you.. if you insist on disagreeing, you can go and pay mega hundreds/thousands of bux for a commercial EPROM programming unit.. 

The EPROM's that you program cost a wopping total of $10 each.. gee.. what a pain! .. haha.. (yeah, you see people charging hundreds for the chip PLUS tuning!).. Actually, the most painful part is erasing the buggers, I have a professional UV eraser that cost me just over $150.. of course you can try leaving them in the sun for days.. that might work.. but 5 mins in one of these erases them good and proper! You can get such units from Jaycar Electronics or similar.. (http://www.jaycar.com.au)

Now, the second most tricky part (aside from assembling/buying a programmer), is to get under the daughterboard of your ECU, pulling it to bits, and desoldering the 28PIN EPROM.. then putting in a 28PIN IC Cage.. (or ZIF socket if you can get your hands on one).. 

The trickiest part of all, is getting used to the programming etc.. you can download the only freely available product here - ROM EDITOR.

But to use ROM EDITOR, you need more than just the program.. when you first install it, you will need to load an address file. Here is an address file for CA18DE(T), the following is address file for S13 SR20DE(T). This one is for the 512k EPROM's in the (I think) S14/S15 SR20DE(T).

So what you do with these, is once you start the program, you click on 'Setup' then 'Are crowded as reading address file' .. and then you select the appropriate address file (*.adr).

That will stay loaded each time you start the program.. now you need to load a binary, the information from an eprom. Here's copies of the standard CA18DET ROM and standard SR20DET ROM.

Now you are ready to go and explore the program.. the most nifty things you will find is when viewing a Fuel or Timing Map, you can click on Edit - Graph Editing - 3D Graph Editing (or just press Alt+G).

But anyway, explore and have fun.. the easiest things to do is to raise the speed limiter!

Also, if you have an R32 Skyline (rb20det) than all the CA programming principles are the same, ie, no need for a daughterboard (like the sr20) etc..

A full set of the address files for use with rom images from a various selection of Nissan ECU's is here - ECU VQ Map's, and save them in a 'vqmap' folder within the ROM EDITOR directory..

Viewing the fuel / ignition  high/low octane maps

The data displayed is a bit confusing if you're not using the 3D graph editing function.. if you insist on working with the numbers, here's some more information.

The formula to achieve the correction factor is
if DATA > 128 then Factor = (DATA - 64) / 128 else Factor = (DATA + 128) / 128

Here's a bit of theory regarding how the ECU works:

* Basic fuel injection = air flow output (curved line) -> VQMAP
(straight line) x K constant XXDIV rpm + various revisions (MAP and
the like)

* Simultaneous injection mode = effective injection quantitative +
invalid injection quantitative voltage revision

* Sequential mode = effective injection quantitative x 2 + invalid
injection quantitative voltage revisions

* Effective injection quantitative = basic injection quantitative x
various correction coefficient x air/fuel ratio feedback correction

* Basic injection quantitative = air flow output (0. 08v - 5. 12v 0.
08v it cuts) AD converting

-> VQ map (2 byte data) x K constant XXDIV rpm (crank angular

* Various correction coefficient = 1 + air/fuel ratio revision map +
water temperature correction coefficient + starting correction

The "K constant" which is a value easily found within ROM EDITOR under the Global tab (its called K required number). It is the key to a hell of a lot of things. It is a constant value that can be adjusted to suit various changes. If you were to decrease or increase its value, its a surefire way to quicky enrichen or lean' your fuel maps. But where this value really comes into play, is when you do things like:

Upgrading the AFM (air flow meter) or upgrading injectors.

In my case, I installed an RB20DET AFM, which is known to flow around 310ps (knowing what it flows and knowing that the value is accurate, is IMPORTANT!). In order to make the car run with this AFM, you will need to do TWO things..

The most obvious one to most people, is changing the VQ Map (which is commonly referred to as the VE Map, but stupid jap translated program has introduced confusion to some people). A basic summary of how things work, is the VQ map’s values are proportional to the injector pulses, and the base value that it works with is the “K required number” that is in HEX that you’ll find in the Global tab in the ROM Editor program… how to work out what value to change that to is relatively simple..

Take the current value that’s there.. in the case of the CA its 00B7 (.. which is B7 in hex which is 183.. if you haven’t played with hex before, just pull up the windows calculator and click on View and select scientific mode.. then click the Hex check option thing and type in the hex value, then click decimal and there’s its actual decimal value)..

Alrighty.. so say.. B7 is the value in mine, and that’s suited for an AFM with a resolution up to 190ps (stock CA AFM).. in your case.. the SR20 AFM has a resolution up to 210ps.. what you have to work out is the new “K required number” to suit your new AFM.. my new afm was an RB20 unit of 310ps.. so this is how I worked it out..

Current AFM = 190
Current AFM K required number = 183
New AFM = 310
New AFM K required number = ???

So.. you gotto work it out… bit like this..
(just use windows calculator and when open, click View and select Scientific)

190 / 310 = 0.612903

Then get the base number of 183 divided by the above.. soo..
183 / 0.612903 = 298.579057
Then click on the Hex option in the calculator while that answer is still in it.. and I have the value 12A.

The Rom Editor program likes this entered in as 4 digits.. so the new value to put in there is 012A (zero, one, two, A)

And then, you're done!

Note: I've had troubles with my car starting when cold, but otherwise it runs fine, I'll let people know what the problem is when I find out.. if anyone has any ideas, let me know.

Upgrading the Injectors is a rather similar story.. here's how ya do it..

On the CA18DET, you have standard injectors, and their size is 370cc.

I upgraded to RB26DETT Injectors, which are 440cc.

So you get the std cc value and divide it by the new cc value.

370 / 440 = 0.849

So you then grab your current K constant value, for example, 12A.

So in calculator, click Hex, type in 12A, then click decimal, and click multiply and enter 0.849.

So you'll have 12A (298) * 0.849 = 253.

Click back to hex, and your value is FD, enter that in ROM EDITOR as 00FA (zero, zero, F, A).

Also, I used the correction of 0.849 to all the values in the 'boost' section along the bottom of the fuel maps. You will find that once you adjust all those values, and then click Setup - Engine Specification setup, and adjust the Injector Blas-off quantity to the injector size that you are now using, all the values will come back to normal compared to the original map with uncorrected values and standard injector size spec).

If you have any further questions, I might be able to help - Reach me here - Boostcruising.com Forums