趙 寬,馬游春,劉鵬媛,趙 陽
(1.中北大學 微米納米技術(shù)研究中心,太原 030051;2.中北大學 儀器科學與動態(tài)測試教育部重點實驗室,太原 030051)
對炮彈爆炸進行高速攝像采集是研究炮彈爆炸過程和毀傷威力的重要手段,在軍工領(lǐng)域有著重要的作用。高速攝像機采集存儲的數(shù)據(jù)量十分巨大,而內(nèi)存空間有限,因此需要定點觸發(fā)高速攝像采集系統(tǒng),以保證完整記錄炮彈落地的過程。對于一個實驗采集系統(tǒng)來說,系統(tǒng)的觸發(fā)電路是否穩(wěn)定可靠,決定了采集系統(tǒng)能否順利實現(xiàn)功能。若系統(tǒng)沒有順利完成觸發(fā),誤觸發(fā)或者延遲觸發(fā),都會令采集系統(tǒng)采集到的數(shù)據(jù)出現(xiàn)缺失或錯誤,得不到正確的實驗數(shù)據(jù),甚至造成采集實驗的失敗,輕則帶來巨大的經(jīng)濟損失,重則延誤武器研發(fā)的進程。因此,一定要提高采集觸發(fā)系統(tǒng)的穩(wěn)定與可靠,選擇正確合理的觸發(fā)方式。
目前,常用的觸發(fā)方式主要有內(nèi)觸發(fā)、光學觸發(fā)、斷線觸發(fā)和電磁觸發(fā),這些觸發(fā)方式都是通過炮彈撞擊地面,才給出的觸發(fā)條件,這樣高速攝像機就無法記錄下炮彈快落地時爆炸前的畫面。為防止記錄范圍不夠全面,需要在炮彈落地前提前觸發(fā)該系統(tǒng)。目前采用的就是無線觸發(fā)來人為的提前預觸發(fā)。無線觸發(fā)電路的主要功能是在收到相應(yīng)的無線信號后產(chǎn)生觸發(fā)脈沖。而人為預觸發(fā)因為是人通過計算時間來給出的觸發(fā)信號,難免會有不穩(wěn)定性,為了能定量的進行預觸發(fā),提高觸發(fā)系統(tǒng)的穩(wěn)定性和可靠性,引入了UWB無線測距系統(tǒng),UWB(ultra wide band)技術(shù)具有功耗低[1],對信道衰落不敏感,抗干擾能力強等優(yōu)點[2],該系統(tǒng)對炮彈與地面站的距離實時監(jiān)測,一旦到達預定距離時,給出觸發(fā)信號,即可精準地完成提前觸發(fā),保證每一次實驗都穩(wěn)定可靠。
該觸發(fā)系統(tǒng)主要有炮彈標簽與地面基站兩部分組成。炮彈標簽為UWB移動標簽,地面基站為UWB定位基站。在炮彈發(fā)射之前,將炮彈標簽安裝在炮彈上,定位基站放置在高速攝像機處,并將定位基站的觸發(fā)信號線接在高速攝像機的觸發(fā)接口上,炮彈發(fā)射后,定位基站檢測到與炮彈的距離小于指定距離時,觸發(fā)系統(tǒng)會自動觸發(fā),高速攝像機啟動,完成實驗。無線觸發(fā)系統(tǒng)如圖1所示。

圖1 無線觸發(fā)示意圖
無線觸發(fā)系統(tǒng)的觸發(fā)原理為:在地面站UWB系統(tǒng)內(nèi)預設(shè)一個距離值,然后標簽與地面基站進行數(shù)據(jù)傳輸,地面基站會實時測量基站與標簽的數(shù)據(jù)到達時間并采用測距算法對兩者距離進行實時計算監(jiān)測,一旦檢測到距離值小于預設(shè)距離,基站會輸出一段3.3 V的高電平脈沖,高速攝像機接收到脈沖信號即開始啟動,采集炮彈落地到爆炸的過程,即完成提前觸發(fā)的任務(wù)。距離信息也可以由串口實時顯示在上位機上[3-4]。
UWB系統(tǒng)的硬件構(gòu)成主要由主控模塊、射頻收發(fā)模塊、天線收發(fā)模塊、存儲模塊、電源模塊、時鐘模塊、發(fā)射與接收雙路放大模塊組成,如圖2所示。FPGA作為主控制器,對DW1000模塊進行電平信號的發(fā)送和數(shù)據(jù)的接收,并通過串口接收來自上位機的指令和將距離信息上傳至上位機。DW1000作為測距模塊,對基站與標簽進行實時測距。發(fā)送接收放大電路用于延長發(fā)射距離和提高信號性能。

圖2 基站硬件框圖
與單片機相比,F(xiàn)PGA得益于其內(nèi)部并行處理數(shù)據(jù)流的架構(gòu),擁有更快的處理數(shù)據(jù)的能力,同時成本相對較低,開發(fā)速度更快,因此選擇FPGA作為主控芯片。選擇Xilinx公司推出的Spartan3 系列XC3S400 芯片,封裝為 PQG208。該芯片內(nèi)部有74 880個邏輯單元,不僅性能出色,功耗也十分低[5]。編程用VHDL硬件描述語言,擁有更強的行為描述能力,豐富的仿真語句和庫函數(shù)。內(nèi)部集成Chipscope在線邏輯分析儀,可直接調(diào)用,提高調(diào)試系統(tǒng)的效率。控制器模塊是硬件平臺的核心,是定位基站與定位標簽的控制器,為 DW1000 電路提供相應(yīng)時序、控制以及數(shù)據(jù)交互功能,且能夠銜接通過無線通信模塊或串口通信模塊與 PC 機中上位機進行數(shù)據(jù)交互,并完成對整個硬件系統(tǒng)的復位功能。
在整個測距系統(tǒng)中,DW1000、FPGA、Flash等模塊需要1.8 V與3.3 V電壓,功率放大器的啟動電壓為5 V,DW1000的控制信號為3.3 V,因此在用于控制射頻模塊和功率放大器之前,必須將其電平轉(zhuǎn)換為5 V,F(xiàn)PGA的內(nèi)核電壓為1.5 V,因此還需要1.5 V的電壓輸出,以上所需要的電壓分別由4個電源模塊提供,電源模塊的原理如圖3所示。
目前市場上使用最為廣泛的UWB 射頻收發(fā)模塊為DecaWave 公司研制的DW1000[6],它是第一塊UWB無線收發(fā)器,具有功耗低、成本低、抗干擾能力強的特點,可實現(xiàn)高精度定位,定位精度可達±10 cm,其遵循IEEE802.15.4-2011 UWB 標準[7]。支持TOA(到達時間)、TDOA(到達時間差)、TWR(雙向測距)等多種算法,所支持的射頻波段寬,可支持3.5~6.5 GHz超寬頻定位,數(shù)據(jù)傳輸速率最高可達6.8 Mbps,有效通信距離為300 m左右[8-9]。數(shù)據(jù)交互接口采用SPI接口。其定位原理類似衛(wèi)星定位,需要有基站、標簽及中心控制器,通過基站發(fā)送的UWB脈沖信號進行基站與標簽之間的距離測試,達到指定距離時進行后續(xù)操作[10]。該芯片有較強的抗多徑能力和射頻功率可編程的功能,可在惡劣環(huán)境下保持通信的穩(wěn)定。其外圍電路設(shè)計如圖4所示。

圖3 電源模塊原理圖

圖4 DW1000外圍設(shè)計電路圖
查閱芯片資料可知,該模塊需要搭載一個38.4 MHz的外部晶振。時鐘管理部分主要包括三部分:晶體振蕩器、時鐘鎖相環(huán)和射頻PLL。時鐘鎖相環(huán)以外部晶振為參考時鐘輸入,用來產(chǎn)生SPI通信使用時鐘和數(shù)字后端使用時鐘,RF鎖相環(huán)用于提供接收鏈下發(fā)射鏈上變頻的本地振蕩器的時鐘,也以該外部晶振作為參考。
該模塊內(nèi)部帶有一次性可編程存儲器,用于存儲校準數(shù)據(jù),如TX功率電平、天線延遲值、晶體初始頻率誤差調(diào)整、測距范圍精度調(diào)整等,當使用時需要對這些參數(shù)進行調(diào)整時,可自行檢索調(diào)整[11]。當片上電壓調(diào)節(jié)器被禁用時,存儲器可以在最低功耗狀態(tài)下保持DW1000的配置數(shù)據(jù)。
在無線通信系統(tǒng)中,影響通信的因素都有:發(fā)射功率級、發(fā)射機天線增益、傳播通過程中的損耗、接收機天線增益、接收機靈敏度。為了增強信號的收發(fā)性能,同時延長與標簽之間的通信距離,在DW1000后增加了增益電路。將外部功率放大器連接DW1000來增加發(fā)射功率,將低噪聲放大器與DW1000連接來提高接收機靈敏度,從而提高通信最遠距離[12-13]。
2.4.1 發(fā)射路徑放大電路設(shè)計

圖5 功率放大電路原理圖

圖6 低噪聲放大電路原理圖
在發(fā)送路徑上外加一個放大器,當處于發(fā)送模式時,通過配置GPIO4引腳,將其更改為使用EXTPA(外部放大器),來啟用外部功率放大器,開啟射頻通道,外部PA使能;當處于接收模式時,外部PA被禁用,GPIO設(shè)置直接使DW1000開啟射頻通道。圖5為發(fā)射路徑外部功率放大電路圖,74HC1G04為逆變器,可以避免TXRX兩條路徑同時啟用的情況,cmd_tx為發(fā)射信號,從射頻開關(guān)U8的公共射頻端口VC2,通過RF2端口到功率放大器U7的3引腳,再通過功率放大器的6引腳輸出放大信號至射頻開關(guān)U6的RF1端口,最后從公共射頻端口7到天線。原理圖中最右端cmd_tx為接收信號,由天線經(jīng)過U6的公共射頻端口VC2返回至RF2端口,再從RF2端口到U8的RF1端口,最后通過RFC端口到達巴倫。
2.4.2 接收路徑放大電路設(shè)計
接收路徑放大電路原理如圖6所示。當處于接收模式狀態(tài)時,將射頻路徑切換成包括LNA的路徑,在發(fā)送模式下,LNA從電路中移除。圖中較低的射頻路徑即為接收路徑,由天線到U1上的公共射頻端口,再通過LNA與衰減器到達RF2端口,最后到達巴倫。圖中較高的射頻路徑為發(fā)送路徑,從公共射頻端口進入,從RF1端口到達RF2端口,通過公共射頻端口最后到達天線。
測距算法一般為通過測量標簽和地面基站之間的到達時間、角度、強度等物理量,然后通過相應(yīng)的測距算法計算出標簽與基站的具體距離。常用的測距技術(shù)有AOA(基于信號到達角度)、RSSI(基于信號接收強度)、TOA(基于信號到達時間)等,考慮到測距成本、傳輸距離、環(huán)境條件,選擇TOA測距算法作為本文的測距方法。
TOA算法可分為單邊單向測距和雙向測距,由于單向測距對于時鐘的同步要求較高,因此選擇雙向測距算法,其測距原理如圖7所示。

圖7 單邊雙向測距
在Ta1時刻,設(shè)備A首先向設(shè)備B發(fā)出一個數(shù)據(jù)包,設(shè)備B在Tb1時刻收到數(shù)據(jù)包,等待Treply時刻后,設(shè)備B給A發(fā)送確認消息,此時的發(fā)送時間可計算為Tb2=Tb1+Treply,在設(shè)備A收到數(shù)據(jù)包后記錄此時的時刻值Ta2。由式(1)~(2)可得到電磁波在空中的飛行時間Tprop,兩個設(shè)備間的距離即為飛行時間乘電磁波的飛行速度。
Triybd=Ta2-Ta1
(1)
Triybd=Tb2-Tb1
(2)
(3)
由于設(shè)備A和設(shè)備B使用自己的時鐘,時鐘會存在一定的漂移,以eA、eB分別表示設(shè)備A和B的時鐘漂移(以ppm為單位),則測量的Tprop為:
(4)
然后,測得的飛行時間與實際飛行時間之間的誤差為:
(5)
因為Treply遠遠大于Tprop,則上述公式可以化簡為:
(6)
由此可見當B很長時間之后回復A時,測距的誤差也會增大,如當Treply為2 ms,時鐘漂移為80 ppm時,測得的時間誤差為80 ns,乘以光速,計算出的距離誤差可達到24 m,為了減少時鐘漂移的影響,提出了一種優(yōu)化算法[14],該算法增加了設(shè)備A和設(shè)備B之間的信息傳輸。其基本原理如圖8所示。

圖8 雙邊雙向測距
這種測距算法稱為雙邊雙向測距。首先設(shè)備A在T1時刻將數(shù)據(jù)包發(fā)給設(shè)備B,設(shè)備B在T2時刻收到該數(shù)據(jù)包,在收到該數(shù)據(jù)包后,B等待Treply1的時間發(fā)送確認信息,此時該時刻記為T3,設(shè)備A收到確認信息的時間為T4,A收到確認信息后等待Treply2時刻,再次向設(shè)備B發(fā)送數(shù)據(jù)包,該時間即T4+Treply2記為T5,設(shè)備B在T6時刻接收該數(shù)據(jù)包[15]。
由于:
TROUND1=Treply1+2TPROP
(7)
TROUND2=Treply2+2TPROP
(8)
TROUND1×TROUND2-Treply1×Treply2=
4TPROP+2TPROP×Treply1+2TPROP×Treply2
(9)
TROUND1+TROUND2+Treply1+Treply2=
4TPROP+2Treply1+2Treply2
(10)
電磁波在空中的飛行時間為:
(11)
由于每個獨立設(shè)備有自己的時鐘,考慮到時鐘漂移eA和eB的影響,Tprop的測量值為:
TPROP=
(12)
則可以得到真實值和實際測量值的誤差為:
(13)
化簡可得:
(14)
因為Tprop太小可省略,于是化簡得:
(15)
即:
(16)
從上式可以看出Treply1和Treply2對誤差的影響很小,因此這種算法可以優(yōu)化時鐘漂移帶來的影響[16]。
UWB通信基于SPI通信協(xié)議進行數(shù)據(jù)收發(fā),其工作模式可通過GPIO.5和GPIO.6來決定,選擇模式0,在時鐘的第一個上升沿啟動發(fā)送。表1顯示了UWB幀的一般結(jié)構(gòu),它由包括前導碼(Preamble)和幀定界符的開始(SFD)的同步首部開始,之后PHY首標(PHR)定義該幀的數(shù)據(jù)有效載荷部分的長度和數(shù)據(jù)速率。

表1 UWB通信幀結(jié)構(gòu)
3.2.1 標簽DW1000數(shù)據(jù)收發(fā)
標簽DW1000進行數(shù)據(jù)發(fā)送前要進行一系列配置。首先要對硬件DW1000進行復位,并將SPI通信速率設(shè)置為2 MHZ左右,設(shè)置完成后對DW1000進行初始化,此時將SPI速率設(shè)置為高速模式,并將預定義好的config結(jié)構(gòu)體寫入DW1000完成對其的配置。對于發(fā)送過程,需對寄存器TX_BUFFER(傳輸數(shù)據(jù)緩沖器)、TX_FCTRL(傳輸幀控制)進行設(shè)置,并設(shè)置前導碼監(jiān)測超時時間。將發(fā)送數(shù)據(jù)寫入數(shù)據(jù)寄存器,并配置發(fā)送端參數(shù),啟動發(fā)送后數(shù)據(jù)開始傳輸,等待數(shù)據(jù)傳輸完成,讀取DW1000發(fā)送寄存器狀態(tài),發(fā)送完成將該位置1,然后接收對方返回的確認包,成功接收后,幀計數(shù)加一,將狀態(tài)寄存器的RXFGG標志位和錯誤位清除,并對接收到的數(shù)據(jù)的長度和內(nèi)容進行校驗,對數(shù)據(jù)包發(fā)送時間和確認包接收時間進行記錄。準備發(fā)送二次確認數(shù)據(jù)包,首先設(shè)置二次確認數(shù)據(jù)包的發(fā)送時間T5,將所有的時間戳(T1、T4、T5)寫入二次確認數(shù)據(jù)包中,不斷查詢芯片狀態(tài)直到發(fā)送完成。
3.2.2 基站DW1000數(shù)據(jù)收發(fā)
基站部分在數(shù)據(jù)接收前也需要與標簽端一樣進行前期初始化及芯片配置,當開始接收數(shù)據(jù)時,將DW1000的接收使能打開,檢查SYS_STATUS寄存器的RXFCG和ERR位,來判斷芯片狀態(tài),直到成功接收或者發(fā)生錯誤,讀取DW1000接收寄存器狀態(tài),保證數(shù)據(jù)接收完成,在SYS_STATUS寄存器中清除標志位RXFCG,分別讀取寄存器RX_FINFO和RX_BUFFER來獲得接收到的數(shù)據(jù)長度和接收數(shù)據(jù),判斷所接收到的數(shù)據(jù)是否是初始發(fā)送數(shù)據(jù),如果數(shù)據(jù)正確則獲得初始發(fā)送數(shù)據(jù)的接收時間T2,并將數(shù)據(jù)寫入BUFFER中,將接收狀態(tài)寄存器的值置1清除該位,準備發(fā)送確認數(shù)據(jù)包,首先設(shè)置確認數(shù)據(jù)包的發(fā)送時間T3,其次設(shè)置發(fā)送完成后對方開啟接收的延遲時間、設(shè)置接收超時時間,之后發(fā)送確認數(shù)據(jù)包,重復上述操作,等待二次接收,判斷接收到的數(shù)據(jù)是否為二次確認數(shù)據(jù)包,獲得接收數(shù)據(jù)包時的時間T6,從接收的二次確認數(shù)據(jù)包中可以讀取到T1、T4、T5,至此計算電磁波在空中飛行時間所需的6個時間節(jié)點實現(xiàn)全部接收。程序設(shè)計流程如圖9所示。

圖9 DW1000收發(fā)程序設(shè)計流程圖
對測距系統(tǒng)進行誤差測量,在靜態(tài)環(huán)境下,測量4個基站分別到25個標簽的距離,在東南西北個放置一個基站,為A1,A2,A3,A4,4個基站圍成一個正方形區(qū)域,在區(qū)域內(nèi)布滿25個測試點為T1至T25,將標簽上電,并將基站通過串口連接至上位機,上位機即可實時顯示基站與測試點的距離。4個基站與25個標簽的初始位置如圖10所示。

圖10 4個基站和5個標簽的初始距離
為了能直觀地觀測到測距誤差,將測試得到的100個距離信息文件導入Matlab軟件,通過編寫程序,仿真得出測距誤差的熱度,如圖11所示。

圖11 測距誤差熱度圖
由誤差熱度圖分析可以得到,T11,T12,T14,T15處對應(yīng)的誤差值為0~20 cm,說明這些位置誤差相對較小。面積最大的區(qū)域?qū)?yīng)的誤差為20~40 cm,說明測距誤差大部分分布在20~40 cm。
在與某單位進行的炮彈落地測試實驗時,將該系統(tǒng)作為采集記錄裝置的觸發(fā)系統(tǒng),進行了3次實驗,均完成了對高速攝像機的提前觸發(fā),記錄下完整的炮彈落地爆炸的過程,成功地完成了實驗。實驗設(shè)置距離參數(shù)為300 m以內(nèi)觸發(fā),實驗結(jié)束后,將測試后的距離信息文件進行分析,得到觸發(fā)時基站與炮彈的距離如表2所示。

表2 觸發(fā)時基站與炮彈的距離表
實驗結(jié)果測得觸發(fā)時距離誤差在10 m左右,滿足對高速攝像機提前觸發(fā)的需求。在實際應(yīng)用中,為了防止環(huán)境和人為因素影響精度,應(yīng)將基站天線安裝與地面垂直,遠離墻壁、玻璃、樹木等遮擋物,炮彈上標簽的天線也應(yīng)當露出[17]。
本文設(shè)計了一種基于UWB模塊的無線觸發(fā)系統(tǒng),利用UWB的測距算法精確實現(xiàn)了對記錄裝置的提前觸發(fā),可有效解決記錄系統(tǒng)的記錄數(shù)據(jù)的完整性問題,硬件上直接采用UWB模塊,極大地降低了設(shè)計難度,同時對傳統(tǒng)TOA算法進行改進,消除了UWB的時延問題。進行程序編寫,通過進行實驗測距來驗證整體系統(tǒng)的可行性。通過使用Matlab軟件進行誤差分析,得到誤差熱度圖,可以得到系統(tǒng)的測距誤差為20~40 cm,在實際的靶場測試環(huán)境中得到的觸發(fā)時距離數(shù)據(jù),誤差在10 m左右,進一步驗證了系統(tǒng)的有效性及可靠性。測試結(jié)果表明,該系統(tǒng)誤差小,穩(wěn)定性高,滿足工程需求,具有很強的現(xiàn)實使用價值。