电力多业务承载网络无线频谱监测系统的设计与实现
2016-03-02高成才宋铁成郭经红
高成才, 苏 菲, 胡 静, 宋铁成, 郭经红, 张 浩
(1.东南大学 信息科学与工程学院,江苏 南京 210096;2.国网智能电网研究院信息通信研究所,江苏 南京 210003)
电力多业务承载网络无线频谱监测系统的设计与实现
高成才1, 苏 菲1, 胡 静1, 宋铁成1, 郭经红2, 张 浩2
(1.东南大学 信息科学与工程学院,江苏 南京 210096;2.国网智能电网研究院信息通信研究所,江苏 南京 210003)
本文基于电力多业务承载网络中频谱监测的场景,设计并实现了无线频谱的监测系统。该系统分为监测终端与监测中心两部分,监测终端实现频谱监测和传输。监测中心实现对频谱的存储、管理以及用户的权限控制。系统联调和测试表明此无线监测系统能够稳定地完成相关业务。
无线频谱监测;Linux;Socket通信;ARM
0 引言
无线电频谱是一种有限的、共享性的资源。信息技术、通信技术和无线电业务的发展使本来就稀缺的无线电频率资源更趋紧张,为了保证频率资源的有序的使用,就必须对频谱资源进行有效地管理[1]。
在电力网络系统中,电力设施地域分布广,输电线路和杆塔大多数地处偏僻,所以使用无线网络实现信息传输成为理想的方案。为了在智能电网中建立高效率无线网络,需要采集电力系统中无线频谱使用信息,建立无线频谱信息特征数据库。在此应用场景下,本文建立了面向电力多业务承载网络的无线频谱监测系统。
1 总体方案
1.1 频谱监测系统应用场景
如图1所示,面向电力多业务承载网络系统包括监测终端组成的终端网络和监测中心两部分。
监测终端负责监测频谱和定位设备,监测中心负责存储、管理、分析频谱数据以及管理和控制监测终端。监测终端放在需要监测的位置,监测中心则运行在云端,它们之间通过Internet连接。
监测终端启动以后,首先通过4G模块与监测中心建立连接,将设备的基本信息上报给监测中心,然后等待监测中心发送控制命令。监测中心收到监测终端发送的连接请求后与监测终端建立连接,处理监测终端发送的数据,并且向监测终端发送控制命令。
图1 无线频谱监测应用场景
1.2 监测终端总体设计方案
1)监测终端设计要求
监测终端主要由主控模块、射频接收模块、天线模块、4G通信模块和GPS定位模块五部分组成。
监测终端需要小巧、便捷,方便布署,同时又要具有足够的处理能力,所以选择性能优越的嵌入式微处理器。其中ARM 技术以其较高的性能和功效,在嵌入式系统中得到广泛应用[2]。
射频接收模块和天线模块主要负责频谱信息的采集,需要对不同的频段进行频谱监测,而且对于本振、带宽、采样速率等参数可以通过软件配置。
4G通信模块和GPS定位模块属于比较成熟的模块,市场上供应的产品也很多,只要选择为USB接口的即可。
2) 监测终端总体实现方案
根据上文所述要求,监测终端硬件主控模块选择Xilinx公司推出的Zedboard开发板。此开发板是基于Xilinx Zynq-7000扩展式处理平台的低成本开发板。Zynq - 7000 可扩展平台作为整个实时处理系统的核心,其包括处理系统 (PS ) 和 可 编 程 逻 辑 (PL) 两部分,其中 PS 部分包含了最高可运行在 1 GHz的双 Cortex - A9 核,PL 部分包含了传统意义的 FPGA 逻辑单元和 DSP 资源[3]。此外,Zedboard开发板存储单元包括:512 MB DDR3、256 MB SPI FLASH、4 GB SD卡,通信连接包括:10/100/1000以太网、USB OTG、USB UART,扩展连接包括:FMC(Low Pin Count)等。
监测终端射频开发板使用ADI公司推出的AD-FMCOMMS4-EBZ开发板,此开发板是基于AD9364的一个高度集成RF收发器。该开发板工作在70 MHz-6 GHz范围内,并且使用FMC接口传输数据。
接收天线使用Ettus公司的LP09650,其为850 MHz到6.5 GHz的对数周期PCB定向天线,增益为5-6 dBi。
4G模块使用华为公司推出的的EC3372-871,此设备支持电信4G网络,最高下行速率可以达到150 Mbps。
GPS模块使用吉度的MTK3329 USB GPS接收器,此接收器全面支持Linux和Windows系统。
主控模块的软件平台,主要使用嵌入式Linux操作系统。一方面方便主控模块驱动射频前端、4G和GPS模块,另一方面使无线频谱监测系统具有可移植性,可以快速地移植到其他嵌入式平台上。
1.3 监测中心设计方案
监测中心主要工作是存储、管理监测终端发送的频谱监测数据,根据用户的操作显示相应的频谱信息。此外,监测中心拥有完整的用户管理和权限控制功能以及控制终端的能力。监测中心的实现可以选择两种方案:一种是通过浏览器访问监测中心的B/S(Browser/Server)方式,这种方式使用较为广泛。另一种是需要专门客户端才能访问监测中心的C/S(Client/Server)方式。
在B/S方案下,用户使用浏览器访问监测中心。用户使用不同系统的浏览器访问监测中心,监测中心都可以很好的响应。而如果使用C/S方案,上述不同的系统都要开发一个客户端实现访问监测中心。在B/S方案下,如果需要修改现有功能或者添加新的功能,只需要在监测中心上开发即可。而在C/S方案中,添加与修改功能都需要修改对应客户端。综上所述,B/S方案在此应用场景下比C/S方案有较大的优势,所以监测中心选择使用B/S方案开发。
监测中心的服务器运行环境为LAMP[4]。操作系统使用Linux,服务器软件使用Apache,数据库软件使用MySQL,后端开发语言使用PHP,并且使用ThinkPHP框架协助开发,前端使用Html + JavaScript开发网页。 MVC(Model、View、Controller)是当前流行的 Web应用设计框架的事实标准,是软件工程中的一种软件架构模式[5]。因此开发过程中使用MVC模式开发。
2 频谱监测系统具体实现
2.1 监测终端具体实现
监测终端软件平台为嵌入式Linux操作系统,因此主要软件工作为Linux系统和硬件驱动移植以及编写控制监测终端的应用软件。
1) 开发环境搭建
本设计中使用Ubuntu作为开发环境的操作系统,开发工具使用Vivado 14.04.1。并且使用arm-xilinx-linux-gnueabi-gcc作为交叉编译工具链。配置交叉编译环境需要在.bashrc文件中加入环境变量:export CROSS_COMPILE=arm-xilinx-linux-gnueabi-export PATH=/opt/Xilinx/SDK/2014.4/gnu/arm/lin/bin/:$PATH
2) 操作系统移植
Zynq - 7000是首先启动PS随后才能启动PL,即使用户完全不使用PS的资源也需配置PS[6],Zedboard启动配置流程如图2所示。
图2 zedboard 启动流程图
在Linux启动时,需要在SD卡上预先准备BOOT.bin、uImage、devicetree.dtb以及文件系统。BOOT.bin是FSBL阶段加载的文件,包含U-Boot和PL比特流,uImage是U-Boot包裹的Linux内核文件,devicetree.dtb是传递给内核的设备树文件。
编译Linux内核,首先下载Linux源码,然后在源码所在的文件夹中输入下面命令:make ARCH=arm zynq_xcomm_adv7511_defconfig如果我们需要在此基础上修改配置则需要:make ARCH=arm menuconfig。之后输入命令:make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage 完成编译。
我们可以利用zynq_fsbl.elf、system.bit和u-boot.elf生成BOOT.bin文件。u-boot.elf可以使用官方提供的文件,而zynq_fsbl.elf可以由SDK的FSBL模版生成,system.bit是工程生成的比特流文件,如果没有使用到PL部分,可以不用添加system.bit文件。
Devicetree.dtb可以在SDK中生成,新建device-tree BSP工程,并设置bootargs 为console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk,由此可得到devicetree.dtb。
Linux文件系统的制作可以使用ADI提供的官方镜像文件。至此在Zedboard开发板上启动Linux的准备工作便已完成。
3) FFT变换模块构建
在监测终端中,通过射频接收板可以得到I路与Q路的采样信号,为了获得频谱振幅信息,需要对采样的信号做FFT变换。
Zedboard开发板处理单元除了双核ARM Cortex-A9还包括可编程逻辑资源,所以可以使用处理器或者可编程逻辑资源做FFT变换。一般来说PL中的FFT变换速度会比较快,所以选择使用PL资源做FFT变换。
AD-FMCOMMS4-EBZ射频板同样需要使用PL资源,所以我们需要在其FPGA设计基础上添加FFT模块。获取AD-FMCOMMS4-EBZ射频板的hdl文件,在工程文件中,将axi_ad9361、axi_dmac、util_dac_unpack、util_adc_pack、util_wfifo、axi_clkgen、axi_hdmi_tx、axi_spdif_tx、axi_i2s_adi、util_i2c_mixer添加到IP核库。然后执行source ./system_project.tcl,编译整个工程。在工程中添加FFT模块,新建IP核Fast Fourier Transform以及IP核AXI Direct Memory Access。将ZYNQ7 Processing System 模块打开,勾选PS-PL Configuration 中的ACP Slave AXI Interface,并将AXI DMA的M_AXI_MM2S和M_AXI_S2MM接口与ACP接口相连。打开ZYNQ7 Processing System 勾选IRQ_F2P[15:0]。然后将AXI DMA的mm2s_introut与s2mm_introut与IRQ_F2P相连。
4)4G模块驱动
4G模块驱动需要usb-modeswitch程序,所以需要移植。首先安装libusb-1.x,然后安装usb-modeswitch以及usb-modeswitch-data。输入命令:sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M “55534243123456780000000000000a11062000000000000100000000000000”,此命令用于转换模式,将4G网卡从存储模式转换为网卡模式。然后执行ifconfig就能看到显示的网卡usb0,ping www.baidu.com测试是否可以连接互联网。至此,4G上网模块驱动移植完成。
5)GPS模块驱动
GPS模块需要加载内核模块USB Modem (CDC ACM)support。然后GPS设备显示为/dev/ACM0,在程序中打开此文件,就可以读到监测设备所在的经纬度信息。
6) 应用程序的实现
监测终端的操作系统和驱动模块移植完毕,需要设计应用层的程序来实现频谱监测的具体功能。主程序使用C语言实现。
监测终端的主程序的工作流程如图3所示,监测终端设备上电后,Linux内核启动,然后Linux执行脚本驱动4G模块,连接4G网络。然后监测终端与服务器建立socket连接,连接完成后,监测终端上报设备信息和传输频谱信息。
图3 监测终端工作流程图
2.2 监测中心的具体实现
1) 监测中心开发环境搭建
首先需要在服务器上搭建程序运行环境,安装Apache、MySQL、PHP等相关软件。为了加快开发速度,以及避免书写重复代码,我们使用ThinkPHP开源框架。
2) 监测中心的主要功能
监测中心运行软件按照功能主要分为监测终端控制处理模块、用户权限管理模块、频谱查询显示模块、终端地理位置显示模块和用户控制终端模块。
监测终端控制处理模块主要监听监测终端的连接请求,同时根据监测终端传输回来的指令和数据操作数据库。
用户权限管理模块管理用户。用户可以执行注册、登录等操作,并申请管理终端权限。系统会有管理员账户处理这些申请。
频谱查询显示模块主要提供管理员查询频谱信息,根据管理员选择的时间点可以通过Highcharts插件将从数据库中读取的频谱信息通过图表的形式显示出来。
终端地理位置显示模块主要根据监测终端上传的经纬度,使用百度地图的SDK在网页上显示监测终端所在的地理位置。
用户控制终端模块提供管理员控制监测终端的能力,根据选择的终端设备,设置此设备的中心频率、带宽、FFT长度信息。
3) 监测中心程序设计
首先需要设计监测终端与监测中心之间的消息格式。涉及到三种消息:终端信息、频谱信息和控制信息。
终端信息主要包括设备ID、设备名称、制造厂商,经纬度。频谱信息主要包括设备ID、中心频率、带宽、FFT长度、经纬度以及频谱幅度。控制信息主要包括设备ID、中心频率、带宽、FFT长度。
监测中心数据库包含终端注册信息表、终端状态信息表、频谱信息表、用户信息表和用户权限信息表。终端注册信息表主要负责终端设备的注册,每个监测终端需要注册到这个表才能被管理。终端状态信息表主要负责存储每次采集终端设备的状态,包括中心频率、带宽、FFT长度,经纬度、时间等信息。频谱信息表存储采集的频谱并且使用分表技术,对每个设备每天新建一个表。用户信息表主要存储注册用户信息,用户权限信息表记录用户对设备的管理权限。
3 联调与测试
为了测试系统的模块是否可以正常工作,需要对搭建频谱监测系统的软硬件平台进行测试。图4所示的,是频谱监测系统主要模块的实物图。图中编号①-⑤对应的模块分别是:①双核ARM Cortex-A9处理器的Zedboard开发板,作为监测终端的主控模块;②射频接收板,型号为ADI公司的AD-FMCOMMS4-EBZ;③接收天线为Ettus的LP09650;④4G无线网卡,型号为华为EC3372-871;⑤GPS模块,为吉度的MTK3329 USB GPS接收器。
系统硬件环境搭建完成后,将开发板中JP11-JP7分别设置为0 1 1 0 0,设置启动方式为从SD卡启动。交叉编译主程序到监测终端运行。
图4 测试环境搭建
监测中心的测试主要是查看设备的信息以及根据收到的频谱信息显示的频谱图,如图5所示。频谱图的中心频率为2.4 GHz,带宽为1 M,FFT长度为128点。
4 结语
在面向电力多业务承载网络频谱监测的场景下,本文提出了一个远程监测、存储、管理、分析频谱系统的实现方案。经过联调和测试,实验结果表明本文研制的频谱监测系统可以长时间稳定工作,能够实现频谱监测的功能。本文主要实现无线频谱的采集、存储、展示等工作,对于频谱分析没有深入实现。后期可以利用大数据技术对采集的频谱进行分析。
图5 频谱显示图
[1] 陆磊磊.基于无线传感网的电磁频谱监测软件系统的设计与实现[D].西安电子科技大学, 2012.
[2] 严菊明.基于 ARM 嵌入式系统的通用 Bootloader 的设计与实现[D].东南大学硕士论文, 2005.
[3] Xilinx Inc.Zynq - 7000 all programmable SoC technical ref- erence manual (v1.6.1) [M].USA:Xilinx Inc,2013.
[4] 叶新伟等编著,《PHP+Ajax Web2.0编程技术与项目开发大全》,电子工业出版社,2008年06月,P5-42
[5] 戴一平.MVC 设计模式在 PHP 开发中的应用[J].南昌:计算机与现代化, 2011 (3):33-37.
[6] 杨晓安, 罗杰, 苏豪, 等.基于 Zynq-7000 高速图像采集与实时处理系统[J].西安:电子科技, 2014, 27(7):151-154.
Design and Implementation of Wireless Spectrum Monitoring System in Power Multi-Service Network
GAO Cheng-cai1, SU Fei1, HU Jing1, SONG Tie-cheng1, GUO Jing-hong2, ZHANG Hao2
(1.SchoolofInformationScienceandEngineer,SoutheastUniversity,Nanjing210096,China; 2.ResearchInstituteofInformationTechnology&Communication,StateGridSmartGridResearchInstitute,Nanjing,210003China.)
Based on scenarios of remote spectrum monitoring system in power multi-service network, this paper proposes a general scheme of wireless spectrum monitoring system.The system is made of monitoring terminal and monitoring center.Monitoring terminal is able to monitor spectrum and transform spectrum information.Monitoring center can storages and manages spectrum.The test results show stable performance of the wireless spectrum monitoring system.
wireless spectrum monitoring; Linux; socket communication; ARM
2016-01-08;
2016-03-01
国网科技项目“面向电力移动互联应用的4G多业务承载关键技术研究”(SGRIXTKJ[2015]349)
高成才(1992-),男,硕士生,研究方向为通信与信息系统,E-mail:seu.gaochengcai@gmail.com
宋铁成(1967-),男,博士,教授,主要从事无线通信领域的教学和科研工作,E-mail:songtc@seu.edu.cn
TN914
A
1008-0686(2016)06-0081-05