6.1 Протокол CANopen PDO
Протоколы связи
Протокол 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 | Ток через АКБ | S16 | 0,1А/бит |
3 | Минимальная температура ячейки | S8 | 1ºC/бит |
4 | Максимальная температура ячейки | S8 | 1ºC/бит |
5 | Степень заряда АКБ (SOC) | U8 | 1%/бит |
6-7 | Напряжение АКБ | U16 | 0,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 |