6.1 Протокол CANopen PDO

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

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

CANID = 0x180+COBID (по умолчанию 0x1C0)

Длина пакета – 8 байт.

Содержимое пакета:

БайтИмя параметраТип параметраКодирование
0

Дискретные входы 1 (битовое поле):

бит 0 – signal “Battery cover”;

бит 1 – signal “Charge request”;

бит 2 – signal “Precharge request”;

бит 3 – signal “Discharge request”;

бит 4 – signal “CH contactor feedback”;

бит 5 – signal “DCH contactor feedback”;

бит 6 – signal “CH/DCH contactor feedback”;

бит 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:

БайтИмя параметраТип параметраКодирование
0–3

Internal signals (bitfield):

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

бит 1 – signal “Charging” (0 – open, 1 – closed);

бит 2 – signal “Discharging” (0 – open, 1 – closed);

бит 3 – signal “Charging current present”;

бит 4 – signal “Discharging current present”;

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

бит 6 – signal “Precharging” (0 – open, 1 – closed);

бит 7 – signal “Interlock”;

бит 8 – signal “Fuse 1”;

бит 9 – signal “Fuse 2”;

бит 10 – signal “Fuse 3”;

бит 11 – signal “Heater” (0 – off, 1 – on);

бит 12 – signal “Cooler” (0 – off, 1 – on);

бит 13 – signal “Main contactor” (0 – open, 1 – closed);

бит 14 – signal “Service reset”;

бит 15 – signal “Coolant pump”;

bits 16-31 – not used.

U32 
4–7

Errors 1 (bitfield):

бит 0 – error “Battery cover”;

бит 1 – error “Modules offline”;

бит 2 – “Critical error”;

бит 3 – error “Voltage unbalance (CH)”;

бит 4 – error “Voltage unbalance (DCH)”;

бит 5 – error “Current unbalance (CH)”;

бит 6 – error “Current unbalance (DCH)”;

бит 7 – error “Charging current unbalance”;

бит 8 – error “Discharging current unbalance”;

бит 9 – reserved (set to 0);

бит 10 – “CH contactor feedback error”;

бит 11 – “DCH contactor feedback error”;

бит 12 – “CH/DCH contactor feedback error”;

бит 13 – “Insulation fault”;

бит 14 – error “WDT reset”;

бит 15 – error “Overcurrent”;

бит 16 – error “Power switch error”;

бит 17 – error “High humidity”;

бит 18 – error “Water”;

бит 19 – error “Short circuit”;

бит 20 – error “Contactor high temperature”;

бит 21 – error “Stuck contactor”;

бит 22 – “HVIL error”;

бит 23 – “ADC error”;

бит 24 – “Current sensor error”;

бит 25 – “Mount error”;

бит 26 – “FS error”;

бит 27 – “High voltage fault”;

бит 28 – “PCH contactor feedback error”;

бит 29 – “Main contactor feedback error”;

бит 30 – “Precharge error”;

бит 31 – “Current limit error”.

U32 

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

Packet length – 8 bytes.

Packet content:

БайтИмя параметраТип параметраКодирование
0–3

Errors 2 (bitfield):

бит 0 – “Power fault”;

bits 1-31 – not used.

U32 
4-5

Discrete input signals 2 (bitfield):

бит 0 – signal “Join to charge”;

бит 1 – signal “Join to discharge;

бит 2 – signal “PCH contactor feedback”;

бит 3 – signal “Main contactor feedback”;

бит 4 – signal “Interlock”;

бит 5 – signal “Power down request”;

bits 6-15 – not used.

U16 
6-7ReservedU16