STM32的通信天线方位角实时快速测量系统设计*

2017-11-09 01:11,,
单片机与嵌入式系统应用 2017年10期
关键词:数字滤波方位角滑动

,,

(装备学院 航天装备系,北京 101400)

STM32的通信天线方位角实时快速测量系统设计*

李基,邵琼玲,王盛军

(装备学院 航天装备系,北京 101400)

设计了一种基于STM32+μcGUI架构的方位角测量系统。设计了以STM32F103ZET6控制器为核心的控制模块和TFTLCD显示模块硬件电路,分析了传感器模块WDD35D4的测角原理。软件部分移植了独立于CPU和LCD控制器的μcGUI,实现数据可视化界面设计;同时比较了滑动平均滤波、滑动中值滤波和加权滑动平均滤波对系统随机噪声的滤波效果,实验结果表明采用滑动平均滤波效果更佳。

STM32F103ZET6;μcGUI;WDD35D4;数字滤波;方位角

引 言

卫星通信背负天线为满足背负者快速机动的任务需求,必须具备小体积、轻质量、易于重复拆卸与安装、快速定位等特点[1]。天线的定位时间直接影响着建立通信的时间,其中天线方位角的测量是天线定位中的首要和关键环节。传统方位角测量设备(如指南针)采用平衡式结构,体积大、精度差[2]。现代化角度测量设备(如光电编码器)的精度受到码道数目的制约,对工作环境要求较高[3];旋转变压器对环境温度比较敏感[4];自整角机测量系统通常包括两台或多台设备同时工作,成本较高、安装复杂。受小型卫星通信背负天线外形尺寸、机动能力、使用环境等因素的制约,以上的测量器件难以实现天线方位角的实时快速测量,为此本文设计了以STM32为核心的天线方位角实时测量系统,采用WDD35D4角位移传感器安装方便、降低成本,移植μcGUI进行数据可视化设计,同时设计数字滤波算法增强系统抗干扰能力。

1 系统总体设计

方位角测量系统以嵌入式微控制器STM32为核心,由控制模块、显示模块和传感器模块三部分组成。控制模块以微控制器STM32F103ZET6为核心;显示模块主要由NT35310控制器和3.5寸LCD构成;传感器模块采用WDD35D4角位移传感器。该测量系统由STM32F103ZET6通过ADC通道进行数据采集和A/D转换,经过处理变换以后得到角度信息,通过STM32静态存储器控制机制(FSMC)控制LCD完成角度数据的实时显示和2D数据可视化显示,LCD显示部分通过移植μcGUI完成。角度测量系统总体架构如图1所示。

图1 角度测量系统总体架构

2 硬件电路设计

2.1 控制模块

STM32F103ZET6是一款基于高性能的ARM Cortex-M3的32位RISC内核的增强型芯片,内部集成3个ADC(1 μs转换时间),每个ADC最多有18路模拟输入通道[5-6]。控制模块电路设计如图2所示,本设计中利用ADC1的通道1(ADC1_IN1)进行A/D转换。

图2 控制模块电路设计

主控制器STM32的 32引脚(VREF+)和31引脚(VREF-)是内部ADC参考电压的正极和负极,ADC所能测量的模拟信号VIN的电压范围在VREF+和VREF-之间,本设计中VREF+接3.3 V直流稳态电压,VREF-接地。所以VIN的范围为0≤VIN≤3.3 V。

2.2 显示模块

本系统显示模块采用3.5寸TFTLCD,分辨率为320×480,LCD驱动芯片为NT35310,采用16位8080并口进行数据传输,RGB565彩色显示模式。本设计中将NT35310当作外部SRAM,利用FSMC总线控制。NT35310与外部SRAM的信号线对比如表1所列,NT35310没有地址线,除RS信号以外的其他信号线与外部SRAM控制时序完全类似,所以可以通过FSMC地址线(如A10)代替RS信号线进行命令/数据的选择[8-10]。

表1 NT35310与外部SRAM的信号线对比

通过以上分析,设计LCD的连接电路如图3所示。

图3 LCD接口电路

2.3 传感器模块

WDD35D4角位移传感器是一个高精度电位器,具备360°连续旋转功能,它的本质是一个滑线变阻器。这种分压电路可以避免温度变化影响电阻值变化产生的干扰,该角位移传感器具有分辨率高、线性度好、机械寿命长等优点,广泛用于军事、航空、汽车、医疗等领域[7]。

本设计采用的WDD35D4标称电阻R阻值为5 kΩ,线性度为0.1%。工作状态下,WDD35D4各端口的电压状态如表2所列,1引脚为3.3 V直流稳态电压输入端,3引脚接地,2引脚为电压输出端。

表2 WDD35D4端口电压状态

STM32F103ZET6微控制器内部集成量化位数为12位的逐次逼近型ADC,由此可以得到ADC寄存器的值与角度之间的变换公式为:

图4 软件总体流程

式中Deg表示角度值,Iadc表示ADC寄存器的值。

3 系统软件设计

系统软件部分主要包括μcGUI的移植、系统初始化、WDD25D4数据采集、数字滤波和数据可视化显示,具体流程如图4所示。下文简要介绍μcGUI的移植,详细对比滑动平均滤波、滑动中值滤波和加权滑动平均滤波三种数字滤波方法对随机噪声的滤波效果。

3.1 μcGUI的移植

μcGUI是美国Micrium公司出品的一款针对嵌入式系统的图形用户界面软件,该软件独立于CPU和LCD控制器,具有占用资源少、可裁剪、稳定性好和可靠性高等特点。

在μcGUI的移植中,主要涉及到GUIConf.h、LCDConf.h和LCD_Dummy.c三个文件的相关配置[10-12]。GUIConf.h文件包括一些功能模块定义、动态存储空间分配、默认字体设置等。LCDConf.h文件包括LCD分辨率、控制器、LCD初始化函数定义等。LCD_Dummy.c文件中只需添加底层硬件LCD的读点和画点函数即可。

3.2 数字滤波算法

嵌入式系统的测量通道中难以避免会带入随机干扰,引起随机误差。利用软件算法对数据进行数字滤波,可以减弱或消除随机干扰噪声的影响,提高测量系统的抗干扰能力和精度[13]。数字滤波常用的算法有限幅滤波法、算术平均滤波法、中值滤波法、滑动平均值滤波法、加权平均值滤波法、低通滤波法和复合滤波法[14-15]。本文对比了滑动平均滤波、滑动中值滤波和加权滑动平均滤波三种数字滤波方法对系统随机噪声的滤波效果。

图5 静态滤波效果对比图

(1)滑动平均滤波

//定义队列长度

#define n 11

//实现队列滑动,始终保持value[9]为最新A/D采样值,Get_Adc (ADC1_Channel_1)为AD采样函数

for(i=0;i

value[i]=value[i+1];

}

value[n-1]=Get_Adc_Average(ADC_Channel_1,1);

//取平均值

for(i=0;i

sum+=value[i];

}

//取平均值

sum_average=sum/n;

(2)滑动中值滤波

//冒泡法排序

for(j=0;j

for(i=0;i

if(value[i]> value[i+1]){

t= value[i];

value[i]= value[i+1];

value[i+1]=t;

}

}

}

//取中值

Value_half=false_value[(n-1)/2];

(3)加权滑动平均滤波

//设定加权系数

u32factor[n]={1,2,3,4,5,6,7,8,9,10};

u32 factor_total=55,sum=0;

//实现队列加权,所有权重之和为1

for(i=0;i

sum+=value[i]*factor[i];

}

//取平均值

average=total/factor_total;

4 测试与分析

(1)静态滤波效果比较

将WDD35D4安装在卫星通信背负天线的方位轴上,在天线静止的条件下,比较三种滤波方法的滤波效果,如图5所示。曲线1为原始数据,波动较大。三种滤波方法均具有较好的滤波效果,其中曲线2代表的滑动平均滤波方差值为0.0059,接近原始数据方差值0.1006的一半,滤波效果最好。

(2)动态滤波效果比较

天线往复转动的条件下,比较三种滤波方法的滤波效果,如图6所示。三种滤波方法都有一定的滞后性,曲线4代表的加权滑动平均滤波法滞后性最小,灵敏度最高。曲线2代表的滑动平均滤波滞后性较小,且曲线更加平滑稳定。

图6 动态滤波效果图

(3)数据可视化

图7 数据可视化界面

综合滤波方法的静态特性和动态特性,选用滑动平均滤波法作为本系统滤波方法,完全能够解决LCD数据显示快速跳变的问题。数据可视化界面如图7所示,指针+表盘模式更加直观显示天线方位角,表盘下方编辑框内显示较为详细的方位角信息,功能全面。

结 语

[1] 朱迅, 许越宁. 单兵背负雷达轻质天线结构设计[J]. 纤维复合材料, 2011(3):36-39.

[2] 云中华, 刘洪春, 李勇峰,等. STM32的方位角度与倾斜数据测量仪系统设计[J]. 单片机与嵌入式系统应用, 2015, 15(10):44-46.

[3] 胡定军, 石红梅, 朱利锋,等. 基于自整角机的雷达方位角测量研究[J]. 舰船科学技术, 2009, 31(6):95-97.

[4] 祝敬德, 李杰, 王丽平,等. 基于光电编码器的相对转角测量系统[J]. 测试技术学报, 2015, 29(2):145-148.

[5] 张从鹏, 徐兵, 徐宏海. 基于STM32的高精度多圈绝对角度传感器[J]. 仪表技术与传感器, 2014(12):13-14.

[6] 王益涵, 孙宪坤, 史志才. 嵌入式系统原理及应用:基于ARM Cortex-M3内核的STM31F103系列微控制器[M]. 北京:清华大学出版社, 2016.

[7] 乔峥. 基于WDD35D4的模拟机械手设计[J]. 无线互联科技, 2014(11):89-89.

[8] 张洋. 原子教你玩STM32[M]. 北京:北京航空航天大学出版社, 2013.

[9] 汤莉莉, 黄伟. 基于STM32的FSMC接口驱动TFT彩屏设计[J]. 现代电子技术, 2013(20):139-141.

[10] 王兰英. 基于STM32嵌入式系统的μcGUI移植与实现[J]. 四川理工学院学报:自科版, 2012, 25(1):56-58.

[11] 罗富文, 吴辉, 康伟,等. STM32平台的μC/GUI移植与图形界面设计[J]. 单片机与嵌入式系统应用, 2012, 12(8):19-22.

[12] 刘波文, 孙岩. 嵌入式实时操作系统uC/OS-II经典实例:基于STM32处理器[M]. 北京:北京航空航天大学出版社, 2012.

[13] 佘东. 单片机数字滤波程序设计与实现[J]. 四川兵工学报, 2012, 33(9):78-80.

[14] 向红军, 雷彬. 基于单片机系统的数字滤波方法的研究[J]. 电测与仪表, 2005, 42(9):53-55.

[15] 朱恒军, 王发智, 姚仲敏. 基于单片机的数字滤波算法分析与实现[J]. 齐齐哈尔大学学报:自然科学版, 2008, 24(6):53-54.

李基(硕士研究生)、邵琼玲(副教授),主要研究领域:航天器应用工程、单片机与嵌入式系统。

Real-timeFastMeasuringSystemforCommunicationAntennaBasedonSTM32

LiJi,ShaoQiongling,WangShengjun

(Department of Aerospace Equipment,The Academy of Equipment,Beijing 101400,China)

In the paper,an azimuth measuring system based on STM32 and μcGUI is designed.The control module using the STM32F103ZET6 as the control core the TFTLCD display module are designd.The principle of angle measurement of the sensor module WDD35D4 is analyzed.The μcGUI which is independent of the CPU and the LCD controller is transplanted to design the data visualization interface.The filtering effect of the random noise of the system about the sliding average filtering,the sliding median filtering and the weighted sliding average filtering are compared.The experiment results show that the effect of sliding average filter is better.

STM32F103ZET6;μCGUI;WDD35D4;digtal filtering; azimuth

“高分辨率对地观测重大专项”支持项目。

TP274.2

A

2017-06-02)

猜你喜欢
数字滤波方位角滑动
近地磁尾方位角流期间的场向电流增强
数字滤波在语音信号降噪中的应用
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
无处不在的方位角
一种新的电力生产数据频率分析与数字滤波方法研究
向量内外积在直线坐标方位角反算中的应用研究
滤波器长度对滤波结果的影响研究
滑动供电系统在城市轨道交通中的应用
运动干涉仪平台上单站无源定位算法研究