基于FPGA的多路极低温数据测量系统设计*
2019-11-18梁西银倪波波颜昌林马丽萍
梁西银, 倪波波, 颜昌林, 刘 昊, 郭 贝, 马丽萍
(1.西北师范大学 物理与电子工程学院,甘肃 兰州 730070;2.兰州真空设备有限责任公司华宇分公司,甘肃 兰州 730000)
0 引 言
极低温环境的创建、温度的实时监测以及温度控制是空间环模设备的重要技术之一[1]。因此温度数据在空间环境模拟设备中的数据监测和设备控制方面都是很重要的参数[2]。其中,设备内部高低温的多点空间分布测量与实验部件的关键部位温度的精密测量是影响空间模拟设备性能的重要因素[3]。低温泵是得到高真空的关键设备,其内部极低温的测量与控制也是该设备的关键技术。
为了实时、精确采集低温泵和空间环境模拟设备的低温以及极低温段的温度数据,本文设计了一种以现场可编程门阵列(field programmable gate array,FPGA)为核心处理单元、以铑铁热电阻传感器为采集元件的极低温温度测量系统。该测量系统能够实现并行驱动24路温度传感器进行实时数据采集、处理和传输等功能。
1 系统设计方案
如图1所示,由于FPGA芯片拥有更多的内部RAM和ROM单元,具备更快的处理速度、丰富的引脚资源和较强的并行处理能力[4],所以,选择Altera公司EP3C25Q240型FPGA芯片为核心数据处理芯片。该芯片通过4个SPI—Master接口(MSPI0~MSPI3)驱动4个独立的前向通道的ADC芯片,并将采集的数据通过1个SPI—Slave接口(SSPI)提交至负责多个板卡数据汇总及任务调度的MPU,最终由上位计算机和软件实现数据存储和实时呈现。每一个前向通道由各自的铑铁传感器、ADC芯片、SPI信号隔离电路等单元构成,完成电阻信号的采集与模/数转换任务。每个ADC芯片具有6个热电阻传感器信号采集通道,所以,该电路系统整体上可以接入24路热电阻传感器。FPGA芯片外接的串行接口存储器(E2PROM),主要用于存放分度表、ADC芯片配置参数等,实现了配置参数掉电不丢失。
热电阻传感器采用铑铁热电阻(型号RF50—SQ)。该传感器具有精度高、响应速度快、工作稳定性好、测量温区范围大以及热电效应比较线性等优点。ADC芯片采用了ADI公司的AD7124—8芯片。该芯片为适合高精度测量的低功耗、低噪声RTD专用模数转换芯片,内置一个低噪声24位Σ-Δ型模/数转换器。
由于工业现场情况十分复杂,各个节点之间存在很高的共模电压,容易造成SPI接口通信异常,严重时甚至会烧毁芯片[5]。同时为降低数字电路对模拟电路的噪声干扰,提高测量精度,采用了隔离芯片ADuM5411实现了FPGA 与ADC芯片之间的信号隔离、电源隔离和地隔离,同时也给ADC芯片的基准电源(VREF)供电。
除图1虚线框内的主要电路结构之外,MPU单元模块主要负责多个板卡数据汇总及任务调度,还可以通过SPIX(X=1,2,3)另接其它3个测量板卡。MPU板卡与上位机之间采用以太网通信方式。
图1 系统结构框图
2 FPGA电路设计与工作流程
2.1 FPGA内部电路设计
FPGA内部的逻辑电路框图如图2所示。
图2 FPGA内部电路结构框图
芯片外部接口主要有4个驱动ADC的SPI—Master接口、1个与MPU通信的SPI—Slave接口、1个与E2PROM芯片通信的I2C接口构成。来自SPI—Slave的上位机指令经过指令译码器的译码,控制状态机在3种工作状态之间切换,实现ADC数据采集、ADC初始化和ADC参数设置3种最基本的任务调度。ADC参数设置状态下主要通过向参数RAM 块写入来自MPU的ADC芯片参数与分度表数值;ADC初始化状态下主要完成参数写入ADC芯片寄存器,以及固化到E2PROM芯片。数据处理中的电路结构和具体数据流程由图3展开描述。
单路ADC数据处理通道电路如图3所示。SPI接口驱动电路SPI—Master0将ADC芯片的数据存入FIFO后,按顺序完成下述处理流程:噪声滤波处理,电压到电阻值的转换处理,传感器引线开路、短路、数据异常诊断处理,查询分度表获得温度值的查表、插值算法处理,附加通道编号等信息的加帧处理。最后,将数据写入温度数据缓存区T-RAM中,供MPU通过SPI总线读取。由单路数据处理通道电路重复构成的4路数据处理通道具有并行、独立的特征,以并行方法提高了数据处理速度。
图3 单个ADC数据处理通道电路框图
2.2 芯片电路系统工作流程
该系统工作流程如图4所示。
图4 系统工作流程
FPGA芯片上电完成后首先监测S0,S1 信号状态,若为“11”则说明 MPU尚未完成初始化或尚未就绪。等待MPU初始化完成后,依据信号状态值(“00”,“01”,“10”)选择性加载 E2PROM 中特定地址的参数集合K[n1]和K[n2]。K[n1]是有关修正系数与分度表的参数集合;K[n2]是有关 ADC 初始化的参数集合。在 ADC 转换与数据输出的状态中,来自后向 SPI 接口(SSPI)若收到 MPU 的命令,则依据命令内容分别执行 1,2,X等不同任务。任务 1 为参数设置,将收到的设置参数写入E2PROM 默认地址中,然后重新加载参数集合 K[n1]和K[n2],并使之成为下次上电后的缺省参数。任务2为重设 ADC模式,可临时修改 ADC 的工作模式参数,并重新初始化 ADC。但是临时修改的参数不会成为下次开机后的缺省模式。任务X是不再详述的其它处理过程,包括自检、端口诊断、校准等处理过程。如果没有收到来自MPU的SPI命令(null),则继续执行ADC采集和数据输出。
3 铑铁分度表数值预处理
3.1 分度表数据预处理基本方法
各种标准热电阻分度表和非标热电阻的出厂分度表从结构上来看均是一个以电阻值为元素的一维数组,通常每两个元素之间温度间隔为0.1 K,如表1所示。经ADC测得传感器电阻数值后,若要采用电阻数值比较的方法定位到接近的数组元素,算法的时间开销将庞大到无法估计。由电阻值转换成实际温度的运算过程中会遇到很多浮点数的处理,使得算法比较繁杂[6]。综合上述两方面原因,如果直接使用原始分度表查表,会极大地增加FPGA电路的设计难度,不适合FPGA芯片的电路设计。因此,分度表的数据预处理对于本系统的设计和优化非常关键。对预处理后的分度表用来查表和插值得到实际温度值。
1.3.2 观察组 研究组患有阴道炎的老年糖尿病患者在给予雌激素软膏的基础上,给予保妇康栓(批准文号:国药准字 Z46020058,规格:1.74 g×14 粒)进行治疗,给药方式为阴道内给药。给药剂量为1粒/次。给药操作为清洗外阴部,向阴道深部塞入栓剂。给药疗程为4周。
表1 铑铁热电阻出厂分度表(RF50-SQ)
本系统主要采用分度表的转置处理方法,将上述原始分度表(命名为数组R)的电阻元素转换成温度元素(命名为数组T),使得转置后的一维数组中元素为温度,元素序号为电阻。这样通过数组序号访问元素、实现插值将会变的高效、快速。对出厂分度表的转置处理是一个基于分度表插值算法的数据反推处理过程。 如图5所示,R数组中以0.1 Ω为间隔,在曲线拐点附近(6.0~7.0 Ω)以0.05 Ω为间隔,即在拐点附近区间增加插值点来减小查表误差。图中循环算法实现了将电阻值元素通过插值算法求出对应阻值的温度值,最后得到新的转置分度表T。
3.2 分度表预处理过程中的数据插值算法
根据图5可知,在出厂原始分度表预处理过程中有一个通过插值方法来求得测量范围内以0.1 Ω为间隔(拐点附近以0.05 Ω为间隔)的电阻值对应的具体温度数据的环节。但是根据原始分度表阻值/温度数据曲线看出,该类型铑铁传感器的分度表在整个量程范围内并不是呈线性关系。在极低温区即阻值区间(2.4,8.0)Ω的阻值/温度数据曲线呈较大的非线性关系,在阻值区间(8.0,60.0)Ω的阻值/温度数据曲线呈较好的线性关系。 因此,使用适合的插值方法得到的插值数据才具有足够高的精度作为处理后的用来后续查表使用的分度。
图5 分度表预处理步骤流程
分段线性插值就是将插值点用折线连接起来逼近原始函数[7],使用分段线性插值对铑铁预处理完的分度表进行插值得到的数据误差如图6所示。可以看出线性插值法在非线性区间(2.4,8.0)Ω的误差太大。
使用Lagrange多项式插值法,其数据误差曲线如图6所示,在整个区间范围内都能将误差限制在±0.01 K以内。所以,在原始分度表预处理过程中采用 Lagrange多项式插值法,能够满足数据插值精度要求。
3.3 分度表预处理后的结构
原始分度表通过预处理后得到表2所示的结构,在区间(6.0,7.0)Ω以0.05 Ω为间隔对应的电阻的温度值为元素,其他区间以0.1 Ω为间隔对应的电阻的温度值为元素,最后组成新的一维数组。为了减少数据处理中小数运算量,最后给所有温度值扩大100倍,电阻以mΩ为单位。预处理后的分度表是从最低温时的阻值2 400 mΩ开始,单位是(K/100)。预处理后的分度表通过上位机软件可以下载到FPGA的外部E2PROM中,供FPGA查表使用。
表2 预处理后的分度表
4 系统测试与数据分析
对比实验采用美国福禄克公司的便携式过程校准仪(Fluke725EX)逐个测量标准温度点值(对应铑铁热电阻分度表范围内的电阻值),然后用本系统测量该电阻器获得测量温度值。将所测量数据绘制成如图7(a)所示的曲线图,从曲线中可以得出两曲线重合性较好,相对误差如图7(b)所示。
图7 电阻模拟温度实验结果
现场测试时将一个四线制铑铁热电阻传感器(RF50—SQ)安装于真空环模设备的载荷平台上,同时并行安装了环模系统自带的低温传感器。测量系统位于热防护结构后的法兰筒内,暴露于真空环境(适用于真空的电路设计)。测量数据通过网线穿舱(采用专用真空插座)上传到计算机数据库。获取的数据如图8所示,另一条曲线是真空环模系统自带的温度仪表所获取的对比数据。可见两条曲线基本接近但也有不小的偏差。在无法确认对比仪表的准确度之前,这个现场测试的对比曲线能从一定程度上验证该测量系统的基本性能。
图8 本系统与空间环模设备自带温度仪表测量数据对比
5 结 论
基于FPGA的极低温数据测量系统,通过现场测试与对比试验,验证了该系统较好满足了空间模拟环境设备中的低温实时测量的需求。电路系统中所采用的SPI隔离、高分辨率 ADC芯片,以及分度表数据预处理和插值算法等具体措施都较好地保证了测量精度和硬件可靠性,反映了设计方案的优势。在后续工作中,将会寻找极低温的恒温设备和行业内标准温度校准仪器,进一步优化、校准液氦温区的测量精度。