- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
can总线数据通信系统的设计本科论文
CAN总线数据通信系统的设计
摘 要
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN(Controller Area Network)属于现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实时性强。与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。
本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。
本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。目 录
第1章 原理与方案 1
1.1 设计目的与要求 1
1.2 CAN总线介绍 1
1.3 设计方案 2
1.3.1 硬件设计方案 2
1.3.2 软件设计方案 4
第2章 硬件连接与说明 5
2.1 硬件连接 5
2.1.1 模块使用说明 6
2.1.2 实验箱连线 6
2.2 CAN总线控制器SJA1000 6
2.3 CAN控制器接口PCA82C250 7
第3章 软件流程图及说明 8
3.1 软件流程图 8
3.1.1 主程序流程图 8
3.1.2 初始化子程序流程图 8
3.1.3 发送数据子程序流程图 10
3.1.4 接收数据子程序流程图 10
3.2 软件实现过程 10
第4章 结果分析及心得体会 12
4.1 结果分析 12
4.2 心得体会 13
4.2.1 CAN应用中的问题 14
4.2.2 CAN总线的其他应用 14
附录 程序清单 15
参考文献 23
第1章 原理与方案
1.1 设计目的与要求
扩展CAN总线控制器,在单片机系统中实现CAN总线的接口,并编写接口芯片的驱动程序。通过CAN总线,实现两个模块之间的数据通讯,CPU控制第一个模块发送1帧数据,第二个模块收到这帧数据并送至另一个CPU的内部存储器。
1.2 CAN总线介绍
CAN全称为“Controller Area Network”, 即控制器局域网,是国际上应用最广泛的现场总线之一。最初CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如发动机管理、系统变速箱控制器、仪表装备中,均嵌入CAN控制装置。
一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用Philips PCA82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易,另外硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN是一种多主方式的串行通讯总线。基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km 时,CAN仍可提供高达50Kbit/s 的数据传输速率。由于CAN 总线具有很高的实时性能,因此CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。
1.3 设计方案
在本系统中,采用80C51单片机,80C51与PC机串行通信,设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CAN 总线传输过来的数据经CAN接口芯片PCA82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读取,读取的数据上传送给PC机。
总体设计框图如图1-2所示。
图1-2 总体设计框图
1.3.1 硬件设计方案
1. 芯片介绍
SJA1000:独立式CAN控制器,具有64字节的FIFO作为接收缓存。
6N137:高速光隔,最高速度10Mb/s,用于保护CAN控制器。
PCA82C250:CAN总线收发器,是CAN控制器与
文档评论(0)