I just noticed that this thread is about 7 months old, so I assume the person requesting help has resolved the problem. Perhaps this will be useful info for others.
Here is some good general information that I came across regarding BCM functions. Pay special attention to the section on the sleep mode function. If something is preventing the BCM from going into sleep mode, it will drain the battery.
Below that is info on how to troubleshoot the problem.
This hard work was done by others, so I'm not taking any credit.
As C4C5Specialist stated, you need to do a draw test with a known good battery.
"Hi, the info below may help you isolate the problem.
SEE Below
++++++++++++++++++++++++++++++++++
Body Control System Description and Operation
This vehicle is equipped with a Body Control Module (BCM) capable of performing multiple body control functions. The BCM, which is the power mode master, is responsible for sending the power mode messages on the serial data line to other systems.
Serial Data Power Mode
On vehicles that have several control modules connected by serial data circuits, one module is the power mode master (PMM). On this vehicle the PMM is the Body Control Module (BCM). The PMM receives two signals/circuits from the ignition switch. These are the Ignition 1 and Ignition 2 ignition switch signals/circuits.
To determine the correct power mode the PMM uses:
The state of these signals/circuits, either switch closed (B+ = 1) or switch open (B+ = 0)
The sequence of switch closures received by the PMM
The status of the engine run flag
The chart below indicates the modes detected and transmitted by the PMM:
Correct Ignition Switch Inputs Power Mode Selected/Expected
Engine Run Flag Serial Data
Sampled Ignition Signal State
Power Mode State
Key-In Sense
Ignition 1
Ignition 2
OFF
0
0
0
OFF-AWAKE
NA
RAP
0
0
1-0
RAP
NA
UNLOCK
0
0
0-1
UNLOCK
NA
ACCESSORY
0
0
1
ACCESSORY
NA
RUN
1
1
1
RUN
NA
RUN
0
1
1
RUN
NA
CRANK
0
1
1-0
CRANK
NA
Fail-safe Operation
Since the operation of the vehicle systems depends on the power mode, there is a fail-safe plan in place should the PMM fail to send a power mode message. The fail-safe plan covers those modules using exclusively serial data control of power mode as well as those modules with discrete ignition signal inputs.
Serial Data Messages
The modules that depend exclusively on serial data messages for power modes stay in the state dictated by the last valid PMM message until they can check for the engine run flag status on the serial data circuits. If the PMM fails, the modules monitor the serial data circuit for the engine run flag serial data. If the engine run flag serial data is True, indicating that the engine is running, the modules fail-safe to "RUN". In this state the modules and their subsystems can support all operator requirements. If the engine run flag serial data is False, indicating that the engine is not running, the modules fail-safe to "OFF-AWAKE". In this state the modules are constantly checking for a change status message on the serial data circuits and can respond to both local inputs and serial data inputs from other modules on the vehicle.
On this vehicle the following modules receive Serial Data Messages for power mode status:
Driver Door Module (DDM)
Passenger Door Module (PDM)
Radio
Discrete Ignition Signals
Those modules that have discrete ignition signal inputs also remain in the state dictated by the last valid PMM message received on the serial data circuits. They then check the state of their discrete ignition input to determine the current valid state. If the discrete ignition input is active, B+, the modules will fail-safe to the "RUN" power mode. If the discrete ignition input is not active, open or 0 voltage, the modules will fail-safe to "OFF-AWAKE". In this state the modules are constantly checking for a change status message on the serial data circuits and can respond to both local inputs and serial data inputs from other modules on the vehicle.
BCM Wake-up/Sleep States
The BCM is able to control or perform all of the BCM functions in the wake-up state. The BCM enters the sleep state when active control or monitoring of system functions has stopped, and the BCM has become idle again. The BCM must detect certain wake-up inputs before entering the wake-up state. The BCM monitors for these inputs during the sleep state, where the BCM is able to detect switch transitions that cause the BCM to wake-up when activated or deactivated. Multiple switch inputs are needed in order to sense both the insertion of the ignition key and the power mode requested. This would allow the BCM to enter a sleep state when the key is IN or OUT of the ignition.
The BCM will enter a wake-up state if any of the following wake-up inputs are detected:
Any activity on the serial data line
Hatch ajar switch
Hatch release switch
Door ajar switch
Key-in-ignition switch
Monitored load relay
Park/fog/headlamps are on
The BCM experiences a battery disconnect and reconnect condition.
The ignition is turned ON.
The BCM will enter a sleep state when all of the following conditions exist:
No activity exists on the serial data line.
The ignition switch is OFF.
No outputs are commanded.
No delay timers are actively counting.
No wake-up inputs are present.
If all these conditions are met the BCM will enter a low power or sleep condition. This condition indicates that the BCM, which is the power mode master of the vehicle, has sent an OFF-ASLEEP message to the other systems on the serial data line.
Power Requirements
The BCM has two main power feeds (high and low current), and two main grounds. The low power feed (battery 1) is used to provide power for the BCMs logic and internal driver operation. The high power feed (battery 2) is used to provide power for systems that draw higher amounts of current (motors, lights, etc.). The BCM will operate properly with a system voltage of 9.0-16.0 volts. If system voltages exceed 16.0 volts the BCM will provide protection by disabling certain functions that may be damaged due to higher than normal system voltages.
Monitored Loads
In order to minimize any battery rundown, the BCM can detect if certain electrical loads have been left ON after the ignition is turned OFF and the driver has left the vehicle. When the BCM detects that the ignition has been cycled to the OFF position, the BCM immediately checks the status of the load monitor input. If the BCM detects that a load is present (grounded input), the BCM turns ON the load monitor relay for 15 minutes. If after 15 minutes the BCM still recognizes that a load is present, the BCM will turn OFF the relay, removing the battery voltage from the loads. The BCM continues to monitor this circuit for a switch transition. The BCM will again turn ON the relay for 15 minutes if a switch transition occurs.
Load Shed Control
The BCM can turn off the rear window defogger and heated outside mirror electrical loads when the vehicle is in a condition where these loads may discharge the battery. The BCM will also remove these loads when engine demands are greater.
Interior Lamp Over Voltage Protection
The BCM disables the interior lamp bulbs when the system voltage is above 18.0 volts in order to extend the bulb life.
Driver in Vehicle Detection
Using the ignition switch/door ajar inputs, the BCM can detect whether or not the driver has left the vehicle. If the ignition is turned to OFF with no door ajar status detected, the BCM assumes that the driver is in the vehicle. As soon as the BCM detects a door ajar, the BCM will assume the driver has left the vehicle. The BCM uses this information to determine the RAP status, then sends the status to the other systems also responsible for RAP functions.
BCM Fail-Soft Condition
If a particular BCM malfunction would result in unacceptable system operation, the BCM takes a fail-soft action in order to minimize the condition. A typical fail-soft action would be the substitution of a fixed input or output value when the BCM is unable to interpret data correctly."
Troubleshooting:
"The BCM, RFA and PCM modules are always powered . The BCM has a monitoring program to look for RFA task (Key FOBs) and security stuff. The BCM will power up lights, and preform other power up functions when you open the doors, trunk and hood or open locks OR the trunk at FOB commands.
When you first hook up the amp meter, (IN SERIES) it will read 7-8 amps, then it will start powering down stuff and you will see the
current drop off in steps. 6 amps. 2 amps, 1 amp and it will then go into sleep mode where you should see it drop off to 20 - 25 milliamps. That process may take any where from 3 min to 10 min. If you forget to disconnect the hood light, it will take the full 10 min!
Once you have an amp meter, you can insert it in "series" with anything to see what that device is drawing for
current.
Here are some of the thing that I have seen in the past that have caused battery drain issues:
Drivers seat EASE ENTRY constantly trying to move the seat. Or the multifunction switch doesn't re-center its self when you position it and the seat is constantly trying to move. The motors are not fused and are on circuit breakers. They will trip and reset as long as the battery has power or until its DEAD!
Head light control module for the pop up head lights. Its on the front frame header below the passengers headlight. Feel it!
If its warm to the touch, its continuously drawing
current.
Alternator. Put the meter in series with the field wire. If the diodes are bad, it will
draw current when the car is powered down!
Bose processor amplifier under the dash. There is a relay that powers that amp up when the key is on. If the relay sticks on, it will kill the BATT.
Dash lights stay on after you power the car down. Leaving the interior lights on (the round knob below the HUD panel gets turned all the way clock wise!
Had to mention that one.
At the engine fuse center there is a B+ connection. You will see TWO connections there. One wire is the POS battery lead and the other wire goes down to the passengers fuse center. You can place the amp meter in series with the B+ terminal and that wire and see if the excessive
current draw is being caused by a curcuit in that fuse center.
You cant do that with the eng comp fuse ctr. If the excessive
draw isnt in the pass fuse ctr, it has to be in the eng fuse ctr.
Do a
current draw test and report back the results. If you power any load up on the car, you will have to wait the full time required for the BCM to go back to sleep to continue to trouble shoot.
BC "