Getting Started Guide
Posted: Thu Jul 29, 2010 5:03 pm
Hopefully this will serve as a crash course in the basics of the GM Delco Engine/Powertrain control system. It is a complex system and due to the nature of it being a factory system is also not very intuitive. We are going to try and demystify this!
ECM/PCM Hardware and Software: – The ECMs and PCMs used from VN to VY (excluding LS1) used an 8 bit processor that’s based on a HC11. The software that runs in the ECM is stored on an EPROM that’s part of the memcal (memory calibration). The software is normally referred to as a bin file or binary. This is the compiled code that was originally written in assembly language. You can download many of the original Holden bin files here. The binary is made up of a few parts, the calibration data which contains all the items you will change to make tuning adjustments and is often referred to as the cal. Another part is the running code, it is compiled HC11 machine code and makes up the bulk of the binary. It is what does all the number crunching and does lookups to the cal segment to get the tables and constants.
The VN/VP ECM hardware is very similar to the VR/VS (excluding Ecotec) manual ECM, the VN/VP loses the 8192 baud data chip so is stuck at 160 baud. This ECM is commonly known as the ‘808 due to its part number of 1227808. You can add a small board to enable the higher data rate on the VN/VP ECM, this also requires the use of a VR/VS bin and a larger EPROM in the memcal. The memcal contains an EPROM (27c128 in the VN/VP and 27c256 in the VR/VS), on vehicles with a knock sensor there is a knock filter board to process the knock sensor output and also the netres for limp home. The netres is a resistor network that puts the ECM into an analog fueling mode if there is a total failure of the ECM. Limp home mode is a little misunderstood, the ECM has many fault handling modes if a single or multiple sensor fails (ie the manifold temp sensor goes open circuit, it uses the coolant temp to calculate an approx manifold temp value). If the ECM has a terminal failure where the software can no longer run then limp home mode is invoked. This is controlled by a chip called the FMD (fuel modeling device), if the CPU fails to reset the watchdog timer limp home mode takes over. The spark is controlled by the ignition module. There is a line called bypass mode, when this goes to 5v the ECM takes control of spark timing and dwell, when its grounded the ignition module controls spark timing. In limp home mode the spark is controlled by the ignition module only. In ignition module mode timing is fixed at the base spark advance, this is usually 10deg BTDC.
In 1993 with the VR auto Commodore GM started using a PCM (Powertrain Control Module) to control both the engine and transmission. The initial code designation was $11 and was 64k bytes stored on a memcal with a 27c512 EPROM. The PCM is much more complex than the early ECMs, it runs at the same speed but executes nearly double the amount of code. The main difference to the engine code is it now has banked fuel injection for the V6. The transmission code is very complex - it detects the start and end of a gear shift by looking at the slope of engine RPM, uses a PID control algorithm to control the current to the force motor for shift quality, adjusts shift speed based on a target shift time so aging of the gearbox does not affect the shift quality (obviously there are limits to this), TCC lockup/release using ramp up/down rates, upshift/downshift with respect to vehicle speed for economy/power/cruise control/hot/cold, full fault diagnostics and handling. This is only just a few of the functions and as can be understood it is not a simple task to tune these.
The VS Ecotec now uses a MAF sensor instead of the MAP based speed density system, while the VS V8 series I and II retain the same style of PCM used in VR models using a MAP. The VS V8 series 3 became MAF based using a 16234531 PCM. Software wise the load variable for MAF systems is now airflow in grams/sec rather than MAP in kPa and all MAF systems are sequential injection. While MAF systems are far more tolerable to modifications, if your used to tuning using MAP based systems it can be difficult to get your head around. The memcal of MAF based vehicles also changed, it now no longer contains the limp home resistor network or knock sensor filter and contains just a 27c010 EPROM, the limp home is handled by a custom IC on the PCM PCB and the knock filtering by a digital filter IC. There is a specific manual PCM, it has extra hardware for the different vehicle speed sensor style (modification here .. viewtopic.php?f=7&t=1377&p=15740#p15740).
The VT brought about a new PCM which both the V6 and V8 used. It is similar to the VS Ecotec PCM and uses the same style memcal. The V8 and V6 have different part numbers, 16234531 and 16233396 respectively, due to having extra injector drivers for the V8. Both manual and auto use the same PCM and the VT V6 S/C uses the same PCM as the NA V6.
When the VX was released GM used a flash based PCM, 09356445. This meant there is no longer a memcal, instead all the software is stored on a 29F010 flash chip. The PCM is also a new generation IPCM-6 and runs a higher clock speed. The processor is still the same 8bit HC11 derivative.
Data Logging: - The first step in getting stuck into the workings of the ECM is to start gathering some data. This can be done using the ALDL data interface, some information on ALDL is available here.
Tuning: – This is a small getting started guide to the tools needed to make changes to the tune, it is not designed to be a tuning how-to guide.
There are many ways to go about making changes to the tune. The number one rule is to make small changes one at a time!! Real-time tuning is great, but for a beginner it is the easiest way to get yourself totally confused, have an engine that runs worse than before you started or worse still damage something permanently. Take baby steps before trying to run, gather data, more data and then more data, understand and analyse that data and then work out what needs changing. When starting out you will find there are many abbreviations, a list of common ones are available here.
There are a few free software packages available to make tuning changes. One that is commonly used and discussed on this forum is TunerPro. The software allows logging and tuning using many different forms of hardware. For any form of adjustment you need to be able to define the tables and constants and for this TunerPro uses a file called an XDF. These can be found here for most models of Commodores. Load up a binary and the corresponding XDF and have a look at what’s available to tune. Not all the XDFs are complete but will be updated as time goes on. Its very important to match the XDF with the bin, with some code bases there are also variants so you must be careful to match the XDF variant with the bin variant. The easier alternative to downloading heaps of bins and XDFs is to grab the memcal ID tool, it contains all the bins and XDFs you can download from this site.
To actually make the change is where you have a few different options. The most basic would be just reprogramming the factory memcal. Before starting anything it would be a very good idea to buy a spare memcal from a wrecker and program this instead, this way you will have a backup in the form of the original memcal. To reprogram the factory memcal you will require a UV eraser and an EPROM programmer. There are heaps on Ebay, many people have had good success with Willem programmers.
Another alternative is to convert a memcal to use an EEPROM. You will then not require a UV eraser. This is done by cutting the original EPROM out and soldering in a socket for an EEPROM. You can also solder the EEPROM directly into the memcal if you want. You will still require a programmer.
http://www.moates.net sell a few different products for tuning. They have EPROM emulators and logging cables. I have not used any of these products so can’t offer much more info, they have a forum here where you can enquire about any products.
For flash based PCMs (VU, VX and VY) the Flashtool can be used to read and write the calibration and binary with no modifications to the PCM. It is recommended that a spare PCM be purchased if you are intending on reading and writing the entire binary.
NVRAM Tuning: – The form of tuning that DelcoHacking.net promote is using the ALDL data interface and an NVRAM in place of the factory EPROM and memcal. There are a few advantages to this, the biggest being that its totally contained inside the ECM/PCM. There is no need to have the ECM or emulator sitting on the passenger floor and for VR and later you just connect up to the vehicle port and can log and tune as you please. For VN/VP you can extend the serial/USB connection and have a plug that is convenient to get to.
The disadvantage is the binary must be modified to enable writing. This has now been completed for all models from VN-VY (excluding VX/VY flash PCMs and LS1), some are still requiring testing so please contact me if you can help. The list of vehicles and the bins can be found here.
For the VN/VP ‘808, the VR V6 and V8 manual and VS V8 manual you can use the 12P package. This is a factory binary that was disassembled and then extra code added. It contains more performance oriented features. It has a well defined XDF and ADX, along with TP5 support for bubble tracing.
The NVRAM board is available in two versions, one suits VN-VS (excluding ecotec) and the other VS Ecotec to VY (Excluding flash based PCMs). These replace the memcal with an NVRAM chip. The NVRAM is basically regular RAM with battery backup. This means the CPU can read and write instead of just reading. With different code running in the ECM it is possible to use ALDL compliant packets to write to the calibration data area while the ECM is running. This is done over the vehicle data interface and means you can make tuning changes in real-time.
There are two tools available to read and write to the ECM, the flashtool and the TP5 plugin.
The Flashtool is a standalone tool that allows reading the calibration, the entire binary, RAM and EEPROM. It can write to the calibration and also update the binary of some releases. With the calibration write function you can edit the calibration in TunerPro and then flash it into the ECM. This can be done while the engine is running if you like. It can also read and write to a standard flash based PCM, but the engine must be switched off. It also performs other tasks for the OSE 12P code such as flex table editing, cal migration for new version releases and ALDL editing. Other non-specific tasks are GM OBD-I key finding, listening to chatter and a packet generator for individual ALDL commands.
The TunerPro V5 plugin by antus allows for real-time tuning while logging – over the one cable connected to the vehicle data port. You are able to have a dashboard in TP5 displaying the current operating parameters while editing tables that use bubble tracing to display the current cell being used. This makes it really easy for the more experienced user to make fast and accurate changes in real-time. This system is far easier to use than any other commercial Delco tuning solution, it allows for USB data interfaces and windows PCs. The plugin only works on the RT enabled bins or OSE packages such as 12P, it will not detect a factory PCM when choosing 'Detect Hardware'.
Chip Programming Offsets: – When programming any form of memory chip you must write the bin to the correct memory offset. If the offset is wrong the ECU will run off the backup fueling modes, the CEL will be lit and, if fitted, the engine cooling fan on all the time. This diagram shows two common size memory chips and where to burn each type of bin. For example, burning a 32k bin to a 512k EPROM would use offset of 0x8000.
If you want to stack bins and then switch on the fly there is some info in this thread - EPROM Bank Switching
Other Tuning Tools: –
Kinjflow calculator for determining the injector rate when upgrading to larger injectors.
Convert a Netres for a different number of engine cylinders.
Tuning with 12P. This covers the basics of getting an initial tune in 12P. A more advanced guide will come later.
$A5 PE Spark and AFR calc can be found in the $A5 zip package.
Wiring Diagrams: - VN, VR V6 Auto, VS V8 Auto, VR V8 Manual, VY V6, JE Camira
FAQ: - Have a read of this for the most common forum questions and a few more documents.
ECM/PCM Hardware and Software: – The ECMs and PCMs used from VN to VY (excluding LS1) used an 8 bit processor that’s based on a HC11. The software that runs in the ECM is stored on an EPROM that’s part of the memcal (memory calibration). The software is normally referred to as a bin file or binary. This is the compiled code that was originally written in assembly language. You can download many of the original Holden bin files here. The binary is made up of a few parts, the calibration data which contains all the items you will change to make tuning adjustments and is often referred to as the cal. Another part is the running code, it is compiled HC11 machine code and makes up the bulk of the binary. It is what does all the number crunching and does lookups to the cal segment to get the tables and constants.
The VN/VP ECM hardware is very similar to the VR/VS (excluding Ecotec) manual ECM, the VN/VP loses the 8192 baud data chip so is stuck at 160 baud. This ECM is commonly known as the ‘808 due to its part number of 1227808. You can add a small board to enable the higher data rate on the VN/VP ECM, this also requires the use of a VR/VS bin and a larger EPROM in the memcal. The memcal contains an EPROM (27c128 in the VN/VP and 27c256 in the VR/VS), on vehicles with a knock sensor there is a knock filter board to process the knock sensor output and also the netres for limp home. The netres is a resistor network that puts the ECM into an analog fueling mode if there is a total failure of the ECM. Limp home mode is a little misunderstood, the ECM has many fault handling modes if a single or multiple sensor fails (ie the manifold temp sensor goes open circuit, it uses the coolant temp to calculate an approx manifold temp value). If the ECM has a terminal failure where the software can no longer run then limp home mode is invoked. This is controlled by a chip called the FMD (fuel modeling device), if the CPU fails to reset the watchdog timer limp home mode takes over. The spark is controlled by the ignition module. There is a line called bypass mode, when this goes to 5v the ECM takes control of spark timing and dwell, when its grounded the ignition module controls spark timing. In limp home mode the spark is controlled by the ignition module only. In ignition module mode timing is fixed at the base spark advance, this is usually 10deg BTDC.
In 1993 with the VR auto Commodore GM started using a PCM (Powertrain Control Module) to control both the engine and transmission. The initial code designation was $11 and was 64k bytes stored on a memcal with a 27c512 EPROM. The PCM is much more complex than the early ECMs, it runs at the same speed but executes nearly double the amount of code. The main difference to the engine code is it now has banked fuel injection for the V6. The transmission code is very complex - it detects the start and end of a gear shift by looking at the slope of engine RPM, uses a PID control algorithm to control the current to the force motor for shift quality, adjusts shift speed based on a target shift time so aging of the gearbox does not affect the shift quality (obviously there are limits to this), TCC lockup/release using ramp up/down rates, upshift/downshift with respect to vehicle speed for economy/power/cruise control/hot/cold, full fault diagnostics and handling. This is only just a few of the functions and as can be understood it is not a simple task to tune these.
The VS Ecotec now uses a MAF sensor instead of the MAP based speed density system, while the VS V8 series I and II retain the same style of PCM used in VR models using a MAP. The VS V8 series 3 became MAF based using a 16234531 PCM. Software wise the load variable for MAF systems is now airflow in grams/sec rather than MAP in kPa and all MAF systems are sequential injection. While MAF systems are far more tolerable to modifications, if your used to tuning using MAP based systems it can be difficult to get your head around. The memcal of MAF based vehicles also changed, it now no longer contains the limp home resistor network or knock sensor filter and contains just a 27c010 EPROM, the limp home is handled by a custom IC on the PCM PCB and the knock filtering by a digital filter IC. There is a specific manual PCM, it has extra hardware for the different vehicle speed sensor style (modification here .. viewtopic.php?f=7&t=1377&p=15740#p15740).
The VT brought about a new PCM which both the V6 and V8 used. It is similar to the VS Ecotec PCM and uses the same style memcal. The V8 and V6 have different part numbers, 16234531 and 16233396 respectively, due to having extra injector drivers for the V8. Both manual and auto use the same PCM and the VT V6 S/C uses the same PCM as the NA V6.
When the VX was released GM used a flash based PCM, 09356445. This meant there is no longer a memcal, instead all the software is stored on a 29F010 flash chip. The PCM is also a new generation IPCM-6 and runs a higher clock speed. The processor is still the same 8bit HC11 derivative.
Data Logging: - The first step in getting stuck into the workings of the ECM is to start gathering some data. This can be done using the ALDL data interface, some information on ALDL is available here.
Tuning: – This is a small getting started guide to the tools needed to make changes to the tune, it is not designed to be a tuning how-to guide.
There are many ways to go about making changes to the tune. The number one rule is to make small changes one at a time!! Real-time tuning is great, but for a beginner it is the easiest way to get yourself totally confused, have an engine that runs worse than before you started or worse still damage something permanently. Take baby steps before trying to run, gather data, more data and then more data, understand and analyse that data and then work out what needs changing. When starting out you will find there are many abbreviations, a list of common ones are available here.
There are a few free software packages available to make tuning changes. One that is commonly used and discussed on this forum is TunerPro. The software allows logging and tuning using many different forms of hardware. For any form of adjustment you need to be able to define the tables and constants and for this TunerPro uses a file called an XDF. These can be found here for most models of Commodores. Load up a binary and the corresponding XDF and have a look at what’s available to tune. Not all the XDFs are complete but will be updated as time goes on. Its very important to match the XDF with the bin, with some code bases there are also variants so you must be careful to match the XDF variant with the bin variant. The easier alternative to downloading heaps of bins and XDFs is to grab the memcal ID tool, it contains all the bins and XDFs you can download from this site.
To actually make the change is where you have a few different options. The most basic would be just reprogramming the factory memcal. Before starting anything it would be a very good idea to buy a spare memcal from a wrecker and program this instead, this way you will have a backup in the form of the original memcal. To reprogram the factory memcal you will require a UV eraser and an EPROM programmer. There are heaps on Ebay, many people have had good success with Willem programmers.
Another alternative is to convert a memcal to use an EEPROM. You will then not require a UV eraser. This is done by cutting the original EPROM out and soldering in a socket for an EEPROM. You can also solder the EEPROM directly into the memcal if you want. You will still require a programmer.
http://www.moates.net sell a few different products for tuning. They have EPROM emulators and logging cables. I have not used any of these products so can’t offer much more info, they have a forum here where you can enquire about any products.
For flash based PCMs (VU, VX and VY) the Flashtool can be used to read and write the calibration and binary with no modifications to the PCM. It is recommended that a spare PCM be purchased if you are intending on reading and writing the entire binary.
NVRAM Tuning: – The form of tuning that DelcoHacking.net promote is using the ALDL data interface and an NVRAM in place of the factory EPROM and memcal. There are a few advantages to this, the biggest being that its totally contained inside the ECM/PCM. There is no need to have the ECM or emulator sitting on the passenger floor and for VR and later you just connect up to the vehicle port and can log and tune as you please. For VN/VP you can extend the serial/USB connection and have a plug that is convenient to get to.
The disadvantage is the binary must be modified to enable writing. This has now been completed for all models from VN-VY (excluding VX/VY flash PCMs and LS1), some are still requiring testing so please contact me if you can help. The list of vehicles and the bins can be found here.
For the VN/VP ‘808, the VR V6 and V8 manual and VS V8 manual you can use the 12P package. This is a factory binary that was disassembled and then extra code added. It contains more performance oriented features. It has a well defined XDF and ADX, along with TP5 support for bubble tracing.
The NVRAM board is available in two versions, one suits VN-VS (excluding ecotec) and the other VS Ecotec to VY (Excluding flash based PCMs). These replace the memcal with an NVRAM chip. The NVRAM is basically regular RAM with battery backup. This means the CPU can read and write instead of just reading. With different code running in the ECM it is possible to use ALDL compliant packets to write to the calibration data area while the ECM is running. This is done over the vehicle data interface and means you can make tuning changes in real-time.
There are two tools available to read and write to the ECM, the flashtool and the TP5 plugin.
The Flashtool is a standalone tool that allows reading the calibration, the entire binary, RAM and EEPROM. It can write to the calibration and also update the binary of some releases. With the calibration write function you can edit the calibration in TunerPro and then flash it into the ECM. This can be done while the engine is running if you like. It can also read and write to a standard flash based PCM, but the engine must be switched off. It also performs other tasks for the OSE 12P code such as flex table editing, cal migration for new version releases and ALDL editing. Other non-specific tasks are GM OBD-I key finding, listening to chatter and a packet generator for individual ALDL commands.
The TunerPro V5 plugin by antus allows for real-time tuning while logging – over the one cable connected to the vehicle data port. You are able to have a dashboard in TP5 displaying the current operating parameters while editing tables that use bubble tracing to display the current cell being used. This makes it really easy for the more experienced user to make fast and accurate changes in real-time. This system is far easier to use than any other commercial Delco tuning solution, it allows for USB data interfaces and windows PCs. The plugin only works on the RT enabled bins or OSE packages such as 12P, it will not detect a factory PCM when choosing 'Detect Hardware'.
Chip Programming Offsets: – When programming any form of memory chip you must write the bin to the correct memory offset. If the offset is wrong the ECU will run off the backup fueling modes, the CEL will be lit and, if fitted, the engine cooling fan on all the time. This diagram shows two common size memory chips and where to burn each type of bin. For example, burning a 32k bin to a 512k EPROM would use offset of 0x8000.
If you want to stack bins and then switch on the fly there is some info in this thread - EPROM Bank Switching
Other Tuning Tools: –
Kinjflow calculator for determining the injector rate when upgrading to larger injectors.
Convert a Netres for a different number of engine cylinders.
Tuning with 12P. This covers the basics of getting an initial tune in 12P. A more advanced guide will come later.
$A5 PE Spark and AFR calc can be found in the $A5 zip package.
Wiring Diagrams: - VN, VR V6 Auto, VS V8 Auto, VR V8 Manual, VY V6, JE Camira
FAQ: - Have a read of this for the most common forum questions and a few more documents.