Мультипакетная передача используется для трафика данных в CAN-шине, занимающих больше восьми байт. Например, передача кода карты водителя или VIN-номера автомобиля.
Перед отправкой данных узел указывает сети, что он собирается передать многопакетное сообщение. Отправляется сообщение TP.CM
BAM (Broadcast Announce Message), которое содержит информацию о количестве пакетов, общем размере данных и PGN (данные которого будут передаваться).
TP.CM
Broadcast Announce Message:
PGN Hex | 0x00ECFF | |||||||
---|---|---|---|---|---|---|---|---|
PGN | 60671 | |||||||
Номер байта | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 | Байт 8 |
Назначение байта | 0x20 | Размер данных (Little-endian) |
Количество пакетов |
0xFF | PGN (Little-endian) |
Данные разбиваются на пакеты TP.DT
, каждый из которых содержит часть сообщения.
Если размер данных не кратен размеру пакета, то оставшиеся байты последнего пакета заполняется значением 0xFF
(в некоторых случаях может заполняться другим значением, например 0x2A
).
TP.DT
Передача пакетов данных:
PGN Hex | 0x00EBFF | |||||||
---|---|---|---|---|---|---|---|---|
PGN | 60415 | |||||||
Описание | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 | Байт 8 |
Пакетизированные данные | Порядковый номер пакета |
Данные | Данные | Данные | Данные | Данные | Данные | Данные |
Время (мс) | ID (hex) | DLC | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 | Байт 8 |
---|---|---|---|---|---|---|---|---|---|---|
0 | PR EC FF SA | 8 | 20 |
11 |
00 |
03 |
FF |
EC |
FE |
00 |
50 | PR EB FF SA | 8 | 01 |
1-7 байты VIN-номера | ||||||
100 | PR EB FF SA | 8 | 02 |
8-14 байты VIN-номера | ||||||
150 | PR EB FF SA | 8 | 03 |
15-17 байты VIN-номера | FF |
FF |
FF |
FF |
PR — приоритет сообщения (3 бита).
SA — адрес источника (8 бит).