There seem to be many questions which reoccur on the GMECM list with respect to understanding, implementing, and tuning the 1227730 / $8D code, and locations of some common tables / constants in the code. Here I will attempt to cover some BASIC points about parameters and functions. I will NOT cover editor choices, there's as many as there are opinions. It's really a personal preference and dependent on the hardware you run.
All info here is available from/in the GMECM archives. This is just a compilation of it, and some of it is from off-list discussions. I don't claim to be an expert but this is what I've learned, understand to be correct, and has worked for me. A better guide to TUNING would be "Tuning Tips" found on the GMECM website, and "Programming 101". There are two archives, an older one here and newer one here. Yes, these are files you will have to download and search yourself. Notepad works pretty good if you're a windows user, if you're a Unix user you probably know 'grep' and 'more'....
Grabbing a copy of the anht_hac.pdf from the diy-efi.org website HERE would be a good idea, so you can refer to it as you read along. Think of this document as a "Cliff's Notes" for the anht_hac. ANHT is a aluminium head 'vette calibration for the 1227727 ECM, which is a 1227730 ECM in a underhood package so the anht_hac is also good for the AUJP cal. AUJP is a common F-body TPI auto trans calibration for the 1227730 ECM.
Always remember that you can command fuel and spark such that you can hurt things. The ECM does as its told - garbage in, garbage out.
Q1: What do I need to
get started tuning?
Q2: What does the ECM
need to know about my motor/trans/car combo?
Q3: What are the basic
modes of operation of the '730 ECM?.
Q4: How is spark control
handled?
Q5: What about this PE
stuff?
Q6: What about TCC (Torque
Converter Lockup)?
Q7: What about
the cooling fan(s)?
Q8: My BLM's are
in the xxx range, what do I do?
Q9: How do I disable
VATS?
Q10: How do I calculate
the checksum?
Q11: How do I tell the
ECM I have a magnetic VSS instead of a optical VSS?
Q12: Can I use a V6
memcal and just burn a V8 calibration into it?
Q13: Do I really need
a VSS sensor?
Q14: Do I need a Heated
02 sensor? / What one should I use?
Q15: Wiring, grounds,
power, notes.
Q16: What is Highway
Fuel Mode?
Errata / Notes / Thanks / Disclaimer
N.B.: The "$Lxxxx" values you may see below are refering to a location (in hex) in the anht_hac. All values in the calibration binary are in hexidecimal, not binary.
Q: What do I need to get started tuning?
A good intro on this is at the GM_ECM FAQ, which is located HERE but here's a short list.
First and formost, all variables related to the engine should be minimized. By this I mean the ignition system is fresh or in very good condtion, timing is set correctly, fuel pressure set to stock, fuel pump able to deliver proper volume. [Thanks BW] Chip tuning won't fix a burned valve, fouled plug, intake gasket leak or blown rings.
Second a good understanding of what a engine needs to run. Remember when you bolted that 750 double pumper on your first car, then wondered why you couldn't even sqeak the tires off a light anymore? The same rules apply here, bigger and more is not always better. Go re-read Tuning Tips again, it's all in there.
Third is a really good notebook and a bunch of pencils to take notes.
Lastly, a EPROM programmer/reader, tuning software (or for the advanced kids, just a hex editor), and a scan tool, preferrably one that has the ability to do datalogging.
Q: What does the ECM need to know about my motor/trans/car combo?
The ECM only does what it's told to do. If you let it think you've got a 200ci engine with 36lb/hr injectors it will try to make it run, but probably won't run too good. The ECM cannot correct for lack of proper planning.
The ECM doesn't know about your rear end ratio, tire size, or vehicle weight. Those are handled in the tuning of fuel and spark tables, just like the carb days. It DOES know two very basic factors which are sometimes overlooked. They are the size of the engine, and the size of the injectors being used.
Engine Displacement:
Q: What are the basic modes of operation of the '730 ECM?.
1. Open loop / car cold -
The ecm is running purely on the information in the calibration, not using any input from the 02 sensor to correct the AFR. The Integrator (short term fuel correction) will be locked at 128.
2. Closed loop (car @ running temp, using O2 sensor for controlling AFR)
This is the normal operating mode when engine is warmed up, no error codes present, and using the 02 sensor to try and run the commanded AFR, usually 14.7:1. "Usually" since the value for stoich AFR can be changed from 14.7 to whatever you want. (That's a topic for advanced tuning, not covered here). The Integrator and BLM will be changing, or allowed to change.
3. Closed loop - PE (car @ temp, TP% > XX% => add fuel via YYY & lock BLM)
This is PE (Power Enrichment) mode. The ECM adds fuel and timing for additional power above a certain throttle opening vs rpm. The amount of fuel and spark are tuneable, as are the PE enable points. When in PE the ECM no longer trys to achieve the 14.7:1 AFR, but rather a specifed deviation from 14.7:1. The sign of being in this "closed but open loop" is that the Integerator is locked to 128, preventing any ECM fuel correction from occuring. Most scan tools will report "closed loop" even when in PE.
4. Limp home mode
This is controlled by the two resistor packs under the knock filter in the MEMCAL in the event of a ECM failure or hard error.
The Integrator and BLM are your two gauges
to determine what corrections the ECM is doing to change the fuel in response
to the 02 sensor. The Integrator is a short term correction,
whereas the BLM is a long-term correction. When everything
is perfect, both will be at or near 128 meaning that the ECM is not correcting
the fuel at all.
Q: How is spark control handled?
There are (for simplicity's sake) 2 modes of spark control once the engine is running. Under a set RPM (400 rpm for a stock ANHT), the ecm does not control the spark. There is a minimum temp, mph, and rpm enable for knock (ESC) control. Stock settings in AUJP are 25deg. F, 2 mph, 650 rpm. Adjustment of these is a topic for advanced tuning.
1. Open loop / Closed loop cruise - ECM adds spark as commanded in the main and extended spark tables. If detonation is detected from the knock sensor, timing is retarded as commanded in knock retard tables
2. PE - ECM adds spark as commanded in the PE spark table. As above, if detonation is detected, timing is retarded.
PE refers to the additional fuel and spark which is added to the values in the existing fuel and spark tables. There are two tables for PE enable, one for normal coolant temps ($L6803 - $L6807) and one for high coolant temp ($L6808 - $L680C). The high coolant temp value, 245 deg F stock, is at $L8602.
Both tables are indexed by %TPS vs. RPM, meaning that PE is enabled if at a certain RPM "X" the %TPS exceeds a certain amount. Yes, you can set PE to come on at 1000rpm and 10% tps. Would it be a good idea? Probably not....
The table at $L8617 is the heart of PE fueling. It is indexed by RPM vs. % change in AFR. Here you are setting the target AFR at a specific RPM. The value in the table is a percentage change from 14.7:1. Higher numbers mean a richer mixture. From the anht_hac, the value in the table is ((% CHG * 1.28) + 128). For example a 6.25% change in AFR ( approx 13.7:1 AFR) would corrospond to a value of 136 in the table.
NOTE: due to the fact that standard 02 sensors are only accurate (and not very accurate at that) at 14.7:1 AFR, so if you specify a 12:1 AFR, you're going to get something CLOSE to it. A WB02 (wide-band 02) is the only way you'd really know what your actual AFR is.
PE Spark is found in a table at $L81B3. It is indexed by RPM and spark added in degrees. From the anht_hac, the amount added is ( SA * 256/90 ) where SA is in degrees.
It's important to have the basic tuning correct, with the BLM values at or near 128 prior to tuning PE. If prior to entering PE mode the BLM is above 128 the fuel correction is applied along with the PE fueling. If it is below 128, the BLM is brought up to 128 and then PE fuel applied.
Q: What about TCC (Torque Converter Lockup)?
TCC and related controls start at $L8311, it's really a lot easier to edit these settings with a good editor.
The ECM has two sets of tables for lock/unlock, one is "lower gears" meaning all but overdrive, and "high gear" which means the top gear, overdrive in our case. The ECM commands lock/unlock by comparing the TPS value to EITHER engine RPM or vehicle MPH. Most commonly MPH is used.
For the ECM to go from unlocked to lock:
For a given MPH "X" and the TPS is below a certain level (25% is a good example), allow lockup.
If for that same MPH "X", the TPS is above 25%, the TCC would not be allowed to lock if it was in a unlocked state.
For the ECM to go from lock to unlocked:
Case 1:
If for that same MPH "X", you exceed a
certain TPS point (70%, for example), then if the converter was
locked the ECM will command it to release.
Case 2:
If the converter is locked and the TPS
changes a by a certain amount within a preset time, it will momentarily
unlock the converter.
TCC lock/unlock points are a very subjective calibration, and depend highly on your particular setup along with your driving style. There's really no right or wrong, just what works for you and your combo.
Q: What about the cooling fan(s)?
The ECM can control one or two fans. For each fan, there is a temp to turn on, and a temp to turn off.
For Fan 1:
$L8378 Fan 1 Turn On Temp
(Stock is 220f)
$L8377 Fan 1 Turn Off Temp
(Stock is 226f)
For Fan 2:
$L837A Fan 2 Turn On Temp
(Stock is 235f)
$L8379 Fan 2 Turn Off Temp
(Stock is 220f)
For both fans, the value at the location is ((DEG C+40) * (256/192)) [Directly from anht_hac]
There are other modifiers for fan control, they are a topic for advanced tuning.
Q: My BLM's are in the xxx range, what do I do?
This is really covered in Tuning Tips but briefly, a BLM above 128 indicates a long term lean condition, the ECM is adding fuel over the base calibration. A BLM below 128 indicates a long term rich condition, the ECM is removing fuel from the base calibration.
The idea is to change the VE tables to get the BLM as close to or just below 128 as possible. If your BLM's over the entire range are high or low, you should probably address that first. A slight tweak of the fuel pressure or even the injector constant might bring everything into line.
High BLM (using a BLM of 140 and VE table value of 65 as an example):
1. Divide the
BLM value by 128, result 1.09
2. Multiply
the BLM value at that RPM/kpa point by 1.09 ; (65
* 1.09) = 71.09
3. Enter that
new value in the table, repeat a test run.
Low BLM (using a BLM of 110 and VE table value of 65 as an example):
1. Divide the
BLM value by 128, result 1.16
2. Divide
the BLM value at that RPM/kpa point by 1.16 ; (65
/ 1.16) = 56.03
3. Enter that
new value in the table, repeat a test run.
Note that you'll usually need to "buffer" (that's what I call it) the values around that specific cell a little to make everything work. This is something that you'll develop a feel for. For example, if the math shows to reduce a specific cell by 10, you might drop that cell by 5, drop the surrounding cells by 3. This is where a logging scan tool comes in handy so you can tell if you're lean/rich as you approach/leave that one (yeah right, only one) problem VE cell.
Remember that changes in spark advance can alter the BLM, since spark timing directly affects the completness of the combustion cycle.
Change bit 7 of the value at location $8016 to zero.
Q: How do I calculate the checksum for the calibration?
The checksum is found at $L8006-$L8007. It is the checksum of $L8008 thru the end of the file, $L7FFF. You can use your editor (some do it automatically) or burner to calculate the checksum. If you do not calculate it, you'll get a error code upon startup.
Q: How do I tell the ECM I have a magnetic VSS instead of a optical VSS?
Change bit 6 of the value at location $8018 to zero.
Q: Can I use a V6 memcal and just burn a V8 calibration into it?
The easiest answer is NO. If you insist, it can be done but in the end you will loose ESC and limp-home. Ask yourself it it's really worth it for the $80 you'll pay for a brand new memcal from your GM dealer. If you decide you really need to do this, the details are in the archives.
Q: Do I really need a VSS sensor?
Yes. TCC, EGR, ESC and others won't work without it. You'll also eventually set a error code without it.
Q: Do I need a heated 02 sensor? What one should I use?
This depends on where your 02 sensor is located. If it's in a stock location then probably you don't need it. If you've moved it signifigantly from a stock location, eg more than 12" from the exhaust manifold outlet, then you probably should use one. You can't go wrong using a heated 02, and using one will let the ECM get into closed loop faster than a non-heated one-wire.
This topic comes up often on the GMECM list.
Ideally, you should use a GM sensor. There is a listing on the diy-efi.org website of part numbers. The 4-wire units incorperate a sensor ground; 3 and 1 (non heated) wire units use the exhaust as the ground return. Very often gaskets, sealers, and coatings (headers) can interfere with the ground path so a 4-wire is a good idea. At the least, adding a ground to the shell of the 02 sensor is a good idea.
A common color coding for heated 02's is:
White pair - heater
(12 volts)
Black - signal to ECM
Grey - signal ground
(on a 4 wire unit)
Q14: Wiring, grounds, power, notes.
Wiring should be routed as far as possible from RFI sources, like plug wires, coils and motors. If it must come close to RFI sources, try and route the wires perpendicular to the source to minimize induced RFI. Bad alternator diodes can induce AC in to the power and cause headaches. A good rule is that if you get the "WV8" station on your radio (you know what I mean), you've got a problem.
Grounds are just as important as power leads in a EFI system. It is best to try and bring all sensor and engine grounds to a common *clean* point on the engine block to reduce ground loops. Chevy engines are notorious for ground problems at the common point on the water outlet.
All connections should be clean, soldered, tight, and protected. The ECM does corrections on injector pulse width based on voltage, so it should be right. If you put a voltmeter across a connection and find more than a .2 volt drop the connection or component should be replaced. This is a common problem when retrofitting EFI to older cars which have had time to build up corrosion on connections, or just simply don't have heavy guage wiring.
Highway fuel and spark modes are two modes in which under certain specific condtions the ECM allows the fuel mixture to be leaner than the 14.7:1 AFR required for optimal operation of the catalytic converter. Think of it as PE mode in reverse. Highway is disabled by default in almost all calibrations since once the EPA found out GM's little trick they quickly stopped them from using it since it's a "emissions defeat". Before even thinking of trying Highway mode, GET EVERYTHING ELSE RIGHT! This really can't be stressed enough, since if you don't you'll chase your tail trying to get it to work.
FUEL:
As the name suggests, Highway fuel is meant to work only during crusing conditions. There are several qualifiers to allow entry into Highway fuel mode. By default, highway fuel is disabled by setting the minimum MPH for highway to 255mph, at $L8484.
The ECM is designed to go in and out of Highway mode, to keep the 02 sensor alive and also presumably to allow the ECM to get a reference point on AFR. Highway mode is enabled for X seconds at $L8483, then turned off for Y seconds at $L8482 before re-entering Highway mode.
$L8482 HM lockout (delay before re-entering
HM), acutal value in seconds (default 10)
$L8483 HM maximum enable period
(max time in highway fuel mode), acutal value in seconds (default
60)
If the MAP exceeds a certain amount, disable highway mode
$L8480 Disable Highway if MAP kpa > value; acutal value in kpa
If MPH is less than a specified MPH, disable highway (default is 255mph, I found 45mph to be good)
$L8484; Disable Highway if mph < value; acutal value in mph
A/F Ratio table for Highway mode table. The value for all is (AFR/10)
$L8485; AFR at 30 kpa
$L8486; AFR at 40 kpa
$L8487; AFR at 50 kpa
$L8488; AFR at 60 kpa
SPARK:
Highway mode spark is controlled by it's own set of entry/exit parameters, starting at $L81A8.
The table at $81AB is indexed by KPA vs. spark added in degrees.
These are very well documented in the anht_hac.
Errata / Notes / Thanks / Disclaimer
As stated in the opening, all the info contained here can be found in the archives and on reoccuring discussions on the GMECM list. Hence, credit really goes to the numerous GMECM list members who contributed to it. The main goal of this document is to provide a convienient reference point for the common questions that come up the GMECM list that often get a "it's in the archives" answer.
There is still a TON of information not covered here, like IAC (idle air control) settings, EGR, Canister Purge, voltage corrections, ect.
Disclaimer: I've never tuned a Chevy TPI motor. But I got a 1227730 to run a 403 Olds motor in a '71 Cutlass , thanks to a ton of help from the list. ;^>
This document may NOT be sold or reproduced in whole or part, for a profit or fee.
-> Bob
-> bob@tecmark.com