賈世海,李沛玉,胡守揚,陳 雷,周 靜,趙明銳,智 宇,劉雯迪,張昀昱,于偉翔,李笑梅
(中國原子能科學研究院 核數據重點實驗室,北京 102413)
微結構氣體探測器是一種位置分辨能力優異且計數率高的探測器,Micromegas(微網探測器)和GEM(氣體電子倍增器)是其發展的兩個主流方向,廣泛應用于各類不同的大型物理實驗項目的徑跡室來進行粒子位置等測量,是未來探測器發展的方向之一。微結構氣體探測器的讀出一般是條讀出形式,在常用尺寸下,往往需要幾百甚至上千的電子學通道進行信號讀出。如果采用傳統的分立式元器件構成的前放電路,不僅會導致設計非常復雜,體積龐大,而且眾多元件之間的一致性也難以保證。所以,使用能將多通道集成的前放芯片進行前置放大是目前此類探測器電子學系統的最優選擇。
APV25芯片采用深亞微納米CMOS工藝生產[1],是一款多通道(128通道)模擬前放成形芯片,該芯片最初計劃作為CERN的緊湊繆子線圈中硅微條探測器的多路讀出芯片[2]。APV25芯片具有很高的集成度,各通道都有一套完整的前放、濾波和峰保持電路。APV25芯片可對每個通道進行最多31個采樣點的連續波形采樣,最小采樣間隔25 ns。APV25的成形時間為50 ns,微結構氣體探測器典型的信號長度為10~100 ns[3],因此基于APV25芯片的電子學適用于微結構氣體探測器實驗系統。APV25前端卡由意大利國家核物理研究院(INFN)設計[4],該前端卡為板載的APV25芯片提供工作電源以及輸入端保護等基本功能。
數據采集軟件基于Qt框架編寫。Qt框架是1991年由Qt Company開發的具有跨平臺特性的C++圖形用戶界面(GUI)應用程序開發框架,具有強大的跨平臺特性以及靈活易用的組件特性[5]。其使用C++語言進行開發,不僅有利于針對不同應用場景由用戶進行相應的修改與拓展,而且為對接ROOT以及HDF5等同樣使用C++ API的實用軟件或文件標準提供了便利。
本文在已開發的512路多通道高速讀出系統[6]的基礎上,對多個后端板進行集成,通過改進原有的電子學系統結構,開發新的數據采集軟件GeoAPV,實現擁有2 048路電子學通道的APV25數據采集系統,為微結構探測器提供一套完整高效的讀出方案。軟件基于Qt可視化編程框架,使用C++進行編寫,可運行于Windows及Linux系統。
本文開發的APV25數據采集系統的硬件部分主要由計算機、交換機、APVDS電子學數字化板和APV25電子學前端卡構成,如圖1所示。

圖1 系統整體結構Fig.1 Overall structure of system
APV25數據采集系統通過HIROSE FX10系列140引腳連接器與探測器相連。10 cm×10 cm微結構氣體探測器通常需要128通道電子學來進行條讀出,則連接1塊APV25前端卡即可。APV25前端卡使用HDMI物理接口,通過標準HDMI 2.0 Type A線纜連接至APVDS數字化板。此線纜傳輸APV25所輸出的模擬測量數據和APV25控制信號,并為前端卡供電。數據到達后端板后,通過ADS5242 12位模數轉換芯片(德州儀器)進行轉換,再由賽靈思Spartan-6系列FPGA芯片進行數據處理,最后通過千兆以太網,由千兆交換機連接至計算機以進行數據交互。
外部APV TTS時鐘板可生成統一的50 MHz外部時鐘信號,并將其同步分發給各子系統板,從而避免產生不同的后端板時鐘信號不統一問題。每個后端板可控制4塊前端板共512電子學通道的數據并進行數字化以及數據打包等處理操作。各后端板都有獨立的IP地址,通過交換機來與計算機建立通信。數據采集軟件支持最多4塊APVDS后端板同時工作,在此模式下可采集16塊前端卡共2 048路電子學信號。在單塊APVDS后端板即512路通道下,每次采樣1個點能達到110 kHz的系統觸發率。
APVDS數字化板采用XC6SLX75 FPGA芯片。FPGA是數字化后端板的核心,負責后端板各子模塊的控制與計算機的通信以及對ADC原始數據的處理。在接收到來自ADC的數據后,FPGA內部會先將數據由串行數據轉換為并行數據,結合對應事件的觸發信息與計數信息輸入緩存區,最后由FPGA內的千兆全雙工以太網介質訪問控制層將緩存內的數據發送至計算機。APVDS數字化板功能層次如圖2所示。

圖2 數字化板功能層次Fig.2 Function structure of readout board
APVDS后端板還有許多其他的功能,包括生成內部時鐘、進行信號電平的轉換和控制以太網物理層芯片RTL8211EG等。單個后端數字化板已可獨立對4塊APV25前端板數據進行相應的處理,且預留了編程接口與指示燈按鈕以方便硬件調試與糾錯。
為更加準確而且靈活地實現數據采集,本文自主開發了GeoAPV數據采集軟件。因為目前探測器數據分析主要采用ROOT@CERN進行,且C++語言貼近底層物理層面,所以使用C++進行項目開發可盡可能兼顧軟件速度與應用的靈活性。采用基于Qt框架的圖形化用戶界面不僅可大幅加快探測器系統的調試速度,而且更能有效兼容現有在Linux系統下的分析軟件[7]。
GeoAPV充分利用了計算機多線程處理能力,用戶在使用時應盡量用處理器邏輯核心數量在10以上的高性能計算平臺。在高計數率情形下,千兆以太網的高速數據收發對存儲提出更高要求,應盡可能使用固態硬盤或寫速率在1 Gb/s以上的磁盤陣列做數據存儲介質,以避免影響數據采集。
GeoAPV軟件整體采取多線程設計以實現大量數據的實時解析和結果顯示,軟件設計采取模塊化的設計思想,整體包含3個主要模塊:UDP通信模塊、數據處理模塊和主用戶界面,如圖3所示。

圖3 軟件模塊結構Fig.3 Software module structure
各模塊之間使用Qt框架內的信號槽結構來進行可控的數據傳遞。為兼容現有的數據分析腳本,獲取的數據將會以原數據結合采樣方式等信息加以打包并保存。用戶對前端卡和后端板的所有各項命令操作均可通過圖形用戶界面進行,大幅提高了使用效率及易用性。
計算機與后端板的通信基于千兆以太網的UDP(User Datagram Protocol)通信,而UDP通信在接收方緩存不足時將導致數據報丟失,因此引入了累積確認機制:在接收1組8個數據報后,UDP模塊會發送確認信息,來確保計算機不會因接收緩沖區滿而丟失數據。在實際使用中,如果每次僅接收1組數據報,等待過程會大幅降低傳輸速度。所以在圖4所示的收發流程中,UDP模塊會1次發送9個確認請求信息,且在等待接收全部數據的過程中處理其他用戶事件,來最大化傳輸速度。
每個UDP模塊對應唯一的IP地址,即1個APVDS后端板,獲得的數據報被輸送到數據處理模塊進行處理。UDP模塊的錯誤處理機制允許用戶決定發生等待超時錯誤時是否自動重連,并在數字化板工作異常時可及時發送出錯信息以避免無效數據的產生。

圖4 UDP收發流程Fig.4 UDP communication process
計算機接收到的數據報是由FPGA打包并發送的,包含相應的事件時間、APV采樣點以及12位ADC輸出的信號數據等信息。在后端板連接不同數量(1、2或4塊)的前端卡時,數據格式也會有所不同。如果欲對數據進行實時的顯示分析,必需1個高效且能對原始數據進行解析的模塊來進行實時解析。
當接收到數據報時,本數據處理模塊會先對數據進行CRC校驗,然后提取其中的時間及采樣模式等信息并將ADC數據解析成為Qt框架內部的二維向量整數類型,以供實時顯示。模塊內部引入了HDF5的存儲接口,用戶可根據需求使用HDF5格式存儲。
GeoAPV主界面使用Qt Designer軟件設計,其主界面如圖5所示。

圖5 軟件主界面Fig.5 Main interface of software
界面主要由控制臺信息欄、控制欄以及波形顯示區域構成。信息欄會顯示與程序相關的過程信息以及錯誤信息,控制欄能直接調節電子學系統的采樣模式等狀態,波形顯示會根據APVDS數量相應調整子窗口數量。界面還預留了能譜窗口欄,可根據具體需要啟用能譜分析功能。
波形顯示使用QCustomPlot圖形庫,實現了豐富的交互方式。由于在實際使用中,上千條波形曲線的刷新會占用大量CPU資源,普通屏幕刷新率在60 Hz,故將界面刷新率設置為10、20、50 Hz 3種可選,以適用不同的計算平臺和測量場景。
控制欄能對系統工作方式進行調整,在1~31個連續采樣數之間進行選擇,并可工作在峰采樣、反卷積或多重模式下。
系統測試使用由8塊APV前端卡和2塊運行在512通道模式下的APVDS數字化板搭建的數據采集系統,如圖6所示。

圖6 實際采集系統Fig.6 Actual acquisition system
在1 024通道下使用連續的內觸發信號對噪聲基線進行了測量,以75 ns間隔連續采樣24個點,實時顯示效果如圖7a、b所示。圖7a、b分別為兩個不同的后端板數據,不同顏色的線條對應不同的APV25前端卡,共8塊前端卡,圖中虛線為光標;圖7c為原數據采集系統數據,僅包含單塊APV25前端卡256通道的采樣數據,連續采樣數為30,沒有光標,并進行了縮放,圖7c中ADC值0點對應圖7a、b中的2 048通道位置。可看到,噪聲電平與形狀均與現有系統結果一致。

圖7 實測噪聲波形 Fig.7 Measured waveform of noise signal
為保證測試系統工作時的穩定性和觸發率等性能,在高性能計算平臺下,對單個噪聲信號采用連續的內觸發信號連續采樣31個點,并以10 Hz刷新率實時測試2 h(不存儲原始數據)。測試中計算機以太網速率達715 Mb/s,觸發率為1.70 kHz,系統能穩定進行數據采集以及分析顯示。對其中采樣開始600 s內的計算機與APVDS以太網數據傳輸速率進行統計,結果如圖8所示。
從圖8可看出,在采樣開始的600 s中,數據傳輸速度分別穩定在610 Mb/s和710 Mb/s附近,且沒有下降趨勢,計算得到1 024通道下的傳輸速率數據相對標準偏差(RSD)為1.7%。

圖8 連續觸發采樣時以太網數據速率變化Fig.8 Ethernet transmission rate in continuous sampling
為研究硬盤寫入數據速率,本文在256、512、1 024這3種通道配置下分別進行了600 s的測試,并與之前未儲存數據時的以太網速率進行了對比,結果列于表1。

表1 硬盤寫入速率統計Table 1 Hard drive writing speed
測試結果顯示,在磁盤寫入時,傳輸速率會有所下降。由于在數據采集測試過程中,以太網傳輸速率以及磁盤寫入速率均遠低于測試使用的固態硬盤標稱速率445 MB/s。這說明傳輸速率下降是數據存儲操作本身造成的影響,可繼續優化改進。
本文開發了一套新的具有高集成度與高性能的APV25數據采集系統。該數據采集系統主要由APV25前端卡、APVDS數字化后端板、APVTTS外部時鐘板和GeoAPV數據采集軟件來搭建,是包含2 048路電子學通道的完整電子學系統。系統中除APV25前端卡通過國際合作方式從國外引進,其他各部分都由中國原子能科學研究院中高能物理團隊自主研發。系統可工作在多種電子學通道模式下,可在多種采樣方式與工作模式下穩定工作。軟件系統靈活高效,能平滑銜接現有工作,為未來探測器的發展提供了電子學基礎。
在未來的工作中,可使用萬兆交換機,避免多個數字化板數據量超過交換機端口速率帶來的帶寬損失,同時改進數據存儲對最大采樣率的影響。更進一步可將后端板目前的以太網模塊改為SFP光接口萬兆以太網模塊,在提高最大計數率的同時,提高電磁兼容水平,改善信噪比。