賈世海,李沛玉,胡守?fù)P,陳 雷,周 靜,趙明銳,智 宇,劉雯迪,張昀昱,于偉翔,李笑梅
(中國(guó)原子能科學(xué)研究院 核數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,北京 102413)
微結(jié)構(gòu)氣體探測(cè)器是一種位置分辨能力優(yōu)異且計(jì)數(shù)率高的探測(cè)器,Micromegas(微網(wǎng)探測(cè)器)和GEM(氣體電子倍增器)是其發(fā)展的兩個(gè)主流方向,廣泛應(yīng)用于各類不同的大型物理實(shí)驗(yàn)項(xiàng)目的徑跡室來(lái)進(jìn)行粒子位置等測(cè)量,是未來(lái)探測(cè)器發(fā)展的方向之一。微結(jié)構(gòu)氣體探測(cè)器的讀出一般是條讀出形式,在常用尺寸下,往往需要幾百甚至上千的電子學(xué)通道進(jìn)行信號(hào)讀出。如果采用傳統(tǒng)的分立式元器件構(gòu)成的前放電路,不僅會(huì)導(dǎo)致設(shè)計(jì)非常復(fù)雜,體積龐大,而且眾多元件之間的一致性也難以保證。所以,使用能將多通道集成的前放芯片進(jìn)行前置放大是目前此類探測(cè)器電子學(xué)系統(tǒng)的最優(yōu)選擇。
APV25芯片采用深亞微納米CMOS工藝生產(chǎn)[1],是一款多通道(128通道)模擬前放成形芯片,該芯片最初計(jì)劃作為CERN的緊湊繆子線圈中硅微條探測(cè)器的多路讀出芯片[2]。APV25芯片具有很高的集成度,各通道都有一套完整的前放、濾波和峰保持電路。APV25芯片可對(duì)每個(gè)通道進(jìn)行最多31個(gè)采樣點(diǎn)的連續(xù)波形采樣,最小采樣間隔25 ns。APV25的成形時(shí)間為50 ns,微結(jié)構(gòu)氣體探測(cè)器典型的信號(hào)長(zhǎng)度為10~100 ns[3],因此基于APV25芯片的電子學(xué)適用于微結(jié)構(gòu)氣體探測(cè)器實(shí)驗(yàn)系統(tǒng)。APV25前端卡由意大利國(guó)家核物理研究院(INFN)設(shè)計(jì)[4],該前端卡為板載的APV25芯片提供工作電源以及輸入端保護(hù)等基本功能。
數(shù)據(jù)采集軟件基于Qt框架編寫。Qt框架是1991年由Qt Company開發(fā)的具有跨平臺(tái)特性的C++圖形用戶界面(GUI)應(yīng)用程序開發(fā)框架,具有強(qiáng)大的跨平臺(tái)特性以及靈活易用的組件特性[5]。其使用C++語(yǔ)言進(jìn)行開發(fā),不僅有利于針對(duì)不同應(yīng)用場(chǎng)景由用戶進(jìn)行相應(yīng)的修改與拓展,而且為對(duì)接ROOT以及HDF5等同樣使用C++ API的實(shí)用軟件或文件標(biāo)準(zhǔn)提供了便利。
本文在已開發(fā)的512路多通道高速讀出系統(tǒng)[6]的基礎(chǔ)上,對(duì)多個(gè)后端板進(jìn)行集成,通過(guò)改進(jìn)原有的電子學(xué)系統(tǒng)結(jié)構(gòu),開發(fā)新的數(shù)據(jù)采集軟件GeoAPV,實(shí)現(xiàn)擁有2 048路電子學(xué)通道的APV25數(shù)據(jù)采集系統(tǒng),為微結(jié)構(gòu)探測(cè)器提供一套完整高效的讀出方案。軟件基于Qt可視化編程框架,使用C++進(jìn)行編寫,可運(yùn)行于Windows及Linux系統(tǒng)。
本文開發(fā)的APV25數(shù)據(jù)采集系統(tǒng)的硬件部分主要由計(jì)算機(jī)、交換機(jī)、APVDS電子學(xué)數(shù)字化板和APV25電子學(xué)前端卡構(gòu)成,如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)Fig.1 Overall structure of system
APV25數(shù)據(jù)采集系統(tǒng)通過(guò)HIROSE FX10系列140引腳連接器與探測(cè)器相連。10 cm×10 cm微結(jié)構(gòu)氣體探測(cè)器通常需要128通道電子學(xué)來(lái)進(jìn)行條讀出,則連接1塊APV25前端卡即可。APV25前端卡使用HDMI物理接口,通過(guò)標(biāo)準(zhǔn)HDMI 2.0 Type A線纜連接至APVDS數(shù)字化板。此線纜傳輸APV25所輸出的模擬測(cè)量數(shù)據(jù)和APV25控制信號(hào),并為前端卡供電。數(shù)據(jù)到達(dá)后端板后,通過(guò)ADS5242 12位模數(shù)轉(zhuǎn)換芯片(德州儀器)進(jìn)行轉(zhuǎn)換,再由賽靈思Spartan-6系列FPGA芯片進(jìn)行數(shù)據(jù)處理,最后通過(guò)千兆以太網(wǎng),由千兆交換機(jī)連接至計(jì)算機(jī)以進(jìn)行數(shù)據(jù)交互。
外部APV TTS時(shí)鐘板可生成統(tǒng)一的50 MHz外部時(shí)鐘信號(hào),并將其同步分發(fā)給各子系統(tǒng)板,從而避免產(chǎn)生不同的后端板時(shí)鐘信號(hào)不統(tǒng)一問(wèn)題。每個(gè)后端板可控制4塊前端板共512電子學(xué)通道的數(shù)據(jù)并進(jìn)行數(shù)字化以及數(shù)據(jù)打包等處理操作。各后端板都有獨(dú)立的IP地址,通過(guò)交換機(jī)來(lái)與計(jì)算機(jī)建立通信。數(shù)據(jù)采集軟件支持最多4塊APVDS后端板同時(shí)工作,在此模式下可采集16塊前端卡共2 048路電子學(xué)信號(hào)。在單塊APVDS后端板即512路通道下,每次采樣1個(gè)點(diǎn)能達(dá)到110 kHz的系統(tǒng)觸發(fā)率。
APVDS數(shù)字化板采用XC6SLX75 FPGA芯片。FPGA是數(shù)字化后端板的核心,負(fù)責(zé)后端板各子模塊的控制與計(jì)算機(jī)的通信以及對(duì)ADC原始數(shù)據(jù)的處理。在接收到來(lái)自ADC的數(shù)據(jù)后,F(xiàn)PGA內(nèi)部會(huì)先將數(shù)據(jù)由串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),結(jié)合對(duì)應(yīng)事件的觸發(fā)信息與計(jì)數(shù)信息輸入緩存區(qū),最后由FPGA內(nèi)的千兆全雙工以太網(wǎng)介質(zhì)訪問(wèn)控制層將緩存內(nèi)的數(shù)據(jù)發(fā)送至計(jì)算機(jī)。APVDS數(shù)字化板功能層次如圖2所示。
圖2 數(shù)字化板功能層次Fig.2 Function structure of readout board
APVDS后端板還有許多其他的功能,包括生成內(nèi)部時(shí)鐘、進(jìn)行信號(hào)電平的轉(zhuǎn)換和控制以太網(wǎng)物理層芯片RTL8211EG等。單個(gè)后端數(shù)字化板已可獨(dú)立對(duì)4塊APV25前端板數(shù)據(jù)進(jìn)行相應(yīng)的處理,且預(yù)留了編程接口與指示燈按鈕以方便硬件調(diào)試與糾錯(cuò)。
為更加準(zhǔn)確而且靈活地實(shí)現(xiàn)數(shù)據(jù)采集,本文自主開發(fā)了GeoAPV數(shù)據(jù)采集軟件。因?yàn)槟壳疤綔y(cè)器數(shù)據(jù)分析主要采用ROOT@CERN進(jìn)行,且C++語(yǔ)言貼近底層物理層面,所以使用C++進(jìn)行項(xiàng)目開發(fā)可盡可能兼顧軟件速度與應(yīng)用的靈活性。采用基于Qt框架的圖形化用戶界面不僅可大幅加快探測(cè)器系統(tǒng)的調(diào)試速度,而且更能有效兼容現(xiàn)有在Linux系統(tǒng)下的分析軟件[7]。
GeoAPV充分利用了計(jì)算機(jī)多線程處理能力,用戶在使用時(shí)應(yīng)盡量用處理器邏輯核心數(shù)量在10以上的高性能計(jì)算平臺(tái)。在高計(jì)數(shù)率情形下,千兆以太網(wǎng)的高速數(shù)據(jù)收發(fā)對(duì)存儲(chǔ)提出更高要求,應(yīng)盡可能使用固態(tài)硬盤或?qū)懰俾试? Gb/s以上的磁盤陣列做數(shù)據(jù)存儲(chǔ)介質(zhì),以避免影響數(shù)據(jù)采集。
GeoAPV軟件整體采取多線程設(shè)計(jì)以實(shí)現(xiàn)大量數(shù)據(jù)的實(shí)時(shí)解析和結(jié)果顯示,軟件設(shè)計(jì)采取模塊化的設(shè)計(jì)思想,整體包含3個(gè)主要模塊:UDP通信模塊、數(shù)據(jù)處理模塊和主用戶界面,如圖3所示。
圖3 軟件模塊結(jié)構(gòu)Fig.3 Software module structure
各模塊之間使用Qt框架內(nèi)的信號(hào)槽結(jié)構(gòu)來(lái)進(jìn)行可控的數(shù)據(jù)傳遞。為兼容現(xiàn)有的數(shù)據(jù)分析腳本,獲取的數(shù)據(jù)將會(huì)以原數(shù)據(jù)結(jié)合采樣方式等信息加以打包并保存。用戶對(duì)前端卡和后端板的所有各項(xiàng)命令操作均可通過(guò)圖形用戶界面進(jìn)行,大幅提高了使用效率及易用性。
計(jì)算機(jī)與后端板的通信基于千兆以太網(wǎng)的UDP(User Datagram Protocol)通信,而UDP通信在接收方緩存不足時(shí)將導(dǎo)致數(shù)據(jù)報(bào)丟失,因此引入了累積確認(rèn)機(jī)制:在接收1組8個(gè)數(shù)據(jù)報(bào)后,UDP模塊會(huì)發(fā)送確認(rèn)信息,來(lái)確保計(jì)算機(jī)不會(huì)因接收緩沖區(qū)滿而丟失數(shù)據(jù)。在實(shí)際使用中,如果每次僅接收1組數(shù)據(jù)報(bào),等待過(guò)程會(huì)大幅降低傳輸速度。所以在圖4所示的收發(fā)流程中,UDP模塊會(huì)1次發(fā)送9個(gè)確認(rèn)請(qǐng)求信息,且在等待接收全部數(shù)據(jù)的過(guò)程中處理其他用戶事件,來(lái)最大化傳輸速度。
每個(gè)UDP模塊對(duì)應(yīng)唯一的IP地址,即1個(gè)APVDS后端板,獲得的數(shù)據(jù)報(bào)被輸送到數(shù)據(jù)處理模塊進(jìn)行處理。UDP模塊的錯(cuò)誤處理機(jī)制允許用戶決定發(fā)生等待超時(shí)錯(cuò)誤時(shí)是否自動(dòng)重連,并在數(shù)字化板工作異常時(shí)可及時(shí)發(fā)送出錯(cuò)信息以避免無(wú)效數(shù)據(jù)的產(chǎn)生。
圖4 UDP收發(fā)流程Fig.4 UDP communication process
計(jì)算機(jī)接收到的數(shù)據(jù)報(bào)是由FPGA打包并發(fā)送的,包含相應(yīng)的事件時(shí)間、APV采樣點(diǎn)以及12位ADC輸出的信號(hào)數(shù)據(jù)等信息。在后端板連接不同數(shù)量(1、2或4塊)的前端卡時(shí),數(shù)據(jù)格式也會(huì)有所不同。如果欲對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)的顯示分析,必需1個(gè)高效且能對(duì)原始數(shù)據(jù)進(jìn)行解析的模塊來(lái)進(jìn)行實(shí)時(shí)解析。
當(dāng)接收到數(shù)據(jù)報(bào)時(shí),本數(shù)據(jù)處理模塊會(huì)先對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn),然后提取其中的時(shí)間及采樣模式等信息并將ADC數(shù)據(jù)解析成為Qt框架內(nèi)部的二維向量整數(shù)類型,以供實(shí)時(shí)顯示。模塊內(nèi)部引入了HDF5的存儲(chǔ)接口,用戶可根據(jù)需求使用HDF5格式存儲(chǔ)。
GeoAPV主界面使用Qt Designer軟件設(shè)計(jì),其主界面如圖5所示。
圖5 軟件主界面Fig.5 Main interface of software
界面主要由控制臺(tái)信息欄、控制欄以及波形顯示區(qū)域構(gòu)成。信息欄會(huì)顯示與程序相關(guān)的過(guò)程信息以及錯(cuò)誤信息,控制欄能直接調(diào)節(jié)電子學(xué)系統(tǒng)的采樣模式等狀態(tài),波形顯示會(huì)根據(jù)APVDS數(shù)量相應(yīng)調(diào)整子窗口數(shù)量。界面還預(yù)留了能譜窗口欄,可根據(jù)具體需要啟用能譜分析功能。
波形顯示使用QCustomPlot圖形庫(kù),實(shí)現(xiàn)了豐富的交互方式。由于在實(shí)際使用中,上千條波形曲線的刷新會(huì)占用大量CPU資源,普通屏幕刷新率在60 Hz,故將界面刷新率設(shè)置為10、20、50 Hz 3種可選,以適用不同的計(jì)算平臺(tái)和測(cè)量場(chǎng)景。
控制欄能對(duì)系統(tǒng)工作方式進(jìn)行調(diào)整,在1~31個(gè)連續(xù)采樣數(shù)之間進(jìn)行選擇,并可工作在峰采樣、反卷積或多重模式下。
系統(tǒng)測(cè)試使用由8塊APV前端卡和2塊運(yùn)行在512通道模式下的APVDS數(shù)字化板搭建的數(shù)據(jù)采集系統(tǒng),如圖6所示。
圖6 實(shí)際采集系統(tǒng)Fig.6 Actual acquisition system
在1 024通道下使用連續(xù)的內(nèi)觸發(fā)信號(hào)對(duì)噪聲基線進(jìn)行了測(cè)量,以75 ns間隔連續(xù)采樣24個(gè)點(diǎn),實(shí)時(shí)顯示效果如圖7a、b所示。圖7a、b分別為兩個(gè)不同的后端板數(shù)據(jù),不同顏色的線條對(duì)應(yīng)不同的APV25前端卡,共8塊前端卡,圖中虛線為光標(biāo);圖7c為原數(shù)據(jù)采集系統(tǒng)數(shù)據(jù),僅包含單塊APV25前端卡256通道的采樣數(shù)據(jù),連續(xù)采樣數(shù)為30,沒有光標(biāo),并進(jìn)行了縮放,圖7c中ADC值0點(diǎn)對(duì)應(yīng)圖7a、b中的2 048通道位置。可看到,噪聲電平與形狀均與現(xiàn)有系統(tǒng)結(jié)果一致。
圖7 實(shí)測(cè)噪聲波形 Fig.7 Measured waveform of noise signal
為保證測(cè)試系統(tǒng)工作時(shí)的穩(wěn)定性和觸發(fā)率等性能,在高性能計(jì)算平臺(tái)下,對(duì)單個(gè)噪聲信號(hào)采用連續(xù)的內(nèi)觸發(fā)信號(hào)連續(xù)采樣31個(gè)點(diǎn),并以10 Hz刷新率實(shí)時(shí)測(cè)試2 h(不存儲(chǔ)原始數(shù)據(jù))。測(cè)試中計(jì)算機(jī)以太網(wǎng)速率達(dá)715 Mb/s,觸發(fā)率為1.70 kHz,系統(tǒng)能穩(wěn)定進(jìn)行數(shù)據(jù)采集以及分析顯示。對(duì)其中采樣開始600 s內(nèi)的計(jì)算機(jī)與APVDS以太網(wǎng)數(shù)據(jù)傳輸速率進(jìn)行統(tǒng)計(jì),結(jié)果如圖8所示。
從圖8可看出,在采樣開始的600 s中,數(shù)據(jù)傳輸速度分別穩(wěn)定在610 Mb/s和710 Mb/s附近,且沒有下降趨勢(shì),計(jì)算得到1 024通道下的傳輸速率數(shù)據(jù)相對(duì)標(biāo)準(zhǔn)偏差(RSD)為1.7%。
圖8 連續(xù)觸發(fā)采樣時(shí)以太網(wǎng)數(shù)據(jù)速率變化Fig.8 Ethernet transmission rate in continuous sampling
為研究硬盤寫入數(shù)據(jù)速率,本文在256、512、1 024這3種通道配置下分別進(jìn)行了600 s的測(cè)試,并與之前未儲(chǔ)存數(shù)據(jù)時(shí)的以太網(wǎng)速率進(jìn)行了對(duì)比,結(jié)果列于表1。
表1 硬盤寫入速率統(tǒng)計(jì)Table 1 Hard drive writing speed
測(cè)試結(jié)果顯示,在磁盤寫入時(shí),傳輸速率會(huì)有所下降。由于在數(shù)據(jù)采集測(cè)試過(guò)程中,以太網(wǎng)傳輸速率以及磁盤寫入速率均遠(yuǎn)低于測(cè)試使用的固態(tài)硬盤標(biāo)稱速率445 MB/s。這說(shuō)明傳輸速率下降是數(shù)據(jù)存儲(chǔ)操作本身造成的影響,可繼續(xù)優(yōu)化改進(jìn)。
本文開發(fā)了一套新的具有高集成度與高性能的APV25數(shù)據(jù)采集系統(tǒng)。該數(shù)據(jù)采集系統(tǒng)主要由APV25前端卡、APVDS數(shù)字化后端板、APVTTS外部時(shí)鐘板和GeoAPV數(shù)據(jù)采集軟件來(lái)搭建,是包含2 048路電子學(xué)通道的完整電子學(xué)系統(tǒng)。系統(tǒng)中除APV25前端卡通過(guò)國(guó)際合作方式從國(guó)外引進(jìn),其他各部分都由中國(guó)原子能科學(xué)研究院中高能物理團(tuán)隊(duì)自主研發(fā)。系統(tǒng)可工作在多種電子學(xué)通道模式下,可在多種采樣方式與工作模式下穩(wěn)定工作。軟件系統(tǒng)靈活高效,能平滑銜接現(xiàn)有工作,為未來(lái)探測(cè)器的發(fā)展提供了電子學(xué)基礎(chǔ)。
在未來(lái)的工作中,可使用萬(wàn)兆交換機(jī),避免多個(gè)數(shù)字化板數(shù)據(jù)量超過(guò)交換機(jī)端口速率帶來(lái)的帶寬損失,同時(shí)改進(jìn)數(shù)據(jù)存儲(chǔ)對(duì)最大采樣率的影響。更進(jìn)一步可將后端板目前的以太網(wǎng)模塊改為SFP光接口萬(wàn)兆以太網(wǎng)模塊,在提高最大計(jì)數(shù)率的同時(shí),提高電磁兼容水平,改善信噪比。