文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.016
中文引用格式: 翟倩倩,唐海峰,馬琨. 基于脈沖星脈沖信號的航天器導航系統[J].電子技術應用,2016,42(9):62-64,68.
英文引用格式: Zhai Qianqian,Tang Haifeng,Ma Kun. The research of spacecraft navigation system based on pulse signal from pulsars[J].Application of Electronic Technique,2016,42(9):62-64,68.
0 引言
脈沖星導航是利用脈沖星穩定的輻射周期特性,在太空中為星際空間飛行器提供位置、速度和時間等導航信息。這是一種新型的導航系統,現階段美國、俄羅斯和歐洲空間局正在研究脈沖星導航的新技術和新方法[1-5]。本文提出的X射線脈沖星導航系統是基于中國科學院西安光機所X射線脈沖星地面模擬系統的實驗平臺完成的,圖1所示為X射線脈沖星地面模擬系統的整體框圖[6,7]。
圖1 X射線脈沖星地面模擬系統框圖
X射線脈沖星模擬光源相當于一種特殊的信號發生器,模擬X射線脈沖星的物理特性,如X射線輻射能譜、能量、脈沖輪廓以及脈沖周期等,為實驗提供模擬的X射線脈沖星。X射線只能在真空中傳輸,圖1所示的真空系統能為X射線光路提供10-5Pa的真空環境。脈沖星的傳播方向是四面八方的,聚焦型(SSD)探測器則相當于凸面鏡的作用把X射線脈沖星聚集起來增強X射線的強度,然后再轉換成電子為后端電子學所用。
1 后端電子學設計及信號處理系統
經過SSD探測器得到電子輸出后,由于輸出信號微弱并不能被數字電路所識別,所以必須經過前置放大、增行后得到光子脈沖到達信號,再把光子脈沖到達信號送入時間測量電路得到此刻脈沖到達的準確時刻,最后通過USB把光子到達時刻送入上位機進行數據處理,使其知道采集到的是哪一顆脈沖星。圖2所示為后端電子學的整體設計流程圖。
圖2 后端電子學設計流程圖
在SSD聚焦型探測器接收到的入射光很微弱時,探測器輸出信號為圖3(a)所示,其中一個脈沖代表一個光子事件的發生。當入射光相對較強時,探測器輸出信號如圖3(b)所示,將會出現脈沖堆積的現象。
(a)光輸入微弱 (b)光輸入較強
圖3 探測器輸出信號
根據實際測得的SSD聚焦型探測器的輸出電子脈沖(圖3(a)中)下降沿約為10 ns左右,上升沿約為400 ?滋s。為了進行后端電路的設計,采用前置放大將電荷信號轉化為電壓信號[7]。圖4所示即為經過前置放大后的電信號輸出。
前置放大后的電信號由圖4可以觀察到存在較長的拖尾,需要對放大輸出信號進行整形[8,9]。整形的主要功能為:提高光子到達的精度,整形能將輸出的單光子脈沖整形成上升時間相同的脈沖信號;提高分辨率,主放對輸出電信號進行濾波,濾除高頻和低頻噪聲,提高信噪比;提高計數率,整形能將脈沖寬度變小,從而提高計數率。圖5所示為經過整形后的電信號輸出,其單光子脈沖的寬度為4 ?滋s的準高斯脈沖。在脈沖高度到達一定的閾值時則表示采集到一個光子事件,在脈沖高度未達到閾值高度時則表示未采集到光子事件。當采集到一個光子事件時則輸入到后端的時間測量電路。
圖4 經過前置放大后的電信號輸出
圖5 整形后的電信號輸出
2 時間測量電路的設計
時間測量電路是整個脈沖星導航的關鍵部分,當接收到一次光子脈沖到達信號時,采集此時刻的光子脈沖到達時間[10,11]。光子脈沖到達時間分為粗時間和細時間。本設計采用Xilinx公司Virtex LX50T進行設計,粗時間即為秒時間及其秒時間以上的時間信號,細時間為一秒以下的時間。細時間又是整個時間測量電路的最重要部分,圖6所示為細時間設計的結構框圖。
圖6 細時間設計結構框圖
2.1 格雷碼設計
該時間測量電路設計的主頻是200 MHz,即時鐘周期為5 ns。首先要利用5 ns周期計數計數到1 s,在FPGA計數中往往有二進制計數和格雷碼計數兩種,這里采用格雷碼計數。格雷碼計數每計數一次只有一位進行變化,所產生的負載小,并且利用格雷碼計數會大大減小數字電路的毛刺現象。
2.2 IODELAY設計
在細時間設計中分為兩個時間段,第一個是5 ns~1 s的時間段,第二個是1 ns~5 ns的時間段。在FPGA設計中無法利用程序語言實現倍頻,通常是直接利用官方的IP核。IP核直接產生所需要的頻率,無法實現計數的功能,而且時間測量電路的時間精度為1 ns,這樣至少需要產生4個不同的頻率,從而增大了FPGA的面積,影響了速度。在航空導航中盡可能提高FPGA速率很有必要,這里采用Xilinx官方提供的IODELAY原語進行設計[12]。IODELAY原語是具有64個tap的環繞延遲單元,每個抽頭的延遲都是經過精密校準的78 ps,延遲時間較穩定。圖7所示為IODELAY原語的RTL視圖。本設計依次設計IODELAY原語中IODELAY的類型為FIXED,反饋時鐘頻率為200 MHz,IODELAY_TYPE參數為0、13、26、38、51實現1 ns~5 ns的計數。
圖7 IODELAY原語RTL視圖
2.3 數據整合
從5 ns計數到1 s需要28 bit才能完成,因此細時間的第一段時間數據位數為28。利用IODELAY實現0~5 ns的計數,其中精度為1 ns,需要3 bit完成IODELAY的計數。最后將粗時間和細時間直接整合得到48 bit的TDC數據。得到該數據后通過USB將其48 bit有效數據送到上位機。為了方便檢測數據的完整性,在有效數據前面添加255,0的頭。圖8所示為整合后的一幀TDC數據,255,0為幀頭,后面48 bit數據為TDC的傳輸數據。
圖8 TDC的數據傳輸格式
3 USB傳輸設計
USB芯片是采用Cypress公司的CY7C68013A完成FPGA與上位機之間的通信。CY68013A內部集成工業標準的8051處理器,全USB吞吐量,基于RAM的架構設計允許無限制的配置和升級,自動處理USB協議大大減少了代碼的復雜度。該芯片具有4片FIFO進行讀寫操作,只需要將TDC數據從FPGA送入到上位機,所以只需要對FIFO進行寫操作即可。在這里選擇第二片FIFO進行操作,并設置USB的傳輸模式為Slave FIFO。圖9所示為FPGA設計USB接口的狀態機,該狀態機是直接由Syplify Pro軟件直接模擬生成的。
圖9 USB接口設計狀態機圖
當檢測到EP2非滿,IDLE狀態跳轉到WADDR_SET狀態設置FIFO的地址;然后直接跳轉到SLWR_LOW狀態設置USB的SLWR接口,表示開始向FIFO寫;完成SLWR設定后跳轉到DATA_WRITE狀態,此狀態是把TDC的數據放置到USB的數據總線上;完成數據放置后跳轉到SLWR_HIGH狀態,表示USB開始進行數據傳輸;當數據傳輸完成后跳轉到WR_HALT狀態掛起;如果不需要再進行傳輸則跳轉會IDLE狀態,否則一直處于WR_HALT自掛起狀態。完成了USB的FPGA接口設計后,把TDC的數據通過USB傳輸到上位機,圖10所示為上位機接收到的數據。TDC的數據是58 bit,USB是8 bit進行傳輸的,這里將對TDC的數據進行增加一定位數后傳輸:time_tdc[63:0]={8'd255,8'd0,tdc_time[45:30],2'd0,tdc_time[29:0]}。此時將把64 bit的time_tdc通過USB傳輸,這樣將傳輸8次。將一次傳輸64 bit的time_tdc作為一幀數據,255,0為這一幀數據的頭,后面48 bit數據為TDC的有效傳輸數據。
圖10 上位機接收到的TDC數據
圖11 單位為納秒的TDC數據
4 數據處理及脈沖輪廓還原
通過USB得到TDC的數據后首先要對數據進行編碼,以圖10的255,0,2,142,23,288,195,142為例。首先要將這一幀的數據轉化為單位為ns的數據,即Data=(2*256+142)*109+23*2563+228*2562+195*256+142。這部分處理是在MATLAB軟件中進行轉換的,圖11所示為數據轉換為納秒為單位后的結果。
在得到圖10所示的TDC數據后就可以利用歷元疊加還原脈沖輪廓。首先將脈沖周期分成m等份,每等份為一個BIN(時間倉),BIN的大小為:?駐?子=T/m。Tp為光子到達時間數據,則光子到達時間、脈沖周期及光子的相位關系可以表示為:
每個光子對應的相位?子n的計算可以表示如下:
其中Txn表示第n個光子到達時間的細時間部分,根據式(1)、式(2)可以得到每個光子對應的相位?子n,將脈沖周期分成m等份,每一個等份為一個BIN,同時對應一個地址,地址范圍可以表示為0~(m-1),則BIN的地址可以表示為:
所有的光子按其在單一脈沖中的相位值進行對齊后累加,各子相位區間的單脈沖事件的直方圖就構成了脈沖星的累積脈沖輪廓。圖12所示為歷元疊加后的波形,其中線①為從NASA下載的B0531標準數據,線②為TDC產生的數據,兩者的相似度達到95.38%。
5 總結
本文設計了X射線脈沖星導航系統的時間測量電路并得到脈沖到達時間。利用中國科學院西安光機所的X射線地面模擬系統對時間測量電路進行了測試,所得到的TDC數據與NASA下載的B0531的數據還原的脈沖輪廓相似度達到95.38%。達到了X射線脈沖星導航的精度要求,對在真實太空中實現脈沖導航起到了一定的參考作用。
參考文獻
[1] SHEIKH S I.The use of variable celestial X-ray sources for spacecraft navigation[D].Maryland:University of Maryland,2005.
[2] 帥平,李明,陳紹龍.X射線脈沖星導航系統原理與方法[M].北京:中國宇航出版社,2009.
[3] SONG J,AN Q,LIU S.A high-resolution time-to-digital converter implemented in field programmable gate arrays[J].Nuclear Science,IEEE Transactions on,2006,53(1):236-241.
[4] DOWNS G S.Interplanetary navigation using pulsating radio sources[R].NASA Technical Report N74-34150,1974:1-12.
[5] GRAVEN P,COLLINS J,SHEIKH S,et al.XNAV for deep space navigation[C].Proceedings of 31st Annual AAS Guidance and Control Conference,2008.
[6] 盛立志.X射線脈沖星信號模擬源及探測器關鍵技術研究[D].西安:中科院西安光機所,2013.
[7] 周峰,吳光敏,趙寶升,等.基于X射線脈沖星導航的模擬調制仿真源的研究[J].物理學報,2013,62(11)572-577.
[8] 黃鈞良.MAMA紫外探測器系統與高增益MCP[J].紅外技術,1997,19(5):39-44.
[9] 蘇弘,周波,李小剛,等.一種小型成形放大與峰保持電路[J].核電子學與探測技術,2004,24(6):268-570.
[10] 鄢秋榮.基于MCP位敏陽極探測器的時間相關單光子計數技術研究[D].北京:中國科學院研究生院,2012.
[11] 李玉忠.高速時間數字轉換器設計與實現[D].長沙:國防科學技術大學,2008.
[12] 張敏.皮秒分辨率的FPGA-TDC技術研究[D].西安:西安電子科技大學,2013.