Исходный код вики 6.1 CANopen PDO protocol

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

Скрыть последних авторов
Admin 1.1 1 (% data-numbered-headings-start="6" style="--numbered-headings-start: 5;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
Admin 1.2 2 = Протоколы связи =
Admin 1.1 3
4 (% data-numbered-headings-start="1" style="--numbered-headings-start: 0;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
Admin 1.2 5 == Протокол CANopen PDO ==
Admin 1.1 6
Admin 1.2 7 === Общая информация ===
Admin 1.1 8
Admin 1.2 9 Плата BMS Main 3X реализует протокол CiA 301 CANopen для настройки и чтения состояния модульной АКБ и BMS.
Admin 1.1 10
Admin 1.2 11 Основные характеристики:
Admin 1.1 12
Admin 1.2 13 * Поддерживаются стандартные 11-ти битные идентификаторы сообщений.
14 * Скорость обмена – 125, 250 (по умолчанию), 500 или 1000 кбит/с.
15 * Идентификатор COBID платы по умолчанию – 64 (0x40).
Admin 1.1 16
Admin 1.2 17 Поддерживаемые режимы передачи данных:
Admin 1.1 18
Admin 1.2 19 * SDO (для настройки платы).
20 * PDO (для обмена данными с другими элементами системы).
21 * Sync (настраивается).
22 * Heartbeat producer (настраивается).
23 * Heartbeat consumer (используется для контроля активности других устройств на шине CAN).
Admin 1.1 24
Admin 1.2 25 Передача данных PDO выполняется по сигналу синхронизации (CANID = 0x80, длина данных 0). Плата может сама выступать источником сигнала синхронизации (режим Sync).
Admin 1.1 26
Admin 1.2 27 Ниже даётся описание параметров, передаваемых в режиме PDO. В колонке «Тип параметра»:
Admin 1.1 28
Admin 1.2 29 * U8 – беззнаковое 8-разрядное число;
30 * U16 – беззнаковое 16-разрядное число;
31 * S16 – знаковое 16-разрядное число;
32 * U32 – беззнаковое 32-разрядное число.
Admin 1.1 33
Admin 1.2 34 Порядок байт в словах – от младшего к старшему (**little endian**).
Admin 1.1 35
Admin 1.2 36 === Пакеты TPDO ===
Admin 1.1 37
Admin 1.2 38 ==== CANID ~= 0x180+COBID (по умолчанию 0x1C0) ====
Admin 1.1 39
Admin 1.2 40 Длина пакета – 8 байт.
Admin 1.1 41
Admin 1.2 42 Содержимое пакета:
Admin 1.1 43
Admin 1.2 44 |(% style="width:56px" %)**Байт**|(% style="width:348px" %)**Имя параметра**|(% style="width:81px" %)**Тип параметра**|**Кодирование**
Admin 1.1 45 |(% style="width:56px" %)**0**|(% style="width:348px" %)(((
Admin 1.2 46 Дискретные входы 1 (битовое поле):
Admin 1.1 47
Admin 1.2 48 бит 0 – сигнал “Battery cover”;
Admin 1.1 49
Admin 1.2 50 бит 1 – сигнал “Charge request”;
Admin 1.1 51
Admin 1.2 52 бит 2 – сигнал “Precharge request”;
Admin 1.1 53
Admin 1.2 54 бит 3 – сигнал “Discharge request”;
Admin 1.1 55
Admin 1.2 56 бит 4 – сигнал “CH contactor feedback”;
Admin 1.1 57
Admin 1.2 58 бит 5 – сигнал “DCH contactor feedback”;
Admin 1.1 59
Admin 1.2 60 бит 6 – сигнал “CH/DCH contactor feedback”;
Admin 1.1 61
Admin 1.2 62 бит 7 – сигнал “Insulation status”.
Admin 1.1 63 )))|(% style="width:81px" %)U8|
Admin 1.2 64 |**1-2**|Ток через АКБ|S16|0,1А/бит
65 |**3**|Минимальная температура ячейки|S8|1ºC/бит
66 |**4**|Максимальная температура ячейки|S8|1ºC/бит
67 |**5**|Степень заряда АКБ (SOC)|U8|1%/бит
68 |**6-7**|Напряжение АКБ|U16|0,1В/бит
Admin 1.1 69
Admin 1.2 70 ==== CANID ~= 0x280+COBID (0x2A0 by default) ====
Admin 1.1 71
Admin 1.2 72 Длина пакета – 8 байт.
Admin 1.1 73
Admin 1.2 74 Содержимое пакета:
Admin 1.1 75
76 (% style="width:572px" %)
Admin 1.2 77 |(% style="width:63px" %)**Байт**|(% style="width:345px" %)**Имя параметра**|(% style="width:79px" %)**Тип параметра**|(% style="width:76px" %)**Кодирование**
Admin 1.1 78 |(% style="width:63px" %)**0–3**|(% style="width:345px" %)(((
Admin 1.2 79 Флаги состояния (битовое поле):
Admin 1.1 80
Admin 1.2 81 бит 0 – сигнал “Init” (осуществляется калибровка датчика тока и поиск батарейных модулей);
Admin 1.1 82
Admin 1.2 83 бит 1 – сигнал “Charging” (0 – разомкнут, 1 – замкнут);
Admin 1.1 84
Admin 1.2 85 бит 2 – сигнал “Discharging” (0 – разомкнут, 1 – замкнут);
Admin 1.1 86
Admin 1.2 87 бит 3 – сигнал “Charging current present”;
Admin 1.1 88
Admin 1.2 89 бит 4 – сигнал “Discharging current present”;
Admin 1.1 90
Admin 1.2 91 бит 5 – сигнал “Charging/Discharging” (0 – разомкнут, 1 – замкнут);
Admin 1.1 92
Admin 1.2 93 бит 6 – сигнал “Precharging” (0 – разомкнут, 1 – замкнут);
Admin 1.1 94
Admin 1.2 95 бит 7 – сигнал “Interlock”;
Admin 1.1 96
Admin 1.2 97 бит 8 – сигнал “Fuse 1”;
Admin 1.1 98
Admin 1.2 99 бит 9 – сигнал “Fuse 2”;
Admin 1.1 100
Admin 1.2 101 бит 10 – сигнал “Fuse 3”;
Admin 1.1 102
Admin 1.2 103 бит 11 – сигнал “Heater” (0 – выкл, 1 – вкл);
Admin 1.1 104
Admin 1.2 105 бит 12 – сигнал “Cooler” (0 – выкл, 1 – вкл);
Admin 1.1 106
Admin 1.2 107 бит 13 – сигнал “Main contactor” (0 – разомкнут, 1 – замкнут);
Admin 1.1 108
Admin 1.2 109 бит 14 – сигнал “Service reset”;
Admin 1.1 110
Admin 1.2 111 бит 15 – сигнал “Coolant pump”;
Admin 1.1 112
Admin 1.2 113 биты 16-31 – не используются.
Admin 1.1 114 )))|(% style="width:79px" %)U32|(% style="width:76px" %)
115 |(% style="width:63px" %)**4–7**|(% style="width:345px" %)(((
Admin 1.2 116 Регистр ошибок 1 (битовое поле):
Admin 1.1 117
Admin 1.2 118 бит 0 – ошибка “Battery cover”;
Admin 1.1 119
Admin 1.2 120 бит 1 – ошибка “Modules offline”;
Admin 1.1 121
Admin 1.2 122 бит 2 – “Critical error”;
Admin 1.1 123
Admin 1.2 124 бит 3 – ошибка “Voltage unbalance (CH)”;
Admin 1.1 125
Admin 1.2 126 бит 4 – ошибка “Voltage unbalance (DCH)”;
Admin 1.1 127
Admin 1.2 128 бит 5 – ошибка “Current unbalance (CH)”;
Admin 1.1 129
Admin 1.2 130 бит 6 – ошибка “Current unbalance (DCH)”;
Admin 1.1 131
Admin 1.2 132 бит 7 – ошибка “Charging current unbalance”;
Admin 1.1 133
Admin 1.2 134 бит 8 – ошибка “Discharging current unbalance”;
Admin 1.1 135
Admin 1.2 136 бит 9 – зарезервировано (установлен в 0);
Admin 1.1 137
Admin 1.2 138 бит 10 – “CH contactor feedback error”;
Admin 1.1 139
Admin 1.2 140 бит 11 – “DCH contactor feedback error”;
Admin 1.1 141
Admin 1.2 142 бит 12 – “CH/DCH contactor feedback error”;
Admin 1.1 143
Admin 1.2 144 бит 13 – сигнал “Insulation fault”;
Admin 1.1 145
Admin 1.2 146 бит 14 – ошибка “WDT reset”;
Admin 1.1 147
Admin 1.2 148 бит 15 – ошибка “Overcurrent”;
Admin 1.1 149
Admin 1.2 150 бит 16 – ошибка “Power switch error”;
Admin 1.1 151
Admin 1.2 152 бит 17 – ошибка “High humidity”;
Admin 1.1 153
Admin 1.2 154 бит 18 – ошибка “Water”;
Admin 1.1 155
Admin 1.2 156 бит 19 – ошибка “Short circuit”;
Admin 1.1 157
Admin 1.2 158 бит 20 – ошибка “Contactor high temperature”;
Admin 1.1 159
Admin 1.2 160 бит 21 – ошибка “Stuck contactor”;
Admin 1.1 161
Admin 1.2 162 бит 22 – ошибка “HVIL error”;
Admin 1.1 163
Admin 1.2 164 бит 23 – ошибка АЦП;
Admin 1.1 165
Admin 1.2 166 бит 24 – ошибка датчика тока;
Admin 1.1 167
Admin 1.2 168 бит 25 – ошибка монтирования SD карты;
Admin 1.1 169
Admin 1.2 170 бит 26 – ошибка файловой системы;
Admin 1.1 171
Admin 1.2 172 бит 27 – ошибка измерения высокого напряжения;
Admin 1.1 173
Admin 1.2 174 бит 28 – “PCH contactor feedback error”;
Admin 1.1 175
Admin 1.2 176 бит 29 – “Main contactor feedback error”;
Admin 1.1 177
Admin 1.2 178 бит 30 – ошибка предзаряда;
Admin 1.1 179
Admin 1.2 180 бит 31 – ошибка “Current limit error”.
Admin 1.1 181 )))|(% style="width:79px" %)U32|(% style="width:76px" %)
182
183 ==== CANID ~= 0x380+COBID (0x3A0 by default) ====
184
Admin 1.2 185 Длина пакета – 8 байт.
Admin 1.1 186
Admin 1.2 187 Содержимое пакета:
Admin 1.1 188
Admin 1.2 189 |(% style="width:66px" %)**Байт**|(% style="width:339px" %)**Имя параметра**|(% style="width:81px" %)**Тип параметра**|(% style="width:85px" %)**Кодирование**
Admin 1.1 190 |(% style="width:66px" %)**0–3**|(% style="width:339px" %)(((
Admin 1.2 191 Регистр ошибок 2 (битовое поле):
Admin 1.1 192
Admin 1.2 193 бит 0 – “Power fault”;
Admin 1.1 194
Admin 1.2 195 биты 1-31 – не используются.
Admin 1.1 196 )))|(% style="width:81px" %)U32|(% style="width:85px" %)
197 |(% style="width:66px" %)**4-5**|(% style="width:339px" %)(((
Admin 1.2 198 Дискретные входы 2 (битовое поле):
Admin 1.1 199
Admin 1.2 200 бит 0 – сигнал “Join to charge”;
Admin 1.1 201
Admin 1.2 202 бит 1 – сигнал “Join to discharge;
Admin 1.1 203
Admin 1.2 204 бит 2 – сигнал “PCH contactor feedback”;
Admin 1.1 205
Admin 1.2 206 бит 3 – сигнал “Main contactor feedback”;
Admin 1.1 207
Admin 1.2 208 бит 4 – сигнал “Interlock”;
Admin 1.1 209
Admin 1.2 210 бит 5 – сигнал “Power down request”;
Admin 1.1 211
Admin 1.2 212 биты 6-15 – не используются.
Admin 1.1 213 )))|(% style="width:81px" %)U16|(% style="width:85px" %)
Admin 1.2 214 |(% style="width:66px" %)**6-7**|(% style="width:339px" %)Зарезервировано|(% style="width:81px" %)U16|(% style="width:85px" %)