欢迎来到天天文库
浏览记录
ID:22864768
大小:993.67 KB
页数:29页
时间:2018-11-01
《课程设计-can总线数据通信系统的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CAN总线数据通信系统的设计现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信捉供了强有力的技术支持。CAN(ControllerAreaNetwork)属丁‘现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实吋性强。与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。本系统要在单片机屮实现CAN总线的接门,通过CAN总线,实现两个模块之间的数据通讯。系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1
2、000和CAN总线收发器PCA82C250。微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设罝、接收滤波方式的设罝、接收屏敝寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000
3、的初始化,并且实现了数据发送和接收。目录第1章原理与方案11.1设计目的与要求1CAN总线介绍11.3设计方案21.3.1硬件设计方案21.3.2软件设计方案4第2章硬件连接与说明52.1硬件连接52.1.1模块使用说明52.1.2实验箱连线6CAN总线控制器SJA10006CAN控制器接口PCA82C2506第3章软件流程图及说明83.1软件流程图83.1.1主程序流程图83.1.2初始化子程序流程图83.1.3发送数据子程序流程图103.1.4接收数据子程序流程图103.2软件实现过程10第4章结果分析及心得体会134.1结果分析134.2心得体会14
4、CAN应用屮的M题15CAN总线的其他应用15附录程序清单16参考文献24第1章原理与方案1.1设计目的与要求扩展CAN总线控制器,在单片机系统中实现CAN总线的接口,并编写接口芯片的驱动程序。通过CAN总线,实现两个模块之间的数据通讯,CPU控制第一个模块发送1帧数据,第二个模块收到这帧数据并送至另一个CPU的内部存储器。1.2CAN总线介绍CAN全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初CAN被设计作为汽车环境屮的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制M络
5、。比如发动机管理、系统变速箱控制器、仪表装备中,均嵌入CAN控制装置。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用PhilipsPCA82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN可提供高达IMbit/s的数据传输速率,这使实时控制变得非常容易,另外硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN是一种多主方式的串行通讯总线。基木设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN仍可提供高达50
6、Kbit/s的数据传输速率。由于CAN总线具有很高的实时性能,因此CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。1.3设计方案在本系统中,采用80C51单片机,80C51与PC机串行通信,设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CAN总线传输过来的数据经CAN接口芯片PCA82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读取,读取的数据上传送给PC机。总体设计框图如图1-2所示。zCAN图1-2总体设计框图1.3.1
7、硬件设计方案1.芯片介绍SJA1000:独立式CAN控制器,具有64字节的FIFO作为接收缓存。6N137:高速光隔,最高速度10Mb/s,用于保护CAN控制器。PCA82C250:CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线差分式发送。2.CAN控制器与CPU接口设计对于CPU來说,CAN控制器是确保双方独立工作的存贮器映象外围设备。CAN控制器与外部CPU的接U是通过控制器接U逻辑(CIL)实现的,80C51的CPU通过将地址总线(AB)和数据总线(DB)连接到CIL上来完成与CAN控制器之间的信息交换,不需要专门的控制总线(C
8、B),CPU与PCA82C250之间的状态、控制和命令信号的交换在
此文档下载收益归作者所有