6.1 Протокол CANopen PDO
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 number | Parameter name | Parameter type | Converting |
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–2 | Battery current | S16 | 0.1A/bit |
3 | Minimum cell temperature | S8 | 1ºC/bit |
4 | Maximum cell temperature | S8 | 1ºC/bit |
5 | State of charge (SOC) | U8 | 1%/bit |
6–7 | Battery voltage | U16 | 0.1V/bit |
CANID = 0x280+COBID (0x2A0 by default)
Packet length – 8 bytes.
Packet content:
Byte number | Parameter name | Parameter type | Converting |
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 number | Parameter name | Parameter type | Converting |
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-7 | Reserved | U16 |