下载此文档

can网络通讯实验板课程设计.doc


文档分类:论文 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
can网络通讯实验板课程设计
目录
1 前言 1
2 系统设计 2
2
案比较 2
案论证 3
案选择 4
4
7
3系统硬件设计 8
CAN总线介绍 8
8
9
CAN电路接线 10
CAN总线控制器SJA1000 10
CAN控制器接口PCA82C250 10
4系统软件设计 11
11
主程序流程图 11
初始化子程序流程图 11
发送数据子程序流程图 12
接收数据子程序流程图 13
软件实现过程 13
15
5系统调试 21
PC机与下位机的通讯调试 21
CAN总线调试 21
单片机最小系统电路的调试 21
综合调试 22
最终实现效果 22
测试仪器 22
6结果分析及心得体会 23
结果分析 23
心得体会 23
CAN总线的其他应用 23
7 参考文献 25
附录:系统设计原理图 26
1 前言
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN Controller work 属于现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实时性强。与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。
本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。
本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。
2 系统设计
要实现一个系统的某些功能往往不只一种方法和途径,我们可以通过不同的方法实现相同的功能,因此我们需要从各个角度进行综合考虑,如各个方案的可行性、实用性、稳定性、实现的难度等。从而选择较好的一种方案进行设计。
下面对本设计的各个模块进行方案对比,以选择较为合理的设计方案。

案比较
方案一:本方案是基于三星公司的ARM微处理器S3C2440与PHILIPS公司的CAN控制器SJA1000的嵌入式控制系统,在本系统中,S3C2440直接与SJA10000相连接,由S3C2440控制CAN收发器。S3C2440是高速的微处理器,其最高的工作频率可以达到533MHz,且内部资源十分丰富,十分适合嵌入式便携式产品的应用和开发,。

但由于S3C2440的硬件电路连接十分复杂,对于绘制PCB板有很大的难度,且加工工艺要求比较高,一般是六层板加工工艺,对于单个加工来说加工成本非常高,且使用起来也比80C51要复杂很多,对于本设计来说很浪费资源和成本。SJA1000的设计是基于早期的8051单片机的应用,对于从站控制器可以直接与单片机的总线相连接,但不能直接与s3c2440连接,因为s3c2440的地址总线和数据总线完全是分开的,所以还需要模拟出类似80C51单片机的外部存储器时序才能使用,这样接口连接也不能够直接对应。SJA1000一般是5V电压供电,,,所以电平也不兼容,要用特殊的转接电路才能实现连接。这样在硬件和软件都增加了很大的难度,因此很难实现功能。
方案二:本方案通过PC机进行上位机控制,80C51与PC机串行通信,设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CAN 总线传输过来的数据经CAN接口芯片PCA82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读取,读取的数据上传送给PC机。试验表明,CAN总线数据传输稳定可靠

can网络通讯实验板课程设计 来自淘豆网www.taodocs.com转载请标明出处.