• 2.77 MB
  • 2023-01-05 08:30:32 发布

基于CAN总线的水处理工程数据采集系统设计

  • 64页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
工学硕士学位论文基于CAN总线的水处理工程数据采集系统设计DESIGNOFSEWAGETREATMENTDATAACQUISITIONSYSTEMBASEDONCANBUS谢瑶2010年7月\n国内图书分类号:TP392学校代码:10213国际图书分类号:621.38密级:公开工学硕士学位论文基于CAN总线的水处理工程数据采集系统设计硕士研究生:谢瑶导师:刘晓为教授申请学位:工学硕士学科:微电子学与固体电子学所在单位:航天学院答辩日期:2010年7月授予学位单位:哈尔滨工业大学\nClassifiedIndex:TP392U.D.C:621.38DissertationfortheMasterDegreeinEngineeringDESIGNOFSEWAGETREATMENTDATAACQUISITIONSYSTEMBASEDONCANBUSCandidate:XieYaoSupervisor:Prof.LiuXiaoweiAcademicDegreeAppliedfor:MasterofEngineeringSpeciality:MicroelectronicsandSolid-StateElectronicsAffiliation:SchoolofAstronauticsDateofDefence:July,2010Degree-Conferring-Institution:HarbinInstituteofTechnology\n摘要摘要我国人均水资源拥有量仅相当于世界平均水平的1/4,城市污水处理水平直接关系到这些有限资源能否得到科学合理的利用,以及我国国民经济健康稳定的发展。随着科技的进步和现代工业的发展,污水处理系统的自动化、智能化控制已成为发展的一种必然趋势。传统的控制系统采用PLC作为控制单元,对各设备进行数据采集与控制,但PLC的数据处理能力有限,运行速度慢,限制了系统性能的进一步提高;采用的现场总线为profibus总线,随着传输距离增加,信号速率较慢,实时性不高。针对这些需求及实际情况,本文设计了一种基于CAN总线的污水处理数据采集系统,以解决实时性、传输速度、数据处理能力等现在急需解决的问题。本文针对污水处理系统的实际需要,基于Intel公司开发的PXA270作为主控平台的处理器,采用32位ARM7芯片LPC2119作为数据采集节点的控制器,分别完成了24路数字量输入、16路数字量输出、8路模拟量输入以及4路模拟量输出电路的硬件设计。选择控制器局域网CAN总线进行数据通信,凭借其极高的可靠性、实时性和灵活性的特点,组建基于集成CAN控制器的ARM7芯片的数据采集系统,充分发挥了32位控制器的优势,实现了基于ARM的CAN网络通信,完成污水处理现场数据采集系统的设计。经过系统测试,监控系统具有良好的实时性、传输速度和数据处理能力。关键词嵌入式系统;ARM微处理器;CAN总线;数据采集I\nAbstractAbstractChinahastheonlyonefourthoftheworld’saveragepercapitawatercapacity,urbansewagetreatmentisdirectlyrelatedtotheselimitedresourceswethertheycanbeusedinscientificandrationalway,anditalsorelatetothehealthyandstabledevelopmentofournationaleconomy.Withthedevelopmentofscienceandmodernindustry,theautomaticandintelligentcontrolhasbeenaninexorabletrend.TraditionalcontrolsystemsusePLCascontrolunittodataacquisitionandcontrolfromtheallequipments.However,dataprocessingcapabilityofPLCislimited,andoperatingspeedisslow,alloftheseeffectsrefinethedevelopingofsystem’sperformance.Usingprofibusasfieldbus,withtheincreasingofthetransferdistance,signalratesloweddown,andthetimelinesswasnotwell.Inordertosolvetheurgentneedssuchastimeliness,datatransmissionspeed,dataprocessingcapability,asewagetreatmentdataacquisitionsystembasedonCANbusisdesignedinthispaper,Accordingtotherequestofsewagetreatmentsystem,thispaperusePXA270designedbytheIntelastheprocessorofthemainplatform,anduseLPC2119chipof32-bitARM7coreasthecontrollerofdataacquisitionnode,basedonthose,fourpartsofhardwarecircuits(digitalinputandoutput,analoginputandoutput)wereseparatelydesigned.SelectingCANbustodatecommunication,becauseofitshighreliability,timelinessandflexibility,thesystemcansatisfythepracticalneedsefficiently.BasedonthelocalcontrolnetworkusingARM7chipwithCANcontroller,whichmadefulluseoftheadvantagesof32-bitcontroller,andrealizedthenetworkcommunicationofCANbasedonARM,andfinishedthedesignofdataacquisitionsystemforsewagetreatmentscene.Throughthesystemtest,monitoringsystemhaswelltimeliness,fastdatatransmissionspeed,gooddataprocessingcapability.Keywordsembeddedsystem;ARM;CANbus;dataacquisitionII\n目录目录摘要...............................................................................................................................IAbstract.......................................................................................................................II第1章绪论.................................................................................................................11.1课题背景............................................................................................................11.2国内外研究现状................................................................................................21.3课题研究的目的和意义....................................................................................51.4主要研究内容....................................................................................................6第2章CAN总线概念及相关协议............................................................................72.1CAN总线简介....................................................................................................72.2CAN总线通信协议介绍....................................................................................82.2.1基本概念.....................................................................................................82.2.2分层结构.....................................................................................................92.3本章小结..........................................................................................................10第3章数据采集系统硬件平台的设计...................................................................123.1嵌入式微处理器的选择..................................................................................123.1.1数据采集系统常用的架构.......................................................................123.1.2ARM体系结构...........................................................................................133.2PLC2119介绍...................................................................................................133.3总体电路设计思路..........................................................................................143.4主控平台的硬件电路设计..............................................................................153.5数据采集电路设计..........................................................................................163.5.1数字量输入模块.......................................................................................163.5.2数字量输出模块.......................................................................................203.5.3模拟量输入模块.......................................................................................213.5.4模拟量输出模块.......................................................................................253.6本章小结..........................................................................................................28第4章数据采集系统的软件设计...........................................................................294.1LPC2119驱动程序分析...................................................................................294.1.1main函数流程图........................................................................................294.1.2中断函数...................................................................................................31III\n目录4.1.3初始化的分析...........................................................................................324.1.4串口接收、处理数据...............................................................................344.1.5CAN总线发送数据...................................................................................354.1.6接收环形缓冲区.......................................................................................364.1.7接收CAN总线数据..................................................................................384.2PXA270的SPI总线程序设计..........................................................................394.3本章小结..........................................................................................................43第5章系统测试分析...............................................................................................445.1数据采集模块的测试分析..............................................................................445.1.1数字输入输出电路的测试.......................................................................445.1.2模拟输入电路的测试分析.......................................................................455.1.3模拟输出电路的测试分析.......................................................................465.2CAN总线“0”、“1”的定义.............................................................................465.3CAN的数据帧格式..........................................................................................475.4测试流程..........................................................................................................485.5本章小结..........................................................................................................51结论.............................................................................................................................52参考文献.....................................................................................................................53哈尔滨工业大学硕士学位论文原创性声明及使用授权书.....................................56致谢.........................................................................................................................57IV\n第1章绪论第1章绪论1.1课题背景水是人类生存必不可少的条件之一,没有水,也就没有生命的存在,据统计地球表面的水储量大约有140亿亿立方米,但淡水资源只有3.5亿亿立[1,2]方米,在这有限的淡水资源中,仅有0.34%的水是人类可以利用的。与此同时,人类活动所造成的水污染,又使大量宝贵的水资源失去了利用价值,从而进一步加剧了水资源的危机。水资源短缺的问题,目前已引起国际[3,4]社会以及我国政府和民众的广泛关注。有专家预言,水资源短缺将成为[5]人类二十一世纪面临的最为严重的资源问题。近年来,随着我国经济的发展,人们生活水平的提高,导致人类对淡水资源的需求与日俱增,不少地区出现了水资源不足和用水紧张的问题。为了缓解水资源短缺的矛盾,遏止水环境恶化的趋势,有关部门正在加大节约和保护工作的力度。原水利部部长汪恕诚提出,要转变以往比较注重水资源的开发、利用、治理,对水资源的配置、节约、保护重视不够的局面,要把节约和保护水资源作为一项重大国策,实现由工程水利向资源水利,由传统水利向现代水利、可持续水利的转变。水资源日益紧缺,环保节能政策逐渐完善,使得如何合理有效、经济环保地利用水资源成为水资源利用及处理的研究重点。水处理控制系统是城市水资源管理的一个很重要的辅助系统,控制系统的有效开发直接影响水资源的开发和保护。目前,我国在水处理上在统筹规划、综合治理的基础上,采取了实际步骤加强水资源节约和保护工作。在计划上,改变以往单纯的工程计划方式,将节水、水资源优化调度、水环境保护等方面的项目摆到重要位置,加快建设和发展。在体制上,切实加强流域管理职能,积极推进城市水务局管理体制的建立,为水资源的科学配置提供体制保障。在管理上,制订和完善科学的管理制度和措施,充分利用水价、水资源费等经济杠杆,采用有效的科技和经济手段实现水资源的优化配置,提高水资源的利用率,发挥综合效益。然而,在我国资源消耗高、浪费大、环境污染严重等问题依然存在,随着经济的快速增长和人口的不断增加,淡水、土地、能源、矿产等资1\n第1章绪论源不足的矛盾更加突出,环境压力日益增大。今年,我国西南地区的大旱进一步给我们敲响了警钟,在全社会树立节约意识、节约观念,倡导节约文化、节约文明,广泛开展内容丰富、形式多样的资源节约活动,积极创建节约型城市、节约型政府、节约型企业、节约型社区已经势在必行。我国经济近年来取得了平稳快速的发展,但是环境保护问题也日趋严峻,尤其是水质污染也成为政府亟待解决的难题。在保护水源的同时,我们应该突破以往水利工程科学的科研模式,不仅要加强水利基础科学研究,而且要发展综合学科、交叉学科,提高水处理控制系统的信息化和智能化水平,在现有的水处理控制技术的基础上,寻求技术突破和创新,最大限度的[6]节约水处理设备的能耗,提高水处理的效率。1.2国内外研究现状当前水厂采用的自动控制系统的结构形式,从自控的角度可以划分为数据采集与监视控制系统系统(SupervisoryControlAndDataAcquisition,SCADA)、集散型控制系统(DistributedControlSystem,DCS)、IPC+PLC(IndustrialPersonalComputer&ProgrammableLogicController)系统,即工业个人计算机与可编程逻辑控制器构成的系统等。SCADA系统组网范围大,通讯方式灵活,但实时性较低,对大规模和复杂的控制实现较为困难。近年来,采用DCS技术的计算机控制,取代了常规仪表和手动操作,在实现水生产的分散自动控制和集中监控方面,取得了一定的进展。但基于DCS的系统存在一些重要缺陷,一方面传统的DCS系统是自封闭式的集散系统,难以实现设备之间以及系统与外界之间的依靠交互和共享,使自动化系统成为“信息孤岛”;另一方面传统DCS系统的现场底层传感器和数据采集器之间采用一对一物理连线和模拟信号传输导致大范围布线,给现场施工带来很大麻烦,同时,信号传输的抗干扰能力也较差。现场总线(FIELDBUS)就是顺应这一形势发展起来的新技术。现场总线技术通常采用IPC+PLC的控制方案,IPC+PLC系统既可实现分级分布控制,又可实现集中管理分散控制。而且PLC本身可靠性高,组网、编程和维护很方便,开发周期很短,系统内的配置和调整又非常灵活,可与工业现场信号直接相连,易于实现机电一体化。因此,IPC+PLC系统成为了当今水厂自动控制系统的主要结构形式。美国的休斯敦市政工程部污水处的BaDieu利用SCADA系统实现对休斯2\n第1章绪论[8]敦工业污水的水处理。整个系统的结构框图如图1-1所示:从该图可以看出,SCADA主要是采用计算机技术实现对水处理工艺环节的分级控制。图1-2基于SCADA的城市污水处理系统德国的贝尔格莱德市采用IPC+PLC方案完成的城市给水工程监控,系统结构如图1-2所示:图1-2采用IPC+PLC的城市给水控制系统3\n第1章绪论在水处理厂的各个厂房,采用SCADA和PLC技术相结合实现对仪器仪表的控制,在需要进行远程控制的设备,采用GPRS(GeneralPacketRadio[9]Service)进行远程控制。目前国内高端污水处理设备和技术主要依赖进口。这种大型的系统从安装调试到设备的运行维护维修都比较困难,设备的购买和维修成本都相当高,这在一定程度上阻碍了污水处理系统在各种中小场合的使用。污水处理系统是一套复杂的自动控制设备,当前国内外采用上下位机结构,下位机进行数据采集和数据处理,上位机与下位机进行数据通讯并实时监控。其中下位机多采用单任务的顺序机制,应用程序是一个无限的大循环,事件按顺序执行,对实时性要求强的事件靠定时中断来实现。这种编程方式较为直观,[10]但存在两个缺点:实时性差和稳定性差。广州致远电子有限公司根据多年的工业通信和工业数据采集控制经验,提供了一套较完整的解决方案,采用方便的GPRS网络实现灵活的远程监控的实用型分级污水处理系统方案。对于大型正规的污水处理工程,相关部门有监控的责任,以便能实时掌握企业的污水处理情况做到有效管理。在当地监控中心不方便连接Internet的情况下,可采用移动的GPRS网络轻松完成远程监控。在当地监控中心加一个GPRS无线数据传输模块ZWG-22A,ZWG-22A将必要的数据上报到远程监管中心。这样传输的数据量较小,通信费用的成本也会得到较好的控制。远程监控中心通过Internet网络即可获取ZWG-[11-13]22A的上报数据。图1-3GPRS网络远程监控系统郓城县污水处理厂采以OMRON公司的CJIM和SIEMENS公司的S7-4\n第1章绪论300、S7-ZOOPLC作为数据采集及控制单元,配合各种检测仪表和控制设备对污水的液位、流量、pH值、温度及溶解氧浓度等控制量进行数据采集,同时,按照控制要求对各个现场设备如粗细格栅、提升泵、鼓风机等进行相应控制。本系统根据工艺流程和控制要求设立了5个分布站,各站通过以太网与上位机相连。上位机通过亚控公司的组态网和各站进行数据交换,从而[14-15]实现集中控制。濮阳污水处理系统RTK和全站仪联合采集数据应用于生产的作业流程,分析图根点与碎部点数据采集、分离和处理的方法。分离后的图根点数据以原始测量数据形式参与平差,获取图根点坐标。碎部点数据经处理后以*·dat格式输入计算机编辑成图。该方法避免了作业员重复进入同一作业区域,达到了优势互补,简化程序,减少误差,提高效率,保证精度,节省人[16]力和物力的目的。绵阳市三水厂进行污水处理,采用了一种基于单片机的污水处理控制系统。该系统以AT89C52为硬件平台,针对污水的较为典型的水质参数进行连续在线检测,并依据参数变化采用模糊控制策略自动调节多种净水剂的投放量,控制各个泵、阀、搅拌器的工作状态,从而实现了对多种水质参数的闭环控制。通过RS-485通信接口将数据和状态信息上传到上位机显示和存[17]储。1.3课题研究的目的和意义我国水厂的基本现状是:水工业整体技术水平低,特别缺乏供水系统监控技术与人才;水工业仪表与装备基础薄弱,国产的专用水质在线检测仪表及主要装备性能难以满足供水企业的需要;受社会经济发展水平限制,供水企业经济实力不足,除了少数较大型企业有能力通过贷款等方式引进国外的先进技术与设备、发展供水监控系统外,多数的中型水厂面临的是缺资金、少技术、进口设备买不起、国产设备质量不过关的局面。同时,引用国外进口水处理控制设备成本较高,限制了其在中小水厂的推广和应用。因此,开发出适合于中小型水厂使用的价格低、性能可靠的水厂自动控制系统具有很显著的经济效益和社会意义。本课题主要采用嵌入式ARM微处理器,设计了一种基于CAN总线的水处理数据采集和控制系统了,整个系统采用模块化设计的思想,能够完成数字输入、数字输出、模拟信号输入和模拟信号输出四种信号的采集,数据5\n第1章绪论采集单元具有相互独立,具有较强的扩展能力;整个系统通信链路采用CAN总线进行传输,相对于传统水厂使用的PROFIBUS总线,在相同的传输距离下,该系统具有更快的传输速率。该系统具有成本低、扩展能力强、传输速率快等特点,适合于在中小型水厂推广和使用。1.4主要研究内容本课题在调研国内外水处理控制技术的基础上,采用CAN总线与ARM嵌入式系统相结合的技术,设计了一种面向水处理的数据采集和控制系统,主要研究内容包括以下几个方面:(1)结合水厂相关项目学习并掌握CAN总线的相关协议及CAN总线系统的设计;(2)采用ARM为核心处理器,完成了数字输入、输出,模拟输入、输出以及CAN通信模块的电路设计。(3)编写水处理数据采集和CAN总线的通信软件;(4)在硬件电路板上进行调试,对系统性能进行测试。6\n第2章CAN总线概念及相关协议第2章CAN总线概念及相关协议控制器局域网(CAN)为串行通信协议,能有效支持具有很高安全等级的分布式实时控制系统。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。在汽车电子航行里,使用CAN连接发动机控制单元、传感器、刹车系统、电子系统等,起传输速度可达1Mbps。同时,可将CAN安装在卡车的电子控制系统里,侏儒车灯组、电气车窗等,[18-20]用以代替接线配线装置。2.1CAN总线简介CAN-bus是德国Bosch公司于1983年为汽车应用而开发的一种能有效支持分布式实时控制的串行通信网络,属于现场总线的范畴。1993年11月,ISO正式颁布了控制器局域网CAN国际标准,CAN总线的通信介质可采用双绞线,同轴电缆和光导纤维。通信距离与波特率有关,最大通信距离可达10km,最大通信波特率可达1Mbps。CAN总线仲裁用29位(CAN2.0B协议)标志和非破坏性位仲裁总线结构机制,可以确定数据块的优先级,保证[21]在网络节点冲突使最高优先节点不需要冲突等待。目前,CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比[22]高,特别适用于分布式测控系统之间的数据通信。CAN总线具有极高的可靠性、数据传输速率高、传输距离较长、实时[23]性强,特别适合工业现场监控设备的互联。相对于其它总线,CAN有以下优点:(1)采用通信数据块编码,可实现多主工作方式,数据收发方式灵活;(2)采用非破坏性基于优先权的总线仲裁技术;(3)信号传输用短帧结构,传输时间短,受干扰的概率低;(4)发送的信息遭到破坏后,可自动重发;(5)不关闭总线即可任意连接或拆除节点,增强了系统的灵活性和扩展性;(6)采用统一的标准和规范,使各设备间具有较好的互操作性和互换性;7\n第2章CAN总线概念及相关协议(7)报文不包含源地址或目标地址,仅用标识符来指示功能信息、优先级信息;(8)通信介质可采用双绞线,现场布线和安装简单,易于维护,经济性好。作为一种技术先进、可靠性高、性能完善、成本合理的远程网络通信控制方式,CAN总线已经被广泛应用到各个自动化控制及检测系统中,从高速的网络到低价位的多路接线都可以使用CAN总线,如汽车电子、自动控[24-27]制、智能大厦、电力系统、安防监控等领域。2.2CAN总线通信协议介绍2.2.1基本概念(1)报文(Messages)如前文所述,CAN总线上的通讯以报文为单位,每个报文即为一帧数据。总线上的报文以不同的固定报文格式发送但长度受协议限制,当总线空闲时任何连接的单元都可以开始发送新的报文。(2)优先权(Priorities)在总线访问期间,由报文的标识符(ID)定义了该报文的优先权报文1和报文2的标识符前三位均为“0,1,0”,第四位开始出现不同,报文1为‘1’,报文2为‘0’,因为CAN总线上的“线与”原则,此时总线上的信号被报文2拉低为‘0’,也就是说此时总线上其它设备(包括发送报文1的设备)得到的报文ID为‘0’,可见此时报文1所发送的报文ID被报文2的ID所屏蔽,因此当总线上两个节点同时发送报文时,标识符较低的节点获得优先权,而标识符较高的节点在检测到报文优先级较低时会停止发送报文,等待一定时间后重发(该功能由总线控制器实[28]现)。(3)远程数据请求(RemoteDataRequest)通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧,数据帧和相应的远程帧是由相同的标识符命名的。(4)位速率(Bitrate)不同的节点中的时钟速率不尽相同,但是在一个给定的系统里,位速率是唯一并且是固定的,同时与总线接口时应采取固定的位速率。(5)多主机(Multi-master)总线空闲时任何单元都可以开始传送报文,具有较高优先权的报文单元可以获得总线访问权。8\n第2章CAN总线概念及相关协议(6)仲裁(Arbitration)只要总线空闲任何单元都可以开始发送报文。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用了标识符的逐位仲裁可以解决这个冲突。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时初始化时数据帧优先于远程帧。仲裁期间每一个发送器都对发送位的电平与被监控的总线电平进行比较,如果电平相同则这个单元可以继续发送,如果发送的是一隐性电平而监视的是一显性电平,那么单元就失去了仲裁必须退出发送状态。(7)连接(Connections)CAN串行通讯链路是可以连接许多单元的。总线理论上可连接无数多的单元,但由于实际上受延迟时间以及总线线路上电气负载的影响,连接单元的数量是有限的。(8)应答(Acknowledgment)所有的接收器都会检查报文的连贯性。对于连贯的报文接收器应答,对于不连贯的报文接收器做出标志。2.2.2分层结构CAN结构分为两层:数据链路层和物理层。在系统开发中,对物理层只需简单了解,它只和总线定时/同步有关。对于应用来说,要重点了解数据链路层,由逻辑链路控制(LLC)和媒体访问控制(MAC)两个子层组成,它是CAN控制器的基础,也是利用CAN控制器实现CAN通信的基础。编程、调试、系统运行的故障分析、数据缓急设计都依赖于对数据格式、帧[29-30]结构、错误界定及仲裁等的准确理解。下面详细介绍数据链路层的两个子层。(1)LLC子层LLC子层的功能包括:帧接收滤波、超载通告和恢复管理。帧的数据含义由帧标识符描述,每个接收器通过帧接收滤波确定此帧是否与其有关。对于丢失仲裁或被错误干扰的帧,LLC层具有自动重发功能。LLC帧分为数据帧和远程帧。LLC数据帧结构如下表2-1所示:表2-1LLC数据帧结构标识符场DLC场LLC数据场标识符长度为11位或29位,其最高七位(ID10--ID4)不能全为“1”,理由,MAC数据帧结束由7个“隐性”位构成。DLC场中的DLC指出数据场字节个数,由4位构成,数据场长度为0-8字节,所以DLC场中的数据不可大于8。数据场包括0-8个字节的被发送的数据。(2)MAC子层MAC子层功能包括数据的接受和发送。MAC帧分为59\n第2章CAN总线概念及相关协议种:MAC数据帧、MAC远程帧、出错帧、超载帧、帧间空间。MAC数据帧、MAC远程帧将LLC数据帧、LLC远程帧打包。MAC数据帧格式:各个场中,要注意ACK场对系统实现的影响。ACK场为两位:ACK隙和ACK界定符。发送节点的ACK场送出两个“隐性”位。在ACK隙内,所有接收到匹配的CRC序列的节点,以“显性”位改写发送方ACK场中的“隐性”位作为收到此帧的应答。因此,在通信时,即使发送帧收到应答,也不一定说明此帧的目标方就一定正确收到该帧。因为假设目标方不在线,它将不改写发送帧中的ACK隙位,而其他节点正确收到该帧,它将改写发送帧中的ACK隙位,二者的结果是“显性”位,发送方收到了应答,这只能说明至少有一个节点正确收到了该帧。注意,这并不与CAN协议中信息路由的数据一致性矛盾。信息路由的数据一致性的意思是说,在CAN网络中,信息要么被所有节点同时收到,要么所有节点都收不到。这是针对所有在线节点而言,目标站点根本不在线时,也就无从谈起接收了。另外,帧结束由7个“隐性”位构成,这也是为什么标识符的最高7位不能全为“1”的原因。MAC子层媒体访问技术及仲裁。当允许节点访问总线时,可以访问总线的节点均为总线主站。当许多节点一起开始发送时,只有发送具有最高优先权的节点变为总线主站。这种解决总线访问冲突的机理是基于竞争的仲裁。仲裁期间,每个发送器将发送位电平同总线上检测到的电平进行比较。若相等,则该节点可以继续发送后面的位。当送出一个“隐性”电平,而检测到的为“显性电平”时,表明节点丢失仲裁,该节点将停止继续发送。当送出一个“显性”电平,而检测到的为“隐性电平”时,表明节点检测出位错误。优先权由标识符和紧随其后的RTR位决定。具有不同标识符的两帧中,二进制数值低的标识符,其优先权较高。若具有相同标识符的数据帧和远程帧同时被初始化,远程帧的优先权低于数据帧。仲裁还不能完全解决冲突,在系统实现时,必须遵循以下的原则,方可解决冲突的问题。在一个系统中,每条信息必须标以唯一的标识符;具有给定标识符和非零DLC的数据帧仅可由一个节点启动:具有相同标识符和不同[31]DLC的远程帧同时发送,将导致不能解决的冲突。2.3本章小结本章介绍了CAN总线的概念,详细介绍了CAN总线的通信协议,其中包括报文、优先权、远程数据请求、仲裁、应答等相关概念和分层结构10\n第2章CAN总线概念及相关协议(数据链路层和物理层),并详细介绍了数据链路层中逻辑链路控制和媒体访问控制两个子层的功能。11\n第3章数据采集系统硬件平台的设计第3章数据采集系统硬件平台的设计嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。根据水厂分布式和实时性等特[32-35]点,我们选择ARM作为水厂控制的微处理器。3.1嵌入式微处理器的选择3.1.1数据采集系统常用的架构(1)以电脑为核心:系统资源丰富、各种外设,系统的数据处理和分析能力极强,是目前各种方案中功能最完善的一种体系。但是,其价格昂贵、功耗过高、体积、重量较大,需要外部电源。这些特点不适合应用于自然环境恶劣的野外工作,限制了该方案的运用。(2)以嵌入式工控机PC104为核心:PC104是一种专门为嵌入式控制而定义的工业控制总线,近年来在国际上广泛流行。以PC104为核心的设备在功能上能够满足数据采集的需求,但是相对而言,它的功耗较高,价格昂贵,故采用PC104为核数据采集系统的处理核心也并不适合。(3)以单片机为核心:以51为代表的单片机结构简单、低功耗、种类繁,能够完成简单的控制和数据处理功能。但是核数据采集系统中除了完成数据采集与传输的控制外,还需要挂接许多外围接口设备,具有处理大量数据和良好的人机交互能力。单片机的片内资源相对紧张,速度慢,不能满足数据存储及处理的要求。(4)以DSP为控制核心:DSP是一种独特的微处理器,具有强大的数据处理能力和高运行速度,特别适合进行数字信号处理运算,但是与通用微处理器相比,DSP芯片的其他通用功能(对外设的支持)相对较弱。12\n第3章数据采集系统硬件平台的设计(5)采用ARM嵌入式微控制器为核心:近年来,迅速发展的ARM嵌入式微控制器,大都具有性能高、成本低和能耗低的特点。并且外设资源比较丰富,有很多支持IZC、SPI、CAN-BUS、USB、LCD等接口的MCU,目前已经应用于多种领域,比如嵌入控制、消费/教育类多媒体和移动式应用等。其优点也可满足核数据采集系统应用于便携式仪器的低功耗、集成度高[36]等特点,因此本系统选用嵌入式微控制器作为控制中心。表3-1数据采集系统常用架构的对比核心优点不足电脑系统资源丰富、各种外设,系统的其价格昂贵、功耗过高、体积、重数据处理和分析能力极强量较大,需要外部电源PC104专门为嵌入式控制定义的工业控制功耗较高,价格昂贵总线,功能上能够满足需求单片机结构简单、低功耗、种类繁片内资源相对紧张,速度慢,不能满足数据存储及处理的要求DSP强大的数据处理能力和高运行速度其他通用功能(对外设的支持)相对较弱ARM性能高、成本低和能耗低的特点。不适合高端应用并且外设资源比较丰富由表3-1可以看出,结合水处理的实际需要,我们选择ARM嵌入式处理器为核心来设计数据采集系统。3.1.2ARM体系结构ARM是AdvancedRISCMachines的缩写,顾名思义ARM处理器自然也是一种典型的精简指令集处理器。ARM处理器的核心技术来自于英国的一家IC软核设计公司——ARM公司。ARM公司是为数不多的以嵌入式处理器IPCore设计起家而获得巨大成功的IPCore设计公司。自20世纪90年代成立以来,在32位RISCCPU开发领域不断取得突破,主频最高已经达到1GHz。ARM处理器核当前有6个系列产品ARM7,ARM9,ARM9E,ARM10E,SecurCore以及最新的ARM11系列。ARM处理器在32为嵌入式应用领域获得了巨大的成功,目[37]前己经占有75%以上的32位嵌入式产品市场。3.2PLC2119介绍由于LPC2119具有片内集成的CAN控制器及相应的功能,因此我们选择13\n第3章数据采集系统硬件平台的设计LPC2119作为数据采集的处理器。LPC2119是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STMCPU,并带有128KB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。具有非常小的64脚封装、极低的功耗、多个32位定时器C、2路CAN、多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400kHz)和2个SPI接口,46个GPIO以及多达9个外部中断,内部集成2个CAN控制器,单个总线上的数据传输速率高达1Mb/s。特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。下面简单介绍下LPC2119的主要功能:(1)ARM7TDMI-S处理器是通用的32位微处理器,它具有高性能和低功耗的特性。(2)片内FLASH程序存储器:LPC2119集成了一个128K的FLASH存储器系统。该存储器可用作代码和数据的存储。(3)片内静态RAM:LPC2119具有16K字节静态RAM,SRAM可用作代码和/或数据的存储。SRAM支持8位、16位和32位访问。SRAM控制器包含[38]一个回写缓冲区,它用于防止CPU在连续的写操作时停止运行。(4)CAN控制器和验收滤波器:LPC2119包含2个CAN控制器。集成的CAN控制器主要特点为32位寄存器和RAM访问,兼容CAN2.0B,ISO11898-1规范,全局验收滤波器可以识别所有的,11位和29位Rx标识符,而[39]且验收滤波器为选择的标准标识符提供了FullCAN-style自动接收。3.3总体电路设计思路整套系统的大致框图如下。其中PXA270核心电路中内置两片SDRAM和一个NandFlash和一个NorFlash用于存储程序数据;MCP2515通过SPI总线与PXA270通信,另一端通过收发器加载到CAN总线上;数据采集模块内含CAN控制器的LPC2119芯片,外接驱动芯片即可接到CANBus上,实现通讯;通过数字量输入、输出,模拟量输入、输出四种模块实现数据采集和设备的控制,整个系统采用模块化设计的思想,个系统的整体电路框图如图3-1所示。14\n第3章数据采集系统硬件平台的设计图3-1总体设计框图3.4主控平台的硬件电路设计PXA270是Intel公司开发的基于XScale架构的处理器,内核采用ARMv5TE,外围控制器众多。内置了Intel的无线MMX技术,能够显著的提升多媒体性能,此外PXA270也包含了Intel的SpeedStep技术,能够根据需要动态调节CPU的性能,真正实现了低功耗,高性能。同其他XScale处理器一样,支持多种嵌入式操作系统,如Linux、Windows、WinCE、Nucleus、PalmOS、VxWorks、Java等。MCP2515是一种独立的CAN总线通信控制器,是Microchip公司首批独立CAN解决方案的升级器件,最大时钟输入速度为40MHz并具有一个10MHz的高速SPI接口,其传输能力较Microchip公司原有CAN控制器MCP2510高两倍,此外MCP2515还有基于头两个数据字节和11个标识符位进行信息筛选的功能。当需要支持DeviceNet等更高层协议时,该功能有15\n第3章数据采集系统硬件平台的设计助于减少对单片机的过高要求MCP2515可利用数据字节和标识符位来确定某些节点是否应该接收或处理CAN报文,它还有助于在确定的系统中(如时间触发CAN-TTCAN)执行时隙功能。当一次性模式准备就绪时,无论发生任何仲裁损失或错误帧结构,报文都可被一次性传输。MCP2515是一种独立的CAN控制器,可通过SPI方式与单片机接口实现CAN通信,最高通信速率可达到1Mbps。MCP2515能够接收和发送标准数据帧和扩展数据帧以及远程帧,通过两个接收屏蔽寄存器和六个接收过滤寄存器滤除无关报文,从而减轻主单片机负担。主控平台采用Intel的PXA270作为微控制器,MCP2515作为独立的CAN控制器。节点的报文收发采用中断控制,并且根据输入值自动产生并发送报文;同时支持CAN标准数据帧和扩展数据帧。微控制器PXA270通过SPI总线初始化MCP2515和通过控制MCP2515实现数据的接收和发送以及模拟数据量采集和转换。3.5数据采集电路设计3.5.1数字量输入模块数字量输入模块的主要主要是用于采集水厂设备的运行状态,通常包括设备的运行指示信号和运行故障反馈信号等,统的整体电路框图如图3-2所示。图3-2数字输入模块框图数字量输入模块主要完成24路输入数字信号的采集,水厂设备的输入信号为24V电压信号,处理器的工作电压为3.3V,为了实现高低压的隔离,系16\n第3章数据采集系统硬件平台的设计统中使用高速光耦来实现,LPC2119将采集的数字输入信号通过总线控制器发送到CAN总线上,从而完成数字量输入信号的采集3.5.1.1处理器外围电路设计由于数据采集板卡均包括LPC2119及其外围电路和CAN驱动电路,因此在这集中介绍,在其后的数字量输出及模拟量输入输出电路中将不在重复[40]介绍。(1)复位电路设计微处理器在上电时状态并不确定,则造成微处理器不能正常工作,通过外部输入的复位逻辑信号使微处理器初始化为某个确定的状态,这都通过复位电路来实现。在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多系统设计完成,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是由于系统的复位电路设计不可靠引起的。由于ARM芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。在这里我选择具有看门狗输入、复位的电源电源电压监控器TPS3824来设计复位电路。图3-3复位电路(2)系统时钟电路设计LPC2119可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHz)。在本设计中,使用了外部16M晶振,用1M电阻并接到晶振的两端,使系统更容易起振,并使波特率更精确,如图3-4所示。17\n第3章数据采集系统硬件平台的设计图3-4时钟电路(3)JTAG接口电路用于系统调试,在系统开始开发时需要调试,成为产品之后便不需要。在本设计一中采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与LPC2119的连接如图3-5所示。图3-5JTAG接口电路3.5.1.2电源电路设计LPC2119使用两组电源,I/O口供电电源为3.3V,内核以及片内外设供电电源为1.8V。系统对这两组电压的要求比较高,且其功耗不是很大,所以不适合用开关电源,应当使用低压差模拟电源。电源5V再使用LDO芯片(低压差电源芯片)稳压输出3.3V及1.8V电压。LDO芯片采用了SPX1117MPX-1.8和SPX1117MPX-3.3,其特点为输出电流大、输出电压精度高、稳定性高,还具有电流限制和热保护功能。使用时,其输出端通常需要一个至少10μF的钽电容来改善瞬态响应和稳定性。系统电源电路如下图3-6所示。18\n第3章数据采集系统硬件平台的设计图3-6电源电路3.5.1.3光电隔离电路水厂实际运行的设备状态通常为24V直流电压信号,为了避免输入24V电压对微处理器的损坏,本设计中采用的是型号PC400的光耦以达到高低压隔离的效果,其电路如图3-7所示。C6C7C8C34C35DGNDDS_IN_1DGNDDS_IN_2DGNDDS_IN_3DGNDDS_IN_23DGNDDS_IN_24104104104104104R5R6R7R41R4247R47R47R47R47RU5U6U7U27U283131313131pc400pc400pc400pc400pc400456456456456456S_OUT_1GNDVDD5S_OUT_2GNDVDD5S_OUT_3GNDVDD5S_OUT_23GNDVDD5S_OUT_24GNDVDD5R19R20R21R53R54280R280R280R280R280R图3-7光电隔离电路19\n第3章数据采集系统硬件平台的设计3.5.1.4CAN驱动电路的设计在CAN通信电路,设计中,采用CAN2119内部集成的CAN控制器,CAN收发器采用CTM1050,该芯片内部集成了所有必需的CAN隔离及CAN收、发器件,这些都被集成在不到3平方厘米的芯片上。芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC2500V的隔离功能及ESD保护作用,如图3-8所示。图3-8CAN驱动器电路设计3.5.2数字量输出模块数字量输出模块主要用于泵阀的开关,控制泵风机的启停,数字输出模块的整体电路框图如图所示3-9所示。图3-9数字输出部分电路原理框图如上图所示数字量输出部分的主要功能是根据PXA270发送的控制指令,输出数字电平信号,实现对水厂设备的启停控制。数字输出电路主要通20\n第3章数据采集系统硬件平台的设计过LPC2119的I/O管脚输出高低电平控制继电器的导通实现的,由于继电器吸合时需要一定的电流,为了增强LPC2119I/O口的驱动能力,在设计中采用三极管进行电流放大来实现。通常水厂设备工作电压为220V,为了避免220V电源电压对微处理器的影响,系统设计中采用了两极继电器,在数字输出电路中只集成了5V输入24V输出继电器,后级大功率继电器采用本级继电器进行推动,数字输出继电器输出电路如图3-10所示。图3-10继电器输出电路3.5.3模拟量输入模块设计的模拟量输入电路模块具有8路模拟量输入,模块在工作时,由于AD芯片一时刻只能转换一路模拟信号,因此,多路模拟信号需要先经过模拟多路开关片选,选择其中的某一路进行转换。所要采集的模拟量信号一般较微弱,位于毫伏量级,如果直接送到AD芯片进行模数转换,会因为信号微弱而达不到效果。因此,模拟信号在送入到AD芯片进行模数转换之前要先经过信号调理,譬如,信号的放大、滤波等等。经过信号调理电路调理之后的信号变得可测,再送入到AD芯片进行模数转换,完成转换之后[40-41]的数字量通过LPC2119经CAN总线送入上位机。如下图所示。21\n第3章数据采集系统硬件平台的设计图3-11模拟输入电路原理框图3.5.3.1信号调理电路水厂传感器通常输出的4-20mA电流信号或者RS232信号,为了实现多路数据的采集和所有数据采集模块的一致性,本部分采集水厂传感器的4-20mA电流信号。信号经过电流电压转化电路后经8通道单端输入模拟多路复用器MPC508片选,再经过仪表放大器AD620放大及滤波器滤波后将信号传递到AD转换芯片。(1)模拟多路开关MPC508:本设计选用MPC508多路开关集成芯片,这是一款单端8通道,差分4通道的CMOS模拟多路复用器。MPC508的工作电压设定在±15V,使能端EN接高电平,使其处于有效状态,正常工作时,输入的模拟信号幅度范围为±15V。被测的模拟信号经过信号调理电路后被引入MPC508的模拟输入端(IN1~IN8)。MPC508的模拟选择端A2、A1、A0分别与单片机的SAA0、SAA1和SAA2相连接。MPC508的输出管脚OUT与A/D转换器的模拟输入脚相连结。微处理器通过改变SAA0、SAA1和SAA2端口的值来选择IN1~IN8的模拟输入。22\n第3章数据采集系统硬件平台的设计图3-12模拟多路开关(2)仪表放大器AD620:是一款低功耗、高精度仪表放大器,具有很好的直流特性和交流特性,这里结合实际的采集环境只需要调节Rg的值就可以达到放大的效果。仪表放大器是一款差分放大器,能够很好的去除差分输入端的噪声,为了实现对系统噪声的去除,多路模拟开关输出的信号经过1:1的方向放大器后,得到两路差分信号,差分信号由AD620的2,3脚输入,差分放大倍数由R30进行调节,实际的电路图如下:图3-13仪表放大器23\n第3章数据采集系统硬件平台的设计(3)滤波器:AD620放大后的信号,通常包含有大量的交流噪声,为了提高传感器的测量精度,在AD采样前,必须进行滤波,这里选择常用的二阶反馈低通滤波器。电路由低通R22-C34级以及后面由R23,C35组成的积分器和运算放大器所组成,能进行低通滤波。另外,通过R23的正反馈应能对Q进行控制。此电路的截止频率ω,直流增益H,品质因数Q表达式00如下:R19H=−(3-1)0R231ω=(3-2)0RRCC22233435C34C35Q=(3-3)RRRR2329+23+192RRR221923为了去除工频50Hz噪声的干扰,低通滤波器的截止频率设计在50Hz以内,为了保证模拟输入信号相位相同,在低通滤波器后级加了一级反向放大器,放大倍数为1,低通滤波器的电路如图3-14所示。图3-14滤波电路3.5.3.2AD转换电路AD芯片是模拟信号采集的核心器件,它负责完成对输入的模拟信号的[43-44]转换。它的性能直接决定着整个数据采集系统性能的优劣,因此对于AD芯片的选型至关重要。24\n第3章数据采集系统硬件平台的设计对于AD芯片的选型有如下几个重要的参数:转换位数,通道数目,采样率,接入方式,是否内含参考电压源。本设计中选用的AD芯片是凌力尔特公司的LTC1418,这是一款低功耗,转换位数为14位,采样率为200ksps的AD芯片,并且支持SPI串行接口和并行接口。单电源+5V供电时,输入电压的范围为0V到4.096V;双电源±5V供电时,输入电压的范围为±2.048。支持外部或者内部参考电压,支持两种掉电模式,过温时,数据不丢失。灵活的输出方式,允许串行或者并行接口。串行接口与SPI和MICROWIRE兼容,可以设置成主机模式或者从机模式,最高的数据传输速率达到10MHz。独立的转换开始(CONVST)和数据准备好(BUSY)的信号使得从转换开始到数据传输的控制变得简单。本设计中采用双电源供电,电源引脚需加电容旁路,通过电容接地。片选信号(CS)接地,使LTC1418一直处于选通状态。RD接地,使能读信号。SHDN接电源,禁止掉电模式。在本系统设计中,采用SPI接口,在AD转换时,LPC2119首先拉低/CONVST引脚,开启AD采样,待采样结束后,/BUSY引脚拉高,通知LPC2119采样结束,可以读取数据。LPC2119得到通知后,拉低读使能引脚/RD,通过SPI总线开始读取AD采样数据,AD采样电路如图3-15所示。图3-15AD转换电路3.5.4模拟量输出模块模拟量输出模块,主要用于输出模拟信号,实现对水厂设备的反馈控25\n第3章数据采集系统硬件平台的设计制,如电动蝶阀开启的角度以及计量泵的频率控制等。图3-16模拟输出部分电路原理框图设计的模拟量输出模块的主要功能是将CAN总线传递过来的4路数字信号经ARM7处理,由AD7836完成数模转换。本设计中选择的是模拟器件公司(ADI)的电压型DA芯片AD7836,该款DA芯片在一片里面集成了4路14位DA。参考电压为±5V,支持±10V全量程电压输出。AD7836的接口方式为并行接口,由CAN提供14位数据。AD7836接收LPC2119提供的数据,在写信号(WR),片选信号(CS)和DA通道地址信号A0、A1、A2的控制之下载入到某一个输入锁存器。AD7836内部有ABCDE,5个寄存器,由A0、A1负责控制输入锁存器中的数据送入ABCD中某个寄存器,例如当A1、A0=00时,锁存器中的数据被送入寄存器A。AD7836采用±15V供电电压,±5V参考电压,并且每路DA都有自己的参考电压和地。在本设计中没有用SEL功能,因此SEL引脚地禁能CS和WR引脚连接到LPC2119的GPIO上,LPC2119内部实现时序,负责控制AD7836的工作状态。DA转换电路如图3-17所示。26\n第3章数据采集系统硬件平台的设计图3-17DA转换电路为了提高模拟量输出的精度,在设计中,采用外接的参考电压源REF02,REF02能够输出精确的+5V参考电压,其电路图如下。图3-18参考电压源为了提高模拟量输出的电压驱动能力,在本电路中AD7836输出的4路27\n第3章数据采集系统硬件平台的设计模拟信号分别经过4个双运放LM358构成的电压跟随器,提高模拟电压输出的驱动能力,而且实现了驱动设备和模拟输出模块的隔离。图3-19信号驱动隔离电路3.6本章小结本章首先对核心微处理器进行比较,选择PXA270作为主控板的核心微处理器;选择带有CAN控制器的ARM7芯片LPC2119为数据采集模块的核心微处理器。详细介绍了采用LPC2119构建的数据采集电路:包括24路24V数字量输入模块、16路24V数字量输出模块、8路模拟量输入模块以及4路模拟量输出模块的硬件设计。模拟输入信号可以采集4-20mA的标准电流信号,模拟输出能够输出-10V—10V电压信号。28\n第4章数据采集系统的软件设计第4章数据采集系统的软件设计数据采集系统的软件部分主要分为CAN总线数据采集电路的软件设计[45]和PXA270的SPI总线驱动设计。整体通信过程为:由PXA270将要发送的帧数据通过SPI总线写入到MCP2515的相应的发送寄存器里,然后PXA270再通过SPI总线写入控制字到MCP2515的控制寄存器,产生发送命令,从而将寄存器中的数据按照CAN协议上的帧格式发送到CAN总线上,另一边由LPC2119接收到寄存器里,完成整个发送过程;通过PC机将CAN数据发送到串口总线上,LPC2119的串口接收并重组成CAN帧格式到它的发送寄存器里,之后自动发送到CAN总线上,另一边由MCP2515接收,通过PXA270不停对MCP2515的接收寄存器状态读取来检测接收是否正确。4.1LPC2119驱动程序分析在给部分设计中,数据采集系统未使用操作系统,而是采用了循环查询是否有数据到来的方法实现了通信。本节主要完成数据采集系统CAN总线收据收发部分软件。4.1.1main函数流程图main函数流程图如图4-1所示,由于软件设计没有采用操作系统,接收和发送数据不能同时进行,因此采用了在一个死循环内顺序查询的方式。首先LPC2119经上电初始化,然后就开始循环的发送和接收。发送的数据要求是从串口接收到的数据,但是难以保证数据是完整的CAN数据协议帧,因此必须判断是否接收到完整的一帧,满足了这个条件后才能将数据发送到CAN总线上,接收过程主要是检测环形缓冲区中是否有CAN总线上的数据,如果接收到数据,则读取数据并将数据转换为RS232协议,最后发送到[46]PC上显示。29\n第4章数据采集系统的软件设计开始初始化否串口是否接收到数据是解析串口数据否串口收到数据是否是完整的一帧处理接收环形缓冲区数据是将串口数据发送到CAN总线上否环形缓冲区是否有数据否是发送数据是否产生错误将数据发送到串口,通过PC显示向串口发送错误信息停止向串口发送数据系统检测CAN总线,将挂起的CAN激活图4-1main流程图30\n第4章数据采集系统的软件设计4.1.2中断函数开始否接收中断是否置位是写环形缓冲区否总线错误中断是否置位是总线错误处理否数据溢出中断是否置位是清除数据溢出标志位清除数据溢出标志位图4-2中断函数流程图当CAN控制器本身状态发生改变时,会将状态变化的结果告诉微处理器,所以微处理器可以采用中断的方式对CAN控制器做出相应的处理。由流程图可以看出本中断函数主要完成了接收中断、总线错误中断和数据溢出中断的处理,其中接收中断处理就是将接收相关寄存器的内容写到接收环形缓冲区中,等待读取。31\n第4章数据采集系统的软件设计4.1.3初始化的分析上电初始化的流程包括了目标板初始化、串口初始化、CAN控制器初始化三个过程。其中目标板初始化完成了设置系统各部分时钟、设置存储器加速模块、初始化VIC(向量中断控制器)三个功能;串口初始化设置了和PC的通信速率,保证了采集版能够和PC正常通信,另外串口发送采用的是查询的方式,所以不需要设置串口的中断;CAN控制器初始化是CAN总线能够正常接收和发送数据的前提,因此在正常通讯之前必须要对CAN控制器进行初始化。由于初始化只有在复位模式下才能开始进行,所以在上电或硬件复位后,CAN控制器必须处于复位模式。在该模式中,模式寄存器的RM位总是为1。如果CAN控制器不处于复位模式,RM位的置位(通过硬件或软件)将强制其进入复位模式。初始化的内容包括CAN控制器硬件使能、设置CAN报警界限、设置总线波特率、非向量中断初始化、设置CAN验收过滤器、设置工作方式、设置接收环形缓冲区等。CAN控制器的流程图如图4-3所示。图4-3CAN控制器初始化流程图CAN总线上所有的节点都必须具有相同的标称比特率,因此必须正确配置CAN的位时,否则CAN模块之间无法正常通信。由CAN协议规范知发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一个位可分为4段:同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)、相位缓冲段32\n第4章数据采集系统的软件设计2(PBS2)。这些段又由可称为TimeQuantum(以下称为Tq)的最小时间单位构成。1位分为4个段,每个段又由若干个Tq构成,这称为位时序。1位由多少个Tq构成、每个段又由多少个Tq构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点,采样点在PBS1结束处。在LPC2119中位时序是通过设定寄存器CANBTR来完成的。CANBTR的内容如下表所示:表4-1CANBTR寄存器功能CANBTR名称功能复位值RM置位0:9BRP波特率预分频器。VPB时钟波分频来产0X生CAN时钟。15:14SJW同步跳变宽度为(该值+1)个CAN时钟0X周期。19:16TSEG1指定同步点到采样点的延时时间为(该1100X域的值+1)个CAN时钟周期。22:20TSEG2采样点到下个指定同步延时时间为(该001X域的值+1)个CAN时钟周期。指定的CAN位时间为(该域的值+TSEG1的值+3)个时钟周期。23SAM1:总线采样3次(建议用于低到中速的0X总线);0:总线采样1次(建议用于高速总线)。在本文中波特率设为250K,1个位由16个TQ构成。SS段1个TQ;PTS段是3个TQ;SJW一般为1-2个TQ,在这里设为2个TQ。SJW的作用是当电平变化不是发生在SS段时,通过延长PBS1(加上SJW)或者缩短PBS2(减去SJW)来达到同步采样点的目的;TSEG1实际上就是PTS+PBS1的值-1,一般范围是2-16个TQ,此处设为8个TQ,则TSEG1的值为7;TESG2实际上就是PBS2的值-1,此处的值设为6;SAM设为0。周期为1/250000,位时间=TQ*16=1/250000,TQ=1/(250000*16),又TQ=(BPR+1)/VPB,VPB时钟在config.h中设置,程序中为Fosc16MHZ,则BPR=(16000/(250*16))-1=0x03,因此最后寄存器的值为0x00674003。在中断初始化的过程中,本程序将中断设为非向量中断,它和和向量中断存在一定的区别:向量中断将每一个向量中断都分配一个向量中断号,同时每一个中断对应于一个中断处理函数,并将中断处理函数的地址存到对应中断号的向量地址中。非向量中断不需要分配向量中断号,所有的中断都只对应一个中断处理函数,在中断处理函数中再查询标志位来确定具体是哪个中断源触发了中断。具体设置如下:33\n第4章数据采集系统的软件设计VICDefVectAddr=(UINT32)CANIntPrg;VICIntEnable|=(1<<19)|(1<<(20+CanNum))|(1<<(26+CanNum));//使能can所有的中断(针对中断控制器)CANIER(CanNum).Word=USE_INT_CAN[CanNum];//使能can所有的中断(针对CAN控制器)其中CANIntPrg为中断处理函数,CanNum为CAN通道号。4.1.4串口接收、处理数据在本文的程序设计中,CAN总线上要发送的数据是从串口上接收到的,因此必须将串口上的数据转换为满足CAN协议的数据。实例中这段程序采用的是状态机的写法,示意图如图4-4所示:图4-4串口数据处理示意图当串口接收标志位置位后,系统进入串口数据处理函数,首先检查收到的第一个数据是否是否是起始标志位SOF,如果是则转为第二个状态,如果不是则下次继续判断。进入第二个状态后,就会接收串口连续发送过来的14的字节数据,并将它们暂存到缓冲区中,然后转为第三个状态;在第三个状态中,就会接收到第15个字节即CRC,如果满足验证条件则使能CAN发送,如果不满足则会放弃整个数据。然后转入第一个状态。这种写法存在一个问题:当发送函数和接收函数处理的时间过长,或者串口的数据发送过快时,有可能会导致数据丢失。因此提出了以下的改善的程序:34\n第4章数据采集系统的软件设计voidUartComPol(void){if((UINT8)uU0RBR.Word==SOF){inti;for(i=0;i<14;i++){SRBuf[i++]=(UINT8)uU0RBR.Word;}if((UINT8)uU0RBR.Word==CRC){CanSendFlag=1;//使能CAN发送}}}由程序中可以看出当检测到SOF(起始标志位)时,就会将一个完整的帧数据采集到缓冲区中,而不需要等到下次循环。从而避免了上面提到的问题。4.1.5CAN总线发送数据发送程序负责节点的报文发送。实际的发送过程只是简单的将从串口接收到的数据填充到相应的CAN发送缓冲器中,再经命令寄存器里的“发送请求”标志置位一一启动发送命令即可。发送程序可采用中断请求或查询状态标志两种方式。本系统采用后者,即采用查询状态标志的控制方式,流程图如图4-5所示。35\n第4章数据采集系统的软件设计图4-5发送数据流程图选择哪些个发送寄存器不是随便定的,需要先判断哪个发送缓冲区空闲,这是通过查询CANSR寄存器的两个状态位TBS和TS实现的:if((0==CANSR(CanNum).Bits.TS1_BIT)&&(0!=CANSR(CanNum).Bits.TBS1_BIT));当查询到有空闲的缓冲区后,就要将待发送的数据填充到发送寄存器CANTFI(i,CanNum)、CANTID(i,CanNum)、CANTDA(i,CanNum)、CANTDB(i,CanNum)中,其中i代表第i个发送缓冲区,CanNum代表发送通道。填充完毕后启动发送请求即将CANCMR的STB(CanNum)位置1,这样就完成了发送的过程。4.1.6接收环形缓冲区由于CAN的接收过程实际上就是对环形缓冲区的读写,因此有必要介绍一下环形缓冲区的读写原理。常用的环形缓冲区使用方法如图4-6所示:36\n第4章数据采集系统的软件设计(1)(2)(3)图4-6环形缓冲区示意图其中图4-6(1)表示初始化,写指针和读指针全部指向初始位置0。图4-6(2)表示写环形缓冲区,每写一个字节,写指针加1(writepoint++),写的过程中要注意判断两个地方:writepoint>END时,writepoint要置0;writepoint+1=readpoint时,环形缓冲区已经满(实际未满),不能再写。图4-6(3)表示读环形缓冲区,每读一个字节,读指针加1(readpoint++),同样读的过程中也要注意两个地方:readpoint>END时,readpoint要置0;readpoint=writepoint时,环形缓冲区已经空,不能再读。图4-7环形缓冲区示意图由图4-6(2)可以看出实际上环形缓冲区并未真正写满,还有一个地址可以写,因此提出一个改善方法,请见图4-7:设置一个标志位FLAG,初始37\n第4章数据采集系统的软件设计设为0,当writepoint超过END时,FLAG置1,当readpoint超过END时,FLAG置0。这样写环形缓冲区时,要注意判断的两个地方就改为:writepoint>END时,writepoint要置0,同时FLAG=1;writepoint=readpoint且FLAG=1时,环形缓冲区已经满(真正写满),不能再写;读环形缓冲区要注意两个地方改为readpoint>END时,readpoint要置0,同时FLAG=0;readpoint=writepoint且FLAG=0时,环形缓冲区已经空,不能再读。4.1.7接收CAN总线数据信息从CAN总线到CAN接收缓冲区是由CAN控制器根据CAN协议规约自动独立完成的。验收滤波正确后,收到的信息自动放到接收缓冲器内。由主控制器进行读操作,将这条信息发送到本地的信息存储器,然后释放接收缓冲器并对信息操作。接收子程序可采用中断请求或查询状态标志两种控制方式来实现。本文所对应的程序采用中断方式。中断的流程图如图2-2所示,处理接收信息的流程图如图4-8所示。图4-8处理信息示意图整个CAN的接收过程包括三个部分:中断函数写环形缓冲区,读环形缓冲区、处理数据并通过串口发送到PC上显示。其中读写环形缓冲区的原理已经在第六节介绍,本节主要介绍怎样将CAN数据转换为满足RS232协议的数据。一般在PC的串口助手上不会显示十六进制数据,令用户不能够直观看出CAN的数据,需要显示ASCII码。但是CAN数据帧的标示符需38\n第4章数据采集系统的软件设计要用二进制表示,而数据需要十六进制表示,一般情况是写两个转换函数,增加了代码的长度,针对此问题,提出了一个改善的程序,如下所示:**函数原型:uint8*i_to_asc()**参数说明:buf转换后储存asc码的指针;value要转的值;radix进制;n位宽(用n位显示)**返回值:buf**说明:将value转换为指定进制指定位宽的ASCIIuint8*i_to_asc(uint8*buf,intvalue,intn,uint8radix){uint8i=1;buf[n]=0;for(--n;n>=0;n--)//此处注意千万不能是无符号类型,否则永远>=0,如果是uint8应该写成n!=255{buf[n]=((((value/i)%radix)<0x0a)?('0'+((value/i)%radix)):('A'+((value/i)%radix)-10));i=i*radix;}returnbuf;}由程序可以看出,代码非常精简方便。4.2PXA270的SPI总线程序设计CAN驱动的另一种实现方式是MCU+CAN控制器,本文针对描述了在PXA270开发平台上的嵌入式Linux操作系统实现CAN控制器MCP2515的驱动设计,已达到不同的数据采集板通过CAN控制器在CAN总线上传送数据[47]的目的。PXA270的SPI总线驱动分为两个部分:PXA270上的CAN主控制器的驱动以及CAN从设备的驱动。本设计负责完成CAN从设备的驱动编写。其实现的功能包括对MCP2515设备的识别、设置参数以及读写操作。39\n第4章数据采集系统的软件设计4.2.1Linux内核驱动模块设计驱动中通过platform_device的注册来识别静态板级信息,通过与其匹配的device_driver的.probe函数中注册spi_driver及其他的初始化工作。与spi_driver匹配的spi_device是在module_init调用中spi_new_device(the_pxa_spi_master)来注册的。这样就可以把自己的spi设备与pxa270的spi主控制器相联[48]系,从而调用其模块来实现自己的驱动。该部分的流程图为:图4-9设备注册部分流程图Linux中有SPI的驱动程序,我们利用该SPI的接口函数来构建字符设备的框架,即编写其file_operations结构中函数指针指向的所需函数,主要有mcp2515_open,mcp2515_close,mcp2515_read,mcp2515_write以及mcp2515_ioctl。通过mcp2515_open和mcp2515_close函数来进行CAN控制器的开启与关闭操作;用mcp2515_read负责用户空间读取处于内核空间的设备接收缓冲区数据;用mcp2515_write负责把用户空间的数据写入设备发送缓冲区里;mcp2515_ioctl函数设置CAN控制器参数以及复位等工作。而同时用kernel的一些函数来负责中断和同步调度,两者相结合来完成整个驱动程序。40\n第4章数据采集系统的软件设计图4-10CAN驱动程序设备注册部分框图驱动中的中断处理是Linux系统下的一个特点,为了节省CPU并且最优化的使用CPU,在产生中断后,程序只是进入了一个mcp2515_irq的简单函数,该函数中进行的处理就是将该中断放到一个工作队列中去,而后返回正常,并继续响应中断。工作队列中要处理的事件则在CPU空闲时,按照一定顺序进行后台处理。这在Linux中又叫顶半部与底半部的处理方式。41\n第4章数据采集系统的软件设计图4-11CAN驱动程序中断处理流程图4.2.2Linux用户应用程序设计在Linux操作系统中,驱动模块被加载进系统,如果用户要对设备进行操作就需要编写用户层次的应用程序,通过调用驱动中给出的接口函数来对设备进行操作。本课题的应用程序是为了测试驱动程序,故编写时主要进行了基本的打开、设置、读写等操作。流程图可见图4-12。程序先调用open接口函数打开设备,其实会直接调用注册过的mcp2515_open这个函数来完成初始化工作,如果不成功,则直接退出程序。之后进行MCP2515的接受滤波寄存器和屏蔽寄存器的设置,使得在接收时只接受符合ID条件的帧数据。最后进行读或者写的工作,在用户程序中,调用write函数可以将自设的数据写入设备中,也就是调用驱动中的mcp2515_write函数,然后调用ioctl函数,根据cmd的设置,产生发送命令,即完成往CAN线上发送数据的操作。而如果是接受CAN线上的数据,则调用ioctl中的mcp2515_read_rxb来不断读取接受寄存器里的值。42\n第4章数据采集系统的软件设计图4-12应用程序流程图4.3本章小结本章详细介绍了数据采集系统的软件部分设计:主要分为CAN总线数据采集电路的CAN通信软件设计和PXA270的SPI总线驱动设计。CAN总线数据采集电路的软件首先介绍了main函数和中断函数的流程,接下来对初始化进行分析,然后分别介绍了串口接收、处理数据,发送和接收CAN总线的数据。PXA270的SPI总线驱动设计详细介绍了Linux内核驱动模块设计和Linux用户应用程序设计两部分,PXA270通过LINUX操作系统有效的提高了系统的效率。43\n第5章系统测试分析第5章系统测试分析上一章详细介绍了系统CAN总线通讯软件的设计。本章主要完成数据采集电路的测试分析和CAN总线的通信测试。5.1数据采集模块的测试分析基于CAN总线的水厂数据采集系统电路实物图如图5-1所示,在整个系统设计中,采用板卡设计的思想,数字输入、数字输出、模拟输入、模拟输出模块之间彼此独立,数据采集模块与主控模块PXA270之间采用CAN总线进行通信,采用模块化设计便于系统的扩展和升级。图5-1数据采集系统的实物图5.1.1数字输入输出电路的测试数字输出电路中采用继电器输出方式,数字输出模块主要是控制水厂的风机和泵的启停,因此,该部分在水厂控制系统中至关重要,数字输出设备的损坏会影响水处理工艺的整个过程,本部分的测试主要包括两部分内容,一是数字输出信号的测试和继电器可靠性的测试,在实验中,我们编写了测试程序,通过LPC2119的I/O口循环输出1:2占空比的高低电平信号,控制继电器的导通闭合,输出24V电压对输出模块进行测试,同时将输出高电平24V信号由数字输入板进行采集,验证数字输入电路的功能,在数字输入采集板内,对高电平计数来测试继电器的可靠性,试验中测试了1万次,继电器未发生故障现象,继电器输出的24V高电平信号如图5-2所示。44\n第5章系统测试分析图5-2数字输出模块的测试图5.1.2模拟输入电路的测试分析模拟电路主要用于采集水厂传感器的4-20mA的电流信号,在试验中,对具有4-20mA输出的温度和湿度传感器进行了测试,编写了上位机的辅助测试软件,对室内的温度和湿度信息进行了采集,系统的测试结果如图5-3所示,由图可知,测试结果表明当前环境的温度信息为30.5℃,相对湿度为51.48%,与温湿度计测试温度28.2℃,相对湿度49%基本相同。测试结果说明模拟输入电路与实际测试结果相符,满足水厂传感器测试的要求。图5-3模拟输入电路测试结果分析45\n第5章系统测试分析5.1.3模拟输出电路的测试分析模拟输出电路主要用于对水厂设备的反馈控制,模拟输出电压的范围为-10V-+10V,在实际中,采用步长为0.2V对模拟输出电路进行测,理论值和实际值的测试结果如图5-4所示,由图可以看出,理论值和实际测试值之间的误差非常小,通过计算其均方误差为7.42‰。模拟输出模块具有较高的精度。12.0000V理论值10.0000实际值8.00006.00004.00002.00000.000016111621263136414651566166717681869196101-2.0000-4.0000-6.0000-8.000010.000012.0000图5-4模拟输出模块的测试分析5.2CAN总线“0”、“1”的定义CAN总线上的电平有显性电平和隐性电平两种。总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)CAN收发器根据两根总线(CAN_High和CAN_Low)的电位差来判断总线电平。总线电平分为显性电平和隐性电平两种。总线必须处于两种电平之一。总线上执行逻辑上的线“与”时,显性电平为“0”,隐性电平为“1”。46\n第5章系统测试分析图5-5所示。图5-5物理层特征5.3CAN的数据帧格式数据帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符(Identifier:以下称ID),扩展格式有29个位的ID。数据帧由7个段构成两种,下面对帧的构成进行说明:(1)帧起始:表示数据帧开始的段。1个位的显性位。(2)仲裁段:表示数据的优先级的段。标准格式和扩展格式在此的构成有所不同。(3)控制段:表示数据的字节数及保留位的段。标准格式和扩展格式的构成有所不同。控制段由6个位构成,其中保留位(r0、r1)必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平;数据长度码(DLC)位对应了数据的字节数,数据的字节数必须为0~8字节。但接收方对DLC=9~15的情况并不视为错误。(4)数据段:数据的内容,可发送0~8个字节的数据。从MSB(最高位)开始输出。(5)CRC段:是检查帧传输错误的帧。由15个位的CRC顺序和1个位47\n第5章系统测试分析的CRC界定符(用于分隔的位)构成。CRC顺序是根据多项式生成的CRC值,CRC的计算范围包括帧起始、仲裁段、控制段、数据段。接收方以同样的算法计算CRC值并进行比较,不一致时会通报错误。(6)ACK段:用来确认是否正常接收。由ACK槽(ACKSlot)和ACK界定符2个位构成。其中发送单元在ACK段发送2个位的隐性位;接收单元在接收到正确消息后在ACK槽(ACKSlot)发送显性位,通知发送单元正常接收结束。这称作“发送ACK”或者“返回ACK”。(7)帧结束:表示该该帧的结束的段。由7个位的隐性位构成。具体帧的构成如图5-6所示:图5-6数据帧的构成5.4测试流程针对此程序需要的硬件有LPC2119数据采集板一块,记做LCP2119;PXA270主控板一块,记做PXA270;串口线两条,记做UART_A,UART_B。LCP2119和PXA270通过CAN总线相连,UART_A一端和48\n第5章系统测试分析LPC2119相连,另一端连到PC上,同样UART_B一端和PXA270相连,另一端连到PC上。PC上打开两个串口调试助手,分别用于显示串口接收到的数据和向串口发送数据。针对LPC2119的程序,其发送的数据要满足下面的数据格式:帧起始(SOF)+CAN通道号(1byte)+CAN帧信息(1byte)+CAN标识符(4byte)+数据(8byte)+发送命令(CMD)+CRC=17byte,其中CAN通道号要<4(0=CAN1、1=CAN2、2=CAN3、3=CAN4);帧的信息格式包括FF(FF=0标准帧;FF=1扩展帧)、RTR(RTR=0数据帧;RTR=1远程帧)、DLC(DLC<=8表示要发送的字节数)。如图5-7所示:其中0x12为SOF;00为通道号;0x88即10001000为桢信息,表示为扩展帧,非远程帧,数据长度为8个字节;接下来的四个0x11为标识符;再接下来的八个0x11为要发送的数据;0x02为CMD;00为CRC,表示不检查。图5-7发送CAN数据正确填写数据后,选中十六进制发送,然后点击手动发送。数据通过串口传送到LPC2119,在LPC2119内重组后,通过CAN总线发送到MCP2515,PXA270通过SPI从MCP2515接收数据,整理后再通过串口发送到PC显示。接收端的串口调试助手需要设置串口号和波特率,不要选中十六进制显49\n第5章系统测试分析示,等待接收,实际测试中收到的数据如图5-8所示。图5-8接收CAN数据通过和发送的数据对比,发现完全一致,由此可证明LPC2119的CAN发送和PXA270的CAN接收的程序正确。另外一条信息通路(由PXA270发送LPC2119接收)的测试方法大致相同,测试结果如图5-9、5-10所示。图5-9发送CAN数据50\n第5章系统测试分析图5-10接收CAN数据通过对比数据,发现完全一致,由此可证明LPC2119的CAN接收和PXA270的CAN发送的程序正确。5.5本章小结本章主要完成了数据采集模块的测试,通过测试可知,数字输入信号可以完成24V电压信号的采集,数字输出信号输出24V的电平信号,继电器的动作寿命大于1万次,保证了水厂设备的运行可靠性。通过对温度和湿度传感器的测试,模拟输入可以完成4-20mA的电流信号的采集,模拟输出电路具有较高的精度,能够实现-10V—+10V的电压输出,与理论值的均方差为7.42‰。最后介绍了CAN的数据帧格式(分为标准和扩展帧各7部分),分别对LPC2119的CAN发送和PXA270的CAN接收的程序、LPC2119的CAN接收和PXA270的CAN发送的程序进行了测试,测试结果表明,该系统能够实现数据采集模块以及子站间的可靠通信。51\n哈尔滨工业大学工学硕士学位论文结论本文针对国内现有的水处理控制技术的现状,设计了一种基于ARM构架的水工程数据采集和控制系统,数据采集模块与主处理器PXA270之间采用CAN总线通信,能够实现对水厂设备的信心采集和状态控制,通过研究本文可以得到如下结论:数据采集的控制核心采用ARM微处理器,整个系统采用模块化设计的思想,数据采集和控制系统主要包括数字输入、数字输出、模拟输入、模拟输出四个部分,数字输入能够完成24路24V直流电压的采集,数字输出可以实现16路24V信号输出,通过控制第二级继电器可以实现对水厂泵阀的控制,模拟信号可以实现8路4-20mA电流的采集,模拟输出可以实现4路-10V—+10V电压信号的输出,与实际测试的101点的理论电压进行比较,其均方差为7.42‰。该数据采集系统能够很好的满足水厂现场信号的采集和控制。本文构建的数据采集系统之间采用CAN总线进行通信,整个下位机程序采用用C语言进行编程,完成了CAN初始化程序、与CAN总线的数据接收和发送,通过中断方式对CAN所有状态变化进行监控,对CAN模块异常进行处理,当出现总线离线错误和数据溢出错误等异常时,可以进行中断处理,从而提高了CAN网络的可靠性。经过实际测试,本文所设计的数据采集系统可以有效的完成水厂设备的状态采集和控制,满足水处理监控系统的要求,相对于现有的PLC系统,该系统在相同的传输距离下,具有较快的传输速度,整个系统的成本低、扩展方便、兼容性好,具有较高的可靠性。本文所设计基于CAN总线数据采集系统不仅在现代水厂控制中具有广阔的应用前进,而且在工业、农业等需要实时数据采集和控制的领域具有很好的应用前景和推广空间。52\n哈尔滨工业大学工学硕士学位论文参考文献1陈述蔚,王小奇,陈征雄.污水处理厂水质水量线监测及远程传输系统.产品与应用.2008,(5):84~862陈新瑞.城市污水处理厂自动控制系统的设计与实现.2006,(2):44-463陈月婷,何芳.PROFIBUS现场总线技术及发展分析.济南大学学报(自然科学版).2007,(03):226~2304SVittur.OntheeffectsofthecyclictrafficonProfibusDPnet-works[J].ComputerStandardsandInterfaces,2004,26(2):131~144.5李晋华.基于CAN总线数据采集系统的设计与实现.吉林大学学报.2005,(2):131~1356蒋建伟,曾文献,李永峰.基于无线网络的污水排放监控系统的实现.微计算机信息.2007,(3):101~1047刘桥,蒋梁中,谢存禧.广域污水自动监控系统中监测点子系统的整体设计.计算机工程与应用.2004,(5):17~188BaDieu.ApplicationoftheSCADAsysteminwastewatertreamentplants.ISATransactions40,2001:267-281.9易钊,李仁发.基于嵌入式系统结构的污水处理控制系统设计与实现.自动化仪表.2004,(11):43~4610DStepner,NRajan,DHui.EmbeddedApplicationDesignUsingaRe-al-TimeOS.Proceedingsofthe36thACM/IEEEConferenceofDesignAutomationConference.1999,(6):37~3811JamesY,GilkeyRandal,C.Galijan.TheArmyGPSTruthDataAcquisitionRecordingandDisplaySystem(TDARDS)attheWhiteSandsMissileRange(WSMR).IEEE.1994:134~14412广州致远电子有限公司.CAN和GPRS在污水处理系统中的综合应用.单片机与嵌入式系统应用.2007,(11):84~8513Robert.CANSpecificationVersion2.0BoschGmbH.2001.914王国勇.4万吨污水处理厂自动化监控系统设计与研究.山东大学硕士学位论文.2008:315JingweiXu,XinFeng.DesignofadaptivefuzzyPIDtunerusingoptimizationmethodIntelligentControlandAutomationFifthWorldCongresson.2004,(3):2454~2458.16张书华.RTK和全站仪联合采集数据应用于濮阳污水处理系统有关问题的探讨.测绘科学2007,32(4):168~17017柳波.基于AT89C52的污水处理控制系统的设计.科技经济市场.2009,(9)7~818刘海鸥,陈慧岩,丁华荣,何忠波.AdaptiveClutchEngagingProcess53\n哈尔滨工业大学工学硕士学位论文ControlforAutomaticMechanicalTransmission.JournalofBeijingInstituteofTechnology(EnglishEdition).2005,(02)126~12919SongY.Genetic-basedfuzzycontrolforhalf-caractivesuspensionsystem[J].InternationalJournalofSystemScience.1998,(7):21~2320郭淑清,杜忠文.CAN总线技术对汽车传统电路的影响.汽车电器,2009,(03)11~1321ManfredPopp.TheRapidWaytoCANBUS-DP.GermanyCANBUSnterfaceCenterLab.1997,(02):17~2322ChangSung,MarkG.DemonstrationforIntegrationCapacitivePressureSensorswithReand-outCircuitryonStainlessSteelSubstrate[J].SensorsandActuators.2004,(16):198~204.23K.Tindell,A.Burns.GuaranteeingmessagelatenciesonControlAreaNetwork(CAN)CiAiCC.2004,(9):67~6924R.SebastianMCastro,E.SancristobalF.Yeves,J.Peire.Approachinghybridwind-dieselsystemsandControllerAreaNetwork.IEEE.2002(8):45~4625XianminMa,XiaoruSong.CoalgangueonlinerecognitionandautomationselectionsystembasedonARMandCANbus.IEEE.2005(1):76~7926SteffenRietz,WolfJoachimFischer.MultiSensorControllerwithCANFieldBusInterfaceCiAiCC.2003(6):34~3527余旭东.基于CAN协议的车载网络及应用.黑龙江科技信息2009,(12):42~4328K.Tindell,A.Burns.GuaranteeingmessagelatenciesonControlAreaNetwork(CAN)CiAiCC.2004,(9):24~2729RainerFinocchiaroStefan,LankesAndreasJabs.DesignofReal-TimeCORBAEventServicecustomizedfortheCANBus.IEEE,2004(2):58~6130T.Fuehrer,H.Mueller,F.Hartwich,R.Hugel.Faulttolerant.TTCANnetworks.31WangZhiying.AComplexElectronicsSystemBuilt-in-TestBasedonTime-TriggeredCANBus.IEEE,2007(4):112~11432谭永宏,黎福海.基于ARM和CAN总线的分布式数据采集系统设计.中国仪器仪表.2008(3):72~7533ETXEBARRIAV.Adaptivecontrolofdiscretesystemsusingneuralnetworks.IEEEProcControlTheoryAP-PI.1994,141(4):209~214.34SalvatoreCavalieri.ProposalandevaluationofdynamicassignmentofprioritiesinCAN.ComputerStandards&Interfaces.2004,38(2):123~146.35朱建彬.水厂水处理工艺流程及设计特点分析.科技创新导报.2008,(9):836王春生.基于ARM-μC/OS-Ⅱ的核数据采集系统.核电子学与探测技术.2008,(1):71~7337蒋梁中,许勇,卞青青.基于arm7环境监测数据采集系统的开发.微计算机信息.2009,25(5)20~2138邹继军,饶运涛.CAN总线系统智能节点设计.单片机与嵌入式系统应54\n哈尔滨工业大学工学硕士学位论文用.2002,(5):13~1739贺亮.基于CAN总线的数据采集系统的研究与实现.研究与开发.2008(2):33~3540ZhangYong.TheComputerBracketPressureMonitorSystemofFullyMechanizedCoalfaceinCoalMineBasedonCANBus.IEEE,2007,(3):197~19941刘杰晶.基于CAN总线的数据采集系统设计.衡水学院学报.2006,(3):61~6642StevenHarrisStevenGreenKaLeungTechniquestoMeasureandMaximizethePerformanceofa120dB,24-bit,96kHzA/DConverterIntegratedCircuitCrystalSemiconductorcorperation.1997(5):62~6643TanjaC.HofnerDemystifyingSigma-DeltaADCsSensors.2003,(1)43~4744StevenHarris.HowtoachieveoptimumperformancefromDelta-SigmaA/D&D/AConverters.CrystalSemiconductorcorperation.1997(2):81~8245B.Hallgren,P.Baehler,H.J.Burckhart,M.Merkel,H.Sandaker.ALow-costI/OconcentratorUsingtheCANFieldBUS.InternationalConferenceonAcceleratorandLargeExperimentalPhysicsControlSystems.2005(8):43~4446蔺金元,秦亚超.基于CAN总线的数据采集系统.宁夏工程技术.2002,(9):176~17847王继国,吉吟东,孙新亚.CAN总线控制器MCP2515的原理及应用.电测与仪表.2004,(1):52~5648李貌,秦霆镐,闫世晓.MCP2515在CAN总线系统智能节点的应用.微计算机信息.2006,21(7):37~3955\n哈尔滨工业大学工学硕士学位论文哈尔滨工业大学硕士学位论文原创性声明本人郑重声明:此处所提交的学位论文《基于CAN总线的水处理工程数据采集系统设计》,是本人在导师指导下,在哈尔滨工业大学攻读学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。作者签名:日期:2010年7月2日哈尔滨工业大学硕士学位论文使用授权书《基于CAN总线的水处理工程数据采集系统设计》系本人在哈尔滨工业大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨工业大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解哈尔滨工业大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅,同意学校将论文加入《中国优秀博硕士学位论文全文数据库》和编入《中国知识资源总库》。本人授权哈尔滨工业大学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。本学位论文属于(请在以上相应方框内打“√”):保密□,在年解密后适用本授权书不保密√□作者签名:日期:年月日导师签名:日期:年月日56\n哈尔滨工业大学工学硕士学位论文致谢感谢我的导师刘晓为教授,读研期间,无论学习还是生活,刘老师都给予我无微不至的关心和帮助,导师渊博的专业知识,严谨的治学态度,睿智的处世作风对我影响颇深,崇高的敬业精神令我受益匪浅,谆谆教导我永远都会铭感于怀。在这里,我想向刘老师致以最崇高的敬意和由衷的感谢。同时,我也要特别向张海峰、唐佳禄和吕炳君师兄致以深深的谢意!在实验室学习的过程中,三位师兄对我所从事的研究工作给予了悉心的指导,对论文的撰写提供了详尽的建议。三位师兄丰富的实践经验、积极的工作作风对我产生的影响将使我受益终生。感谢MEMS中心其他老师一直以来对我的关心、指导和鼓励。感谢实验室的同学,他们在我遇到困难的时候所给予的无私帮助,同学之间宽松、愉快的共事经历将永远留在我心底,并激励我在今后的学习和生活中更加积极乐观地面对一切困难和挑战。最后,衷心感谢为评阅本论文而付出辛勤劳动的谭晓昀老师和张宇峰老师!57