hpro123
09-11-2002, 07:50 AM
SR20DEFORUMS members may have seen lately postings from "badbiki" who is selling daugtherboards for ECU modification (practically a version of the hardware that any modification house like JWT, GRID, TECHTOM etc.) are using. Similar boards are WIDELY available down-under from several (at least 3 persons excluding the aforementioned) and certainly commodity items in Japan.
We all realize that the mod is legitimate if we know what to put in there. In this spirit I include below a "Sort-list" of important pages for anyone that may be interested.
Keep in mind that most of the following originated in the NISSANS13@yahoogroups.com group/list so I am not doing any original work here (and some has been repeated in "badbiki" originated threads).
Best freeware rom editing tool available
(there are 2 more - GTROMeditor and ROMediter- but definitely less capable than this one):
ROMEDITOR from http://www.925style.com/editor_direct.html
You will need to register to download it or simply use:
ID: romeditor
PASS: giveme
to get it.
You can also get from there ROM-address files that describe here in each ECU/ROM the valuable data is. This files are ascii files
editable so you can add additional information about ROM data that is not described in there as of now.
You can also get sample ROM binary images to play with and lternative MAF calibration files in case you plan to use an alternative Nissan MAF.
Most comprehensive 2nd hand site pointing to available information and "Altavista"-translated Japanese pages
(this is a brand new one):
http://www.boostcruising.com/members/chado/
and follow link ECU TUNING on the left.
Most helpful write-up: from Diarmuid Tyson whose simple pages are located in:
http://members.optushome.com.au/silent8ob/
and
http://members.optushome.com.au/silent8ob/ecu.htm
Those pages are incomplete but the ROM Analyser program he has in there is a VERY NICE little utility to help anyone figure out what goes on in a Nissan ECU. granted, it is for the CA18DET ECU but the principles are the same.
Now, since those pages are incomplete I am posting below a LENGTHY message he sent today. This is the realy detailed info and it is reproduced here after asking for his permission.
==============================================
POST FROM Diarmuid Tyson STARTS HERE
==============================================
I currently modify my ROMs with a hex editor and a custom ROM Analyser I wrote in Delphi. I've also used ROM Editor, which is excellent to get started. I'll try and make these articles application neutral so you can use
whatever tools you're comfortable with
--
Firstly - Background
(If you object to me using Horse Power (hp) as a measurement of airflow,
simply substitute in CFM or whatever you're happier with...)
Air Flow Meters (AFM), a.k.a Mass Airflow Meters (MAF):
The basic function of any ECU is simple. Calculate the correct amount of
fuel and ignition advance required by the engine at any time. To make these
calculations it needs to sense how much "load' the engine is under.
The primary load sensor on the Nissan ECCS ECUs is the Air Flow Meter. It is
the ECUs biggest asset and also it's achilles heel (from a performance
viewpoint).
The AFM measures the true mass of air entering the engine. Since mass of air
entering the engine is known, determining the mass of fuel required for an
appropriate Air Fuel Ratio is a straight forward calculation. This also
means the majority of modifications will not require a retune, unlike MAP
based systems.
Unfortunately the standard AFM can be a considerable restriction in the
intake. A 50mm diameter is not a large area for a turbo to draw through.
AFMs also have a set operating range from 0-5V, representing a flow of air
from 0 to their max rating. 5V on a CA18DET AFM is equivalent to enough air
to make around 200hp. 5V on a 300ZX TT AFM is enough for over 500hp.
Fortunately, retuning for a larger, less restrictive AFM is possible.
Once the CA18 ECU senses the AFM is at its limit (ie at or close to 5V), it
will cut fuel to protect the engine. The dreaded boost cut. Or more
accurately, Air Flow Cut.
Once the Airflow meter is at 5v, any increase in flow will still result in a
reading of 5v, as the sensor is at its limit. The ECU can no longer
calculate the correct amount of fuel, so it shuts down the engine to prevent
a lean out. Once the AFM reads below 5v, the ECU will inject fuel once
again.
--
ECU Injection Calculation - Overview
Ok, we need to know about a few of the ECU's basic variables first.
K Required Number:
This constant is the basic injector pulsewidth time. All calculations of
injector pulsewidth start here. If you make it larger, all injector
pulsewidths will get longer. If you make it smaller, all injector
pulsewidths will get shorter. This is a very powerful tool when it comes to
changing injectors, AFMs etc.
VQ Map:
The VQ Map is used to translate the AFMs non-linear voltage response, into a
linear load reading. Confused? Don't worry too much. For the moment just
think of the VQ Map as a "filter" that the AFM voltage goes through, and
gives a load percentage as a result.
Eg, 5v = 100%,
4v = 75% etc...
Fuel Maps:
The ECU has two fuel maps, High Octane and Low Octane. It will always run on
the High Octane Map unless it senses a problem.
The Fuel Maps have 3 components, the RPM scale, the Flow scale and the AFR
correction Map itself. All Maps are 16x16, giving 256 load points. The
scales must match the sides of the map so are 16 entries each.
Flow Scale a.k.a TP Scale:
(labelled 'Boost' in Rom Edit)
The Flow scale (as I call it) gives a basic injector pulsewidth(K constant)
multiplyer, depending on the load sensed by the AFM.
RPM Scale:
This scale determines what RPM each axis of the AFR correction map is
plotted against. Stock is from 500 rpm to 6800 rpm, in (mostly) 400 rpm
increments.
AFR Correction Map:
This is the business end of tuning. Full mapping of your AFRs across load
and RPM.
Putting it all together:
Ok, go through a quick example to see how all the above works
together in determining an injectors pulsewidth for a given load and RPM.
For the example lets suppose:
K constant = 0.125 Milliseconds
AFM reading = 5 Volts
RPM = 6800.
1) ECU reads AFM - 5v.
2) 5v is "filtered" by the VQ Map - 100% load.
3) Flow scale at 100% load is consulted (column 16) = 83.
4) Basic Pulsewidth = K constant x Flow scale
Basic Pulsewidth = 0.125 x 83
Basic Pulsewidth = 10.375ms
5) ECU consults RPM Scale,
6800 rpm corresponds with row 16 of the RPM scale.
(We have already calculated column 16 for the Flow scale.)
6) Entry in the AFR correction Map: row 16, col 16 = 1.6.
7) Injection Calculation = Basic Pulsewidth x AFR Correction
Injection Calculation = 10.375 x 1.6
Injection Calculation = 16.6ms
There you have it. In our imaginary ECU, at 5 volts on the AFM, 6800 rpm,
it will pulse the injectors for 16.6ms or around 95% duty cycle.
If you followed all that, then you're now prepared for the good stuff. The
next section will give you all the specifics about the above variables,
where and what the values are in the ROM image, how to interpret them into
meaningful values, and how to use them in tuning your ECU.
--
ECU Injection Calculation - Detailed Analysis
K Required Number: (Nice and simple, some unknowns though)
CA Rom Address: 3F80 - 3F81. 2x 8bit Values. Quanta: 00 B7 seems to equal
0.125ms(!)
SR Rom Address: 000A - 000B. 2x 8bit Values. Quanta: ? ms
As said before, the K required number is the basic injector pulsewidth. On
a stock CA18DET map it appears to be 0.125ms. For now that is all you need
to remember. You'll see how it fits in the "Putting it all together 2"
sections.
How do I know that the K Constant in a CA18DET (00 B7) = 0.125ms?
Well to be honest, I don't. I received this vital piece of info from a
Japanese CA tuner. Sceptical (as I am) I deconstructed all the maps on my
CA18DET to calculate Duty Cycle and AFR with the 0.125 ms value and it fits
perfectly. So, I'll continue with this assertion until I can be proven
wrong/right.
VQ Map: (This could take a while)
CA Rom Address: 3E18 - 3E74. 52 x 16bit Values. Resolution: 0.1Volt.
Quanta: 16bit Precision Quotient
SR Rom Address: 0700 - 077F. 64 x 16bit Values. Resolution: 0.8Volt.
Quanta: 16bit Precision Quotient
If you know nothing about AFMs, or Math, I might confuse you here. I've
made this as simple as I can, but if I confuse you, or you disagree, email
me. If you already know lots about AFMs, you could probably just skip to
the "* So how do I read a VQ Map? *" paragraph.
Where do I start. As I've stated before an AFM doesn't have a linear
response. If it did, we wouldn't need a VQ Map. Therefore we need a
mechanism that will convert this non-linear Voltage into a linear Quotient
(or percentage) of the AFM's maximum flow. Hrmm...
Voltage... Quotient... Map... VQ Map?
What do I mean by non-linear? Ok, lets say we have an ACME AFM, good for
about 500hp and 0-5v. At 0v we know its flowing 0hp worth of air. At 5v
its flowing about 500hp worth of air. But what about inbetween? If it was
linear, 1v might equal 100hp worth of air. So:
1v = 100hp
2v = 200hp
3v = 300hp
and so on.
So if you read 2.48v at the AFM you'd know you were flowing 248hp worth of air.
==============================================
POST FROM Diarmuid Tyson CONTINUES IN NEXT POST
==============================================
Chris
1992 Sunny 2.0GTi
Athens - GREECE
We all realize that the mod is legitimate if we know what to put in there. In this spirit I include below a "Sort-list" of important pages for anyone that may be interested.
Keep in mind that most of the following originated in the NISSANS13@yahoogroups.com group/list so I am not doing any original work here (and some has been repeated in "badbiki" originated threads).
Best freeware rom editing tool available
(there are 2 more - GTROMeditor and ROMediter- but definitely less capable than this one):
ROMEDITOR from http://www.925style.com/editor_direct.html
You will need to register to download it or simply use:
ID: romeditor
PASS: giveme
to get it.
You can also get from there ROM-address files that describe here in each ECU/ROM the valuable data is. This files are ascii files
editable so you can add additional information about ROM data that is not described in there as of now.
You can also get sample ROM binary images to play with and lternative MAF calibration files in case you plan to use an alternative Nissan MAF.
Most comprehensive 2nd hand site pointing to available information and "Altavista"-translated Japanese pages
(this is a brand new one):
http://www.boostcruising.com/members/chado/
and follow link ECU TUNING on the left.
Most helpful write-up: from Diarmuid Tyson whose simple pages are located in:
http://members.optushome.com.au/silent8ob/
and
http://members.optushome.com.au/silent8ob/ecu.htm
Those pages are incomplete but the ROM Analyser program he has in there is a VERY NICE little utility to help anyone figure out what goes on in a Nissan ECU. granted, it is for the CA18DET ECU but the principles are the same.
Now, since those pages are incomplete I am posting below a LENGTHY message he sent today. This is the realy detailed info and it is reproduced here after asking for his permission.
==============================================
POST FROM Diarmuid Tyson STARTS HERE
==============================================
I currently modify my ROMs with a hex editor and a custom ROM Analyser I wrote in Delphi. I've also used ROM Editor, which is excellent to get started. I'll try and make these articles application neutral so you can use
whatever tools you're comfortable with
--
Firstly - Background
(If you object to me using Horse Power (hp) as a measurement of airflow,
simply substitute in CFM or whatever you're happier with...)
Air Flow Meters (AFM), a.k.a Mass Airflow Meters (MAF):
The basic function of any ECU is simple. Calculate the correct amount of
fuel and ignition advance required by the engine at any time. To make these
calculations it needs to sense how much "load' the engine is under.
The primary load sensor on the Nissan ECCS ECUs is the Air Flow Meter. It is
the ECUs biggest asset and also it's achilles heel (from a performance
viewpoint).
The AFM measures the true mass of air entering the engine. Since mass of air
entering the engine is known, determining the mass of fuel required for an
appropriate Air Fuel Ratio is a straight forward calculation. This also
means the majority of modifications will not require a retune, unlike MAP
based systems.
Unfortunately the standard AFM can be a considerable restriction in the
intake. A 50mm diameter is not a large area for a turbo to draw through.
AFMs also have a set operating range from 0-5V, representing a flow of air
from 0 to their max rating. 5V on a CA18DET AFM is equivalent to enough air
to make around 200hp. 5V on a 300ZX TT AFM is enough for over 500hp.
Fortunately, retuning for a larger, less restrictive AFM is possible.
Once the CA18 ECU senses the AFM is at its limit (ie at or close to 5V), it
will cut fuel to protect the engine. The dreaded boost cut. Or more
accurately, Air Flow Cut.
Once the Airflow meter is at 5v, any increase in flow will still result in a
reading of 5v, as the sensor is at its limit. The ECU can no longer
calculate the correct amount of fuel, so it shuts down the engine to prevent
a lean out. Once the AFM reads below 5v, the ECU will inject fuel once
again.
--
ECU Injection Calculation - Overview
Ok, we need to know about a few of the ECU's basic variables first.
K Required Number:
This constant is the basic injector pulsewidth time. All calculations of
injector pulsewidth start here. If you make it larger, all injector
pulsewidths will get longer. If you make it smaller, all injector
pulsewidths will get shorter. This is a very powerful tool when it comes to
changing injectors, AFMs etc.
VQ Map:
The VQ Map is used to translate the AFMs non-linear voltage response, into a
linear load reading. Confused? Don't worry too much. For the moment just
think of the VQ Map as a "filter" that the AFM voltage goes through, and
gives a load percentage as a result.
Eg, 5v = 100%,
4v = 75% etc...
Fuel Maps:
The ECU has two fuel maps, High Octane and Low Octane. It will always run on
the High Octane Map unless it senses a problem.
The Fuel Maps have 3 components, the RPM scale, the Flow scale and the AFR
correction Map itself. All Maps are 16x16, giving 256 load points. The
scales must match the sides of the map so are 16 entries each.
Flow Scale a.k.a TP Scale:
(labelled 'Boost' in Rom Edit)
The Flow scale (as I call it) gives a basic injector pulsewidth(K constant)
multiplyer, depending on the load sensed by the AFM.
RPM Scale:
This scale determines what RPM each axis of the AFR correction map is
plotted against. Stock is from 500 rpm to 6800 rpm, in (mostly) 400 rpm
increments.
AFR Correction Map:
This is the business end of tuning. Full mapping of your AFRs across load
and RPM.
Putting it all together:
Ok, go through a quick example to see how all the above works
together in determining an injectors pulsewidth for a given load and RPM.
For the example lets suppose:
K constant = 0.125 Milliseconds
AFM reading = 5 Volts
RPM = 6800.
1) ECU reads AFM - 5v.
2) 5v is "filtered" by the VQ Map - 100% load.
3) Flow scale at 100% load is consulted (column 16) = 83.
4) Basic Pulsewidth = K constant x Flow scale
Basic Pulsewidth = 0.125 x 83
Basic Pulsewidth = 10.375ms
5) ECU consults RPM Scale,
6800 rpm corresponds with row 16 of the RPM scale.
(We have already calculated column 16 for the Flow scale.)
6) Entry in the AFR correction Map: row 16, col 16 = 1.6.
7) Injection Calculation = Basic Pulsewidth x AFR Correction
Injection Calculation = 10.375 x 1.6
Injection Calculation = 16.6ms
There you have it. In our imaginary ECU, at 5 volts on the AFM, 6800 rpm,
it will pulse the injectors for 16.6ms or around 95% duty cycle.
If you followed all that, then you're now prepared for the good stuff. The
next section will give you all the specifics about the above variables,
where and what the values are in the ROM image, how to interpret them into
meaningful values, and how to use them in tuning your ECU.
--
ECU Injection Calculation - Detailed Analysis
K Required Number: (Nice and simple, some unknowns though)
CA Rom Address: 3F80 - 3F81. 2x 8bit Values. Quanta: 00 B7 seems to equal
0.125ms(!)
SR Rom Address: 000A - 000B. 2x 8bit Values. Quanta: ? ms
As said before, the K required number is the basic injector pulsewidth. On
a stock CA18DET map it appears to be 0.125ms. For now that is all you need
to remember. You'll see how it fits in the "Putting it all together 2"
sections.
How do I know that the K Constant in a CA18DET (00 B7) = 0.125ms?
Well to be honest, I don't. I received this vital piece of info from a
Japanese CA tuner. Sceptical (as I am) I deconstructed all the maps on my
CA18DET to calculate Duty Cycle and AFR with the 0.125 ms value and it fits
perfectly. So, I'll continue with this assertion until I can be proven
wrong/right.
VQ Map: (This could take a while)
CA Rom Address: 3E18 - 3E74. 52 x 16bit Values. Resolution: 0.1Volt.
Quanta: 16bit Precision Quotient
SR Rom Address: 0700 - 077F. 64 x 16bit Values. Resolution: 0.8Volt.
Quanta: 16bit Precision Quotient
If you know nothing about AFMs, or Math, I might confuse you here. I've
made this as simple as I can, but if I confuse you, or you disagree, email
me. If you already know lots about AFMs, you could probably just skip to
the "* So how do I read a VQ Map? *" paragraph.
Where do I start. As I've stated before an AFM doesn't have a linear
response. If it did, we wouldn't need a VQ Map. Therefore we need a
mechanism that will convert this non-linear Voltage into a linear Quotient
(or percentage) of the AFM's maximum flow. Hrmm...
Voltage... Quotient... Map... VQ Map?
What do I mean by non-linear? Ok, lets say we have an ACME AFM, good for
about 500hp and 0-5v. At 0v we know its flowing 0hp worth of air. At 5v
its flowing about 500hp worth of air. But what about inbetween? If it was
linear, 1v might equal 100hp worth of air. So:
1v = 100hp
2v = 200hp
3v = 300hp
and so on.
So if you read 2.48v at the AFM you'd know you were flowing 248hp worth of air.
==============================================
POST FROM Diarmuid Tyson CONTINUES IN NEXT POST
==============================================
Chris
1992 Sunny 2.0GTi
Athens - GREECE