LabVIEW激光气体探测嵌入式ARM解调系统开发

2022-12-10 06:55李云飞李开远
传感器与微系统 2022年12期
关键词:嵌入式氧气光纤

程 跃, 周 扬, 李云飞,栾 林,毛 赫,李开远

(1.安徽泽众安全科技有限公司,安徽 合肥 230601;2.清华大学合肥公共安全研究院,安徽 合肥 230601)

0 引 言

激光气体传感器作为本征安全的传感器,具有精度高、选择性好、可靠性高、不中毒、受环境干扰因素较小、寿命长、体积小、重量轻等显著优点。嵌入式开发技术在激光气体传感器信号采集、处理和解调中起到至关重要的作用,然而,当前绝大多数的嵌入式开发语言都是基于文本编程方式的C或C++等语言[1~6],这种编程方式一方面对编程人员的要求比较高,另一方面在项目开发时效率比较低,开发时间较长。美国国家仪器(National Instruments,NI)公司开发的软件产品LabVIEW是经典的图形化编程软件之一,用“图标”代替了“文本指令”,使计算机编程变得简洁、方便[7~11]。本文基于LabVIEW围绕着STM32F407ZGT6处理器进行嵌入式开发,对激光光纤氧气传感器输出信号进行实时采集、实时显示和数据传输。

1 系统硬件组成

1.1 整体框架

系统硬件主要由激光光纤氧气传感器、嵌入式ARM解调终端和计算机组成。激光光纤氧气传感器是基于荧光猝灭技术对氧气体积分数进行实时、在线、本征安全测量,主要由高功率LED激发光源、Y型传输光纤、氧荧光传感探头和光电探测器组成,该传感器测量范围可达0 %~50 %,响应时间不大于5 s,体积小(109 mm×64 mm×41 mm),重量轻(不大于350 g)。嵌入式ARM解调终端用于对激光光纤氧气传感器输出的电压信号进行实时采集,并经过处理获得最终的氧气体积分数,最终解调终端对获得的氧气体积分数进行实时显示和数据传输。嵌入式ARM解调终端采用STM32F407ZGT6,主频高达168 MHz。计算机结合基于LabVIEW开发的上位机软件,通过以太网实时获取嵌入式ARM解调终端的氧气体积分数信息并进行数据实时存储。

1.2 嵌入式ARM解调终端

嵌入式解调终端的硬件核心为采用意法半导体(ST)公司STM32F407ZGT6微处理器的开发板,STM32F407ZGT6是基于带有浮点处理单元(floating point unit,FPU)的ARM Cortex—M4内核的32位高速微处理器,主频高达168 MHz,拥有1 MB闪存程序存储器、192 kB的SRAM(包括64 kB的内核耦合存储器数据RAM)、12个16位定时器、2个频率高达168 MHz的32位定时器、3个12位2.4 MSPS模数转换器(ADC)(总共多达24通道)、140个具有中断功能的I/O端口以及包括专用直接存储器访问(direct memory access,DMA)在内的15个通信接口,具有非常强大的拓展能力。

1.3 信号采集电路

解调终端的ADC为12位逐次逼近型,单个ADC的最大采样率为2.4 MSPS,能够支持单次、连续、扫描或间断交替的采样方式,A/D转换的结果可以左对齐或右对齐的方式存储在16位数据寄存器中,模拟看门狗的特性允许应用程序检测输入的信号电压是否超过用户自定义的阈值,实现24通道的数据信号采集。

1.4 以太网接口电路

采用一块集成了ENC28J60以太网控制器的网络传输模块与STM32的Ethernet接口连接,ENC28J60是一种支持行业标准串行外设接口(serial peripheral interface,SPI)总线通信的独立以太网控制器,可以为任何配备有SPI总线接口的单片机(MCU)拓展出一路以太网通信口,ENC28J60模块与主控制器间通过总线方式进行命令和数据的交互,二者之间的数据传输速率最高可达10 Mbps,具有很高的应用性价比,利用ENC28J60模块在STM32芯片上扩展网络传输端口的电路连接原理如图1所示。

2 基于LabVIEW的ARM嵌入式开发原理

如图2所示,为基于LabVIEW的嵌入式开发流程,LabVIEW嵌入式开发的本质是代码复用,而在LabVIEW环境下要实现对ARM的嵌入式开发还要依托于Keil MDK工具链。首先,要基于LabVIEW编写图形化的嵌入式软件程序;而后,通过LabVIEW C Generator对编写的图形化程序生成对应的C代码,并按照一定规则添加到RTX操作系统的框架中;最后,LabVIEW通过调用Keil MDK的RVCT编译工具将程序代码编译并下载到ARM芯片中,在LabVIEW环境中对ARM芯片中的程序进行调试。在整个开发流程中,开发人员只需基于LabVIEW编写好图形化的软件程序,后面C代码的生成和程序编译下载自动完成,做到了嵌入式开发中面向对象的程序设计和开发。

图2 LabVIEW嵌入式开发流程框图

3 基于LabVIEW的嵌入式ARM解调终端开发

图3为ARM解调终端程序流程。如图所示,STM32终端通电开机后,首先进行程序的初始化,程序进入到“启动界面”程序,此时,在液晶显示屏(LCD)上显示Logo和欢迎语;程序进入到“终端主程序”。主程序主要完成光纤气体传感器信号采集和处理,获得氧气体积分数信息,并在LCD上实时显示,同时通过以太网对数据进行发送,此外,主程序还完成LCD上日期和时间的实时显示。

图3 ARM解调终端程序流程

3.1 终端“启动界面”程序开发

基于LabVIEW开发的ARM终端启动界面程序,首先对LCD初始化,点亮LCD背光灯,并清除屏幕为白色背景,而后,调整LCD方向为横屏,随后,初始化ARM终端上的SD存储卡,并设置中文字体大小为12号,然后程序从SD存储卡中调取“清华大学合肥公共安全研究院”Logo图片并在LCD设定的位置显示,同时在屏幕上显示“欢迎使用光纤氧气体积分数传感器”,启动界面显示3 s后自动退出并进入终端主程序。

3.2 终端“主程序”开发

ARM终端主程序包括信号采集和处理程序、网口程序、看门狗程序和时钟程序等,信号采集和处理程序对光纤氧气体积分数传感器的模拟电压信号(0~5 VDC)进行采集,该电压对应的氧气体积分数为0 %~50 %,程序对采集到的电压信号进行处理换算为最终的氧气体积分数值并在LCD上实时显示;网口程序主要对ARM终端模块的IP地址进行固化,如该ARM终端模块的IP地址设定为192.168.1.16,并对最终氧气体积分数值通过TCP网络实时向上位机进行发送;看门狗程序主要是防止ARM终端程序跑死,该看门狗程序3 s喂一次狗,超过3 s,认为程序跑死,此时,ARM终端按照图3流程自动重新启动程序;时钟程序用于实时在LCD上显示日期和时间。

4 基于LabVIEW的上位机通信软件开发

图4为基于LabVIEW开发的上位机通信软件,主要用于与ARM终端进行通信,该软件包括参数设置区、数据显示区和功能按钮区。参数设置区,用于设置操作人员姓名、操作日期、数据保存的路径,数据保存的时间间隔以及光纤氧气体积分数传感器ARM终端主机的IP地址;数据显示区用于实时显示采集获得光纤氧气体积分数传感器主机的数据,纵坐标为氧气体积分数(%),横坐标为时间(s),数据以线条图形式显示,可以反映出氧气体积分数随时间的变化趋势,结合右下角的十字按钮和放大缩小按钮,可以对长时间尺度及短时间尺度内的数据进行分析;功能按钮区的开始和退出按钮分别用于开始程序和退出程序的控制,暂停按钮用于控制程序暂时停止数据的显示。为了防止数据丢失,在暂停期间,数据还在实时存储。十字按钮用于准确读取显示数据的坐标,放大、缩小按钮用于数据图形的局部放大及图形的缩小控制。图4所示为软件与ARM终端通信采集到的数据结果,软件实时采集到的数据与ARM终端LCD上的数据一致,并且经过了长时间的联调测试,结果表明数据无丢失,完全满足应用要求。

图4 基于LabVIEW开发的上位机通信软件

5 测试结果与分析

采用不同的氧气标准体积分数(分别为4 %,8 %,12 %,15 %)对系统进行了实验测试,测量结果如表1所示,4次测量的相对误差分别为-0.25 %,0.13 %,0.25 %,-0.20 %,均在±5 %范围之内。通过比对实验,结果表明:系统具有误差允许范围内的一致性,验证了整个系统测量的准确性和可靠性。

表1 测量结果 %

6 结 论

基于LabVIEW开发了激光光纤气体传感器的嵌入式ARM解调终端,该终端采用STM32F407ZGT6,终端对光纤氧气传感器输出的电压信号进行实时采集,并经过处理获得最终的氧气体积分数,最终解调终端对获得的氧气体积分数进行实时显示和数据传输。此外,基于LabVIEW还开发了光纤气体传感器的上位机通信软件,用于数据的通信和存储,并与嵌入式ARM解调终端进行了联调测试,结果表明:基于LabVIEW开发的嵌入式ARM解调终端和上位机通信软件均完全满足应用要求。

猜你喜欢
嵌入式氧气光纤
聚焦空气与氧气
氧气的测定与制取
氧气汇流排间电气设计
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
FIBBR King-A系列HDMI光纤线
TS系列红外传感器在嵌入式控制系统中的应用
高品质的忠实还原 FIBBR Ultra Pro2 HDMI光纤线
一条光纤HDMI线的诞生长飞/长芯盛FIBBR工厂走访实录
搭建基于Qt的嵌入式开发平台
全国产1550nm 窄脉宽光纤放大器