现场总线技术课程设计.docx_第1页
现场总线技术课程设计.docx_第2页
现场总线技术课程设计.docx_第3页
现场总线技术课程设计.docx_第4页
现场总线技术课程设计.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现场总线技术课程设计河南机电高等专科学校现场总线技术综合实训课程报告专业班级: 计算机控制技术102班 姓 名: 张东丹 学 号: 101413236 成 绩: 指导老师: 张士磊 2012年12月29日目录一、引言2二、CAN总线简介22.1 CAN总线的特点22.2 CAN总线通信系统拓扑结构32.3单片机最小系统4三、CAN控制器SJA100063.1 CAN控制器的作用63.2. SJA1000简介6四、节点的硬件介绍104.1节点结构框图104.2 CAN总线接口控制电路设计10五、结束语12一、引言本次设计介绍一种基于CAN总线控制器SJA1000的总线节点模块,包括SJA1000的部分重要寄存器的功能介绍,以及软件编程的实现。随着CAN总线技术的发展,CAN总线系统在工业控制领域扮演着非常重要的角色。CAN节点是构成CAN总线系统基本单元,因此,掌握CAN节点的设计十分重要。特点:1. 可实现任意单片模块的互相通信,由于SJA1000兼容5V和3.3V的逻辑电平,且供电电压也为3.3V5.6V,因而可以使基于逻辑供电5V和3.3V的系统能够很容易的挂在CAN总线网络上,解决模块之间的电平不兼容问题。 2. 总线控制器宇驱动器之间利用6N137高速光耦隔离技术,使得网络上的各个模块与总线本身完全隔离,保证了总线的安全性,也保证了各模块之间的独立性。当总线网络中含有大负载驱动时这点表现的尤为重要。二、CAN总线简介2.1 CAN总线的特点 CAN(Controller Area Network局域控制网) 总线由Bosch、Benz研究试验,于1986年2月正式提出,至1993年11月Bosch CAN2.0成为国际标准(ISO11898)。2000年CAN总线芯片年度销售超过1亿片,欧产轿车都至少装配一条CAN总线网络。目前CAN总线的应用已从汽车、火车、轮船迅速扩展到机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等领域。其被公认为是最有前途的现场总线之一。由于采用了许多新技术及独特的设计,CAN总线与一般的通讯总线相比,它的数据通讯具有突出的可靠性、实时性和灵活性。其特点可概括如下:l CAN是到目前为止唯一有国际标准的现场总线。l CAN为多主方式工作,网络上任一节点均可在任一时刻主动地向网络上其他节点发送信息,而不分主从。l 在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时需要,优先级高的数据最多可在134s内得到传输。l CAN采用非破坏总线仲裁技术。当多个节点同时向总线发送信息发生冲突时,优先级较低的节点会主动的退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下,也不会出现网络瘫痪的情况(以太网则可能)。l CAN节点只需要通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。l CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。l CAN上的节点数取决于总线驱动电路,目前可达110个。在标准帧报文标识符有11位,而在扩展帧的报文标识符(29位)的个数几乎不受限制。l 报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低。l CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错效果。l CAN通信介质可为双绞线、同轴电缆或光纤,选择灵活。l CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。2.2 CAN总线通信系统拓扑结构CAN在物理结构上属于总线式通信网络。系统的组成如下图: 图1、 CAN总线系统结构图 该系统由上位监控PC机、智能节点和现场设备三部分组成。上位监控PC机主要负责对系统数据的接受与管理、控制命令的发送以及各控制单元动态参数和设备状态的实时显示;智能节点可以使现场设备方便地连接到CAN总线上,主要负责对现场的环境参数和设备状态进行监测,对采集来的数据进行打包处理并将处理古的数字信号通过CAN通信控制器SJA1000发送到CAN总线。智能节点的设计和选择,对通信信号的传输发送有很的影响,系统中的数据传送和接收,都是通过CAN总线接口实现。CAN总线接口电路的设计,对CAN总线很是重要。本文正是基于此,对CAN总线接口电路进行设计分析,给出一种设计方案。目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一类是带有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本课题选取PHILIPS公司的SJA1000 CAN控制器以及82C250总线收发器,主要是考虑到SJA1000支持CAN 2.0A/B规约。而82C250可以支持110个CAN节点,并且国内市场上PHILIPS的产品型号比较多,购买比较方便。在本次设计中,接口电路简单表示如下图: 图2、 接口电路总体框图 2.3单片机最小系统 本设计中,应用到单片机为ATMEL公司51系列的89C51,该型号的单片机应用广泛,技术成熟,市场上价格便宜,而且在学习中所学到的多为该型号,在本次设计中是首选的芯片。89C51单片机作为系统的核心控制部分,但在本设计中不是重点讲解内容,其相关技术应用和引脚特点功能等,可参照其他相关资料。设计的电路原理方框大致如下图所示。 设计中为避免出现时钟信号的冲突,对单片机的外接晶振引脚XTAL1、XTAL2不接上外围电路,而是通过控制器SJA1000的时钟信号脚反馈给单片机。同时,对单片机的复位信号处理,RST引脚接上X5045P的RST脚,复位信号可由X5045P输出,在X5045P芯片看门狗外围电路的作用下,减少了以往由电阻、电容组成的简易复位电路造成的不精确、延时高等不良作用,使单片机回复到初始状态,完成复位操作。由于在该电路中要用到单片机的存储作用,存储由SJA1000传输过来的处理数据。因此,脚/EA接上高电平,选用片内ROM。对ALE脚,也即地址锁存有效信号除数端是和控制器SJA1000的ALE脚接通。图3、单片机最小系统三、CAN控制器SJA10003.1 CAN控制器的作用CAN就是总线型结构的一种适合工业现场自动控制的计算机局域网络。在网络的层次结构中,数据链路层和物理层是保证通信质量至关重要、不可缺少的部分,也是网络协议中最复杂的部分。CAN控制器就是扮演这个角色,它是以一片可编程芯片上的逻辑电路组合来实现这些功能,对外它提供了与微处理器的物理线路接口。通过对它的编程,CPU可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础上。SJA1000便是一块最常用的CAN总线控制器。3.2. SJA1000简介1)JA1000的内部结构及管脚定义下图为SJA1000的引脚图:图4、SJA1000的引脚图SJA1000 具有28 个引脚,下面对部分引脚进行介绍。MODE:模式选择输入,1(高电平)=Intel 模式;0(低电平)=Motorola 模式。TX0、TX1:从CAN 输出驱动器0,1 输出到物理总线上。RX0、RX1:从物理CAN 总线输入到SJA1000 的输入比较器。INT:中断输出,用于中断微控制器。INT 在内部中断寄存器各位都置位时,低电平有效。CLKOUT:SJA1000 产生的提供给微控制器的时钟输出信号,时钟信号来源于内部振荡器且通过编程驱动,时钟控制寄存器的时钟关闭位可禁止该引脚。SJA1000 的其他引脚分别为:AD0AD7,数据/地址复用总线;ALE/AS,Intel 模式/Motorola模式的地址锁存信号;RD/E、WR,读写控制信号;CS 片选信号输入,低电平有效;XTAL1,输入到振荡器放大电路,外部振荡信号由此输入;XTAL2 振荡器放大电路的输出,使用外部振荡信号时左开路输出;VDD1、VDD2、VDD3,5V 电压端;VSS1、VSS2、VSS3,与上述电压端相对的接地端。2)重要寄存器要编写CAN总线通讯程序,只要了解CAN总线协议,熟悉SJA1000寄存器的配置,就可以完成CAN总线通讯。所以我们首先必须要详细了解SJA1000的寄存器。(1)SJA1000 的两个工作模式(Basic 和Peli)所使用的寄存器数目不同,功能也不尽相同。Basic CAN 有从0-31 共32 个寄存器可用,Peli CAN 有从0-127 共128 个寄存器可用。要实现CAN通讯,主要就是怎么配置这些寄存器。(2)要掌握的重要寄存器:模式寄存器;命令寄存器;状态寄存器;中断寄存器;中断使能寄存器;总线定时器0,总线定时器1;输出控制寄存器;时钟分频寄存器;屏蔽寄存器0-3;验收代码寄存器0-3。(3)模式寄存器的作用:控制SJA1000的运行在什么模式下。包括:睡眠模式;自检测模式;复位模式;只听模式。(4)命令寄存器的作用:启动发送或自发送;释放接收寄存器;中止发送(5)状态寄存器的作用:指示SJA1000的状态,以判断是否可以进行下一步操作。(6)中断寄存器的作用:当发生中断后,读其值可以判断是什么原因引起的中断。(7)中断使能寄存器的作用:打开相应的中断。(8)总线定时器的作用:设置通讯的速率。(9)输出控制寄存器的作用:控制输出模式(10)时钟分频寄存器的作用:控制CAN总线采用那种模式。(11)验收代码寄存器和屏蔽寄存的作用:决定接收哪类标志码的数据。注意验收滤波器的设置。3)重要寄存器功能介绍(peliCAN模式)(1)模式寄存器(MOD)(地址0)模式寄存器的内容用来改变CAN控制器的行为方式。CPU把这个控制寄存器作为读/写存储器,可以由CPU设置或复位。MOD.75 保留MOD.4 睡眠模式(=1睡眠,=0唤醒)MOD.3 验收滤波器模式(=1选择单向滤波器(32位长度)起作用,=0选择双向验收滤波器(16位)起作用)MOD.2 自检模式(=1自检测,=0正常模式)MOD.1 只听模式(=1只听,=0正常模式)MOD.0 复位模式(=1复位模式,=0正常模式)(2)命令寄存器 (地址1)命令寄存器(CMR)中的一个命令启动CAN控制器传输层的一个动作,为只写寄存器。CMR.75 保留。CMR.4 自接受请求(=1信息可以同时发送和接收)。CMR.3 清除数据溢出(=1数据溢出状态位被清除)。CMR.2 释放接受缓冲器(=1释放,=0无动作)。CMR.1 中止发送(=1如果不是正在处理,则取消等待中的发送请求)。CMR.0 发送请求(=1报文被发送)。(3)状态寄存器 (地址2)状态寄存器(SR)反映CAN控制器的状态。只读存储器。SR.7 总线状态(=1总线关闭,=0总线开启)。SR.6 错误状态(=1至少一个错误寄存器达到或超过报警额限寄存器(EWLR)定义的CPU报警额限)。SR.5 发送状态(=1正在发送报文,=0空闲)。SR.4 接收状态(=1正在接收报文,=0空闲)。SR.3 发送完成状态(=1最近一次发送完成,=0未完成)。SR.2 发送缓冲器状态(=1释放,=0锁定)。SR.1 数据溢出状态(=1溢出,=0未溢出)。SR.0 接收缓冲器状态(=1有完整的报文,=0无完整的报文)。(4)中断寄存器 (地址3)中断寄存器(IR)用做中断源的识别。IR.7 总线错误中断(=1置检测到总线错误,=0复位) IR.6 仲裁丢失中断(=1当CAN控制器丢失仲裁变为接受器时,且中断使能寄存器相应位置1)IR.5 错误认可中断IR.4 唤醒中断 (=1检测到总线有活动)IR.3 数据溢出中断(=1数据有溢出)IR.2 出错报警中断(=1出错引起的中断)IR.1 发送中断(=1报文发送完成)IR.0 接受中断(=1RXFIFO中部为空)说明:中断使能寄存器相应位必须置1才能有效(5)中断使能寄存器 (地址4)控制中断寄存器相应位的中断使能。(6)仲裁丢失捕捉寄存器(地址11)包括了仲裁丢失的位置信息,其中ALC.75为保留位,ALC.4.0为仲裁丢失的具体位置其值从031分别对应ID.28ID.0 RTR位。(7)错误代码捕捉寄存器(地址12)错误代码捕捉寄存器(ECC)包含了总线错误的类型和位置信息。ECC.7.6 错误代码 00,01,10,11分别对应:位错,格式错,填充错,其它类型错;ECC.5 错误发生方向(=1接收时发生错误,=0发送时发生错误);ECC.40 错误代码组合;(8)错误报警额限寄存器(地址13)当错误次数超出该寄存器值后便触发错误中断。(9)RX错误计数器(地址14)(10)TX错误计数器(地址15)(11)发送缓冲器(地址 1628)四、节点的硬件介绍4.1节点结构框图图5、节点结构框图4.2 CAN总线接口控制电路设计 SJA1000 在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间的数据通信。该电路的主要功能是通过CAN总线接收来自上位机的数据进行分析组态然后下传给下位机的控制电路实现控制功能,当CAN总线接口接收到下位机的上传数据,SJA1000就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一帧信息并通过CAN总线上传给上位机进行分析。AT89C51是CAN总线接口电路的核心,其承担CAN控制器的初始化、CAN的收发控制等任务。 控制器SJA1000作为本接口电路中的控制部分,应用本设计中,对于SJA1000和单片机的连接,引脚AD0AD7是和89C51的输出输入脚P0.0P0.7相接;SJA1000的片选信号脚/CS必须由微控制器的P2.7口控制否则这个片选输入必须接到VSS 也可以通过地址解码控制例如当地址/数据总线用于其他外围器件,ALE对应ALE,读/写输入脚/WR、/RD,/INT和单片机的/INT0连接,由于在该系统中要用到相同的时钟频率,所以我们要时钟信号引脚CLKOUT和单片机的XTAL1脚相连,达到频率一致的目的;而在复位信号的处理,可以在看门狗外围电路的RST信号输出后再通过和非门电路的相连,很好的实现了电路的复位作用。而对于控制器的收发引脚TX0,TX1与RX0,RX1,在本系统中TX0、RX0可和收发器82C250的TXD、RXD接通。同时,在和CPU接口中SJA1000 支持对两个著名的微型控制器系列的直接连接80C51 、68xx 。通过SJA1000 的MODE 引脚可选择接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和Motorola 模式里地址/数据总线和读/写控制信号的连接。本设计中,正是使用Intel模式。对SJA1000的Vdd1Vdd3电源输入脚,外接上驱动+5V电压;而Vss1Vss3输出接地。设计中,对SJA1000提供16Mkz的晶振。电路设计如下 图6、 SJA1000控制电路五、结束语在试验过程中,硬件电路的设计与实现并不是太难,基本按照SJA1000的典型接法绘制就可以了,难点在于软件的调试过程。在软件调试的过程中,刚开始调试的时候,由于对SJA1000的各个寄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论