一種基于現(xiàn)場(chǎng)可編程門陣列的多路復(fù)用光子相關(guān)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及可用于光子相關(guān)光譜測(cè)量技術(shù)領(lǐng)域,具體涉及一種基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的多路復(fù)用光子相關(guān)器。
【背景技術(shù)】
[0002]目前,應(yīng)用在光子相關(guān)光譜技術(shù)中的光子相關(guān)器通過獲取單點(diǎn)散射光強(qiáng)信號(hào)自相關(guān)函數(shù),再由上位機(jī)的反演算法程序得到顆粒的大小和粒徑分布,該類光子相關(guān)器在測(cè)量均勻樣品時(shí)能夠很好得到準(zhǔn)確的結(jié)果。例如,在專利文獻(xiàn)1(CN101726452A)中,提供一種基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的光子相關(guān)器,能用于光子相關(guān)光譜技術(shù)中光強(qiáng)自相關(guān)函數(shù)的硬件實(shí)現(xiàn),達(dá)到采樣時(shí)間、相關(guān)運(yùn)算時(shí)間可調(diào),延遲通道數(shù)目滿足納米顆粒測(cè)量與反演的要求;在專利文獻(xiàn)2(CN102313604A)中,提供一種基于復(fù)雜可編程邏輯器件(CPLD)和現(xiàn)場(chǎng)可編程門陣列(FPGA)的自適應(yīng)光子相關(guān)器,用于光子相關(guān)光譜技術(shù)中光強(qiáng)信號(hào)相關(guān)函數(shù)的硬件實(shí)現(xiàn),其與計(jì)算機(jī)上的軟件結(jié)合,根據(jù)獲取到的默認(rèn)配置的相關(guān)函數(shù),自適應(yīng)地調(diào)整采樣時(shí)間、相關(guān)運(yùn)算時(shí)間、延遲通道分配方案,最終獲得最優(yōu)化的相關(guān)函數(shù)。
[0003]但是,對(duì)于不均勻的樣品,例如測(cè)量在空間上發(fā)生化學(xué)反應(yīng)的蛋白質(zhì)或者溫度分布不均勻的納米小球,只能獲取單點(diǎn)散射光強(qiáng)信號(hào)自相關(guān)函數(shù)的傳統(tǒng)的光子相關(guān)器,并不能準(zhǔn)確反演出樣品的顆粒大小和粒徑分布。
[0004]本發(fā)明設(shè)計(jì)的基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的多路復(fù)用光子相關(guān)器,能夠?qū)崿F(xiàn)多采樣點(diǎn),通過獲取不同點(diǎn)的多路散射光強(qiáng)信號(hào)的自相關(guān)函數(shù),實(shí)現(xiàn)二維或三維區(qū)域的多點(diǎn)計(jì)算,可以同時(shí)得到樣品中不同位置顆粒大小和粒徑分布。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的多路復(fù)用光子相關(guān)器,通過獲取樣品的多路散射光強(qiáng)信號(hào)的自相關(guān)函數(shù),可同時(shí)探測(cè)平面內(nèi)不同點(diǎn)的納米顆粒的大小和粒徑分布;根據(jù)待測(cè)樣品的特點(diǎn),多路復(fù)用光子相關(guān)器可以通過計(jì)算機(jī)程序設(shè)置復(fù)用路數(shù),并配置二維光子相關(guān)器的最小采樣時(shí)間和相關(guān)運(yùn)算時(shí)間。
[0006]本發(fā)明的目的通過如下技術(shù)方案實(shí)現(xiàn)。
[0007]—種基于現(xiàn)場(chǎng)可編程門陣列的多路復(fù)用光子相關(guān)器,其包括:
[0008]系統(tǒng)同步運(yùn)行模塊,固化在FPGA內(nèi),實(shí)現(xiàn)多路光子計(jì)數(shù)同步、多路相關(guān)運(yùn)算同步、相關(guān)結(jié)果輸出同步和系統(tǒng)復(fù)位同步;
[0009]多路光子計(jì)器數(shù)器模塊,固化在FPGA內(nèi),按設(shè)定的時(shí)序,對(duì)多路復(fù)用的光子信號(hào)進(jìn)行計(jì)數(shù),并鎖存輸出,送入下述多路相關(guān)運(yùn)算模塊;
[0010]多路相關(guān)運(yùn)算模塊,固化在FPGA內(nèi),能實(shí)時(shí)對(duì)多路光子計(jì)器數(shù)器模塊傳來(lái)的多路復(fù)用的光子信號(hào)數(shù)據(jù)進(jìn)行自相關(guān)運(yùn)算,分別得到各路信號(hào)的自相關(guān)曲線,并鎖存輸出;
[0011]計(jì)算機(jī)接口模塊,固化在FPGA內(nèi),通過接口電路與計(jì)算機(jī)通信,實(shí)現(xiàn)相關(guān)運(yùn)算結(jié)果的數(shù)據(jù)輸出。
[0012]進(jìn)一步地,所述系統(tǒng)同步運(yùn)行模塊(synchronizat1n_signal)的輸入端與時(shí)鐘晶振連接并輸出其他各個(gè)模塊的同步信號(hào),所述其他各個(gè)模塊的同步信號(hào)包括多路光子計(jì)數(shù)同步信號(hào)、多路相關(guān)運(yùn)算同步信號(hào)、相關(guān)數(shù)據(jù)輸出同步信號(hào)和系統(tǒng)復(fù)位同步信號(hào)。
[0013]進(jìn)一步地,所述多路光子計(jì)數(shù)模塊(PhotonCounter)接收的信號(hào)包括時(shí)鐘晶振信號(hào)、多路光子脈沖,以及系統(tǒng)復(fù)位同步信號(hào)中的清零信號(hào)iCLR,同時(shí)所述多路光子計(jì)數(shù)模塊的采樣時(shí)間可調(diào)。
[0014]進(jìn)一步地,所述多路相關(guān)運(yùn)算模塊(Correlat1n)由多路移位寄存器(shift_register)與多路乘法累加器(mac_16b)構(gòu)成,可實(shí)現(xiàn)多路信號(hào)的同時(shí)自相關(guān)運(yùn)算。
[0015]進(jìn)一步地,所述計(jì)算機(jī)接口模塊(ProOutputl)由串口接收單元(RxdAll)和發(fā)送單元(TXDCont1l)構(gòu)成,可實(shí)現(xiàn)多路復(fù)用光子相關(guān)器與上位機(jī)的通信。
[0016]進(jìn)一步地,所述多路復(fù)用光子相關(guān)器中,由多路光子計(jì)數(shù)模塊產(chǎn)生的多路復(fù)用的光子信號(hào),包括復(fù)用路數(shù)、最小采樣時(shí)間、相關(guān)運(yùn)算時(shí)間參數(shù);多路復(fù)用光子相關(guān)器與計(jì)算機(jī)連接,所述參數(shù)通過計(jì)算機(jī)接口模塊進(jìn)行設(shè)定。
[0017]進(jìn)一步地,所述多路復(fù)用光子相關(guān)器的多路光子計(jì)數(shù)器模塊通過單個(gè)端口輸入光子信號(hào)。
[0018]進(jìn)一步地,所述多路復(fù)用光子相關(guān)器既能通過單個(gè)端口輸入多路光子信號(hào),也能通過多端口輸入各路光子信號(hào)。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)和技術(shù)效果:
[0020]多路復(fù)用光子相關(guān)器的探測(cè)像素點(diǎn)可以設(shè)置為任意二維或者三維掃描形式,實(shí)現(xiàn)多點(diǎn)探測(cè)和計(jì)算。
[0021]多路復(fù)用光子相關(guān)器能夠同時(shí)獲取各個(gè)探測(cè)點(diǎn)的散射光強(qiáng)信號(hào)的自相關(guān)函數(shù),通過上位機(jī)的反演程序可以同時(shí)得到各個(gè)探測(cè)點(diǎn)的顆粒的大小和顆粒分布。
[0022]多路復(fù)用光子相關(guān)器能夠獲取不均勻待測(cè)樣品的顆粒粒徑的分布圖。
【附圖說(shuō)明】
[0023]圖1為實(shí)例中于現(xiàn)場(chǎng)可編程門陣列的多路復(fù)用光子相關(guān)器的系統(tǒng)框圖。
[0024]圖2固化在FPGA芯片內(nèi)多路復(fù)用光子相關(guān)器的程序框圖。
[0025]圖3為固化在FPGA芯片內(nèi)的同步系統(tǒng)同步運(yùn)行模塊電路圖。
[0026]圖4為固化在FPGA芯片內(nèi)的多路光子計(jì)數(shù)模塊電路圖。
[0027]圖5為是多路光子計(jì)數(shù)模塊仿真波形圖。
[0028]圖6為多路相關(guān)器的原理圖。
[0029]圖7為固化在FPGA芯片內(nèi)的多路相關(guān)運(yùn)算模塊電路圖。
[0030]圖8為固化在FPGA芯片內(nèi)的最小單元的多路移位寄存模塊電路圖。
[0031]圖9為三個(gè)最小單元的多路移位寄存模塊串聯(lián)的示意圖。
[0032]圖10為固化在芯片內(nèi)的多路乘法累加器模塊示意圖。
[0033]圖11為是固化在芯片內(nèi)的計(jì)算機(jī)接口接收模塊電路圖。
[0034]圖12為是固化在芯片內(nèi)的計(jì)算機(jī)接口發(fā)送模塊電路圖。
【具體實(shí)施方式】
[0035]以上內(nèi)容以及對(duì)本發(fā)明的技術(shù)方案作了充分的公開,以下再結(jié)合附圖對(duì)本發(fā)明的實(shí)施作進(jìn)一步說(shuō)明,但本發(fā)明的實(shí)施和保護(hù)不限于此。
[0036]本實(shí)例的系統(tǒng)框圖如圖1,多路光子信號(hào)進(jìn)入FPGA里的多路光子計(jì)數(shù)模塊。多路復(fù)用光子相關(guān)器采用默認(rèn)配置復(fù)用路數(shù)、最小采樣時(shí)間和相關(guān)運(yùn)算時(shí)間。對(duì)不同采樣區(qū)域的光子脈沖信號(hào)分別進(jìn)行等間隔的計(jì)數(shù),在開始運(yùn)算后,多路光子計(jì)數(shù)器模塊就處于無(wú)間斷的工作,將各路光子數(shù)據(jù)源源不斷地送入多路相關(guān)運(yùn)算模塊。多路相關(guān)運(yùn)算模塊首先將采集的多路光子數(shù)據(jù)送入多路移位寄存器,并按照設(shè)定的通道分配方案,啟動(dòng)乘法累加器進(jìn)行運(yùn)算,由同步信號(hào)控制其移位到多路乘法累加器中進(jìn)行運(yùn)算,完成各路的相關(guān)運(yùn)算后可獲得不同區(qū)域的自相關(guān)函數(shù),并將本次結(jié)果送入計(jì)算機(jī)接口模塊。最后計(jì)算機(jī)通信接口模塊將各個(gè)區(qū)域的相關(guān)結(jié)果送入計(jì)算機(jī),完成一次相關(guān)運(yùn)算過程。系統(tǒng)同步運(yùn)行模塊用于協(xié)調(diào)整個(gè)系統(tǒng)運(yùn)行的同步,包括多路光子計(jì)數(shù)同步、多路相關(guān)運(yùn)算同步、相關(guān)數(shù)據(jù)輸出同步和系統(tǒng)復(fù)位同步。
[0037]本發(fā)明中固化在FPGA芯片的電路模塊如圖2所示,具體說(shuō)明如下:
[0038](I)系統(tǒng)同步運(yùn)行模塊
[0039]系統(tǒng)同步運(yùn)行模塊用于協(xié)調(diào)整個(gè)系統(tǒng)運(yùn)行的同步,包括光子計(jì)數(shù)同步、多路相關(guān)運(yùn)算同步、相關(guān)數(shù)據(jù)輸出同步和系統(tǒng)復(fù)位同步。系統(tǒng)同步運(yùn)行模塊是否正常運(yùn)行,關(guān)系到整個(gè)系統(tǒng)輸出數(shù)據(jù)的穩(wěn)定性和正確性。如圖3所示,synchronizat1n_signal為固化在FPGA芯片上系統(tǒng)同步運(yùn)行模塊。其中,iCLK50M為外部硬件輸入時(shí)鐘脈沖,iRST為輸入復(fù)位信號(hào),oRST為輸出復(fù)位信號(hào),oEn為系統(tǒng)模塊使能輸出信號(hào),oCLR為系統(tǒng)模塊清零信號(hào)。
[0040]當(dāng)多路復(fù)用光子相關(guān)器上電后,系統(tǒng)同步運(yùn)行模塊即對(duì)iCLK50M進(jìn)行計(jì)數(shù),當(dāng)小于設(shè)定的值時(shí),oRST輸出為低電平,各模塊在這期間處于復(fù)位階段,同時(shí)加載默認(rèn)的初始值數(shù)據(jù)。其后oRST輸出高電平,各模塊正常工作。當(dāng)系統(tǒng)加載好系統(tǒng)采樣時(shí)間后,oEn用于驅(qū)動(dòng)多路相關(guān)運(yùn)算模塊和串口通?目模塊的運(yùn)行。在運(yùn)算的過程中,當(dāng)小于最小米樣時(shí)間,oEn輸出低電平,此時(shí)光子計(jì)數(shù)模塊開始計(jì)數(shù)。當(dāng)完成計(jì)數(shù)后,oEn輸出高電平。oCLR —開始輸出高電平,當(dāng)完成系統(tǒng)的采樣后,oCLR輸出低電平用于將各個(gè)模塊的數(shù)據(jù)清零。
[0041](2)多路光子計(jì)數(shù)器模塊
[0042]多路光子計(jì)數(shù)器模塊用于對(duì)光電倍增管輸出的多路光子數(shù)據(jù)進(jìn)行不間斷的計(jì)數(shù),是多路復(fù)用光子相關(guān)器進(jìn)行相關(guān)運(yùn)算的重要組成部分之一。多路光子計(jì)數(shù)模塊設(shè)計(jì)為兩個(gè)工作模式相同的光子計(jì)數(shù)器,通過周期性地輪流開啟能夠?qū)崿F(xiàn)不間斷地對(duì)各路光子數(shù)進(jìn)行計(jì)數(shù)和輸出。
[0043]多路光子計(jì)數(shù)模塊實(shí)現(xiàn)的功能除了對(duì)光子信號(hào)進(jìn)行計(jì)數(shù)外,還包括啟動(dòng)相關(guān)運(yùn)算模塊的多路移位寄存器進(jìn)行移位和多路乘法累加器進(jìn)行相乘累加運(yùn)算的功能,同時(shí)也控制著對(duì)不同的探測(cè)點(diǎn)進(jìn)行運(yùn)算。如圖4所示,PhotonCounter為固化在FPGA芯片上多路光子計(jì)數(shù)模塊。該電路有4根輸入線,3根輸出線。其中iRST為復(fù)位信號(hào)輸入,1CLK50M為50M的時(shí)鐘輸入,iCLR為模塊清零信號(hào),iPhotonPulse為光子脈沖信號(hào)。oDataCLK為數(shù)據(jù)的輸出時(shí)鐘,oMacWork為控制不同區(qū)域進(jìn)行相關(guān)運(yùn)算的區(qū)域標(biāo)志信號(hào)。oData[7..0]為計(jì)數(shù)結(jié)果的輸出。
[0044]多路光子計(jì)數(shù)模塊仿真波形如圖5。iRST為高電平時(shí),計(jì)數(shù)模塊正常工作,以最小采樣時(shí)間5us為例,當(dāng)5us計(jì)時(shí)到,oDataCLK拉為高電平,從oData[7..0]輸出數(shù)據(jù)。此時(shí)完成一個(gè)區(qū)域采樣,oMacffork輸出高電平的區(qū)域標(biāo)志信號(hào)給多路相關(guān)運(yùn)算模塊。
[0045](3)多路相關(guān)運(yùn)算模塊
[0046]多路相關(guān)運(yùn)算模塊是該系統(tǒng)的核心模塊,它實(shí)現(xiàn)的功能主要是對(duì)不同探測(cè)點(diǎn)的光子數(shù)據(jù)進(jìn)行自相關(guān)運(yùn)算,包括了多路移位寄存器模塊與多路乘法累加器模塊。多路移位寄存器模塊完成多路光子數(shù)據(jù)