CAN总线节点设计 

CAN总线节点设计 

ID:16154102

大小:117.50 KB

页数:13页

时间:2018-08-08

CAN总线节点设计 _第1页
CAN总线节点设计 _第2页
CAN总线节点设计 _第3页
CAN总线节点设计 _第4页
CAN总线节点设计 _第5页
资源描述:

《CAN总线节点设计 》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、现场总线、现场总线系统(FCS)、现场总线智能节点 现场总线  现场总线是一种工业数据总线,它主要解决现场的智能化仪表、控制器、协作机构等现场设备间的数字通讯以及这些现场设备和高级控制系统之间的信息传递问题。近年来,国际上形成了多种成熟的现场总线,较为著名的有过程现场总线PROFIBUS(ProcessFieldbus)、基金会现场总线FF(FoundationFieldbus)、控制器局域网现场总线CANbus(ControlAreaNetwork)、可寻址远程传感器数据通路(HART)和局部操作网络(LONWORKS)。 从资料分析和应用实践来看,FF、LONWORKS或HA

2、RT与国内的技术状况和承受能力有一定距离。CAN总线更适合我国国情,其通信芯片价格较为低廉。本项目研制的智能节点就采用了CAN总线技术。  CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测量仪器之间的数据交换而开发的一种串行数据通信协议。他是一种多主总线,通信介质可以使双绞线、同轴电缆和光导纤维。通信速率可达1Mbps。归纳起来,CAN总线主要有以下特点:   (1)、网络中任一节点均可作为主节点,主动发送数据。解决了许多传统总线的从节点无法主动向其他节点发送数据的难题,给用户的系统设计提供了极大的灵活性。 (2)、CAN网络中节点可分优先权满足不同要求。  

3、 (3)、抗干扰能力强,速度快,且工程简单,普通双绞线40米时可达1Mbps。 (4)、调试维护方便。  (5)、CAN用户可以定义自己的CAN语言,即子层数据协议,然而这个协议需遵守ISO/OSI参考模型的第7层(应用层)标准。当然,用户也可以使用标准的CAN子层数据协议,如工业标准CAN协议Allen-Bradley’sDEVICEnet,直接利用它们进行方案开发,通过这些数据协议,建立了应用层与物理层之间的联系。 (6)、CAN协议采用CRC校样并可提供相应的错误处理功能,保证数据的可靠性。 CAN总线是基于发送报文的编码,而不是对CAN控制节点进行编码,故增添或删减CAN上的

4、控制节点不会对系统造成太大的影响。本文结合作者工作中的体会,首先介绍了CAN协议的有关内容,接着,以SJA1000为例介绍如何建立简单的通信,并给出了它的软硬件设计,最后,探讨了应用中对CAN控制器进行初始化的一些问题。    CAN协议 (1)、CAN报文格式  CAN系统中,数据在节点间发送和接收以4种不同类型的帧(数据帧、远程帧、出错帧、超载帧)出现。其中最常见的是数据帧和远程帧。每种帧有其相应的帧格式。CAN控制节点发送数据时,SJA1000的TX0脚输出位序列。用逻辑分析仪捕捉了一个数据帧,它由7种位场构成:帧起始、仲裁场、控制场、数据场、校验场、应答场和帧结束。数据帧结构

5、①帧起始(SOF),包含一个显性位,用于硬同步。②仲裁场(ARBITRATIONFIELD),包含11个报文标识位和1个RTR位。报文标识位的高7位不能全为“1”,RTR位用以区分数据帧和远程帧,数据帧为“0”,远程帧为“1”,这12位提供报文的优先权。总线通过这12位进行总线仲裁,数越小,优先权越高。③控制场(CONTROLFIELD),包含2位备用位和4位数据长度码。④数据场(DATAFIELD)。⑤循环冗余CRC校验场(CRCFIELD),包含15位CRC序列和1位界定符(隐性位“1”)。⑥应答场(ACKFIELD),包含应答间隙和应答界定符各1位,应答间隙为隐性位。CAN总线

6、上所有收到正确报文的CAN控制器将隐性位改为显性位,发送者借此确认它已发送完一条完整和正确的消息。若报文有误,或被仲裁退出(由于优先级较低),发送者将会重发报文。⑦帧结束(EOF),包含7个隐性位。远程帧用于请求与其有相同标识符的数据帧,它与数据帧的区别在于RTR位、数据场。   (2)、CAN节点状态 CAN总线上的每个节点总处于错误主动(ERRORACTIVE)、错误被动(ERRORPASSIVE)和脱离总线(BUSOFF)其中的一种状态。CAN协议定义了5种错误类型,并由CAN控制器的发送错误寄存器(REC)和接收错误寄存器(TEC)分别对错误进行计数。CAN节点的状态便由这两

7、个错误寄存器决定。当两个寄存器的值都小于126时,节点处于错误主动状态,此时节点遇到错误发送主动错误帧;当其中一个错误寄存器的值大于126时,节点处于错误被动状态,此时节点遇到错误发送被动错误帧;当发送寄存器的值大于255时,节点处于BUSOFF状态,此时节点对总线无影响。 (3)、CAN节点监听总线机制   CAN控制器不停地接收总线上的数据,由此完成对总线的监听。当它发送报文时,接收的数据会被放入接收缓存,并与发送的数据进行比较。若发送的报文标识符是“

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。