




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C166 CAN总线及其摊铺机中的应用研究摘要:本论文主要针对摊铺机控制系统的功能要求和工况,通过查阅大量资料和实验手段,详细比较研究了西门子16位单片机C166及其CAN(Controller Area Network)总线,对CAN总线和RS485总线进行了分析比较研究,明确指出在摊铺机控制系统中更适合采用CAN总线通信方案的研究结论.本文为解决摊铺机控制系统的CAN总线通信问题,作为技术储备,着重研究了C166系列的XC164CS的CAN总线协议(包括协议分层,报文格式),CAN控制器内核(包括TwinCAN控制器对数据信息的处理),中断方式下的CAN总线通信程序设计等;介绍了在DAVE开发平台XC164CS的软件开发技术;模仿设计XC164CS的仿真开发器;设计开发了摊铺机控制系统XC164CS CAN总线通信实验模型(包括开关量输入输出通道,模拟量输入输出通道,控制电磁阀的PWM输出通道等).通过系统联机调试说明,该实验模型作为研发平台可以满足进一步设计摊铺机控制系统的需要.关键字:XC164CS;CAN总线;摊铺机控制系统 C166 CAN bus and its application study in the paverAbstract :The thesis talked clearly about Siemens 16 one-chip computers C166 and CAN (Controller Area Network ) bus, and made the comparative research between CAN bus and RS485 bus. We did all the work in allusion to the function requires of the paver control system and the working environment. We finished the work through consulting a large number of materials and experiment means. In this thesis, it pointed out that it was better to achieve the control function of the paver with Communication scheme of CAN bus clearly.In order to solve CAN bus communication problem of the paver control system, the thesis studied CAN bus protocol of XC164CS of C166 series emphatically (including layer of the protocol and form of message object ) , CAN controller kernel (including TwinCAN controllers treatment to information of the data ) , program design under interrupting mode for the CAN communication. All these were just for the technological reserve. The thesis also introduced the software development technology of XC164CS of DAVE developing platform and designed the artificial development device of XC164CS imitating; Besides ,in the paper, it developed the control system XC164CS CAN bus communication experimental model of the paver (including figure amount input and output channel , analog input and output channel , PWM output channel used for controlling the electromagnetic valve etc).After debugging the program on associated one-chip computer, it improved that this experimental model could be the developing platform for the further design of the paver control system.Key words: XC164CS;CAN fieldBus;control system for paver目 录第一章 绪 论1.1课题背景,目的及意义1.1.1课题的背景本课题来源于新津新筑路桥设备有限公司的全自动摊铺机控制系统研制课题,属于科研横向课题的子课题.随着计算机技术和信息技术的飞速发展,带来了自动化系统结构的变革.工业过程控制系统逐渐由集散型控制系统(DCS)向全数字的现场总线控制系统(FCS)方向发展.分布式的现场总线控制系统比集散型控制系统更好地体现了信息集中,控制分散的特点.现场总线是连接智能现场设备和自动化系统的数字式,双向传输,多分支结构,开放式的通信网络,是现场通信网络和控制系统的集成,它所连接的智能化现场设备包括智能压力,温度,流量传感器,单回路,多回路控制器,以及控制阀门的执行器和电动马达等.目前,主要的现场总线有:基金会现场总线FF(Fieldbus Foundation);过程现场总线ProfiBus(Process Field Bus);ControlNet/DeviveNet;CAN等.其中CAN总线以其通信速率高,传输距离远,可靠性高,连接方便和高性价比等优点,CAN的应用范围遍及高速网络到低成本的多线路网络,已由汽车电子领域扩展到了过程控制,自动化仪表,数控机床等领域,尤其在汽车电子,工程机械等领域得到了广泛应用.同时摊铺机也逐步向自动化和智能化方向发展.随着计算机技术,机器人技术和控制技术的发展,摊铺机的设计逐步向自动化和智能化方向发展.机电一体化和机器人化是工程机械设计将成为未来必然的发展方向.1.1.2课题的目的及意义本课题主要目的是研究西门子16位单片机C166的CAN总线通信协议及其在摊铺机控制系统中实现CAN总线通信的可行性方案,提出摊铺机控制系统的各控制器及功能模块基于C166CAN总线的通信设计方案,从而解决摊铺机控制系统的数据可靠性传输的问题,并在现有实验条件下制作了CAN总线通信演示实验模型,为摊铺机控制系统的最终研制成功作通信方面的技术储备.1.2论文的主要内容本课题主要是研究的是CAN总线的应用,着重分析,介绍XC164CS上集成TwinCAN控制器的结构,工作过程及其应用;摊铺机上基于CAN总线数据传输的方案的设计,其中就包括了摊铺机上数据采集系统部分的软,硬件设计,数据采集包括数字量的采集和模拟量的采集,还有摊铺机上部分部件的驱动和控制电路设计.数据的传输是本课题研究的核心,系统采用当前广泛用于汽车工业,工业过程控制领域的现场总线CAN,达到数据实时,可靠传输的目的. 以下各章节的主要内容:第二章 摊铺机控制系统的总体方案设计.该章节首先对摊铺机作了简单的介绍;然后根据摊铺机上各部分所要实现的功能,提出了一个摊铺机的控制方案,并给出了控制框图.第三章 CAN总线协议,对CAN总线协议进行一个概述,并对集成在CX164CS中的双CAN控制器作详细的介绍.第四章 主要讲述摊铺机控制系统单元模块设计,包括了微控制器的选择,输入输出通道的硬件设计,摊铺机上数据传输方式的选择及其实现.第五章 系统的程序设计,主要对数据采集的程序设计及数据传输的程序设计过程,流程图作详细的说明.第六章 系统的调试及性能指标,对系统的调试过程及在调试过程中所遇到的问题作一个简要的说明;测定系统的性能指标.第二章 摊铺机控制系统总体方案设计2.1摊铺机工作过程简介摊铺机是用于铺筑路面的工程机械,是一种非常重要的路面施工机械.自动摊铺机主要有机械主体,液压系统和电控系统组成.机械主体部分主要由车架主体,行走系统,输料/分料系统,振动振捣系统,熨平装置及其一些辅助系统几部分组成;液压系统主要由液压泵,油阀,油缸,液压马达,油管,油箱等构成;电控系统是摊铺机的核心控制部分,主要由控制器,传感器,执行机构,CAN总线通信接口,人机接口及操作台构成. 摊铺机的工作过程描述如下,首先运输装载机将铺路原料运输到摊铺机的前方,将铺路原料到入到摊铺机的料斗中,原料通过料斗下方的左/右输料带将原料运输到摊铺机的后方,铺路原料落到分料架上,螺旋分料器旋转将堆放在分料架中央的铺路原料横向铺开,使之均匀的分布在要摊铺的路面上;然后由振动振捣系统将原料捣实.最后由熨平装置将初步捣实的铺层加热熨平.为了提高预压效果,摊铺机的熨平装置上还装有加热器,用来加热熨平装置中熨平板的底部,使之不与沥青混合料相粘,保证铺层平整,以便在较低温度下也能正常施工.摊铺机开过后,等摊铺的原料冷却,铺路的过程就完成了.2.2摊铺机控制系统总体方案设计摊铺机的整个控制系统分为人机交互模块和测控模块构成,两大模块之间通过CAN总线连接,人机交互模块可以向测控模块通过CAN下发命令,测控模块也可以向人机交互模块上传摊铺机各部件的运行状态.摊铺机控制系统的总体方案框图如图2-1所示.人机交互模块中主要包括了交互CPU和控制面板.控制面板是操作人员与摊铺机之间的交互平台,负责主要控制命令的发出和状态信息的显示.面板上的控制量大多为开关量输入以及少量的电位器输入,主要包括控制电源的启动/停止,车体行驶的方向和速度控制,左右输分料装置的自动/手动控制,振捣器的操作以及熨平加热装置的控制等等.这些信号的输入大多为开关量输入,输入的方式是信号通过滤波和隔离后进入相应的CPU;对于控制面板上少量的模拟量输入可以通过滤波后进入相应的CPU的A/D转换器.控制面板上还设有小键盘,主要用于提供辅助功能(例如微调信息)以及故障诊断信息的输入等等,通过扫描键盘将按键状态输入交互CPU,与LCD显示屏配合使用.控制面板状态信息显示采用指示灯与LCD显示屏相结合的方式.测控模块主要负责被控对象输入信息的采集和输出信息的控制.信息的输入包括了模拟量的输入和数字量的输入;信号的输出包括了模拟量的输出,数字量的输出及PWM的输出.为了提高模块的抗干扰性能,提高系统的可靠性,采用强电部分与弱电部分分开设计的设计思路.测控CPU作为数字电路部分核心,其他CPU外部的信号输入都要经过处理才能进入CPU,开关量的输入要经过滤波,变换,隔离;模拟量的输入要经过滤波,隔离放大.信号的的输出包括了数字量的输出和PWM的输出,数字量,PWM的输出都要经过隔离,驱动放大.为了进一步提高系统的可靠性,将测控模块分为了5个子模块,他们是:行走系统子模块,输料/分料系统子模块,振动/振捣系统子模块,找平/大臂子模块,辅助系统子模块,子模块与子模块之间通过CAN总线连接,实现子模块之间数据的交换,协调的控制摊铺机的运行.分模块设计方案,可以在开发过程中做到分工明确,几个模块同时进行开发,可以缩短开发的周期.分模块设计的方法将使系统出现故障的几率分散开来,当一个子模块出现故障时,不会影响到其他模块的正常工作,提高了系统的可靠性;也有利于系统的维护和维修.2.3 摊铺机控制系统微控制器的选择控制系统中的微控制器一般采用单片机.单片机的种类有8位(如:ATMEL公司 的AT89C51),16位(Infineon公司的XC164CS),32位(Philips的ARM2294).在摊铺机上要选择什么样的单片机,一般要考滤单片机的运行速率,单片机的运行速率关系到摊铺机控制的实时性;单片机内部存储器的大小及其可扩展性;是否有丰富的外围资源,单片机丰富的外围资源将为产品的开发带来便利;更重要的是单片机是否适合摊铺机的工作环境的需要,是否能在摊铺机的工作环境中安全,可靠的运行;是否有与单片机相配套的开发装备(如:开发板,程序开发软件,程序编译软件)等.XC164CS是源于C166微控制器家族的新产品,它采用了增强的C166S V2内核架构.其引脚图如图2-2所示.(1)主频可以达到40MHZ,具有5级流水线,单时钟周期指令执行,25ns 的指令执行时间,25ns 的 16*16 位乘法执行时间,零周期跳转执行,单周期乘法,累加指令,这些都奠定了XC164CS具有强大的运算处理能力的基础图2-2 XC164CS引脚功能图(2)高性能的片上 ROM/FLASH 内存,在XC164CS中有2KB 双端口 RAM,用于变量,寄存器组,系统堆栈(无代码);2KB 附加高速数据 SRAM (无代码),用于变量和用户堆栈;2KB 快速 SRAM,用于数据和代码128KB 先进的程序 Flash 存储器,用于指令代码和常数.外部还可以扩展4片64K的外部存储器.(3)多达 79 条具备独立位寻址功能的 IO线,可编程的IO口驱动特性;功能强大的集成外设,在片上集成有14路的高速,高分辨率的A/D模块,至少8路的PWM输出,双CAN控制器(TwinCAN)等.(4)宽的温度范围,XC164CS的温度范围在-40到+125之间;具有极好的稳定性和抗干扰能力,被广泛的用于汽车电子行业.(5)开发软件有KeilC166,Infineon的可视化的程序开发软件,能生成KeilC166支持的程序代码,方便了软件的开发过程,缩短了软件的开发周期.以上所述可见,XC164CS非常适合摊铺机控制系统.本文在测控系统模块的每一个子模块用一块XC164CS作为测控节点机;在人机交换模块中用一块作为交互CPU.2.4 摊铺机控制系统通讯方案设计摊铺机控制系统中的通讯,用于模块与模块之间的数据交换,要求数据传输的实时性和可靠性.以前常用的数据传输的方法是RS-485总线,但是随着上世纪80年代CAN总线的提出,CAN总线就以其传输速率高,传输距离远,检错能力强等优点得到了更为广泛的应用.2.4.1 CAN总线与RS-485总线比较CAN总线和RS-485总线都采用差分传送数据,都具有较强地抗干扰的能力,但是相比较而言,CAN总线比RS-485总线具有更多的优越性.现将RS-485总线与CAN总线的比较如下:(1),传输的速率RS-485传输的从理论上来说可以达到10Mbps,但是RS-485总线在实际的应用中一般通过一块驱动芯片(如:75176)连接在单片机的串口上使用,这就受到了单片机串口通讯的最大波特率及驱动芯片的限制,一般在通讯中使用的波特率为9600bps,在XC164CS中波特率可以达到115200bps;而CAN总线就没有这方面的限制,其最大的波特率可以达到1Mbps,此时传输的距离小于50米.(2),传输的距离由于RS-485和CAN总线都采用了差分传输的方法,传输的距离都较远.但是他们传输的距离都受到其通讯速率的影响.RS-485总线的传输距离最大可以达到1200米(此时传输的速率应该应该小于100Kb/s).与RS-485总线相比,CAN总线传输的距离更远,其最大的传输距离可以达到10Km,此时传输的速率小于5Kbps.(3),工作方式RS-485总线采用的是主从工作方式,在总线上只能允许一个节点处于发送状态,其他节点处于接收状态,如果总线上有两个节点同时处于发送状态时,将会导致通讯紊乱;而CAN总线所采用的是多主从工作方式,也就是说在CAN总线上,只要总线处于空闲状态时,任何一个节点都可以向总线上发送数据,当有两个或两个以上的CAN节点同时向总线上发送数据时,CAN总线将根据总线总裁机制,判断信息帧中的标识符的大小,标识符为最小的CAN节点将获得总线的控制权.这样就有效的解决了总线信息冲突的的问题.(4),可靠性在RS-485总没有接收滤波,没有出错标记,如果要实现这些功能,就要在程序中进行处理,这样增加了程序的复杂性.在CAN总线上具有接收滤波,接收节点只接收与自己标识符相一致的信息(要考虑接收屏蔽寄存器的值);并且检错的能力,在CAN控制器中还有错误计数器,当传输过程中传输出现错误时,可以通知发送节点重发.(5),能连接的最大节点数在RS-485总线上最多可以连接32个驱动器和32接收,一般一块RS-485的驱动芯片中集成有一个驱动器和一个接收器(如:75176 ),也就是说,在总线上最多可以连接32个节点.在CAN总线上,采用29位的扩展帧时,理论上节点数是不受到限制的,但是实际最大节点数只能达到达110个.(6),成本在RS-485总线中,不需要使用实现协议的芯片,只需要一块接口转换芯片,结构简单.在CAN总线上要使用实现协议的CAN控制器和接口转换芯片CAN收发器,与RS-485总线相比,CAN总线更为复杂,成本更高.2.4.2 通讯方案确定由以上比较可知:CAN总线比RS-485总线传输的速率更高,传输的距离更远,可靠性更强,可以连接的节点数更多,并且CAN总线采用多主从方式工作,更是RS-485总线不能及的.鉴于在摊铺机上的数据通讯要求数据传输的实时性和数据传输的可靠性,本系统采用了CAN总线用于数据传输.2.5小结 本章对摊铺机作了简单的介绍及其工作过程.根据摊铺机的输入,输出信号设计了摊铺机控制系统的总体方案,并作出了他的结构框图位后面摊铺机单元模块的设计工作奠定了基础. 选择并确定了微控制器,选择XC164CS为控制器;选择了通讯的方式,鉴于摊铺机上要实现数据实时可靠的传输,选取了CAN总线作为数据传输方案.第三章 CAN总线协议及XC164CS中的TwinCAN3.1 CAN总线协议概述控制器局域网CAN 为串行通讯协议,是一种现场总线,最早用于汽车内部检测部件与执行部件间的数据通信.能有效地支持具有很高安全等级的分布实时控制.CAN采用多主工作方式;具有实时性强,传输距离远,通讯速率高,检错能力强等优点.使其在不同的领域得到了广泛的应用.从高速的网络到低价位的多路接线都可以使用CAN.在汽车电子行业里,使用CAN 连接发动机控制单元,传感器,防刹车系统等.3.1.1 CAN总线协议分层根据ISO/OSI 参考模型,CAN可以分为数据链路层,物理层.其中数据链路层又包括了逻辑链路控制子层 (LLC)和媒体访问控制子层(MAC).(1)逻辑链路控制子层的作用是:为远程数据请求以及数据传输提供服务,确定由实际要使用的LLC子层接收哪一个报文,为恢复管理和过载通知提供手段.超载通告:如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC子层开始发送超载帧.最多可产生两个超载帧,以延迟下一个数据帧或者是远程帧.恢复管理:发送期间,对于丢失总裁或被错误干扰的帧,LLC子层具有自动重发送功能.在发送功能完成前,帧发送服务不被用户认可.(2)媒体访问控制子层是CAN协议的核心.其作用就是控制帧结构,执行仲裁,错误检测,出错标定,故障界定.总线上什么时候开始发送新报文及什么时候开始接收报文,均在MAC子层里确定.它把接收到的报文提供给LLC 子层,并接收来自LLC 子层的报文.位定时的一些普通功能也可以看作是MAC子层的一部分.错误检测:错误检测所采取的措施有,监视(发送器对发送位的电平与被监控的总线电平进行比较);循环冗余检查;位填充;报文格式检查.执行仲裁:CAN总线的工作方式是采用的多主工作方式,这就是说只要总线空闲,任何节点都可以开始发送报文.如果2 个或2 个以上的节点同时开始传送报文,就会出现总线冲突.通过使用了标识符的逐位仲裁可以解决冲突.当具有相同标识符的数据帧和远程帧同时初始化时,数据帧优先于远程帧.仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较.如果电平相同,则这个单元可以继续发送.如果发送的是一隐性电平而监视的是一显性电平,那么单元就失去了仲裁,必须退出发送状态.错误的标定:任何检测到错误的节点会标志出损坏的报文.此报文会失效并将自动地开始重新传送.如果不再出现错误的话,从检测到错误到下一报文的传送开始为止,恢复时间最多为31个位的时间.故障的界定:CAN 节点能够把永久故障和短暂扰动区别开来.故障的节点会被关闭.(3)物理层主要是定义信号是如何实际地传输的,因此涉及到位时间,位编码,同步的解释.3.1.2 CAN总线的报文格式在报文中有两种不同格式的帧,不同之处在于他们其标识符的长度不同,具有11位标识符的帧叫做标准帧如图3-1所示,具有29位标识符的帧叫做扩展帧如图3-2所示.在报文传输中由四个不同类型的帧表示和控制.它们是:数据帧,远程帧,错误帧,过载帧.(1)数据帧将数据从发送器传输到接收器.由帧起始(Stsrt of Frame),仲裁场(Arbitration Frame),控制场(Control Frame),数据场(DataFrame),CRC场(CRC Frame),应答场(ACK Frame),帧结尾(End of Frame)构成.其中数据场的长度可以为0.(2)远程帧,要向一总线单元请求发送具有同一标识符的数据帧时就要发送发出远程帧.通过发送远程帧,作为某数据接收器的节点可以初始化通过其资源节点传送不同的数据.远程帧也有标准格式和扩展格式,而且都由6 个不同的位场组成:帧起始,仲裁场,控制场,CRC 场,应答场,帧结尾.与数据帧相反,远程帧的RTR 位是隐性的.它没有数据场,数据长度代码的数值可以为0-8中的任何值.此数值是相应于数据帧的数据长度代码.(3)错误帧,错误帧由两个不同的场组成.第一个场是不同的站提供的错误标记(ERROR FLAG)的叠加.第二个场是错误界定符,如图3-3所示.(4)过载帧包括两个位场:过载标志和过载界定符,如图3-4所示.3.2 XC164CS中的双CAN控制器3.2.1双CAN控制器内核描述在双CAN控制器中包含了两个可以独立操作的CAN节点.CAN节点接收和发送的帧结构都符合CAN 2.0B标准.每一个CAN节点都可以接收或者发送11位标识符的标准的帧和29位标识符的扩展帧.为了优化CAN总线通讯的处理及减少CPU的负担,两个CAN节点共享了双CAN模块的一些资源.双CAN控制器有32个报文,每一个报文都可以独立的分配给两个CAN节点中的一个,每一个信息报文都有一个唯一的标识符,并且有自己的一组控制和状态位.所有报文都可以设置他们的方向,或为发送,或为接收.设置为发送的报文可以配置成:只要在CAN总线上收到了一个匹配的标识符(考虑相应的全局屏蔽寄存器)的远程帧,就自动的进行发送.设置为接收的报文在请求发送时,可以发送一个远程帧,要求其他的节点发送所需要的报文.每个报文都有独立的发送中断,接收中断和状态位,这样可以使得CPU在检测一个远程/数据帧的接收或发送时,具有极大的灵活性.一般情况下,两个接收滤波的屏蔽是可以编程的,其中一个用于11位的标识符,另一个用于29位的标识符.然而对每一个有效的报文,CPU必须对位XTD(扩展标识符)进行设置,以判断所接受到的数据帧是标准帧,还是扩展帧.双CAN模块包括了几个并行的功能模块,控制性能由这些模块决定.下面分别说明这些单元及其功能.(1)发送/接收移位寄存器Tx/Rx发送/接收移位寄存器Tx/Rx保持填入总线的位数据流,从而可以对整个数据帧或远程帧并行存取,进行标识符的匹配测试,以及将这些帧发送到智能存储器或从智能存储器读出.(2)比特流处理器比特流处理器(BSP)用来控制Tx/Rx移位寄存器,CRC寄存器和总线之间的数据流循序.比特流同时管理错误管理逻辑(EML),及Tx/Rx移位寄存器与智能存储器之间的并行数据流,使得它们的接收,仲裁,发送和错误标识都按照CAN协议进行.(3)循环冗余校验寄存器循环冗余校验寄存器在数据发送之后产生循环冗余校验码(CRC),然后发送出去,用于校验接收报文的CRC码.该CRC码由数据流除以代码成多项式得到.(4)错误管理逻辑错误管理逻辑(EML)用于CAN设备的错误监护.它的计数器,接收错误计数器和发送错误计数器的递增或递减由比特流处理器的命令来决定.根据错误计数器的数值,CAN控制器设置为主动错误,被动错误和总线关闭3种状态.(5)比特定时逻辑比特定时逻辑(BTL)负责监视总线的输入CAN_RxD,并且按CAN协议来管理总线的位时序.在帧的开始,BTL进行一次隐性 (recessive)到主控 (dominant)的总线跳变同步(硬同步).如果CAN控制器本身不能发送一个起支配作用的主控位(重同步),也会进行另一次隐性到主控的总线跳变同步.比特定时逻辑还提供一个可编程的时间段,用以补偿由于传输引起的延时和相移,并用来规定位定时中的采样点位置.BTL的变成控制由波特率和外部的物理延迟时间决定.(6)智能存储器智能存储器可以提供最多32组报文的存储空间,每组报文数据场的最大长度为8个字节.每个报文有唯一的标识符和一组自己的控制,状态位.在初始化设置后,智能存储器可以在不占有CPU资源的情况下进行发送和接收数据.(7)寄存器和报文的组织TwinCAN控制器的所有寄存器的和信息报文都位于2K的专用CAN地址区域内.其中报文结构及其存储区如图3-5所示:(8)中断处理CAN模块配置了322个报文(message object)中断请求源和24个CAN节点控制中断请求源.一个中断请求压缩器,浓缩了这72个中断源到8个CAN中断节点.每一个中断请求源提供了一个中断节点指针,为了增加中断处理过程的灵活性,选择了一个中断节点就启用了其相应的中断服务程序.8个CAN中断节点中的每一个都可以根据他的中断向量和优先级触发其独立的中断处理程序.3.2.2 双CAN控制器对信息的处理报文是CPU与CAN控制器之间交换信息的基本单元,双CAN控制器包含有32个报文,每一个报文都分配了内部存储单元,都有一个标识符,一组控制和状态位及一个数据存储区.每一个报文占32个字节的内存单元分配给控制寄存器和数据存储单元.当报文使能(MSGVAL置位)时.每个报文都被其所属的CAN节点控制逻辑所控制. 当一个报文被CPU初始化的时候,报文控制寄存器(MSGCTRn)中的MSGVAL必须要复位,禁止CAN控制寄存器对其相应的寄存器和数据缓冲区进行访问.然后,设定好报文的标识符和操作模式(发送或接收),如果当成功的接收或者是发送了一个报文要求产生中断时,相应的位TXIE和RXIE必须要置位并且中断标志位域INTPND必须要复位.如果当报文接收到了一个与本身的标识符相匹配的远程帧后要求报文不对其自动作出响应时,那么位域CPUUPD就应该置位为10.(1)仲裁和接收屏蔽寄存器仲裁寄存器MSGARn用来对收到的报文进行接收滤波,定义发送报文的标识符.在判断是否匹配时,相应的全局屏蔽也要考虑,即要考虑接收屏蔽寄存器的值.收到的报文将根据DIR=0(数据帧)或DIR=1(远程帧)存入与标识符相匹配的报文信息存储区中.扩展帧只能存入XTD=1的报文,标准帧(使用全局端屏蔽)只能存入XTD=0的报文.报文的接受滤波如图3-6所示,首先接收到的信息帧的标识符与报文n的标识符(MSGARn)相异或(XOR),将得到的结果再与报文n的接收屏蔽寄存器(MSGAMRn)的值相与(AND),如果所得到的结果为0时报文n 将接收该信息帧,如果所得到的结果大于0时,报文n将不接收该信息帧.CAN控制器接收到一个数据帧时,完整的信息存到相应的报文中,包括标识符,数据长度码(DLC)等.(2)CAN控制器对发送报文的处理当一个报文的方向标志位DIR=1(报文配置寄存器MSGCFGn)时,报文将工作在发送状态下.在报文使能的情况下,CAN控制器对其处理的过程描述如下:在初始化阶段,发送请求位域TXRQ,新的信息标志位域NEWDAT必须复位为01,寄存器MSGCTRn中的位域CPUUPD要置位为10;然后将要发送的数据字节写入到报文的数据场(MSGDRn0,MSGDRn4)中,所要发送的数据字节的个数写入到寄存器MSGCFGn的位域DLC中,将所选择的标识符写入寄存器MSGARn中.然后寄存器MSGCTRn中的位场NEWDAT要置位为10并且位场CPUUPD必须要复位到01.在远程监控模式使能时(RMM=1MSGCFGn),如果报文接收到一个远程帧时,就将接收到的远程帧的标识符和数据的长度将被拷贝到相应的发送报文中. 如果与在发送模式的报文进行比较和屏蔽操作的过程中,找到了一个标识符与该远程帧的标识符相匹配,并且接收报文的屏蔽寄存器中的某些位置为0,那么原来对标识符和数据长度的拷贝可能会改变发送报文中的标识符.只要报文的位域MSGVAL置位为10,如果接收到了与其标识符相匹配的远程帧,该报文的TXRQ将自动置位为10,同时MSGCTRn中的RMTPND将置位为10表示接收到了一个远程帧.TXRQ也可以通过CPU访问将其置为10.当CAN控制器检测到TXRQ为10,在MSGVAL=10,CPUUPD=01的情况下,将生成一个基于该发送报文的数据帧,当总线处于空闲时,将发送该数据帧.如果报文的CPUUPD为10时,该报文被禁止自动响应远程帧.用户可以通过软件将CPUUPD置为01,监控总线,在软件的控制下响应远程帧.当发送报文的数据场要更新时,必须要将MSGCTRn中的CPUUPD位置位为10,禁止CAN控制器对该报文的读写访问.如果一接收报文在更新数据场的数据时,接收到了与标识符相匹配的远程帧时,TXRQ和RMTPND将自动置位为10,当CPUUPD再次复位为01将发送相应的数据帧.如果总线上同时有几个报文置位位发送请求时,标识符最小的信息帧将获得CAN总线的控制权.CAN控制器对接收报文的处理如图3-7所示.(3)CAN控制器对接收报文的处理当报文的方向标志位DIR=0时,该报文将工作在接收模式下.在初始化阶段发送请求位域(TXRQ),信息丢失标志位域(MSGLST)及信息更新标志位域(NEWDAT)必须要复位.当接收报文使能,当接收到一个数据帧时,新的信息将存储到报文的数据场中(MSGDRn0,MSGDRn4)并且位域DLC也将用接收到的字节更新,没有用到的信息字节将被不确定的值所覆盖.如果在寄存器(MSGCTR)中的位域(NEWDAT)仍然是置位的,则CAN控制器将新接收到的覆盖当前所存储的信息,并且通过置位MSGLST表示数据的丢失.在任何情况下,位域NEWDAT自动置位为10时,表明CAN控制器对报文中数据存储区的更新.如果使能了接收中断(RXIE置为10),在接收到信息时捕获的帧计数器的值将拷贝到寄存器MSGCTRn的位域CFCVAL中,并且产生接收中断请求,(INTPNDn和RXIPNDn被置位),然后帧计数器增加1如果使能了控制寄存器AFCR/BFCR.如果一个接收报文请求发送时(TXRQ=10),如果CPUUPD复位为01,CAN控制器产生一个远程帧通过CAN总线发送到其他的通信节点.如果CPUUPD=10时远程帧的传输被禁止直到CPU将CPUUPD复位为01.当远程帧发送成功后RMTPND和TXRQ将自动复位.最后将产生一个发送中断如果TXIE为10,当一个与报文标识符相匹配的远程帧接收到过后,它不对其作出响应,也不产生中断请求.CAN控制器对发送报文的处理如图3-8所示.3.2.2 对双CAN控制器进行编程在了解了CAN控制器对信息报文的处理过程后,并且知道双CAN控制器模块中的寄存器(由于篇幅有限,本文对其寄存器作出说明)用法后.就可以对CAN控制器进行编程应用了.具体的编程思路如下:首先要初始化CAN模块,将ACR/BCR中的INIT置为1,此时在CAN控制器和CAN总线之间的信息传输都被禁止了.初始化程序必须要配置通讯节点,初始化相关联的报文.(1) 配置通讯节点A/B每一个CAN节点都可以通过设置相应的寄存器单独配置,在控制寄存器ACR/BCR中的CALM位设置为1或0可一分别激活CAN分析模式和CAN标准模式,并且各种中断(状态改变中断,错误中断)都可以进行相应的使能或禁止.通过设置ABTR/BBTR寄存器可以定义CAN通讯的波特率.,全局中断节点指针控制寄存器寄存器(AGINP/BGINP)控制中断请求源(错误,最近错误,全局发送/接收和帧计数器溢出中断请求)的多路连接到8路共用中断节点.(2)报文初始化报文存储空间包含了32个报文,可以被双CAN节点共用,每一个报文都必须配置相关的目标节点和操作性质.初始化报文总是从禁止报文开始的(MSGVAL=01).通过寄存器MSGCFGn配置报文目标节点,报文相应的标识符,写入到仲裁寄存器MSGARn中;报文配置寄存器MSGCFGn中的XTD决定了是采用的29位的扩展标识符还是采用的11位的标准标识符,仲裁寄存器和滤波屏蔽寄存器MSGAMRn可以对接收到的信息进行接收滤波.每一个报文都可以配置成发送或接收方向,发送和接收中断可以通过寄存器MSGCNTn中的TXIE和RXIE使能,可以通过寄存器MSGCFGn中的TXINP和RXINP选择相应的中断节点.对发送报文进行初始化.首先进行报文的初始化配置,要初始化的内容有:报文控制寄存器(MSGCTRn),报文配置寄存器(MSGCFGn),报文仲裁寄存器(MSGARn),报文接收屏蔽寄存器(MSGAMRn),.将要发送的数据写到报文数据缓冲区中(MSGDRn0,MSGDRn0),然后置CPUUPD=10,MSGVAL=10.(3)控制报文传输发送报文的处理CPU对发送报文的处理及用户编程流程图如图3-10所示.在将报文初始化之前要将报文禁止(MSGVAL=01),禁止过后要将一些控制位复位(如:INTPND,RMTPND,TXRQ,NEWDAT),然后要定义报文的传输方向,报文的标识符,如果为扩展标识符要将扩张标识符标志位XTD置为1.如果在报文接收或者是发送信息时要求产生中断就要使能报文的中断(RXIE=10,TXIE=10),并且要给它们分配相应的中断节点(寄存器MSGCFGn中的RXINP和TXINP);初始化完成后,将MSGVAL置为10.将要发送的数据写入到报文的数据存储缓冲区中(MSGDRn0/MSGDRn4),并且要在配置寄存器MSGCFGn中写入数据的长度(DLC).在更新完数据后要将标志位NEWDAT置为10;如果要求该报文响应远程帧发送数据,就要将CPUUPD复位为01.当通过软件或通过硬件(接收到了一个与标识符相匹配的远程帧)将TXRQ置为10时,将开始发送数据.CPU对发送报文的处理及编程流程图如图3-9所示.接收报文的处理CPU对接收报文的处理及用户编程流程图如下图所示.对于接收报文的初始化,如发送报文的初始化的过程一样的只是要将报文的传输方向要改为接收状态(DIR=0),初始化完成过后将报文使能(MSGVAL=10).当报文接收到了一个数据帧时,标志位NEWDAT=10将置位,如果接收中断是使能的(RXIE),报文接收中断标志寄存器(RXIPNDn)中的相应位将置位,此时可以从数据缓冲区中读出所得到的数据.如果数据还没有读取(NEWDAT=10),报文又接收到了新的数据帧,原来没有读取的数据将被覆盖,MSGLST标志位将置位,表示数据丢失.如果报文想要得到其他CAN节点的数据,就可以该节点发送一个远程帧,其中标识符要设置为对方的标识符,设置好数据长度,标识符扩展标志位,然后启动发送(TXQ=10),CAN控制器将相对方发送一个远程帧.CPU对接收报文的处理及编程流程图如图3-10所示.3.3小结 本章着重介绍了XC164CS中双CAN控制器的内核结构,CAN控制器处理信息的过程,CPU处理信息的过程,对CAN控制器的应用的编程思路及流程图作了详细的介绍.此外还对CAN通讯协议作了简单介绍.第四章 摊铺机控制系统单元模块设计总体方案设计中将摊铺机控制系统分为人机交互模块和测控模块,其中测控模块又分位五子模块;每一个模块都有一定量的信号的输入和输出.模块与模块之间都要通过CAN总线来进行通讯,进行数据的交换.这一章节将介绍模块中信号的输入,输出电路设计以及模块之间的数据的传输电路.4.1 摊铺机控制系统中输入,输出通道的设计摊铺机输入,输出通道设计包括了模拟量的输入通道设计,数字量的输入,输出通道.模拟量输入通道把反映摊铺机工作状况的模拟信号(如:油温,油压等)转换为数字信号送给微处理器,微处理器根据数据进行相应的处理或控制.数字量的输入通道是把反映摊铺机工作状况的开关开关量信号(如:料位),脉冲信号(如:速度)等送给微处理器;微处理器接收到信号后,根据信号状态去控制执行机构(如:电磁阀)或指示装置(如:LCD)等.开关量的输出信号是由微控制器发出的,通过隔离,驱动放大后用于驱动摊铺机相应的部件.4.1.1 模拟量输入通道设计摊铺机中模拟量的输入信号有速度调节电位器,转向调节电位器,及油温油压传感器等.本系统模拟量输入通道采用的XC164CS中的14通道10的高速,高精度A/D转换器.在信号输入单片机之前要经过一个调理电路.其的电路要根据要根据具体的信号输入情况来设计.一般来说,在信号输入前,信号的滤波是必须的.其电路图如图4-1所示:图4-1 模拟量信号输入调理电路当电压信号输入时,在电路中的R1和电容C将构成低通滤波电路其直的大小要根据具体的输入信号来定,此时R2为无穷大(即开路状态).当输入的信号为电流信号时为I(如:420mA的电流)时,如果在XC164CS中A/D转换器的参考电压为+5V,所以可以根据来配置电阻R2的值.此时A/D输入端的电压在05V之间.4.1.2开关量输入,输出通道设计(1)开关量的输入通道设计开关量输入通道的基本功能就是将检测到摊铺机工作状态的数字信号准确无误地输入到单片机中.这些信号在不同的环境下可能会被引入各种干扰,如:过电压,瞬太尖峰和反极性输入等.因此,所输入的信号必须要经过电平转换,滤波和过电压保护等信号的调理过程才能送给单片机.本数据采集系统所用到的信号调理电路如图4-2所示:其中电路中C1的作用是起到了滤波的作用,消除输入信号的扰动.在稳定状态下电容两端的电压是24V,当输入电压受到干扰,输入电压减小时,电容放电;当输入电压增加时,电容充电,这样使电容两端的电压稳定在24V左右;电容的大小,要根据具体情况而定.本文中电压的主要干扰源是开关在闭合和断开时产生抖动;在此C1起到了开关去抖的作用.实践证明,C1在取值为35V/10UF时取得了很好的去抖效果.在电路中R1主要是在开关断开时为电容提供一个放电回路.D1是稳压管,起到了过电压保护的作用,将电压稳定在5V;D2为了防止电压反极性输入.在电路中电阻R2和R3起到了限流的作用.图4-2开关量的输入调理电路在电路中4N25是光电耦合器件,它的管脚定义是这样的:1.阳极,2.阴极,4.发射极,5.集电极.当输入端加电信号时发光二极管发出光线,光敏三极管接受光线之后就产生光电流,从输出端流出,在输出端接一个下拉电阻就将电流信号转换成了电压信号.输出电压可以供单片极采集.在电路中,一方面光电耦可以起到隔离两个系统地线的作用,使两个系统的电源相互独立,消除地电位不同所产生的影响.另一方面,光电耦的发光二极管是电流驱动器件,可以形成电流环路的传送形式,电流环路是低阻抗电路,对噪音的敏感度低,提高了系统的抗干扰能力,起到了电磁兼容和隔离抗干扰的作用,不会因为电路中的高频电流的电磁干扰对连接输出信号的单片机产生干扰.同时消除了电磁干扰而引起开关管误触发造成的损坏,而且线性度也比较好.这样在电路中模拟电路与单片机分别用两个不同的电源,从而消除模拟电路对单片机的干扰.(2)开关量输出通道设计开关量输出通道的作用就是将微控制器所输出的数字量经过隔离,驱动放大后用于驱动摊铺机上相应的部件(如:电磁阀).其中驱动放大可以采用继电器,场效应管等,本文的隔离器件选择光电隔离器件4N25,驱动放大采用的是增强型场效应管IRF540N,其参数为,.其电路图如图4-3所示.在电路中OUTPUT连接所要驱动的部件,根据具体的要驱动的部件要调节R3中RB的大小;二极管D1是为了防止所连接的负载在IRF540N关断时出现回流 如:电动机)而烧坏IRF540.图4-3 开关量输出隔离,驱动放大电路4.2 CAN控制器及收发器CAN控制器主要实现CAN总线协议中数据链路层的工作,基本的工作将要传输的信息,打包为符合CAN通讯协议的信息帧发送出去;将所接收到的信息帧存放到相应的存储缓冲区中及在传输过程中出错的处理.CAN控制器有独立于微控制器的CAN控制器(如:SJA1000),也有集成微控制器中的CAN控制器(如:XC164CS中的TwinCAN).本文在摊铺机控制系统中所采用的CAN控制器是集成在XC164CS中的TwinCAN控制器.它的内核结构及应用将在第三章中作详细的描述.CAN收发器,在CAN控制器和CAN-BUS之间起到了一个接口转换的的作用.将CAN控制器发送来的数据转换成差分信号传输到CAN-BUS上;将接受到的差分信号转换成与CAN控制器相匹配的电平信号传输给CAN控制器.本文在摊铺机控制系统中所采用的CAN收发器为Philips的PCA82C250.其引脚图及功能说明如图4-4所示:图4-4 PCA82C250引脚及功能图图4-5 PCA82C250应用电路PCA82C250的应用电路如图4-5所示,在图中与PCA82C250的CANTXD,CANRXD引脚并不是与CAN控制器的C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川公务员真题2025
- 蚌埠事业单位笔试真题2025
- 第2课 信息处理的好助手说课稿-2023-2024学年小学信息技术(信息科技)第一册(供三年级使用)浙教版(广西)
- 2025加工承揽合同与销售代理合同的区别
- 广东省仲元中学高中信息技术教案实例解析Photoshop图层样式的各项命令
- Unit 3 Mysteries of the World说课稿-2025-2026学年高中英语重庆大学版选修十一-重大版2004
- 本册综合说课稿-2025-2026学年高中体育人教版2019必修第一册-人教版
- 劳动项目三 烹调酸辣汤说课稿-2023-2024学年初中劳动七年级上册人教版
- 六、运动和力的关系说课稿-2023-2024学年初中物理八年级全一册北京课改版
- 2017年高二人教版选修3-1第三章磁场第四节《通电导线在磁场中受到的力》教学设计
- 居室环境的清洁与消毒
- ××领导班子及成员分析研判报告
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GB/T 2518-2008连续热镀锌钢板及钢带
- Frenchay构音障碍评定
- 第二讲国外教育评价的发展历程
- 教育学原理课后答案主编项贤明
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- 语言领域核心经验《学前儿童语言学习与发展核心经验》
- 德国工业4.0与数字化制造课件
- 肉制品加工技术完整版ppt课件全套教程(最新)
评论
0/150
提交评论