CAN总线(一)

CAN—— Controller Area Network, 控制器局域网络。

简单介绍

是一种ISO国际标准化的串行通信协议
CAN属于现场总线的一种(属于工业现场总线的范畴),是一种有效支持分布式控制或实时控制串行通信网络。被誉为自动化领域的计算机局域网络。
CAN总线在数据传输通信方面具有可靠、实时、灵活的优点。
CAN总线经过ISO标准化后有两个标准:
ISO 11898:针对通信速率为125kbps ~ 1Mbps的高速通信标准;
ISO 11519-2:针对125kbps以下的低速通信标准。

结构

CAN总线结构分为两层:物理层和数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)。
LLC子层为数据传递和远程数据请求提供服务;
MAC子层的主要功能主要是传递规则:控制帧结构,执行仲裁,错误检验,出错标定和故障界定。
CAN总线网络:


CAN总线网络主要挂在CAN_H and CAN_L上,各个节点通过这两条线实现信号的串行差分传输,为了避免反射干扰还需要在CAN_H and CAN_L之间接上120Ω(电缆的特性阻抗为120Ω)的终端电阻。

特点

通信距离与速率

CAN总线的最长通信距离为10km,此时对应的通信速率为5kbps; 最快通信速率为1Mbps, 此时对应的通信距离为40m.

报文传输

CAN报文传输即数据传输。

  1. 报文传输为多主工作方式,即网络上任意节点均可在任意是时刻主动的向网络上的其他节点发送信息,部分主从。
  2. 在总线中传输的报文,每帧有7部分组成。CAN协议支持两种报文格式,其唯一的不同是**标识符(ID)**长度不同,标准格式为11位,扩展格式为29位。

位数值表示

CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐形电平。发送通过使总线电平发生变化,将消息发送给接收方。

仲裁

只要总线空闲,总线上任意节点都可以发送报文,但是如果两个或者两个以上的节点开始传送报文,则会造成总线访问冲突的可能,CAN使用标识符的逐位仲裁方法解决这个问题。
如下:
在这里插入图片描述
在仲裁期间,每一个发送器都对发送的电平与被监控的总线电平进行比较,如果电平相同,则这个单元可以继续发送。如果发送的是一个隐形电平,而被监视的是一显性电平,则这个节点失去仲裁,必须退回发送状态。
(被监视电平指的是总线电平吗,总线电平一直是显性吗?)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章