- 关键词:
- 摘要:CAN是控制器局域网络(ControllerArea Network, CAN)的简称,是国际上应用最广泛的现场总线之一。当前,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。 CAN有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性
一、CAN总线
CAN是控制器局域网络(ControllerArea Network, CAN)的简称,是国际上应用最广泛的现场总线之一。当前,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。
CAN有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
1、网络各节点之间的数据通信实时性强
CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;
2、缩短了开发周期
CAN总线通过CAN收发器接口的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。
二、CAN的报文格式
在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。
在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位 (ro),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
CAN通信数据帧的结构
三、CAN总线终端配置方法
CAN总线的测试和使用过程中,为了保证信号反射不至导致通讯失败,传输线上必须添加匹配终端。有多种方法配置CAN硬件,主要取决于你硬件的物理层:高速,低速,单线还是软件可配的。
使用CAN组成网络示例
1、高速CAN
对于高速CAN,一对信号线的每根线(CAN_H和CAN_L)都必须添加120欧姆的匹配电阻,这是因为CAN总线两个方向都有数据流。具体做法就是在每一个CAN终端(多个设备时只需在最终端的设备)的CAN_H和CAN_L上跨接一个120欧姆电阻(实际操作时我试过120欧姆左右的都可用)。
2、低速CAN
对于低速CAN,网络上每个设备的每条数据线都需要一个终端电阻:R(RTH)接在CAN_H上,R(RTL)接在CAN_L上,每个电阻的阻值需要参考低速CAN的使用手册进行计算。
3、单线CAN
一般单线CAN(如NI)硬件内置一个9.9K欧姆的负载电阻,这就是网络要求的负载阻值,不需额外的电阻。
4、软件配置
软件可配置CAN硬件可以通过软件来配置设备是工作在高速下,低速下或是单线接口。所需的终端电阻取决于被配置在哪个物理层。
手机扫描二维码分享本页
工控网APP下载安装
工控速派APP下载安装
评价: | 一般 | ||