logo

Lithiumate™ Manual

index reference description_specs comm_specs rs232_specs

RS232 port specs

Specifications for the RS232 serial port

This section lists and describes the RS232 serial port, and the data in the RS232 dump.

back to topRS232 serial port specs

The BMS controller includes an RS232 serial port with these fixed parameters:

  • 19200 baud (rev 1.xx) or 57600 baud (rev 2.xx)
  • 8 data bits
  • no parity
  • 1 stop bit
  • Handshake: None
  • Pin 2 = TXD: from controller to terminal
  • Pin 3 = RXD: from terminal to controller
back to topData transmitted in the RS232 dump

The RS232 serial port is normally used by a person to monitor and set-up the BMS controller. However, it can be programmed to continuously dump data (once a second, without the need for any input into the RS232 port), for automatic monitoring and logging purposes.

A deep understanding of hex data, and a significant experience with data parsing are required to use this function.
Elithion provides support required for proper BMS operation.
This data dump function is not required for proper BMS operation.
Therefore, please understand that Elithion does not have the resources to educate inexperienced people in hex data parsing techniques at no cost.
Elithion's paid consulting services are available to instruct you, should you wish to use them.

The data are in hex, 2 characters per data byte, packed with no separator between bytes.

The data are in 5 groups.

  • Context
  • Auxiliary data
  • Cell data - voltages
  • Cell data - temperatures
  • Cell data - resistances

These groups may be turned on or off, but at least one of them must be on.

  • The context may be enabled or disabled.
  • The auxiliary data may be enabled or disabled.
  • All 3 cell-data groups may be enabled or disabled, all-together.

These separators are used:

  • Before each dump (once a second): clear screen and home commands
  • After each group: space character
  • After each dump: carriage return and line feed

For example, if all groups are dumped, the BMS controller will generate the following data, in this order:

  • Clear screen and Home commands: 1B 5B 32 4A 1B 5B 48 (ESC [ 2 ESC [ H)
  • Context data
  • Space character: 20
  • Auxiliary data
  • Space character: 20
  • Cell voltages
  • Space character: 20
  • Cell temperatures
  • Space character: 20
  • Cell resistances
  • Space character: 20
  • Carriage return and line feed characters: 20 0D 0A (Space CR LF)

The above sequence is repeated every 1 s.

Context data anchor

Context is a set of 32 bytes (these are the same variables that are logged each time there is an event)
Byte
no.
No of
bytes
Item
1 1 Fault code: level faults or transition faults (this may be updated by a new fault, but is never cleared)
  1. Driving off while plugged in
  2. Interlock is tripped
  3. Communication fault with a bank or cell
  4. Charge overcurrent
  5. Discharge overcurrent
  6. Over-temperature
  7. Under voltage
  8. Over voltage
  9. No battery voltage
  10. High voltage B- leak to chassis
  11. High voltage B+ leak to chassis
  12. Relay K1 is shorted
  13. Contactor K2 is shorted
  14. Contactor K3 is shorted
  15. Open K1 or K3, or shorted K2
  16. Open K2
  17. Excessive precharge time
  18. EEPROM stack overflow
2 2 Number of on/off cycles [-]
4 3 Time since power came on [s]
7 2 Source current [100 mA], signed, positive when discharging
9 2 Load current [100 mA], signed, positive when discharging
11 1 State of certain inputs and outputs. Bit number / function:
7 6 5 4 3 2 1 0
1 = Fan is on 1 = LLIM is set 1 = HLIM is set 1 = CAN contactor request 1 = hard wire contactor request 1 = interlock is tripped 1 = power from the load 1 = power from the source

For example: E2h = 1110 0010 binary = fan is on, LMIN and HLIM are active, and power from the load.
12 1 Relative Charge Current Limit (CCL): Maximum regen and charging current accepted. FFh = 100%, 00h = 0% [-]
13 1 Relative Discharge Current Limit (DCL): Maximum discharging current accepted. FFh = 100%, 00h = 0% [-]
14 1 Relay State machine state (contactors)
  • 00 = relays off
  • not 00 = relays on
15 1 State Of Charge [0.5 %]
16 2 Pack total voltage, 0 to 6.55 kV [100 mV]
18 1 No of a bank missing (high nybble) / No of missing banks (low nybble)
19 1 No of missing cells
20 1 No of a missing cell
21 1 Minimum Cell Voltage [10 mV - 2.0 V] (e.g.: 00h = 2.00 V, 01h = 2.01 V...)
22 1 Number of the Cell with the lowest voltage [-]
23 1 Average Cell Voltage [10 mV - 2.0 V] (e.g.: 00h = 2.00 V, 01h = 2.01 V...)
24 1 Maximum Cell Voltage [10 mV - 2.0 V] (e.g.: 00h = 2.00 V, 01h = 2.01 V...)
25 1 Number of the Cell with the highest voltage [-]
26 1 Minimum Cell Board Temperature [°C +80h]. Signed, -127 to + 127 °C +80h (e.g.: 80h = °C, 81h = 1 °C; 7Fh = -1 °C)
27 1 Number of the Cell Board with the lowest Temperature [-]
28 1 Average Cell Board Temperature [°C +80h]. Signed, -127 to + 127 °C +80h (e.g.: 80h = °C, 81h = 1 °C; 7Fh = -1 °C)
29 1 Maximum Cell Board Temperature [°C +80h]. Signed, -127 to + 127 °C +80h (e.g.: 80h = °C, 81h = 1 °C; 7Fh = -1 °C)
30 1 Number of the Cell Board with the highest Temperature [-]
31 1 Number of loads that are on
32 1 Cell voltage above which we turn on its load [10 mV - 2.0 V] (e.g.: 00h = 2.00 V, 01h = 2.01 V...)

Auxiliary data anchor

Auxiliary data is a set of a additional bytes: (Rev 0.92 and less: 21 bytes; Rev 0.93 and after: 23 bytes)
Byte
no.
No of
bytes
Item
1 1 State
Bit number:
  1. 1 = Level fault
  2. 1 = K1 is on
  3. 1 = K2 is on
  4. 1 = K3 is on
  5. 1 = Relay fault
  6. (not used)
  7. (not used)
  8. (not used)
2 1 Level fault flags [-]
Bit number:
  1. 1 = driving off while plugged in
  2. 1 = interlock is tripped
  3. 1 = communication fault with a bank or cell
  4. 1 = charge overcurrent
  5. 1 = discharge overcurrent
  6. 1 = over temperature
  7. 1 = under voltage {Rev 0.88 added}
  8. 1 = over voltage {Rev 0.88 added}
3 3 Total energy in of battery, since manufacture. Unsigned, overflows back to 0 [kWH]
6 3 Total energy out of battery, since manufacture. Unsigned, overflows back to 0 [kWH]
9 2 DOD - Depth Of Discharge [Ah]
11 2 Capacity [Ah]
13 1 SOH - State Of Health [%]
14 2 Pack Resistance [100 µΩ] (so, 01h = 100 µΩ) {Fixed in rev 1.05}
16 1 Minimum Cell Resistance [100 µΩ] (so, 01h = 100 µΩ)
17 1 Number of cell with minimum resistance [-]
18 1 Average Cell Resistance [100 µΩ]
19 1 Maximum Cell Resistance [100 µΩ] (so, 01h = 100 µΩ)
20 1 Number of cell with maximum resistance [-]
21 1 Number of cells seen [-]
22 2 Power [100 W], signed

Cell data anchor

Cell data are the raw readings from all 255 cells: voltage, temperature and resistance

The cell voltages are in 10 mV, offset by 2.0 V (so, 00h = 2 V, 10h = 2.16 V...), starting from cell 0 all the way to cell 255.

  • 00h Cell 0 voltage
  • 01h Cell 1 voltage
  • ...
  • FFh Cell 255 voltage

The cell temperatures are in °C, offset by 80h (so, 80h = 0 °C, 81h = 1 °C, 7Fh = -1 °C), starting from cell 0 all the way to cell 255.

  • 00h Cell 0 temperature
  • 01h Cell 1 temperature
  • ...
  • FFh Cell 255 temperature

The cell resistances are in 100 µΩ (so, 01h = 100 µΩ), starting from cell 0 all the way to cell 255.

  • 00h Cell 0 resistance
  • 01h Cell 1 resistance
  • ...
  • FFh Cell 255 resistance

This text file has a screenshot of the dump in a system with 8 cells.

e-logo

© 2008~2017 Elithion™, LLC. All rights reserved, except where noted by CC mark. Page published on Oct 09 2013.
The Elithion brand and the 'ə' (upside down 'e') logo are Trademarks of Elithion LLC. Graphic design by morninglori

 

In this page: