GM Service Manual Online
For 1990-2009 cars only

Service Programming System (SPS)

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 DTCs, displaying data, clearing DTCs, etc. This procedure offers the ability to install software/calibrations matched to a particular vehicle. This also allows one type of control module to be used across different vehicle platforms and engine combinations. The following is a list of control modules that are programmable:

    • Powertrain control module (PCM)
    • Engine control module (ECM)
    • Vehicle control module (VCM)

Types of Programmable Memory

EEPROM: Electrically Erasable Programmable Read Only Memory. This type of memory allows selected portions of memory to be programmed while other portions remain unchanged.

Certain learned values reside in EEPROM. The following information resides in EEPROM:

    • Vehicle Identification Number (VIN)
    • Software/calibrations identification numbers
    • Control module security information
Flash Memory: Flash Read Only Memory. Flash memory has increased memory storage capacity. During programming, all information within memory is erased and then replaced with entirely new information.

Most control modules have both types of memory. The software/calibrations reside in the flash memory.

Service Programming Methods

The three methods of programming a control module and the proper tools for each method:

    • Remote Programming
       - The Tech 2 and the Techline Terminal
       - The control module installed in the vehicle
       - Not currently available for Catera
    • Pass Through Programming
       - The Tech 2 or other scan tools, Techline Terminal or a personal computer equipped with General Motors Corporation authorized programming software. The Tech 2 or other scan tools are used as an interface between the vehicle and the Techline Terminal or a personal computer.
       - The control module installed in the vehicle.
       - Only approved method at this time
    • Off Board Programming, Vehicle NOT available
       - The Tech 2, Techline Terminal, and Off Board Programming Adapter
       - The control module NOT installed in a vehicle
       - Not currently available for Catera

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.
   • General Motors Corporation releases an updated software/calibration package.

Ensure the following conditions are met before programming a control module:

    • Vehicle system voltage
       - There is no charging system concern. All charging system concerns must be repaired before programming a control module.
       - Battery voltage is greater than 12 volts but less than 16 volts. The battery must be charged before programming the control module if the battery voltage is low.
       - A battery charger is NOT connected to the vehicle 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 vehicle battery.
   • Daytime running lights (DRL). Applying the parking brake, on most vehicles, disables the DRL system. Refer to the Owners manual.
   • 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.
       - RS-232
       - The connection at the DLC is secure.
       - 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.
    • If you are performing the pass-through programming procedure using a notebook computer without the power cord, ensure the internal battery is fully charged.

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:

    • Fuel trim correction
    • Idle air control learned position
    • Automatic transmission shift adapts

Other learned values only re-learn by doing a service procedure.

If a control module is replaced the following service procedures must be performed:

    • The Crankshaft Variation Learn Procedure, if applicable
    • The Engine Oil Life Reset Procedure, if applicable
    • The Idle Learn Procedure, if applicable
    • The Inspection/Maintenance Complete System Set Procedure
    • The Vehicle Theft Deterrent Password Learn Procedure, if applicable
    • The TP Sensor Learn Procedure, if applicable