GM Service Manual Online
For 1990-2009 cars only

The body control module (BCM) performs the following functions:

    • A/C compressor request
    • A/C cooling Fan
    • Exterior and interior lighting control
       - Daytime running lights (DRL)
       - Automatic lighting control
       - Fog lamps
       - Interior lighting
    • Battery rundown
    • Chime
    • Gauge control
    • Instrument cluster indicator control
    • Fuel gauge control
    • Temperature gauge control
    • Theft deterrent

A/C Compressor Control

The Powertrain Control Module (PCM) and the BCM share hardware and software for control of the A/C Compressor Clutch. The PCM and the BCM communicate this information over the serial data class 2 line.

The BCM performs the following software functions:

    • Limits low speed compressor operation
    • Prevents clutch slippage
    • High coolant temperature
    • Monitors for overpressure
    • Determines low ambient pressure
    • Controls the compressor clutch

The PCM performs the following functions:

    • Prevents compressor overspeed
    • Limits compressor speed (in PARK or NEUTRAL)
    • Drives the compressor clutch
    • Performs anti-slug
        Slugging is when a mass of liquid enters the A/C compressor pump

Battery Rundown Function

The battery rundown function helps to prevent the battery from deep discharge due to interior/courtesy lighting being inadvertently left ON. The battery rundown function performs this function by turning OFF the inadvertent power output. The power output provides power for the interior/courtesy lighting).

When the ignition switch is turned to the OFF position one of the following time out period starts:

    • 3 minutes when the odometer is less than 24 km (15 miles)
    • 20 minutes when the odometer is greater than 24 km (15 miles)

When the time out expires the inadvertent power output is turned off.

Bulb Check

The bulb check function resides in the BCM. Every time the ignition switch transitions from ACC to RUN, an instrument cluster bulb check will occur for a calibrated amount of time for specified indicators. The bulb check will override the OFF state of the affected indicators. The BCM will determine which indicators to bulb check by looking at an EEPROM table. Every serial peripheral interface (SPI) indicator has a bit in the EEPROM table. The gauges will WOW during a bulb check. A WOW occurs when all of the gauge indicators are moved at the same time. If there is an indicator lit before the WOW, the indicator will remain lit after this function has concluded.

Chime Request Function

When the BCM requests a driver warning to the instrument cluster, the BCM may also provide a chime. The following chimes are provided:

    • Key in ignition
    • Headlamps ON
    • Seatbelt not fastened
    • Turn signal on
    • Park brake warning
    • Door ajar warning
    • Check gauges

Data Line Communications

The BCM communicates on the following two separate data lines:

    • Class 2
    • Serial peripheral interface (SPI)

Class 2 Data Line

Class 2 data is a high speed data transmission. In order to control serial data line traffic, class 2 uses the peer to peer method along with message arbitration in order to manage the data line traffic. The class 2 data line includes the following control modules:

    • The body control module (BCM)
    • The electronic brake control module (EBCM)
    • The powertrain control module (PCM)

Serial Peripheral Interface (SPI) Data Line

The Serial Peripheral Interface (SPI) is a three wire interface connecting the BCM to the instrument cluster. The SPI allows for the exchange of information. This interface is a synchronous serial data link where the BCM is the master and the instrument cluster is the slave. Because of the need for modules on the different serial data links to communicate with each other, the BCM acts as an interpreter, or master, for data communication between the class 2 and SPI data lines.

Driver Warning System

The BCM is responsible for the following functions:

  1. Interpreting all of the driver warnings sent by the control modules on the class 2 serial data line
  2. Sending the information to the instrument cluster in the form of a SPI serial data bus message

The following list of messages are sent by the BCM to the Instrument Cluster:

    • Fuel gauge position
    • Temperature gauge position
    • Oil pressure
    • Low engine coolant
    • Check oil
    • Volts
    • ABS
    • High beam
    • Low fuel
    • High temperature
    • Washer fluid level low
    • CRUISE
    • BRAKE
    • SERVICE VEHICLE SOON
    • Door ajar
    • Seat belt
    • THEFT SYSTEM
    • PRNDL

ABS Indicator

The ABS indicator (amber) will illuminate when the electronic brake control module (EBCM) transmits a class 2 message to the BCM indicating that there is an ABS malfunction. The BCM will then command the ABS indicator ON over the SPI data line to the instrument cluster. The ABS indicator will illuminate under the following conditions:

    • In the event of a class 2 serial data loss
    • In the event of an SPI data link failure

BRAKE Indicator

The BRAKE warning indicator (red) will illuminate under the following conditions:

    • When the ignition switch is in the RUN position
    • When the park brake is engaged

The BRAKE indicator will illuminate when the EBCM transmits a class 2 message to the BCM indicating that there has been a brake fail condition. The BCM will then command the BRAKE indicator ON over the SPI data line to the instrument cluster. In the event of the EBCM commanding the BRAKE indicator to illuminate, the cruise function will be canceled. In the event of a class 2 serial data loss the BRAKE indicator will illuminate. In the event of an SPI data link failure, the BRAKE indicator will not illuminate unless the indicator was illuminated prior to the SPI data link failure.

CHECK OIL Indicator (L82 Only)

The check oil indicator (amber) will be illuminated when the PCM completes the following functions:

    • Reads the oil level switch
    • Transmits a class 2 message to the BCM indicating that a low oil level condition exists

The BCM will then command the check oil indicator ON over the SPI interface to the instrument cluster. If the low oil level option is false, all of the class 2 activity on the part of the BCM will stop. The BCM will not send out any request for the low oil level condition command and will not issue a low oil level condition report. In the event of a loss of BCM or PCM Class 2 serial data, the check oil indicator will not illuminate unless the indicator was illuminated when the event occurred. In the event of an SPI data link failure, the check oil indicator will not illuminate unless the indicator was illuminated prior to the SPI data link failure.

CRUISE Indicator

The CRUISE indicator (green) will be illuminated when the PCM transmits a class 2 message to the BCM indicating that the cruise is engaged. The BCM will then command the CRUISE indicator ON over the SPI serial data bus to the instrument cluster. In the event of a class 2 serial data loss, the CRUISE indicator will not be illuminated. In the event of an SPI data link failure, the CRUISE indicator will not illuminate unless the indicator was illuminated prior to the SPI data link failure.

Door Ajar Indicator

This is a distributed function. The door ajar indicator (red) will indicate to the driver that one or more of the vehicle doors are open when the ignition switch is turned to the RUN position. The opening of the door(s) will also cause a chime. The door ajar indicator and the chime will be turned OFF when all of the doors are closed. The BCM will perform the following functions:

  1. Read the status of all of the door inputs
  2. Determine the indicator control
  3. Send the control state to the instrument cluster in a SPI message

The instrument cluster will read the door ajar indicator control bit in the SPI message and control the indicator directly. In the event of the loss of the SPI interface with the BCM, the instrument cluster will turn the door ajar indicator OFF.

High Beam Indicator

The high beam indicator (blue) display is a distributed function between the BCM and the instrument cluster. The BCM performs the following functions:

    • Reads the high beam bulb voltage.
    • Divides by the total system voltage in order to determine a percent value.

This value is compared against a calibration in order to determine if the high beams are ON. The BCM transmits the status of the high beams to the instrument cluster via the SPI serial data bus. The instrument cluster then commands the high beam indicator accordingly.

Low Engine Coolant Indicator

The Low Coolant indicator (amber) will be illuminated in order to indicate to the driver that the engine coolant level is low. The engine coolant level switch is a discrete input to the BCM that will close when the engine coolant is low. The indicator will illuminate under the following conditions:

    • When the input has been active low for at least 10 seconds
    • When the ignition switch is in the RUN position

The indicator will be commanded OFF if the switch input goes inactive for at least 2 seconds. This is a distributed function between the BCM and the instrument cluster. The BCM will perform the following functions:

  1. Read the status of the engine coolant level switch input
  2. Determine the indicator control
  3. Send the control state to the instrument cluster via the SPI serial data bus

The instrument cluster will read the low coolant indicator control state in the SPI message and control the indicator directly.

Low Fuel Indicator

This is a distributed function between the BCM and the instrument cluster. The low fuel indicator (amber) will be turned ON in order to indicate to the driver that the fuel level has dropped to a calibrated point below 1/8 of a tank. The indicator is turned OFF when the fuel level rises back above the 1/4 of a tank. The fuel level is determined from the fuel level sense and display function and then is used in this function. The BCM will determine the indicator control. The BCM will send the control state to the instrument cluster in the SPI serial data message. The instrument cluster will read the low fuel indicator control state in the SPI message and control the indicator directly.

LOW WASH Indicator

The LOW WASH indicator (amber) will be illuminated in order to indicate to the driver that the washer fluid level is low. The low washer fluid level switch is a discrete input to the BCM that will close when the washer fluid level is low. The indicator will illuminate when the input has been active for an amount of time that can be calibrated for at least 30 seconds. In the event of an SPI data link failure, the LOW WASH indicator will not illuminate unless the indicator was illuminated prior to the SPI data link failure.

Oil Pressure Indicator

The Oil Pressure indicator will be illuminated when the PCM transmits a class 2 message to the BCM indicating that there is a low oil pressure condition. The BCM will then command the oil pressure indicator ON over the SPI bus to the instrument cluster. In the event of a loss of class 2 serial data, the oil pressure indicator will not illuminate unless the indicator was illuminated when the event occurred. The indicator will remain in its current state for the ignition cycle when the loss occurred. In the event of an SPI data link failure, the oil pressure indicator will not illuminate unless the indicator was illuminated prior to the SPI data link failure.

PRNDL

The PCM performs the following functions:

  1. Reads the transaxle range Switch.
  2. Transmits the selected gear position over class 2.

The BCM retransmits this information to the instrument cluster via the SPI data link. The instrument cluster must turn on the correct indicator and perform a scrolling function. In the event of a class 2 serial data or SPI failure the PRNDL will not be illuminated.

Seat Belt Indicator

The seat belt indicator (red) will indicate the following conditions to the driver:

    • The seat belt switch is active.
    • The seat belt is unbuckled.

This occurs under the following conditions:

    • Upon ignition 1 transitioning from inactive to active
    • At any time while ignition 1 is active and the seat belt input should transition from inactive to active

Upon either transition, the seat belt indicator will illuminate steady for 20 seconds and then flash at 1 Hz for 55 seconds. The indicator will be OFF under the following conditions:

    • At the end of the 75 seconds
    • If at any time the seat belt input becomes inactive
    • If at any time Ignition 1 becomes inactive

SERVICE VEHICLE SOON Indicator

The SERVICE VEHICLE SOON indicator (amber) is an alert to the driver that the vehicle needs a non-emissions related repair. The indicator can be turned ON, via a class 2 message. The BCM are the only computers that may illuminate this indicator at this time. The indicator will also turn on under the following conditions:

    • Whenever there are specific current codes stored in the BCM
    • In the event of a loss of SPI data from the BCM to the instrument cluster

Until the BCM has been programmed, the BCM will keep this indicator ON.

THEFT SYSTEM Indicator

The THEFT SYSTEM indicator (red) indicates whether the BCM has determined if the Passlock® data has passed. The BCM sends to the instrument cluster via the SPI serial data bus the message to turn ON or OFF the THEFT SYSTEM indicator. The THEFT SYSTEM indicator will be ON under the following conditions:

    • When any DTC is set
    • When the PCM VTD Fail-Enable bit is true in the last vehicle security status message received and the BCM is not in the auto learn mode

The THEFT SYSTEM indicator will flash when the PCM's Fuel Disable Time-Out bit is set in the last vehicle security status message received since the ignition switch was turned to the RUN position. For more information on the operation of the Vehicle Theft Deterrent System, refer to Theft Deterrent System.

Volts Indicator

The volts indicator (red) will be illuminated under the following conditions:

    • Lamp terminal pulled low
       - Key on (bulb check)
       - Open field or regulator circuit
       - Output voltage above the overvoltage set point (no control)
       - Low system voltage above the engine RPM calibrated value (undervoltage)
       - Open P terminal at the voltage regulator, shorted positive or negative bridge diode at the P terminal
    • Field terminal voltage
        This condition indicates a voltage regulator disconnect (low duty cycle)

The PCM will determine the following items:

    • Engine RPM
    • Generator PWM
    • Lamp terminal state
    • L term disabled

The PCM will send these as class 2 messages to the BCM. The BCM will perform the following functions:

  1. Dictate to the instrument cluster the state of the volts indicator
  2. Set the appropriate fault codes

There are four codes possible with the volts indicator algorithm.

The lamp terminal open/short fault and the field terminal short fault and their respective codes may only be set and cleared under the following conditions:

    • When Ignition 1 is active
    • With zero engine RPM

Since the volts indicator is illuminated with Ignition 1 active and zero engine RPM, the faults that may occur under these conditions cannot be communicated to the driver. If either of these codes are set when the engine is started, the indicator will remain illuminated in order to indicate the fault. The lamp/terminal open/short program inspects for a high lamp state while the engine is not running. The field terminal short program inspects for a duty cycle higher than a calibrated value while the engine is not running. Both of these faults have a timer than may be calibrated before setting.

The field terminal fault and the lamp terminal fault and their respective codes may only be set and cleared with the engine running. The BCM will diagnose a possible voltage regulator disconnect (field terminal fault) by monitoring the duty cycle and verifying that it does not fall below the calibrated value for a calibrated time. The lamp terminal fault is set if the lamp terminal goes low for a calibrated time.

The volts algorithm tracks whether or not the PCM has disabled the generator on a cold start or in a stall condition. The volts algorithm will not set any field or lamp faults. The PCM will not disable the generator for more than 10 seconds.

In the event of a PCM or a BCM Class 2 or an SPI serial data loss, the volts indicator will remain in the last state prior to the loss of the serial data.

Engine Cooling Fan Control

The engine cooling fan control is partitioned between the PCM and the BCM via class 2. The main algorithm control resides in the BCM. The BCM sends a fan speed command to the PCM. The PCM processes this command along with its own fan request. The PCM determines what the actual fan speed should be.

Engine Coolant Temperature Gauge and High Temperature Indicator

This function controls the engine coolant temperature gauge and the high temperature indicator (red). The PCM reads the engine coolant temperature sensor and sends the information to the BCM via class 2 serial data link. The BCM converts the PCM data into gauge data for the instrument cluster sent via SPI serial data link. The BCM also sends the high temperature indicator ON/OFF request to the instrument cluster via the SPI serial data link. The instrument cluster receives the engine coolant temperature sensor information via SPI serial data link and converts it into a temperature gauge pointer position.

Exterior Lighting Control

The BCM controls the following exterior lighting components:

    • The low beams and parklamps
    • The high beams
    • The daytime running lights
    • The park lamps
    • The foglamps

The DRLs operate the low beam headlamps at a reduced intensity when the following conditions exist:

    • The vehicle is not in park
    • The park brake is not set
    • The normal headlamps are not ON

Automatic lighting control turns on the parklamps and headlamps when an ambient light sensor detects a low ambient light level. The system ensures that the headlamps/parklamps are ON if the driver is operating the vehicle after dark. When automatic lighting control is active, the headlamp dimmer switch determines whether high or low beams are selected.

If the ignition switch is turned to the RUN position in a low ambient light level area, automatic lighting control becomes active immediately, otherwise 8 seconds must elapse before the automatic lighting control is activated. If the park brake is set when the ignition switch is turned to RUN, the automatic lighting control will be disabled until the park brake is released. If the automatic lighting control is active and a high ambient light level is detected, 20 seconds must elapse before the automatic lighting control is turned OFF. The headlamps are disabled during engine crank.

The foglamp control system will activate the foglamp relay under the following conditions:

    • The ignition switch is in the RUN position.
    • The parklamps are active.
    • The high beam headlamps are OFF.
    • The foglamps switch is ON.

High beams ON and the parklamps ON are used to disable the foglamp relay output as required.

The backup lamps are the only exterior lamps that are not controlled by the BCM.

Fuel Level Sensing

The BCM performs the following functions:

    • Calculates the fuel level
    • Sends a serial data message to the instrument cluster indicating the fuel level

The fuel level is calculated as a ratiometric reading between the fuel level sensor and an Ignition 1 reference voltage. By using this method, changes in system voltage will have no effect on the fuel level. The BCM sends changes in fuel level information to the instrument cluster over the SPI serial data bus.

Interior Lighting Control

The BCM provides the following interior lamp control:

    • Courtesy lamps
    • Illuminated entry/exit control of the courtesy lamps

The following methods enable the courtesy lamps:

    • By discrete input to the BCM from the door ajar switches.
    • If any of the doors are open and the vehicle speed is less than 13 km/h (8 mp/h).
    • If the ignition switch has been turned OFF for less than two minutes and then the doors are closed, the lights will stay on for 4 seconds (or until the Ignition Switch is turned to the RUN position).
    • If the ignition switch has been turned OFF for more than two minutes and then the doors are closed, the lights will stay on for 40 seconds (or until the Ignition Switch is turned to the RUN position).
    • If the ignition switch has been turned OFF for less than two minutes and the ignition key is removed, the lights will turn on for 15 seconds (or until the ignition key in reinserted or a door open switch is cycled).
    • RFA transmitter activation (function of Illuminated entry).

When the interior lights will be turned off because a customer is leaving the vehicle (the ignition switch is turned to OFF for more than two minutes), the following actions occur:

  1. First, the interior lights are dimmed
  2. Then theater dimmed to the OFF state

Wake-Up/Asleep States

Wake-ups are signals that will turn the BCM ON. The wake-ups cause the BCM to begin active control and/or monitoring. The BCM is asleep when the control or monitoring has stopped and the BCM has become idle again. The BCM wake-ups include the following items:

    • Door ajar switches
    • Ignition switch in RUN
    • Ignition switch in ACC
    • Inadvertent power