羅翔, 岳愛(ài)忠, 王茂林, 何緒新, 何子忠, 林巖棟
(1.中國(guó)石油集團(tuán)測(cè)井有限公司, 陜西 西安 710077;2.中國(guó)石油天然氣集團(tuán)公司測(cè)井實(shí)驗(yàn)基地, 陜西 西安 710077)
核測(cè)井儀器能譜數(shù)據(jù)探測(cè)[1]處理最為關(guān)鍵的多道脈沖幅度分析器,其設(shè)計(jì)的優(yōu)劣以及運(yùn)行效果直接影響最終測(cè)試結(jié)果。早期的多道脈沖幅度分析器一般采用DSP或者M(jìn)CU進(jìn)行設(shè)計(jì)[2],運(yùn)行處理速度較慢,并且因其順序處理機(jī)制,會(huì)造成能譜漏計(jì)數(shù)。隨著高速模數(shù)轉(zhuǎn)換器和集成處理電路的快速發(fā)展,能譜測(cè)量分析技術(shù)也正在進(jìn)入高速數(shù)字化處理階段。目前,中國(guó)也有很多通過(guò)高速數(shù)字化進(jìn)行多道分析器的研究,但是因其存在高速處理下配合機(jī)制不完善等原因,得到能譜的分辨率、穩(wěn)定性等方面,與國(guó)外處理技術(shù)相比還有很大差距。
為了解決上述問(wèn)題,本文設(shè)計(jì)了基于FPGA[3]的多道脈沖幅度分析器[4],完整地提出了一種高性能整體設(shè)計(jì)方案。通過(guò)高速ADC對(duì)隨機(jī)快速的核脈沖信號(hào)進(jìn)行采樣,將數(shù)字化后的核脈沖信號(hào)進(jìn)行捕獲、有效信號(hào)判斷、峰值判斷,并進(jìn)行信號(hào)幅度分析、數(shù)據(jù)通訊等處理,各個(gè)處理模塊并行運(yùn)行、交錯(cuò)處理,從而保證獲取的能譜數(shù)據(jù)精準(zhǔn)無(wú)誤、譜形光滑、譜峰明顯,分辨率能夠接近探測(cè)器晶體的最佳分辨率。由于數(shù)字信號(hào)處理具有很強(qiáng)的抗干擾能力和靈活性,使得基于FPGA的數(shù)字化多道脈沖幅度分析器能夠很好地應(yīng)用于測(cè)量環(huán)境相對(duì)惡劣的石油測(cè)井行業(yè)核測(cè)井領(lǐng)域中。
在核測(cè)井核輻射測(cè)量中,需要采用探測(cè)器對(duì)核輻射射線進(jìn)行探測(cè),探測(cè)器由晶體和光電倍增管組成,晶體一般采用NaI、CsI或者BGO晶體,本文提出的基于FPGA的多道脈沖幅度分析器[5]所應(yīng)用的自然伽馬能譜測(cè)井儀器采用CsI晶體。探測(cè)器對(duì)核輻射射線進(jìn)行探測(cè),能夠輸出有效的核脈沖信號(hào),為負(fù)脈沖信號(hào),核輻射射線能量的不同,會(huì)對(duì)應(yīng)輸出幅度不同的核脈沖信號(hào)。探測(cè)器之后通常需要采用前置放大器對(duì)輸出的核脈沖信號(hào)進(jìn)行濾波放大,然后需要將信號(hào)送入主放大電路進(jìn)一步濾波放大,并且進(jìn)行信號(hào)反向,以便進(jìn)行多道脈沖幅度分析器信號(hào)采樣以及信號(hào)處理。在自然伽馬能譜測(cè)井儀器中,通過(guò)電路濾波放大處理后得到的核信號(hào)上升時(shí)間不到1.6 μs,信號(hào)寬度約6 μs的脈沖信號(hào)。
基于上述分析,為了對(duì)核探測(cè)器輸出的寬度過(guò)窄的核脈沖信號(hào)進(jìn)行高速、高效地能譜分析處理[6],提出了一種基于FPGA的多道脈沖幅度分析器。圖1為多道脈沖幅度分析器的系統(tǒng)設(shè)計(jì)原理框圖。
圖1 多道脈沖幅度分析器原理框圖
核脈沖信號(hào)到達(dá)后,通過(guò)高速ADC采樣將模擬脈沖信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)[7]并即刻對(duì)其進(jìn)行捕獲,然后立即進(jìn)行脈沖信號(hào)峰值判斷,該多道脈沖幅度分析器對(duì)原始脈沖信號(hào)進(jìn)行連續(xù)不間斷采樣,并同時(shí)進(jìn)行信號(hào)峰值判斷,結(jié)果存入緩沖區(qū),并根據(jù)每個(gè)采樣點(diǎn)判斷結(jié)果更新緩沖區(qū)數(shù)據(jù),在單次信號(hào)采樣完成時(shí),即刻得到信號(hào)峰值結(jié)果數(shù)據(jù)。對(duì)脈沖信號(hào)幅度進(jìn)行分析,在存儲(chǔ)器中對(duì)當(dāng)前脈沖幅度分析數(shù)據(jù)進(jìn)行記錄,這樣就完成了對(duì)1個(gè)脈沖信號(hào)的分析處理。
因FPGA其并行處理機(jī)制,在上述信號(hào)分析處理的同時(shí),繼續(xù)進(jìn)行不間斷采樣,對(duì)后續(xù)到來(lái)的脈沖信號(hào)進(jìn)行同樣的脈沖幅度分析。對(duì)于不同幅度的脈沖信號(hào),就對(duì)應(yīng)了存儲(chǔ)中不同的存儲(chǔ)單元,從而對(duì)存儲(chǔ)器不同存儲(chǔ)單元的內(nèi)容進(jìn)行處理,實(shí)現(xiàn)多道處理。
以存儲(chǔ)器的不同地址作為道址,而每個(gè)地址單元里的內(nèi)容就是不同幅度的脈沖信號(hào)的計(jì)數(shù)。以道址作為橫坐標(biāo),脈沖信號(hào)計(jì)數(shù)作為縱坐標(biāo),則可以得到1張能譜,即實(shí)現(xiàn)了多道脈沖幅度分析器。
根據(jù)上述系統(tǒng)原理框架,提出了一種基于FPGA的多道脈沖幅度分析器硬件電路設(shè)計(jì)方案[8],其主要由ADC高速采樣電路和FPGA信號(hào)分析處理電路組成。
ADC采樣電路采用高速模數(shù)轉(zhuǎn)換器件AD9235進(jìn)行電路設(shè)計(jì),該器件為12 bit高速ADC芯片,最高可以實(shí)現(xiàn)4 096道能譜處理,其采樣速度可以達(dá)到20 Ms/s,圖2給出了ADC采樣電路的具體設(shè)計(jì)。
該ADC采樣電路信號(hào)輸入端設(shè)計(jì)為單端輸入,以匹配核脈沖信號(hào),并且信號(hào)輸入端加入RC濾波電路,對(duì)采樣前的脈沖信號(hào)再次進(jìn)行濾波處理,減小信號(hào)上的噪聲干擾。該采樣電路由FPGA提供20 MHz時(shí)鐘對(duì)其進(jìn)行時(shí)序控制,完成高速采樣,然后根據(jù)控制時(shí)鐘時(shí)序輸出12 bit數(shù)字信號(hào)送至FPGA進(jìn)行信號(hào)分析處理。該電路還可以由FPGA控制其進(jìn)行掉電處理,在不需要進(jìn)行信號(hào)采樣時(shí)減小電路功耗。采樣電路可以對(duì)模擬脈沖信號(hào)進(jìn)行高速采樣,分辨率高,可減少信號(hào)丟失,提高信號(hào)采樣的準(zhǔn)確性。
圖2 ADC采樣電路
FPGA處理電路為實(shí)現(xiàn)多道脈沖幅度分析器最關(guān)鍵的部分,采用現(xiàn)場(chǎng)可編程門(mén)陣列器件A3P250進(jìn)行電路設(shè)計(jì),該處理器件內(nèi)部可運(yùn)行高速時(shí)鐘,且內(nèi)部含有PLL,可方便得到內(nèi)部各個(gè)模塊所需要的不同時(shí)鐘,并且內(nèi)部有大容量RAM模塊,為實(shí)現(xiàn)多道脈沖幅度分析器提供基礎(chǔ)。
FPGA處理電路由晶振提供48 MHz高速時(shí)鐘,使其能夠?qū)?shù)據(jù)進(jìn)行高速處理,并且由于FPGA的運(yùn)行機(jī)制是并行處理,可以使FPGA內(nèi)部各個(gè)模塊在互不干擾的情況下高速并行運(yùn)行,處理速度更快。
該FPGA處理電路內(nèi)部設(shè)計(jì)了多個(gè)處理模塊用于功能實(shí)現(xiàn),采用A3P250內(nèi)部PLL模塊提供16、20、24 MHz時(shí)鐘給內(nèi)部各個(gè)功能模塊,用于時(shí)序控制。通過(guò)設(shè)置內(nèi)部深度256、寬度16的雙端口RAM模塊用于能譜數(shù)據(jù)的存儲(chǔ),各個(gè)模塊之間協(xié)調(diào)處理,完成多道脈沖幅度分析器處理功能的實(shí)現(xiàn)。該處理電路內(nèi)部再設(shè)計(jì)一個(gè)串口模塊用于與外部進(jìn)行通訊,完成能譜數(shù)據(jù)的傳輸。
圖3 FPGA處理電路內(nèi)部處理結(jié)構(gòu)框圖
圖3為FPGA處理電路內(nèi)部處理結(jié)構(gòu)框圖。其內(nèi)部通過(guò)PLL模塊提供20 MHz的ADC時(shí)鐘,對(duì)ADC數(shù)字信號(hào)采集模塊進(jìn)行時(shí)序控制,對(duì)外部輸入的12 bit并行數(shù)字信號(hào)進(jìn)行捕獲。然后通過(guò)信號(hào)峰值判斷模塊獲取信號(hào)幅度值,隨即通過(guò)RAM模塊的控制完成多道幅度分析。各個(gè)功能模塊協(xié)調(diào)處理,同時(shí)各自也獨(dú)立并行運(yùn)行,而在另一個(gè)并行處理的過(guò)程中,通過(guò)另一個(gè)RAM模塊的控制獲取完成多道脈沖幅度分析后緩存的能譜數(shù)據(jù),并且通過(guò)串口通訊模塊完成能譜數(shù)據(jù)發(fā)送。
基于上述設(shè)計(jì)的硬件電路,能夠使數(shù)字化多道脈沖幅度分析器的主控軟件在FPGA主控器件A3P250中進(jìn)行功能實(shí)現(xiàn)。軟件設(shè)計(jì)主體包括信號(hào)捕獲模塊、信號(hào)峰值判斷模塊、有效信號(hào)判斷模塊、脈沖幅度分析模塊以及片內(nèi)RAM存儲(chǔ)器模塊,并且設(shè)計(jì)串口模塊進(jìn)行外部串口通訊。
通過(guò)設(shè)置FPGA內(nèi)部PLL模塊產(chǎn)生20 MHz時(shí)鐘,并通過(guò)端口配置將20 MHz時(shí)鐘輸出至高速ADC控制其進(jìn)行核脈沖信號(hào)高速采樣,然后在內(nèi)部通過(guò)該時(shí)鐘進(jìn)行時(shí)序控制捕獲從外部高速ADC采樣后回傳的12 bit并行數(shù)字信號(hào),完成核脈沖信號(hào)數(shù)字化捕獲。
脈沖信號(hào)峰值判斷模塊中,在脈沖信號(hào)時(shí)序控制捕獲的同時(shí),通過(guò)門(mén)檻設(shè)置判斷脈沖信號(hào)是否到達(dá),如果信號(hào)到達(dá)并觸發(fā)門(mén)檻,則即刻對(duì)信號(hào)幅度變化進(jìn)行判斷,將判斷結(jié)果存入信號(hào)峰值緩沖區(qū),并根據(jù)每次采樣判斷的結(jié)果與信號(hào)峰值緩沖區(qū)數(shù)據(jù)進(jìn)行對(duì)比,更新緩沖區(qū)數(shù)據(jù)。在一個(gè)完整的脈沖信號(hào)結(jié)束并反向觸發(fā)門(mén)檻后,則在信號(hào)峰值緩沖區(qū)中能夠得到該脈沖信號(hào)正確的幅度值。并且在脈沖信號(hào)峰值判斷的同時(shí),對(duì)當(dāng)前采樣脈沖信號(hào)寬度進(jìn)行記錄。
該方法直接對(duì)原始脈沖信號(hào)進(jìn)行高速數(shù)字化采樣并進(jìn)行判斷處理,不進(jìn)行峰值保持或者信號(hào)變換,數(shù)字化后的信號(hào)能夠完全還原原始脈沖信號(hào)特征信息,從而獲取到真實(shí)的脈沖信號(hào)峰值等信息,不會(huì)因?yàn)樾盘?hào)變換可能造成信號(hào)畸變失真,而造成獲取到的信號(hào)特征信息異常。
在模塊協(xié)調(diào)處理獲取到脈沖信號(hào)峰值后,立即通過(guò)信號(hào)寬度以及幅度特征進(jìn)行有效信號(hào)的判斷;如果判斷為干擾信號(hào),則放棄該脈沖信號(hào)峰值數(shù)據(jù),繼續(xù)進(jìn)行后續(xù)脈沖信號(hào)采樣以及判斷;如果判斷為有效信號(hào),則進(jìn)行脈沖幅度分析。
為了成功實(shí)現(xiàn)數(shù)字化多道脈沖幅度分析器,需要在FPGA內(nèi)部設(shè)置關(guān)鍵的RAM存儲(chǔ)器模塊。該RAM設(shè)置為雙端口RAM,深度設(shè)置為256,數(shù)據(jù)寬度設(shè)置為16。雙端口RAM分為A、B端口,都可對(duì)該RAM進(jìn)行讀寫(xiě)操作,A端口設(shè)置為時(shí)鐘上升沿觸發(fā),用于RAM寫(xiě)操作,B端口設(shè)置為時(shí)鐘下降沿觸發(fā),用于RAM讀操作。在脈沖幅度分析處理模塊中,將該雙端口RAM實(shí)例化為2個(gè)RAM模塊,一個(gè)用于脈沖幅度分析256道能譜數(shù)據(jù)存儲(chǔ),而另一個(gè)則用于緩沖完成的能譜數(shù)據(jù)的發(fā)送操作。
當(dāng)脈沖信號(hào)捕獲及判斷模塊成功獲取到脈沖信號(hào)幅度值并且信號(hào)有效,則觸發(fā)脈沖幅度分析模塊進(jìn)行數(shù)據(jù)處理,通過(guò)內(nèi)部時(shí)鐘對(duì)2個(gè)RAM模塊中當(dāng)前用于脈沖幅度分析的RAM模塊進(jìn)行控制,在時(shí)鐘下降沿時(shí)通過(guò)B端口觸發(fā)該RAM模塊,查找RAM存儲(chǔ)器中脈沖幅度對(duì)應(yīng)地址,讀取存儲(chǔ)單元數(shù)據(jù)并進(jìn)行脈沖計(jì)數(shù)累加,然后在時(shí)鐘上升沿時(shí)通過(guò)A端口觸發(fā)該RAM模塊,在RAM存儲(chǔ)器中相同地址處將累加的數(shù)據(jù)重新存入存儲(chǔ)單元,從而完成脈沖幅度分析。在一定時(shí)間后,RAM存儲(chǔ)器模塊中就能夠得到256道能譜數(shù)據(jù)。圖4為脈沖幅度分析處理流程。
圖4 脈沖幅度分析處理流程圖
對(duì)于上述分析的脈沖幅度分析模塊,其處理得到的能譜數(shù)據(jù)需要傳輸至外部其他控制處理電路,因此在FPGA軟件中設(shè)計(jì)串口模塊,通過(guò)時(shí)序控制將脈沖幅度分析緩沖于RAM存儲(chǔ)器模塊中的能譜數(shù)據(jù)通過(guò)串口通訊發(fā)送至外部。根據(jù)圖5中RAM存儲(chǔ)器的設(shè)置,通過(guò)時(shí)鐘對(duì)2個(gè)實(shí)例化的RAM模塊中另一個(gè)用于數(shù)據(jù)通訊的RAM模塊進(jìn)行控制,在時(shí)鐘下降沿時(shí)通過(guò)B端口觸發(fā)該RAM模塊,讀取存儲(chǔ)器中緩沖的能譜數(shù)據(jù),并在時(shí)鐘上升沿時(shí)通過(guò)串口模塊內(nèi)部控制過(guò)程完成能譜數(shù)據(jù)發(fā)送。
該串口模塊以及其控制使用的RAM模塊與上述多道脈沖幅度分析所控制的RAM模塊交錯(cuò)并行處理,該方法可實(shí)現(xiàn)多道脈沖幅度分析處理過(guò)程與數(shù)據(jù)通訊過(guò)程互不影響,實(shí)現(xiàn)脈沖幅度分析無(wú)漏計(jì)數(shù)。
圖5 交錯(cuò)并行處理原理框圖
圖5為串口模塊與多道脈沖幅度分析模塊交錯(cuò)并行處理的原理框圖。通過(guò)功能控制標(biāo)志選擇,當(dāng)多道脈沖幅度分析模塊控制RAMA模塊進(jìn)行分析處理時(shí),串口模塊則控制RAMB模塊進(jìn)行完成緩沖的能譜數(shù)據(jù)的發(fā)送。反之,則通過(guò)功能控制標(biāo)志進(jìn)行交換控制,實(shí)現(xiàn)控制處理模塊之間的交錯(cuò)并行處理。
圖6 自然伽馬能譜測(cè)井儀器刻度器測(cè)試能譜圖
本文設(shè)計(jì)的多道脈沖幅度分析器成功應(yīng)用于自然伽馬能譜測(cè)井儀器等核測(cè)井儀器中,將探測(cè)器輸出的核脈沖信號(hào)高速、高效地進(jìn)行幅度分析并轉(zhuǎn)換為能譜數(shù)據(jù)上傳至地面分析,得到的能譜數(shù)據(jù)效果完全滿(mǎn)足儀器要求,圖6為自然伽馬能譜測(cè)井儀器使用刻度器測(cè)試得到的能譜圖。
(1) 得到的能譜譜形光滑,其中自然伽馬能譜所需要的特征峰K峰(1.46 MeV)、U峰(1.76 MeV)以及Th峰(2.62 MeV)明顯,計(jì)數(shù)率也相應(yīng)提高;
(2) 整體能譜中各個(gè)譜峰分布正確,能量線性準(zhǔn)確,K峰(1.46 MeV)保持在105道,U峰(1.76 MeV)對(duì)應(yīng)保持在127道,而Th峰(2.62 MeV)對(duì)應(yīng)保持在188道;
(3) 能譜分辨率也相應(yīng)提高,K峰(1.46 MeV)分辨率可以達(dá)到9.5%。
(1) 設(shè)計(jì)了基于FPGA的數(shù)字化多道脈沖幅度分析器,在FPGA中進(jìn)行軟件數(shù)字化設(shè)計(jì)實(shí)現(xiàn)脈沖信號(hào)捕獲、判斷以及脈沖幅度分析與能譜存儲(chǔ),同時(shí)設(shè)計(jì)了串口模塊進(jìn)行外部通訊。并且在時(shí)序設(shè)計(jì)上采用交錯(cuò)并行處理,實(shí)現(xiàn)能譜分析無(wú)漏計(jì)數(shù)。
(2) 該數(shù)字化多道脈沖幅度分析器采用ADC+FPGA架構(gòu),電路設(shè)計(jì)簡(jiǎn)單,可靠性更高, 并且其尺寸可以滿(mǎn)足小直徑核測(cè)井儀器要求。其數(shù)據(jù)處理靈活,可以通過(guò)高速時(shí)鐘控制完成高速并行處理,得到滿(mǎn)足要求的能譜數(shù)據(jù)。該多道脈沖幅度分析器主要由數(shù)字電路組成,抗干擾能力強(qiáng),能夠很好地適應(yīng)石油測(cè)井的惡劣環(huán)境。
參考文獻(xiàn):
[1] 張軟玉. 數(shù)字化核能譜獲取系統(tǒng)的研究 [D]. 成都: 四川大學(xué), 2006.
[2] 敖奇, 魏義祥, 文向陽(yáng). 基于DSP的數(shù)字化多道脈沖幅度分析器設(shè)計(jì) [J]. 核技術(shù), 2007, 30(6): 532-536.
[3] 周立功. Actel FPGA原理與應(yīng)用 [Z]. 廣州: 廣州致遠(yuǎn)電子有限公司, 2010.
[4] 劉洪斌, 梁福田, 李鋒, 等. 基于無(wú)線局域網(wǎng)的多道脈沖幅度分析器 [J]. 核電子學(xué)與探測(cè)技術(shù), 2014(4): 429-432.
[5] 王彥, 賀康政, 黃松. 基于FPGA的多道脈沖幅度分析器的設(shè)計(jì) [J]. 核電子學(xué)與探測(cè)技術(shù), 2005(4): 416-419.
[6] LIMA J, HERMAN P, GUEDES, et al. A Fast Multichannel-analyzer for Radiation Detection Applications [J]. IEEE Transactions on Instrumentation and Measurement, 2004, 53(2): 378-383.
[7] ROBERT GRZYWACZ. Applications of Digital Pulse Processing in Nuclear Spectroscopy [J]. Nuclear Inst. and Methods in Physics Research, B, 2003, 204(1): 649-659.
[8] 蔡順燕. 數(shù)字多道脈沖幅度分析器的硬件電路設(shè)計(jì) [J]. 核電子學(xué)與探測(cè)技術(shù), 2010(3): 354-356, 421.