- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
太原科技大学课程设计论文
CAN总线数据通信系统的设计
摘要
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN(ControllerAreaNetwork)属于现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实时性强。与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。
本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。
本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。
太原科技大学课程设计论文
PAGE
PAGEII
目录
TOC\o1-3\h\z\u第1章原理与方案 1
1.1设计目的与要求 1
1.2CAN总线介绍 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.2CAN总线控制器SJA1000 6
2.3CAN控制器接口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.1CAN应用中的问题 14
4.2.2CAN总线的其他应用 14
附录程序清单 15
参考文献 23
PAGE
PAGE16
第1章原理与方案
1.1设计目的与要求
扩展CAN总线控制器,在单片机系统中实现CAN总线的接口,并编写接口芯片的驱动程序。通过CAN总线,实现两个模块之间的数据通讯,CPU控制第一个模块发送1帧数据,第二个模块收到这帧数据并送至另一个CPU的内部存储器。
1.2CAN总线介绍
CAN全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如发动机管理、系统变速箱控制器、仪表装备中,均嵌入CAN控制装置。
一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用PhilipsPCA82C250作为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
文档评论(0)