6.1 Протокол CANopen PDO

Редактировал(а) Admin 2025/03/03 13:46

Протоколы связи

Протокол CANopen PDO

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

Плата 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 – сигнал “Battery cover”;

бит 1 – сигнал “Charge request”;

бит 2 – сигнал “Precharge request”;

бит 3 – сигнал “Discharge request”;

бит 4 – сигнал “CH contactor feedback”;

бит 5 – сигнал “DCH contactor feedback”;

бит 6 – сигнал “CH/DCH contactor feedback”;

бит 7 – сигнал “Insulation status”.

U8 
1-2Ток через АКБS160,1А/бит
3Минимальная температура ячейкиS81ºC/бит
4Максимальная температура ячейкиS81ºC/бит
5Степень заряда АКБ (SOC)U81%/бит
6-7Напряжение АКБU160,1В/бит

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

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

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

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

Флаги состояния (битовое поле):

бит 0 – сигнал “Init” (осуществляется калибровка датчика тока и поиск батарейных модулей);

бит 1 – сигнал “Charging” (0 – разомкнут, 1 – замкнут);

бит 2 – сигнал “Discharging” (0 – разомкнут, 1 – замкнут);

бит 3 – сигнал “Charging current present”;

бит 4 – сигнал “Discharging current present”;

бит 5 – сигнал “Charging/Discharging” (0 – разомкнут, 1 – замкнут);

бит 6 – сигнал “Precharging” (0 – разомкнут, 1 – замкнут);

бит 7 – сигнал “Interlock”;

бит 8 – сигнал “Fuse 1”;

бит 9 – сигнал “Fuse 2”;

бит 10 – сигнал “Fuse 3”;

бит 11 – сигнал “Heater” (0 – выкл, 1 – вкл);

бит 12 – сигнал “Cooler” (0 – выкл, 1 – вкл);

бит 13 – сигнал “Main contactor” (0 – разомкнут, 1 – замкнут);

бит 14 – сигнал “Service reset”;

бит 15 – сигнал “Coolant pump”;

биты 16-31 – не используются.

U32 
4–7

Регистр ошибок 1 (битовое поле):

бит 0 – ошибка “Battery cover”;

бит 1 – ошибка “Modules offline”;

бит 2 – “Critical error”;

бит 3 – ошибка “Voltage unbalance (CH)”;

бит 4 – ошибка “Voltage unbalance (DCH)”;

бит 5 – ошибка “Current unbalance (CH)”;

бит 6 – ошибка “Current unbalance (DCH)”;

бит 7 – ошибка “Charging current unbalance”;

бит 8 – ошибка “Discharging current unbalance”;

бит 9 – зарезервировано (установлен в 0);

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

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

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

бит 13 – сигнал “Insulation fault”;

бит 14 – ошибка “WDT reset”;

бит 15 – ошибка “Overcurrent”;

бит 16 – ошибка “Power switch error”;

бит 17 – ошибка “High humidity”;

бит 18 – ошибка “Water”;

бит 19 – ошибка “Short circuit”;

бит 20 – ошибка “Contactor high temperature”;

бит 21 – ошибка “Stuck contactor”;

бит 22 – ошибка “HVIL error”;

бит 23 – ошибка АЦП;

бит 24 – ошибка датчика тока;

бит 25 – ошибка монтирования SD карты;

бит 26 – ошибка файловой системы;

бит 27 – ошибка измерения высокого напряжения;

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

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

бит 30 – ошибка предзаряда;

бит 31 – ошибка “Current limit error”.

U32 

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

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

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

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

Регистр ошибок 2 (битовое поле):

бит 0 – “Power fault”;

биты 1-31 – не используются.

U32 
4-5

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

бит 0 – сигнал “Join to charge”;

бит 1 – сигнал “Join to discharge;

бит 2 – сигнал “PCH contactor feedback”;

бит 3 – сигнал “Main contactor feedback”;

бит 4 – сигнал “Interlock”;

бит 5 – сигнал “Power down request”;

биты 6-15 – не используются.

U16 
6-7ЗарезервированоU16