虞 年 徐玉朋 霍 嘉 陳 勇 崔葦葦 李 煒 張子良 韓大煒王于仨 陳 燦 祝宇軒,3 趙曉帆
1(中國科學院高能物理研究所粒子天體物理中心 北京 100049)
2(中國科學院大學物理科學學院 北京 100049)
3(吉林大學物理學院 長春 130012)
增強型X射線時變與偏振探測(enhanced X-ray Timing and Polarimetry,eXTP)空間天文臺的能譜測量X射線聚焦望遠鏡陣列(Spectroscopy Focusing Array,SFA)采 用 硅 漂 移 探 測器(Silicon Drift Detector,SDD)作為焦平面探測器,它主要用于宇宙中致密星體的能譜和時變測量[1]。SDD是一種通過內光電效應探測X射線的半導體器件,它的輸出電容很小且獨立于探測器面積,因此噪聲小、能量分辨率高,常用作高計數(shù)率、高能量分辨的能譜測量[2]。由于SDD是靜電敏感器件,造價又昂貴,在前期電子學調試中直接使用SDD損壞風險很高,另外也需要對讀出電子學死時間和信號堆積導致的計數(shù)損失進行校正,直接使用放射源不僅會增加測試人員的輻照風險,而且不便于對計數(shù)率在大范圍內進行精確控制。通常會選用信號發(fā)生器來代替探測器做能譜系統(tǒng)的測試,但是實驗室常用的函數(shù)發(fā)生器(如Keysight Technologies的33210A)只能產(chǎn)生周期性的或者有限狀態(tài)的可編程脈沖[3]。核儀器專業(yè)廠家BNC(Berkley Nucleonics Corporation)生產(chǎn)的DB-2隨機脈沖發(fā)生器可產(chǎn)生隨機脈沖,但只能單通道輸出且脈沖最小時間間隔大于 1.4 μs[4],這對于多通道、高計數(shù)率的能譜系統(tǒng)都不是很適合。最近的一個設計能夠產(chǎn)生在幅度和時間上都是隨機分布的脈沖,但是用偽隨機數(shù)作為種子產(chǎn)生的其他分布[5]。
本文開展針對SDD輸出脈沖的研究,對隨機脈沖的產(chǎn)生機理進行了理論分析和驗證,并對信號模擬器的其他關鍵參數(shù)做了詳細測試。
eXTP的核心科學目標要求SFA能有效采集和處理亮度達到15倍蟹狀星云(Crab Nebula)的光子數(shù)據(jù),對應于電子學必須每秒處理約105個事例,且要求系統(tǒng)死時間小于5%@1Crab,信號堆積概率小于1%@1Crab。SDD能譜系統(tǒng)的死時間主要是由后端讀出電路的成形時間和數(shù)模轉換時間決定的,所以需要利用SDD信號模擬器測試后端讀出電子學在高計數(shù)率下的特性。
SDD信號模擬器的設計需要滿足三個方面的需求:第一,模擬器輸出信號的時間間隔需要滿足指數(shù)分布。放射源中每個放射性核子的衰變概率相同且相互獨立,因此在固定時間間隔內發(fā)生衰變的放射性核子數(shù)目服從泊松分布??梢宰C明泊松分布中先后相鄰事件的時間間隔服從指數(shù)分布[6]。第二,模擬器的輸出波形要與SDD前級放大電路的輸出波形一致。SDD輸出的電流脈沖經(jīng)由電荷靈敏放大器轉換為電壓信號輸出,增益約為5 mV?keV-1,所以對應0.5~10 keV能段的光子,電荷靈敏放大器輸出2.5~50 mV的電壓,同時為了研究讀出電子學系統(tǒng)的積分非線性,信號模擬器輸出脈沖電壓在滿足上述電壓范圍的同時能夠連續(xù)可調。傳統(tǒng)的前級電路采用自復位電荷靈敏放大器結構,它輸出的是指數(shù)衰減波形,但在高計數(shù)率應用場合為了克服自復位電荷靈敏放大器能量分辨隨著計數(shù)率增大而下降的缺點而采用脈沖復位的電荷靈敏放大器結構[7],復位周期依賴于入射光子的計數(shù)率和探測器的制冷溫度,一般為幾毫秒到幾百毫秒。脈沖復位前放輸出波形是一個一個疊加的階躍信號,上升時間取決于入射光子與探測器的作用位置,一般為10~100 ns[8]。圖 1展示了兩種放大器的輸出波形。第三,SDD信號模擬器的輸出計數(shù)率必須精確可知、可大范圍調節(jié)(1~100 ks-1)且不隨時間發(fā)生漂移。
圖1 不同電荷靈敏放大器的輸出波形示意圖Fig.1 Output waveforms of different type charge sensitive amplifiers
現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是一種可重構的硬件系統(tǒng),具有豐富的邏輯資源、布線資源和引腳資源,可完成非常復雜的數(shù)字邏輯設計。本文采用Xilinx Spartant-6系列的FPGA完成SDD信號模擬器數(shù)字部分的設計,采用8 bit高速數(shù)模轉換器(Digital to Analog Converter,DAC)和運算放大器完成模擬部分的設計。其原理如圖2所示,在FPGA內部由振蕩環(huán)模塊和后處理模塊產(chǎn)生均勻分布的真隨機數(shù),然后通過伯努利試驗模塊產(chǎn)生時間間隔服從指數(shù)分布的{0,1}比特流序列,該序列經(jīng)過計數(shù)器產(chǎn)生DAC的數(shù)字輸入量,從而產(chǎn)生設計所需的波形。
圖2 SDD信號模擬器原理框圖Fig.2 Schematic diagram of the SDD signal emulator
獨立時鐘信號間總會存在隨機性抖動和漂移現(xiàn)象,可以利用抖動信號和相位漂移作為真隨機數(shù)發(fā)生器的噪聲源。在FPGA中采用奇數(shù)個反相器組成一個閉合環(huán)路就可以得到一個高頻的振蕩環(huán),振蕩環(huán)輸出之間存在著時鐘抖動以及相位漂移,如果將長度相同的多組振蕩環(huán)輸出相異或就可以產(chǎn)生一個噪聲源,輸出隨機脈沖序列。對這些隨機脈沖進行采樣后需要進一步處理,以消除溫度、電壓等外界環(huán)境因素導致的偏置,即出現(xiàn)連續(xù)的0或1。采用一種具有較強糾錯能力且易于實現(xiàn)的循環(huán)編碼方式進行消偏處理,在FPGA中可以通過對線性反饋移位寄存器(Linear Feedback Shift Register,LFSR)的輸出進行篩選來實現(xiàn)[9]。后處理模塊每個時鐘周期只能產(chǎn)生1個隨機比特,本設計需要產(chǎn)生多比特均勻分布的隨機數(shù),可以采用多組噪聲源并行采樣的方案,利用Spartan-6系列FPGA豐富的邏輯資源很容易就可以實現(xiàn)這個目標。為了進一步降低功耗,需要優(yōu)化振蕩環(huán)的組數(shù),文獻[10]采用59組振蕩環(huán),本設計的振蕩環(huán)組數(shù)降低到20組。
能夠產(chǎn)生均勻分布的隨機數(shù)是本設計的關鍵,必須進行嚴格的檢驗。將產(chǎn)生的隨機數(shù)序列通過USB上傳到計算機中并采用美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)提供的隨機數(shù)測試程序[11]對其進行統(tǒng)計性分析。NIST隨機數(shù)測試原理是根據(jù)完全隨機假設得出一個標準分布模型,用實際統(tǒng)計數(shù)據(jù)與標準分布模型做比較,來檢驗其隨機性。本文對NIST的每種測試結果均進行了分析比較。將采集得到1 000 Mbits數(shù)據(jù)進行NIST隨機性檢驗,數(shù)據(jù)被均分成1 000個樣本,表1給出了NIST隨機數(shù)測試程序的測試結果,根據(jù)NIST隨機數(shù)程序應用手冊[12]的描述,對于1 000個樣本的隨機序列檢測,P-value大于0.0001,Proportion 大 于 980/1000(Random Excursions和 RandomExcursionsVariant的Proportion大于573/587)即通過隨機性測試。本次測試的數(shù)據(jù)全部通過NIST各項隨機性測試,表明隨機數(shù)生成模塊產(chǎn)生的數(shù)據(jù)性能良好。
表1 NIST隨機數(shù)測試程序測試結果Table 1 Test results of the NIST random numbers suit
產(chǎn)生時間間隔服從指數(shù)分布的方法有很多種,其中反函數(shù)方法(直接抽樣法)是比較常用的一種。文獻[13]采用了反函數(shù)方法產(chǎn)生所需的隨機數(shù),但是這種方案在純硬件電路上實現(xiàn)起來非常消耗內存資源。本文采用伯努利試驗來產(chǎn)生時間間隔服從指數(shù)分布的隨機脈沖,該方案在FPGA內部實現(xiàn)起來十分簡單。其基本原理是利用均勻分布的隨機數(shù)與預先設定集合中的元素進行比對,如果隨機數(shù)屬于該集合則試驗結果為真(輸出高電平1),反之試驗結果為假(輸出低電平0)。假設隨機數(shù)有M比特,預設集合中的元素個數(shù)為l,則試驗為真的概率p=l/2M。若連續(xù)兩次試驗的時間間隔為t,那么平均脈沖計數(shù)率n=l/(2M?t),本設計中取M=16,l是可編程控制的,取值范圍為1~29,t=9.6 ns,則輸出脈沖平均計數(shù)率為1.6~813.8 ks-1。
當X射線與SDD靈敏區(qū)發(fā)生相互作用之后在讀出級產(chǎn)生脈沖電流,脈沖電流在電荷靈敏前放的積分電容作用下產(chǎn)生階躍電壓輸出。SDD信號模擬器輸出波形需要滿足上述波形,即輸出一個一個時間間隔服從指數(shù)分布的小階躍信號,這些小階躍信號疊加到一定幅值時就發(fā)生復位。本文實現(xiàn)該波形的方法是每當伯努利試驗輸出為真時,F(xiàn)PGA內部8位計數(shù)器就增加一次,然后把計數(shù)器的結果當作DAC的數(shù)字輸入量更新DAC的輸出,當計數(shù)器的值達到設定值時就產(chǎn)生清零,以此反復進行。從DAC中輸出的模擬信號需要進行信號調理以滿足后續(xù)電子學的輸入要求。測試得到的波形如圖3所示。
圖3 SDD信號模擬器輸出波形Fig.3 Output waveform of the SDD signal emulator
將SDD信號模擬器輸出脈沖的平均計數(shù)率設置為572.2 ks-1,為了保證在高計數(shù)率下數(shù)據(jù)傳輸不丟包,采用256 MB的DDR3作為數(shù)據(jù)采集FPGA的高速緩存,然后將緩存數(shù)據(jù)通過USB2.0接口芯片傳送到上位機。一次測試記錄了約380萬個脈沖的到達時刻,作出時間間隔分布圖(圖4),每道的寬度設定為 96 ns,采用f(Δt)=Ae--nΔt負指數(shù)函數(shù)進行擬合,其中:Δt是時間間隔變量,擬合范圍是0~14 400 ns。然后對擬合結果進行了卡方檢驗,由擬合優(yōu)度χ2/ndf=155.19/147可知實驗得到的時間間隔服從指數(shù)分布。
圖4 時間間隔分布和指數(shù)擬合結果Fig.4 Time interval distribution and exponential fitting result
為了得到SDD信號模擬器設定計數(shù)率和實際輸出計數(shù)率的關系以及給出其誤差模型做了以下測試:首先分別給SDD信號模擬器設置了三個典型計數(shù)率 11.1 ks-1、104.9 ks-1和 521.3 ks-1,然后對每種情況下的輸出計數(shù)率進行多次測量:11.1 ks-1情況下測試了14 000組,每組測試的脈沖總數(shù)為1 000個,104.9 ks-1和521.3 ks-1情況下各自測試了16 000組,每組測試的脈沖總數(shù)為1 000個。對每種情況下測得的計數(shù)率進行分布統(tǒng)計,再由高斯擬合得到計數(shù)率均值和標準差。實驗結果如圖5所示,對實驗結果進行以下討論:對于真實核脈沖事件,其平均計數(shù)率的相對誤差(Relative Standard Deviation,RSD)為[14]:
式中:N是在一次測試中的脈沖總數(shù)。對于本次實驗,每組測試的脈沖總數(shù)均為1 000,那么可以得到計數(shù)率相對誤差的理論值vtheoretical=1/ 1 000×100%≈3.16%,三種情況下測試所得的相對誤差與理論值一致,說明SDD信號模擬器輸出計數(shù)率誤差和實際核脈沖計數(shù)率統(tǒng)計誤差模型一致。三種情況下擬合所得的平均計數(shù)率和設定值也是一致的。所以可認為SDD信號模擬器設定計數(shù)率就是實際輸出計數(shù)率,且相對誤差滿足式(1)。
圖5 三種預設計數(shù)率下測得的輸出計數(shù)率分布和高斯擬合結果Fig.5 The measured output counting rate distributions and Gaussian fitting results under three preset counting rates
首先將SDD信號模擬器輸出脈沖平均計數(shù)率設置為572.2 ks-1,然后測試24 h內平均計數(shù)率隨時間的變化,每次測試時記錄的脈沖總數(shù)為100萬個。測試結果如圖6所示,中間的虛線表示設定的平均計數(shù)率,上下兩條虛線代表±3σ的誤差線,誤差σ根據(jù)式(1)求得。測試所得的8個數(shù)據(jù)點分布在設定的平均計數(shù)率周圍,且均在±3σ范圍之內,表明SDD信號模擬器的輸出計數(shù)率非常穩(wěn)定,可以滿足實驗需求。
圖6 計數(shù)率隨時間的變化情況Fig.6 The change of counting rate with time
本文以eXTP-SFA項目為背景,設計一款用來測試SDD讀出電子學性能的SDD信號模擬器。該信號模擬器采用FPGA作為核心器件,輸出計數(shù)率范圍為1.6~813.8 ks-1,輸出脈沖電壓范圍為2.5~50 mV,脈沖最小時間間隔為9.6 ns。該模擬器利用多組振蕩環(huán)相異或輸出均勻分布的真隨機數(shù),再經(jīng)過后處理電路進行消偏處理,將隨機數(shù)進行NIST隨機性測試并通過了測試。對模擬器輸出脈沖的時間間隔進行了測試,測試結果表明時間間隔完全服從指數(shù)分布;對模擬器的輸出計數(shù)率及其時間穩(wěn)定性進行了測試,測試結果表明該模擬器的輸出計數(shù)率與預設計數(shù)率完全一致,并得到了計數(shù)率的相對誤差模型,并且該模擬器能夠長時間穩(wěn)定運行。目前SDD信號模擬器已經(jīng)用于SFA讀出電子學的調試當中。