MR2 Owners Club Forum banner

Gen3 3S VE & Ignition Timing

13K views 28 replies 7 participants last post by  L0s7 
#1 ·
This is the stock volumetric efficiency and ignition timing tables from the UK gen3 ECU tuned for 95RON/ 91 US octane.

 
See less See more
1
#4 ·
I do know not yet, neither does Jon. I should mention that that is the base ignition timing. There are other modifier tables within the the code. The code is written in assembler so not super easy to figure out for the layman. I'm trying to learn enough to figure more out.. If there are any coders/tuners out there that might be able to help, please reach out to me.

The base ignition timing is used in conjunction with VE, manifold pressure, RPM, and coolant temperature to decide on final timing. There's also 3 (iirc, I'm not at home) steps [of severity] of knock retard. And if everything is OK (>4kRPM, >some manifold pressure, coolant temp >141F/61C) there's some code that adds another "26" timing to cylinders 1-3, and 0 timing to cyl4. This seems to jive with the idea that cylinders 3/4 are the first to blow up due to hotter coolant on that side of the block. No timing will be added to any cylinder if all of those conditions are not met.
 
#6 ·
I'm not sure. The 3SGTE does have sequential injection so it might have cylinder specific fueling conditions. The gen3 ECU is a dual CPU system,

Here's the tables that are defined so far for the CPU that seems to do most of the fueling calculations:
http://i.imgur.com/8yok2XR.png

And for the other CPU, that has VE and ignition tables:
http://i.imgur.com/mDWdYwN.png

I toyed with the numbers in extra ignition advance, normally it's only 26 on the second row- which is if all necessary conditions are met. My engine has been modified from stock.
 
#7 · (Edited)
Jon told me this today:

In the ECU code there's two fixed timing values that are referenced in the code.

86 - equates to 5 deg BTDC for cranking
128 - equates to 10 deg BTDC for diagnostic mode

The VE table is not % based, it is on a scale of 0-255

I got IDA working so I can see the raw code before it is built in to a binary file to flash to the chip that holds the code... Indeed, it definitely is going to take a lot of time to understand what Toyota did. http://i.imgur.com/1cCfTic.png

JDM ECU data:

Timing CPU tables:
http://i.imgur.com/d9LHOVB.png

Fueling CPU tables:
http://i.imgur.com/wPKNWV7.png

You'll notice some differences from the UK version of the code- the UK has no speed limiter code, the VE is a bit different (due to different intake setup?), and it adds 26 timing, above 4000rpm, to cyl4 as well.

Comparison of the raw differences in base timing numbers: https://docs.google.com/spreadsheets/d/10krYOnNX5A2-AM_AzFPGgbGd-xuMDeDtW0hc1FsJwgg/edit?usp=sharing
 
#8 ·
Another interesting tid bit that explains why cylinders 3&4 are always the first to go:

We've known that coolant enters the block at cyl1 and exits at cyl4, so coolant (and thus combustion) temperatures gradiate up towards the exit on the block. The long standing presumption is that it is due to 3/4 being hotter they are more detonation prone. That's only part of the story now...

What I said before about additional timing being added to 1-3 is incorrect. I noticed an inconsistency and Jon checked out the ECU code. Turns out that the ECU treats cylinder numbers by firing order, cylinders 1-3 in the firing order receive additional timing @ >4kRPM >60C coolant temp, >X MAP, the 4th cylinder receives none. Now map that on to 1-3-4-2 firing order: cylinders 1, 3, and 4 have the timing increase, while cylinder 2 does not. Hence, boom.
 
#10 ·
What I said before about additional timing being added to 1-3 is incorrect. I noticed an inconsistency and Jon checked out the ECU code. Turns out that the ECU treats cylinder numbers by firing order, cylinders 1-3 in the firing order receive additional timing @ >4kRPM >60C coolant temp, >X MAP, the 4th cylinder receives none. Now map that on to 1-3-4-2 firing order: cylinders 1, 3, and 4 have the timing increase, while cylinder 2 does not. Hence, boom.
This is a very interesting thread! I'm trying to wrap my brain around why Toyota would increase timing to cylinders 1, 3, 4... and not #2? yes, it's in the center, but so is #3, and 3 runs hotter due to coolant temps.... it's just doesn't make sense. I'd like to know if there is extra fuel being sent to #3? In my PFC tune I send 0.5% of extra fuel to cyl #'s 2&3 since I'm using a center feed manifold.
 
#9 ·
Dam, that explains a bit of the puzzle with centre cylinder detonation.

Another theory I have is that the centre 2 cylinders (2 & 3) not only run hotter due to reasons above but get more air as the air follows path of least resistance. This in turn raises the AFR above any sequensial fuel increase.

jim
 
#12 · (Edited)
The hardware is nearly identical across all Gen3 ECUs, there are small circuit changes in the UK version to add support for EGR operation but that's it. The software is pretty much the same too. It's the same on JDM ECUs. I wouldn't be surprised if the gen2 ECU contained similar ignition logic, given they're both distributor CPS based.

paluce said:
This is a very interesting thread! I'm trying to wrap my brain around why Toyota would increase timing to cylinders 1, 3, 4... and not #2? yes, it's in the center, but so is #3, and 3 runs hotter due to coolant temps.... it's just doesn't make sense. I'd like to know if there is extra fuel being sent to #3? In my PFC tune I send 0.5% of extra fuel to cyl #'s 2&3 since I'm using a center feed manifold.
Yeah, adding extra fuel hypothetically helps but being able to pull 0.5-1 degree of timing would be much more effective- given if we could rewrite the advance code to support per cylinder advance values. There comes a point where adding fuel doesn't really provide additional detonation resistance and just makes you lose power, I trust you keep in mind.
 
#14 ·
In the ECU code there's two fixed timing values that are referenced in the code.

86 - equates to 5 deg BTDC for cranking
128 - equates to 10 deg BTDC for diagnostic mode
Did anyone ever figure the formula for converting code in to deg's? Looking through the Ignition table it doesn't quite add up.

In my PFC tune I send 0.5% of extra fuel to cyl #'s 2&3 since I'm using a center feed manifold.
I'm setting up my EMS tune and sequential fuel. Can I ask how you determined the 0.5% extra fuel for cyl 2 & 3 and at what point (rpm & MAP) do you inject? I was thinking something like 7% added fuel above 180kpa and 3200rpm.

jim
 
#15 ·
I built the OBD1 logging cable and played with timing at idle. It appeared that 2 points of ignition adjusted timing by 0.5 degrees at same RPM/MAP values. However, dividing all the cells by 4 gives many of them unrealistic degree values. Assuming that each point is one fifth of a degree gets many of the vacuum values either spot on or very close to the logged value in degrees. Only issue is that the timing I'm seeing under load is far retarded from what this assumption would make you expect, and the ECU says there's no knock either...

ATS Aaron said, during his time playing with a Techtom MDM-100, that a perfectly OK running car basically says it's knocking all the time. I'm seeing single digit to low teens in many areas under boost.
 
#17 · (Edited)
Very useful info. I think I might make a copy of the JDM map and compare to what I have set in my tune. It would be good if I can safely advance my ignition in certain parts but I have been hesitant to do so because I'm picking up some knock using the MSv2 ECU. Believe its more of an adjustment to ECU than actual knock but need to do more research.

Can I ask what happens above 13.78psi with sock ECU?

And I take it this is the gen 2 JDM and not gen 3? Need to go back into beginning of thread and have another read.

jim
 
#23 ·
I'm late to the party here and not at all familiar with this generation of ecu that you're working with, but I'm very interested in what you're doing and potential applications with other Toyota ECU's. I had no idea that this capability was available for ECU's pre-dating J2534/CAN. Can you tell me the part numbers of these ECU's? What processor is used in them? Does it have an IDA module available?

Can you tell me what tools you're using for reading and writing to the ECU? Is there a source for the definition files (.xdf)?

I don't know that I have anything useful to contribute here except for a side note that on later ecu's like the 2Gr-FE the ignition angle scale factor is 0.25. I've been trying to gather information on these ECU's in another thread titled "2GR-FE ECU Tools and Techniques."
 
#24 ·
I have bin dumps for UK and jdm gen 3 ecu's and xdf files for tunerpro rt. Most of the old Toyota ecu's operate very similarly. If you jump e1 and te1 diagnostic pins one of the cpu's outputs a serial stream of operating parameters. If you go on eBay you can buy a pre obd Toyota connecter and wire that to a serial connecter db9 for a laptop then use the program I have, I forget the name, to monitor the engine.

For the ECU, I use a moates ostrich ROM emulator then I plug into daughter boards installed in my ECU. With that I can run one of my bin files and live tune. Then if I'm done I can use a chip flasher to program a cpu and reinstall into the board.

Then gen3 uses a dual core setup. One cpu seems to calculate most of the fueling and or maybe some of the timing. The other cpu seems to have something to do with knock response. I don't have the part numbers of the top of my head and I'm not at home right now. But respond to this thread to remind me to get them but yes I have Ida files for the ecus.
 
#26 · (Edited)
Above link has CarTester for logging directly from 93+ ECUs, CPU/ROM dumps with XDF files, and IDA files

Last post was typed out by my gf while we were driving lol.

I have a set of daughter boards that JonS designed, last I heard from him he was working on a new hardware version with a direct usb connection
 
#29 ·
Been a long time since I've updated this, we should have the correct timing formula now. I converted the MAP values to kPa on this one since I also have a Link, but here's the chart:
UK ST205 raw/interpolated & converted400100015002000250030003500400045005000550060006500700075008000
1414.4928.2033.0135.0038.4039.1039.2239.2239.2239.2239.2239.2239.2239.2239.2239.22
3310.9822.1128.9134.3036.5238.6339.2239.2239.2239.2239.2239.2239.2239.2239.2239.22
515.3515.7822.8128.2032.5434.6536.8837.1137.3437.4638.0538.9838.9839.1039.1039.10
672.4213.4419.4121.6426.4529.9631.0231.4831.4831.4831.4831.7231.9532.5432.5432.54
800.208.9816.7220.0022.2324.6926.5627.5027.7327.7327.9725.3926.3328.6728.6728.67
98-0.745.9414.0216.4820.7023.6325.8626.3326.8026.9127.2725.3925.6327.8527.8527.85
113.21-2.033.5912.2716.0219.6522.1123.2824.2224.4524.6926.5626.8026.5627.8527.8527.85
129.55-2.852.429.4512.5014.9618.5921.1720.7020.7020.7022.3422.3423.0524.4524.4524.45
145.2-3.551.487.118.9812.1515.5517.8916.9517.1917.1918.5918.8319.7721.1721.1721.17
169.1-3.91-2.503.837.119.1010.1612.2711.0912.2712.2714.6115.7816.9518.5918.5918.59
178.6-3.91-2.501.955.005.827.348.757.349.459.8012.2712.5013.9117.1917.1917.19
201.88-3.91-3.91-2.380.314.306.177.585.708.757.7010.1611.0912.0313.3213.3213.32
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top