测井仪器调试台架供电监测技术研究
2019-09-20鞠晓东卢俊强门百永余志军
刘 栋, 鞠晓东, 卢俊强, 门百永, 余志军
(1.中国石油大学(北京) 油气资源与探测国家重点实验室,北京 102249; 2.北京市地球探测与信息技术重点实验室,北京 102249 )
随着石油测井行业的发展,测井仪器的结构愈加阵列化和复杂化,它具有探头精密、数量多,以及内部空间狭小、电路复杂特点。这增加了仪器调试、检修的难度和复杂度,因此需要借助于专业的设备以提高仪器制造和维修的效率。这种设备称之为调试台架[1]。为了保证仪器单元(短节)在调试或者维修时处于安全的供电环境,调试台架不仅需要对外低压供电,而且需要对各电源的输出进行监测和控制。目前国内外各大油服公司调试台架并没有专门针对低压供电的监测模块,大多是监测220 V供电电压电流。针对此问题,本文设计了用于各种仪器单元(短节)的系列低压供电接口,通过采用实验室台架系统ARM7+μClinux平台[2-5],实现所有供电能够通过上位机软件设定保护限制值,并提供实时的电压、电流显示,为高性能的测井仪器调试台架的研发提供支持。
1 基于嵌入式的供电检测系统设计
图1为系统采用上位机+嵌入式前端机的主从式架构。系统整体结构主要分为电源管理板、嵌入式前端机和上位机软件3个部分。上位机通过以太网与嵌入式前端机互联,超级终端用于前端机软件的前期调试;基于ARM7+μClinux嵌入式架构的前端机与电源管理板以积木式结构堆叠,通过并行扩展I/O总线实现了ARM+FPGA形式的嵌入式网关服务器[5];电源管理板采用FPGA+MCU(单片机)的分布式采集控制系统,完成电源供给模块输入的各路电源电压、电流的采集工作并控制各路电源的输出。当上位机通过以太网给网关服务器下发命令,前端机会对指令进行解析,然后通过FPGA利用串口下发到MCU,MCU收到命令后开始工作,并将电源采集数据返回给FPGA,前端机从FPGA读取数据后,封装成以太帧格式发送给上位机。电源模块作为调试台架对外供电接口,也是本系统的监测对象。根据仪器功率需求,设计6路低压电源,电压和电流分别为1.2 V/0.5 A、1.8 V/0.5 A、3.3 V/1 A、5 V/0.5 A和±6 V/1 A,用于各种调试仪器单元(短节)。电源管理板是本系统功能板,主要完成各路电源监测和控制任务。该模块主要由电源输入输出接口、采样滤波电路、STM32单片机采集控制和FPGA主控4个部分组成。上位机软件是系统人机交互界面,可进行各路电源的电压、电流限定值设置,也可直观地显示各路电源电压、电流值及其变化的曲线。核心板卡通过10 Mbit/s网络与主机连接,主机可以实时发送控制命令到前端机,同时前端机能够快速上传数据到主机。嵌入式前端机软件由3个部分组成,引导程序BootLoader、操作系统和特定功能的应用程序。引导程序BootLoader类似于电脑的BIOS程序,用于引导操作系统内核启动。采用μClinux作为前端机ARM的操作系统,它作为微控制器领域中的Linux系统,是专门针对S3C44B0X此类处理器而设计的,而且沿袭了Linux包括TCP/IP协议在内的绝大部分特性。
图1 系统整体结构
2 电源管理模块设计
为了实现同时对多路电源进行监测,电源管理板需要同时采集各路电源的电压、电流值,并实时上传到上位机。当其中一路电源出现异常情况时,为了不损坏仪器设备,必须能同时切断所有电源输出,并能记录异常电源情况,及时上传给上位机报警。实际调试时可能存在某路电源的电流值为十几毫安或者更小的情况,为了尽可能准确地测量电流值,需要提高A/D的转换精度。针对此问题,提出FPGA+6路STM32单片机的采样控制系统的方案,该方案主要由电源输入输出接口、采样滤波电路、STM32单片机电路和FPGA电路组成,其中STM32 单片机集成了16位A/D转换器[6],其结构框图如图2所示。
图2 电源管理板硬件结构框图
FPGA通过扩展I/O总线接收嵌入式前端机下发的命令并解析命令参数,解析完后通过串口向各路STM32单片机发送启动采集命令和各路的电压、电流限定值,各路单片机接收到启动信号后开始进行A/D采集,采集数据处理之后通过串口回传给FPGA主控芯片,FPGA将其打包,并以协议帧形式通过扩展I/O口总线回传给嵌入式前端机。各路单片机在每次采集完数据后先将采集的数据与该路的电压、电流限定值做比较:若有一路超出,则通过中断信号通知FPGA同时切断各路输出电压;若没有超出,则继续采集,每10次求一个平均值,然后将该平均值回传给FPGA。这可以在保证监测电压电流精确的情况下,减少系统通信次数。
采样滤波电路为A/D采集电路的前置电路,主要完成电压、电流值采样和线路上噪声的滤除任务。电压采样电路由轨对轨运放AD8606与其进行参数匹配的电阻和电容构成;电流采样电路由高压、高分辨率零漂移电流检测放大器AD8418与其进行参数匹配的电阻和电容构成;滤波电路则由AD8606为核心部件搭建的二阶sallen-key滤波器构成。
采集电路由STM32F373CC单片机及外围器件构成,主要涉及到单片机中SDADC1、SDADC2和 USART1(通用同步/异步收发器)3个外设资源。其工作流程如下:USART1接收FPGA下传的命令,控制SDADC1和SDADC2分别采集电流和电压,SDADC1/2采集完数据后进行处理,并将处理后的结果赋给USART1发送到FPGA,与此同时,根据处理结果决定是否产生中断信号送入FPGA。SDADC是高性能、低功耗Σ-Δ型模数转换器,具有16位分辨率。每个SDADC单通道采样时转换速率高达50 kS/s,在多通道采样时转换速率高达16.6 kS/s,可自动扫描各通道,转换值可自动存入系统RAM中。SDADC与双积分型A/D转换器相比,具有较高的转换速度和与后者相近的串模干扰抑制能力,与逐次逼近型A/D相比,具有比较高的分辨率、线性度和信噪比,而且不需要保持电路。SDADC结合这两种A/D转换器的优点,并弥补了它们的一些不足。本文选择16位SDADC完成电压、电流采集工作。为防止6路采集电路之间相互干扰,FPGA与STM32单片机之间通信线路上加了HCPL0600光电耦合隔离模块。
3 软件系统设计
网络数据通信是上位机与下位机数据通信的枢纽,是上位机软件设计中的重点。Windows操作系统提供多种网络I/O模型,如选择模型、重叠I/O模型、完成端口模型等,采用完成端口模型。完成端口模型是C/S模式中性能最好的网络通信模型,它充分利用Windows内核进行I/O调度,只需少量的线程就能处理客户端的所有通信,减小了无谓的上下文切换损耗,极大地提高了网络通信性能。相对于其他通信方式,该通信方式具有占用CPU资源小、执行效率高等优点[7]。上位机(服务器端)先通过API调用WSAStartup()创建套接字,设置本地IP地址和网络连接端口,并将其绑定到已创建的套接字,随后将套接字置于监听状态,最后调用accept()获取连接。前端机(客户端)先初始化套接字,设置好服务器的IP地址和连接端口,然后连接服务器。上位机与前端机连接成功后,就可以用send()和recv()发送和接收数据。
上位机软件是人机交互的工具,用户通过它可以方便地控制电源监测系统工作,同时,也可以直观了解系统的工作状态,简洁又高效。根据电源监测系统的功能需求,它应具有如下功能模块:① 参数设置模块; ② 数据显示模块;③ 状态显示模块;④ 文件存储模块;⑤ 文件回放模块;⑥ 软件帮助模块。其中参数设置模块可选择对哪几路电源进行监测,并能设置各路电源的电压和电流限定值。
图3为上位机软件系统的架构示意图,分为3个层次,从下到上分别为驱动传输层、系统内核层和应用层。驱动传输层主要使用到网络通信模块,该模块基于TCP/IP协议,通过它能实现与前端机的网络通信任务。系统内核层主要涉及到消息驱动机制和多线程模块,消息驱动机制为上位机软件各功能模块提供消息调度,多线程模块主要用于完成端口模型设计和文件存储模块中。应用层则是实现各个功能模块,主要包括各路电源参数设置、采集数据显示和监测状态显示等模块。
图3 上位机软件的架构示意图
① 参数设置模块:参数设置模块在软件界面的右侧,由6路电源组成,可分别设置电源电压限定的上限值、下限值和电流上限值。
② 数据显示模块:数据显示模块由6路电源显示组成,每路电源显示又分为电压和电流两部分。
③ 文件存储模块:当电源监测系统工作时,可以保存采集数据值用于后续分析。
④ 文件回放模块:当系统监测完之后,可利用文件回放功能回放采集数据。
⑤ 状态显示模块:状态显示模块有正常和异常两种状态,异常状态时,仪器供电不正常,此时FPGA就会切断仪器所有供电电源。
上位机界面如图4所示。同时图4也是实际测试结果图。
4 设计结果与测试分析
利用ARM7+μClinux平台进行系统调试。上位机和嵌入式前端机通过以太网相连,嵌入式前端机与电源管理板以积木式结构相连,低压电源板向电源管理板输入待测电源。
以5 V电源为例,电源管理板电源输出仪器负载。在上位机软件上设置5 V电压上限值为5100 mV,下限值为4900 mV,电流限定值为500 mA,单击“开始”按钮并保存测试数据,最终监测结果如图4所示。
图4 上位机软件界面
从图4中可以看出,电压、电流显示模块Y轴坐标值范围与输入的限定值相关;5 V电压、电流曲线比较平稳,两者均在限定值范围内,监测状态正常,绿灯亮。
5 结束语
本文基于ARM7+μClinux的嵌入式架构设计了一种低压电源管理模块,主要采用FPGA+STM32单片机分布式采集控制系统实现对各电源的电压和电流的采集以及输出的通断控制。该电源管理方案可对测井仪器的低压供电电源进行监测,有效地防止因低压电源不稳定而造成的仪器和调试系统的损坏,为仪器的调试和维修提供安全的供电环境。