The service programming system (SPS) allows a technician to program a control
module through the data link connector (DLC). The information transfer circuit that
is used at the DLC is the same serial data circuit used by the scan tool for retrieving
diagnostic trouble codes (DTCs), displaying data, clearing DTCs, etc. This procedure
offers the ability to install software/calibrations matched to a particular vehicle.
Most control modules have 2 types of memory. The software/calibrations reside
in the flash memory. The 2 types of memory are listed below:
• | Electrically Erasable Programmable Read Only Memory (EEPROM) |
| This type of memory allows selected portions of memory to be programmed while
other portions remain unchanged. |
| Certain learned values reside in the EEPROM, such as: |
- | The vehicle identification number (VIN) |
- | The crankshaft variation learned position |
- | The software/calibrations identification numbers |
- | The control module security information |
• | Flash Read Only Memory - Flash Memory |
| Flash memory has increased memory storage capacity. During programming, all
information within this type of memory is erased, and then replaced with entirely
new information. |
Before Programming a Control Module
Important: DO NOT program an existing control module with the identical software/calibration
package. This procedure is not a short cut to correct a driveability condition.
This is an ineffective repair. A control module should only be programmed when the
following occurs:
• | When a service procedure instructs you to replace the control module.
The service part control module does not contain operating software or calibrations. |
• | General Motors Corporation releases an updated software/calibration
package. |
Ensure that the following conditions are met before programming a control
module:
• | Vehicle system voltage: |
- | There are no charging system concerns. All charging system concerns
must be repaired before programming a control module. |
- | The battery voltage is greater than 12 volts but less than 16 volts.
The battery must be fully charged before programming the control module. |
- | A battery charger is NOT connected to the vehicles battery. Incorrect
system voltage or voltage fluctuations from a battery charger may cause programming
failure or control module damage. |
- | Turn OFF or disable any system that may put a load on the vehicles battery.
Turn OFF or disable systems such as: |
• | Daytime running lights (DRL). Applying the parking brake, on most vehicles,
disables the DRL system. |
• | Heating, ventilation, and air conditioning (HVAC) systems |
• | Engine cooling fans, etc. |
• | The ignition switch is in the proper position. The scan tool prompts
you to turn ON the ignition, with the engine OFF. DO NOT change the position of
the ignition switch during the programming procedure unless instructed to do so. |
• | All tool connections are secure: |
- | The connection at the DLC |
- | The voltage supply circuits |
• | DO NOT disturb the tool harnesses while programming. If an interruption
occurs during the programming procedure, programming failure or control module damage
may occur. |
After Programming a Control Module
The powertrain may operate slightly different after a control module software/calibration
update. Operating the powertrain through various driving conditions allows the control
module to re-learn certain values. The control module must re-learn the following
after a software/calibration update:
• | Idle air control (IAC) learned position |
• | Automatic transmission shift adapts |
Other learned values only re-learn by performing a service procedure.
If a control module is replaced the following service procedures may need to
be performed:
• | The crankshaft variation learn procedure |
• | The engine oil life reset procedure |
• | The idle learn procedure |
• | The inspection/maintenance complete system set procedure |
• | The vehicle theft deterrent password learn procedure |
• | The throttle position (TP) sensor learn procedure |