本發(fā)明涉及適用于DME地面設(shè)備的導(dǎo)航技術(shù),特別涉及一種超高頻測距儀控制系統(tǒng)及其實現(xiàn)方法。
背景技術(shù):
傳統(tǒng)的超高頻測距儀控制系統(tǒng)的控制電路通常采用DSP+FPGA架構(gòu),對外只有RS232串口和GPIO通信,軟件全部是裸機代碼,功能擴展困難;人機界面只有一塊5.7寸液晶屏和控制按鍵,極大地限制了產(chǎn)品的二次開發(fā)和功能定制。鑒于現(xiàn)產(chǎn)品設(shè)計的不足,系統(tǒng)響應(yīng)時間長、成本高、工作不穩(wěn)定、性能不可靠,不能滿足日益苛刻的性能指標的需求,同時存在不能小型化的問題;如何解決這個問題就成為了本領(lǐng)域的技術(shù)人員所要研究和解決的課題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,即針對現(xiàn)有產(chǎn)品成本高、體積大、系統(tǒng)響應(yīng)時間長、與遙控器等客戶端模塊接口不一致等問題,特別提供一種新型超高頻測距儀控制系統(tǒng)及實現(xiàn)方法。該測距儀工作于L波段,頻率范圍962~1213MHz,與機載設(shè)備一起為飛行器提供其與地面臺之間的斜距信息。測距儀地面臺可與儀表著陸系統(tǒng)(ILS)聯(lián)合使用,為飛行器提供著陸時的斜距信息,也可與全向信標(DVOR)聯(lián)合使用,為飛行器提供航路上的距離信息。
本發(fā)明為實現(xiàn)上述目的所采取的技術(shù)方案是:一種超高頻測距儀控制系統(tǒng),其特征在于:所述系統(tǒng)電路包括Cortex-A9 ARM主控芯片、電容觸摸屏、網(wǎng)卡芯片、FRAM存儲器、4*4矩陣鍵盤和3.3V紐扣電池;所述的Cortex-A9 ARM主控芯片的MAC口與網(wǎng)卡芯片連接,網(wǎng)卡芯片分別連接時鐘源和狀態(tài)燈,網(wǎng)卡芯片又與網(wǎng)絡(luò)隔離變壓器相連,網(wǎng)絡(luò)隔離變壓器通過RJ45連接以太網(wǎng);Cortex-A9 ARM主控芯的UART 口與GPS連接,Cortex-A9 ARM主控芯的LVDS口與電容觸摸屏連接,Cortex-A9 ARM主控芯片的IIC口與FRAM存儲器連接,Cortex-A9 ARM主控芯片的GPIO口與4*4矩陣鍵盤連接,Cortex-A9 ARM主控芯片的RTC口連接3.3V紐扣電池,Cortex-A9 ARM主控芯片的CAN口通過CAN總線連接監(jiān)測器、接收機和發(fā)射機。
本發(fā)明所述系統(tǒng)采用NXP芯片i.MX6Q硬件平臺,構(gòu)建嵌入式Linux操作系統(tǒng);軟件使用Linux操作系統(tǒng)下的CodeBlocks軟件交叉編譯模式進行開發(fā);控制軟件由應(yīng)用程序、文件系統(tǒng)、內(nèi)核程序、啟動程序四層組成,其邏輯控制有以下步驟:
(一)、系統(tǒng)上電,加載啟動程序;
(二)、啟動內(nèi)核;
(三)、加載文件系統(tǒng);
(四)、應(yīng)用程序按照提前寫在系統(tǒng)目錄/etc/init.d/下的rc.local文件中的Shell腳本命令運行,分別進入服務(wù)器進程、系統(tǒng)控制程序進程和AD采集轉(zhuǎn)換進程;
(五)、進入服務(wù)器進程后,分別進入服務(wù)器接收和發(fā)送線程;進入系統(tǒng)控制程序進程后分別進入CAN收發(fā)線程、串口收發(fā)線程、網(wǎng)口收發(fā)線程和IO控制線程;進入AD采集轉(zhuǎn)換進程后分別進入AD采樣和處理線程。
本發(fā)明所產(chǎn)生的有益效果是:通過對系統(tǒng)電路進行全部重新設(shè)計,硬件電路體積小,重量輕,功能強大,抗干擾能力強,軟件設(shè)計構(gòu)建了Linux操作系統(tǒng),工業(yè)級4核CPU的1GHz主頻使得系統(tǒng)響應(yīng)時間短,穩(wěn)定性高,功能擴展更加容易,從而滿足測距設(shè)備伏爾臺的需求。該超高頻測距儀控制系統(tǒng)研制成功后,使得生產(chǎn)成本縮減為原來的二分之一,功能更加完善,易于調(diào)試、生產(chǎn)和維修,取得了較好的技術(shù)效益和經(jīng)濟效益。該新型超高頻測距儀控制系統(tǒng)工作穩(wěn)定,性能可靠。
附圖說明
圖1為本發(fā)明的系統(tǒng)連接框圖;
圖2為本發(fā)明的邏輯控制總流程圖;
圖3為圖2中服務(wù)器接收和發(fā)送線程的流程圖;
圖4為圖2中CAN收發(fā)線程的流程圖;
圖5為圖2中串口收發(fā)線程的流程圖;
圖6為圖2中網(wǎng)口收發(fā)線程的流程圖;
圖7為圖2中IO控制線程的流程圖;
圖8為圖2中AD采樣和處理線程流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明作進一步說明:
如圖1所示,本系統(tǒng)電路包括Cortex-A9 ARM主控芯片、電容觸摸屏、網(wǎng)卡芯片、FRAM存儲器、4*4矩陣鍵盤和3.3V紐扣電池;Cortex-A9 ARM主控芯片的MAC口與網(wǎng)卡芯片連接,網(wǎng)卡芯片分別連接時鐘源和狀態(tài)燈,網(wǎng)卡芯片又與網(wǎng)絡(luò)隔離變壓器相連,網(wǎng)絡(luò)隔離變壓器通過RJ45連接以太網(wǎng);Cortex-A9 ARM主控芯的UART 口與GPS連接,Cortex-A9 ARM主控芯的LVDS口與電容觸摸屏連接,Cortex-A9 ARM主控芯片的IIC口與FRAM存儲器連接,Cortex-A9 ARM主控芯片的GPIO口與4*4矩陣鍵盤連接,Cortex-A9 ARM主控芯片的RTC口連接3.3V紐扣電池,Cortex-A9 ARM主控芯片的CAN口通過CAN總線連接監(jiān)測器、接收機和發(fā)射機。
本系統(tǒng)電路包括Cortex-A9 ARM控制芯片、寬溫型10.1寸電容觸摸屏(LVDS接口)、2GB DDR3內(nèi)存,256MB NandFlash存儲器、1個GPS通信串口(可以接收GPS模組發(fā)送來的NEMA0183報文)、1個調(diào)試串口(用于打印信息和輸入調(diào)試命令行)、IIC設(shè)備接口(通過I2C設(shè)備接口進行I/O擴展)、SPI設(shè)備接口FRAM(掉電不丟失的FRAM存儲器可以用來存儲數(shù)據(jù)和參數(shù))、CAN總線通信接口(與監(jiān)測器、接收機、發(fā)射機通信)、10/100Mbps以太網(wǎng)通信接口(與維護軟件和遙控器進行通信)、4*4矩陣按鍵控制電路、64個GPIO口(32路開關(guān)量的輸入和32路開關(guān)量的輸出)。
如圖2所示,本系統(tǒng)采用NXP芯片i.MX6Q硬件平臺,構(gòu)建嵌入式Linux操作系統(tǒng);軟件使用Linux操作系統(tǒng)下的CodeBlocks軟件交叉編譯模式進行開發(fā);控制軟件由應(yīng)用程序、文件系統(tǒng)、內(nèi)核程序、啟動程序四層組成,其邏輯控制有以下步驟:
(一)、系統(tǒng)上電,加載啟動程序;
(二)、啟動內(nèi)核;
(三)、加載文件系統(tǒng);
(四)、應(yīng)用程序按照提前寫在系統(tǒng)目錄/etc/init.d/下的rc.local文件中的Shell腳本命令運行,分別進入服務(wù)器進程、系統(tǒng)控制程序進程和AD采集轉(zhuǎn)換進程;
(五)、進入服務(wù)器進程后,分別進入服務(wù)器接收和發(fā)送線程;進入系統(tǒng)控制程序進程后分別進入CAN收發(fā)線程、串口收發(fā)線程、網(wǎng)口收發(fā)線程和IO控制線程;進入AD采集轉(zhuǎn)換進程后分別進入AD采樣和處理線程。
如圖3所示,服務(wù)器接收線程執(zhí)行以下步驟:先創(chuàng)建兩個信號量,再創(chuàng)建兩個共享內(nèi)存,然后通過調(diào)用Socket()函數(shù)、Bind()函數(shù)、Listen()函數(shù)后,進入服務(wù)器的接收和發(fā)送線程,然后調(diào)用Close()函數(shù)關(guān)閉套接字,最后刪除兩個信號量。
如圖4所示,CAN收發(fā)線程執(zhí)行以下步驟:首先讀取和接收來自接收機、發(fā)射機、監(jiān)測器的CAN數(shù)據(jù)并緩存,然后打包CAN數(shù)據(jù)幀頭,轉(zhuǎn)發(fā)CAN數(shù)據(jù)報文,寫CAN發(fā)送數(shù)據(jù)包到緩存區(qū)并下發(fā)給接收機、發(fā)射機、監(jiān)測器。
如圖5所示,串口收發(fā)線程執(zhí)行以下步驟:串口接收來自GPS的數(shù)據(jù),然后進行數(shù)據(jù)解析,并打包應(yīng)答的報文,最后寫串口發(fā)送數(shù)據(jù)包到緩存區(qū)并回傳給GPS。
如圖6所示,網(wǎng)口收發(fā)線程執(zhí)行以下步驟:首先創(chuàng)建共享內(nèi)存,然后接收網(wǎng)口數(shù)據(jù),并對數(shù)據(jù)進行處理,最后寫網(wǎng)口發(fā)送數(shù)據(jù)包到緩存區(qū)并回傳給客戶端。
如圖7所示,IO控制線程執(zhí)行以下步驟:首先加線程鎖,然后通過靠IIC串行口擴展I/O的芯片PCA 9555讀取來自其他單元板的狀態(tài)數(shù)據(jù)后,更新系統(tǒng)狀態(tài),最后開線程鎖。
如圖8所示,A/D采樣和處理線程執(zhí)行以下步驟:首先進入閃燈程序來指示A/D采樣的進行狀態(tài),然后PCA9554芯片進行多路分時采樣的配置,再進行A/D轉(zhuǎn)換,最后進行A/D轉(zhuǎn)換處理。
以下對本系統(tǒng)設(shè)計進行詳細說明:
(1)本系統(tǒng)采用的主控芯片為恩智浦(飛思卡爾)公司的Cortex-A9 ARM 芯片i.MX6Q,采用NXP芯片i.MX6Q硬件平臺,構(gòu)建嵌入式Linux操作系統(tǒng)。軟件使用Linux操作系統(tǒng)下的CodeBlocks軟件交叉編譯模式進行開發(fā)??刂栖浖蓱?yīng)用程序、文件系統(tǒng)、內(nèi)核程序、啟動程序四層組成。啟動程序:包括與硬件相關(guān)程序、通用驅(qū)動程序以及其命令工具程序;內(nèi)核程序:在內(nèi)核配置中根據(jù)需要進行配置裁剪,添加自己編寫的驅(qū)動;文件系統(tǒng):集成了Linux常用命令和工具,為系統(tǒng)提供比較完善的環(huán)境;應(yīng)用程序采用多線程并發(fā)處理方式,實現(xiàn)控制系統(tǒng)的各項功能。
(2)主控部分功能主要包括:可以完成狀態(tài)自檢,從各工作單元板獲取各工作單元的工作狀態(tài)信息并進行運算和通信傳輸處理,從監(jiān)測器獲取各項監(jiān)測參數(shù),以及從各電源輸出獲取各電源工作狀態(tài)信息,對所獲取的各項監(jiān)測參數(shù)進行記錄存儲和門限判別,當超出門限時做出相應(yīng)提示或操作,當重要指標項目超出門限時,發(fā)出聲光告警及轉(zhuǎn)機操作,可以對兩路發(fā)射機的開機、轉(zhuǎn)機、關(guān)機完成自動和手動的操作。
信號的具體處理過程為:
CAN總線信號:通信接口單元詢問,監(jiān)測器、接收機、發(fā)射機應(yīng)答,報文分為查詢報文、控制報文、設(shè)置報文三種,通信符合CAN2.0規(guī)范,報文傳輸采用CAN2.0B擴展幀格式,波特率為500Kbps。應(yīng)答響應(yīng)時間<50ms,應(yīng)答超時表示操作無效。
網(wǎng)口信號:維護軟件和遙控器與通信接口間通過網(wǎng)口連接,采用C/S模式。其中通信接口為服務(wù)器端,端口號可配置;維護計算機、遙控器為客戶端,IP地址和端口號可配置。雙方通信采用應(yīng)答方式,維護端為主動方,通信接口為應(yīng)答方。應(yīng)答信息響應(yīng)時間要求<100ms。數(shù)據(jù)存儲小端模式。
串口信號:通信接口單元和顯示單元之間通過232串行線連接。串口屬性為波特率115200,8位數(shù)據(jù)位,無校驗位,1位停止位,無數(shù)據(jù)流控制。通信采用應(yīng)答方式,前面板為調(diào)用方,通信接口為應(yīng)答方。數(shù)據(jù)存儲為小端模式。通信接口應(yīng)答響應(yīng)時間<100ms。雙方中斷超時間時間設(shè)置為10s。
(3)針對產(chǎn)品工作環(huán)境惡劣的需求,觸摸屏采用工業(yè)級型號,并做了加固,最低能支持-30℃,應(yīng)用LVDS并口接口方式,實現(xiàn)用戶操作要求;通過友好的人機交互界面,正確地顯示產(chǎn)品的各項工作參數(shù)及狀態(tài)信息等。額外定制了4*4金屬鍵盤,作為觸摸功能失效時備用,該按鍵防水防塵并具有堅固防破壞結(jié)構(gòu)和電磁兼容性能。
(4)本系統(tǒng)添加了遙控器接口和本地維護軟件網(wǎng)絡(luò)接口的功能,系統(tǒng)遙控接口是超高頻測距儀中用于完成與遠程監(jiān)視與維護連接的數(shù)據(jù)通信單元。主要功能包括:在控制系統(tǒng)與遠程遙控器之間建立通信鏈路;在控制系統(tǒng)與本地維護終端之間建立通信鏈路。系統(tǒng)遙控接口單元包含兩路網(wǎng)口電路、光網(wǎng)轉(zhuǎn)換電路等,用于滿足遠距離遙控設(shè)備的需求。維護軟件客戶端有一個瀏覽器程序,控制系統(tǒng)作為服務(wù)器端有一個對應(yīng)的Web服務(wù)器,通過CGI(通用網(wǎng)關(guān)接口)實現(xiàn)與外部應(yīng)用程序之間的信息交互。
本系統(tǒng)技術(shù)指標:
(1)最大工作時鐘:1GHz;
(2)最大存儲空間:256MB;
(3)最大運行內(nèi)存:2GB;
(4)工作溫度范圍:-30℃~+50℃;
(5)接口類型:USB、JTAG、UART、I2C、CAN接口、以太網(wǎng)接口等。