现场总线CAN实验指导.doc

上传人:da****u 文档编号:1090542 上传时间:2018-12-03 格式:DOC 页数:24 大小:461.50KB
下载 相关 举报
现场总线CAN实验指导.doc_第1页
第1页 / 共24页
现场总线CAN实验指导.doc_第2页
第2页 / 共24页
现场总线CAN实验指导.doc_第3页
第3页 / 共24页
现场总线CAN实验指导.doc_第4页
第4页 / 共24页
现场总线CAN实验指导.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、1现场总线 CAN 实验指导前言CAN(Controller Area Network)总线诞生和发展于汽车工业自动控制,是两线制“ 多主对等“ 总线型拓扑网络,能有效地支持较高安全等级的分布实时控制系统,是唯一有国际标准的现场总线(Field Bus)。不少知名的半导体产家都生产 CAN 控制器芯片,不管是哪种产品,都是严格遵守已经指定的 CAN 的规范和国际标准。因此,只要掌握了一种,其余的就可以触类旁通。SJA1000 是 Philips 半导体公司推出的独立式 CAN 控制器,本实验中,就是以 SJA1000 分别与 PC 机和单片机接口组成不同的 CAN 节点。现有的 CAN 标准协

2、议有两个:CAN2.0A 和 CAN2.0B。本实验中,默认采用的协议标准是 CAN2.0B 标准。当然,也可以通过设置相应的寄存器来使 SJA1000 按照 CAN2.0A 的方式工作。本实验装置,包括了计算机的“CAN 实验”软件、硬件电路和智能 CAN 节点的应用层程序三个部分。硬件电路主要是由单片机、SJA1000、PCA82C250、ISP 电路和一些输入输出电路构成(详见附录 2) 。按逻辑功能来划分,硬件电路可以分为两部分:转换器(EPP-CAN)和智能 CAN 节点( CAN 节点) ;而计算机端的“CAN 实验”软件,则由VB.6 编写而成,能够完成的实验内容包括初始化、数据

3、发送与接收、对 CAN 节点的访问和对硬件输入输出的控制等。在硬件电路上包含有 ISP 下载线(只适用于 STC 系列单片机,硬件电路留有其它系列单片机的 ISP 接口,详见附录 3) ,方便实验者设计并下载自己的CAN 通信程序。由于时间和水平不足,部分实验的制作和安排有些匆忙,难免有错误和不足,希望老师同学们指出,并欢迎一起来讨论!请注意:1由于这个实验装置要求使用并口的 EPP 模式,而一般情况下,并口是处于 SPP 模式的。所以在有些计算机上,使用这个实验软件之前,必须重启计算机到 CMOS 里修改并口的工作模式和并口的端口地址/中断号。具体做法是:重启计算机,按“DEL”进入 CMO

4、S 设置,找到并口的选项:On Board Parallel(不同计算机的这个并口选项的位置是不同的) 。设置并口的工作模式为 EPP 模式;设置并口端口地址/中断号为 378H/IRQ7;2 “CAN 实验”这个软件的数据的主要输入输出格式为 16 进制(HEX ) ,在输入数据时,请不要把进制符号输入进去。例如:要输入 16 进制数“78H ”,正确:直接输入“78” 。 (不要引号,不要空格)错误:“78H” 、 “0x78”、 “&H78”等。3最好在实验开始之前,把显示器的分辨率调到 1024*768 或更高的分辨率。4在实验过程中,帮助文件可以帮你解决经常出现的问题。在附录 2 和

5、附录 3 中,有相关的硬件电路图和各个跳线接口的介绍,实验之前和实验过程中可以作为参考。附录 4 中有一个完整的 CAN 通信程序,仅供参考。2007.12.152目录实验一:CAN 控制器 SJA1000 入门3实验二:CAN 节点的数据发送接收6实验三:CAN 节点的访问与控制9实验四:CAN 总线竞争与总裁实验 13实验五:设计性实验,编写 CAN 节点的简单通信程序 15附录 1:计算机与 SJA1000 的接口介绍附录 2:硬件电路原理图附录 3:实验装置接口及跳线附录 4:一个 CAN 通信源程序3实验一 CAN 控制器 SJA1000 入门一实验目的1.熟悉 CAN 实验硬件和软

6、件,熟悉基本的界面操作和相关的硬件知识。2.学习 CAN 控制器 SJA1000 的的初始化过程,包括模式设置、滤波器设置、波特率设置和 SJA1000 工作方式设置等。掌握寄存器的设置与访问方法。3.理解在 PeliCAN 模式下,涉及到的所有寄存器的作用和意义。二实验内容1.准备工作计算机上的软件是通过并口来访问 SJA1000 的,并口与 SJA1000 的接口在附录 1 中有介绍。正式做实验之前。应该确认一下你的实验硬件是否连接正常,请按照以下要求进行确认:A实验装置的硬件电路上, SJA1000 是通过并口与计算机通信,请确认实验硬件与计算机的并口连接是否正确、各接口是否连接牢固,如

7、果连接头出现松动,请压紧。插拔并口的时候请不要太用力。电路背面较锋利,小心被划伤。B在每一个实验硬件上,都包括了两个 CAN 接口。分别是:并口-CAN 装换器的 CAN 接口和智能 CAN 节点的 CAN 接口。实验开始之前请确认这两个 CAN 接口已经连通。如果没有连接好,请用跳线把她们连接起来,CAN 总线的正确接法是(CANH-CANH,CANL-CANL) ,注意不要把 CANH 和 CANL 连在一起。C当总线上有多于 2 个 CAN 节点的时候,请把 82C250 的终端匹配电阻并接在CANH 与 CANL 之间。D请确认电路板的电源连接正确( 5V 电源) 。不要把电源接反了。

8、2.熟悉 CAN 实验软件。从“开始| 所有程序”中找到“现场总线 CAN 实验” ,点击并打开,其主界面如图 1-1。4图 1-1 “CAN 实验”软件的主界面主界面中,包括 4 个部分。分别是基础实验、节点实验、网络检测和扩展实验。接下来,就是连接硬件设备。点击菜单“添加|添加转换器” ,然后在显示出的窗口点击“添加” ,即可完成这一步(如果硬件没有及时上电,请等待硬件上电)图 2。图 1-2.添加转换器52.成功添加转换器后,就可以开始做基础实验。在主界面点击进入“SJA1000 初始化” 。如图 3 所示。图 1-3.这是我门这次实验的 实验操作界面。3.参考教材的 SJA1000 相

9、关初始化流程,在图 3 这个界面完成对 SJA1000 的初始化工作,包括对模式寄存器、滤波器、波特率控制器和输出控制寄存器等的设置。三实验要求1.掌握 SJA1000 的初始化流程,并根据以下要求进行初始化:A:滤波器设置:(H)为数值符号,输入的时候不要写 H。ACR3=55(H) ,ACR2=AA(H) ,ACR1=01(H) ,ACR0=65 (H ) ;AMR3=00(H) ,AMR2=0F(H) ,AMR1=FF( H) ,AMR0=FF(H)B:波特率等:BTR0=31(H) ,BTR1=1C(H)(10Kbps )C:SJA1000 的工作协议(方式)SJA1000 按照 CA

10、N2.0B 协议工作(CDR) ;禁止 CLOCKOUT 引脚输出。D:SJA1000 的滤波器模式为单滤波。2.仔细观察实验过程,并记录 SJA1000 在不同模式下(MODE=01H ,08H) ,ACR3-ACR0、AMR3-AMR0 有什么不同的地方,并分析原因。.3.在实验报告上画出 SJA1000 的初始化流程图。6实验二 CAN 节点的数据发送与接收一实验目的1.进一步掌握 CAN 控制器 SJA1000 的寄存器设置2.掌握 CAN 节点的数据发送过程,CAN2.0B 协议下的扩展格式数据帧的发送。3.掌握 CAN 节点的数据接收过程,CAN2.0B 协议下的扩展格式数据帧的接

11、收。二实验内容1. CAN 节点的自发自收首先通过主界面的菜单添加转换器(其实也是一个 CAN 节点) 。添加成功后进入数据发送界面。请看图 2-1。 7图 2-1 “发送数据” 操作界面按照上面提示的步骤,并参考教材的相关流程,一步一步地进行实验。2.通过主界面进入 CAN 数据接收界面。CAN 数据接收实验的流程与发送流程有所不同,请仔细观察你每一步的操作结果,并记录下来。图 2-2。8图 2-2 “接收数据”操作界面3.实验中可能要用到的相关寄存器值及意义:0.模式寄存器(MODE)MODE=0x01、0X09、0X0D:SJA1000 已经进入了复位模式,这个时候不能进行数据接收发送。

12、MODE=0X08、0X0C:SJA1000 工作在正常模式下,允许数据的收发。1.命令寄存器(CMR).命令寄存器的各种值的意义:CMR=0x01: 普通方式发送一个数据CMR=0x02: 紧急发送当前数据,如果前依次的发送没有完成,撤消前一次发送.CMR=0x04: 释放数据接收缓冲接收区CMR=0X08: 清除数据溢出CMR=0X10: 以自接收方式发送数据2.状态寄存器(SR).状态寄存器反映的是 SJA1000 的当前活动状态.读取这个的值可以知道当前的 SJA10009是否允许接收和发送数据.状态寄存器共有 8 位,每一位都表示不同的状态.SR.7:总线状态 .SR.7=1:总线关

13、闭,SJA1000 不参与总线活动,有可能是总线错误引发的 .SR.7=0:总线正常SR.6:错误状态 .SR.6=1:出现错误,至少一个错误计数器达到或超过报警限额(0X60).SR.6=0:正常SR.5:发送状态 .SR.5=1:SJA1000 正在发送报文.SR.5=0:空闲SR.4:接收状态 .SR.4=1:SJA1000 正在接收报文.SR.4=0:空闲SR.3:发送完成状态 .SR.3=1:完成,最后一次已经发送成功SR.3=0:先前请求的发送还没有完成SR.2:发送缓冲区状态 .SR.2=1:释放,可以想发送缓冲区写报文.SR.2=0:锁定,不能访问发送缓冲区SR.1:数据溢出状

14、态 .SR.1=1:溢出,报文丢失SR.1=0:正常SR.0:接收缓冲器状态 .SR.0=1:存在有效报文.SR.O=0:没有报文三.实验要求1.要求掌握 CAN 的数据发送接收过程,了解状态寄存器在数据帧传送过程中的作用。2.要求掌握 CAN2.0B 协议下,CAN 数据帧的组成格式,认识 CAN 的 ID 号(ACR3,ACR2,ACR1 ,ACR0)与数据帧 ID 号的关系,认识在操作模式下,SJA1000的发送缓冲区的首地址、内容及意义。3.在实验报告上,分别画出数据发送和数据接收流程图。10实验三 CAN 节点的访问与控制一.实验目的1.进一步掌握 CAN2.0B 的数据帧格式,理解由 ID 号(ACR3-ACR0)与接收屏蔽寄存器(AMR3-AMR0 )组成的验收滤波器的作用。2.理解 CAN 数据帧的标识符与目的 CAN 节点滤波器的匹配关系。二.实验内容1.“节点参数查询”:查看在一个运行正常情况下 CAN 节点的寄存器内容。请看图 3-1。图 3-1 读取 CAN 节点的部分寄存器2“.外设控制实验”:在 CAN 节点运行正常的情况下,通过上位机与 CAN 节点上单片机约定的格式,访问 CAN 节点的各种外部输入输出设备。体验在 CAN 网络条件下,对硬件设备的可靠及便捷的控制方式。请看图 3-2。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。