郭家歡


摘 要:針對導引頭低成本、小型化的要求,本文設計了基于ARM單片機的導引頭軟件設計方案,詳細介紹了軟件各功能模塊劃分、軟件架構、軟件執行方案以及軟件的可靠性設計。結果表明,該軟件各功能模塊運行正常,實現了復雜導引頭時序控制以及信息處理算法,滿足導引頭的各功能和性能要求。
關鍵詞:ARM;導引頭;軟件架構
中圖分類號:TJ765.331文獻標識碼:A文章編號:1003-5168(2019)11-0034-03
Abstract: To satisfy the seeker needs of low-cost and small-volume, this paper introduced one designing scheme of software based on ARM, introduced the fuction module constitute、the software architecture、the implementation scheme of software and the reliability design of software. The result of verification shows that the operation of this software is normal, it realizes the complicated arithmetic of seeker sequence and information processing, and satisfy the needs of seeker function and performance.
Keywords: ARM; seeker ; software architecture
導引頭通常采用單DSP、多DSP或DSP+FPGA的信息處理平臺,系統結構復雜、體積大、成本高,無法滿足某些領域低成本、小型化的特殊需求。針對低成本、小型化需求,導引頭設計了低成本的信息處理平臺,本文針對該信息處理平臺設計了一套導引頭軟件設計方案。
1 系統總體設計
導引頭采用的ARM單片機為意法半導體公司(ST)生產的基于ARM Cortex-M3系列的STM32F103ZET6,工作主頻為72MHz,內置512KB FLASH和64KB RAM,包含3個ADC、2個DAC、12通道DMA控制器、112個快速I/O端口、11個定時器和13個通信接口。導引頭信息處理平臺接口如圖1所示。導引頭軟件運行在ARM單片機上,與導引頭其他部分配合實現對目標探測、識別、目標方位計算、門限電壓控制以及與外部設備通信等功能。
2 軟件架構設計
一方面,導引頭軟件接收飛控發送的控制指令,控制導引頭工作時序;另一方面,導引頭根據接收到的探測信號進行目標識別,采集目標信號,計算目標方位信息,并控制門限電壓。根據導引頭軟件完成主要功能,將導引頭軟件劃分為系統初始化、數據通信、信號采集校正、目標識別、目標方位計算以及門限控制6個功能模塊,具體功能模塊劃分如圖2所示[1]。
2.1 系統初始化模塊設計
系統初始化模塊包括單片機外設初始化和系統狀態及變量初始化兩個子模塊。其中,單片機外設初始化子模塊主要完成單片機外設的初始化配置,包括定時器、D/A、USART、DMA以及相關GPIO管腳。
①定時器初始化配置。該配置完成定時器時鐘頻率設置、定時器計數模式設置、定時器輸出通道設置以及定時器中斷使能設置。②D/A初始化配置。該配置完成D/A觸發模式設置、D/A輸出緩存使能以及D/A轉換使能設置。③USART初始化配置。該配置主要完成串口工作模式、串口波特率、串口數據位總數、數據校驗位、終止位以及串口中斷使能設置[2]。④DMA初始化配置。該配置主要包括外設寄存器地址、數據存儲器地址、傳輸的數據量、數據傳輸方向、外設和存儲器的增量模式、外設和存儲器的數據寬度和是否產生中斷以及DMA通道使能。⑤GPIO管腳配置。該配置主要包括GPIO管腳值、GPIO管腳最大輸出速率以及GPIO管腳工作狀態設置。
系統狀態及變量初始化完成系統時鐘配置、中斷向量優先級設置、全局變量初始化。系統時鐘配置包括完成系統嘀嗒時鐘配置以及單片機外設的時鐘使能設置。STM32F103ZET6芯片每個中斷向量優先級設置分為占先優先級和從優先級。高占先優先級的中斷可打斷當前主程序和低占先優先級中斷,即實現搶占;占先優先級相同時,不同從優先級中斷同時到來時,高從優先級中斷先被響應,若存在低從優先級中斷正在執行,則高從優先級中斷需等待執行結束之后才被響應,即非搶占。導引頭軟件初始化時根據實際需要完成每一個中斷的占先優先級和從優先級配置[3]。
2.2 數據通信模塊設計
數據通信模塊主要通過控制USART端口完成導引頭與外部設備通信。導引頭接收數據采用DMA方式進行連續通信,當DMA控制器中指定的傳輸數據量完成接收工作時,觸發DMA中斷。在中斷過程中,判斷接收數據是否滿足要求,若滿足要求則進行相應處理,否則舍棄該幀數據。發送數據采用定時發送方式,通過設置定時器的定時周期,在定時器中斷中判斷相應串口發送數據寄存器空標志位。如果發送數據寄存器為空,則將待發送的數據寫入發送數據寄存器;若發送數據寄存器非空,則判斷軟件是否處理超時,若處理超時,則退出處理。
2.3 目標識別模塊設計
目標識別模塊將探測到的信號進行存儲、更新,與典型目標特征進行匹配,滿足匹配要求則捕獲目標,否則未捕獲目標,繼續等待后續信號到來。目標識別時需要使用定時時間長、定時精度高的高性能定時器,由于STM32F103ZET6最高時鐘頻率為72MHz,且定時器均為16位定時器,為了實現長時間、高精度的定時需求,目標識別模塊采用了使用定時器1和定時器2串聯計,使用兩個16位定時器實現32位定時器的功能。
2.4 信號采集校正模塊設計
信號采集校正模塊包括A/D時序控制及信號采集和信號濾波校正兩個子模塊。由于單片機片上ADC為12位,無法滿足系統目標信號采集精度要求,因此,設計該系統時采用了ADC轉換芯片。該芯片選用TI公司的ADS8364,引腳可以直接和ARM芯片的I/O相連接。A/D時序控制及信號采集子模塊通過控制ADS8364轉換時序,采集A/D轉換結果。ADS8364的工作時序由導引頭軟件控制ARM單片機相關GPIO管腳輸出相應高低電平實現[4]。ADS8364的工作時序如圖3所示。信號濾波校正子模塊首先將采集到的目標信號進行濾波處理,濾除采集過程中因干擾帶來的信號突變,然后按照信號校正算法對輸入信號進行校正處理。
2.5 目標方位計算模塊設計
捕獲目標后,基于ARM的導引頭軟件根據當前周期的目標信號,計算目標視線角度,并對計算目標視線角度進行輸出校正和歸一化處理。若未捕獲目標或捕獲目標后又丟失目標,則輸出預設的目標視線角度。
2.6 門限控制模塊設計
捕獲目標后,基于ARM的導引頭軟件根據當前周期計算的目標信號能量,預測下周期目標信號能量,控制片上DAC輸出門限電壓,若未捕獲目標或捕獲目標后又丟失目標,則控制輸出預設的門限電壓。
3 軟件執行方案
導引頭軟件包含定時器1和定時器2中斷,接收數據DMA中斷以及外部中斷等多個中斷源。考慮軟件多中斷源的特點,軟件采用主調度/中斷處理形式,以主調度處理為核心,在主調度中優先級較低,沒有嚴格執行期限處理,當中斷到來時,進入相應中斷服務程序,完成中斷處理后返回主調度繼續執行,處理流程如圖4所示[5]。
導引頭軟件首先進行系統初始化,而后進入軟件主循環,在主循環內判斷是否捕獲目標。若未捕獲目標,則重新判斷;若捕獲目標,則采集目標信號,對目標信號進行處理,計算目標方位信號,計算門限信號,控制輸出門限電壓。目標識別功能在中斷處理服務程序中完成,當軟件接收到外部信號中斷時,判斷接收到的信號與目標特征是否匹配,若匹配成功則表明捕獲目標,匹配失敗則等待后續信號到來。數據通信功能在中斷處理服務程序中完成,當軟件接收到的數據個數滿足設定要求時則觸發DMA中斷,并通過定時中斷的形式向飛控返回導引頭當前狀態。
4 軟件可靠性設計
導引頭軟件是導引頭的核心組成部分,能否穩定可靠地正常工作直接關系系統任務能否圓滿完成。因此,設計人員在設計導引頭軟件時不僅要實現軟件功能和性能,還應關心軟件的可靠性和安全性,對系統可能出現的異常情況采取措施,保護可能影響系統安全的關鍵模塊。
為了提高導引頭軟件的可靠性和安全性,設計時采取了如下措施:①采用結構化和模塊化方法進行設計;②降低各單元模塊的復雜性,保證各個模塊最大內聚和最小耦合;③軟件內部接口設計時應盡量避免使用全局變量,軟件單元模塊之間的數據通信盡可能使用參數傳遞方式;④對軟件中的關鍵變量進行有效性保護,對關鍵數組存儲或讀取時進行保護,防止數組越界;⑤對可能存在的溢出情況設置防溢出保護;⑥對接收到的串口數據進行正確性判斷,防止響應異常的控制指令;⑦對輸入數據進行正確性檢查,對超出輸入邊界的數據進行濾除或限幅等處理。
5 結語
本文基于單一ARM單片機的硬件結構完成了導引頭軟件的設計開發,通過合理設計,充分利用ARM豐富的硬件資源以及高性能的信息處理能力,實現復雜的導引頭時序控制以及目標識別算法等功能。設計難點在于多中斷源優先級的合理設計及各中斷的合理響應。通過軟件仿真、軟件測試以及半實物仿真等手段驗證軟件的功能和性能滿足預期要求,該方案無需協處理器能夠完成復雜邏輯以及高實時性的導引頭軟件設計,對后續低成本小型化導引頭軟件設計具有重要的借鑒意義。
參考文獻:
[1]廖洪波,朱文亮,王永宏,等.光電伺服控制軟件調試工具頂層框架設計與應用[J].航空兵器,2014(1):57-60.
[2]陳艷華.基于ARM的嵌入式系統開發與實例[M].北京:人民郵電出版社,2008.
[3]宋巖.ARM Cortex-M3權威指南[M].北京:北京航空航天大學出版社,2009.
[4]王霞,李淑民,裴培,等.基于ADS8364的數據采集系統設計[J].電子技術應用,2009(7):95-97.
[5]王明惠,朱光宇,汪慧敏,等.基于PowerPC的飛控軟件設計實現及驗證[J].航空兵器,2013(4):54-57.