劉春輝,熊小軍,丁軻佳
(北京航空航天大學(xué) 無人駕駛飛行器設(shè)計(jì)研究所,北京100083)
無人機(jī)是一種有動(dòng)力、可控制、能承載多種任務(wù)設(shè)備、執(zhí)行多種作戰(zhàn)任務(wù)并可重復(fù)使用的戰(zhàn)術(shù)飛行器,其零傷亡風(fēng)險(xiǎn)和高機(jī)動(dòng)性等優(yōu)勢引起了各國軍方的高度重視。無人機(jī)飛行過程可簡單劃分為起飛、高空飛行和降落三部分。高空飛行階段飛行環(huán)境相對(duì)穩(wěn)定,常采用無人機(jī)自主飛行方式,無需對(duì)其飛行姿態(tài)做太多人為干預(yù)。但是在起飛和降落階段無人機(jī)的速度變化大,姿態(tài)調(diào)整頻繁,起降場地地形、氣候等諸多復(fù)雜因素對(duì)無人機(jī)的安全造成巨大威脅,是無人機(jī)實(shí)驗(yàn)任務(wù)飛行中的事故多發(fā)時(shí)段,因此在起降階段進(jìn)行即時(shí)、準(zhǔn)確的人為調(diào)整是保障無人機(jī)飛行安全的重要手段。現(xiàn)階段部分無人機(jī)型號(hào)采用有線的車載地面站外部(車外)控制器方式,讓地面操作人員通過近距離觀察無人機(jī)的姿態(tài)來實(shí)時(shí)遙控?zé)o人機(jī)。
無人機(jī)車外控制器使用示意圖見圖1。
國內(nèi)車外控制器設(shè)計(jì)研制之初考慮到地面站內(nèi)人員和車外人員的交流,加入了語音通信功能,但開始只是應(yīng)用對(duì)講機(jī)進(jìn)行通話,而對(duì)講機(jī)是單工通信機(jī)制,通話時(shí)易形成競爭;后來部分單位在有線車外控制器的信號(hào)傳輸線纜上增加了模擬語音,實(shí)現(xiàn)了車內(nèi)測控臺(tái)和車外控制人員的雙工通信,而模擬語音容易自激,通話易受干擾[1]。
圖1 無人機(jī)車外控制器使用示意圖
基于已有無人機(jī)系統(tǒng)的應(yīng)用經(jīng)驗(yàn),設(shè)計(jì)了一種數(shù)字語音和遙控?cái)?shù)據(jù)共同傳輸?shù)男滦蜔o人機(jī)車外控制器。本文將對(duì)其設(shè)計(jì)組成、尤其是數(shù)話同傳技術(shù)的實(shí)現(xiàn)方法進(jìn)行詳細(xì)說明,最后對(duì)其測試和應(yīng)用環(huán)境進(jìn)行介紹。
無人機(jī)車外控制器系統(tǒng)設(shè)計(jì)組成見圖2。
(1)車外控制器遙控?cái)?shù)據(jù)的產(chǎn)生和采集
通過車外操縱手對(duì)車外控制器各機(jī)構(gòu)(搖桿、開關(guān)和微調(diào))的操縱,引起內(nèi)部電位器和電開關(guān)變化進(jìn)而引起電信號(hào)的變化。變化的電壓通過信號(hào)調(diào)理電路發(fā)送到微處理器(MCU),由 MCU內(nèi)部的AD模塊進(jìn)行處理;變化的數(shù)字量直接輸入到MCU。MCU把當(dāng)前的遙控?cái)?shù)據(jù)顯示到液晶顯示屏上。
圖2 無人機(jī)車外控制器系統(tǒng)設(shè)計(jì)組成
(2)車外控制器語音數(shù)據(jù)的產(chǎn)生和采集
車外操縱手可通過麥克將自己的語音輸入到AD模塊,數(shù)字語音以9.6 kb/s的速率被音頻編碼器(ENCODER)編碼接收,同遙控?cái)?shù)據(jù)一起被 MCU采集,速率為1 Mb/s。
(3)車外控制器遙控和語音數(shù)據(jù)的傳輸
遙控和語音數(shù)據(jù)在MCU中被組成的遙控/語音數(shù)據(jù)復(fù)合幀以20 ms的幀周期更新,通過對(duì)外的RS232/RS422可切換接口輸出至地面站[2],便于不同的地面站兼容。
(4)方艙語音數(shù)據(jù)的接收
由于采用雙工通信,地面站方艙內(nèi)人員的語音數(shù)據(jù)通過RS232/RS422接口輸入到車外控制器的MCU中,MCU對(duì)語音數(shù)據(jù)幀中的語音數(shù)據(jù)進(jìn)行提取,以1 Mb/s的速率發(fā)送到音頻解碼器(DECODER)進(jìn)行解碼,以9.6 kb/s的速率輸入到DA電路產(chǎn)生模擬語音,語音可通過耳機(jī)被車外操縱手接聽。
需要說明的是,方艙里內(nèi)置一個(gè)語音采集器,其內(nèi)部的語音采集、接收和發(fā)送模塊與車外控制器內(nèi)部設(shè)計(jì)原理一致;車外控制器和語音采集器之間可采用長度為120 m的線纜連接,擴(kuò)大了車外操作手的活動(dòng)范圍。
(1)芯片的選型
MCU采用Cygnal公司生產(chǎn)的C8051F022單片機(jī),其外圍電路主要包括信號(hào)調(diào)理電路,數(shù)字和模擬信號(hào)經(jīng)調(diào)理后輸入至C8051F022;RS232/RS422接口電路由MAX3232和MAX3490構(gòu)成;數(shù)字語音編解碼電路的音頻AD/DA部分選用AD/DA復(fù)合功能芯片CSP1027,數(shù)字音頻編碼/解碼芯片采用美國DVSI公司生產(chǎn)的AMBE1000[3]。AMBE1000編碼器的輸出幀和解碼器的輸入幀分別見圖3和圖4。
圖4 解碼器的輸入幀
如圖3和圖4所示,編碼器輸出幀和解碼器輸入幀的結(jié)構(gòu)類似,包含幀頭 Header和 ID值(共占 1個(gè) B)及24 B的壓縮語音數(shù)據(jù),不同的是輸出幀包含4 B狀態(tài)位,輸入幀包含4 B控制位,微處理器可根據(jù)輸出幀狀態(tài)位對(duì)語音數(shù)據(jù)進(jìn)行處理,該狀態(tài)位也可直接作為輸入幀的控制位輸入至解碼器。為便于和8 bit MCU接口通信,AMBE的信道接口采用被動(dòng)并行模式。
實(shí)現(xiàn)車外控制器數(shù)話同傳功能的關(guān)鍵點(diǎn)之一是微處理器程序的設(shè)計(jì)。
MCU的程序流程圖如圖5所示。AMBE1000為主機(jī)端提供了編碼包準(zhǔn)備好信號(hào)EPR和解碼包空信號(hào)DPE,在設(shè)計(jì)上將這兩個(gè)信號(hào)分別輸入到C8051F022的外部中斷INT0和INT1端口,以中斷方式讀取和寫入語音數(shù)據(jù);與方艙語音采集器的數(shù)據(jù)通信通過C8051F022內(nèi)部UART0功能模塊實(shí)現(xiàn)。中斷優(yōu)先級(jí)設(shè)定的先后順序?yàn)?INT0→INT1→UART0。
圖5 微處理器程序流程圖
微處理器的主程序在完成初始化中斷設(shè)置和優(yōu)先級(jí)后,讀取C8051F022內(nèi)部Flash的比例指令零點(diǎn)偏移(范圍為0~255,標(biāo)準(zhǔn)零點(diǎn)為127,實(shí)際中零點(diǎn)常發(fā)生偏移,可利用按鍵調(diào)準(zhǔn))后,循環(huán)采集按鍵和進(jìn)行LCD顯示刷新。為便于進(jìn)程間通信,程序定義了兩個(gè)bool型變量用作發(fā)送標(biāo)志和接收標(biāo)志,3個(gè)語音數(shù)組分別用于存儲(chǔ)從編碼緩沖區(qū)讀出的數(shù)據(jù) (語音數(shù)組1)、待寫入解碼緩沖區(qū)的數(shù)據(jù)(語音數(shù)組2)和存儲(chǔ)靜音數(shù)據(jù)的數(shù)組(靜音數(shù)組)。
由EPR信號(hào)觸發(fā)的外部中斷0處理程序首先讀取AMBE1000編碼器緩沖區(qū)至語音數(shù)組1,組成遙控/語音幀,設(shè)置發(fā)送標(biāo)志并啟動(dòng)UART0發(fā)送中斷。進(jìn)入串口中斷0后,首先判斷中斷類型為發(fā)送中斷還是接收中斷,若為發(fā)送中斷則啟動(dòng)發(fā)送進(jìn)程,將遙控/語音幀發(fā)送至車內(nèi)采集盒,之后取消發(fā)送標(biāo)志;若為接收中斷,則啟動(dòng)串口接收進(jìn)程,接收方艙語音采集盒發(fā)來的語音數(shù)據(jù),更新語音數(shù)組2,設(shè)置接收標(biāo)志。由DPE信號(hào)觸發(fā)的外部中斷1處理程序首先判斷接收標(biāo)志是否有效,若無效則寫靜音數(shù)組至AMBE1000編碼緩沖區(qū),若有效則寫語音數(shù)組2至AMBE1000編碼緩沖區(qū),之后取消接收標(biāo)志,退出中斷程序。
由上述介紹可知,遙控/語音幀的發(fā)送周期是由AMBE1000的DPE信號(hào)觸發(fā)的,DPE信號(hào)的產(chǎn)生周期為20 ms,而方艙語音采集盒為異步接收,對(duì)遙控/語音幀的到達(dá)周期沒有嚴(yán)格要求,因此20 ms的發(fā)送周期滿足系統(tǒng)設(shè)計(jì)要求[4]。
在遙控/語音幀的設(shè)計(jì)中,數(shù)字語音和遙控?cái)?shù)據(jù)的復(fù)用成為實(shí)現(xiàn)數(shù)話同傳技術(shù)的關(guān)鍵點(diǎn),這里遙控/語音幀在設(shè)計(jì)上采用40 B/幀,幀結(jié)構(gòu)如圖6所示。
圖6 遙控/語音幀幀結(jié)構(gòu)
幀結(jié)構(gòu)在設(shè)計(jì)上包含2 B幀頭,1 B幀標(biāo)識(shí),10 B的遙控?cái)?shù)據(jù),1 B語音狀態(tài)字,24 B的語音數(shù)據(jù)和2 B幀尾。
串口0采用波特率為 38 400 b/s,發(fā)送單幀遙控/語音幀占用的時(shí)間為:(40×8)÷38400≈8.33 ms,滿足 20 ms/幀的發(fā)送周期。
在實(shí)驗(yàn)室階段,車外控制器通過RS232接口發(fā)送至上位機(jī)調(diào)試,經(jīng)串口調(diào)試助手實(shí)時(shí)記錄的數(shù)據(jù)見圖7。其中EB90為幀頭,EE16為幀尾,帶下劃線的數(shù)據(jù)為幀頭、語音狀態(tài)字和語音數(shù)據(jù)。
在實(shí)際應(yīng)用中,基于數(shù)話同傳技術(shù)的車外控制器已參加過數(shù)次重大科研項(xiàng)目的飛行實(shí)驗(yàn)。經(jīng)實(shí)際檢驗(yàn),語音通話質(zhì)量良好,數(shù)據(jù)傳輸穩(wěn)定可靠,驗(yàn)證了其設(shè)計(jì)的合理性,為數(shù)話同傳技術(shù)拓展了應(yīng)用范圍。
圖7 實(shí)時(shí)記錄的遙控/語音數(shù)據(jù)幀
[1]劉春輝,熊小軍,馮瑩.無人機(jī)遙控方式的智能管理策略[J].航空兵器,2010(4):3-7.
[2]田峰,杜洪根.無人機(jī)地面站控制系統(tǒng)設(shè)計(jì)[J].軍事測控技術(shù),2005,13(11).
[3]馬連川,高倍力.鐵路無線列調(diào)中數(shù)話兼容的實(shí)現(xiàn)[J].北方交通大學(xué)學(xué)報(bào),2003,6(27):6-10.
[4]劉春輝,張曉林.無人直升機(jī)雙模式地面操控系統(tǒng)設(shè)計(jì)[J].航空兵器,2009,4:24-28.