CAN通信位时序:同步传输的核心机制
谈思实验室
2026年10月18日 17:50
上海
去阅读
点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
我们在计算CAN通信的波特率时,会有许多概念,以周立功ZCANPRO中附带的波特率计算器为例
涉及到的参数有时钟(Clock),波特率(Baudrate),同步跳转宽度(SJW),比特率预分频器(BRP:bit rate prescaler),TSEG1,TSEG2,采样点(SMP:sample point)。
不管何种协议的通信方式,其目的归根结底就是发送方将一个个0/1发送给接收方。这些参数的目的就是为了让收发双方知道每秒采样多少次,在什么时间进行采样。
单位时间(即每秒)发送0/1的数量就是波特率。发送单个0/1所需要的时间就是位时间(BT:bit time)。
则
BT=1/波特率
位时间内信号的组成就是位时序。CAN 通信中的位时序是确保多节点间数据同步传输的核心机制。
接下来我们通过位时序理解各个参数的意义和作用。
01
位时序的基本概念
位时序是指在CAN总线上传输每一位数据的时间安排结构,它定义了每个数据位在时间轴上的精细划分。CAN协议采用非归零(NRZ) 通信方式,没有固定的时钟信号线,因此位时序设计成为实现节点间同步的关键。通过位时序,CAN总线能够在分布式系统 中实现多节点间的精确同步,避免因时序偏差导致的误码问题。
02
位时序的组成结构
一个完整的CAN位时序由四个逻辑时间段组成,这些段共同构成一个位的传输时间:
1、同步段(SS: Synchronization Segment)
- 固定长度为1个时间量子(Tq)
- 用于实现节点间的硬同步,当总线上出现显性电平跳变时,所有节点以此跳变为基准对齐本地时序
- 是所有节点建立统一时间基准的关键环节
2、传播段(PTS: Propagation Time Segment)
- 长度可配置为1-8个Tq
- 用于补偿信号在总线线路上的传输延迟以及节点内部的电路延迟
- 典型配置:在长距离工业总线中适当延长,以抵消信号传输过程中的时延累积
3、相位缓冲段1(PBS1: Phase Buffer Segment 1)
- 长度通常为1-8个Tq
- 用于吸收节点间的微小时序偏差,当信号边沿不能被包含于SS段中时进行补偿
- 在重同步过程中可被延长,以调整采样点位置
4、相位缓冲段2(PBS2: Phase Buffer Segment 2)
- 长度通常为2-8个Tq
- 用于提供额外的调整余量,在重同步过程中可被缩短
- 与PBS1共同构成时序调整的弹性空间,使节点能够灵活应对传输过程中的时序漂移
03
关键参数与时序计算
1. 时间量子(Tq)
- 位时序中的最小时间单位,由CAN控制器的系统时钟(Clock)分频得到
- 计算公式:T q = ( B R P + 1 ) × t Tq = (BRP + 1) × t
- 即,Tq由(BRP+1)个系统时钟周期组成
其中BRP为波特率预分频器值,t tt为系统时钟周期
2. 位时间(BT: bit time)与波特率(Baudrate)
- 位时间 = (1 + TSEG1 + TSEG2) × Tq
TSEG1 = PTS + PBS1(采样点之前的时间段)
TSEG2 = PBS2(采样点之后的时间段)
* 波特率 = 1 / 位时间
3. 采样点(SMP:sample point)位置
- 采样点位于PBS1结束处,是CAN控制器读取总线电平以确定位值的关键时刻
- 采样点位置以百分比表示:S M P = ( 1 + T S E G 1 ) / ( 1 + T S E G 1 + T S E G 2 ) × 100 SMP = (1 + TSEG1) / (1 + TSEG1 + TSEG2) × 100%SMP=(1+TSEG1)/(1+TSEG1+TSEG2)×100
- 推荐范围:65%-90%,常见值为75%-87.5%
过早采样易受边沿抖动干扰
过晚采样则压缩了有效保持窗口,二者均会升高误码率
4. 重同步跳转宽度(SJW)
- 定义:限制时序调整幅度的关键参数
- 作用:规定每个位时间内PBS1最多可延长、PBS2最多可缩短的时间量子数
- 设置原则:SJW ≤ min(TSEG1, TSEG2),既保证时序调整灵活性,又避免过度调整导致位时间混乱
SJW
04
同步机制与工作原理
1. 硬件同步
- 触发条件:接收单元在总线空闲状态检测出帧起始(SOF)
- 工作原理:当检测到隐性电平到显性电平的边沿时,视为位的起始(SS),不考虑SJW值进行同步调整
- 特点:确保所有节点在帧起始阶段建立统一的时间基准
2. 再同步机制
- 触发条件:在接收过程中检测到总线上的电平变化
- 工作原理:
当隐性电平到显性电平的边沿出现在PTS和PBS1之间时,延长PBS1以调整同步
当边沿出现在PBS2中时,缩短PBS2以调整同步
* 调整幅度:受SJW值限制,最大调整范围为SJW个Tq
3. 同步规则
- 1位中只进行一次同步调整
- 仅当边沿后的总线电平与边沿前一个总线采样值不同时,该边沿才能用于同步
- 帧起始边沿必须进行强制同步
- 发送单元观测到自身输出的显性电平有延迟时不进行再同步
05
位时序配置实例
示例:CAN时钟10MHz,目标波特率1Mbps
- Tq = 1/10MHz = 100ns
- 位时间 = 1/1Mbps = 1000ns = 10个Tq
- 配置:
SS = 1Tq
PTS = 6Tq(考虑总线延迟)
PBS1 = 1Tq
PBS2 = 2Tq
SJW = 1Tq
* 采样点位置 = (1+6+1)/10 = 80%
采样点调整示例:
- 提前采样:PTS+PBS1减小,PBS2加大 → 采样点前移(如60%)
- 延迟采样:PTS+PBS1加大,PBS2减小 → 采样点后移(如80%)
06
位时序的重要性 与应用
- 通信可靠性保障:通过精准的时序设计和同步机制,有效避免因时序偏差导致的误码问题
- 环境适应性:支持不同波特率(10kbit/s-1Mbit/s+)和总线长度的灵活配置
- 抗干扰能力:合理的位时序配置可显著提高系统对电磁干扰的抵抗能力
- 多节点同步:确保分布式系统中所有节点在统一的时序基准下工作
在实际应用中,位时序配置需根据具体场景进行优化:
- 汽车电子:通常使用250kbit/s或500kbit/s波特率,采样点设为80%-87.5%
- 工业控制:长距离通信时降低波特率,延长位时间以补偿更大传输延迟
- 高噪声环境:增加PTS长度,提高抗干扰能力
通过合理配置位时序参数,CAN总线能够适应从近距离高速通信到远距离低速传输的各种应用场景,为现代汽车电子、工业自动化 和智能设备等领域提供稳定可靠的通信基础。
参考文档:
https://zhuanlan.zhihu.com/p/162708070
https://mp.weixin.qq.com/s/aF4c8\_9-VfOJow3hSGjP5w
https://blog.csdn.net/qq\_35057766/article/details/135573375
来源:CSDN博主「高阳&酒徒」
https://blog.csdn.net/u010360138/article/details/160152217
end
谈思汽车媒体门户
精品活动推荐
AutoSec系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、理想、极氪、小米、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
中科数测、ETAS、BlackDuck、NXP、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、加特兰微电子、浙江大学......
人员占比
公司类型占比
文章
不要错过哦,这可能是汽车网络安全产业最大的专属社区!
首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论