毕业设计报告CAN总线接口电路制作设计报告.



《毕业设计报告CAN总线接口电路制作设计报告.》由会员分享,可在线阅读,更多相关《毕业设计报告CAN总线接口电路制作设计报告.(48页珍藏版)》请在文档大全上搜索。
1、48X大学毕业设计CAN总线接口电路制作设计报告摘要:CAN总线是众多的现场总线标准之一,广泛应用于工业测控网络中。本文给出了基于CAN控制器82C250和 SJAl000的智能节点的硬件电路及软件结构,对设计中的难点及实现过程中应注意的问题进行了比较详细地介绍。 关键词:CAN ;SJA1000独立CAN器件;PCA82C250 CAN转换器Design of CAN Bus system terminal circuitAbstract:CAN (Controller Area Network) ,one of the most famous fieldbus protocol stand
2、ard ,was used widely in measurement and control network in industry field. In this paper a hard circuit and soft configuration of the intelligent node based on CAN controller 82C250 and SJA1000 have been presented Especially the crux in designing and the problems should be payed attention in realizi
3、ng are discussed in detailsKey words:CAN bus;SJAl000 standalone CAN contro11er;PCA82C250 CAN converter一、 总体概要 CAN总线(Contro11er Area Network控制器局域网)是现场总线的一种。90年代以来,以现场总线为基础的全数字式控制系统发展迅速,逐渐成为现代工业的主要控制技术。它的最大优点是可以大幅度节约连接导线,降低安装和维护费用;精度高,能远传多个过程变量。在目前的十几种现场总线中,CAN总线是一种应用范围较为广泛的现场总线。它是德国Bosch公司在1986年为解决现代
4、汽车中众多的控制与测试仪器之间的数据交换而开发的一种有效支持分布式控制和实时控制的串行通讯网络。从电器性能看,CAN现场总线接口采用一对平衡差分信号线进行半双工传送。在每个通信站点上,均有平衡驱动器和差分接收器。CAN现场总线接口的电气特性是:驱动器无负荷时输出电压为正负5V,有负荷时输出电压为正负15V。 CAN总线与其它通信网的不同之处:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下、不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。与主从
5、方式的现场总线不同,CAN Bus是一种对等式(Peer-to-Peer)的现场总线网,采用CAN Bus连接主控单元与IO单元,可以通过节点ID和ID掩码的选择,方便地实现点对点、点对多点和广播等多种传输方式;可以提高主控单元与IO单元,I/O单元之间的隔离性,便于实现模块的冗余和不停机拆装;可以实现无集中机柜的分散安装方式,系统控制功能可进一步向下分散。CAN总线通信控制器中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括零位的插入删除、数据块编码、循环冗余检验、优先级判别等。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种
6、方法的优点是可使网络内的节点个数理论上不受限制,数据块的标识码可由11位(按CAN技术规范20A)或29位(按CAN技术规范20B)二进制数组成,因此可以定义211或229个不同的数据块。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。由于CAN总线具有较强的纠错能力,支持差分收发,因而特别适合高噪声且较远距离通讯。CAN总线具有下列主要特性:CAN总线可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,多主站依据优先机制进行总线访问。采用非破坏性总线仲裁技术,网络中的节点可以分成不同的优先级,当多个节点同时在网
7、络上传送信息时,优先级低的节点主动暂停数据发送,而优先级高的节点可不受影响继续传送数据。之后,按优先级高低,其它节点在总线空闲时依次进行被暂停的数据传送,有效地避免了总线冲突。借助接收滤波的多地址帧传送。CAN通信距离最远可达10km(速率5kBs以下) ,距离在40m以内时通信速率最高可达1Mbpss,传输介质为双绞线和光纤。CAN现场总线接口的驱动能力很强,节点数目可达ll0个。由于采用短帧结构发送数据,每一帧的有效字节数最多为8个,帧传送时间短,因此实时性高,检错效果好,每一帧信息都有CRC校验及其它检错措施,通信误码率低。远程数据请求配置灵活。 发送期间若丢失仲裁或由于出错而遭破坏的帧
8、可自动重发。暂时错误和永久性故障节点判别及故障节点自动脱离CAN总线。在网络节点的错误严重时,具有自动关闭总线接口的功能,避免影响总线上其它节点的正常操作。1、 CAN总线的基本工作原理图如下所示:图1 CAN总线的工作原理图CAN总线的工作原理如图1所示,这是一个典型的串行总线的结构形式。CAN总线以半双工的方式工作,一个节点发送消息,多个节点接收消息。但CAN总线的信息存取方式既不同于令牌方式的Arcnet,也不同于主从方式的Bit Bus,它采用一种称作广播式的存取工作方式。与其它网络不同,在CAN总线的通讯协议中,没有节点地址的概念,也没有任何与节点地址相关的消息存在。CAN总线支持的
9、是另一种基于数据的工作方式。消息可以在任何时候由任何节点发送到空闲的总线上,并被其它所有节点接收,判断后,决定是否使用这个消息。消息以消息包的形式出现,其格式如图2所示。它包括消息的标识符。这个标识符既用来表明消息的类型,也用来表明消息的优先级。由于每个节点的CAN总线接口必须接收总线上出现的所有消息,因此必然需要设置一个接收寄存器。先将消息接收,再根据接收的消息标识符决定是否需要读取消息包中的数据。同时为了避免不必要的频繁中断节点所在的主机来判断处理每一个总线上的消息,需要设置一个屏蔽寄存器来滤掉那些所在节点设备不感兴趣的消息。11Bit 消息标识符1Bit 远地传送请求4Bit 数据长度码
10、08Byte 数据图2 CAN数据格式 对于如何判断总线空闲以及如何处理多个节点设备同时发送消息的问题,CAN总线采取了一个与EtherNet不同的方法。EtherNet采用的是CSMACD协议,即检测到碰撞后,各节点均先退出发送,再经各自随机产生的时间延迟后再重新发送的办法。CAN总线则利用总线上信息比特具有的主导被动的作用属性,使优先级高的消息直接压倒优先级低的消息,从而确保相应的节点首先发出优先级高的消息。实现主导被动逻辑状态的电路很多,在低速和短距离通讯的情况下可以采电集电报开路的“线或”电路(见图3)。图3 CAN总线结构例如,若节点A、B、C同时发送消息标识符,CAN总线则要求它们
11、也同时接收总线上的实际状态。如果总线上的状态与节点发出的状态一致,说明该节点正有效地占据着总线;反之说明该节点已经失去了对总线的控制,应当立刻从发送消息的状态转回到接收消息的状态。由图3可见,节点C和B相继失去对总线的控制,而节点A则一直保持主导状态,直至最终发出整个消息包。由于系统中各种消息具有各不相同的消息标识符,是优先级越高,标识符取值越小,即二进制码中前面的“0”越多。因此多个节点同时发出消息标识符时,最终必有一个节点发出的消息自始至终地占据总线,实现其消息传送而不需重发的过程。显然正是这个节点此刻占据了总线。 由于CAN总线面向的是数据而不是节点,因此加入或撤销节点设备自然都不会影响