«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (8): 86-91  DOI: 10.19678/j.issn.1000-3428.0052616
0

引用本文  

陈俞娴, 桂良启, 任利明, 等. 基于ARM与FPGA的气象微波辐射计测控系统设计[J]. 计算机工程, 2019, 45(8), 86-91. DOI: 10.19678/j.issn.1000-3428.0052616.
CHEN Yuxian, GUI Liangqi, REN Liming, et al. Design of Measurement and Control System for Meteorological Microwave Radiometer Based on ARM and FPGA[J]. Computer Engineering, 2019, 45(8), 86-91. DOI: 10.19678/j.issn.1000-3428.0052616.

基金项目

国家自然科学基金(61771213);中央高校基本科研业务费专项资金(HUST2016JCTD203, 2018KFYYXJJ140);湖北省重大科技创新计划项目(2015AEA074)

通信作者

桂良启(通信作者), 教授, E-mail: guilq@hust.edu.cn

作者简介

陈俞娴(1994-), 女, 硕士研究生, 主研方向为嵌入式系统;
任利明, 硕士研究生;
周自成, 硕士研究生;
占美娟, 硕士研究生;
杨杰波, 硕士研究生;
郎量, 副教授;
陈柯, 副教授;
田加胜, 副教授;
郭伟, 教授

文章历史

收稿日期:2018-09-10
修回日期:2018-11-16
基于ARM与FPGA的气象微波辐射计测控系统设计
陈俞娴 , 桂良启 , 任利明 , 周自成 , 占美娟 , 杨杰波 , 郎量 , 陈柯 , 田加胜 , 郭伟     
华中科技大学 电子信息与通信学院, 武汉 430074
摘要:针对中小尺度气象预测对微波辐射计的应用需求,提出一种气象微波辐射计数据测量与控制系统。该系统以STM32F4系列的ARM处理器为核心,以Altera Cyclone Ⅳ E系列的FPGA为辅助。通过设计系统整体结构、ARM处理器与FPGA芯片的外围电路以及相应的嵌入式软件,实现数据采集、上下位机通信、电压检测等功能。为提高后续的反演精度与时间分辨率,将FPGA与ARM处理器相结合,以同步采集接收机16通道的电压输出。实验结果表明,该系统能够对天线、噪声源状态、恒温开关等进行精确控制,且实时性较好。
关键词微波辐射计    测量与控制系统    ARM处理器    FPGA芯片    数据采集    实时测量    
Design of Measurement and Control System for Meteorological Microwave Radiometer Based on ARM and FPGA
CHEN Yuxian , GUI Liangqi , REN Liming , ZHOU Zicheng , ZHAN Meijuan , YANG Jiebo , LANG Liang , CHEN Ke , TIAN Jiasheng , GUO Wei     
School of Electronic Information and Communications, Huazhong University of Science and Technology, Wuhan 430074, China
Abstract: Aiming at the application requirement of microwave radiometer for small and medium scale meteorological prediction, a data measurement and control system for meteorological microwave radiometer is proposed.The system takes the STM32F4 series ARM processor as the core and Altera Cyclone Ⅳ E series FPGA as the auxiliary.By designing the overall structure of the system, the peripheral circuits of ARM processor and FPGA chip, and the corresponding embedded software, the functions of data collection, communication between upper and lower computer and voltage detection are realized.In order to improve the precision and time resolution of the follow-up inversion, the combination of FPGA and ARM processor is used to synchronously collect the 16-channel voltage output of the receiver.Experimental results show that the system can accurately control the antenna, the state of noise source and the constant temperature switch, and has good real-time performance.
Key words: microwave radiometer    measurement and control system    ARM processor    FPGA chip    data collection    real-time measurement    
0 概述

气象观测是开展天气预报、气候预估的前提, 也是推动气象科学发展的基础。目前, 主要通过无线电探空气球、气象雷达和气象卫星实现常规的大气探测。气象微波辐射计作为一种用于测量大气微波辐射能量的地基被动遥感设备, 可弥补常规大气探测技术的不足, 从而为中小尺度的实时天气预报、气候预估等气象业务提供有效信息[1-3]。数据测量与控制系统(简称测控系统)是气象微波辐射计的重要组成部分, 其为整个辐射计系统的各模块提供接口, 控制各单元的运转及其与上位机的通信。为保证气象微波辐射计的稳定运行, 测控系统必须具备良好性能[4]

在气象微波辐射计的测控系统中, 对于单通道的辐射计, 由于其系统简单, 往往以8051等型号的8位单片机为核心进行设计[5-6]。对于多通道的辐射计, 则以现场可编程门阵列(Field Programmable Gate Array, FPGA)为核心进行设计。在多通道辐射计中, 多数通过ADC或多路模拟开关来逐个采集多通道信号[7-9], 少数采用兼容Cyric 486 CPU的嵌入式x86系列计算机, 通过电压频率转换器、光耦合器以及外置的多功能模数I/O采集卡实现数据的同时采集, 但该过程实现复杂, 且整体成本较高[10]

对于逻辑功能丰富、外设种类与数量较多的系统, 仅采用FPGA作为控制核心将会导致冗长的开发周期以及较大的维护难度, 且对FPGA的类型有较高要求, 进而使得系统的功耗较大, 成本较高。鉴于微控制器逻辑控制能力强、操作简单, 而FPGA具有可并行工作、可编程的特点, 本文将微控制器与FPGA相结合, 采用低成本、低功耗的FPGA对多通道ADC数据进行并行同步采集, 以ARM处理器作为主控核心, 实现气象微波辐射计系统中所有外设数据的采集与控制功能。

1 系统结构

本文辐射计系统工作在K波段与V波段, 2个波段均为8通道, 共16通道。系统通过抛物面天线接收大气辐射信号。经过极化栅网后, 信号进行反射与透射, 分别进入两路接收机的接收波导, 经处理后接收机将会输出电压信号。测控系统接收电压信号并读取其他传感器的数值后, 将数据上传至上位机。该系统采用超外差式接收机体制的改进型全功率辐射计, 即在每个接收机中增加一个可控制开关的噪声源。由于接收机本身噪声及系统增益波动会对接收机的输出电压产生影响, 因此系统配备了恒温装置, 使接收机内部的各模块保持恒定温度, 从而降低接收机的噪声。

在理想情况下, 接收机的输出电压与大气辐射信号强度成线性比例关系。然而, 由于接收机的系统增益、系统噪声温度与噪声二极管温度会随着时间而变化, 从而影响接收机的输出电压。对此, 可通过定标来减少系统误差, 提高精度。在定标过程中, 为使系统获得不同的定标源, 需由测控系统控制噪声源开关或者控制天线旋转。

辐射计的系统组成框图如图 1所示。其中, 天线与接收机系统是气象辐射计的能量接收部分, 用以获取辐射能量; 测控系统负责采集与处理信号, 以及控制系统各部件; 恒温与测温系统在控制接收机内部部件温度恒定的同时, 采集接收机内外、黑体定标源的温度; 地面传感器获取环境的重要参数, 包括温度、湿度、压强、天气情况(是否有雨)、位置以及云底红外温度; 电源为系统的各部分提供所需的工作电压; 上位机作为显控系统, 接收、解析处理数据, 并提供操控其他部件的界面。测控系统作为整个气象微波辐射计的核心部分, 与其他各单元均有接口, 其设计具有较高的复杂性。

Download:
图 1 辐射计系统结构
1.1 测控系统整体结构

本文测控系统由ARM及其外围电路、FPGA及其外围电路组成。其中, ARM的外围电路包括地面传感器电路、通信接口电路与系统开关控制电路等, FPGA的外围电路主要包括数据采集电路。测控系统整体结构如图 2所示。

Download:
图 2 测控系统整体结构

辐射计的测控系统将型号为STM32F407ZET6的32位微控制器作为控制核心[11], 该处理器采用ARM架构, 其外设资源相较8位单片机更丰富, 性价比更高, 可满足系统需求。在系统上电及完成一系列初始化操作之后, 处理器可通过串口或以太网口接收来自上位机的控制指令, 并向其返回反馈数据包, 然后处理器开始进行相应的指令动作。

FPGA的主要功能为通过ADC实现电压同步采集, 本文系统选用Altera Cyclone Ⅳ器件的EP4CE6E22I7N型号芯片[12]。该器件的运行速度可满足并行扩展的需求, 此外, 相比其他FPGA器件, 其具有性价比高、功耗低、成本低等优点。

辐射计工作可分为测量、自检、定标等多种模式, 一般以测量模式为主。在测量模式下, 处理器控制电机转动, 使天线朝向天顶。同时, FPGA通过控制数据采集电路采集两路接收机的输出电压, 并将16通道的电压数据封包后通过串口传输到STM32处理器。处理器在采集完其他地面传感器的数据后, 将包括电压数据在内的所有数据发送至上位机, 至此完成一次采集过程。系统将持续这一采集过程直至达到定标周期或者接收到其他控制指令。

1.2 硬件设计

辐射计的测控系统主要由以下4个部分组成:

1) 数据采集电路是测控系统的一个重要组成部分, 其与FPGA相结合能够大幅提高系统的时间分辨率。

2) 通信接口电路为辐射计系统与通用计算机提供通信接口, 使用户能够实时获取反馈结果。

3) 地面传感器接口电路为多种地面传感器提供接口, 使系统能够收集多种重要数据。

4) 电压检测电路检测供电电压, 为系统的可靠稳定运行提供基本保障。

此外, 测控系统还包括电机控制电路、恒温与测温系统接口电路、系统开关控制电路及JTAG接口电路等, 这些电路均为STM32的外围电路, 其设计较为简单通用, 本文不再赘述。

1.2.1 数据采集与FPGA电路

本文系统包含2个不同工作频段的接收机, 且接收机对应的数据采集电路一致。数据采集电路采用AD公司的8通道24位同时采样模数转换器AD7768[13], 其采样数可达256 ksps, 因此, 本文系统的电压采集速率为4 MHz。另外, AD7768内部提供模拟输入预充电缓冲器。由于辐射计接收机的模拟输出电流仅为几十微安, 达不到该AD的驱动要求, 因此, 可通过配置特定寄存器开启预充电缓冲功能, 以满足驱动要求。当AD7768的供电电压为5 V时, 其输入电压的范围为0 V~5 V, 而接收机的输出电压一般为0 V~3 V, 因此, 无需进行电平转换。数据采集电路的硬件连接示意图如图 3所示。

Download:
图 3 数据采集电路的硬件连接示意图

AD7768所需的主时钟由一个8 MHz的有源晶振SG-310_8M及TI公司的时钟缓冲器CDCV304提供。AD7768的参考电平REF+为5 V, 由高精度、低噪声的参考电压生成器ADR445ARZ芯片提供, 其工作电压包括5 V的AVDD、3.3 V的IOVDD以及0 V的AVSS。另外, FPGA通过SPI接口对AD7768进行配置。

接收机的模拟输出电压信号经过AD7768处理后, 同时输出8通道的数字信号, 数字信号再由FPGA同步获取。FPGA的逻辑电路原理图如图 4所示, FPGA逻辑主要完成对2个8通道ADC的控制、数据预处理以及与STM32进行串口通信。

Download:
图 4 FPGA的逻辑电路原理图
1.2.2 通信接口电路

上位机可通过串口或以太网口与测控系统建立通信连接。考虑到上位机一般安置在辐射计的数百米范围内, 为简化设计, 本文系统采用串口作为上下位机的通信接口。RS232和RS422是常用的串行接口标准, 但两者的传输方式与传输距离均不同。RS232的传输距离一般只有15 m, 而RS422的传输距离可达1 200 m。因此, 本文系统基于RS422实现上下位机间的通信。信号在到达PC端后, 可通过转换器与上位机常用的RS232接口建立连接。

通信接口电路采用型号为MAX3076E的RS422收发器芯片, 其电路原理图如图 5所示。该芯片与处理器的UART口相连, 为外部提供RS422 DB9接口。

Download:
图 5 通信接口电路原理图
1.2.3 地面传感器接口电路

地面传感器接口电路采用深圳H & M半导体公司的双四选一模拟开关CD4052, 实现处理器接口扩展。通过CD4052与RS232的收发器SP3232可在传感器与处理器间建立连接, 从而获取传感器数据。地面传感器接口的部分电路原理图如图 6所示。

Download:
图 6 地面传感器接口部分电路原理图

以预留的传感器接口为例, 当读取传感器数值时, 处理器控制CD4052使能通道0, 将控制指令依次通过UART1与SP3232输出至传感器。然后, 传感器将返回的数据信号通过SP3232进行电平转换, 再经由CD4052输入到处理器的UART1接收端口。至此即完成一次处理器与传感器间的通信过程。

1.2.4 电压检测电路

辐射计中的外设较多, 各自的供电要求也不同。220 V交流电经过分压电路后得到的9 V、24 V与28 V直流电压分别提供给系统的各部分。电压检测电路通过采集电源电压来监测供电情况是否正常。

本文电压检测电路采用AD公司的4通道12位逐次逼近模数转换器AD7923-4以及高速放大器ADA4891-2, 其中, AD7923-4使用超高精度带隙基准电压源AD780产生2.5 V的参考电压。电压检测电路原理图如图 7所示。

Download:
图 7 电压检测电路原理图

9 V、24 V与28 V的直流电压首先通过放大器ADA4891, 按照比例关系转换为3 V左右的低电压, 接着由模数转换器AD7923-4完成电压采集。电压信号上发到上位机后, 对其进行解析并判定电源电压是否处于正常范围, 从而保障系统的稳定可靠运行。

2 软件设计

测控系统的软件设计可分为主控中心程序设计和FPGA逻辑设计, 前者的代码运行于STM32, 采用C语言编写; 后者的代码运行于EP4CE6, 采用Verilog编写。

2.1 主控中心程序设计

本文基于嵌入式测控软件的结构化设计方法[14]对主控中心的软件进行设计, 具体如下:

1) 初始化, 实现从处理器复位到主程序的过渡。初始化分为3个阶段, 即处理器复位、硬件初始化及代码启动, 其目的在于初始化中断控制器及其他重要外设, 并将存储和I/O设备等信息告知处理器, 为处理器的后续工作做好准备[15]

2) 设备驱动程序设计, 主要包括处理器对定时器、串口、FPGA与I/O端口等资源的配置程序, 以及STM32各种外设的控制程序, 如接收机电压与电源电压采集、处理器与上位机通信、传感器测量数据读取、电机控制等程序。

3) 主程序流程设计, 如图 8所示。系统在上电之后, 首先进行软硬件的初始化。由于FPGA从SPI FLASH中获取配置程序并进行配置的过程需要耗费一定时间, 因此STM32处理器将在配置完时钟后延时10 s, 等待FPGA达到稳定状态。接着系统将依次对串口、定时器及多个变量进行初始化。初始化完成后, 上位机根据反馈数据包得知系统状态。最后系统等待上位机的控制指令, 在接收到指令后完成特定操作。

Download:
图 8 主程序流程

4) 不同工作模式下的子程序流程设计。在系统正常运行过程中, 测控系统一般处于测量模式。测量模式下的工作流程如图 9所示。其他工作模式是辐射计的辅助模式, 与测量模式具有相同的上发数据包及反馈数据包格式, 以便上位机快速处理及应用数据。

Download:
图 9 测量模式下的系统工作流程
2.2 FPGA程序设计

FPGA采用自顶向下的逻辑设计原则, 其主要包括以下3个模块:

1) 时钟模块, 为FPGA的各部分提供全局时钟信号, 8 M的输入时钟通过PLL电路得到100 M的时钟信号。

2) 与AD7768相关的模块, 包括通过SPI对AD进行配置、向AD提供数据接口以及对输出的双路8通道电压数据进行预处理。其中, 预处理指在采样时间内对各通道电压值分别累加, 达到采样时间后, 各通道的电压总和经处理器上发到上层软件, 再按照换算公式对数据求平均, 得到各通道的电压值。

3) FPGA与ARM的串口通信模块, 其波特率设置为115 200 bit/s。通过UART, FPGA将电压数据包传送至STM32, STM32可控制FPGA发送数据包的时间间隔。在串口通信模块的具体实现中, 对于相同的波特率, FPGA与不同设备通信时将得到不同配置, 需要根据具体设备进行微调, 以匹配串口时序。不同设备的时钟信号之间存在微小的偏差, 这也是外设较多的微波辐射计不适合仅采用FPGA作为控制中心的主要原因。

3 实验结果与分析

为验证本文系统的性能, 在完成测控系统电路板的制作与调试工作之后, 利用上位机观察辐射计系统工作时的效果。气象微波辐射计的上位机软件采用C#语言编写, 其主要用于与测控系统进行交互, 完成定标与反演计算, 实时显示采集数据、系统参数、反演结果等波形以及保存多级数据。在自检或测量模式下, 设定FPGA的采样时间为1 s, 每1 s可接收1个数据包, 经过解析与运算后得到的电压、亮温与反演数据将在界面上进行显示。另外, 系统对天线、噪声源状态、恒温开关等实现了精确控制。由上位机显示结果可知, 测控系统工作正常。

经过半年多的连续观测, 本文系统在检测精度、系统功耗等方面的性能如表 1所示。由表 1可以看出, 该系统可较好地满足气象微波辐射计的功能需求, 不同频率电压的采样时间一致, 且在实时性上表现较优。本文系统现已与天线、接收机等其他部件完成整合与测试, 在微波辐射计中得到了良好的应用。

下载CSV 表 1 辐射计测控系统性能
4 结束语

本文基于气象微波辐射计的工作原理及功能需求, 采用以ARM为主、FPGA为辅的方法对辐射计的数据测控系统硬件与软件进行设计。该系统现已应用于双频段的地基气象微波辐射计中, 其良好的工作性能为后期的辐射计定标方法、反演算法等提供了参考。下一步将通过FPGA实现电机控制、电压检测等功能, 以减轻系统中ARM处理器的负担。

参考文献
[1]
何杰颖, 张升伟. 地基和星载微波辐射计数据反演大气湿度[J]. 电波科学学报, 2011, 26(2): 362-368. (0)
[2]
乌拉比F T, 穆尔R K, 冯健超.微波遥感[M].1卷.候世昌, 马锡冠, 译.北京: 科学出版社, 1988. (0)
[3]
DOU Haofeng, LI Qingxia, GUI Liangqi, et al. One-dimensional mirrored aperture synthesis with rotating reflector[J]. IEEE Geoscience and Remote Sensing Letters, 2018, 15(2): 197-201. DOI:10.1109/LGRS.2017.2779561 (0)
[4]
宋连春, 李伟. 综合气象观测系统的发展[J]. 气象, 2008, 34(3): 3-9. (0)
[5]
张瑜, 张升伟. 基于单片机的微波辐射计数控单元设计与实现[J]. 现代电子技术, 2009, 32(13): 123-125. DOI:10.3969/j.issn.1004-373X.2009.13.038 (0)
[6]
彭树生. 5 mm微波辐射计的控制与数据采集系统[J]. 微型电脑应用, 1995(4): 20-22. (0)
[7]
张瑜, 张升伟. 基于FPGA的微波辐射计数控系统设计与实现[J]. 集成电路应用, 2009, 35(12): 42-46. (0)
[8]
李丹娜.基于FPGA的多通道微波辐射计数据采集与系统控制单元的设计与研制[D].北京: 中国科学院研究生院, 2009. (0)
[9]
朱晨. K波段大气微波辐射计采集控制系统的设计实现[J]. 工业控制计算机, 2011, 24(3): 49-50. DOI:10.3969/j.issn.1001-182X.2011.03.023 (0)
[10]
PIHLFLYCKT J.Control and measurement system for multi-channel microwave radiometer[D].Helsinki, Finland: Helsinki University of Technology, 2007. (0)
[11]
STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439 advanced Arm-based 32-bit MCUs reference manual[EB/OL].[2018-08-20].https://www.st.com/resource/en/reference_manual/dm00031020.pdf. (0)
[12]
[13]
AD7768/AD7768-4 data sheet[EB/OL].[2018-08-20].http://www.analog.com/media/en/technical-documentati on/data-sheets/AD7768-7768-4.pdf. (0)
[14]
同向前, 薛钧义. 嵌入式系统测控软件的结构化设计[J]. 计算机工程, 2002, 28(8): 43-44. (0)
[15]
CALDERÓN H, ELENA C, VASSILIADIS S.Soft core processors and embedded processing-a survey and analysis[C]//Proceedings of ProRISC.Washington D.C., USA: IEEE Press, 2005: 483-488. (0)