6.1 Протокол CANopen PDO

Редактировал(а) Admin 2025/02/21 12:08

Communication protocols

CANopen PDO protocol

Общая информация

Плата BMS Main 3X реализует протокол CiA 301 CANopen для настройки и чтения состояния модульной АКБ и BMS.

Основные характеристики:

  • Поддерживаются стандартные 11-ти битные идентификаторы сообщений.
  • Скорость обмена – 125, 250 (по умолчанию), 500 или 1000 кбит/с.
  • Идентификатор COBID платы по умолчанию – 64 (0x40).

Поддерживаемые режимы передачи данных:

  • SDO (для настройки платы).
  • PDO (для обмена данными с другими элементами системы).
  • Sync (настраивается).
  • Heartbeat producer (настраивается).
  • Heartbeat consumer (используется для контроля активности других устройств на шине CAN).

Передача данных PDO выполняется по сигналу синхронизации (CANID = 0x80, длина данных 0). Плата может сама выступать источником сигнала синхронизации (режим Sync).

Ниже даётся описание параметров, передаваемых в режиме PDO. В колонке «Тип параметра»:

  • U8 – беззнаковое 8-разрядное число;
  • U16 – беззнаковое 16-разрядное число;
  • S16 – знаковое 16-разрядное число;
  • U32 – беззнаковое 32-разрядное число.

Порядок байт в словах – от младшего к старшему (little endian).

TPDO packets

CANID = 0x180+COBID (0x1C0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0

Discrete input signals 1 (bitfield):

bit 0 – signal “Battery cover”;

bit 1 – signal “Charge request”;

bit 2 – signal “Precharge request”;

bit 3 – signal “Discharge request”;

bit 4 – signal “CH contactor feedback”;

bit 5 – signal “DCH contactor feedback”;

bit 6 – signal “CH/DCH contactor feedback”;

bit 7 – signal “Insulation status”.

U8 
1–2Battery currentS160.1A/bit
3Minimum cell temperatureS81ºC/bit
4Maximum cell temperatureS81ºC/bit
5State of charge (SOC)U81%/bit
6–7Battery voltageU160.1V/bit

CANID = 0x280+COBID (0x2A0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0–3

Internal signals (bitfield):

bit 0 – signal “Init” (current sensor calibration or battery modules scanning is performed);

bit 1 – signal “Charging” (0 – open, 1 – closed);

bit 2 – signal “Discharging” (0 – open, 1 – closed);

bit 3 – signal “Charging current present”;

bit 4 – signal “Discharging current present”;

bit 5 – signal “Charging/Discharging” (0 – open, 1 – closed);

bit 6 – signal “Precharging” (0 – open, 1 – closed);

bit 7 – signal “Interlock”;

bit 8 – signal “Fuse 1”;

bit 9 – signal “Fuse 2”;

bit 10 – signal “Fuse 3”;

bit 11 – signal “Heater” (0 – off, 1 – on);

bit 12 – signal “Cooler” (0 – off, 1 – on);

bit 13 – signal “Main contactor” (0 – open, 1 – closed);

bit 14 – signal “Service reset”;

bit 15 – signal “Coolant pump”;

bits 16-31 – not used.

U32 
4–7

Errors 1 (bitfield):

bit 0 – error “Battery cover”;

bit 1 – error “Modules offline”;

bit 2 – “Critical error”;

bit 3 – error “Voltage unbalance (CH)”;

bit 4 – error “Voltage unbalance (DCH)”;

bit 5 – error “Current unbalance (CH)”;

bit 6 – error “Current unbalance (DCH)”;

bit 7 – error “Charging current unbalance”;

bit 8 – error “Discharging current unbalance”;

bit 9 – reserved (set to 0);

bit 10 – “CH contactor feedback error”;

bit 11 – “DCH contactor feedback error”;

bit 12 – “CH/DCH contactor feedback error”;

bit 13 – “Insulation fault”;

bit 14 – error “WDT reset”;

bit 15 – error “Overcurrent”;

bit 16 – error “Power switch error”;

bit 17 – error “High humidity”;

bit 18 – error “Water”;

bit 19 – error “Short circuit”;

bit 20 – error “Contactor high temperature”;

bit 21 – error “Stuck contactor”;

bit 22 – “HVIL error”;

bit 23 – “ADC error”;

bit 24 – “Current sensor error”;

bit 25 – “Mount error”;

bit 26 – “FS error”;

bit 27 – “High voltage fault”;

bit 28 – “PCH contactor feedback error”;

bit 29 – “Main contactor feedback error”;

bit 30 – “Precharge error”;

bit 31 – “Current limit error”.

U32 

CANID = 0x380+COBID (0x3A0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0–3

Errors 2 (bitfield):

bit 0 – “Power fault”;

bits 1-31 – not used.

U32 
4-5

Discrete input signals 2 (bitfield):

bit 0 – signal “Join to charge”;

bit 1 – signal “Join to discharge;

bit 2 – signal “PCH contactor feedback”;

bit 3 – signal “Main contactor feedback”;

bit 4 – signal “Interlock”;

bit 5 – signal “Power down request”;

bits 6-15 – not used.

U16 
6-7ReservedU16