Battery Management System (BMS) Development

AVL's BMS is designed to be a flexible platform for battery development in HEVs, PHEVs or EVs. Hardware and Software can be developed based on the need of the costumer.

AVL Approach

BMS System overview
AVL's BMS features a de-centralized hardware topology which enables a very flexible battery design and integration in various different vehicle types. The BCU (Battery Control Unit) controls the MCUs (Module Control Unit), which measure cell voltages and cell temperatures. An additional HV switch box, which controls contactors and measures HV, is not necessary.

The BCU consists of both, a low voltage and a high voltage part. The low voltage part includes a powerful 32Bit floating point CPU, and several output drivers to control auxiliary components like HV contactors, water pumps, LV relays, fans or charge sockets.  A variety of digital and analog input ports ensure enough flexibility for additional sensors and signals.

The high voltage part of the BCU includes high voltage measurement inputs and an integrated isolation guard, capable of up to 800V total system voltage.

The vehicle interface is designed to be simple and easily understandable. The battery activation can be done by a discrete wake-up signal or a combination of wake-up signal and a single CAN request. The internal battery control (switching contactors, contactor weld diagnoses, balancing, isolation monitoring, SOC calculation, and much more) is handled by the BCU and does not need external algorithms. The BCU outputs the necessary CAN signals like pack and DC-link voltage, pack current flow (100Hz), voltage and current limits, temperatures and SOC.


The BCU features a 32-bit microcontroller including a wide variety of I/Os to manage and communicate with various sensors and actuators as well as to interface with the module control units. The BCU supports up to 3 CAN networks which are typically used for (1) vehicle communication, (2) internal CAN between BCU and MCUs and (3) optional CAN for such items as instrumentation CAN or service CAN. There is also a redundant digital synchronization and fault circuitry for BCU/MCU network safety monitoring.
The MCU is an 8-bit controller that supports up to 12 cells in series. The MCU senses cell voltage (every cell) and temperature (up to 4 temperatures per module) and reports these values to the BCU.

There are different MCU HW design sizes available, from minimal sized MCU (passive balancing, XX communication) to smart-MCUs for 48V packs incorporating all necessary features for standalone operation.

Software functions

The in-house developed BMS software comprises basic and application layer software. Many functions are model based. Supported functions include:
  • Battery Core Functions: Determine SOC, SOF and SOH
  • BCU State Control: BCU startup & shutdown control
  • Contactor Control: Switch contactors, monitor aging, execute weld diagnoses
  • Electrical Hazard Protection: Handle insulation monitoring and HV interlock
  • Thermal Management: Control fans, water pumps, AC, …
  • Battery Protection: Ensure a safe battery operation, control current sensors (CAN/analog)
  • Module Control: Handle MCU operation and synchronized voltage/current measurement
  • BCU Communication: Handle internal and external CAN communication
  • Warranty & Logistics: Store key operation data during runtime
  • Charge Control: Control external chargers and charge sockets
  • Diagnostic Event Handling: Execute error reaction dependent on global error level
  • Diagnostic Event Manager: Store errors
  • Balancing Control: Control cell balancing


An AVL specific 3-layer safety concept, including hard- and software measures, allows for ISO2626-compliance of the BMS as well as for all ASIL level requirements.

The calibration of AVL's BMS for our customers is done either during development or as a services at AVL.