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
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–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:
Байт | Имя параметра | Тип параметра | Кодирование |
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-7 | Reserved | U16 |