楊健康 張增 董保良 楊紹琛
【摘要】傳統(tǒng)的半實物仿真電臺的構建往往是一種型號實際裝備構建一種對應的半實物仿真電臺,導致尺寸不統(tǒng)一、復用率差、成本高、維護難等問題。本文采用模塊化、一體化的設計方法,將半實物仿真電臺分為通用仿真主機和個性仿真面板,并重點對仿真面板自識別電路和軟件進行了設計,實現(xiàn)了在同一個通用仿真主機上可兼容不同型號的個性仿真面板的功能,同時軟件能自動加載新型號電臺程序。
【關鍵詞】半實物仿真 電臺面板 自識別
隨著新軍事革命興起,各類信息裝備更新?lián)Q代周期減短,尤其是通信裝備的配發(fā)難以跟上裝備更新步調,而且配發(fā)的新型通信裝備需要大量地訓練來掌握裝備操作技能。若是長期大量動用實裝進行通信訓練,裝備損耗大,人力物力需求多,協(xié)同和保障復雜,對訓練場地要求高,難保證實裝訓練需求。
半實物仿真訓練器材具有成本低、逼真度高、組網(wǎng)控制靈活、維護簡便等優(yōu)勢,已成為模擬訓練系統(tǒng)的一個重要組成部分。如今亟需研制一種能兼容不同型號裝備的半實物仿真電臺的來解決上述問題。本文通過半實物仿真電臺的面板自識別設計與實現(xiàn),可為半實物仿真電臺的構建提供一個統(tǒng)一的軟硬件框架,為快速開發(fā)新型半實物仿真電臺提供技術基礎。
一、總體設計
半實物仿真電臺采用模塊化、一體化的設計方法,在現(xiàn)有各型號半實物仿真電臺的基礎上,研究其共性的部分及個性部分并進行優(yōu)化設計,使它具備兼容各型號的功能。為此,在設計實現(xiàn)中將半實物仿真電臺分成兩部分,一是具有共性特征的核心處理單元,即通用仿真主機,二是具有個性特征的面板外觀和操作,即個性仿真面板。通用仿真主機和個性仿真面板通過統(tǒng)一的、簡單的機械連接和電氣連接,使用統(tǒng)一的通用仿真主機,更換不同型號的仿真面板,可構建各種不同型號的仿真電臺。
半實物仿真電臺根據(jù)實裝設備特點,在實現(xiàn)其功能的基礎上,使其具有通用性、可重構性、高穩(wěn)定性、高可靠性、低功耗等特點。
因此,在設計實現(xiàn)上,采用ARM嵌入式平臺,選用三星公司的ARM11S3C6410處理器硬件平臺進行硬件設計,軟件操作系統(tǒng)采用Windows CE 6.0。
二、仿真面板自識別接口電路設計
采用GPIO采集技術,在仿真面板的音頻板上進行自識別接口電路設計。引出6個GPIO接口,每個GPIO接口設置成可放置跳帽的插座形式,插座一端接GPIO腳,另一端接數(shù)字地。
通過對6個GPIO插座放置跳帽的排列組合,即6個GPIO接口高低電平的排列組合構成不同個性面板的標識,從而實現(xiàn)對不同型號仿真面板的自動識別。
三、仿真面板自識別軟件的實現(xiàn)
3.1開機自啟動模塊軟件實現(xiàn)
開機自啟動模塊主要實現(xiàn)仿真電臺自識別軟件開機后自啟動,實現(xiàn)方法是將應用程序(文件名為PTTClientCE.exe)路徑寫入注冊表啟動項中。代碼如下:
應用程序所在目錄下,向注冊表添加GPIO驅動注冊表內容。
GPIO驅動注冊表添加內容為:
[HKEY_LOCAL_MACHINE\init]
“Launch80”=“NANDFLASH\\TESTk\\PTTClientCE.exe”,//注冊表啟動項
3.2 GPIO驅動模塊軟件實現(xiàn)
由于嵌入式設備硬件平臺的多樣性,針對不同的硬件需要編寫不同的驅動程序來屏蔽底層硬件的多樣性,使上層應用程序的開發(fā)不需要理解底層設備的實現(xiàn)細節(jié)。GPIO驅動程序的開發(fā)正是Windows CE 6.0嵌入式系統(tǒng)應用開發(fā)中的一個技術難點。本文采用基于WinCE的驅動程序模型中接口固定、最常用的驅動程序即流接口驅動程序。這種驅動程序的函數(shù)實現(xiàn)一組固定的函數(shù),這些函數(shù)稱為流接口函數(shù),這些流接口函數(shù)使得應用程序可以通過文件系統(tǒng)訪問這些驅動程序。
在VS2005中Platform Builder fnr CE 6.0開發(fā)環(huán)境下,創(chuàng)建GPIO驅動程序目錄及文件。在GPIO.cpp文件中,添加完善接口函數(shù)的內容。在GPIO_Init0函數(shù)中完成虛擬地址映射,在GPIO_Deinit()中釋放虛擬地址空間和各種資源。代碼如下:
對于GPQ2-5口,GPQCON0控制寄存器的輸入,輸出配置,GPQPUD控制寄存器的上拉/下拉/禁用配置,GPQDAT負責數(shù)據(jù)寄存器的讀寫,代碼可參照GPH8接口。
在GPIO.DEF文件中,提供驅動接口。
編譯GPIO驅動程序目錄,可生成GPIO.dll,供應用程序在動態(tài)庫中調用。
3.3面板識別模塊軟件實現(xiàn)
主要是對仿真面板識別電路中的GPIO進行采集,計算仿真面板標識碼,根據(jù)仿真面板編碼自動加載相應的應用程序。
四、實驗驗證
利用Windows CE 6.0編寫一個可運行于S3C6410開發(fā)板GPIO驅動GPIO.dll,利用Visual Studio 2005 SP1編寫1個可運行于S3C6410開發(fā)板Windows CE 6.0操作系統(tǒng)上的應用程序,即面板自識別程序PTTClinetCE.exe,放于核心板NandFlash\TEST目錄下,同時將電臺A、電臺B和電臺c仿真電臺程序電臺A.exe、電臺B.exe和電臺C.exe和運行相關文件也放于NandFlash\TEST目錄下。為了測試方便,面板自識別程序為MFC對話框形式,并在對話框上顯示SW1~SW6插座上GPIO引腳的狀態(tài)、面板標識碼大小和當前的調用程序。
開機后,先啟動程序trITClinetCE.exe,該程序使用GPIO驅動,讀取仿真面板音頻板上的自識別電路設置的GPIO狀態(tài),識別不同型號的仿真面板,從而自動加載不同電臺的主界面。
本文對面板自識別功能進行了測試,測試表明,在同一個通用仿真主機上,可快速更換仿真電臺面板,更換面板后電后能自動加載新電臺程序,能夠滿足實際應用的需要。