CAN-控制器局域网特点、报文以及分层
CAN(Controller Area Network )----控制器局域网,是德国Bosch 公司为汽车的监控系统而设计的总线式串行通信网络,CAN具有良好的组网灵活性、开放性、扩展性和兼容性,它的抗干扰、自诊断、自监控和纠错能力强,可靠性高,它的协议模型结构简单。其通信协议相当于ISO/OSI参考模型中的物理层和数据链路层。它是目前唯一有国际标准的现场总线,它的应用范围已经远远超出汽车监控系统,它适用于许多领域中分布式自动控制系统,如:交通、国防、医疗仪器和环境控制等,成为很有推广普及应用潜力的现场总线。
CAN总线有如下特点:
1. 基于优先级的多主总线访问方式
CAN为多主工作方式,网络上任何一个节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。在报文标识符上,CAN的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134us内得到传输。
2. 基于内容的非破坏性仲裁方式
当多个节点同时向总线发送信息出现冲突时,优先级低的节点会主动地退出发送,而优先级高的节点可以不受影响的继续传输数据,从而大大节省了总线冲突的仲裁时间。尤其是网络负载很重的情况下,也不会出现网络瘫痪情况(以太网则可能)。
3. 多点传输,接收过滤
CAN节点只需通过报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送数据。
4. 可进行远程数据请求
CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。
5. 配置灵活
CAN的通讯介质可以为双绞线、同轴电缆或光纤,选择灵活。
6. 数据在系统层面上高度一致
7. 拥有错误监测与错误信号表示功能
CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错结果。
8. 可仲裁失败或被错误中断后,自动重发报文
CAN节点在错误帧的情况下具有自动关闭输出功能,而总线上其他节点的操作不受影响。
9. 可区别节点的临时错误与永久错误,并能自主将错误节点隔离节点
由CAN网络连接起来的典型设备有传感器,执行器和控制器。在一个网络中,它们都可以被统称为节点。每个节点应该包括一个主处理器,一个CAN控制器和一个CAN收发器(见图1)。如此,CAN消息在被设备接收并动作之前,首先要通过这三者传输。
CAN的报文格式:
CAN协议定义了四种不同的帧。
1、数据帧,这个帧被用于当一个节点把信息传送给系统的任何其它节点。数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。
2、远程帧,此帧是基于数据帧格式,只要把RTR位设置成远程发送请求(Remote Transmit Request),并且没有数据场。总线上发送此帧后,表示请求接收与该帧ID相符的数据帧。远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。
3、错误帧,任何单元监测到错误时就发送错误帧。错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。
4、超载帧,节点需要增加时间来处理接收到的数据时便发送过载帧。超载帧包括两个位场:超载标志和超载界定符。
最为常用的是数据帧(见图2)。数据帧以帧起始为开始标志,紧随其后的是仲裁域。仲裁域的主体是ID标识符。标准数据帧中的ID标识符是11位,而在扩展数据帧中的ID标识符是29位。接着是控制域,其由6位构成并表示了数据域的长度。在控制域后面的是数据域,其长度可以为0~8个字节。紧挨着数据域的是循环冗余校验场,它是用来校验接收到的数据是否在传输过程中出现了错误。随后是应答域,任何接收节点在获取总线消息后在此域中给予发送节点应答。数据帧最后的是7位帧结束标识符。
分层:
参考OSI通讯模型,CAN协议标准化的仅为最低的物理层和数据链路层两层。对于多数系统而言,CAN高层协议的引入可以更有效地使系统运行与发展。由于现金CAN已在众多领域中应用,因此其也衍生发展了数个CAN高层协议。其中,包括有SAE J1939,CANopen,DeviceNet等等。由于应用领域和需求的不同,它们各自有着相应的特点。
应用:
现今CAN已经应用于多个自动化领域。在车上,不同速率的CAN总线被用来满足不同的需求。如:为了提高舒适性,125kbps的CAN可以被用来传递天窗,车门,车窗等节点的信息。而为了提高动力性和安全性,高速的500kbps CAN总线可以满足需求。
了解更多详情,请联系我们:
广州虹科电子 http://www.hkaco.com 索取更多详细资料
陈秋苑 020-38743030 cqy@hkaco.com QQ:353987010
文章评论(0条评论)
登录后参与讨论