0% found this document useful (0 votes)
113 views23 pages

LC CAN Bus Guide V1.11

The document provides a comprehensive guide on the EnerDel battery management system (BMS) for single or parallel pack configurations using CAN Bus communication. It details the operational modes, control functions, monitoring capabilities, and the sequence of operations necessary for safe and effective battery management. Additionally, it includes a revision history and specific CAN messages for communication between the battery packs and the power control unit (PCU).

Uploaded by

Collin Kidder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views23 pages

LC CAN Bus Guide V1.11

The document provides a comprehensive guide on the EnerDel battery management system (BMS) for single or parallel pack configurations using CAN Bus communication. It details the operational modes, control functions, monitoring capabilities, and the sequence of operations necessary for safe and effective battery management. Additionally, it includes a revision history and specific CAN messages for communication between the battery packs and the power control unit (PCU).

Uploaded by

Collin Kidder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

LC Single or Parallel Pack CAN Bus Guide

Rev 1.11
EnerDel
Table of Contents
Revision History ............................................................................................................................................ 2
Overview ....................................................................................................................................................... 4
Pack Control Functions ................................................................................................................................. 6
Pack Monitor Functions ................................................................................................................................ 6
Pack Operational Modes (Drive / Charge) .................................................................................................... 7
Sequence of Operation Notes ....................................................................................................................... 7
Frequently Asked Questions ......................................................................................................................... 9
BMS CAN Messages .................................................................................................................................... 11
Messages Received by the BMS .................................................................................................................. 11
PCU Contactor Req.................................................................................................................................. 11
PCU Heartbeat ........................................................................................................................................ 12
Messages Transmitted by the BMS............................................................................................................. 12
BMS_Startup (Version Information) ....................................................................................................... 13
EDL_Data00 ............................................................................................................................................. 13
EDL_Data01 ............................................................................................................................................. 16
EDL_Data02 ............................................................................................................................................. 16
EDL_Data03 ............................................................................................................................................. 17
EDL_Data04 ............................................................................................................................................. 17
EDL_Data04B........................................................................................................................................... 17
EDL_Data05 ............................................................................................................................................. 17
EDL_Data06 ............................................................................................................................................. 18
EDL_Active_Fault_Data ........................................................................................................................... 18
EDL_Latched_Fault_Data ........................................................................................................................ 20
EDL_History_Fault_Data ......................................................................................................................... 20
10BTool Command ........................................................................................................................................ 21

EnerDel Confidential 1
Inter-pack Communications ........................................................................................................................ 21
Executive to Expansion pack (sync message) ......................................................................................... 21
Exp1_Data01 - Exp7_Data01................................................................................................................... 22
Exp1_Data02 - Exp7_Data02................................................................................................................... 22
Exp1_Data03 - Exp7_Data03................................................................................................................... 22
Exp1_Data04 - Exp7_Data04................................................................................................................... 22
Exp1_BMS_Startup - Exp7_BMS_Startup ............................................................................................... 23
Exp1_Active_Fault_Data - Exp7_Active_Fault_Data............................................................................... 23
Exp1_Latched_Fault_Data - Exp7_Latched_Fault_Data ......................................................................... 23
Exp1_History_Fault_Data - Exp7_History_Fault_Data ........................................................................... 23

Revision History

1.0 DCH 04/01/2014 Configuration differences from Generic Parallel Pack.


1.1 DCH 05/09/2014 Updated with new configurable CAN protocol
1.2 DCH 11/21/2014 Various corrections
1.3 RHJ 03/14/2016 Add Highest_Err_Cat to BMS_Startup message.
1.4 RHJ 09/20/2017 Add Frequently Asked Questions section.
Add Contactors_Opening to EDL_Data06 message.
Add Fuse Blown fault and Precharge Contactor Stuck On and Stuck Open
faults.
Rename Main Contactor Open Timeout fault to Main Contactor Open
Under Load fault.
Delete PTC Heater fault.
1.5 RHJ 2/19/2018 Add note about Contactor_Opening logic and timing of EDL_Data06.
Update note on EDL_Data05 message.
Add the BMS_Startup message to the expansion pack messages.
Remove ‘N/A’ from No CAN Contactor Request condition code.
1.6 RHJ 6/11/2018 Add Current Fault Limits CAN message.
Add Send Current Fault Limits flag in Heartbeat CAN message.
Add System Config Disable Contactor condition code and error reason.
1.7 RHJ 1/22/2019 Update Contactor Conditions Codes and Highest Error Reasons.
1.8 RHJ 2/26/2019 Add Contactor Conditions Code Precharge Wait Voltage Not In Range.
3/18/2019 Correct description of Ext_ISO_Enable in PCU Contactor Request
message.
1.9 RHJ 4/15/2019 Renamed IN_12V faults to SUPPLY_V (undervolt fault and warning).
1.10 RHJ 8/6/2019 Revise text to reflect that expansion packs can be engaged without the
executive pack being engaged.
Add note that contactors must be engaged in order to allow the CAN
Fan Request.

EnerDel Confidential 2
1.11 RHJ 9/16/2019 Add I_AM_EXEC indicator to Exec_Status byte.

EnerDel Confidential 3
Overview

EnerDel battery pack systems contain both an onboard microprocessor system and contactors that
connect the battery to external loads/sources. These components, which make up the battery
management system (BMS), provide control, safety, and monitoring functions through a user provided
control system using a CAN based network. This document, along with a standard CANdb database file
(dbc), is intended to provide the user with the information necessary to successfully control and monitor
the EnerDel battery pack.

The ‘LC’ designation for the BMS application code stands for “Loadable Configurable”. This is the most
recent code set, which uses a separate configuration file stored in flash memory. This file contains
several parameters which allow the application code to be tailored to a number of different operating
configurations.

The CAN communications protocol provided by this BMS is based on CAN and is configured at the
factory for one of two different Baud rates and one of two different ID sizes (11-bit and 29-bit).

The communications protocol consumes two ID ranges. The first (or application) range of CAN IDs is
made available to the user for control and monitoring of the EnerDel battery pack. The second (or tool)
range of CAN IDs is reserved for use by EnerDel for service/factory control. The user application must
NOT utilize the second CAN ID range for other communications or battery pack damage (which may
compromise system safety) may occur. The number of CAN IDs consumed depends on the number of
parallel packs in the system. These IDs are defined in the table below.

Certain values and limits are configurable and downloaded at the factory. Descriptions below provide
default values and an indication if the value is configurable. If your application required values different
from default, please refer to the appropriate order information.

Protocol “Application” Message Set 1 (29-bit CAN IDs)


Message ID Message ID
PCU_Connector_Req 0x18FF0203
No Response
PCU_Heartbeat 0x18FF0213
Exec Request 0x1CFF3F60
Volt/Temp Data 0x1CFFz360
SOC Data 0x1CFFz460
Charge Data 0x1CFFz560
Power Data 0x1CFFz660
Pack Monitor Data
Contactor Data 0x1CFFz760
(Sent every 200mS)
Extended Contactor 0x1CFFzA60
Data
System Data 0x1CFFzB60
System Data 2
Version 0x1CFFz260
Pack Version and Fault Data Active Fault Data 0x1CFFz160
(Sent every 1000mS) Latched Fault Data 0x1CFFz960
History Fault Data 0x1CFFz860

EnerDel Confidential 4
Protocol “Factory” Message Set 1(29-Bit CAN IDs)
Message ID Message ID
ALDLCommand 0x1CFFx061 ALDL Response 0x1CFFy060

Where:
1. Pack ID 0 is assigned to Executive pack at factory. Expansion packs are addressed consecutively
from Pack ID 1 to Pack ID 2
2. ‘x’ = 2000h + (1000h * Pack ID): tool -> pack
3. ‘y’ = 3000h + (1000h * Pack ID): pack -> tool
4. ‘z’ = 3000h + (1000h * Pack ID): pack broadcast
5. Extended contactor Data only sent from executive if more than 7 expansion packs configured
6. Factory control messages that effect operation are protected with seed and key security

Protocol “Application” Message Set 2 (11-bit CAN IDs)


Message ID Message ID
PCU_Connector_Req 0x310
No Response
PCU_Heartbeat 0x311
Exec Request 0x72F
Volt/Temp Data 0x6x0
SOC Data 0x6x1
Charge Data 0x6x2
Power Data 0x6x3
Pack Monitor Data
Contactor Data 0x6x4
(Sent every 200mS)
Extended Contactor 0x6xA
Data
System Data 0x6x5
System Data 2 0x6x6
Version (‘Startup’ Msg) 0x7y4
Pack Version and Fault Data Active Fault Data 0x7y1
(Sent every 1000mS) Latched Fault Data 0x7y2
History Fault Data 0x7y3

Protocol “Factory” Message Set 2 (11-Bit CAN IDs)


Message ID Message ID
ALDLCommand 0x6xE ALDL Response 0x6xF

Where:
1. Pack ID 0 is assigned to Executive pack at factory. Expansion packs are addressed consecutively
from Pack ID 1 to Pack ID 2
2. ‘x’ = (10h * Pack ID): tool -> pack
3. ‘y’ = (20h * Pack ID): pack -> tool
4. Extended contactor Data only sent from executive if more than 7 expansion packs configured
5. Factory control messages that effect operation are protected with seed and key security

The (application) messages are single frame messages which are typically passed between the user
provided power control unit (PCU) and the first EnerDel battery pack (which is designated the
Executive). If additional parallel (expansion) battery packs are present in the system, they will
communicate with the Executive battery pack using the same CAN communications channel as the PCU.
The network loading with 7 Enerdel battery packs along with a PCU is approximately 15%.

EnerDel Confidential 5
The PCU controls the EnerDel battery packs though two broadcast messages (received by all the EnerDel
battery packs on the same network). The EnerDel battery packs also broadcast status information in a
number of packets. The EnerDel battery pack that is designated as the Executive (one with lowest Pack
ID) transmits system status information as an accumulation of its own data along with expansion battery
pack data. Therefore, the PCU generally only needs to monitor the Executive battery pack broadcast
communications.

Pack Control Functions

Pack operation requires the PCU to continuously send two CAN messages that provide both heartbeat
and contactor closure functionality. The heartbeat function actually requires the PCU to broadcast both
CAN messages: PCU_Contactor_Req and PCU_Heartbeat at recommended rate of every 200 ms (+/- 50
ms). If both messages are NOT continually sent within the specified time, contactor closure is
prevented <or> if already closed, contactors will be opened and a fault recorded.

Contactor closure (EnerDel battery pack engagement to the power bus) requires specific signals (bits) to
be set in the PCU_Contactor_Req CAN request. A closure signal (bit) is actually provided for each
parallel battery pack in the system to allow for flexibility. Typically, all bits are activated by the PCU at
the same time. However, customized control stategies may be implemented by the vehicle controller
(PCU) as necessary.

Signal positions and additional notes are provided in the message definitions below.

Pack Monitor Functions

Data that requires monitoring by the PCU is provided in several CAN messages from the Executive pack.
Two of the most important signals are the Max_Chg_Current and Max_DChg_Current (EDL_Data02).
These parameters provide the maximum charge (sink) and maximum discharge (source) current that
may be safely passed through the battery system at any given time. If the PCU allows more than the
specified current for a specific time, the battery pack contactors will open and a fault will be recorded.
Alternatively, the signals Max_Chg_Power and Max_DChg_Power (EDL_Data03) may be used if kW is
preferred over Amps.

SOC data is provided to give the end user the State Of Charge of the battery pack. This value gives an
indication of how much charge is left in the pack at any particular time based on a percentage.

Fault and contactor code data is provided to give the end user an indication of why contactors are not
closing in the system.

Additional signals, signal positions, and additional notes are provided in the message definitions below.

EnerDel Confidential 6
Pack Operational Modes (Drive / Charge)

Before contactors are closed (and BMS system is enabled), the battery pack must be placed in one of
two modes: Drive or Charge. Drive mode is enabled through the Key Run (hardware) input while
Charge mode is enabled through the Charge Wake (hardware) input. Drive mode is fully capable of
allowing either pack charging or discharging depending entirely on whether the external system is
supplying or drawing current. Charge mode is optional and with this release, the only difference
between the modes is that Charge mode minimizes cell balancing action and records pack history
information in a separate category.

Note that the Hardware EPO (Emergency Power Off) input must also be present to close
contactors. This input is normally high and goes low when active (power off).

When both Key Run and Charge Wake inputs are removed, the BMS system remains powered long
enough for history values to be stored to EEPROM. Thereafter, the system shuts down with minimal
draw on the battery pack and auxiliary power.

Sequence of Operation Notes

• On the rising edge of the Key Run (wakeup) signal, the BMS will power up and go through hardware
initialization.

• After initialization, battery packs start broadcasting status information including an indication of
BMS_Init_Successful. On reception of status information, the PCU should also validate that no faults
exist (i.e. Cell UnderVoltage Fault, etc.).

• The PCU should then start sending PCU_Contactor_Req and PCU_Heartbeat CAN messages.

After initialization, the BMS will wait up to 4 seconds to receive PCU_Contactor_Req and
PCU_Heartbeat CAN messages. If the BMS does not receive those CAN messages within this
time, the BMS will set the BMS_Contactor_Conditions_Code signal (Msg EDL_Data00) to “No
PCU Data Received” (decimal 11) and leave the contactors de-energized until these messages
are received.

• Once these CAN messages are received and the PCU_Contactor_Req data is calling for contact
closure, the BMS starts the following contact closure sequence:

1. Contactors self-test - A series of internal contactor closures and measurements. During this
time a complete battery pack current path is NOT completed to the external bus. If the self-test
fails, the contactor sequence is aborted and the proper fault information provided.
2. Internal isolation test (optional) - If configured, this Internal test typically takes approximately
10 seconds to check for leakage to chassis ground. During this period a complete battery pack

EnerDel Confidential 7
current path is NOT completed to the external bus. If isolation resistance is below a preset limit,
the contactor sequence is aborted and the proper fault information is provided.
3. Precharge cycle/test - Internal contact closure connects battery pack to external bus through a
precharge resistor to reduce reactive currents and provide either a short circuit or excessive bus
voltage difference test. If the external bus voltage is below 20 volts before precharge cycle and
does not increase at least 50 volts (configurable) with-in 200 mS (configurable) after the
precharge cycle starts, the contactor sequence is aborted and a shorted bus fault indication is
provided. Additionally, if the bus voltage does not reach within 5% (configurable) of the battery
pack voltage with 1.0 sec (configurable) the precharge cycle will fail. After a 2 sec delay, the
pack will attempt a single retry. Failure results depend on which battery pack fails:

Executive pack - contactor sequence is aborted and the proper fault is information is
provided. Since executive contact closure is aborted, all expansion pack contactor
closure is also aborted.
Expansion pack - battery pack is disconnected from external bus. However, it remains
in a stall condition waiting for the external bus voltage to fall within 5% of battery pack
voltage.

4. Contactors Closed - If the above steps complete successfully, the precharge resistor is switched
out and the battery pack is connected directly to the external bus until commanded to disconnect
or a fault occurs.
5. External Isolation Test (optional) - After contactor closure, the executive pack continues to perform
external isolation resistance to chassis ground test every 30 sec (configurable) or as commanded by the
PCU (Ext_ISO_Enable). If the resistance falls below a preset value (configurable), a fault is recorded and
contactors are opened. Note that enabling this test will present a very high impedance path to chassis
ground which may interfere with external isolation detection devices. If an isolation fault is detected during
operation, the contactors will remain closed for 60 seconds (configurable) to allow safe discontinuation of
operation.
• When expansion packs are present in the system, the following consideration should be followed with
respect to the PCU_Contactor_Req contactor request data:

1. Typical operation is to activate all packs concurrently.


2. The PCU may effectively remove a malfunctioning battery pack by no longer setting the
associated contactor request bit.
3. The individual battery pack contactor status can be determined from the contactor status
information in CAN message EDL_Data04.

• Once battery pack contactors are closed (attached to external bus) the PCU may enable external
loading or sourcing of current. A component of the battery pack status information is the real-time
Max_DChg_Current and the Max_Chg_Current signals. The PCU MUST prevent the external
loading or sourcing of current from exceeding these values. If the system current exceeds these
current limits by a certain margin (configurable) for 10.0 Seconds (configurable), a fault is recorded
and contactors will open. Overcurrent limits are set based on the characteristics of the application.

Max_DChg/Chg_Current signals are determined from the number of expansion packs actually
connected to the bus.

EnerDel Confidential 8
• The BMS system also records a fault and opens contacts on an absolute over-current condition. This
fault is activated if the system current exceeds a certain maximum limit (configurable) for 2.0 Seconds
(configurable). Overcurrent limits are set based on the characteristics of the application.

• Additional Fault Considerations:

1. When the BMS detects a fault for which it is necessary to open the contactors, it will first zero out
the reported Max_DChg/Chg_Current and the Max_DChg/Chg_Power signals in Msg
EDL_Data02 and EDL_Data03. Then the BMS will wait up to 3 seconds for current to stop
before opening contactors. If the 3 second period is exceeded and system current is still present,
the BMS proceeds to open the contactors. It is preferred that the PCU adhere to the values in the
max current limit variables, so that contactors are not opened under load.
2. During operation and after PCU communications has been established, if messages
PCU_Contactor_Req and PCU_Heartbeat are lost for 1 second, the BMS records the fault and
opens the contactors.
3. Signal BMS_Contactor_Conditions_Code gives additional information in the case where the
contactors cannot be engaged or must be dropped out. This signal can be found in CAN
message EDL_Data00 for the Executive pack and in Exp<n>_Data00 for the Expansion packs.
The data descriptions for CAN message EDL_Data00 also detail which of these faults are Key
Cycle Category Faults and which are Service Category faults.
4. A Key Cycle Category fault will hold the contactors off (even after the fault condition is resolved)
until the Key Run input is cycled off and back on. Which faults are defined as Key Run faults are
listed under the EDL_Data00 definition below.
5. A Service Category fault will hold the contactors off until the Service Category faults are manually
cleared with a service tool (see CAN Msg 1CFF2061). Which faults are defined as Service
Category faults are listed under the EDL_Data00 definition below.
6. Should a pack experience an excessive shelf life and/or allowed to discharge below allowable cell
voltage limits, contactors will be prevented from closure. Factory service may be required to
restore the battery pack to normal operation.

Frequently Asked Questions

 How do I determine if it is OK to draw current from the battery pack or charge the pack?

Before drawing current, check that Max_DChg_Current in message EDL_Data02 is non-zero. Do not
exceed this specified limit.

Before charging the pack, check that Max_Chg_Current in message EDL_Data02 is non-zero. Do not
exceed this specified limit.

 How do I determine if there are any conditions in the pack which will prevent the contactors from
engaging or cause the contactors to disengage?

Check if BMS_Contactor_Conditions_Code in message EDL_Data00 is non-zero. If non-zero, the


contactors will not engage. The meaning of the code values can be found in the description of the
EDL_Data00 message below.

EnerDel Confidential 9
 How do I determine if the Battery Management System (BMS) has detected any abnormal conditions
(Faults) in the pack?

The detected fault codes are transmitted in three CAN messages: EDL_Active_Fault_Data,
EDL_Latched_Fault_Data, and EDL_History_Fault_Data (see detail below).
The Active Fault message lists faults which are present at this time.
The Latched Fault message lists faults which have been present during this ignition cycle.
The History Fault message lists faults which have occurred since faults were manually cleared.
Note that some faults will affect contactor operation and some will not. See the list of
BMS_Contactor_Conditions_Codes detailed under message EDL_Data00 to determine which faults
and conditions will affect contactor operation.

 Is there any way to determine if the BMS is about to open contactors, besides checking if the current
limits are zero?

Yes, the signal Contactors_Opening in message EDL_Data06 will become TRUE if the BMS needs to
open contactors and is waiting for current to fall below an acceptable level before opening the
contactors. Also, while this signal is TRUE, the periodic rate of message EDL_Data06 is increased to
25 ms to facilitate rapid communication of this signal.

 Is there a way to turn on the pack fan?

Yes, if the pack is equipped with a fan, signal Force_Fan_On in received message
PCU_Contactor_Req will cause the fan to turn on when the signal is set to TRUE. The contactors
must be engaged in the pack in order for the fan to operate. Note that if the BMS commands the
fan to be on, the fan will be on regardless of the state of the Force_Fan_On signal.

EnerDel Confidential 10
BMS CAN Messages

An overview of the messages contained in the dbc file follows. A brief description is added for any signal
in the message that is critical for operation or is considered noteworthy for any other reason. (Any
signals defined in the dbc file but not presently used in the system are excluded from these lists.)

Messages Received by the BMS


PCU Contactor Req
Received by BMS ( * Required for operation)
Periodic Rate: 200 ms
Signals:

Byte Bit Signal Notes


bCAN_Contactor_Req (MSB)
0 Contactor_Request_Pack_8
1 Contactor_Request_Pack_9
2 Contactor_Request_Pack_10
0 3 Contactor_Request_Pack_11
4 Contactor_Request_Pack_12
5 (reserved) This represents a request from the PCU,
6 (reserved) however, expansion packs will NOT engage
contactors unless the corresponding message
7 (reserved)
from the EXEC indicates OK to engage
bCAN_Contactor_Req (LSB)
0 Contactor_Request_Pack_0 (Executive)
Actual number of requests dependent on
1 Contactor_Request_Pack_1 number of expansion packs configured for
2 Contactor_Request_Pack_2 system.
1 3 Contactor_Request_Pack_3
4 Contactor_Request_Pack_4
5 Contactor_Request_Pack_5
6 Contactor_Request_Pack_6
7 Contactor_Request_Pack_7
PCU Commands
0 PCU_Fault Open pack contactors (normal delay)
1 (reserved)
2 (reserved)
3 (reserved)
4 PCU_Critical_Fault Open pack contactors (no delay)
Does not include aggregation of expansion
5 Exec send local data only
pack data (generally limited to testing only)
Commands the Executive pack to perform an
2 external isolation test.
This command is active only if the External
ISO Mode is configured to one of these
6 Ext_ISO_Enable
modes: Switched Requested Mode, Non-
switched Requested Mode, Switched
Continuous Mode, or Non-switched
Continuous Mode.
Fan override - If fan operation configured,
contactors closed, no isolation fault, and a
7 Force Fan On
minimum number of valid temp readings
present
3 (reserved)
4 (reserved)

EnerDel Confidential 11
5 (reserved)
6 (reserved)
7 (reserved)

Suggested transmit values (hex):


ID Data 0 Data1 Data 2
18FF0203 00 01 00 (Data shown for Pack 0 contactor request)

Note:
If the PCU commands immediate contactor opening as a result of an emergency condition,
signal PCU_Critical_Fault must remain set until contactors open to guarantee fast open operation.

PCU Heartbeat
Received by BMS ( * Required for operation)
Periodic Rate: 200 ms
Signals:
Byte Bit Signal Notes
Byte 0
0 (reserved)
1 (reserved)
2 (reserved)
0 3 (reserved)
4 (reserved)
5 (reserved)
6 (reserved)
7 Send Current Fault Limits
Byte 0 Bit 7 controls whether the Current
Byte 1
Fault Limits CAN message is transmitted.
0 (reserved)
1 (reserved)
2 (reserved)
1 3 (reserved)
4 (reserved)
5 (reserved)
6 (reserved)
7 (reserved)

Suggested transmit values (hex):


ID Data 0 Data1
18FF0213 00 00

Messages Transmitted by the BMS


The following data packets are broadcast by both Executive and Expansion battery packs. The difference
in data is that the Executive battery pack presents the system (or accumulated) data from all the battery
packs that are currently engaged. The only exception to this is the Current Fault Limits message, which
transmits values calculated by each individual pack, for diagnostic purposes.

(See DBC file for more information on byte positions and scaling)

EnerDel Confidential 12
BMS_Startup (Version Information)
Transmitted by BMS
Periodic Rate: 1 sec
Signals:
Byte Bit Item Notes
0 SW_Major_Ver
1 SW_Minor_Ver Software version information
2 SW_Build
3
SW_Program_Target Software program information
4
5 BMS_HW_Ver Hardware version information
6 BMS_Init_Successful True if system initialized properly
7 Highest_Err_Cat Highest error category 0 - 4

Highest Error Category:


0 No error
1 Reserved
2 Continue operation, possible reduced power
3 Delayed switch off, till timeout or Key Off
4 Immediate switch off, with current ramp-down if possible

EDL_Data00
Transmitted by BMS
Periodic Rate: 200 ms
Signals:
Byte Bit Item Notes
0 0.0024414 V/bit
Max_CV (Max Cell Voltage)
1 (Exec: MAX of all packs)
2 0.0024414 V/bit
Min_CV (Min Cell Voltage)
3 (Exec: MIN of all packs)
4 Max_Pack_Temp (Max Cell Voltage) 1 degC/bit
5 Min_Pack_Temp (Min Cell Voltage) (Exec: summary of all packs)
6 BMS_Contactor_Conditions_Code Failure if not zero (see conditions below)
0-6 BMS_Highest_Error_Reason Failure if not zero (see highest err below)
7
7 Remote_Comm_Fault If internal RLEC communications fault

BMS Contactor Conditions Code:


Decimal value, Present Status, Designators (S) = Service Category Fault
(K) = Key Cycle Category Fault
0 Conditions OK
1 Emergency Power Off Not Present (K)
2 All Internal Slave Data Not Received
3 Cell Over Voltage (K)
4 Cell Under-Voltage (K)
5 Pack Over Current (K)
6 Pack Over Temperature (K)
7 Pack Under-Temperature (K)

EnerDel Confidential 13
8 Circuit Board Over Temperature (K)
9 PreCharge Retry Fault (K)
10 PreCharge Short Circuit Fault (K)
11 No PCU Data Received (Battery & Heartbeat) (K)
12 (Reserved) (K)
13 (Reserved) (K)
14 PCU Fault (Battery command bit)
15 Isolation Fault with Contactors On (K)
16 Isolation Fault with Contactors Off (K)
17 Low Voltage Pack Recover Mode
18 Key Cycle Category Fault (Contactors locked out til next key cycle)
19 Service Category Fault (Contactors locked out til service faults codes cleared)
20 Circuit Board Under-Temperature (K)
21 Powerup Self Test Fail (K)
22 No CAN Contactor Request
23 Secondary ContA or FuseA Fault (K)
24 Contactor 1 Stuck On Fault (S)
25 Contactor 2 Stuck On Fault (S)
26 (Reserved) (N/A)
27 Secondary Contactor Stuck On Fault (K)
28 (Reserved) (N/A)
29 Contactor 1 Dropout Fault (K)
30 (Reserved) (N/A)
31 Contactor 2 Dropout Fault (K)
32 Contactor 1 Stuck Open Fault (K)
33 Contactor 2 Stuck Open Fault (K)
34 Secondary ContB Or FuseB Fault (K)
35 Pack Over-current Regulation Fault (K)
36 Aux Batt Undervoltage Fault
37 Discharge during Charge Fault (K)
38 Cell Voltage Connection Fault (S)
39 Extreme Cell Undervoltage Fault (S)
40 Current Sensor AD Fault (K)
41 Low Current Correlation Fault (K)
42 High Current Correlation Fault (K)
43 Fuse Blown Fault (K)
44 CellV Compare Fault (K)
45 ModuleV To CellV Compare Fault (K)
46 Module Voltage Outlier Fault (K)
47 High Contactor Current Fault (K)
48 Invalid System Configuration Loaded
49 Precharge Contactor Stuck On
50 Precharge Contactor Stuck Open
51 OBD Comm Disabled
52 System Config Disable Contactor
53 Contactor Pull In Reset Fault
54 Internal Comm Fault
55 Precharge Wait Voltage Not In Range

EnerDel Confidential 14
BMS Highest Err Reason
Decimal value, Highest detected error, Designators (S) = Service Category Fault
0 No Error
1 PCU Fault
2 No Charge Current
3 Circuit Board Temperature Warning
4 Current Limit On Low Temperature
5 Current Limit On High Temperature
6 External Isolation Fault
7 Internal Isolation Fault
8 (Reserved)
9 (Reserved)
10 No PCU Data Received (Contactor Req / Heartbeat)
11 PreCharge Short Circuit Fault
12 PreCharge Retry Fault
13 Circuit Board Over-Temperature Fault
14 Pack Under-Temperature Fault
15 Pack Over-Temperature Fault
16 Pack Over-Current Fault
17 Cell Under-Voltage Fault
18 Cell Over-Voltage Fault
19 Contactor 2 Stuck On Fault (S)
20 Secondary Contactor Open Fault
21 Emergency Power Off Active
22 Circuit Board Under-Temperature Fault
23 Contactor 1 Stuck On Fault (S)
24 Slave Data Not Received Fault
25 Powerup Self Test Fault
26 Secondary Contactor Stuck On Fault
27 Contactor Dropout Fault
28 Fan Current High Fault
29 Fan Current Low Fault
30 Aux Batt Under-Volt Fault
31 Contactor 1 Stuck Open Fault
32 Contactor 2 Stuck Open Fault
33 Discharge during Charge Fault
34 Key Cycle Category Fault
35 Service Category Fault
36 High Contactor Coil Current Fault
37 Cell Voltage Connection Fault (S)
38 Extreme Undervoltage Fault (S)
39 One Current Sensor Fault
40 Both Current Sensors Fault
41 Low Current Correlation Fault
42 High Current Correlation Fault
43 Pack Voltage Sensor Fault
44 String Voltage Mismatch Fault

EnerDel Confidential 15
45 Aux Batt Under-Volt Warning
46 Main Contactor Open Under Load Fault
47 Fuse Blown Fault
48 CellV Compare Fault
49 ModuleV To CellV Compare Fault
50 Module Voltage Outlier Fault
51 No CAN Contactor Request
52 (Reserved)
53 First PreCharge Fail Fault
54 Analog Input Invalid Calibration
55 Invalid System Configuration Loaded
56 Precharge Contactor Stuck On
57 Precharge Contactor Stuck Open
58 OBD Disable Comm
59 Sys Config Disable Comm
60 Contactor Pull In Reset Fault
61 Internal Comm Fault

EDL_Data01
Transmitted by BMS
Periodic Rate: 200 ms
Signals:

Byte Bit Item Notes


0 0.0024414 V/bit
Avg_CV (Average Cell voltage)
1 (Exec: AVG of packs)
2 0.0024414 V/bit
Delta_CV (diff between min and max CV)
3 (Exec: MAX of packs)
4 0.00156 %/bit
Sys_Total_Ratio SOC compensated for imbalance and
5
pack capacity
6 Sys_SOUE (State Of Usable Energy) (Exec: calculation of all packs)
7 Sys_SOC (State Of Charge) (Exec: calculation of all packs)

EDL_Data02
Transmitted by BMS
Periodic Rate: 200 ms
Signals:

Byte Bit Item Notes


0
Max_Chg_Current 0.1A/bit
1
2
Max_DChg_Current 0.1A/bit
3
4 0.1A/bit - Pos = charge / Neg = discharge)
System_Current
5 (Exec: Sum of all packs)
6
String_1_Voltage 0.1 V/bit
7

EnerDel Confidential 16
EDL_Data03
Transmitted by BMS
Periodic Rate: 200 ms
Signals:

Byte Bit Item Notes


0
Max_Chg_Power 0. 1 KW/bit
1
2
Max_DChg_Power 0. 1 KW/bit
3
4
5
Total_DChg_Energy 0.1 KWH/bit
6
7

EDL_Data04
Transmitted by BMS
Periodic Rate: 200 ms
Signals:

Byte Bit Item Notes


Exec_Contactor_Status
0 Stuck Check in Progress
1 ISO Check in Progress
2 Current Limit Active
0 3 Precharge Status
4 Cont A Status (String 1 Mid-pack)
5 Cont B Status (String 2 Mid-pack) Current contactor status
6 Cont 1 Status
7 Cont 2 Status
1 Exp_1_Contactor_Status
2 Exp_2_Contactor_Status
3 Exp_3_Contactor_Status
Exec Only - should be zero for exp packs
4 Exp_4_Contactor_Status
(same bit pattern as byte 0)
5 Exp_5_Contactor_Status
6 Exp_6_Contactor_Status
7 Exp_7_Contactor_Status

EDL_Data04B
Transmitted by BMS
Periodic Rate: 200 ms
Signals:
Exp_8_Contactor_Status - Exp_11_Contactor_Status
(Present only if system supports more than 7 expansion packs)

EDL_Data05
Transmitted by BMS
Periodic Rate: 200 ms
Signals:

EnerDel Confidential 17
Byte Bit Item Notes
0
Bus_Voltage1 0.1V/bit
1
2
Pack_Voltage 0.1V/bit
3
4
Iso_Res (Int/Ext Isolation Resistance) 1 KOhm/bit
5
6
String_Voltage2 0.1 V/bit
7
Notes:
1. Series executive pack transmits summed series Bus Voltage (Exec + Exp1), otherwise local Bus
Voltage is transmitted.
2. Executive pack: Minimum system-level string voltage.
Expansion packs: String 2 voltage (or 0 if not present).
Series packs: Summed series Bus Voltage (Exp 2 + Exp 3).

EDL_Data06
Transmitted by BMS
Periodic Rate: 200 ms (25 ms when contactors are about to open)
Signals:

Byte Bit Item Notes


0
Max_Chg_Voltage 0.1V/bit
1
2
Min_DChg_Voltage 0.1V/bit
3
4 Max_SOC
0.4 %/bit
5 Min_SOC
6 Avg_Pack_Temp 1 DegC/bit (signed)
System_Status1
4 I Am Executive
7 5 Exec sending local data
6 Contactors_Opening
7 Fan Active
Notes:
1. Present in Executive message only

Note, the signal Contactors_Opening in message EDL_Data06 will become TRUE if the BMS needs to
open contactors and is waiting for current to fall below an acceptable level before opening the
contactors. Also, while this signal is TRUE, the periodic rate of message EDL_Data06 is increased to
25 ms to facilitate rapid communication of this signal.

Current_Fault_Limits
Transmitted by BMS
Periodic Rate: On new current limit calculation (typically once per second)
Transmitted if enabled by Send Current Fault Limits flag in Heartbeat message.
Signals:

Byte Bit Item Notes


0
Chg_Over_Current 0.1A/bit
1

EnerDel Confidential 18
2
DChg_Over_Current 0.1A/bit
3
4
Chg_Over_Reg_Current 0.1A/bit
5
6
DChg_Over_Reg_Current 0.1 V/bit
7

EDL_Active_Fault_Data
Transmitted by BMS
Periodic Rate: 1 second
Malf # Name Description
Byte 0
Bit 0 0 BUS_VOLT_AD_FLT Bus voltage A/D fault
Bit 1 1 PACK_VOLT_AD_FLT Pack voltage A/D fault
Bit 2 2 PACK_CUR_B_HI_AD_FLT Pack current B hi A/D fault
Bit 3 3 PACK_CUR_B_LO_AD_FLT Pack current B lo A/D fault
Bit 4 4 PACK_CUR_A_HI_AD_FLT Pack current A hi A/D fault
Bit 5 5 PACK_CUR_A_LO_AD_FLT Pack current A lo A/D fault
Bit 6 6 BD_UNDER_TEMP_FLT Circuit board under temperature fault
Bit 7 7 SEC_STUCK_ON_FLT A secondary contactor is stuck closed

Byte 1
Bit 0 8 INT_ISO_FLT Internal isolation fault
Bit 1 9 EXT_ISO_FLT External (or internal) isolation fault
Bit 2 10 SEC_CONTA_OPEN_FLT Secondary contactor A or fuse A fault
Bit 3 11 CONT_PCHG_SHORT_FLT Short circuit detected at precharge
Bit 4 12 CONT1_DROPOUT_2ND_FLT Contactor 1 dropout second fault
Bit 5 13 CONT1_DROPOUT_1ST_FLT Contactor 1 dropout first fault
Bit 6 14 CONT_PCHG_RETRY_FLT Max number of precharge retries exceeded
Bit 7 15 CONT_PCHG_FLT Contactor precharge timeout fault
Byte 2
Bit 0 16 REDUNDANT_CELLV_COMPARE_FLT Redundant cell V comparison fault
Bit 1 17 CONT2_STUCK_ON_FLT Contactor 2 detected stuck closed
Bit 2 18 NO_CHARGE_CUR_FLT No charge current fault
Bit 3 19 BD_OVER_TEMP_FLT Circuit board over temperature fault
Bit 4 20 UNDER_TEMP_FLT Pack under (low) temperature fault
Bit 5 21 OVER_TEMP_FLT Pack over temperature fault
Bit 6 22 FAN_CUR_LO_FLT Fan current low (open) fault
Bit 7 23 FAN_CUR_HI_FLT Fan current high fault
Byte 3
Bit 0 24 MODULEV_TO_CELLV_COMPARE_FLT Module V to cell V comparison fault
Bit 1 25 CONT1_STUCK_ON_FLT Contactor 1 detected stuck closed
Bit 2 26 UNDER_VOLT_FLT_B Cell under voltage fault string B
Bit 3 27 UNDER_VOLT_FLT_A Cell under voltage fault string A
Bit 4 28 OVER_VOLT_FLT_B Cell over voltage fault string B
Bit 5 29 OVER_VOLT_FLT_A Cell over voltage fault string A
Bit 6 30 OVER_CURRENT_FLT Pack over current fault

EnerDel Confidential 19
Bit 7 31 SPI_FLT SPI transmit / receive timeout fault
Byte 4
Bit 0 32 CONT2_DROPOUT_2ND_FLT Contactor 2 dropout second fault
Bit 1 33 CONT2_DROPOUT_1ST_FLT Contactor 2 dropout first fault
Bit 2 34 CONT1_STUCK_OPEN_FLT Contactor 1 detected stuck open
Bit 3 35 CONT2_STUCK_OPEN_FLT Contactor 2 detected stuck open
Bit 4 36 SEC_CONTB_OPEN_FLT Secondary contactor B or fuse B fault
Bit 5 37 NO_PCU_DATA_FLT No PCU data received fault
Bit 6 38 OVER_CURRENT_REG_FLT Pack over current regulation fault
Bit 7 39 SUPPLY_V_UNDER_VOLT_FLT 12V / 24V input under voltage fault
Byte 5
Bit 0 40 LO_DCHG_DURING_CHG_FLT Low level discharge during charge fault
Bit 1 41 HI_DCHG_DURING_CHG_FLT High level discharge during charge fault
Bit 2 42 SLAVE_COMM_FLT Internal slave data not received fault
Bit 3 43 STRING_V_MISMATCH_FLT String voltages have excessive disperity
Bit 4 44 SUPPLY_V_UV_WARNING 12V / 24V input under voltage warning
BIT5 45 HI_CONT_COIL_CUR_FLT High contactor coil current fault
Bit 6 46 CV_CONNECTION_FLT Cell voltage connection fault
Bit 7 47 EXTREME_UNDER_VOLT_FLT Extreme cell undervoltage fault
Byte 6
Bit 0 48 LO_CUR_CORRELATION_FLT Low current sensor correlation fault
Bit 1 49 HI_CUR_CORRELATION_FLT High current sensor correlation fault
Bit 2 50 MAIN_CONT_OPEN_UNDER_LOAD Main contactor open under load fault
Bit 3 51 FUSE_BLOWN_FLT Fuse blown fault
Bit 4 52 PACK_TEMPERATURE_AD_FLT Pack temperature AD fault
Bit 5 53 MODULE_V_OUTLIER_FLT Module voltage outlier fault
Bit 6 54 UNREASONABLE_TEMP_FLT Exessive unreasonable temperature fault
Bit 7 55 HIGH_TEMP_DELTA_FLT High temperature max / min delta fault
Byte 7
Bit 0 56 HIGH_CV_DELTA_FLT High cell voltage max / min delta fault
Bit 1 57 NO_EPO_FLT EPO voltage not present
Bit 2 58 INVALID_AIN_CAL Lost analog calibration data
Bit 3 59 INVALID _CONFIG System configuration not loaded
Bit 4 60 EXT_FAULT Fault signaled externally from PCU
Bit 5 61 CONT_PCHG_STUCK_ON_FLT Precharge contactor stuck on fault
Bit 6 62 CONT_PCHG_STUCK_OPEN_FLT Precharge contactor stuck open fault
Bit 7 (Not used)

EDL_Latched_Fault_Data
Transmitted by BMS
Periodic Rate: 1 second

(Same bit definitions as active fault data)

EDL_History_Fault_Data
Transmitted by BMS

EnerDel Confidential 20
Periodic Rate: 1 second

(Same bit definitions as active fault data)

Tool Command
10B

These command and response IDs are typically reserved for factory use only

ID: 1CFF2061 (Executive pack)


(Expansion pack 1: 1CFF3061, Expansion pack 2: 1CFF4061, Expansion pack 3: 1CFF5061)
(Expansion pack 4: 1CFF6061, Expansion pack 5: 1CFF7061, Expansion pack 6: 1CFF8061)

Received by BMS
Periodic Rate: non-periodic

(Example message which clears service fault codes)


To clear service fault codes, send the following message (values in hex):
ID Data 0 Data1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7
1CFF2061 04 11 00 00 00 00 00 00

Upon successful clearing of service faults, the BMS will transmit the following message:
ID Data 0 Data1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7
1CFF3060 04 11 AA 00 00 00 00 00

Inter-pack Communications
The following messages are used by the packs to communicate information to one another. They may
be ignored by the external system controller or may be monitored for information purposes if desired.

Executive to Expansion pack (sync message)


Transmitted by BMS
Periodic Rate: 200 ms
Signals:

Byte Bit Item Notes


Ok for expansion packs to engage
0 Exec engage contactor
contactor
Global command for all packs to clear
1 Exec clear MALFs
faults
2 (reserved)
3 (reserved)
4 (reserved)
5 (reserved)
6 (reserved)
7 (reserved)
1 (reserved)
2 (reserved)
3 (reserved)
4 (reserved)
5 (reserved)
6 (reserved)

EnerDel Confidential 21
7 (reserved)

Exp1_BMS_Startup (Version Information)


<Same data format as EDL_Data01 except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 1 sec

In this message, Expansion Packs report their version information to the Executive Pack.

Exp1_Data01 - Exp7_Data01
<Same data format as EDL_Data01 except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 200 ms

In this message, Expansion Packs report their Data01 signals to the Executive Pack.

Exp1_Data02 - Exp7_Data02
<Same data format as EDL_Data02 except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 200 ms

In this message, Expansion Packs report their Data02 signals to the Executive Pack.

Exp1_Data03 - Exp7_Data03
<Same data format as EDL_Data03 except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 200 ms

In this message, Expansion Packs report their Data03 signals to the Executive Pack.

Exp1_Data04 - Exp7_Data04
<Same data format as EDL_Data04 except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 200 ms

In this message, Expansion Packs report their Data04 signals to the Executive Pack.

EnerDel Confidential 22
Exp1_BMS_Startup - Exp7_BMS_Startup
<Same data format as BMS_Startup except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 1 second

In this message, Expansion Packs report their BMS_Startup signals to the Executive Pack.

Exp1_Active_Fault_Data - Exp7_Active_Fault_Data
<Same data format as EDL_Active_Fault_Data except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 1 second

In this message, Expansion Packs report their Active Fault signals to the Executive Pack.
(Same bit definitions as Executive pack active fault data)

Exp1_Latched_Fault_Data - Exp7_Latched_Fault_Data
<Same data format as EDL_Latched_Fault_Data except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 1 second

In this message, Expansion Packs report their Latched Fault signals to the Executive Pack.
(Same bit definitions as Executive pack active fault data)

Exp1_History_Fault_Data - Exp7_History_Fault_Data
<Same data format as EDL_History_Fault_Data except only expansion pack local data>

Transmitted by BMS
Periodic Rate: 1 second
In this message, Expansion Packs report their History Fault signals to the Executive Pack.
(Same bit definitions as Executive pack active fault data)

EnerDel Confidential 23

You might also like