EXPLAINER / SVG ANIMATION

Anatomie d’une trame de données CAN

Animation champ par champ : SOF, arbitrage, contrôle, données, CRC, ACK, EOF.

LECTURE · PAUSE · PAS · REJOUER Électronique automobile SVG
INTERACTIVE SIMULATION / CanFrame
STD DATA FRAME / BIT STREAM → 1 1b SOF 2 11b ID d’arbitrage 3 1b RTR 4 1b IDE 5 1b r0 6 4b DLC 7 64b Données 0–8 o 8 15b Séquence CRC 9 1b Délimiteur CRC 10 1b Slot ACK 11 1b Délimiteur ACK 12 7b EOF

Appuyez sur lecture pour parcourir les champs d’une trame CAN

Comment ça marche

Le corps de l’article ci-dessous n’est actuellement complet qu’en chinois ; l’interface, les titres, descriptions et FAQ suivent la langue choisie.

一帧长什么样

标准 CAN 数据帧(11 位 ID)从总线空闲开始,按位流依次发送:

字段位数作用
SOF1显性位,标志帧开始并完成硬同步
仲裁场 ID11报文标识符,同时决定优先级
RTR1数据帧为显性 0,远程帧为隐性 1
IDE1标准帧为显性 0
r01保留位
DLC4数据长度 0–8(CAN-FD 使用非连续映射)
数据场0–64实际载荷,按 DBC 信号定义解析
CRC 序列15校验 SOF 至数据场,多项式 0x4599
CRC 界定符 / ACK 槽 / ACK 界定符各 1发送节点发隐性,接收节点用显性应答
EOF / IMS7 / 3帧结束与帧间空间

位填充

从 SOF 到 CRC 序列采用位填充:连续 5 个相同电平后自动插入一个相反电平的位。因此实际帧长会略大于字段位数之和,计算总线负载时必须留出余量(工程上常用最坏 135 位/标准帧)。

为什么 ACK 是显性

发送节点在 ACK 槽发出隐性位;任何正确接收到帧的节点都会把它拉成显性。发送节点读到显性即确认”至少有一个节点收到了”,但不知道是谁、也不知道是否所有节点都收到。这就是 CAN 只做”广播 + 应答”、不做点对点确认的原因。

理解了帧结构,再去 CAN 位定时计算器 看采样点位置,以及 CRC 计算器 里通用 8 位 CRC 参数模型与帧内 15 位 CRC 的区别——两者的初值、位序列与填充位处理方式都不同,不能互相替代。

APPLY IT / TOOLS

Outils associés