【车载开发系列】总线物理层规范中篇

【车载开发系列】总线物理层规范中篇

【车载开发系列】总线物理层规范中篇

  • 【车载开发系列】总线物理层规范中篇
    • 一. 什么是位时间
    • 二. 位时间与时间份额的关系
    • 三. 什么是时间份额Tq
      • 1)同步段(SS: Synchronization Segment)
      • 2)传播段(PTS: Propagation Time Segment)
      • 3)相位缓冲段1
      • 4)相位缓冲段2
    • 四. 什么是采样点
    • 五. 采样点与总线质量的关系
    • 六. 什么是第二采样点
    • 七. 什么是位同步机制
    • 八. 为什么CAN总线波特率是一个范围
    • 九. 总结

一. 什么是位时间

由发送单元在非同步的情况下每秒钟发送的位数称为位速率,即一个二进制位在总线上传输所需要的时间就是位时间。1除以位时间之后可以得到波特率(也就是位的速率)。

二. 位时间与时间份额的关系

Tq是CAN总线上的最小时间段。而一个电平位时间由若干个Tq组成,根据标准规定一个位时间最小由8个Tq组成。

三. 什么是时间份额Tq

时间份额是通过MCU芯片的晶振周期分频得到的,它的作用是用于定义CAN通信中每一位的时序结构,确保数据传输的稳定性和同步性。每一位Tq都包含以下四个部分:

同步段(Synchronization Segment)

传播段(Propagation Segment)

相位缓冲段1(Phase Buffer Segment 1)和相位缓冲段2(Phase Buffer Segment 2),这些段的长度以Tq为单位进行配置

1)同步段(SS: Synchronization Segment)

每个位的传输从同步段开始,用于同步各节点,同步进行接收和发送的工作。长度对应1个Tq

2)传播段(PTS: Propagation Time Segment)

用于吸收网络上的物理延迟的段。所谓的网络的物理延迟指发送单元的输出延迟、总线上信号的传播延迟、接收单元的输入延迟,这个段的时间为以上各延迟时间的和的两倍。其长度对应1~8个Tq

3)相位缓冲段1

相位缓冲段用于补偿跳变沿的相位误差,其长度会在重同步的实现过程中延长或缩短。

同步过程中可以对TSEG1进行延长,此外为方便编程,许多CAN模块将传播段及TSEG1合并为一段。最小为3个Tq。

4)相位缓冲段2

同步过程中可以对TSEG2进行缩短。最小为2个Tq

四. 什么是采样点

采样点英文为SAMPLE POINT。它是位时间内的一个时间点。采样点是读取CAN总线的电平,并将读到的电平作为相应位值的点。通常情况下,采样点位于相位缓冲段1的结尾。

CAN FD报文的采样点必须符合表"CAN FD报文的位编码/解码值"中的要求。对于CAN FD报文仲裁段,采样点必须设置在80%;而对于CAN FD报文数据段,采样点必须设置在75%。

五. 采样点与总线质量的关系

如果采样点过早​​,信号可能未稳定,容易受到噪声干扰;而采样点过晚​​则可能错过有效信号窗口,特别是在长距离传输时。

理想采样点​​:应在信号最稳定的中点稍后位置,通常​采样点选择​​建议在75%-85%之间。

采样点可以设置1个或者3个。正确的采样点设置对可靠通信至关重要。

六. 什么是第二采样点

SSP是CAN控制器针对自发报文回读时的采样点,SSP位置由TD和SSP offset决定。它实现了数据回读时的位错误检测。

SSP是发送端独有武器,接收端不需要。仲裁段不用SSP:低速传输(≤500kbps)延迟影响小。

七. 什么是位同步机制

在CAN通信中,有两种同步机制:硬同步与重同步。

2.1 同步的规则

☆ 一个位时间内只允许一种同步方式,要么硬同步要么重同步;

☆ 任何一个从"隐性"到"显性"的下降沿都可以用于同步;

☆ 硬同步发生在报文的SOF位,所有接收节点调整各自当前位的同步段,使其位于发送的SOF位内;

☆ 重同步发生在一个报文SOF位之外的其它段,当下降沿落在了同步段之外时发生重同步;

在SOF到仲裁场发送的时间段内,如果有多个节点同时发送报文,那么这些发送节点对跳变沿不进行重同步

八. 为什么CAN总线波特率是一个范围

根据 CAN 规范的要求,总线上的所有器件都必须使用相同的比特率才能完成通信。然而,并非所有器件都要求具有相同的主振荡器时钟频率。所以,CAN 总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得 CAN 总线有很强的容错性,同时也降低了对每个节点的振荡器精度。所以CAN总线的波特率是一个范围。

九. 总结

本文首先介绍了位时间的概念,它是一个bit数据在CAN总线上的传输时间。它由若干个时间份额Tq决定,一般是8个时间份额决定一个位时间。1除以位时间就可以得到波特率。时间份额可以通过MCU芯片的晶振周期分频得到,时间份额由四个部分组成,分别是同步段,传播段,相位缓冲段1和2。在时间份额上,有一个点叫做采样点,采样点一般位于相位缓冲段1之上,它就是CAN总线上的电平。为啥要将采样点设置到相位缓冲段上呢?因为只有将采样点选择到75%-85%中,才能准确的取到电平的高低。

一般我们所说的CAN总线波特率是一个范围,这样可以让总线可以有更好的容错性,可以让每个总线上的组件即使存在一定的时钟偏差,依然可以很好的通信。

相关推荐
Geometry Fu1 天前
《无线传感器网络》WSN 第7讲 定位技术 知识点总结+习题讲解
网络
源远流长jerry1 天前
WebSocket 会话心跳保持 + 优雅关闭
网络·websocket·网络协议
QT 小鲜肉1 天前
【Linux命令大全】002.文件传输之lpr命令(实操篇)
linux·运维·服务器·网络·chrome·笔记
上学的小垃圾1 天前
基于Centos9部署OpenVP*
网络·网络协议·网络安全·信息与通信
菩提祖师_1 天前
微信小程序茶园茶农文化交流系统
java·javascript·网络
Bruce_Liuxiaowei1 天前
网络连通性实战:如何判断进出口流量能否通行
网络·网络安全·内网渗透
南工孙冬梅1 天前
Ubuntu 虚拟机 网络图标消失 USB设备没有自动弹出
网络·ubuntu
Geometry Fu1 天前
《无线传感网络》WSN 第2讲 物理层 知识点总结+习题讲解
网络·传感器·无线传感器网络·wsn
君鼎1 天前
计算机网络第三章:数据链路层学习总结
网络·学习·计算机网络