基于i.MX6的多通道数据监控装置设计与应用

2022-01-10 21:50罗贵舟李志鹏韦国歆
科技信息·学术版 2022年1期

罗贵舟 李志鹏 韦国歆

摘要:随着电力机房承载业务的增多,智能传感设备得到广泛部署使用,其在传统监控领域,监控装置的接入能力和协议适配性面临新的挑战。本文以ARM Cortex-A9架构的恩智浦i.MX6为核心板,扩展多通道物理串行接口,并在Linux操作系统中构建基于规约和通道引擎的多线程协议转换框架,实现传感设备的并行物理接入、多线程协议解析。经过第三方检测和电网机房实际投运表明该装置接入能力强,传感协议适配性好,满足实际电力机房数据监控需要。

关键词:i.MX6;Cortex-A9;多通道;Linux;机房监控

0 引言

电力机房作为保证电网平稳运行的基础设施,直接关系电网信息、通信以及通道安全。随着物联网、人工智能等技术的发展应用,面向机房基础资源智能设备得到大规模应用,包括温度传感、湿度传感、水浸传感、烟雾传感、电流传感、电压传感以及监控装置本体等,用户通过中心主站业务平台远程监控机房设备实时数据、实时告警、历史告警、工况以及查看运行曲线,实現无人值守目的。目前传感器投运数量和种类众多,早期机房部署的传统数采装置普遍选用MCU或者低端CPU配置,导致外设接口少,扩展性弱,且多业务数据处理实时性差,已很难满足机房监控业务的集中管理。

本文综合考虑成本、性能以及实际应用中的稳定性,选用ARM Cortex-A9架构的恩智浦i.MX6为核心板,扩展多路串行外设接口,满足机房站点智能以及非智能传感设备的并行接入,并设计开发了基于Linux操作系统的规约和通道的多线程协议适配框架,在内存承载范围内,可同时满足50多个协议并行解析,有效减轻站点新增传感设备接入难度以及减少协议维护周期,使机房基础资源数据快速准确上送至业务平台。装置实现电力机房环境、动力量传感器采集、协议转换、数据处理、告警处理、信息展示以及通信。

1 装置整体方案

机房基础资源监控装置作为机房监控部署架构中的监控单元,下接传感,上接平台,其运行稳定性影响整个监控系统性能指标。首先需要考虑的其安全性和稳定性,选用的i.MX6[1]为工业级核心板硬件平台,行业中应用较多,稳定性较好,扩展232/485进行全电气隔离,并板载南瑞全自主的国网加密芯片,实现软、硬件闭环防护。软件除了参照国网漏洞、安全功能规范外,在服务中增加业务喂狗服务,使主板在异常状态下,硬件能够自复位。其次需要考虑对外接口,采用CPU+CPLD+串行集成芯片扩展多路串行接口,且232/485模式可软调。为便于现场实施人员维护,装置软件采用B/S架构,操作方面,界面友好。

2 硬件设计

装置硬件主要由核心板、主板和电源组成,其架构如图1所示:

i.MX6核心板最小系统主要包括:四核1G主频、1G内存电源管理[2],其内部集成一个MAC,外部通过扩展一个AR8031 phy实现一路千兆网口,再使用Intel 82574芯片扩展实现另一路千兆网口。为实现无线移动通信功能,采用标准的MINI PCIE接插件扩展4G模块。通过CPU+CPLD+串行集成芯片扩展出了多路业务串口,实现一个站房传感设备的全覆盖。

3 软件设计

3.1 软件架构

本装置嵌入式系统软件包含多线程适配框架软件(NRSys)[3 4]和规约软件两大部分。规约软件分为两类,一类规约程序作为设备驱动模块(采集规约),通过协议语言实现针对智能设备的数据采集和命令交互功能,是装置与智能设备的接口;另一类规约程序用于与上位机管理系统通讯(通信规约),将采集的设备数据传输给上位系统,并接收上位指令,实现上位系统对设备的数据采集和命令交互功能,是装置与上位系统的接口。多线程适配框架软件由规约和通道线程组成,实现装置系统软件功能实现,是规约程序运行的平台,为规约进程提供参数供给、监控维护、内部信息交互等运行条件,使装置成为一个具有通讯服务功能的实体。系统软件主要包括NRSys,CSpy,CConfigManager,CWebsocket,CSQLiteManager和SCREEN_MANAGER模块,如图2所示。其中CSpy为装置自管理模块,实现装置磁盘、内存、CPU以及软件运行状态实时监控,CConfigManager是配置管理模块,实现了装置license、固件升级、网口管理、串口管理的等灵活配置;CWebsocket是web后台服务,实现了配置查询、点位数据查询、告警查询、时间同步等功能,它为web界面提供了一套自定义的,基于Websocket通讯协议及JSON对象的简单通信接口。Websocket子系统的存在使得前端WEB界面的开发和后台服务进程充分解耦,使得WEB界面的开发人员无需充分了解业务逻辑,也能高效地进行软件开发。CSQLiteManager为数据库模块,实现数据、告警、配置入库以及查询功能,SCREEN_MANAGER实现装置与终端LCD的信息交互。

3.2 数据库设计

数据库服务由CSQLiteManager单例对象和SQLite3数据库提供。在NRSys的程序框架中,数据的查询操作频率较低,一般在程序启动时加载配置或用户在web上查询配置,但需要及时响应,而数据的插入、修改操作频率较高,如数据点的历史数据记录,告警信息记录等,对数据库服务子系统的IO性能提出较高要求。因此CSQLiteManager在设计时分别实现了同步查询和异步操作接口,保证用户体验的同时更注重IO效率。CSQLiteManager对外接口主要包含:

insert_request()函数提供异步接口,用户将对数据库的操作封装为一个DBReq结构插入到数据库异步操作队列中,由数据库服务线程负责实际的IO操作。

excute()函数提供同步接口,用户将查询操作封装为一个DBQuery结构,函数将执行结构存放于该结构中,在IO完成时同步返回给用户。

异步操作使用了QWaitCondition用于事件响应,数据库服务线程在无异步插入请求时处于空闲状态,并不消耗CPU资源,在缓存中存在异步插入请求时全速运行,保证数据及时地写入数据库。

数据库服务子系统使用一个FIFO用于保存异步请求,在一般情况下,总是采用先提交,先处理的原则进行事务处理。然后,用户可以设置提交的优先级,用于某些紧急事务的优先处理。例如:告警事件的插入操作总是高于数据的周期存储操作。

4 测试与分析

设备通过国网电科院实验验证中心型试试验,在江苏、四川、河南、河北等省市的中心局站信息机房和500kV、220kV等不同电压等级通信机房部署投运,目前已接入环境量(温湿度、水浸、烟感)、动力量(蓄电池、交直流电源)以及控制量(空调)协议的加载解析、数据监控,实时数据刷新≤5s,告警准备率100%。

5 结束语

本文选用恩智浦的工业级i.MX6为核心板,扩展出了多路串口使一台设备满足一个站房范围内被采设备的全接入,嵌入式软件由规约和通道构建出适配性强的协议加载框架,并调度自管理、配置管理、WEB后台模块以及数据库模块,最终实现装置在电力站房中的采集、协议转换、数据处理、告警处理、信息展示以及通信功能。

参考文献:

[1]数据手册:i.MX 6Dual/6Quad Applications Processors for Consumer Products.2018-11-6。

[2]冯思维, 段金杰, 詹志明. 基于iMx6UL的汽车发动机舱噪声检测系统[J]. 软件, 2021, 42(4):3.

[3]郑于海, 亓凌, 于涵诚,等. 一种多协议适配的物联网终端及其协议自适应方法, CN111586027A[P]. 2020.

[4]不公告发明人. 一种快速适配协议变更的解析方法,装置及系统:, CN111343201A[P]. 2020.