




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE19基于hart协议的液体涡轮流量计摘要流量测量在工业生产、能源计量、环境保护、交通运输、生物技术、军事工程和科学研究等领域占据重要位置,因此,流量测量仪表的研究和开发应用有着深远的意义。涡轮流量计是流量测量仪表中不可缺少的一员,随着现代计算机技术的发展而不断发展和完善。按照模块化设计方法,将系统硬件部分分为不同的功能模块分别进行设计。本着小型化、智能化的原则,设计中采用TI公司的高性能、微功耗单片机作为控制核心,实现了气体流量的实时补偿,提高了仪表的测量精度。在外围器件选型和软件编制过程中进行低功耗设计,极大地降低了仪表的功耗,使流量计具有较高的可靠性。通讯方面可以选择HART总线方式,方便了仪表与上位机的连接。LCD显示和键盘方便了用户的操作。软件部分采用了模块化的编程,介绍了各模块的实现方法,最后组合起来进行调试。关键词:涡轮流量计;Hart;流量补偿LiquidturbineflowmeterbasedonHARTProtocolAbstractFlowmeasurementinthefieldofindustrialproduction,energymetering,environmentalprotection,transportation,biologytechnology,militaryengineeringandscientificresearchoccupiesanimportantposition.Therefore,theresearchandapplicationofflowmeasuringinstrumenthasafar-reachingsignificance.Turbineflowmeterisoneoftheindispensableflowmeasurementinstruments,withthedevelopmentofmoderncomputertechnologyandcontinuousdevelopmentandimprovement.Accordingtothemodulardesignmethod,thehardwarepartsofthesystemaredividedintodifferentfunctionmodules.Basedontheprincipleofminiaturizationandintelligence,thedesignofhighperformanceandmicropowerMCUofTIcompanyasthecontrolcore,realizethereal-timecompensationofgasflow,andimprovethemeasuringaccuracyoftheinstrument.Inperipheraldeviceselectionandsoftwaredesignprocessforlowpowerdesign,greatlyreducingthepowerconsumptionoftheinstrument,sothattheflowmeterhasahighreliability.Communicationaspectscanchoose8485andHARTbusmode,whichisconvenientfortheconnectionbetweentheinstrumentandthehostcomputer.LCDdisplayandkeyboardtofacilitatetheuser'soperation.Thesoftwarepartadoptsthemodularprogramming,introducestheimplementationmethodsofeachmodule,andfinallycombinedtodebug.Keywords:turbineflowmeter;Hart;flowcompensation
1绪论 11.1引言 11.2流量计的分类 1第二章涡轮流量硬件电路设计 22.1涡轮流量计硬件整体结构 22.2单片机的选取 22.3电源电路 32.4流量测量电路 42.4.1霍尔开关工作原理 42.4.2流量测量原理及电路 42.5温压检测电路 52.5.1温压传感器的选择 52.5.2MS5535B的特性与功能 62.5.3模块图与连接 72.6实时时钟 82.7显示部分 92.8按键设计 92.9HART通讯部分 103涡轮流量计积算仪系统软件设计 133.1软件总体构成 133.2软件开发环境 133.3流量计系统总体概述 143.4涡轮脉冲采集部分 173.54-HART通讯模块程序 184流量计的测试数据 18结语 20参考文献 20致谢 211绪论1.1引言在物资量计量领域中,流体流量的检测与控制是各行各业加强物料管理、能源管理,进行物资交接、财务结算,经济核算,效益分析与评价及至决策的重要依据;也是企业监控生产过程,使其保护优质、高效、安全、平稳运行和改善环境的重要手段。从某种意义上讲:计量就是眼睛,计量就是金钱,计量就是效益。现代企业对流量计量的要求越来越高,主要反映在满足准确性、可靠性、及时性和自动化水平的程度等方面,计量的准确可靠性愈来愈受到社会各界的关注。流量计是一种速度式仪表。它具有压力损失小、精确度高、始动流量低,抗振与抗脉动流性能好等特点。广泛使用于石油、化工、电力工业锅炉等燃气计量和燃气调压站、输配气管网天然气、城市天然气计量等领域并可广泛用于贸易计量。目前,国内涡轮流量计的设计、制造与鉴定技术及设备装备水平方面远远落后于欧美国家。而且国内所生产的涡轮流量计产品大多只有简单的计数显示器,客户无法直接从管路中气体流动状况了解流量计实际运行情况,同时性能与质量也不能与国外气体流量计相比。随着中国与国际市场接轨的步伐加快,低精度流量计的使用会受到越来越大的限制,而高精度流量计将需求旺盛。1.2流量计的分类为了满足各种测量的需要,凡百年来人们根据不同的测量原理,研究开发制造出了数十种不同类型的流量计,大致分为容积式、速度式、差压式、面积式、质量式等。各种类型的流量计量原理、结构不同既有独到之处又存在局限性。为达到较好的测量效果,需要针对不同的测量领域,不同的测量介质、不同的工作范围,选择不同种类、不同型号的流量计。工业计量中常用的几种流量计有:差压式流量计、容积式流量计、涡轮流量计、涡街流量计、旋进涡轮流量计、时差式超声波流量计、科式质量流量计等。
第二章涡轮流量硬件电路设计2.1涡轮流量计硬件整体结构本课题设计的涡轮流量计由流量传感器、温度传感器、微处理器、LCD显示、HART模块、按键等组成。该系统以MSP430F147单片机为核心,配合外围器件,实现了信号采集,数据处理,现场显示,累计存储,通讯,按键设置的人机界面等功能。原理图如图2.1所示。图2.1涡轮流量计原理图2.2单片机的选取在低功耗电子系统设计中,首先要考虑的是单片机型号的选择。选择单片机除了要考虑的功能和开发环境外,在低功耗系统设计中,特别要关注的是单片机本身的功耗和它所能提供的节能措施。考虑到流量计系统低功耗方面的要求,我们采用了TI公司的MSP430单片机芯片,它是专门为低功耗而设计的新型16位单片机。选择所用单片机为MSP430系列单片机后,对单片机的片内资源进行需求分析,最后选择了MSP430F413单片机,它具有如下特点:低工作电压:1.8-3.6V超低功耗:活动模式220uA@1MHz,2.2V待机模式0.7uA掉电模式(RAM数据保持):0.1uA有5种节电模式从待机道唤醒的响应时间不超过6us片内频率锁相环FLL+,可使系统工作在稳定的频率上16位精简指令结构(RISC),150ns指令周期具有3个捕获/比较寄存器的16位定时器集成96段液晶驱动器片内比较器配合其它器件可以构成斜边A/D转换器可在线串行编程可编程的保密熔丝保护设计者代码Flash存储器2.3电源电路作为一个系统的原动力,电源常常被认为是整个系统的心脏。电源配置时应充分考虑到干扰的隔离与抑制。因此,应根据电路配置状况很好地解决电源供给问题。DC-DC变换器是信号拾取通道中的理想化固体电源,它们可以为信号拾取通道的各种模拟电路提供隔离电源,并可以将电路浮置起来而与其它地线无关。DC-DC变换器的输入回路与输出回路是隔离的,这样通过选用DC-DC变换器就切断了系统主电源与信号拾取通道电源间的干扰渠道,有效地实现了电源隔离。对于用电池供电的系统来说,最大的问题是随着电池的使用,其储存的能量逐渐消耗,将产生电压不稳的问题,不但会引起系统工作不正常,严重时甚至可能导致元器件的损坏。在电池供电系统中选择开关型DC-DC转换器可以获得较高的效率和较低的热耗,从而可有效延长电池的使用寿命,同时通过在输出级添加适当的滤波电路,还能够将输出电压纹波降至较小的范围。电源电路的作用主要是给测量系统供电,本测量系统主要是靠3.6V的锂电池供电,为了最大限度降低功耗,单片机及所有的外围芯片在选型时的工作电压都是3.3V,所以系统电源必须满足两点要求:1.在电池电压高于3.3V的时候必须起到将高电压降至3.3V的作用。2.使用一段时间后由于电池电量的下降,电压也随之下降,势必低于3.3V。这时电源必须起到把低电压升压到3.3V的作用。为了达到以上性能要求,在设计电源时选择了austriamicrosystems公司的AS1325稳压片。AS1325是集成了同步整流器的高效升压DC-DC转换器,其效率为96°%。在输出电压为3.3V的条件下,该器件可提供1.5至5V的供电电压。当输入电压低于2V,输出电压为3.3V时,输出电流可达185mA。完全可以满足系统的供电需求。另外本系统采用理光R3111H301C3.0V电压检测芯片,当电压低于3.0V时,P1.0输出低电平,P1.0下降沿中断有效,进入中断处理,显示“换电池”同时蜂鸣器发出报警声。电源电路的连接如图2.2所示。图2.2电源模块原理图2.4流量测量电路2.4.1霍尔开关工作原理当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象就称为霍尔效应。两端具有的电位差值称为霍尔电势U,其表达式为:U=KXIXB/d其中K为霍尔系数,I为薄片中通过的电流,B为外加磁场(洛伦慈力Lorrentz)的磁感应强度,d是薄片的厚度。由此可见,霍尔效应的灵敏度高低与外加磁场的磁感应强度成正比的关系。霍尔开关就属于这种有源磁电转换器件,它是在霍尔效应原理的基础上,利用集成封装和组装工艺制作而成,它可方便的把磁输入信号转换成实际应用中的电信号,同时又具备工业场合实际应用易操作和可靠性的要求。2.4.2流量测量原理及电路按图2.3所示的各种方法设置磁体,将它们和霍尔开关电路组合起来可以构成各种旋转传感器。霍尔电路通电后,磁体每经过霍尔电路一次,便输出一个电压脉冲。图2.3旋转传感器磁体设置由此,可对转动物体实施转数、转速、角度、角速度等物理量的检测。在转轴上固定一个叶轮和磁体,用流体去推动叶轮转动,便可构成流速、流量传感器。本流量传感器由霍尔开关元件A3210,带磁涡轮及电平转换电路组成,构成如图2.4所示。将A3210固定在距涡轮所在平面约1〜3mm处。永磁铁经过霍尔元件附近一次,即产生一个计量脉冲;如果一个涡轮有8个叶片,且每一转对应0.01TO3流量,那么传感器的一个脉冲就对应0.01m3/12的流量。根据这一原理,我们可确定流量的计算公式为;Q=KxM式中,Q为流量m3;K为基表系数,0.01m3/r;N为转数。根据这一原理,只要通过MSP430的捕获功能计算A3210产生的脉冲的频率,就能实时的计算出气体或液体在标况下的流量了。2.5温压检测电路2.5.1温压传感器的选择本设计的关键是选用合适的温度和压力传感器,使硬件电路最大限度的简化,而且与所选MSP430单片机相匹配,达到预期的精度和超低功耗要求[3]。方案1:采用普通温度传感器加压力传感器的方法目前,市场上大部分流量计的温压补偿均采用温度传感器加压力传感器的方法,如图3.5所示,而且每个传感器均需要各自的滤波放大电路,电路结构较复杂。图2.5方案1的温压补偿结构框图方案2:米用集成压力传感器芯片MS5535B本设计采用的MS5535B是一种集成度高、功能强大的集成芯片。集成传感器近年发展很快,和经典的传感器相比,集成传感器具有体积小、成本低、功耗小、速度快、可靠性高、精度高以及功能强大等优点。一般的传感器多为一个传感器测量一个参数,而传感器的多功能与集成化则是在芯片上制作出多个传感器来测量多个参数。传感器的集成化是指将多个功能相同或不同的敏感器件制作在同一个芯片上构成传感器阵列,主要有三个方面的含义:一是将多个功能完全相同的敏感单元集成制造在同一个芯片上,用来测量被测量的空间分布信息,例如压力传感器阵列或我们熟知的CCD器件;二是对多个结构相同、功能相近的敏感单元进行集成,例如将不同气敏传感元集成在一起组成电子鼻,利用各种敏感元对不同测试环境的交叉敏感效应,采用神经网络模式识别等先进数据处理技术,可以对不同环境状态同时监测,得到所需测量环境的信息,同时提高气敏传感器的测量精度;这层含义上的集成还有一种情况是将不同量程的传感元集成在一起,可以根据待测量的大小在各个传感元之间切换,在保证测量精度的同时,扩大传感器的测量范围;三是指对不同类型的传感器进行集成,例如集成有压力、温度、湿度、流量、加速度、化学等敏感单元的传感器,能同时测到环境中的物理特性或化学参量,用来对环境进行监测。MS5535B完全体现了传感器集成化的发展趋势,是设计的首选。2.5.2MS5535B的特性与功能MS5535B由一个硅压阻传感器和一个集成传感器接口电路组成,其主要特性有:测压范围为0-14bar;供电电压2.2V〜3.6V,工作温度-40〜+125°C;内含六组软件补偿系数,无需外部补偿;内含3线串行数据口和一个32.768kHZ的主时钟;15位分辨率的模数转换,是一种低电压、低功耗、可以自动进行开/关切换的SMD器件。将压力传感器与集成传感器接口电路结合在一起是为了节省其他外部元件和实现超低功耗。为了降低能量损耗,在转换过程中传感器不断被启动和关闭,在一次变换中总的工作时间为2ms。当MS5535B处于待命状态时,可通过关闭母机降低功耗。同时,因为该装置对震动非常敏感,必须使用晶体震荡器,时钟波形必须是方波。MS5535B的主要功能是将硅压阻式传感器输出的未补偿的压力模拟信号转换成16位的数字量,同时还可输出16位的温度值。被测压力(16位)由D1输出,被测温度(16位)由D2输出。MS5535B和各种单片机之间的通讯通过三线串行口实现。此外,为了对传感器有一个非常精确的软件标定,该模块设置了6组可读的补偿系数。2.5.3模块图与连接MemDry64咖MS5535B是集成芯片,它的模块结构如图MemDry64咖图2.6MS5535B的模块图由于压力传感器的输出电压受温度的影响很大,所以必须对其进行补偿,而补偿必须通过软件由一个外部微处理器完成。电路连接如图2.7所示。图2.7MS5535B与单片机的连接2.6实时时钟在智能仪表中需要随时查看当前时间或历史记录,这就需要系统有一个实时时钟单元。实现实时时钟有两个方案:一是使用CPU自身资源方便地构造时钟单元。二是使用外围时钟芯片。本系统选择的是后者,主要原因有两点。1、由于仪表是电池供电对功耗的要求非常苛刻,而整个系统中CPU是耗电大户,如果使用CPU自身运算时钟势必消耗大量的CPU资源。这样就会使CPU进入休眠模式的时间缩短,功耗上升,大大降低了电池的使用寿命。2.在气体流速平缓时CPU不需要重复的测量,只需定时测量一次即可,其它时间处于休眠状态。时钟芯片可以在规定时间内周期性的产生中断唤醒CPU,而在不需要读取时间的时候,时钟芯片本身工作不需要CPU的参与,延长了电池使用寿命。本系统选择的是PHILIPS公司的PCF8563,这是一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563的多种报警功能定时器功能时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。内部时钟电路,内部振荡电路,内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式不但使外围电路及其简洁而且也增加了芯片的可靠性同时每次读写数据后内嵌的字地址寄存器会自动产生增量。PCF8563与单片机的电路连接如图2.8所示:图2.8时钟模块电路图其中电容C3的取值范围为1〜20pF,备用电池可选用3V纽扣电池。当系统意外断电时,备用电池给PCF8563供电,使其继续工作。上电后单片机读出的时间就不会因为断电而发生错误。2.7显示部分显示模块是人机接口的一个重要组成部分,友好的显示界面能够方便操作者的读数和进行参数设定。本测量系统的显示屏需要完成显示测得的瞬时流量与累计流量,系统时间,并提供用户简单的参数设置界面。选用的显示模块为金鹏电子有限公司的低功耗OCMJ4X8C-3液晶显示模块,其主要显示参数如下:电源:40-20mA;显示内容:128列X64行;显示角度:6点钟直视;LCD类型:STN;与MCU接口:8位并行/3位串行;配置有LED背光显示功能;带有自动启动复位按钮(reset);一般来说采用并行连接方式具有速度快,CPU消耗低的特点,但是连线较串行复杂。考虑到课题设计的涡轮流量计中MSP430单片机的外围模块比较多,占用了较多的接口,而MSP430F149的接口有限,所以显示屏与单片机的连接方法选用为串行接口的连接方法。如图2.9所示:图2.9LCD与单片机的连接在设计中用单片机的三个普通I/O口与液晶模块相连即可。CS为片选端,平时在LCD不用时可以置低,以降低功耗。SCLK为串行时序的输入端,SID为数据输入端,通过这两个端口的配合,单片机就可以把要显示的数据写入LCD了。2.8按键设计按键电路考虑到设计的仪表主要用来测量流量,所以键盘并不需要很多按键。本系统设计了四个按键的键盘,即↑、↓、Cancel、Enter四个键,最多可完成8种任务。其中,各个键的功能为:(1)↑和↓键的功能相似,在菜单状态时可以上下移动光标,选择需要进入的功能。在进入某个功能后↑和↓起的作用主要是调整参数的大小,按一次↑键参数加一,而按一次↓键则参数减一。(2) Ente键为选择功能键。按下Ente键,系统将进入某个选定的功能状态。此时↑和键可以选择需要修改的参数,按一次Ente键,进入修改参数状态,状态改完后按Cancel键则可推出。(3)Cancel键和Ente键功能相反。按下Cancel键可以推到当前菜单的上一级。系统采用中断的方法来设计键盘,由于MSP430F147单片机的P口具有中断功能,所以采用P1.0、P1.1、P1.2、P1.3四个端口作为按键的输入接口。按键与单片机之间连接的原理图如下图2.10所示。图2.10按健电路原理图2.9HART通讯部分HART(Highway
Addressable
Remote
Transducer),可寻址远程传感器高速通道的开放通信协议,是美国Rosement公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。
HART装置提供具有相对低的带宽,适度响应时间的通信,经过10多年的发展,HART技术在国外已经十分成熟,并已成为全球智能仪表的工业标准。
HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为1.由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。
HART通信采用的是半双工的通信方式,其特点是在现有模拟信号传输线上实现数字信号通信,属于模拟系统向数字系统转变过程中过渡性产品,因而在当前的过渡时期具有较强的市场竞争能力,得到了较快发展。HART
规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这是所有设备都理解、都执行的命令;第二类称为一般行为命令,所提供的功能可以在许多现场设备(尽管不是全部)中实现,这类命令包括最常用的现场设备的功能库;第三类称为特殊设备命令,以便于工作在某些设备中实现特殊功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。在一个现场设备中通常可发现同时存在这三类命令。
HART采用统一的设备描述语言DDL。现场设备开发商采用这种标准语言来描述设备特性,由HART基金会负责登记管理这些设备描述并把它们编为设备描述字典,主设备运用DDL技术来理解这些设备的特性参数而不必为这些设备开发专用接口。但由于这种模拟数字混合信号制,导致难以开发出一种能满足各公司要求的通信接口芯片。HART能利用总线供电,可满足本质安全防爆要求,并可组成由手持编程器与管理系统主机作为主设备的双主设备系统。流量计除了具有RS485通信功能以外,还嵌入了HART总线接口技术,进一步提高了通信的距离,实现更为复杂、精确的控制。如图2.12所示,HART协议通信模块主要由HART调制解调器A5191HRT和D/A转换器AD421及其外围电路实现。图2.12HART通信模块结构图其中AD421通过串行接口接收现场仪表内部MCU传送的数字信号,转换成4〜20mA电流输出,输出主要的测量结果。A5191HRT则接收叠加在4〜20mA环路上的信号,对其带通滤波和放大之后进行载波接测,如果检测到FSK频移键控信号,则将1200Hz的信号解调为“1”,2200Hz信号解调为“0”,并通过串口通信传输给MSP430,MSP430接收命令帧并作相应的数据处理。之后,MSP430产生要发回的应答帧,应答帧的数字信号由A5191HRT调制成相应的1200Hz和2200Hz的FSK频移键控信号,并经过发送信号整型电路进行波形整形后,经AD421叠加在环路上发送。本设计中当A5191HRT接收时,从4〜20mA环路上接收信号,经过带通滤波、放大整形后提取出FSK信号并解调为数字信号,传送给MSP430;发送时,从MSP430接收数据,进行调制和波形整形后耦合到AD421内部,通过AD421叠加到环路上。A5191HRT和MSP430通过后者的通用串行通信接口连接。电路图如图2.13所示。图2.13HART通信模块电路图AD421是ADI公司推出的单片高性能数模转换器,主要由电压调整器、数模转换器和电流放大器组成。电压调整器由运放、带隙基准和外接FET调整管组成,能够从环路中获取电流,为AD421和其他器件提供3.0V、3.3V、或5.0V可选择的供电电压。数模转换器采用E—ADAC结构,将16位数字码转换为4〜20mA模拟电流。数字码是通过和MSP430的三线接口CLOCK、DATA和LATCH从MSP430串行输入。其中,与MSP430的通用串行收发模块UART的接口信号包括载波检测OCD、HART解调输出ORXD、来自UART的HART调制输入ITXD和请求发送INRTS;Loop十为4〜20mA环路输入,经过外部电阻电容和A5191HRT内部电路完成接收信号的带通滤波和放大,用于解调;调制好的数据经过内部整形电路处理后由管脚OTXA输出,通过电容耦合到AD421内部,然后叠加到环路上传输;HART调制解调的时钟信号源于外接的460.8kHz晶体产生的振荡。其中Loop十和Loop—分别是电流环路的两个端口;从MSP430输入DAC的数字码是通过三线接口实现的,分别是时钟线CLOCK、数据线DATA和锁存线LATCH。在智能流量计中存储单元用来存储系统的配置信息、运行状态信息等。包括流量总量、历史流速、气体温度、压力等。当用户或管理人员需要查看流量表的信息时,MCU从存储单元中读取相关信息并将其显示在LCD上。AT24C01是ATMEL公司出品的采用I2C总线接口的串行E2PROM,内建128x8存储序列,最高可达1MHz串行时钟频率,电压范围宽(1.8V-5.5V)。芯片在低压的工业与商业应用中进行了最优化,每字节擦写次数可达10万次、数据可保存100年。具体电路图如图2.14所示。图2.14串行存储器电路AT24C01的第7管脚(写保护管脚)接地,使该芯片始终处于可以进行写的状态。A0、A1和A2都接地,表示该器件的地址为000。由于I2C是总线工作方式,该总线上还挂有PCF8563时钟芯片,所以总线上的每个器件都应该有相应的地址,这样才能实现寻址操作。3涡轮流量计积算仪系统软件设计3.1软件总体构成在编制程序时,采用了“自顶向下”的程序设计方法,即从整体到局部,最后到细节。这种程序设计思路将注意力集中到程序的总体逻辑结构上面,只要总体逻辑结构正确,再复杂的程序也可以按划分出来的逻辑功能模块逐个设计出来。整个程序设计分如下三个步骤:1.总体规划。包括设计软件整体结构,划分子程序模块。2.具体实现。即模块化编程,用程序语言把子程序模块一一实现。把每个子程序模块设计成只有一个入口和一个出口。这样一来,各个程序模块可分别设计,从而使程序的调试、修改和维护都变得比较容易。3.总体组合。即结构化编程,使用结构良好的转移和调用,将子程序模块有效地组合成一个整体,使流程明确地从一个程序模块转移到下一个程序模块。3.2软件开发环境涡轮流量计系统软件主要用C语言编制。目前单片机C语言编程是单片机开发中比较流行的语言。这是由于C语言有其内在的优点,与汇编语言相比,C有以下的优点:1.对单片机的指令系统不需要太了解2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理3.程序有规范的结构,可分为不同的函数,这种方式可使程序结构化4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性5.编程及调试时间显著缩短,从而提高效率6.已编好的程序可容易地植入新程序,因为它具有方便的模块化编程技术轻易的完成复杂的数学运算MSP430系列单片机使用IARWorkbench系统,它的编译器提供C语言的标准特性,还具有许多为MSP430单片机专门设计的开发工具。IARWorkbench是一款集编辑、编译、调试、下载于一体的集成开发环境。它提供以下特性[:1.语言工具与ANSI规格一致可应用于嵌入式系统的标准函数库具有可选用的源代码IEEE兼容的浮点算法对MSP430特殊性能的有力扩展包括高效的I/0用户代码与汇编子程序连接长识别符多达255个有效字符多达32000个外部符号2.性能快速编译避免暂时文件或覆盖的overlays基本存储器的设计编译时严格的模块接口类型检查程序源的LINT-like检查3.代码产生可选择的代码速度或大小的最佳化易于理解的出错和警告消息与C-SPY高级调试器兼容4.目标支持灵活的变量分配不需要汇编语言的中断函数使用处理器专用扩展时保持可移植性的#Pragma伪指令3.3流量计系统总体概述C语言支持结构化编程,它的模块化结构给编程带来了极大的方便。智能流量计系统的应用程序主要是由主程序和中断处理程序组成,其中主程序又由多个子程序所组成。主程序包括:系统初始化子程序、配置运行参数子程序、LCD显示子程序等;中断处理子程序包括:流量检测子程序、温度压力检测子程序、流量补偿算法子程序、按键输入子程序、存储配置数据子程序、通讯子程序等。主程序完成仪表的整个管理和控制工作,流程图如图3.1所示。流量计初次上电时系统初始化,显示当前时间,历史流量数据,压力、温度和电池电量。用户可以选择数据清零或保持不变。若是时钟信号唤醒CPU,则通过涡轮转速、温度、压力值计算出标况下的气体流量,并将流量值和当前时间存入FLASH中,然后流量表重新进入低功耗模式。若是有按键按下,则通过中断唤醒CPU后调用按键子程序,根据按下的功能键显示当前的瞬时流量、累积流量、温度、压力、运行时间等信息。若在一段时间内无按键按下则又进入低功耗模式。完毕后进入低功耗模式。若是用户通过菜单选择了R485或HART通讯,系统将调用相应的通讯子程序自动将当前或是历史流量信息发送给上位机。若是流量传感器报警,流量计报警并关闭电动阀,存储报警标志,延时一段时间后进入低功耗模式。若流量计电池能量不足,LCD显示“电量不足”符号,提示用户更换电池。图3.1主程序流程图睡眠及唤醒智能流量计系统时用了两个不同的工作模式:活动模式、低功耗模式3。通过状态寄存器的4位控制位:CPUOff,OSCOff,SCG0,SCG1控制CPU的工作模式。CPUOff=0,OscOff=〇,SCG0=〇,SCG1=0时系统处于活动模式中。CPUOff=1,〇sc〇ff=〇,SCGO=1,SCG1=1时系统处于低功耗模式3(LPM3)中。系统进入低功耗模式3的指令很简单:LPM3;然而从低功耗模式3返回到活动模式就比较复杂了。这是因为如果一个允许的中断唤醒CPU后,就会进入中断服务程序,开始以下处理:SR和PC保存入堆栈,保存了中断事件发生时的现场而后SR中的工作模式控制位CPUOff,OscOff,SCGO,SCG1自动被复位从中断返回后,PC指向下一条指令。这时候保存的SR将被恢复,系统又将处于低功耗模式,禁止了CPU的活动,PC所指的指令无法执行。为了使程序从SR中的CPUOff或OscOff置位的指令之后的地址继续执行,中断服务程序必须将保存在堆栈中CPUOff,OscOff,SCGO,SCG1位清除。这样,当执行RETI指令后,SR从堆栈推出,CPU就又进入了活动模式。例:;主程序……;初始化操作开始;初始化完毕BIS#GIE+CPU〇ff,SR;主程序中设置低功耗模式0L1操作1L2操作2;中断子程序;中段处理结束BIC#CPUOff,0(SP);设置SR为活动模式RETI;中断返回,系统进入活动模式主程序执行到低功耗模式0处,停止操作。L1,L2语句不执行。之后中断事件保存PC(L1指令地址)和SR(低功耗模式0),中断唤醒CPU,执行中断处理子程序,由于在中断处理子程序中将堆栈的SR设置为活动模式,所以中断返回指令RETI执行后,CPU处于活动状态,可以从PC指向的L1指令处开始继续执行除此之外,中断服务程序还负责判断中断源,即是时钟唤醒还是有按键按下,并作相应的处理。3.4涡轮脉冲采集部分涡轮脉冲的数量和频率是气体流量和流速的反映,本测量仪表利用MSP430单片机的捕获/比较模块方便准确的完成了采集工作,简化了外围电路,提高了可靠性。MSP43单片机有多个相同的捕获/比较模块,当捕获事件发生时将引起中断。每个捕获/比较寄存器都能被软件用于时间标记,可用于各种目的,例如:①测量软件程序所用时间②测量硬件事件之时间③测量系统频率本测量系统的软件设计思路是当捕获模块捕获到霍尔传感器发出的脉冲后进入中断程序,在中断程序中设置变量N,每次进入中断程序N便加1,N即为脉冲数;每次进入中断同时读取定时器A的值,并用档次A的值减去上一次的值,即可得到两次脉冲的间隔时间;把累计100个脉冲间隔时间相加便得到这100个脉冲的总时间,进而可以方便的求出涡轮的转速。3.54-HART通讯模块程序数据链路层规定HART协议帧的格式,实现建立、维护、终结链路通信的功能。HART协议根据冗余检错码信息,采用自动重复请求发送机制,消除由于线路噪声或其他干扰引起的数据误码,实现数据无差错传送。HART协议信息帧的格式如表4.2所示。现场仪表要执HAR指令,操作数必须合乎指定的大小。每个独立的字符包括:1个起始位、8个数据位、1个奇偶校验位和1个停止位。由于数据的有无和长短不恒定,所以HART数据的长度也不一样,最长的HART数据包含25字节。应用层即为HART命令集,用于实现HART指令。命令分为三类,即通用命令、普通命令和专用命令。HART协议通信中,主要的变量或控制信息一般由4〜20mA传送,另外的诸多的测量数据、设备参数、校准信息、诊断信息等通过HART协议传输,采用半双工通信方式。表3.1HART协议信息帧的帧格式PreambleSDADCDBCStatusDataParity序文定界符地址命令号数据长度响应码数据校验和HART协议通信模块的通信过程首先由主机(上位机)发送命令帧发起,现场仪表作为从设备使用中断调用子程序的方法完成接收和应答。现场仪表在上电或看门狗复位后,主程序首先对HART协议通信模块进行初始化,例如设定UART的工作方式、串行通信波特率、数据帧格式、清通信缓冲区、开中断等,之后将其设置为等待状态。上位机发送命令时,A5191HRT的载波检测输出OCD变为低电平,触发UART中断,程序进入接收过程。MCU完成主机命令的接收、解释并执行相应的操作后,按一定格式生成应答帧并送入发送缓冲区,完成发送后再次将HART协议通信模块设置为等待状态。图4.6为HART协议通信模块接收主机帧、回复应答帧的程序流程图。HART协议通信模块通过上图所示的中断调用子程序的方法,完成现场仪表和主机之间的通信,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论