,,
(裝備學院 航天裝備系,北京 101400)
STM32的通信天線方位角實時快速測量系統設計*
李基,邵瓊玲,王盛軍
(裝備學院 航天裝備系,北京 101400)
設計了一種基于STM32+μcGUI架構的方位角測量系統。設計了以STM32F103ZET6控制器為核心的控制模塊和TFTLCD顯示模塊硬件電路,分析了傳感器模塊WDD35D4的測角原理。軟件部分移植了獨立于CPU和LCD控制器的μcGUI,實現數據可視化界面設計;同時比較了滑動平均濾波、滑動中值濾波和加權滑動平均濾波對系統隨機噪聲的濾波效果,實驗結果表明采用滑動平均濾波效果更佳。
STM32F103ZET6;μcGUI;WDD35D4;數字濾波;方位角
衛(wèi)星通信背負天線為滿足背負者快速機動的任務需求,必須具備小體積、輕質量、易于重復拆卸與安裝、快速定位等特點[1]。天線的定位時間直接影響著建立通信的時間,其中天線方位角的測量是天線定位中的首要和關鍵環(huán)節(jié)。傳統方位角測量設備(如指南針)采用平衡式結構,體積大、精度差[2]?,F代化角度測量設備(如光電編碼器)的精度受到碼道數目的制約,對工作環(huán)境要求較高[3];旋轉變壓器對環(huán)境溫度比較敏感[4];自整角機測量系統通常包括兩臺或多臺設備同時工作,成本較高、安裝復雜。受小型衛(wèi)星通信背負天線外形尺寸、機動能力、使用環(huán)境等因素的制約,以上的測量器件難以實現天線方位角的實時快速測量,為此本文設計了以STM32為核心的天線方位角實時測量系統,采用WDD35D4角位移傳感器安裝方便、降低成本,移植μcGUI進行數據可視化設計,同時設計數字濾波算法增強系統抗干擾能力。
方位角測量系統以嵌入式微控制器STM32為核心,由控制模塊、顯示模塊和傳感器模塊三部分組成??刂颇K以微控制器STM32F103ZET6為核心;顯示模塊主要由NT35310控制器和3.5寸LCD構成;傳感器模塊采用WDD35D4角位移傳感器。該測量系統由STM32F103ZET6通過ADC通道進行數據采集和A/D轉換,經過處理變換以后得到角度信息,通過STM32靜態(tài)存儲器控制機制(FSMC)控制LCD完成角度數據的實時顯示和2D數據可視化顯示,LCD顯示部分通過移植μcGUI完成。角度測量系統總體架構如圖1所示。
圖1 角度測量系統總體架構
2.1 控制模塊
STM32F103ZET6是一款基于高性能的ARM Cortex-M3的32位RISC內核的增強型芯片,內部集成3個ADC(1 μs轉換時間),每個ADC最多有18路模擬輸入通道[5-6]??刂颇K電路設計如圖2所示,本設計中利用ADC1的通道1(ADC1_IN1)進行A/D轉換。
圖2 控制模塊電路設計
主控制器STM32的 32引腳(VREF+)和31引腳(VREF-)是內部ADC參考電壓的正極和負極,ADC所能測量的模擬信號VIN的電壓范圍在VREF+和VREF-之間,本設計中VREF+接3.3 V直流穩(wěn)態(tài)電壓,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°連續(xù)旋轉功能,它的本質是一個滑線變阻器。這種分壓電路可以避免溫度變化影響電阻值變化產生的干擾,該角位移傳感器具有分辨率高、線性度好、機械壽命長等優(yōu)點,廣泛用于軍事、航空、汽車、醫(yī)療等領域[7]。
本設計采用的WDD35D4標稱電阻R阻值為5 kΩ,線性度為0.1%。工作狀態(tài)下,WDD35D4各端口的電壓狀態(tài)如表2所列,1引腳為3.3 V直流穩(wěn)態(tài)電壓輸入端,3引腳接地,2引腳為電壓輸出端。
表2 WDD35D4端口電壓狀態(tài)
STM32F103ZET6微控制器內部集成量化位數為12位的逐次逼近型ADC,由此可以得到ADC寄存器的值與角度之間的變換公式為:
圖4 軟件總體流程
式中Deg表示角度值,Iadc表示ADC寄存器的值。
系統軟件部分主要包括μcGUI的移植、系統初始化、WDD25D4數據采集、數字濾波和數據可視化顯示,具體流程如圖4所示。下文簡要介紹μcGUI的移植,詳細對比滑動平均濾波、滑動中值濾波和加權滑動平均濾波三種數字濾波方法對隨機噪聲的濾波效果。
3.1 μcGUI的移植
μcGUI是美國Micrium公司出品的一款針對嵌入式系統的圖形用戶界面軟件,該軟件獨立于CPU和LCD控制器,具有占用資源少、可裁剪、穩(wěn)定性好和可靠性高等特點。
在μcGUI的移植中,主要涉及到GUIConf.h、LCDConf.h和LCD_Dummy.c三個文件的相關配置[10-12]。GUIConf.h文件包括一些功能模塊定義、動態(tài)存儲空間分配、默認字體設置等。LCDConf.h文件包括LCD分辨率、控制器、LCD初始化函數定義等。LCD_Dummy.c文件中只需添加底層硬件LCD的讀點和畫點函數即可。
3.2 數字濾波算法
嵌入式系統的測量通道中難以避免會帶入隨機干擾,引起隨機誤差。利用軟件算法對數據進行數字濾波,可以減弱或消除隨機干擾噪聲的影響,提高測量系統的抗干擾能力和精度[13]。數字濾波常用的算法有限幅濾波法、算術平均濾波法、中值濾波法、滑動平均值濾波法、加權平均值濾波法、低通濾波法和復合濾波法[14-15]。本文對比了滑動平均濾波、滑動中值濾波和加權滑動平均濾波三種數字濾波方法對系統隨機噪聲的濾波效果。
圖5 靜態(tài)濾波效果對比圖
(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; (1)靜態(tài)濾波效果比較 將WDD35D4安裝在衛(wèi)星通信背負天線的方位軸上,在天線靜止的條件下,比較三種濾波方法的濾波效果,如圖5所示。曲線1為原始數據,波動較大。三種濾波方法均具有較好的濾波效果,其中曲線2代表的滑動平均濾波方差值為0.0059,接近原始數據方差值0.1006的一半,濾波效果最好。 (2)動態(tài)濾波效果比較 天線往復轉動的條件下,比較三種濾波方法的濾波效果,如圖6所示。三種濾波方法都有一定的滯后性,曲線4代表的加權滑動平均濾波法滯后性最小,靈敏度最高。曲線2代表的滑動平均濾波滯后性較小,且曲線更加平滑穩(wěn)定。 圖6 動態(tài)濾波效果圖 (3)數據可視化 圖7 數據可視化界面 綜合濾波方法的靜態(tài)特性和動態(tài)特性,選用滑動平均濾波法作為本系統濾波方法,完全能夠解決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] 朱恒軍, 王發(fā)智, 姚仲敏. 基于單片機的數字濾波算法分析與實現[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)4 測試與分析
結 語