ISO 11898-1:2024 关键参数速查
ISO 11898-1:2024 关键参数速查
参数来源:ISO 11898-1:2024 全文(见全文页),条款号见各节标注。 数值与符号与原文一致;关键参数以官方正式版本为准。
1. 帧格式关键位(数据帧位序)
来源:6.6.8-6.6.12 节(SOF、仲裁字段、控制字段、数据字段、CRC 字段、ACK 字段、EOF)与图 18-23。
1.1 CAN FD 数据帧(FBFF,11 位标识符)
| 字段 | 内容 | 位值/说明 | 条款 |
|---|---|---|---|
| SOF | 起始帧 | 显性(dominant) | 6.6.8 |
| 仲裁字段 | ID(28)…ID(18)(11 位)+ RRS | RRS 位显性,接收端可接受显性或隐性 | 6.6.11.2、图 18 |
| 控制字段 | IDE | 显性(11 位标识符帧;与 CEFF/FEFF 区分) | 6.6.11.3、图 20 |
| 控制字段 | FDF(FD Format Indicator) | 隐性 = FD 或 XL 帧(显性 = CC 帧);11 位标识符帧中位于 IDE 之后 | 6.6.11.3 |
| 控制字段 | res(保留位) | 显性;FD 帧中 FDF 之后;检测为隐性时:协议异常处理启用则检测协议异常事件,禁用则按格式错误 | 6.6.11.3 |
| 控制字段 | BRS(Bit Rate Switch) | 隐性 = 数据相位切换到 FD 数据位速率;显性 = 全程名义位速率 | 6.6.11.3 |
| 控制字段 | ESI(Error State Indicator) | 发送端为 error-active 时显性、error-passive 时隐性(LLC 置位则发送隐性) | 6.6.11.3 |
| 控制字段 | DLC(4 位) | 数据长度编码,见第 2 节表 5 | 6.6.11.3 |
| 数据字段 | 0-64 字节(按 DLC) | 字节 0 起顺序发送,每字节 8 位;DLC=0 时无数据字段 | 6.6.11.4 |
| CRC 字段 | SBC(stuff count,4 位)+ FCRC(17 或 21 位)+ CRC 界定符 | 见第 3 节;CRC 界定符为 1 或 2 个隐性位(发送端发 1 个) | 6.6.11.5 |
| ACK 字段 | ACK slot + ACK delimiter | 发送端发隐性;接收端在 slot 内覆盖为显性;界定符隐性 | 6.6.11.6 |
| EOF | 帧结束 | 7 个隐性位 | 6.6.11.7 |
1.2 CAN FD 数据帧(FEFF,29 位标识符)
位序:SOF → ID(28)…ID(18) → SRR(隐性)→ IDE(隐性)→ ID(17)…ID(0) → RRS(显性)→ FDF(隐性)→ res(显性)→ BRS → ESI → DLC → 数据 → SBC+FCRC+CRC 界定符 → ACK slot + ACK delimiter → EOF(7 隐性)。仲裁自 ID(28) 开始、至控制字段的 FDF 位结束;SRR/IDE 隐性保证同基标识符下 11 位标识符帧优先于 29 位帧(6.6.11.2、图 19-21)。
1.3 经典 CAN 帧(CBFF/CEFF)要点
- CBFF 仲裁字段:ID(28)…ID(18) + RTR;CEFF:ID(28)…ID(18) + SRR(隐性)+ IDE(隐性)+ ID(17)…ID(0) + RTR。RTR 隐性 = 远程帧,显性 = 数据帧;同标识符下数据帧优先于远程帧(6.6.10.2)。
- 控制字段:IDE/r1(显性)+ r0(显性)+ DLC(4 位)(图 14);CBFF 中 IDE 显性、CEFF 中 r1 与 FD 帧 FDF 对应,FD 容错节点在该位收到隐性时检测协议异常事件(6.6.10.3)。
- CRC 字段:FCRC(CRC_15,15 位)+ CRC 界定符(1 个隐性位)(6.6.10.5)。
- 经典 CAN 帧从 SOF 到 FCRC 采用动态位填充(6.6.13.2)。
1.4 术语对照注
本版 ISO 11898-1 原文使用 FDF 位名;Bosch CAN FD 规范中对应位称为 EDL(Extended Data Length)。ISO 11898-1:2024 无 EDL 位名。
2. DLC 编码(表 5,6.4.3 节)
| DLC 值(十进制) | CBFF 和 CEFF [字节] | FBFF 和 FEFF [字节] |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | 3 |
| 4 | 4 | 4 |
| 5 | 5 | 5 |
| 6 | 6 | 6 |
| 7 | 7 | 7 |
| 8 | 8 | 8 |
| 9 | 8 | 12 |
| 10 | 8 | 16 |
| 11 | 8 | 20 |
| 12 | 8 | 24 |
| 13 | 8 | 32 |
| 14 | 8 | 48 |
| 15 | 8 | 64 |
规则:0-8 直接映射;FD 帧 9-15 映射到 12/16/20/24/32/48/64 字节(间隔先 4 字节后 8/16 字节递增);经典帧 9-15 全部为 8 字节(截断)。
3. CRC 与位填充(6.6.4.4、6.6.13 节)
3.1 CRC 生成多项式(6.6.4.4)
| CRC | 帧/字段 | 位长 nCRC | 多项式(十六进制,含高序位) | 初始化向量 CRC_INIT_VECTOR | 汉明距离 |
|---|---|---|---|---|---|
| CRC_13 | XL 帧仲裁与控制字段(PCRC) | 13 | 39E716 | (0,0,…,1)(单个 1 在最低位) | 6 |
| CRC_15 | 经典 CC 帧(FCRC) | 15 | C59916 | (0,…,0) | 6 |
| CRC_17 | FD 帧数据字段 ≤16 字节(FCRC) | 17 | 3685B16 | (1,0,…,0)(单个 1 在最高位) | 6 |
| CRC_21 | FD 帧数据字段 >16 字节(FCRC) | 21 | 30289916 | (1,0,…,0)(单个 1 在最高位) | 6 |
| CRC_32 | XL 整帧(FCRC) | 32 | 1F4ACFB1316 | (0,0,…,1)(单个 1 在最低位) | 6 |
要点:发送节点与接收节点在 SOF 处同时计算全部五种 CRC;赢得仲裁的节点按帧格式与 DLC 选择发送相应 CRC 序列(6.6.4.4)。CRC 相关位流见 6.6.10.5、6.6.11.5、6.6.12.3、6.6.12.5,并补 nCRC 个 0 位参与计算。
3.2 位填充规则(6.6.13)
- 动态位填充:发送器检测到 5 个连续相同位(含动态填充位)时插入 1 个互补位;接收器识别 5 个连续相同位后丢弃其后的动态填充位(6.6.13.2、表 10)。应用范围:CC 帧从 SOF 到 FCRC;FD 帧从 SOF 到数据字段;XL 帧从 SOF 到仲裁字段(XL 帧最大 3 个动态填充位,最后一个可能位置在 FDF 位之前)。
- 固定位填充(FD CRC 字段,6.6.13.3.1):stuff count 第一位之前必有 1 个固定填充位(即使前字段末尾不是 5 个连续相同位;若恰好是 5 个连续相同位,则只保留该固定填充位、不得连续两个填充位);此后 CRC 字段每第 4 位后插入 1 个固定填充位。固定填充位取值 = 其前一位的反码;接收端丢弃固定填充位做 CRC 校验,固定填充位与前位相同时检测格式错误。FD CRC 字段固定填充位数量等于 CC 帧动态填充方法的最大填充位数。
- 固定位填充(XL 数据阶段,6.6.13.3.2):填充率 11,自 ADS 的 DL1 位起每第 10 个帧位后插入 1 个固定填充位(值 = 前一位反码),最后一个固定填充位在 FCRC 序列中;用于控制字段、数据字段与 FCRC。
- stuff count:FD 帧中为 4 位(格雷编码 SBC3/SBC2/SBC1 + 奇偶位 SBC0),表示 stuff count 前填充位数量模 8 的值 0-7(表 8);XL 帧为 3 位(表 9),范围 0-3。
- 不填充的字段:ACK 字段、EOF(XL 帧还有 FCP)(6.6.13.1)。
4. 位定时结构(7.3.2、7.3.3 节)
4.1 位时间构成与采样点(7.3.2)
| 段 | 说明 |
|---|---|
| Sync_Seg(同步段) | 用于同步各 CAN 节点;预期在此段内检测到边沿;恰好 1 个 tq |
| Prop_Seg(传播段) | 补偿网络物理延迟(总线传播时间 + 节点内部延迟) |
| Phase_Seg1、Phase_Seg2(相位缓冲段) | 补偿边沿相位误差;重同步时可加长/缩短 |
| SJW(同步跳转宽度) | 重同步时相位缓冲段加长/缩短的上限 |
| 采样点 | 读取总线电平的位置,位于 Phase_Seg1 末端 |
| 信息处理时间 | 计算下一 bit 电平所需时间,自采样点开始,≤2tq(7.3.3) |
- 时间量子 tq:固定时间单位,源自节点时钟;最小时间量子 tq.min = 1 个节点时钟周期;可编程预分频器 m(整数),tq 长度 = m×tq.min(7.3.2)。
- 三种位速率与三套独立配置寄存器:名义位速率、FD 数据位速率、XL 数据位速率;FD 数据相位自 BRS 位采样点(检测为隐性)开始,至 CRC 界定符首个采样点结束(7.3.2)。
- 关键公式(7.3.2):tnode = toutput + tinput(式 1);tprop_seg ≥ tnodeA + tnodeB + 2×tbusline(式 2,仲裁条件)。
- 推荐节点时钟:CAN FD 用 20 MHz、40 MHz 或 80 MHz;CAN XL 数据位速率至 20 Mbit/s 时推荐 160 MHz(7.3.2)。
- 最优位定时切换配置三条件:名义与数据位时间用相同 tq 长度;网络中所有节点名义采样点位置相同;FD 数据位时间采样点位置相同(7.3.2)。
- 可编程总时间量子数(7.3.3):非 FD 节点名义位时间至少 8-25 tq;FD 使能节点数据位时间至少 5-25 tq、名义位时间至少 8-80 tq;XL 使能节点数据位时间至少 5-385 tq(1+128+128+128)、名义位时间至少 5-641 tq(1+384+128+128)。XL 数据位速率至少为名义位速率的 2 倍。
- 限制(7.3.3):数据位时间中 Phase_Seg2 ≥ max(SJW, 最大信息处理时间);名义位时间中 Phase_Seg2 ≥ max(SJW, 信息处理时间);SJW ≤ min(Phase_Seg1, Phase_Seg2);Prop_Seg 在数据位速率配置中可为 0。
4.2 最小配置范围(表 11-13,7.3.3 节)
不支持 FD 帧格式时(表 11,名义位时间):预分频 m 1-32;Sync_Seg 1tq;Prop_Seg 1-8tq;Phase_Seg1 1-8tq;Phase_Seg2 2-8tq;SJW 1-4tq。
不支持 XL 帧格式时(表 12;为使符合 ISO 11898-1:2015 的 FD 节点兼容本版,表 13 优先):
| 参数 | 名义位时间(独立预分频) | 名义位时间(共享预分频) | FD 数据位时间 |
|---|---|---|---|
| 预分频 m | 1 至 32 | 1 至 32 | 1 至 32 |
| Sync_Seg | 1tq | 1tq | 1tq |
| Prop_Seg | 1 至 48tq | 0 至 96tq | 0 至 8tq |
| Phase_Seg1 | 1 至 16tq | 1 至 32tq | 1 至 8tq |
| Phase_Seg2 | 2 至 16tq | 2 至 32tq | 2 至 8tq |
| SJW | 1 至 16tq | 1 至 32tq | 1 至 8tq |
| SSP offset | 不适用 | 不适用 | 1 至 63tq.min |
支持全部帧格式时(表 13):
| 参数 | 名义位时间 | FD 数据位时间 | XL 数据位时间 |
|---|---|---|---|
| 预分频 m | 1 至 32 | 1 至 32 | 1 至 32 |
| Sync_Seg | 1tq | 1tq | 1tq |
| Prop_Seg | 1 至 384tq | 0 至 128tq | 0 至 128tq |
| Phase_Seg1 | 1 至 128tq | 1 至 128tq | 1 至 128tq |
| Phase_Seg2 | 2 至 128tq | 2 至 128tq | 2 至 128tq |
| SJW | 1 至 128tq | 1 至 128tq | 1 至 128tq |
| SSP offset | 不适用 | 1 至 160tq.min | 1 至 160tq.min |
4.3 振荡器容差(7.3.6)
节点时钟频率容差范围:(1−df)×fnom ≤ fosc ≤ (1+df)×fnom;任意两节点时钟最大差异预期为 2×df×fnom。df 取决于 tq 长度、位时间各段与 SJW,须满足公式(3)-(5)(CC 帧)、公式(3)-(7)(FD 帧)、公式(3)(4)(8)(XL 帧);配置的 SJW 不得大于 Phase_Seg1 与 Phase_Seg2 中较小者。注:公式(3)-(8) 的具体解析式在全文页中为图形/公式对象,未提取为文本,此处不展开数值。
4.4 同步规则(7.3.5)
- 每个位时间(两个采样点之间)只允许一次同步;边沿仅在上一采样点读到的总线状态为隐性时才引起同步(7.3.5.1 规则 a/b)。
- 硬同步在以下边沿执行:帧间空间内(intermission 第一位除外)、总线整合状态、FD 帧 FDF→res 边沿、XL 帧 XLF→resXL 边沿(接收节点)、DH1/DH2→DL1 边沿、DAH 或 AH1→AL1 边沿(7.3.5.1 规则 c)。
- 相位误差 e:e=0 边沿在 Sync_Seg 内;e>0 在 Sync_Seg 与采样点之间;e<0 在采样点与下一位 Sync_Seg 之间(7.3.5.2)。重同步:e 为正时加长 Phase_Seg1、为负时缩短 Phase_Seg2,加长/缩短量等于 SJW(7.3.5.4)。
5. TDC 与 SSP(7.3.4 节)
- 必要性:收发器在协议控制器输出与输入之间引入不可避免的延迟;无发送器延迟补偿时,数据相位位速率受限于”发送器最迟在采样点收到自己发送的位”这一约束。
- 要求:支持 FD 帧格式与支持 XL 帧格式的节点必须支持发送器延迟补偿(TDC)。数据相位位时间 ≤1000 ns 时应使用 TDC;当 FD/XL 数据相位中 Sync_Seg+Prop_Seg+Phase_Seg1 之和短于 PCS→PMA→PCS 传播延迟时必须使用 TDC。是否启用可编程;启用时预分频 m 必须为 1 或 2。
- 补偿能力:节点须能补偿至少 95 tq.min 的发送器延迟(仅支持 FD 不支持 XL 的节点可将范围限制为 63 个最小时间量子);SSP 位置对 XL 帧与 FD 帧分别可配置。
- SSP 测量与位置:每个发送帧在 FD 帧 FDF→res 边沿(XL 帧 XLF→resXL 边沿,隐性→显性)测量实际发送器延迟:发送 res/resXL 位时在发送输出启动计数器,按每个最小时间量子递增,直到接收输入检测到显性信号停止。SSP 位置 = 测得发送器延迟 + 配置的 SSP offset(SSP offset 配置范围见表 12/13)。
- SSP 使用:启用 TDC 时发送器忽略采样点处检测的位错误;在 SSP 处将接收位与(延迟的)发送位比较,若在 SSP 检测到位错误,则在随后的采样点处对该位错误作出反应。数据相位末端那些 SSP 会落入后续仲裁相位的位,禁用其位错误检测。
- 示例(NOTE):使用最小配置范围时最新 SSP 为 160+95=255 tq.min;按 tq.min=6,25 ns(160 MHz)计,可补偿 95×6,25 ns=593,75 ns 的发送器延迟,SSP offset 设为 160×6,25 ns=1000 ns。
- SSP 位置为奇数且数据相位时间量子预分频为 2 时,可将 SSP 位置值除以 2 并向下取整确定(7.3.4)。
- 相关位定时段:发送器延迟补偿机制定义次采样点 SSP,详见全文图 34-36。
6. 错误处理关键点(5.7-5.12、6.6.5、8.1.4 节)
6.1 错误检测措施(5.7、8.1.3.3)
发送器监测(比较发送位电平与总线检测电平);CRC 校验(15/17/21/13/32 位,见第 3 节);stuff count 校验(FD/XL);动态位填充(填充宽度 5)与固定位填充(填充率 5 用于 FD CRC 字段、11 用于 XL 数据相位);帧格式检查;ACK 检查。错误类型:位错误(bit error)、填充错误(stuff error)、CRC 错误、格式错误(form error)、ACK 错误(8.1.3.3 表 16)。
6.2 错误帧(6.6.5)
- 主动错误标志:6 个连续显性位;被动错误标志:6 个连续隐性位(除非被其他节点的显性位覆盖)。
- 多个节点错误标志叠加后,总线上显性序列长度最小 6 位、最大 12 位。
- 错误界定符:8 个隐性位(发送错误标志后监测到隐性位时,所有节点同时再发 7 个隐性位完成 8 位界定符)。
- 过载帧:过载标志 6 个显性位 + 过载界定符 8 个隐性位(6.6.6)。
6.3 帧间空间与恢复(5.8、6.6.7)
- intermission:3 个隐性位;suspend transmission:error-passive 发送节点在 intermission 后额外挂起 8 个位时间(6.6.7.4)。
- 恢复时间:自检测到错误到可能开始下一帧为 17-23 个名义位时间(error-passive 节点最多 31 个)(5.8)。
- 总线整合/空闲检测:11 个连续隐性位构成空闲条件;bus-off 恢复需监测 128 次空闲条件(6.6.7.5、8.1.4.4)。
6.4 错误状态与阈值(5.10-5.12、8.1.4.3/8.1.4.4)
| 状态 | 触发条件 | 行为 |
|---|---|---|
| error-active | 初始状态 | 检测到错误时发送主动错误标志(6 显性) |
| error-passive | 发送或接收错误计数器 >127 | 发送被动错误标志(6 隐性);发送后须挂起 8 位时间;两计数器均 ≤127 时回到 error-active |
| bus-off | 发送错误计数器 >255 | 不发送、不确认任何帧;重启请求后监测 128 次空闲条件(11 连续隐性位)后重新整合,计数器清零 |
6.5 错误计数规则摘要(8.1.4.2)
| 规则 | 内容 |
|---|---|
| a | 接收器检测到错误:接收错误计数器 +1(发送主动错误标志/过载标志时的位错误除外) |
| b | 接收器在发送错误标志后首位检测到显性:接收错误计数器 +8 |
| c | 发送器发送错误标志:发送错误计数器 +8(两个例外:error-passive 发送器 ACK 错误且被动标志期间未检测到显性;仲裁决定前的填充错误且填充位应隐性但被监测为显性——两种情况下计数器不变) |
| d | 发送器发送主动错误标志/过载标志时检测到位错误:发送错误计数器 +8 |
| e | 接收器发送主动错误标志/过载标志时检测到位错误:接收错误计数器 +8 |
| f | 任何节点容忍发送主动/被动错误标志或过载标志后的最多 7 个连续显性位;检测到 14 个连续显性位(主动错误标志/过载标志)或被动错误标志后 8 个连续显性位,以及其后每增加 8 个连续显性位,发送器发送错误计数器 +8、接收器接收错误计数器 +8 |
| g | 帧成功发送(获得 ACK 且到 EOF 结束无错误):发送错误计数器 −1(已为 0 则保持) |
| h | 帧成功接收(至 ACK slot 无错误且成功发送 ACK 位):接收错误计数器在 1-127 之间时 −1;为 0 保持;>127 时设为 119-127 之间的值 |
注:错误计数规则可多条同时适用;error-passive 限值 127 对应 7 位计数器进位,255 对应 8 位计数器进位(8.1.4.3/8.1.4.4)。
6.6 重传(6.5.3)
重传次数可配置:0(不重传)至至少 6 次(6 次重传尝试),范围内最高值可允许无限重传;仲裁失败后的重启动(re-arbitration)不计入重传计数器。不支持 XL 帧格式的节点可不实现重传计数器,但须支持无限重传。
7. 与本站内容的关联
- 标准条目页:ISO 11898-1 (2024)
- 知识库子域:物理层与信号完整性(位定时与 TDC 相关)、SIC 设计与振铃抑制
- 词条:CAN SIC
- 配套规范:ISO 11898-2:2024(全文、参数速查)、Bosch CAN FD 规范(全文)、中文采标版 GB/T 41588.1-2022 全文(基于 ISO 11898-1:2015 基线)