摘 要:介紹一種針對瞬變光輻射信號探測的數據采集系統。該方案以FPGA為控制處理核心,實現了高性能的數據采集。針對特定目標信號,采用變頻采樣技術,在電路上以變頻存儲的方式實現,降低了設計難度。采用Altera公司的EPF10K20為設計載體,使用VHDL語言對該采集系統的控制邏輯和時序進行了硬件語言描述。該設計方案占用的FPGA資源少,具有實時性好、可靠性高、集成度高和易于移植等特點。
關鍵詞:瞬變光; 變頻采樣; 數據采集; FPGA; 先進先出存儲器
Design of Data Acquisition System for Transient Light Signal
WANG Liang1,2, WEN De-sheng1, ZHAN Jian-ming1,2
(1. Xi’an Institute of Optics and Precision Mechanics, Chinese Academy of Science, Xi’an 710119, China;
2. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)
Abstract: A data acquisition system for transient light signal is presented, which utilizes FPGA as the center of controlling and processing and implements high performance data acquisition. Adaptive-sampling technology is adopted to capture the signal, which is implemented by adaptive-storing in the circuit. Altera′s EPF10K20 is selected as core part to fulfill the hardware design. The control logic and timing sequence are described by the hardware description language VHDL. The design scheme has the features of good real-time performance, high reliability, high integration, easy migration and so on.
Keywords: transient light; adaptive-sampling; data acquisition; FPGA; FIFO
收稿日期:2011-04-07
0 引 言
在瞬變光輻射探測系統中,目標信號波形的實時采集至關重要。根據采集到的數據,可以對目標信號的光能量以及頻譜分布等各種特征參數進行估計。在傳統數據采集系統中,通常采用單片機或DSP作為控制器來控制ADC、存儲器和其他外圍電路工作。而單片機和DSP的各種功能要靠軟件的運行來實現,其執行的效率受到很大限制,軟件的運行時間在整個采樣時間中占很大的比重[1]。近年來,隨著FPGA性能的不斷提升,以FPGA為控制核心進行數據采集和存儲的應用系統方案得到廣泛采納。FPGA具有單片機和DSP無法比擬優勢:FPGA時鐘頻率高,全部控制邏輯由硬件完成,速度快,效率高;形式靈活,易于移植,可以集成外圍控制、譯碼和接口電路[2]。
本文根據瞬變光輻射探測中強背景、弱目標的特點,設計出以FPGA為控制和處理的核心的數據采集方案。該方案采用背景與信號雙重濾波通道,二級程控放大,有效地保證了信號采集質量;同時對目標信號采用變頻存儲,大大降低了對數據存儲與傳輸的要求,保證了采集過程中有較一致的測量精度[3]。
1 系統組成及工作原理
數據采集系統大致可分為三個部分:前級預處理模塊,采樣存儲模塊,FPGA控制模塊,其中前級預處理模塊包括光電轉換器件,有源濾波器組,程控放大電路等。整個系統框圖如圖1所示,光電轉換電路將進入系統的光信號通過探測器轉化為電流信號,然后經跨阻運算放大器轉換為電壓信號。系統設計兩個濾波通道:背景采用低通濾波,信號采用高通濾波。在起始狀態,模擬開關默認選通背景通道,程控放大器設置為背景模式。背景信號經A/D采樣后送入FPGA,進行閾值比較。當檢測到大于閾值的情況時,FPGA對模擬開關進行通道切換,高通濾波器通道選通,同時程控放大器工作模式選擇為信號模式。根據信號前陡后緩的特點,FPGA通過對A/D與FIFO的協同控制,實現數據先密后疏地采集存儲。
2 數據采集系統硬件設計
2.1 前級預處理電路
光電檢測電路中,光電探測器直接關系著系統性能的優劣。為了減小由環境電磁輻射所引起的感生電流的影響,器件適宜選擇陶瓷封裝。另外,探測器的感光面積不能過大,否則會導致暗電流、節電容、上升時間等參數增大,影響探測效果。設計中采用日本濱松公司的S2387硅光二極管,該探測器具有靈敏度高,時間響應快,動態范圍大等特點。電路設計采用零偏置模式,無暗電流,二極管噪聲主要是分流電阻產生的熱噪聲,同時具有最佳的精密度和線性度[4]。高低通濾波器采用有源濾波器,反應速度快,濾除諧波效果好,可以動態的補償無功功率。程控放大器由集成運放與模擬開關組成,通過FPGA控制模擬開關,在運放的輸入端接入不同的電阻實現增益的調整。
2.2 采樣存儲電路
由于目標信號動態范圍很大(約為80 dB), 因此需要選擇寬動態范圍的ADC來實現對信號的采集。采用14 b ADC采樣幅度變化達4個數量級的動態范圍的信號,能滿足系統所要求的高探測靈敏度要求。但是由于A/D轉換器件都存在精度誤差,用高精度的A/D轉換元器件當作低精度的A/D轉換元器件使用可以減小精度誤差[5]。本設計采用ADI公司的16 b AD976A。AD976A低功耗16 b逐次逼近式A/D轉換器,轉換速度為200 KSPS,可選用內部或是外部的2.5 V參考電源。AD976允許16 b一次并行輸出,又可以以兩個8 b的形式輸出。設計中為節省管腳采用雙8 b輸出。
為了保證在不同時鐘域間準確地傳輸數據,數據緩存采用異步FIFO。異步FIFO具有高速、可靠性好等特點,能夠避免不同時鐘間由于相位差異造成數據的誤采樣[6]。設計中采用的IDT7204是IDT72XX系列中的4 096×9 b的CMOS雙口存儲緩存芯片。內部讀、寫指針在先進先出的基礎上進行讀寫,其寫時鐘W和讀時鐘R由外部提供;滿標志(FF)和空標志(EF)控制數據的溢出和空讀,仿真存儲器滿時寫入數據,能方便地進行任意字深和字長的擴展。
3 FPGA控制邏輯設計
數據采集系統以FPGA為核心完成自適應閾值設定,工作模式切換、變頻采樣存儲以及按照接口協議下傳數據。數據采樣和存儲控制流程如圖3所示。
圖3 數據采集與存儲控制流程圖
3.1 自適應閾值設定
自適應閾值的設定是根據當前背景噪聲的大小進行現有閾值進行更新。系統默認的工作狀態是背景檢測模式,當采集到系統所要求的數據個數后,將這些數據求其有效值后乘以一個加權系數(一般情況下是5~10)作為當前的閾值。系統每隔一段時間給FPGA重新賦閾值。當所采集的數據的幅值連續超過當前閾值設定的次數時,此時系統判定當前的背景信號發生,FPGA控制切換相關的電路,啟動相關的電路工作。這樣做的目的是防止高能粒子撞擊光學鏡頭或是光罩,瞬間產生超過當前閾值的能量造成誤觸發。
3.2 變頻存儲的實現
為了減小信號處理的數據量,根據目標信號的特征,可采用變速率存儲技術。盡管所探測的瞬變光輻射信號的最高頻率一般在10 kHz左右[7],根據奈奎斯特采樣定理,采樣頻率只要在20 kHz以上即可以無失真的還原信號,但是所要探測的光輻射信號中有一些關鍵峰值到達時刻最小不到半個毫秒,高速率采樣有助于提高計算峰值到達時刻的精度,同時有利于提高A/D的信噪比。A/D采集系統初始的采樣頻率為200 kHz,每隔32個采樣點,存儲頻率下降50%。
在電路中采用的方法是:A/D轉換器按照固定的轉換頻率進行模擬量到數字量的轉換,通過FPGA控制數據的變速率存儲。其具體的VHDL設計步驟如下:
(1) 實現采樣時鐘的逐次分頻;
(2) 調整逐次分頻的占空比,以防止數據存儲錯誤;
(3) 設計使能信號,實現對每組只存儲32點。
由于系統對目標信號采集時間長度是固定的,故變頻存儲的變頻次數是有限的。初始存儲時間間隔Δt=0.01 ms,其變頻次數不超過16次。故本方案中設計一個16位計數器counter16,對200 kHz采樣時鐘計數。計數器counter16的第0~15位的輸出,即可以實現對200 kHz采樣時鐘的逐次二分頻。但是由于從counter16(1)開始,每個低位輸出時對應著K個有效數據,但存儲的數據只會是最后一個有效數據,這樣可能會造成數據存儲出錯,故需要對counter16(1)~counter16(15)進行占空比調整。將占空比從1∶1調整為1∶(2K-1),其中K為整數(K=2~32 768)。調整占空比VHDL的思路為設計一個16位的counter16_v計數器,將counter16的相應位進行相與后賦給相應的counter16_v。
由于每組只存儲32個數據,因此對應每組還要設計相應的16 b使能信號dcnt。方法是對clk_200K計數,存儲開始后,開始64個clk_200K時鐘將第一組數據使能信號dcnt(0)置為高電平,然后保持低;接著對128個clk_200K時鐘將第二組數據使能dcnt(1) 置為高電平,然后保持低。按照這種方法可將16個使能信號從dcnt(0)~dcnt(15)設置好。變頻存儲的使能頻率為ad_clk。
這里給出基于Altera公司的FPGA Flex10K系列的EPF10K20TC144-3。圖5為變頻存儲時,采樣頻率clk_200K與其他信號關系及其時序波形。系統先以默認的采樣頻率進行采樣,當識別檢測模塊判定信號發生時(siggen變為高電平),開始輸出經過變頻的采樣數據,每隔32點,存儲頻率下降50%,直到系統所要求的數據點數為止,采集到波形如圖6所示。當采樣的數據個數符合系統的要求后siggen信號變為低電平,ens屏
蔽采樣的數據。等到FIFO清空后,ens重新變為高電平,恢復默認的采樣時鐘,重新開始采樣、識別和存儲工作。
4 結 論
根據瞬態光輻射探測系統的整體要求,本文提出了基于目標信號特性基礎上的變頻采集方案,以FPGA為核心控制和處理單元,采用模塊化設計思想,編程實現對數據采樣和存儲的控制。按照工程要求,完成了編程、仿真和外圍硬件電路的搭建,實現了對瞬變光輻射信號的數據采集。該方案有效降低了數據采集系統對于存儲容量的要求,同時也減小了對數據處理量,對于其他數據存儲容量有要求的數據采樣系統具有很好的借鑒作用。
參 考 文 獻
[1]徐海軍,葉衛東.FPGA在高性能數據采集系統中的應用[J].計算機技術與應用,2005,25(1):40-43.
[2]梁義濤,汶德勝,王宏,等.基于FPGA瞬變微光能量探測系統的數據采集和存儲設計[J].電子技術應用,2006(3):46-48.
[3]馬明建,周長城.數據采集與處理技術[M].西安:西安交通大學出版社,1997.
[4]常天英,賈磊,隋美清,等.光電二極管在光柵解調電路中的應用[J].儀器技術與傳感器,2007(12):44-45.
[5]廖鉅鋒.改進雙積分A/D轉換技術[J].儀表技術與傳感器,2004(9):53-54.
[6]金明,羅飛路,朱霞輝,等.FIFO芯片在高速系統中的應用[J].電子技術應用,1998(3):61-63.
[7]舒雅,歐陽嫻,白永林,等.爆炸閃光脈沖波形實時采集與存儲系統[J].光子學報,2009,38(8):2112-2116.