CAN

From Volt Garáž Wiki
Revision as of 22:21, 10 January 2021 by Andy (talk | contribs)
Jump to navigation Jump to search

A standard automotive protocol, CAN operates on two wires as a differential signal. These are called CAM High and CAM Low. Both of these wires have some electric potential against common ground, but the ground is not involved in the connection as just the two wires are used. CAN is a bus where multiple devices are connected on the same physical line. The bus also has to be terminated by a resistor.

Super Soco CAM

CPX

The CPX uses 250 000 bps CAM bus terminated by the scooter or the charger. This means if direct connection to the battery is required, the used CAM interface needs terminate the bus or a 120 Ohm resistor needs to be installed manually across the two pins. Each message sent contains an ID that designates a type of the message and 8 bytes of data.

Battery BMS messages
Message ID Purpose
504 Charging information
506 Battery state and charging information
54E Battery parameters and information

Please note that many parameters repeat between different message IDs. If a value is indicated to be contained within more bytes, the format is Little Endian

The Message IDs specified here apply when using the battery in A-mode or Charging mode. When using with B-mode, the IDs are +1 higher. Please see Battery connector#Gen 2 for modes description.

504 data
Byte Value Unit
00, 01 Unknown Speculation: discharge current?
02, 03 Battery Voltage Volts * 10
04, 05 Charging Current Amps * 10
06 Unknown Only observed 0x00
07 Unknown flag 0x95 during charging, 0x00 otherwise
506 data
Byte Value Unit
00 Battery state bitmask Bits from lst. sig.: 0 = charging mode, 1 = voltage on pins, 3 = initialized after connection
01 Battery state bitmask Bits from lst. sig.: 0 = charging mode, 4 = charging in progress
02, 03 Charging current Amps * 10
04, 05 Voltage per cell (avg? max? min?) Volts * 1000
06 Unknown Only observed 0x00
07 Battery mode 0x10 = charging mode, 0x20 = riding mode


54E data
Byte Value Unit
00, 01 Battery Maximum Voltage Volts * 10
02, 03 Battery Maximum Charge Current Amps * 10, 0 when charged
04 State of Charge Percents
05, 06 Battery Voltage Volts * 10
07 Unknown flag 0x30 during charging, 0x00 otherwise