摘要:介绍了基于hart协议的以微处理器xemics为核心的智能压力变送器的开发。该智能压力变送器可用于现场压力实时监测,具有温度和非线性补偿、低功耗并且具有兼容数字和模拟通信的能力。
关键词:hart协议智能压力变送器数字通信低功耗
早期的控制系统主要是模拟仪表控制系统,设备之间传输的是1~5v或4~20ma的模拟信号.信号的精度较低且传输过程中易受干扰。随着电子技术和计算机技术的发展,特别是现场总线的问世,促使新型的全数字智能仪表逐渐取代传统的模拟仪表,并且在性能上不断向高度、高可靠性、高环境适应性的方向发展,采用数字化智能仪表已是大势所趋。然而由于模拟现场仪表大量使用,受原投资保值的限制,从模拟仪表到全数字智能仪表的更新还需要很长一段时间,在此期间,开发出一种能兼容模拟信号和数字信号的智能仪表将具有十分重要的现实意义。本文介绍的智能压力变送器即是在这样的背景下开发的。
1 hart协议简介
hart(highway addressable remote transducer)协议即可寻址远程传感器高速通道开放通信协议,是现场总线的一种,而且是一种过渡性的协议。其特点是能在现有模拟信号传输线上实现数字信号的通信,可对改进仪表间的通信提供无风险解决方案,在模拟系统向数字系统转变的过渡时期具有较强的市场竞争力。
hart协议采用基于bell202标准的fsk颇移键控信号,在低频的4~20ma模拟信号上叠加幅度为0.5ma的音频数字信号进行双向数字通信,数据传输速率为1.2mbps。
hart协议参考iso/osi开放系统互连模型,采用了它的简化三层模型结构,即*层物理层、第二层数据链路层和第七层应用层。
1.1 物理层
物理层规定了信号的传输方法、传输介质,为了实现模拟通信和数字通信同时进行而又互不干扰.hart协议采用频移键控技术(fsk),即在4~20ma模拟信号上迭加一个音频数字信号。频率信号采用bell202标准,1200hz代表逻辑“l”,2200hz代表逻辑“0”,信号幅值为0.5ma,如图l所示。数字信号的传送波特率设定为1200bps。
通信介质的选择视传输距离长短而定。通常,采用双绞同轴电缆作为传输介质时,zui大传输距离可达到1500m,线路总阻抗应在230~1100ω之间。
1.2 数据链路层
数据链路层规定hart帧的格式如图2所示,实现建立、维护、终结链路通信功能。hart协议根据冗余检错码信息,采用自动重复请求发送机制,消除了由于线路噪音或其他干扰引起的数据通信出错,实现了通信数据无差错传送。
现场仪表要执行hart指令,操作数必须合乎的大小。每个独立的字符包括一个起始位、八个数据位、一个奇偶校验位和一个停止位。由于数据的有无和长短并不恒定,所以hart数据的长度也不一样,zui长的hart数据包含33个字节。
1.3 应用层
应用层为hart命令集,用于实现hart指令。命令分为三类,即通用命令、普通命令和命令。
通用命令是通用的,对所有遵从hart协议的智能设备(无论什么公司的产品)都适用。例如读取制造厂商和产品型号信息、读取过程变量及其单位、读取电流百分比输出等。
普通命令对大多数智能设备都适用,但各个产品可视自身需要有所取舍。它用于常用的操作,如设置量程、设置过程变量单位、写阻尼时间常数等。
命令则是针对具体设备的特殊性设立的,以实现前两类命令没有包含而自身又需要的特殊功能。
在hart协议通信中,主要的变量和控制信息以4~20ma的形式传送,在需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过hart协议访问。
2 基于hart协议智能压力变送器的硬件设计
本文基于hart协议开发了适用于半导体压力传感器的智能变送器,该变送器的硬件部分主要包括以下几个模块:mcu模块、lcd显示模块、hart通信模块、传感器模块和供电模块等。系统硬件框图如图3所示。智能压力变送器的供电电压选为3.3v,由稳压电源模块max6129aeuk33-t提供。
传感器模块主要包括传感器桥路,如图4所示,其中,电阻r20的温度系数应不大于50ppm/℃。
mcu模块主要由微处理器xe8a8lc0和非易失性存储器eeprom93aa76c组成,其中,xe8a8lc0内置12位a/d转换器和10位d/a转换器。传感器模块输出的压力和温度信号经整形和带通滤波电路后,分别接至微处理器内置的a/d转换器的两个通道,并且使用传感器电桥供电电压作为a/d转换器的参考电压,以排除电桥不稳定所造成的误差。在进行a/d转换后,再由cpu进行线性化处理、量程转换、阻尼处理等运算,zui后通过微处理器内置的d/a转换器把数字信号转换成电流信号输出。eeprom用来保存所有组态、特征化和数字微调数据。
hart通信模块即为hart协议物理层的硬件实现。它采用微集成电路ht2012作为hart调制解调器。ht2012的工作频率为460.8khz,由独立的微功耗震荡器ht7210提供。从hart总线接收到的hart信号经过放大、滤波、比较后送到ht2012,被解调成逻辑1或逻辑o的数字信号传送给微处理器。同样,微处理器送出的数字信号由调制解调器调制成相应的1200hz或2200hz的fsk频移键控信号后叠加在环路发送到hart总线上。hart通信方式为半双工方式。
lcd显示模块通过htl620芯片驱动和控制有关数据的显示。由于采用了电容型偏置电压充电泵,htl620的操作电流非常小,能够满足本系统低功耗的要求。
智能变送器设计的关键在于如何实现低功耗。由于接入hart总线4~20ma环路中的智能变送器是从hart总线4~20ma电流环路上吸收直流且还要对网络提供工作电源的a类设备,因此意味着智能仪表供电的电流不能超过4ma。在实际应用中,为了兼容数字和模拟两种信号,通常将数字信号通过v/i转换电路转换成幅度为±o.5ma的音频数字信号(1200hz表示“1”,2200hz表示“o”),叠加在4~20ma电流环上。由于对称性,此信号的平均值为o,因此模拟和数字信号互不干扰。但是,环路上的zui大电流瞬时值imax=4.5ma,zui小值imin=3.5ma,如果向变送器供电过多(超过3.5ma),将导致数字信号负半周失真,考虑一定的余量,要求对变送器的供电电流不超过3.4ma。所以在元器件的选择上要充分考虑如何降低功耗。
本方案中.由于大量选用低功耗器件,比较好地解决了这个问题。数字电路工作在3.3v,在此条件下,xe88lc0在12位的adc和10位的dac同时工作并且保证cpu达到每秒二百万条指令的处理量的情况下,其工作电流为670μa,ht2012的典型工作电流为40μa,93aa76c的读电流为500μa,ht7210在输出为1mhz的情况下工作电流也不过130μa,而htl620的工作电流小于3μa,另外整形电路、带通滤波及其他模拟部分电路的电流不大于1.2ma。因此整个电路的总工作电流不大于2.1ma,远小于3.4ma。这样变送器可以给传感器模块提供的zui大电流为1.3ma,这对许多传感器来说已经足够了。
3 基于hart协议的智能压力变送器的软件设计
hart智能变送器的软件主要包括两大部分:测控程序和hart通信程序。
测控程序主要包括数据采集、非线性补偿、量程转换、线性或开方输出程序以及阻尼程序等。其中。线性化处理采用zui小二乘法原理对传感器的特性曲面进行曲面拟合,从而得到高精度的温度和非线性补偿。其特性曲面方程如下:
通过采集九组或九组以上的压力和温度信号,运用zui小二乘法对上式进行回归算法,就可以得到各种类型传感器的特性曲面的拟合多项式。
hart通信程序即微hart协议数据链路层和应用层的软件实现。在上电或看门狗复位时,主程序对通信部分进行初始化,主要包括串口工作方式设定、波特率设定、清通信缓冲区、清通信标志字和开中断等。由于hart通信采用的是主从方式,而像变送器这类现场仪表都是从机,因此在初始化和每次应答君主机命令后都要把接收中断打开并且一直等候主机命令。通信中断程序框图如图5所示。
在通信过程中,通常由主机先发送命令帧,智能变送器通过串行口接收到命令帧后,由cpu做出相应的数据处理,然后把需要发回的应答帧内容存放到发送缓冲区,再由cpu触发发送中断,发回应答帧,从而完成了一次命令的交换。
由于通信距离较长以及存在各种环境干扰,传送数据信息有可能产生错误。hart通信采取水平和垂直校验的方法。当变送器检测到接收的数据有误时。即向主机发回置有相应错误状态位的应答帧,通知主机数据接收错误。主机则重发命令帧,从而保证了通信的准确可靠。
在设计过程中,充分考虑了智能压力变送器对高度、高可靠性和低功耗的要求,研制出了一个具有温度和非线性补偿的、能用于现场压力实时监测的智能压力变送器。实践表明,该智能压力变送器度高、抗*力强、应用范围广。
