Skip to main content
FW version: Stable

BMS driver

version

Documentation for version 2.0.x

This API is for controll the device specific parts of FW of the BMS. These FW parts are specific for BMS variant and provides universal API for the application.

The BMS specific FW part is splitted into several modules:

  • Common IO module
  • Switch Driver
  • Balancer Driver

Switch Driver

The Switch Driver provides implementation of core logic of the BMS HW controll: switch ON and OFF of battery discharging and charging according to user (application) requests and battery and load state.

There is implemented failure states checking and handling and protection mechanisms of the battery (e.g. overload or shortcuts) and load (e.g. over-/undervoltage) in the Switch Driver.

The Switch Driver uses inputs and functions from the Common IO module and from underlying FW modules HAL Driver and Balancer Driver.

The Switch Driver provides universal API for BMS Applications.

Balancer Driver

The Balancer Driver implements communication with the Balancer. The Balancer is separated HW device integrated in the BMS control board but driven by its own control MCU.

Task of the Balancer is to control battery cells: to measure temperature and voltage of cells. The Balancer also provides balancing of battery cells - selected cell(s) can be loaded to balance voltage of all cells to be nearly same.

The control MCU of the Balancer is controlled from the BMS (main) MCU via internal communication line. The Balancer Driver is FW module responsible for this communication in the FW of the BMS main MCU. It is driven from by the Switch Driver.

Common IO

The Common IO module provides common support for handling of inputs and outputs of the BMS HW, like contactor or GPIO.