附:ISO 11898-1:2024和ISO11898-2:2024标准下载 一起学习CAN总线之物理层协议(2)
CAN总线物理层主要完成节点间信号的传送,把各种信息转换成可以传输的物理电平,并将信号传输到其他的目标设备上。CAN总线传输介质,也就是CAN传输线是由CAN高和CAN低两条双绞线组成的差分信号线,CAN总线上传输的信号以差分信号的形式进行通讯。
为了满足不同的系统要求,CAN总线有高速CAN和低速CAN两种类型,这两者以不同的总线速率来工作。
高速CAN主要应用在对实时性、数据传输速度要求高的场合,如发动机控制、自动变速箱控制、行驶稳定系统以及组合仪表等,由ISO 11898-2定义,传输速率范围在125kbit/s~1Mbit/s。
低速CAN主要应用在信号多但实时性要求没有那么高的场合,如车灯控制、车窗控制以及座椅调节等系统。低速CAN在ISO11898-3中被定义,传输的速率范围是在55kbit/s ~12kbit/s。
高速CAN和低速CAN的具体区别体现在物理层上
1.拓扑结构不同
CAN总线上链接了很多个节点,在高速CAN网络中,网络的最远端会增加两个终端电阻,高频信号在传输的时候,信号的波长相对传输线比较短,而传输线是有终点的,终点的阻抗会发生突变,会导致信号在传输线的终端会形成反射波干扰原来的信号,导致系统通信的不稳定,所以在传输线的末端加上终端电阻来匹配总线的阻抗,使信号到达传输线末端之后不发生反射。
同时CAN总线在信号传输的时候,双绞线的特征阻抗是120欧姆,所以在末端接上的两个终端电阻通常规定也是120欧姆。这就是高速CAN的拓普结构。
与高速CAN相同的是低速CAN也采用双绞线连接,但是低速CAN网络最远的两端没有终端电阻,因为不同的频率同样的连接方式所产生的信号反射和回波的差异很大,频率越高,反射和回波越强烈,因此在低速CAN当中,没有在网络的最远端去连接终端电阻,而是在收发器和总线连接的时候分别接上了两个电阻。
这两个电阻,在协议中并没有具体的规定,一般是要求在500-6,000欧姆中间,最终得到的效果是整个总线的阻抗在100欧姆左右,这是低速CAN在整个拓扑结构上的内容。
2.CAN总线上的节点结构
-
收发器:直接跟总线相连,具备发送和接收功能,主要进行物理电平和逻辑电平的转换,两者之间的转换方式采用差分电平的方式。在信号发送时将上层传下来的二进制数据流转变成电压信号传输到总线上,在接收的时候将总线的电压信号转变成二进制数据流传到上层。
-
CAN控制器:对CAN报文进行完整的解析,包括对于总线访问机制,位时间的控制等
-
MCU:CAN控制器将CAN报文传到MCU,MCU根据定义的策略进行相应的运算之后再将相应的信息传给控制器,控制器对信息进行编码之后再通过收发器发送出去。
3.总线电平
CAN总线的数据传输实质是通过总线上的电平变化来实现,在物理层中来进行定义。高速CAN和低速CAN的总线电平也不同。
在高速CAN中:
CAN总线分隐性和显性两种逻辑电平状态,显性电平代表二进制位0,称为逻辑0。隐性电平代表二进制位1,称为逻辑1。
逻辑1:对应的CAN高和CAN低两根线上的物理电平均为2.5V;即它们的电压差为VH-VL=0v。
逻辑0:对应的物理电平是CAN高线是3.5V,CAN低线是1.5V,它们的电压差为VH-VL=2v,这就产生了2V的差分信号。
收发器通过这样的差分信号来判断总线电平,这种传输方式称为差分传输。
在低速CAN中:
在逻辑1(隐性电平)的时候,对应低速CAN的物理电平:CAN高是0.3V,CAN低是4.7V。
逻辑0(显性电平),对应的是物理电平CAN高是3.6V,CAN低线是1.4V。
可以看到在低速CAN中整个逻辑电平和物理电平的对应情况和高速CAN中是完全不一样的,或高速CAN和低速CAN的物理层电气特性是不一样的。因此在同一个CAN网络中高速CAN节点和低速CAN节点是不能混合使用的。
采用双绞线的差分信号传输的优点:
抗干扰能力强,当外界有强电场或电磁干扰时,由于两根信号线受到的影响基本相同,所以它们之间的电压差(差分信号)受到的影响较小,这样即使在恶劣的环境下,CAN总线也能保持较高的通信可靠性。
精确的时序定位能力,由于差分信号是基于两根信号线的电压差来传输数据的,对于时序的要求非常严格,这也让CAN总线在高速、远距离传输数据时能保持较高的性能和稳定性。
4.容错性能
在物理层传输的时候,可能会在总线里出现各种各样的故障,如CAN高或者是CAN低开路;CAN高、CAN低线对电源、对地短路;CAN高线和CAN低线同时开路;在高速CAN中,还有可能会出现终端电阻开路的情况,在实际设计系统的时候,就需要去考虑它的鲁棒性,避免这些故障的出现。
如果故障已经出现了,CAN总线的容错性能怎么样呢?
低速CAN的容错性能比较强,低速CAN能够在CAN高或者是CAN低出现短路的时候保证通信正常,收发器会自动识别总线的状态,根据总线状态调整接收的模式,因此低速CAN也被称为是容错CAN。
相比之下高速CAN的容错性能相对较差,只有在CAN低线对地短路或者是终端电阻开路的情况下能够实现正常的通信。
附:ISO 11898-1:2024和ISO11898-2:2024标准下载ISO 11898-1:2024https://mp.weixin.qq.com/s?__biz=MzI3NjcyODA2Ng==&mid=2247506223&idx=1&sn=6e90caa8b739cfa4c1f3bfef343f6188&chksm=eb738942dc0400543f2be6839f9475b7e86f16d4bc34c222c860b1ab504a3426100985e7b394&token=365384647&lang=zh_CN#rd