具备HART主站功能的模拟量采集模块设计

2022-12-26 12:54胡中泽靳子洋
计算机测量与控制 2022年12期
关键词:调制解调器主站模拟量

胡中泽,靳子洋

(国核自仪系统工程有限公司,上海 200241)

0 引言

现场总线技术一直是过控制领域最热门的技术之一,它具有开放性、分散性、可互操作性、低成本等诸多优势[1]。通过现场总线,数字通信技术可以延伸到现场仪表,给控制体系带来革命。但是现在工厂中的仪表大部分还保留4~20 mA的模拟信号,在模拟设备向数字设备过渡的阶段,HART(highway addressable remote transducer,可寻址远程传感器高速通道)协议作为一种开放性协议,可以同时兼容数字信号和模拟信号[2]。HART协议已经成为智能仪表“事实上”的标准[3]。在工业自动化仪器仪表应用领域中以HART总线为通讯方式的单表完全成了行业的标准和标配[4]。HART基金会与时俱进提出了无线HART协议,兼容现有的所有HART设备,采用了时分多址、跳频以及无线网格网络等多种技术,是面向过程测量、过程控制和资产管理全面应用的一种可靠的无线协议,其可以满足工业工厂对于可靠、稳定、安全的无线通信方式的关键需求,并于2008年获得国际电工标准委员会的认可,成为一种公共可用的规范[5]。

基于HART协议强大的生命力,HART仪表在工业自动化领域应用广泛,国内外各大仪控系统厂商都对HART仪表的接入提供支持。NuCON(系统商标)作为一种具有完全自主知识产权的DCS系统,也对HART仪表提供了完善的支持。一般DCS系统接入HART从设备时,周期性查询读取的仅限于主变量,NuCON不禁查询主变量,还可以查询扩展变量。一般情况下,现场应用对HART通信周期要求并不高,但是在一些特殊场合,比如希望主变量作为反馈使用,就需要HART通信周期越短越好。针对这样的特殊应用需求,设计开发了一种快速HART模拟量采集模块,提高HART通信效率的同时,还可以通过配置,灵活设置查询变量范围。

1 采集模块结构及工作原理

模拟量采集模块的系统如图1所示,模块设计了8个通道,每个通道都具备HART主站功能,模块通过两路以太网与控制器通信。

图1 模块原理框图

模块设计基于CPU+FPGA架构,CPU与FPGA之间采用PCIe总线通信。PCIe总线是高速串行总线,第三代IO总线标准,串行总线的特点让PCB信号线减少,布线难度减小,布线性能提高、PCB空间利用效率更高、连接器尺寸更小,而且系统带宽也更高,这提高了设计灵活性,节约了系统成本[6]。FPGA与模拟量采集通道和HART通信通道分别使用SPI接口连接。SPI接口是一种主机与外围设备进行同步串行通信的总线协议,不需要进行寻址操作,且为全双工通信,其速率已知最高可达50 Mbps[7]。FPGA与通道间使用隔离器件进行隔离。通道电路与外部设备连接,隔离的目的是防止外部通道出现故障时影响到FPGA和CPU正常工作,甚至是损毁。

HART通道的核心器件是HART调制解调器,其采用UART接口。HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4~20 mA模拟信号上叠加幅度为0.5 mA的音频数字信号进行双向数字通讯,数据传输率为1.2 Mbps。从数据传输速率上看,HART通信属于低速通信。UART是一种广泛使用的低速串行接口,遵循的协议是RS-232C标准[8]。该标准规定的典型数据传输速率为300 bps、1 200 bps、2 400 bps、9 600 bps、38 400 bps、115 200 bps等。因此,HART调制解调器选择UART作为与处理器的接口是一种比较合适的选择。

在FPGA和HART调制解调器之间使用了协议转换芯片,其作用是实现SPI协议与UART协议之间的相互转换。FPGA即可以模拟SPI时序,也可以模拟UART时序,之所以设计协议转换,是因为受到FPGA的IO管脚数量限制。此外,在较高速率的SPI协议与较低速率的UART协议之间进行转换,使得HART调制解调器之间可以以流水线方式工作。HART信号是正弦调制波,1 200 Hz代表逻辑“1”,2 200 Hz代表逻辑“0”[9]。因此,它可以经耦合网络,通过隔直通交电容耦合叠加到模拟量信号上去。

模拟量采集通道负责将外部输入的模拟量转成数字量,通过切换开关控制,可以支持输入电流信号或者电压信号(HART功能仅在电流模式下被支持,电压模式下HART功能被切离,下文如无特别说明,默认工作在电流模式,所述模拟量信号为电流信号)。FPGA通过SPI接口对模数转换器进行配置,控制模数转换,读取转换后的数据。模拟量采集通道的核心部件是模数转换器,其功能是将模拟信号转换成数字信号,是连接模拟量和数字量的桥梁。可以直接从自然界获取的信号大多都是模拟信号,比如电压、电流、温度、压力、声音、振动等,传感器可以将这些信号转换成电流或电压等电信号。当今数字系统因其强大的数字信号处理能力而获得广泛使用,而将其用于模拟信号处理时需要借助于模数转换器实现模拟量到数字量的转换。

对模拟量信号来说,叠加其上的HART信号是干扰信号。此外,接入外部设备时,还可能会引入传导、辐射等干扰信号。所以,需要设计滤波器电路,滤除各种干扰信号。为获得高精度的采集测量结果,仅有硬件滤波器远远不够,还需要对模拟信号转换后的数字量采用数字滤波技术进行滤波处理。

设计的模拟量采集模块用于工业控制,工业环境一般都比较恶劣,还要防止施工人员误接线损坏采集模块,所以为与外部设备的接口设计保护电路是必不可少的。常用的防护措施有过压保护、过流保护、静电防护等。

CPU承担主控功能,负责与控制器通信,执行HART通信主体功能,并采集处理模拟量通道采集的数据。FPGA扮演协处理器角色,负责控制HART数据包的发送、接收和缓存,负责模数转换器配置、控制和缓存数据,并进行数字滤波处理。

2 采集模块硬件设计

CPU和FPGA是采集模块的控制处理核心,CPU采用原飞思卡尔半导体的MPC8308,FPGA使用的是原Altera的EP4CGX22CF19I。MPC8308是一款低成本、低功耗的工业级处理器,具有强大的计算性能和可靠性高的特点[10]。它内部集成了MAC,通过MII接口设计两路以太网。EP4CGX22CF19I隶属于Cyclone IV系列,具有低成本、低功耗的特点,提供专用的硬IP核支持PCIe。

隔离模块使用的数字隔离器件及其两个重要参数统计如表1所示。数字隔离器主要分为光电隔离、电磁隔离、电容隔离三大类型[11]。隔离器件选型时,首先要考虑工作电压、隔离电压、数据传输速率,其次尺寸和价格也是需要考察的因素。在PCB设计中,模块通道间进行了物理隔离,通道的电源平面和地平面都隔开了一定的距离。在隔离器件的帮助下,模块通道间实现了很好的隔离,隔离电压实测大于1 000 VDC。

表1 隔离器件清单及参数

协议转换芯片选用的是Maxim公司的四通道通用异步收发器MAX14830。它的SPI接口时钟频率可达26 MHz,UART接口在标准模式下波特率可达6 MHz,每个UART口都有深度达256字节的收发FIFO。HART常用的命令数据包和响应数据包的长度都不超过256字节,所以这个深度的FIFO足够容纳一帧完整的HART报文。这样,可以支持HART通道间以流水线方式轮询工工作,而不需要等当前通道通信结束才能进行下一个通道的业务。

AD5700是ADI公司生产的一款超低功耗的HART调制解调器芯片。它采用相位连续的FSK半双工工作方式,数据传输率为1.2 Mbps[12]。其内部集成了符合Bell202标准的调制器、解调器、接收带通滤波器、精密载波检测、信号生成等电路,所需外部元件极少,最大电源功耗仅为115 μA。HART调制解调模块和耦合模块设计如图2所示。AD5700几乎不需要外部元器件即可工作,紧随其后的是耦合模块。耦合模块是一个阻容网络,将HART调制解调器调制的HART信号叠加到模拟量信号上去,通过隔直通交电容,解耦叠加在模拟量信号上的HART信号,由HART调制解调器进行解调。

图2 HART调制解调模块和耦合模块

模数转换模块的核心是模数转换器。主流的几种模数转换器类型及其优缺点如表2所示[13-18]。ADS8317是一个高速、低功耗16位SAR ADC,其电压分辨率为65 535,为完全差分的模拟输入[19]。其市场成熟,供货量大,价格便宜,电路设计如图3所示,模拟量输入端是RC滤波器。ADS8317提供SPI接口,单通道,采样率可达250 kpsp。ADS8317可直接采集的是电压信号,并且电压信号上限不超过其参考电压。模块通过设计切换开关实现电压信号和电流信号的切换采集,电流信号通过250 Ω的采样电阻转换成电压信号。设计可编程的增益电路扩展模块采集范围,实现了4~20 mA电流信号和±5 VDC、±10 VDC电压信号的采集。根据信号类型和量程范围变换增益,有利于获得较高的采集精度,模块实现精度实测优于0.1%。

表2 主流模数转换器及其优缺点

图3 ADS8317电路设计

滤波模块设计如图4所示,设计了两级RC低通滤波(另外一级RC滤波器见图3),在两级滤波网络间插入了可编程增益放大器PGA280。FPGA280有3个作用:第一,通过修改增益,可以改变模拟量采集的量程范围;第二,通过切换输入源,可以使模拟量输入信号在电流和电压之间切换;第三,PGA280有很高的共模抑制比,可以提高采集通道的抗共模干扰的能力。参考文献[20],第一级电压信号滤波器的差分截至频率和共模截止频率计算如下:

图4 滤波器设计

采集模块与外部设备的接口设计了保护电路,主要使用了PTC保险丝、TVS和静电防护器件。PTC保险丝是正温度系数热敏电阻,温度过高时电阻值迅速增大,大到足以关断供电,因而能起到保护作用。TVS全称是瞬态电压抑制器,当过压时,高阻抗瞬变成低阻抗,吸收浪涌功率。随着电子技术和器件工艺的发展,设备的工作电压越来越低,使得静电放电耐压能力越来越差,因此ESD引起的电子设备失效或损坏的情况越来越多[21]。在做ESD防护措施时,主要从工艺结构、机壳、屏蔽、接地、布线、器件选择等方面考虑。静电防护器件ESD与TVS工作原理一样,但是其可吸收功率小,电容值低,专门用于静电防护。

3 系统软件设计

采集模块设计基于CPU+FPGA架构,所以软件设计包括CPU软件设计和FPGA逻辑设计。模块虽然具备HART主站功能,但是也有很多时候外部的仪表设备并不支持HART通信,只是普通的模拟量仪表,所以在设计软件时将模拟量采集功能和HART通信功能完全独立。HART通信功能和模拟量采集功能可以通过上位机进行配置,选择开启或者关闭相关功能,关闭不使的功能,可以降低系统的负荷和功耗。

3.1 FPGA逻辑设计

FPGA逻辑设计有自顶向下的设计方法和自底向上的设计方法。自顶向下的设计方法可以将一个大系统划分成多个小系统,分配给更多的人员设计,从而提高设计速度,缩短开发周期。自底向上的设计方法一般用于比较复杂,模块较多,需要多人团队联合设计的系统。

采集模块FPGA逻辑设计采用自顶向下的设计方法,模块化的设计思想,这种设计方法增强了系统的可移植性及可改进性[22]。从功能上划分,将FPGA逻辑功能分成三大部分:与CPU通信的PCIe接口,模拟量采集控制,HART通信控制。

因为PCIe接口很复杂,为了较少工作量,提高效率,保障接口可靠、高效工作,使用了器件自有的IP核,大大简化了设计工作。Altera的Qsys开发工具提供图形化的编辑界面,使复杂的PCIe接口设计变得简洁直观,不用去探究其内部的工作细节。在Qsys中完成开发后,生成IP核和接口文件,加载文件后,操作PCIe接口,只用通过调用接口,按地址使用即可。

模拟量采集控制实质是控制ADS8317进行模拟量采样和数字滤波。ADS8317没有配置寄存器,模拟量转换工作完全由SPI接口的时序进行控制,采样速率取决于FPGA模拟时序的时钟频率和采样间隔。将SPI的时钟频率设计成固定频率,而采样间隔设计成可配置的,通过修改采样间隔改变模拟量采样速率。采集模块用于工业环境,受工频干扰影响比较大。FPGA内,针对工频干扰进行滤波设计,通过设置工频参数,可以滤除不同频率的工频干扰,比如50 Hz、60 Hz。

滑窗滤波器的设计如图5所示,其工作原理是缓存一组数据(虚线框内数据)作为输入,这组数据的平均值作为输出。缓存数据的个数可设置,缓存数据动态更新,每次更新的数据个数可设置。缓存数据越多,每次更新数据越少,滤波效果越好,但是滞后越多。50 Hz工频信号是周期为20 ms的正弦波,所以选择20 ms的整数倍作为滤波器的窗口长度,这里窗口长度选择20 ms。20 ms内应以相等的间隔采样偶数个数据,采样数据越多滤波效果越好,但是更多的数据意味着需要更大的数据缓冲区,这里设计以1 ms的固定间隔进行采样,每1 ms更新一次缓冲区数据。这样设计出的滑窗滤波器窗口内有20个数据,每次更新一个数据,更新周期为1 ms。

图5 滤波器设计

FPGA逻辑控制HART命令的发送,和接收现场从设备的响应数据。CPU依次将HART命令根据地址发送到FPGA内各个相应通道的发送FIFO,FPGA收到数据后将其通过SPI总线依次发往协议转换芯片MAX14830所对应的4个UART通道,MAX14830接收数据后通过UART接口发送到HART调制解调器。这个过程中,PCIe的通信速率最快,SPI通信速率次之,UART通信速率最慢,这就保证了HART调制解调器发送命令包的完整性,不会出现命令数据中断的情况。从设备的响应由HART调制解调器解调后发送到MAX14830,它有足够的FIFO深度可以缓存一帧响应数据。并行工作是FPGA的一大特点,FPGA收到CPU发来的HART命令就将其发往对应通道的UART接口。受限于SPI串行通信,FPGA发送HART命令前还要判断,前一通道的发送是否已经完成。发送完各个通道的命令后,开始循环收取各个通道的响应数据,其实质是将MAX14830接收FIFO内的数据搬运到FPGA内部的FIFO。开始收取响应数据的第一个通道,边判断边等待,如果等到超时,仍没有读到响应数据,则直接读取下一个通道的数据。下一个通道,直接读取,不再等待判断,如果读不到数据则直接判超时。

3.2 CPU软件设计

模拟量采集模块作为NuCON系统的IO,其内运行了多个软件,这里重点介绍模拟量采集和HART通信软件设计。

FPGA模拟SPI总线时序,控制模数转换器进行模拟量采样,采样数据经滤波后存放在FPGA寄存器里。FPGA作为CPU的PCI设备加载成功后,软件读取模拟量数据就像读取本地寄存器一样方便。CPU依模块的控制周期,周期性读取模拟量并处理,每个周期从FPGA读取一次数据,滤波处理后,发送给控制器。其工作流程如图6所示。滤波处理仍然使用滑窗滤波,所不同的时,在计算平均值之前,将缓存数据进行排序,丢掉最大值和最小值,然后再求平均值。并且,缓存数据只有5个,这是因为工业控制对信号响应时间有一定的要求,选取点数多的时候,无法满足响应指标要求。

图6 模拟量采集程序流程图

HART软件主程序控制两个HART主站功能线程的启动和退出。主程序检测到HART功能配置发生变化时,先关闭主站功能线程,然后再启动它。两种情况下模块会收到配置文件:一是模块上电启动时,上位机主动下发配置;二是人为修改配置后,以命令方式下发配置。通过关闭线程、启动线程这样的方式,实现对HART通道的重新初始化。两个HART主站线程,一个负责1~4通道通信,另一个负责5~8通道通信。

HART主站功能线程工作流程如图7所示。首先,读取HART通道的配置参数,根据配置参数初始化HART通道。HART通道有3种工况:1)通道HART功能没有使能;2)HART功能使能了,但是外部没有接入HART从设备;3)HART功能使能了,外部也接入了从设备。第一种情况,软件不需要查询外部设备;第二种情况,软件不仅在初始化阶段查询外部从设备,在周期工作期间也会查询外部从设备;第三种情况,初始化期间读取外部从设备地址,周期工作时使用从设备地址通信。初始化从设备时,HART主站线程发送命令0,使用地址0,查询从设备。

图7 模拟量采集程序流程图

完成初始化工作后,HART主站线程进入周期性工作模式。每次工作都从判断线程是否被要求退出开始,如果线程被要求退出,就结束循环,直接退出线程,为再次启动做准备;如果线程没有被要求退出,就进入状态机的当前状态,进行业务处理。

HART通信过程状态机如图8所示。在启动状态,进行一些初始化设置,随后进入发送状态。在发送状态,依次往通道1~4(或5~8)发送HART命令。如果通道没有使能,则跳过该通道;如果通道没有接入从设备,则发送0号命令;如果通道已经成功扫描到从设备,则发送3号命令(主变量查询命令)或其他命令。命令发送完成后,进入等待监测状态。在等待监测状态,根据命令发出时间,和HART响应超时时间,计算出需要延时的时间。在延时时间结束前开始检测数据响应,如果检测到响应数据就结束当前状态;如果没有检测到响应数据,就再延时一段时间后,直接切换到接收处理状态。在接收处理状态,接收HART从设备响应数据,并进行处理,如果收不到响应数据,就判定为通信超时。从收到的数据包解析出需要的数据信息,将其加入到与控制器通信的程序的发送列表。接收数据并处理完毕后,切换到发送状态,如此循环工作。

图8 HART通信状态机

4 测试结果与分析

采集模块完成设计开发后,添加进NuCON系统进行了测试。主要测试了HART通信兼容性、HART通信效率和模拟量采集精度。

HART通信兼容性测试选用了西门子、罗斯蒙特、E+H、上自仪、开封仪表等几家公司的仪表进行了通信测试。模块与上述公司的仪表产品均实现了稳定通信。

NuCON系统原有的HART通信模块通信效率较低,新研制模块目的是为了提高HART通信效率,替代原有模块。通信效率测试使用示波器监测HART通信波形,查看前后两次通信的时间间隔。图9是原有HART模块的各个通道的HART通信全部打开时,单个通道的通信效率,大约3.2 s完成一次通信。图10是原有HART模块只打开一个通道的HART通信时的通信效率,大约1.3 s完成一次通信。图11是新研制模块的HART通信效率,大约1.2 s完成一次通信。它的HART通信效率不受开启HART功能多少的影响。

图9 原HART模块通信效率(全部打开)

图10 原HART模块通信效率(只开一个通道)

图11 新研制模块HART通信效率

对比上述三幅图片可以发现,新研制的模块在HART功能全开时的通信效率有了很大的提高,这得益于流水线型的工作策略。即便是模块单通道HART工作,通信效率也有提升。如果将更多的工作交由FPGA承担,新研制模块的HART通信效率还有进一步提升的空间。

精度测试使用两台高精度信号源MC6提供输入信号,分别提供12 mA和20 mA电流信号,使用NuCON的趋势软件记录两个通道模拟量采集值。精度测试结果如图12所示,优于0.1%。

图12 模块精度测试

5 结束语

研制的具备HART主站功能的模拟量采集模块,通过使用FPGA和协议转换芯片,设计了串并转换的流水线工作方式,以较低的成本实现了多通道HART高效通信和高精度模拟量采集。模块的模拟量采集精度和HART通信效率都还有提升空间,可以通过改善PCB布局加工、优化滤波设计、优化HART通信控制进行改进。新研发的模拟量采集模块作为原产品的替代品,必将获得更广泛的应用。

猜你喜欢
调制解调器主站模拟量
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
基于信号集中监测的轨道电路模拟量报警分析
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
县级配电自动化主站系统的设计
关于600MW火电机组模拟量控制系统设计和研究
基于S7-200PLC 模拟量扩展模块使用问题的研究