一种低功耗政务专网网关设计*
2021-08-30宋汉卿杨永杰
宋汉卿,杨永杰
(南通大学,江苏 南通 226019)
0 引言
目前对于网关的研究,文献[1]使用进阶精简指令集机器(Advanced RISC Machine,ARM)架构以及BC29 芯片,研究了无线传感器网络的低功耗网关;文献[2]研究了基于Arduino 的物联网网关;文献[3]研究了智能家居管理系统方面的网关;文献[4]研究了工业物联网网关,以确保工业生产的数据安全;文献[5]研究了边缘计算在网关的应用;文献[6]研究了基于OpenWrt 的智能网关。从以上文献可以看出,关于网关的研究中既有ARM架构,也有每秒百万次指令(Million Instructions Per Second,MIPS)架构。本文所研究的是基于MIPS架构的专网网关,与文献[6]中使用的MT7620A同属于路由器芯片,但是本文采用的是74KCs 的MIPS 架构,计算性能更好。
在专网通信相关研究中,关于电力专网通信的研究较多。其中文献[7]提出建设一个分布式大数据监控网络,以远程监测电力网络的安全;文献[8]对比了230 MHz 和1 800 MHz 两个频段的电力专网通信,结果表明1 800 MHz 电力专网在吞吐量、时延和服务质量上都更好;文献[9]分析了电力通信互调干扰的影响并给出解决策略。除了电力行业之外,还研究了在其他行业的应用;文献[10]构建了警用异构专网通信,使用Kullback-Leibler 散度排列网络,可以根据业务需求的不同分配网络服务;文献[11]通过机器学习的手段预测网络性能的变化并调整配置以获得稳定良好性能的玩家专网研究;文献[12]使用工业科学医学(Industrial Scientific Medical,ISM)频段建设医院专网并讨论了安全性和可靠性。
从以上两方面的分析可以看出,当前缺乏智能网络中网关的节能研究,更没有专网网关的节能研究,基于此本文设计了一种低功耗政务专网网关,并提出一种基于状态转移图的能量管理算法,使得网关在没有终端接入Wi-Fi 模块时不开启专网模块以达到节能的目的。在硬件上采用PCI-E(mini Peripheral Component Interconnect-Express,mini PCI-E)接口设计,这种接口更换方便、支持热插拔,凡是遵循mini PCI-E 接口设计的设备,例如mini PCI-E 接口设计的声卡、摄像头等均可接入,且采用抗干扰能力强的高频差分电路设计。使用的Wi-Fi 模块支持802.11ac 协议无线接入,政务专网通信模块(以下简称专网模块)可以支持1.4 GHz(1 447~1 467 MHz)、1.8 GHz(1 785~1 805 MHz)时分双工长期演进系统(Time-Division Duplex Long-Term Evolution,TDD-LTE)和800 MHz(807~824 MHz/852~869 MHz)频分双工演进系统(Frequency-Division Duplex Long Term Evolution,FDD-LTE)政务专网频段,可以灵活地接入多种政务专网。
1 网关设计
1.1 硬件设计
如图1 所示,设备硬件主要由AR9344 最小电路、GD115 模块和WLE600VX 模块组成。
图1 硬件设计
AR9344 是一款工业级路由芯片,它采用MIPS架构[13],支持PCI-E V1.1 标准的根复合体模式(Root Complex,RC)和端点模式(End Point,EP)接口;它的最小系统包括电源电路、Flash、双倍数据速率动态随机存储器(Double Data Rate Synchronous Dynamic Random Access,DDR SDRAM)外部存储、一个本地网络接口(Local Area Network,LAN)和两个mini PCI-E 接口。其中,mini PCI-E 接口用来连接GD115 模块和WLE600VX 模块,使用USB2.0链路与GD115 模块通信,使用标准PCI-E 链路与WLE600VX 模块通信。GD115 模块为政务专网通信模块,采用中兴WiseFone7510 芯片,支持1.4/1.8 GHz TDD-LTE 以及800 MHz FDD-LTE 政务专网频段的移动通信,使用3GPP Rel.9 协议标准,其数据传输能力为Cat4。WLE600VX 模块是第五代Wi-Fi通信模块,其采用高通QCA9882 无线芯片,支持IEEE802.11ac 无线通信协议,单流带宽为867 Mbit/s,支持最大2×2 的空间流和可以提供多用户高速无线接入的多用户-多输入多输出(Multi-User Multiple-Input Multiple-Output,MU-MIMO)技术,使用正交振幅调制Quadrature 支持低密度奇偶校验码(Low Density Parity Check Code,LDPC)编码[14]。
举个自己的例子吧。笑笑刚开始玩积木顶多三五分钟,他只知道一层一层搭起来盖房子,搭一会儿就跑去玩车。这个时候,我把积木按照颜色和形状分类,他在旁边观察着,觉得很有趣,又参与进来跟我一起玩。过一会,我把长条形的积木摆成“轨道”,让小卡车在中间通行,他又觉得很有趣,于是又坐下来一起玩。
Wi-Fi 模块采用PCI-E V1.1 总线的RC 模式与主芯片进行数据交互,执行主芯片的相关命令。PCI-E 是一种高速总线接口技术,采用了点对点的连接,每个设备都有自己的数据通路,不需要向整个总线请求带宽,而且可以把数据传输速率提高到一个很高的频率[15]。物理接口为插槽式设计,采用高速差分电路设计。每个PCI-E 数据链路由两组差分信号4 根信号线组成,每组差分信号线为一个数据通路,且信号单向传输,信号传输时根据两根线的电位差来确定传输的信号是逻辑0 或1。与单根信号线相比,差分信号的抗干扰能力强,能有效地抑制电磁干扰。高速差分电路设计在布线上也提出了更高的要求:两信号线布线等长、走线临近、线宽等宽,并且在同一层布线,其V1.1 规范的单根总线频率可以达到1.25 GHz,最高传输速率可以达到2.5 Gb/s[16]。
1.2 软件设计
OpenWrt是嵌入式Linux系统的一个发行版本,是一个专业的、开源的网络设备开发软件,拥有丰富的软件包,支持大部分厂商的设备,也可以上传各个厂商自己产品的驱动等信息[17],能持续更新软件包,没有后门,不会自动开启系统的Wi-Fi 以保证系统的安全。它拥有OpenWrt Forum、OpenWrt Developer 等强大的论坛支持,对于开发者是开源的,不需要额外付费。与Yocto[18]等其他同类路由器开发平台以及高通软件开发平台(QCA Software Development Kit,QSDK)等厂商自主研发的平台相比,它可以兼容任何厂家的产品。
此外,使用通用开发规则GNU 通用公共许可证(GNU General Public License,GPL),可以很好地反馈开发中的错误并及时修正。
根据硬件模块选型以及OpenWrt 系统的特点,可以写出如图2 所示的协议栈。驱动层为软件开发的重点,其中USB 驱动是以GD115 模块的驱动为重点研究对象。它首先需要过滤掉作为网口使用的串口1,其次将其绑定为枚举类网络接口,最后使用AT 指令与tty 终端交互,控制模块的开启与关闭。通用型输入输出接口(General-Purpose Input Output,GPIO)驱动用来控制LED 灯以反映系统的工作状态。无线驱动是以802.11ac 协议和QCA9882无线芯片驱动为研究目标。在应用层主要以Lua 脚本语言为基础实现网关的网页设计和控制设备功能的脚本代码设计为研究目标。
图2 协议栈设计
在系统的稳定性上,引入脚本监测机制,使用AT 指令监测专网模块的启动状态并收集反馈参考信号接收强度指示(Received Signal Strength Indication,RSSI)、参考信号接收功率(Reference Signal Receiving Power,RSRP)、国际移动用户识别 码(International Mobile Subscriber Identification Number,IMSI)和小区ID 等信息,使用ping 命令监测设备与核心网的连通性,并在多次连接失败时重启专网模块或重启设备。
2 能量管理算法
2.1 原理设计
本文建立一个基于状态转移图的能量管理算法,算法的状态转移图如图3 所示,其中状态由AB 两位数组成,A 表示专网模块的开启与否,B表示Wi-Fi 模块的开启与否。AB 的取值为1 表示该模块开启,为0 表示该模块关闭。设备未上电时两模块均未开启,所以状态00 即为系统的起始状态,开机后系统的状态不会停止改变。根据状态转移图所示,状态变化的主要依据是是否有终端接入Wi-Fi 模块。
图3 能量管理算法的状态转移
算法具体执行流程如下所示。
(1)当设备刚开启时,开启Wi-Fi 模块。
(2)开启专网模块。
(3)等待5 min。
(4)判断是否有终端接入Wi-Fi 模块,如果有则进行第(5)步,否则进行第(6)步。
(5)开始检测设备与核心网的连通性,检测完成后,系统等待30 s,之后重复执行该步骤,直至没有终端接入Wi-Fi 模块;当专网模块与基站连接失败时,关闭专网模块并返回第(2)步,如果5次重启专网模块连接均失败则重启设备。
(6)关闭Wi-Fi 模块和专网模块,并等待5 min,之后开启Wi-Fi 模块并等待5 min。
(7)循环执行以下步骤:关闭Wi-Fi 模块,等待5 min,开启Wi-Fi 模块,等待5 min,判断终端接入状态。如果有终端接入Wi-Fi 模块则跳出循环返回第(2)步。
2.2 算法实现
采用脚本文件来实现该算法,使用OpenWrt 系统提供的iwinfo 语句查询Wi-Fi 模块的实时状态,使用AT 指令控制专网模块。iwinfo 语句可以准确反映某时刻Wi-Fi 是否有终端连接,并做出相关操作。算法伪代码如下所示,其中iwinfo 语句主要用来实现两个while 循环的判断条件。
算法运行时,串口信息如图4 所示。算法在开机5 min 后检测到没有终端接入Wi-Fi 模块则关闭Wi-Fi 模块,之后算法通过临时文件与Web 显示进行信息交互,将系统状态显示在Web 界面上,如图5 所示,此时系统没有Wi-Fi 接入,且LTE 模块也未连接,5 min 后开启Wi-Fi 模块并等待终端的接入。
图4 串口信息
图5 网络状态
3 设备测试
3.1 测试环境及方案
测试系统如图6 所示,搭建好系统后,采用ping 命令进行分段的连通性测试,并确认固件的功能性良好,即可开始测试。每次测试时间为1 h,读取1 h 内设备的总耗电量,也就是此时设备的功率。每次测试均等到设备完全冷却,以消除设备过热带来的功耗。
图6 测试系统
测试主要分为3 个阶段。首先测试网关设备的极限传输性能,其次测试网关设备在待机时的功率,最后加入节能算法后的功率并计算算法的节能效率。为了反映系统的忙碌程度,定义了设备繁忙率α,定义式为式(1),含义是在一次测试中业务传输时间占总测试时间的比例,取值范围为0%~100%。
式中:α代表设备繁忙率;Ttransfer表示测试时业务传输的时间;Ttest表示总的测试时间。
测试不同设备繁忙率情况下的算法节能效率,在1 h 的测试时间内,以10 min 为间隔测试业务传输10 min、20 min、30 min、40 min、50 min 以 及1 h 全忙时的功率(即设备繁忙率分别为16.67%、33.33%、50%、66.67%、83.33%、100%),之 后计算各个时间点的算法节能效率。算法节能效率的计算公式为
式中:η为算法节能效率;Pnormal代表不加节能算法时的测试功率;Plow代表加节能算法时的测试功率。
3.2 测试结果
网关设备传输性能为上行可以达到32 Mb/s、下行可以达到90.9 Mb/s,设备功率测试结果如表1、表2 所示。结果表明:在不加节能算法时,其待机功率为5.3 W,测试时瞬时功率在5.208~5.326 W范围波动;在加节能算法时,其待机功率为4.2 W,测试时瞬时最低功率为3.582~3.605 W。本文所提出的节能算法在待机时可以节省20.75%的能量。此外可以看出,在功率方面,上行传输功率为5.7 W,下行传输功率为5.9 W,上行传输较为省电;在效率方面,上行传输时算法节能效率较高。
表1 上行传输测试结果
表2 下行传输测试结果
上述测试不能准确刻画系统的运行情况,实际使用过程中上下行业务传输都有,不可能是单方向的。在测试完成后,为了更好地刻画设备的实际使用情况,构建如图7 所示的综合工况示意图。该综合工况包含了系统所有可能运行的状态:上行传输、下行传输和待机状态。在图7 中,1 h(即3 600 s)测试时间被分成3 种工作状态,其中10 min 的时间为待机时间,25 min 做上行传输,25 min 做下行传输。
图7 综合工况
综合工况下功率的计算公式如式(3)、式(4)所示。
式中:Plow_cost表示带节能算法时的综合功耗;Pup代表上行功耗,使用上一测试的测试数据5.7 W;β表示上行传输在整个业务传输时间内的比例;Pdown代表下行功耗,取5.9 W;Plow_stand为低功耗时的待机功率,取4.2 W;Pnor_cost为不加节能算法时的综合功耗;Pnor_stand为不加节能算法时的待机功率,取5.3 W。
本文研究了综合工况下的算法节能效率,在设备繁忙率α=50%时,改变设备繁忙时的上下行传输比例并使用式(3)、式(4)计算算法节能效率;在上行占比β=50%时,改变设备繁忙率并计算算法节能效率。计算时步长为1%,可以计算出算法节能效率并得到如图8 和图9 所示的变化趋势图。从图8 和图9 中结果看:当设备繁忙率固定时,上行传输比例越高,算法节能效率越高;在上行传输占比一定时,设备繁忙率越低,算法节能效率越高。
图8 算法节能效率与上行传输占比关系
图9 算法节能效率与设备繁忙率关系
4 误差分析
(1)计时精度:采用秒表计时1 h,计时相对误差为0.03%;
(2)仪器精度:测试总功率的最小分辨率为0.1 W·h,相对误差范围为1.69%~2.33%;
(3)散热条件:这里指的是测试时实验室的温度以及通风条件,在散热条件不好时,设备功率会提高1 W 以上;
(4)速率抖动:由于每个传输文件的大小以及分配的传输速度不同,因此会导致有一部分率先完成传输,在切换时就会产生速率抖动,速率的突变也会带来瞬时功率的变化进而影响总功率。
5 结语
本文提出了一种低功耗政务专网网关设计,该设备硬件上使用mini PCI-E 接口来连接专网模块和Wi-Fi模块。mini PCI-E接口抗干扰能力强,小巧灵活,可扩展性强,选用的专网模块可以兼容多种政务专网频段。根据设备的硬件设计特点,提出了一种基于状态转移图的能量管理算法,用于管理专网模块与Wi-Fi 模块的开启与关闭,以达到节能的目的。测试结果表明,网关的传输速度为下行90.9 Mb/s和上行32.0 Mb/s。此外,测试了该算法的节能效率,在待机情况下可以节省20.75%的电能。为了更接近实际使用情况,构建了设备的综合工况,当设备繁忙率固定时,上行传输比例越高,算法节能效率越高;在上行传输占比一定时,设备繁忙率越低,算法节能效率越高。最后,深入分析了测试误差的来源,主要是由于计时和仪器精度带来的相对误差,还有散热条件和速率抖动带来的测试环境影响。