目录
一、CAN简介
二、CAN的特性
CAN的物理层
?CAN的差分信号与信号逻辑
CAN的特性总结
?三、CAN标准
一、CAN简介
控制器局域网CAN(Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国Bosch公司再20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计而越来越收到人们的重视,被广泛应用于汽车行业、航空业、工业控制、安全防护等领域。
以汽车为例子:
?
二、CAN的特性
CAN的物理层
1、闭环总线网络:总线遵循ISO11898标准的高速、短距离“闭环网络”,它的总线最大长度为40m,通信速度最高位1Mpbs,总线两端各要求有120欧的电阻
2、开环总线网络:总线遵循ISO11519-2?标准的低速、远距离“开环网络”,它的最大传输距离为1km,最高通信速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有1个2.2千欧的电阻
?CAN的差分信号与信号逻辑
1、差分信号又叫差模信号,与传统使用单根信号线电压表示逻辑的方式有区别,使用差分信号传输的时,需要两根信号线,这两个信号线振幅相等,相位相反,通过两根信号线的电压差值来表示逻辑0和逻辑1。
?差分信号优点:
- 抗干扰能力强,外界存在噪声干扰时,会耦合到两天信号线上,而接收端只关注两根信号的差值,所以外界的共模噪声可以被完全抵消
- 能够有效一直它对外部的电磁干扰,两根信号的极性相反,对外辐射的电磁场可以相互抵消,耦合越紧密,泄放到外界的电磁能量越少
- 时序定位精准,由于差分信号的开关变化变化是位于两个信号的交点,而不像普通单端信号依靠高低两个阈值电压判断,因而受工艺,温度影响较小,能降低时序上的误差,同时也更适合于低幅度信号的电路
2、CAN协议中的信号逻辑
- 显性电平(逻辑0),电压差V_high - V_low = 2V(电压差不为0表示显性,可以这么记)
- 隐性电平(逻辑1),电压差V_high - V_low = 0V(电压差为0表示隐性,可以这么记)
- CAN总线中有“线与”的特性存在,如:同一时间两个节点,一个输出逻辑0,一个输出逻辑1,总线上会输出逻辑0,这也是为什么逻辑0又被称为显性电平的原因
CAN的特性总结
1、CAN的特性总结
- 采用双线差分信号
- 协议本身对节点的数量没有限制,总线上节点的数量可以动态改变
- 广播发送报文,报文可以被所有节点同时接收(节点发送报文前要检测总线状态,在发送报文过程中进行“回读”,判断送出的位于回读的位是否一致)
- 多主站结构,各节点平等,优先权由报文ID确定(线与机制:显性位能够覆盖隐性位,ID越小,报文优先级越高)
- 每个报文的内容通过标识符识别,标识符在网络中是唯一的
- 根据需要可进行相关性报文过滤
- 保证系统数据一致性(CAN提供了一套复杂的错误检测与错误处理机制,如:CRC检测、错误报文自动重发、临时错误恢复以及永久错误关闭)
- 采用NRZ(非归零)和位填充的位编码方式(NRZ编码确保报文紧凑,在相同带宽情况下,NRZ编码的方式的信息量更大;NRZ不能保证有足够的跳变沿用于同步,容易带来节点间计时器误差的累计,位填充可以保证有足够的跳变沿用来同步)
?
- 总线访问——非破坏性仲裁的载波侦听多路访问/冲突避免CSMA/CA(非破坏性仲裁:退出总裁后进入“只听”状态,)
- 载波侦听(CS):总线上各个节点在发送数据前都要侦听总线的通信状态
- 总线空闲? =》?立即发送已经准备好的数据
- 总线有通信 = 》?不发送数据,等待网络空闲
- 多路访问(MA):如果总线空闲,则在同一时刻多个节点可同时访问总线
- 冲突避免(CA):节点在发送数据过程中药不停地检测发送的数据,确定是否与其他节点数据发生冲突,并通过非破坏性仲裁机制避免冲突
?
三、CAN标准
1、CAN与OSI标准模型对比
2、CAN2.0版本与ISO11898
?
?
|