




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xx大学本科毕业论文(设计)(内封面)题目:基于can总线的数据采集器的开发学生姓名: xx 学 号: xx 院 (系): 电子科学与技术学院 专 业: 自 动 化 入学时间: 2003 年 10 月导师姓名: xx 职称/学位: 讲 师 导师所在单位: xx大学电子科学与技术学院 dcs中基于can总线的现场数据采集控制器的开发摘要现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络。can总线是目前最流行的现场总线技术之一,具有多主工作方式、传输速度快、距离远、自动解决总线竞争、纠错能力强等特点。本论文中论述了can总线的基本原理与技术规范,讨论了can控制器的工作原理,分析了can通信系统的设计。本论文是按照从can协议标准到实现can总线的工具再到如何实现can总线的脉络逐步展开的。其中,将can协议标准与can控制器相结合,是本论文的一大特色。关键词:现场总线;控制器局域网(can);分布式控制系统(dcs)exploiting of data collect & control system based on can bus in dcsabstractfieldbus is a kind of computer network in automation field and it has been one of the hotspots of automation fields technique development .fieldbus connects the field equipments with a bus and makes it a network throught which information can be exchanged.can is one of the most popular fieldbus at present.it has many adwantages such as multi_master,high transmission speed,long distance,automatic solving bus competition,strong correcting ability and so on.in the paper,the elements and specification of can bus is illustrated.discussion is made on the working way of can controller.the design of can communication system is analyzed.the paper is illustrated gradually from can agreement to the tool of realizing can,then goes a step that how to realize can.among them,associating the can agreement and the can controller,is a remarkable characteristic of the paper.key word: fieldbus;controller area network(can);distributed controlsystem(dcs)目 录第一章 概述.11.1 论文的特色.11.2 can总线的研究及应用现状.11.3 论文的主要工作与内容安排.11.3.1 论文的主要工作11.3.2 论文的内容安排1第二章 can总线技术规范.22.1 现场总线的相关知识.22.1.1 现场总线的概念22.1.2 现场总线的主要特点22.1.3 现场总线的发展背景及趋势32.2 can总线的主要特点.32.3 can总线的帧类型.4第三章 can控制器sja1000及总线收发器pca82c250.63.1 sja1000简介.63.1.1 sja1000的主要特点.63.1.2 sja1000的硬件配置.63.1.3 sja1000的主要内部寄存器.73.2 pca82c250简介.113.2.1 pca82c250的主要特性.113.2.2 pca82c250的硬件配置.113.2.3 pca82c250的工作模式.12第四章 can采集控制器的硬件设计.124.1 运算放大器与ad转换器连接.124.2 ad转换器与单片机的连接.134.3 状态量的采集144.4 单片机与液晶显示器的连接144.5 单片机与can控制器的连接.144.6 can模块地址的硬件设置及控制参数设置154.7 can控制器与can总线收发器的连接.164.8 看门狗与单片机及can控制器的连接.174.9 can总线收发器与can总线的连接.184.10 电源模块.19第五章 can采集控制器的软件设计.205.1 数据采集模块205.2 sja1000的初始化模块.205.3 sja1000的报文发送模块.215.4 sja1000的报文接收模块.22总结.24主要参考文献.25附录a can总线节点电路原理图.26附录b can总线部分子程序清单.27致谢.32dcs中基于can总线的现场数据采集控制器的开发第一章 概述1.1 论文的特色本论文从现场总线入手,引出can总线,再逐步的细化、具体,按照从协议标准到芯片器件,再到通信系统的思路,一层一层的深入,从理论到实践,从抽象到具象,步步为营。其中,介绍协议标准及芯片器件,是为后面介绍can采集控制器系统服务的。在本论文中,数据采集器采用单片微机at89s52作为控制核心,与can控制器sja1000、can总线收发器pca82c250、ad转换器tlc1543及液晶显示器hd44780等器件共同组成数据采集控制器的接口电路,与传统的can总线相比,系统简单可靠,具有更强的可行性和实用性,大有“麻雀虽小,五脏俱全”之功效。1.2 can总线的研究及应用现状随着计算机网络技术和芯片技术的发展,以现场总线为代表的控制网络也在工业以及其他控制系统中扮演着不可缺少的角色。现场总线也被称为自动化领域的计算机网络,是当今自动化领域技术发展的热点之一,它标志着控制技术进入了一个新的时代,并将对该领域的发展产生重要影响。【1】【9】作为目前最流行的现场总线技术之一的can总线,是一种串行通讯协议,是一种基于微控制器件的网络,其通信接口中集成了can协议的物理层和数据链路层功能,广泛应用于汽车工业、航空工业和工业控制等自动化领域。1.3 论文的主要工作与内容安排1.3.1 论文的主要工作1. 分析can总线的基本特点、总线协议等。2. 介绍can控制器,并努力把can总线协议与can控制器结合起来,让读者对can技术有更为具体深刻的了解。3. 重点介绍can采集控制器的硬软件设计。1.3.2 论文的内容安排论文的开头介绍了现场总线的相关知识,包括现场总线的概念、主要特点、发展背景及趋势等,让读者对现场总线有一个感性的认识,为下面介绍can总线作铺垫,进而引出can总线,可谓顺理成章。介绍can总线时,先从总体上概述了can总线技术的主要特点,对这些特点的阐述有详有略,大部分特点在后面介绍can控制器时都得以分析,详细讨论了这些can总线技术在can控制器中是具体如何实现的,这样叙述可谓是相得益彰,让读者对can总线技术有了更为具体的感受。紧接着阐述了can总线的5种不同的帧类型,详细阐述了can总线的数据帧和远程帧,并且叙述了这两种帧在发送时要如何写入发送缓冲器,为后面介绍can采集控制系统的发送和接收模块作准备。第三章重点介绍了can控制器,主要是介绍can控制器的寄存器,但又不仅仅是只介绍寄存器本身,因为在介绍can控制器的寄存器时,又联系到can的技术规范,侧重介绍了如何通过在复位模式下写寄存器来选择can技术的相关内容,真正让can技术在can控制器这里发挥得淋漓尽致,让读者感受到can的技术规范及协议貌似抽象,实际上一个芯片就能把这些协议全部做进去。将can的技术规范与can控制器紧密结合起来,是本论文的一大特色。第四五章着重分别介绍了can采集控制系统的硬软件实现,对硬软件的各个子模块都作了具体分析,让读者与作者一道感受一下从理论到实践的快感。无论是硬件,亦或软件,都分成了一个一个的小模块,各个击破,清晰易懂。硬件电路方面,从数据采集到向can总线上发送数据,从看门狗电路到电源模块,层层推进,电路图结合说明,条理清楚;软件流程方面,详细介绍了数据采集模块以及can控制器的初始化、发送和接收模块。紧接着是全论文的总结,然后是can节点电路的整体原理图及can总线部分子程序的附录,最后是致谢部分。第二章 can总线技术2.1 现场总线的相关知识2.1.1 现场总线的概念【1】【9】所谓现场总线,就是应用在生产现场、在微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。现场总线技术是把单个分散的测量控制设备变成网络节点,以现场总线为纽带,把它们连接成可以相互沟通信息、共同完成自控任务的网络系统与控制系统。2.1.2 现场总线的主要特点1系统的开放性:世界上任何遵守相同标准的设备或系统之间都可以互连,通信协议一致公开。2互可操作性和互用性:前者是指实现互连的设备间和系统间的信息传送与沟通;后者是指不同生产厂家性能类似的设备可以互相替换。3现场设备的智能化与自治性:现场总线技术的应用将传感器测量、补偿计算、工程量处理与控制等功能分散到现场设备中完成,仅靠现场设备即可完成自动控制的基本功能,并可随时诊断设备的运行状态。4系统结构的高度分散性:现场总线已构成一种新的全分散性控制系统的体系结构。从根本上改变了原有dcs系统集中与分散相结合的控制体系,简化了系统结构,提高了可靠性。5现场环境的适应性:专门为环境而设计的,可支持双绞线、同轴电缆、光缆、射频、红外线和电力线等,具有较强的抗干扰能力,能采用两线制实现通信与供电,并可满足本质安全防爆要求等。2.1.3 现场总线的发展背景及趋势1现场总线是综合自动化的发展需要要实现整个生产过程信息集成,要实施综合自动化,就必须设计出一种能在工业现场环境运行的、性能可靠、造价低廉的通信系统,从而实现现场自动化智能设备之间的多点数字通信,现场总线在此背景下应运而生。2智能仪表为现场总线的出现奠定了基础世界上一些知名的仪器仪表制造商相继推出了模拟数字混合智能化仪表及相应的通信协议,这些都为现场总线的诞生奠定了基础。但这种数字模拟信号混合运行方式难以实现智能仪表之间的信息交换,应用需求呼唤着现场总线的出现。3开放系统、统一标准是现场总线的发展趋势不同厂商提供的设备之间的通信标准不统一,会严重束缚了工厂底层网络的发展。从1984年开始,世界著名的组织、仪器仪表厂商、系统制造商就结成联盟,开始着手制定各自的现场总线标准,与此同时,在不同行业还陆续派生出一些有影响的总线标准。总之,现场总线的发展共同遵从的统一标准规范,真正形成开放互连系统,是大势所趋。2.2 can总线的主要特点1. can可以多主式工作,网络上任意一个节点均可以主动地向网络上其他节点发送信息而不分主从,通信方式灵活;can节点侦听到网络上至少3个隐性位后,便认为总线空闲,即可向网络上发送信息。2. can节点借助于报文滤波技术可以实现点对点、一点对多点及全局广播等几种方式发送和接收数据。在sja1000中,可通过设置验收代码寄存器acr和验收屏蔽寄存器amr来确定can节点的地址,允许rxfifo只接收同识别码和验收滤波器中预设值相一致的信息,并通过设置模式寄存器mod的afm位来选择滤波模式。3. can的节点信息可以分成不同的优先级,可以满足不同的实时性要求。can报文的优先级结合在标识符id中,显性位的位权值越大(即报文标识区的值越小),优先级越高。4. can总线采用非破坏性总线仲裁技术。can节点在发送信息的同时也在对总线上电平进行读取,当有多个节点同时发送时,在仲裁场阶段,若某节点发送一个隐性电平而在总线上检测到显性电平,则说明总线上有更高优先级的节点正在发送信息,该节点会自动退出发送,让更高优先级的节点继续发送而不会产生任何时延,这样在网络负载很重的情况下也不会产生网络瘫痪。【1】【9】在sja1000中,可通过设置总线定时器btr1的sam位来选择读取总线上电平的时刻和次数,即选择采样点的位置。5. can的直接通信距离最远可达10km(速率5kbps以下),最高通信速率为1mbps(此时通信距离最长为40m)。【1】【9】6. can发送时每连续5个同状态电平后插入一位相补的电平,还原时每5个相同状态电平后的相补电平删除,从而保证数据的透明性。7. can的每帧信息都有crc校验,接收节点对发送节点有一个应答,所有接收到匹配crc序列的节点会在ack间隙期间用显性位写入发送器两个隐性位之间来作出回应,从而保证了数据通信的可靠性。 8. can节点在错误严重的情况时具有自动关闭输出功能,以切断该节点与总线的联系,使总线上其他节点的操作不受影响,提高了抗干扰性。2.3 can总线的帧类型1. 数据帧(data frame)1) 标准格式(standard format)图1:报文的数据帧标准格式注:rtr=0, ide=0, r0=0, dlc=0000b1000b2)扩展格式(extend format) 图2:报文的数据帧扩展格式注:srr=0, ide=1, rtr=0, r1=0, r0=0, dlc=0000b1000bide位是区分标准格式与扩展格式的标志,对标准格式,ide=0;对扩展格式,ide=1。2. 远程帧(remote frame)远程帧被用来请求总线上某个远程节点发送自己想要接收的某种数据,其格式与数据帧类似,主要区别在于远程帧没有数据场。注:rtr位是区分数据帧与远程帧的标志,对数据帧,rtr=0;对远程帧,rtr=1。在sja1000中,发送节点对以上两种帧的装载方式是通过向sja1000的发送缓冲器(13b)中写入数据实现的。标准格式使用前11b,具体放置内容为:字节1:idertrxxdlc3dlc2dlc1dlc0字节2:id.28id.27id.26id.25id.24id.23id.22id.21字节3:id.20id.19id.18xxxxx字节4字节11:待发送的实际数据,对远程帧无效。图3:can标准帧的放置扩展格式使用整个的13b发送缓冲器,具体放置内容为:字节1:idertrxxdlc3dlc2dlc1dlc0字节2:id.28id.27id.26id.25id.24id.23id.22id.21字节3:id.20id.19id.18id.17id.16id.15id.14id.13字节4:id.12id.11id.10id.9id.8id.7id.6id.5字节5:id.4id.3id.2id.1id.0xxx字节6字节13:待发送的实际数据,对远程帧无效。图4:can扩展帧的放置3. 错误帧图5:错误帧结构can总线的通信错误包括:位错误、填充错误、crc错误、形式错误、应答错误,并且有两种形式的错误标志:活动错误标志和认可错误标志,前者由6个连续的显性位组成,后者由6个连续的隐性位组成。报文传输过程中,所有其他节点若检测到某一节点出错,即于下一位开始发送错误帧,通知发送端停止发送。错误界定符包括8个隐性位,错误标志传送之后,每一站就开始发送隐性位,并一直监视总线直到检测出一个隐性位(说明此时总线上各站点都完成了错误标志的发送),再发送其余7个隐性位。4. 过载帧图6:过载帧结构当某接收器因内部原因等,要求缓发下一个数据帧或远程帧时,它向总线发过载帧。过载标志由6个显性位组成,过载界定符包括8个隐性位。过载标志传送后,每一站就开始发送隐性位并一直监视总线直到检测出一个隐性位(说明此时总线上各站都完成了过载标志的发送),再发送其余7个隐性位。5. 帧间空间图7:帧间空间结构帧间空间用于把数据帧或远程帧与前面的帧隔开。间歇场包括3个隐性位。总线空闲时,总线上电平为隐性,直到出现帧起始sof。第三章 can控制器sja1000及总线收发器pca82c2503.1 sja1000简介3.1.1 sja1000的主要特点sja1000是一种独立的can控制器,主要应用于汽车和一般工业环境。【9】主要特点有:1. 同时支持两种can模式basiccan和pelican,可通过设置时钟分频寄存器cdr中的can模式位来选择使用哪种can模式;2. 引脚和电气特性与pca82c200独立can控制器兼容;3. 同时支持11位(标准格式)和29位(扩展格式)识别码;4. 设有64b rxfifo和13b发送缓冲器;5. 使用24mhz时钟频率,传输速率可达1mbps。3.1.2 sja1000硬件配置1. sja1000的模块结构图8:can控制器sja1000的模块结构1)iml:解释来自cpu的命令,控制can寄存器的寻址,向主控制器提供中断信息和状态信息。2) txb:存储发送到can网络上的完整信息,长13b。由cpu 写入,bsp读出。3) rxb:cpu与acf之间的接口,13b,是rxfifo(64b)的一个窗口。4)acf:8b,把它其中的数据和接收的识别码相比较,以决定是否接收信息。5)bsp:控制数据流,执行错误检测、仲裁、填充、错误处理。6)btl:监视串口的can总线和处理与总线有关的位时序,包括硬同步和软同步。7)eml:接收bsp的出错报告,通知bsp和iml进行错误统计。2sja1000(dip封装)的引脚图图9:sja1000的引脚注:1)ad7ad0为多路地址/数据总线;2)clkout输出频率可由时钟分频寄存器(cdr)的cd.2、cd.1、cd.0位设置;3)xtal1、xtal2接24mhz晶振;4)mode为1表示intel模式;5)用于中断微控制器,低电平有效。3.1.3 sja1000的主要内部寄存器 1. 模式寄存器mod(地址0)对所有寄存器的写操作都必须在复位模式中才能进行。对mod.0写1即进入复位模式;对mod.0写0即进入工作模式。通过设置mod.3(afm)位来决定滤波模式:afm=1,选择单滤波器模式;afm=0,选择双滤波器模式。2. 命令寄存器cmr(地址1)cmr.2(rrb)=1,释放rxfifo内存空间;cmr.1(at)=1,等待中的发送请求被取消;cmr.0(tr)=1,发送请求,信息被发送。3. 状态寄存器sr(地址2)sr.0(rbs)=1,表示rxfifo中有可用信息;sr.1(dos)=1,表示rxfifo中无足够的存储空间(溢出);sr.2(tbs)=1,表示cpu可以向发送缓冲器中写信息,=0,表示发送缓冲器被锁定;sr.3(tcs)=1,表示发送完毕,最后一次发送已被成功处理;sr.4(rs)=1,表示正在接收信息;sr.5(ts)=1,表示正在发送信息;sr.7(bs)=1,表示总线关闭。4. 时钟分频寄存器cdr(地址31)cdr.7=0,选择basiccan模式,cdr.7=1,选择pelican模式;cdr.2cdr.0的组合可以选择clkout的输出频率,选择方式如下:表1:sja1000的clkout频率选择cdr.2cdr.1cdr.0时钟频率000fosc/2001fosc/4010fosc/6011fosc/8100fosc/10101fosc/12110fosc/14111fosc5. 验收代码寄存器acr0acr3(地址16地址19)和验收屏蔽寄存器amr0amr3(地址20地址23)下面以单滤波器模式为例,简单介绍一下can的报文滤波技术。无论标准帧还是扩展帧,接收信息时的滤波操作如下:图10:接收can报文时的单滤波操作 由上图可以看出,当验收屏蔽位为1,不管信息位如何,都不会对结果产生影响,因而设置amr相应位为1,可以将相应的信息位定为不影响。1)标准帧标准帧的滤波使用4b验收滤波器的前2b。 acr0(地址16)76543210 amr0(地址20)76543210id.28 . . . . . . . . . . . . . . . . . . . . . . . . . . id.21 acr1(地址17)7 654 amr1(地址21)7654id.20 . . . id.18 rtr图11:接收can标准帧时的单滤波器配置2)扩展帧扩展帧的滤波使用整个的4b验收滤波器。 acr0(地址16)76543210 amr0(地址20)76543210id.28 . . . . . . . . . . . . . . . . . . . . . . . . . . id.21 acr1(地址17)76543210 amr1(地址21)76543210id.20 . . . . . . . . . . . . . . . . . . . . . . . . . . id.13 acr2(地址18)76543210 amr2(地址22)76543210id.12. . . . . . . . . . . . . . . . . . . . . . . . . . id.5 acr3(地址19)765432 amr3(地址23)765432id.4 . . . . . . . . . . . . . . id.0 rtr图12:接收can扩展帧时的单滤波器配置6. 总线定时寄存器btr0(地址6)和btr1(地址7)1) btr0 表2:总线定时寄存器0位7位6位5位4位3位2位1位0sjw.1sjw.0brp.5brp.4brp.3brp.2brp.1brp.0系统时钟tscl=2*tclk*(32*brp.5+16*brp.4+8*brp.3+4*brp.2+2*brp.1+brp.0+1) 其中,tclk为晶振周期=1/24m s。 同步跳转宽度tsjw=tscl*(2*sjw.1+sjw.0+1)下面先简单介绍一下can总线中的位定时与位同步。can总线的一个位时间通常包括同步段、相位缓冲段1和相位缓冲段2。同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现,占用时间为1个系统时钟tscl。如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。如果沿相位误差为正,则相位缓冲段1被增长;如果沿相位误差为负,则相位缓冲段2被缩短。增长或缩短的上限与同步跳转宽度tsjw相等。2) btr1表3:总线定时寄存器1位7位6位5位4位3位2位1位0samtseg2.2tseg2.1tseg2.0tseg1.3tseg1.2tseg1.1tseg1.0sam=0,采样1次,在相位缓冲段1的终点对总线上电平进行读取(适合于高速总线);sam=1,采样3次,分别在相位缓冲段1的终点及其前两个系统时钟处和前一个系统时钟处对总线上电平进行读取(适合于低中速总线)。相位缓冲段1=tscl*(8*tseg1.3+4*tseg1.2+2*tseg1.1+tseg1.0+1)相位缓冲段2=tscl*(4*tseg2.2+2*tseg2.1+tseg2.0+1)7. 输出控制寄存器ocr(地址8)对ocr的操作可以确定can控制器的输出方式,并建立起符合can总线要求的电平逻辑所需输出驱动器的配置。8. 中断使能寄存器ier(地址4)ier控制了诸如错误报警、仲裁丢失、唤醒、数据溢出、发送及接收等中断的使能与否。3.2 pca82c250简介3.2.1 pca82c250的主要特性:1. 完全符合“iso11898”标准;2. 高速率,最高速率可达1mbps;3. 斜率控制,降低射频干扰;4. 差分接收器,抗共模干扰;5. 防止电池和地之间发生短路;6. 低电流待机模式。3.2.2 pca82c250的硬件配置1. pca82c250的模块结构图13:can总线收发器pca82c250的内部结构 1)pca82c250驱动电路内部具有限流电路,可防止输出级对电源、地或负载短路;2)pca82c250采用双线canh、canl差分驱动,有助于抑制恶劣环境下的瞬变干扰。2. pca82c250的引脚图图14:pca82c250的引脚3.2.3 pca82c250的工作模式1. 高速模式(vrs0.75vcc,通常将rs脚接高电平)这种模式下,发送器被关闭,接收器转至低电流。如果在总线上传输一个报文,系统可被重新激活。第四章 can采集控制器的硬件设计can总线的节点,一般是一个计算机系统,这个系统具有can总线的通信功能,实现这项功能的是can总线通信模块,它由can网络控制器和can控制接口芯片组成。下图就是一个常用can节点的结构:图15:常用can节点的结构4.1 运算放大器与ad转换器的连接图16:tlc2254与ad转换器的电路连接图运算放大器采用tlc2254,它是一种四路运算放大器,功耗和噪声都很低,并增加了轨对轨输出的功能,使其在ad转换的接口上有很大的机会。如图16,tlc2254每路的in-与out相连,in+接模拟量输入,放大后的结果送至ad转换器的前四个通道。4.2 ad转换器与单片机的连接图17:tlc1543与单片机的电路连接图 ad转换器采用tlc1543,它具有11路外部模拟量输入,转换结果为10位数字量输出。它采用串行通信接口,靠外部时钟信号移位输出转换结果,这大大节约了单片机的引脚资源。如图17,tlc1543的cs、i/o clock、address、dataout脚分别通过光耦与单片机引脚相连,单片机通过软件模拟spi口,控制tlc1543的模入通道的选择以及读入tlc1543转换的结果。4.3 状态量的采集图18:状态量的采集电路如图18为状态量的采集电路,外部状态通过光耦与单片机引脚相连,单片机可以通过查询的方式随时检测外部系统的运行状态。4.4 单片机与液晶显示器的连接液晶显示器使用日立公司的hd44780芯片,用于显示从总线上接收到的信息。4.5 单片机与can控制器的连接图20:单片机与can控制器的电路连接图单片机采用at89s52,它在can通信系统中起着承上启下的衔接作用。一方面,它可以将从传感器变换来的数字量存储、处理后连同标识符写到can控制器的发送缓冲区,让can控制器将数据发送给can网络上的其他节点;另一方面,它可以从can控制器的接收缓冲区读出数据,存储、处理后输出,驱动执行器的动作。当单片机不是对tlc1543进行操作时,p2.7脚总为高电平,选通sja1000,从而达到分时操作的目的。当sja1000处于发送或接收状态,若中断允许,则总有中断信号通过sja1000的中断脚向单片机发中断,通知单片机可以向sja1000发送缓冲区写数据或从sja1000接收缓冲区读数据。clkout脚可以通过时钟分频寄存器设置为二分频输出,即clkout脚输出频率为12m,作为单片机的振荡频率。4.6 can模块地址的硬件设置及控制参数设置图21:can模块地址的硬件设置及控制参数设置电路按照can协议,每个can信息帧都有其惟一标识。最简单的方法就是系统中一个模块接收同一种标识的信息帧,这个信息帧的标识实际上就是它的接收模块的地址。模块地址可以用硬件设置,如图为独立式按键的键盘接口。很容易看出,按键处于导通状态,其相应的位处于低电平;相反,开关开路,则相应的位为高电平。系统启动后,单片机读入p1口低四位的电平逻辑作为模块地址。同时在系统运行时,键盘可用来设置控制参数。4.7 can控制器与can总线收发器的连接 图22:can控制器与can总线收发器的电路连接图can控制器采用sja1000,它具有完成can高性能通信协议所需求的全部必要特性。sja1000的tx1引脚悬空,rx1引脚的点位必须维持在大约0.5vcc上,否则,将不能形成can协议所要求的电平逻辑。如果系统传输距离短,环境干扰小,可以不用电流隔离,可直接把can总线收发器pca82c250的vref端(约为0.5vcc)与rx1引脚相连,从而简化了电路。为了增强can总线节点的抗干扰能力,sja1000的tx0和rx0是通过高速光耦6n137与pca82c250的txd和rxd相连,这样就很好的实现了总线上各个节点之间的电气隔离。但是光耦电路所采用的两个电源vcc和vdd也必须完全隔离,否则采用光耦也就失去了意义。电源隔离可采用小功率电源隔离模块bo5o5-w25实现。4.8 看门狗与单片机及can控制器的连接图23:看门狗与单片机及can控制器的电路连接图为了进一步提高抗干扰能力,电路中采用了看门狗电路,采用复位芯片x25045,可提供系统所需的电平复位信号,外加一个非门即可实现同步复位。而且,x25045内部设有存储单元,可存储数据,增大了本地报文的存储空间。x25045在系统复位初始化后,每隔不超过规定的时间从p1.4脚向看门狗输入一个脉冲,否则复位引脚输出复位信号,使单片机和can控制器同步复位。sck是串行同步时钟信号,写入时,时钟前沿将si引脚信号输入;读出时,时钟后沿将数据位输出到so引脚上。这里用p1.5、p1.6、p1.7引脚来模拟一个同步串行通信的串行口,其中,p1.6和p1.7分别作为x25045的同步串行通信的信号输入和输出,p1.5作为它的时钟输入。c1和c2是电源滤波电容,x25045的复位引脚直接接单片机的rst脚,并通过非门接can控制器的脚,以实现同步复位,再加上10k的上拉电阻,而按钮sw-pb是为手动复位而设置的,这样就组成了一个实际的看门狗电路。4.9 can总线收发器与can总线的连接图24:can总线收发器与can总线的电路连接图can总线收发器采用pca82c250,其第8引脚与地之间的电阻称为斜率电阻,当该电阻阻值在15200k时,可使pca82c250工作于斜率控制方式,上升及下降的斜率取决于阻值的大小,该方式应用于波特率较低、总线较短的场合,一般使用非屏蔽双绞线作为总线电缆。pca82c250的canh和canl通过5k限流电阻与can总线相连,保护其免受过流的冲击。canh和canl与地之间并联2个30pf小电容,可以起到滤除总线上高频干扰的作用。两根can总线接入端与地之间分别反接一个保护二极管,能起到过压保护的作用。这样可以提高节点的稳定性和安全性。【4】can总线两端两个120的电阻,对于匹配总线阻抗起着相当重要的作用。忽略它们会使数据通信的抗干扰性及可靠性大大降低。4.10 电源模块整个can系统主要使用+5v电源,如图为220v交流电压转化为+5v直流电压的原理图。图25:电源模块的电路图如图,220v交流电压通过变压器转变为9v交流电压,通过全桥整流、电容滤波转化为脉动的直流,通过7805转化为恒定的+5v直流电压输出。为了使电压更稳定,9v端和5v端各加1000uf电解电容和0.01uf瓷片电容;为了保护7805,加入1n4148;为了防止产生反向电压烧坏外接电路,加入d6;led是用来指示是否有有效的电压输出。第五章 can采集控制系统的软件设计5.1 数据采集模块图26:数据采集模块流程图 单片机启动tlc1543工作后,要向tlc1543发时钟时序作为同步信号,并在该同步时钟作用下一边读入上次转换结果,一边发本次要转换的通道地址。注意转换的结果为10位数字量,所以每次转换的结果要用两个地址单元来保存。5.2 sja1000的初始化模块图27:sja1000的初始化流程图5.3 sja1000的报文发送模块1. 报文发送的主程序流程图图28:报文发送的主程序流程图主程序用于控制信息的发送及当发送缓冲区满时,把要发送的报文暂存到临时存储器。2. 报文发送的中断服务程序流程图图29:报文发送的中断服务程序流程图中断发送程序负责把临时存储器中的暂存报文发送出去。3. 报文发送的具体过程当sja1000正在发送报文时,发送缓冲器被写锁定。所以在放置一个新报文到发送缓冲器之前,主控制器必须检查状态寄存器的发送缓冲器的状态标志。只有tbs=1且ts=0,才可以将新报文写到发送缓冲器,置位命令寄存器的发送请求标志(tr=1),使sja1000启动发送;否则,主控制器将新报文保存到临时存储器,并设置一个暂存标志,表示一个报文正在等待发送,当正在发送的报文发送成功结束,can控制器会产生一个发送中断,在对应的中断服务程序检查是否有暂存的报文要发送,一个正在等待发送的报文会从临时存储器复制到发送缓冲器中,暂存标志被消除,置位tr,启动发送。5.4 sja1000的报文接收模块 1. 报文接收的程序流程图图30:报文接收的程序流程图2. 报文接收的具体过程主控制器读sja1000状态寄存器,检查接收缓冲器状态标志,看是否接收到一个报文,若rbs=1,则表示sja1000的rxfifo中得到一个或多个报文,主控制器将第一个报文(存放在接收缓冲器中)读到本地报文存储器,当主控制器的本地报文存储器足够大,主控制器可以检查是否有更多信息报文,然后集中处理接收到的报文,最后置位命令寄存器的rrb位,释放rxfifo内存空间。结束语本文首先引入了现场总线这一集成了计算机技术、通信技术和控制技术的新的技术模式,论述了现场总线的定义、特点和类型。接着讨论了很具应用前景的can总线的特点和帧结构,进而介绍了集成有can全部协议的can控制器sja1000,并且将大部分can总线技术在介绍sja1000时得以阐述,真正做到技术规范与芯片的紧密结合。最后着重介绍了can采集控制系统的软硬件设计,对每一模块都作了具体分析。主要参考文献【1】 阳宪惠.现场总线技术及其应用m.北京:清华大学出版社,1999:34-78.【2】 饶运涛,邹继军,郑勇云.现场总线can原理与应用技术m.北京:北京航空航天大学出版社,2003.6:102-109.【3】 部宽明.can总线系统设计中的几个问题m.电子技术应用,1998年,第9期.【4】 杨洪.基于can总线的控制系统及应用研究d.华侨大学硕士学位论文,2004.4.【5】 徐爱钧,彭秀华.单片机高级语言c51 windows环境编程与应用m.北京:电子工业出版社,2001.7:22-34.【6】 刘文涛.单片机语言c51典型应用设计m.人民邮电出版社,2005.10.【7】 于海生.can总线工业测控网络系统的设计与实现r.仪器仪表学报,2001年,第2期.【8】 李朝青.单片机原理及接口技术(第3版)m.北京航空航天大学出版社,2005.10:17-88.【9】 史久根,张培仁,陈真勇.can现场总线系统设计技术m.国防工业出版社,2004.10.【10】 philips semiconductors.can specification version 2.0 ,parts a and b. 1992.【11】 philips semiconductors.pca82c250/251 can transceiver.1996.【12】 peter hank,egon johnk.sja1000 stand-alone can controller.1998.附录a: can节点电路原理图附录b: can总线部分子程序清单1. 数据采集子程序cs equ p2.7clk equ p2.6addr equ p2.5data equ p2.4mov sp,#30hmov r4,#0;ad转换的通道首地址,即a0通道mov r5,#5;ad转换的通道总数,因a/d转换为上次数据,故设置为5个mov r0,#40h;转换结果存放地址,r0为低地址,r1为高地址mov r1,#41hagain: mov a,r4add a,#10h;通道地址加1,注意是高4位加1xchg a,r4clr cs;启动tlc1543工作clr clkmov r3,#8m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国琼脂糖片市场营销渠道分析与未来销售渠道趋势报告
- 2025-2030中国涡轮增压产业供给预测及投资盈利专项规划报告
- 教育科技企业产品迭代策略在在线教育平台中的应用报告2025
- 教育科技产品迭代周期管理策略与2025年市场拓展报告
- 2025年传染病学病例试题及答案
- 2025年主管药师考试真题及答案
- 培训协议合同7篇
- 2025山东防疫员试题及答案
- 离婚赡养费协议书打印模板专业版合同
- 离婚协议财产分割补充协议:子女抚养及共同财产处理
- 试油操作规程详解
- 婚姻家庭调解课件
- Mg2Sn基多层薄膜的层界面调控与热电性能
- 骨科门诊常见病诊疗流程
- 2025年英语四级考试真题试卷及答案
- 2025年心理辅导员职业资格考试试卷及答案
- 医院法律法规培训内容
- 科技创新管理办法细则
- 飞书使用教程培训
- 肺炎护理考试试题及答案
- 带状疱疹诊疗指南课件
评论
0/150
提交评论