基于HART协议的通用型多通道智能变送器的设计与实现

分享到:

 传统的HART(Highway Addressable Remote Transducer)变送器的功能比较单一,只有温度、压力、位移、电磁流量等物理量的单一测量,传感器输出微弱的电压或电流信号。由于这些传感器的负载阻抗、激励方式、输入信号灵敏度、补偿方式均不相同,所以以往的变送器均要求设计不同的配套电路与相应的传感器配合,给生产制造部门和采购部门带来很多不便,也使供货周期延长,本文研究的智能型HART通用变送器不仅保留了传统仪表的4 mA~20 mA的模拟信号的输出,并且通过HART协议实现双向数字通信。它可与任何符合HART协议的手操器或控制系统互连;通过手操器或上位机可远程设定变送器的类型、供电方式(恒压源供电或者恒流源供电)、零点、量程、工程单位和阻尼时间等基本信息和参数。

1 系统硬件电路设计

微处理器是HART智能变送器的核心中枢,协调各个模块正确有序工作。目前市面上用的较多的是51系列单片机,但51系列单片机绝大部分仍然采用8 bit中央处理器,对于像HART通信这样对运算速度要求比较高的硬件系统来说,8 bit处理器已不能满足要求。另外51单片机内部的硬件资源比较少,单片机要与外围电路如液晶显示模块、A/D转换模块、D/A转换模块、UART通信模块等进行通信,而51单片机的外围扩展口有限,很显然不满足要求。本硬件系统中的MCU采用摩托罗拉公司生产的MC9S12E64[3],该芯片与普通的微处理器芯片相比,有更多的优点。MC9S12E64采用模块化结构和16 bit的中央处理器CPU,最高总线速度8 MHz,大大提高了运算速度和精度。

1.1 系统方案设计

为了满足多通道数据测量和低功耗,硬件电路主要包括:MCU微处理器模块;A/D转换模块;HART通信模块;电源模块;恒压/恒流激励电路。

为了实现多通道模拟信号的测量,本硬件系统采用24 bit多路ADC(AD7714)实现,其中两路构成差分电压V1输入,另外两路分别测量单端电压V2和电流I。如图1所示,在电流的输入端加一电阻,对电流的测量实际上也是对电压的测量,这样将测得对应的电压值通过换算得到实际的电流值。

为了克服输入的电压,电流信号对AD7714测量的影响,在硬件电路设计上使用数字开关芯片ADG733,通过MCU控制ADG733,从而间接地“打开”或是“关闭”输入通道,消除外部信号对AD转换的干扰,另一方面也方便多通道的测量。在每一路通道前面增加由运放构成的驱动电路,可以组成模拟滤波及放大网络,提高测量精度。UART输入信号直接与MCU空闲管脚连接,实现数字测量。考虑到功耗原因,实际使用时不可能所有测量通道都采用,将根据需要配置为其中1~2个通道进行测量和转换。

1.2 分层电源网络与低功耗设计

1.2.1 分层电源网路的设计

考虑在单电源供电的情况下(图2所示),由于MCU、D/A、HART等模块需要使用近2 mA的电流,因此信号采样部分的电量非常有限,仅有1 mA左右。除去A/D、运放等消耗的电流,实际提供给传感器的电流仅0.5 mA左右。只能通过降低激励电压/电流的大小,减少电量消耗。同时在软件里进行控制,每次只能对一个测量通道进行采样和转换输出。这一方案的优点是结构简单,但是使用受限,仅数字通信方式可以实现对多参数的测量。

另一种方案是采用分层电源网络模式,模拟信号的测量和转换使用上层3 V电源网络(由TL431调整得到,可提供约2 mA的电流),同时可以利用这一稳定的3 V直接作为恒压源进行传感器激励。而数字信号(频率和UART)的测量采用下层电源网络,以实现和MCU的简单连接。这一方案的优点是解决了功耗问题,但电路因此变得复杂,而且在输入接口侧模拟信号和数字信号不共“地”, 应注意将其分离, 图3为分层电源网络的设计。


1.2.2 电平转换模块的设计

上层电路如AD7714采用VDD=+6 V, GND=+3 V的电源,其对AD714来说,+3 V代表的是0,+6 V代表的是1。而MCU采用的是下层电源,即VDD=3 V,GND=0 V,对MCU来说0 V代表的是0,+3 V代表的是1。如果AD7714要与MCU进行SPI通信,很显然不能简单将两端口相连,需要设计合适的电平转换电路以满足数字通信要求。
图4中将MCU的MOSI的0 V~3 V电压转换为3 V~6 V电压供AD7714进行SPI数字通信。当MCU输出为0时,即输入为0 V,则三极管Vbe=0 V<0.7 V,则三极管截止,输入到反相器的电压为+6 V,反相器输出就为3 V;如果MOSI输入为+3 V时,三极管导通,输入到反相器的电压由+6 V经两电阻分压提供3 V电压,则反相器输出为+6 V,这样就实现了电平的转换。同样由3 V~6 V到0 V~3 V的电平转换如图5, 当输入为+6 V时,三极管截止,输入反相器的为0 V电压, 则输出为+3 V, 当输入3 V电压时, 三极管导通,经分压输入到反相器的电压为+3 V,则输出为0 V。


1.3 HART通信模块的设计

HART协议通信模块主要由现场仪表内的A5191HRT和AD421型DAC组成。其中,AD421接收MCU传送的数字信号并转换成4 mA~20 mA电流输出,传输测量结果:A5191HART[1]接收叠加在4 mA-20 mA环路上的FSK信号。解调后传输给MCU,或将MCU产生的应答帧信息调制成FSK信号经波形后由AD421叠加在4 mA~20 mA环路上进行传输,如图6所示。

A5191HRT内部包括发送数据调制器与波形整形电路、载波检测电路、接收滤波器与解调电路、控制逻辑和时钟振荡器电路。调制器接收不归零码并调制为FSK信号。1 200 Hz代表逻辑“l”, 2200 Hz代表逻辑“0”,数据率为1 200 b/s,之后由波形整形电路将FSK信号整形为兼容HART协议要求的信号发送出去。

2 系统软件设计

HART通用型智能变送器的软件按其功能分为四个部分:监测程序、测控程序、HART通信程序和辅助程序。监测程序是整个系统软件的中心环节,又称为主程序。它接收和分析各种命令,管理和协调全部程序的执行,其包括系统初始化、系统自检等部分;测控程序主要包括数据采集、数据处理、输出控制和自我诊断等部分。其中数据采集通过采样中断子程序实现,数据处理、输出控制和自我诊断等部分则在主程序中调用。HART通信程序也就是HART协议数据链路层和应用层的软件实现,是整个智能变送器软件设计的关键,仪表的可互操作性也在这里得到体现。数据链路层软件主要是串行口接收/发送中断子程序,属于中断处理(服务)程序;应用层的软件是对收到的命令帧进行翻译和处理,在主程序中被调用。

2.1 HART通信程序的设计

HART通信程序是HART协议数据链路层和应用层的软件实现,采用串口中断实现通信的接收和发送服务,符合HART协议的通信工作都在此程序中完成,如图7所示。

进入串口中断服务程序后,要先判断是发送请求还是接收请求。若发送请求标志为l则转向发送服务程序,若接收请求标志为l则转向接收服务程序。HART应用层的软件对收到的命令帧进行翻译和处理,如:字节流和浮点数、整数、字符串之间的相互转换,然后根据各自的命令号进行相应的命令处理,如:改量程、改单位、改阻尼时间等,最后,把应答帧按照一定的格式放入发送缓冲区,由串行口中断发回。如果有通信错误或命令错误时,则发回报告错误的应答帧。发送服务程序是在程序运行过程中向上位机发送信息,要设置发送请求标志,将要发送的数据信息存入串口发送缓冲区, 并计算垂直校验, 在此要发送的数据信息的格式为: 前导码2 B,定界符1 B,地址码l或5 B,命令号1 B,字节长度1 B,响应码2个字节,数据0~25 B,校验和1 B。发送时,先要启动发送载波,初始化物理层,建立通信链路和另一对等通信实体通信,发送应答帧,发送结束后停止发送载波,初始化物理层,终止物理层链路通信。发送服务首先发送前导码,每发送一个前导码计数器就减1,然后发送HART协议的应答帧,发送结束后停止发送载波。

目前HART型智能仪表的市场占有量已经接近50%,但仍有约40%的仪表采用模拟量或非标准数字协议进行输出,这些仪表将逐步被HART协议或其他数字总线协议所替代。为使这些特种规格产品升级为HART型智能仪表,一般需要定制与之相配套的电子部件或HART转换模块。这些复合型多参数传感器,也是由普通的压力、差压、温度等传感器构成。为了实现将这些特殊规格的仪表或传感器升级为HART型智能变送器,需要设计通用型电子部件,提供多个测量通道,不仅能与市场上通用的传感器相配套,还能与复合型多参数传感器相配套。本文正是基于目前工业上的现实要求,设计出一种基于HART协议的多通道数据测量的智能变送器,以满足多参数测量。在电路设计上,为了减小硬件电路功耗,提出一种双层电源网路结构,满足电路设计要求。

 

 
 
 
继续阅读
基于HART协议的通用型多通道智能变送器的设计与实现

HART协议作为一种现场总线已在工业控制中得到广泛应用。随着多参数复合传感器的出现,需要HART变送器能实现多参数的测量,计算及输出。针对工业应用的需求设计出一种基于HART协议的通用型智能变送器,满足多参数测量、在电路设计上,采用一种双电源供电模式的分层电源网络结构,使变送器系统的功耗大大减少。

基于HART协议的智能电磁流量计的设计与实现

符合HART协议的智能电磁流量计不仅可以实现各种流量的检测和就地显示,还可以通过上位计进行远程设定,改变流量计的零点、量程,以及完成自诊断等功能,在很大程度上方便了流量计的使用和维护,因而具有较强的市场竞争力。[1]本文讨论基于HART协议智能电磁流量计具体实现的技术问题,一是要解决硬件电路的设计问题,二是要讨论实现HART协议命令集编程及上位机软件的实现 。