本發(fā)明涉及光子相關(guān)光譜測量技術(shù)領(lǐng)域,具體涉及一種軟件光子相關(guān)器及測量方法。
背景技術(shù):
光子相關(guān)器是提取散射光信號(hào)的相關(guān)函數(shù)的裝置。為了對(duì)光子脈沖的時(shí)間分布進(jìn)行統(tǒng)計(jì)和數(shù)據(jù)處理。一個(gè)光子相關(guān)器每經(jīng)過一個(gè)延遲時(shí)間t,對(duì)延遲時(shí)間內(nèi)接收的對(duì)光子脈沖計(jì)數(shù)。得到經(jīng)過k次延遲后的計(jì)數(shù)數(shù)據(jù)n(kt),用它與自身或其它信號(hào)經(jīng)過延遲的數(shù)據(jù)相乘和累加。從而得到一個(gè)光強(qiáng)關(guān)于時(shí)間的自相關(guān)函數(shù)。
對(duì)于這種計(jì)算,可以采用硬件相關(guān)器和軟件相關(guān)器。
對(duì)于硬件相關(guān)器,由硬件電路完成光子脈沖信號(hào)的相關(guān)性計(jì)算。
例如,在專利文獻(xiàn)1(cn101726452a)中,提供一種基于現(xiàn)場可編程門陣列的光子相關(guān)器,能用于光子相關(guān)光譜技術(shù)中光強(qiáng)自相關(guān)函數(shù)的硬件實(shí)現(xiàn),達(dá)到采樣時(shí)間、相關(guān)運(yùn)算時(shí)間可調(diào),延遲通道數(shù)目滿足納米顆粒測量與反演的要求;在專利文獻(xiàn)2(cn102313604a)中,提供一種基于復(fù)雜可編程邏輯器件和現(xiàn)場可編程門陣列的自適應(yīng)光子相關(guān)器;在專利文獻(xiàn)3(cn104792670a)中,提供一種基于現(xiàn)場可編程門陣列的多路復(fù)用光子相關(guān)器可將光子相關(guān)光譜測量技術(shù)從傳統(tǒng)的單點(diǎn)測量擴(kuò)展到三維空間測量,從而可用于動(dòng)態(tài)光散射二維、三維成像,多點(diǎn)動(dòng)態(tài)光散射信號(hào)監(jiān)測等領(lǐng)域。
目前,國內(nèi)較多的硬件相關(guān)器主要是進(jìn)口美國brookhaven公司bi-9000at、bi-9010at和turbocorr數(shù)字相關(guān)器,德國alv公司alv-6000、alv-7000系列數(shù)字相關(guān)器和美國www.correlator.com網(wǎng)站上提供的flex02等系列相關(guān)器。
雖然硬件光子相關(guān)器,實(shí)時(shí)性好,應(yīng)用廣泛,但是存在以下缺點(diǎn):
1、無法溯回相關(guān)運(yùn)算前的原始數(shù)據(jù);
2、采樣時(shí)間調(diào)整困難,往往只有幾個(gè)典型值可供選擇
3、通道數(shù)越多,增加通道越消耗硬件資源。大量乘法器與移位寄存器會(huì)導(dǎo)致設(shè)計(jì)無法滿足芯片可以承受的時(shí)序約束條件。
對(duì)于軟件光子相關(guān)器,指通過把取樣到的光子數(shù)存儲(chǔ)在存儲(chǔ)器中,通過計(jì)算機(jī)程序把計(jì)數(shù)數(shù)據(jù)讀出,進(jìn)而進(jìn)行數(shù)據(jù)處理的相關(guān)器。因此,采樣時(shí)和數(shù)據(jù)處理方法可以靈活地設(shè)定和修正。但是以下兩個(gè)技術(shù)難點(diǎn)限制了軟件光子相關(guān)器:
1、傳輸接口速度;
2、軟件實(shí)時(shí)處理能力。
這使得軟件相關(guān)器的做法所需的處理時(shí)間比硬件所需的處理時(shí)間長,并且當(dāng)大量的光子數(shù)被讀取進(jìn)行運(yùn)算時(shí),光子測量會(huì)被暫停,造成裝載效率低,實(shí)時(shí)性差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)中存在的問題,提出了一種軟件光子相關(guān)器及其測量方法,實(shí)現(xiàn)大量光子數(shù)的不間斷計(jì)數(shù),并提高實(shí)時(shí)運(yùn)算速率。
為達(dá)到上述發(fā)明的目的,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):
一種軟件光子相關(guān)器,接收經(jīng)樣品池散射的激光,包括:
光電倍增管,用于將接收到的散射光信號(hào)轉(zhuǎn)換為光子脈沖信號(hào);
光子采集器,包括光子計(jì)數(shù)模塊和fifo存儲(chǔ)器,所述光子計(jì)數(shù)模塊采用雙計(jì)數(shù)模式對(duì)光電倍增管的光子脈沖信號(hào)進(jìn)行交替計(jì)數(shù),fifo存儲(chǔ)器接收光子計(jì)數(shù)模塊的計(jì)數(shù)數(shù)據(jù);
pc端相關(guān)性運(yùn)算模塊,接收光子采集器的fifo存儲(chǔ)器的部分計(jì)數(shù)數(shù)據(jù),并進(jìn)行相關(guān)性運(yùn)算。
本發(fā)明還公開的一種軟件光子相關(guān)器測量方法,包括步驟如下:
步驟1,通過光電倍增管江接收到的散射光信號(hào)轉(zhuǎn)換為等幅光子脈沖信號(hào);
步驟2,采用交替采樣法對(duì)光子脈沖進(jìn)行無間斷計(jì)數(shù);
步驟3,每一次采樣完成后,在采樣時(shí)鐘信號(hào)的控制下,將計(jì)數(shù)數(shù)據(jù)送入fifo存儲(chǔ)器;
步驟4,判斷fifo存儲(chǔ)器是否達(dá)到存儲(chǔ)數(shù)據(jù)量閾值,是則將其中一部分?jǐn)?shù)據(jù)輸出給pc端相關(guān)性運(yùn)算模塊;
步驟5,實(shí)時(shí)計(jì)算光子計(jì)數(shù)數(shù)據(jù)的相關(guān)性,并輸出相關(guān)曲線;
步驟6,判斷是否收到停止測量指令,是的話清空并停止軟件光子相關(guān)器,否則進(jìn)入步驟4。
本發(fā)明的一種軟件光子相關(guān)器及其測量方法,通過兩個(gè)計(jì)數(shù)器交替計(jì)數(shù)實(shí)現(xiàn)光子脈沖的無間斷計(jì)數(shù),并利用fifo存儲(chǔ)器的先入先出機(jī)制,每過一個(gè)采樣時(shí)fifo存儲(chǔ)器中填充一個(gè)數(shù)據(jù),并且在fifo中數(shù)據(jù)達(dá)到一定數(shù)據(jù)量時(shí),數(shù)據(jù)被pc端運(yùn)算模塊取走一部分?jǐn)?shù)據(jù),并進(jìn)行相關(guān)性計(jì)算,實(shí)現(xiàn)大量光子數(shù)的不間斷計(jì)數(shù),并利用pc端高運(yùn)算能力提高實(shí)時(shí)運(yùn)算速率。
附圖說明
圖1為本發(fā)明的一種軟件光子相關(guān)器的系統(tǒng)結(jié)構(gòu)圖。
圖2為本發(fā)明的一種軟件光子相關(guān)器的光子采集器的硬件結(jié)構(gòu)。
圖3為圖2的fpga內(nèi)構(gòu)建的電路模塊圖。
圖4為圖3所示的光子計(jì)數(shù)模塊的結(jié)構(gòu)示意圖。
圖5為圖3所示的dma控制模塊的結(jié)構(gòu)示意圖。
圖6為本發(fā)明的一種軟件光子相關(guān)器的數(shù)據(jù)傳輸方式示意圖。
圖7為本發(fā)明的一種軟件光子相關(guān)器測量方法的步驟圖。
圖8為本發(fā)明實(shí)施例的實(shí)時(shí)測量模式的時(shí)序圖。
圖9為本發(fā)明實(shí)施例的實(shí)時(shí)測量模式的程序流程圖。
圖10為本發(fā)明實(shí)施例的單次測量模式測量的時(shí)序圖。
圖11為本發(fā)明實(shí)施例的單次測量模式測量的程序流程圖。
圖12為本發(fā)明實(shí)施例的pc端測量軟件界面的示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。
參看圖1,為本發(fā)明實(shí)施例的系統(tǒng)結(jié)構(gòu)圖,其公開一種軟件光子相關(guān)器,用于接收經(jīng)樣品池2散射的散射光信號(hào),在具體實(shí)施例中,激光設(shè)備1發(fā)出激光穿過樣品池2,該樣品池2中盛有樣品溶液a。
本發(fā)明的軟件相關(guān)器包括有:
光電倍增管3,用于將接收到的散射光信號(hào)轉(zhuǎn)換為光子脈沖信號(hào);在本實(shí)施例中,光電倍增管3還包括有用以放大光子脈沖信號(hào)的信號(hào)放大電路和對(duì)光子脈沖信號(hào)進(jìn)行甄別的甄別電路;
光子采集器4,參看圖3和圖6,包括光子計(jì)數(shù)模塊r31和fifo存儲(chǔ)器r41,所述光子計(jì)數(shù)模塊r31采用雙計(jì)數(shù)模式對(duì)光電倍增管3的光子脈沖信號(hào)進(jìn)行交替計(jì)數(shù),fifo存儲(chǔ)器r41接收光子計(jì)數(shù)模塊r31的計(jì)數(shù)數(shù)據(jù);
pc端相關(guān)性運(yùn)算模塊5,接收光子相關(guān)器4的fifo存儲(chǔ)器r41的部分計(jì)數(shù)數(shù)據(jù),并進(jìn)行相關(guān)性運(yùn)算。
所述光子采集器4在本實(shí)施例中,包括一個(gè)外殼r5,外殼r5側(cè)壁上設(shè)置光子脈沖輸入接口r11和傳輸控制指令與光子計(jì)數(shù)數(shù)據(jù)的usb接口r12,在外殼r5內(nèi)部設(shè)置電路板r2,電路板r2與光子脈沖輸入接口r11、usb接口r12通信連接,所述電路板r2上設(shè)有fpga芯片r3、mcu芯片r4以及保護(hù)電路(未圖示),所述fpga芯片r3內(nèi)固化有光子計(jì)數(shù)模塊r31,mcu芯片r4內(nèi)包括有fifo存儲(chǔ)器r41,通過光子計(jì)數(shù)模塊r31實(shí)現(xiàn)光子數(shù)的采集,通過fifo存儲(chǔ)器儲(chǔ)存包含光子計(jì)數(shù)數(shù)據(jù)的脈沖信息。所述光子脈沖輸入接口r11為輸入端,用于接收脈沖信號(hào),其接頭可用bnc接口或者sma接口。所述usb接口r12為輸入輸出端,用于光子采集器與計(jì)算機(jī)的通信。
在本實(shí)施例中,所述光子計(jì)數(shù)模塊r31采用的雙計(jì)數(shù)模式,參看圖4,具體為采用兩個(gè)計(jì)數(shù)器c1和c2交替采樣計(jì)數(shù),即通過對(duì)clkadd端固定頻率的輸入,計(jì)數(shù)器c1與計(jì)數(shù)器c2交替工作對(duì)photonpluse端的光子脈沖信號(hào)進(jìn)行計(jì)數(shù)。其交替工作的周期由cd端的信號(hào)進(jìn)行控制。當(dāng)一個(gè)計(jì)數(shù)周期完成后,對(duì)光子數(shù)鎖存,清空并關(guān)閉計(jì)數(shù)器c1(或計(jì)數(shù)器c2),同時(shí)打開另一個(gè)計(jì)數(shù)器,輸出端d輸出光子計(jì)數(shù)數(shù)據(jù)并且輸出同步脈沖信號(hào)clkout,實(shí)現(xiàn)光子脈沖的無間斷計(jì)數(shù)。
作為另一個(gè)具體實(shí)施例,參看圖3,在上述光子采集器4的基礎(chǔ)上,所述fpga芯片r3內(nèi)還固化有采樣時(shí)間控制模塊r32、直接存儲(chǔ)器訪問控制模塊r34和io控制模塊r35;其中的直接存儲(chǔ)器訪問控制模塊r34簡寫為dma控制模塊r34;
參看圖5,所述采樣時(shí)間控制模塊r32包括有解碼器和雙口隨機(jī)存取存儲(chǔ)器(簡寫為雙口ram),所述雙口ram的數(shù)據(jù)端da與地址端aa則接外部mcu芯片r4,數(shù)據(jù)端db與地址端ab則接譯碼器;所述解碼器接收mcu芯片或pc端發(fā)出的控制指令解析成控制信號(hào),輸出至雙口隨機(jī)存取存儲(chǔ)器,mcu模塊從雙口隨機(jī)存取存儲(chǔ)器讀取控制信號(hào),并輸送到直接存儲(chǔ)器訪問控制模塊和光子計(jì)數(shù)模。
所述控制指令包括查詢fifo存儲(chǔ)器狀態(tài)的指令和控制光子計(jì)數(shù)器采樣間隔的指令。
所述dma控制模塊r34,用于連接外部fifo,當(dāng)獲得寫入fifo權(quán)限時(shí),接入光子計(jì)數(shù)模塊r31的輸出端口,并將光子計(jì)數(shù)數(shù)據(jù)填充到fifo存儲(chǔ)器的存儲(chǔ)空間;dma控制模塊r34還輸出fifo狀態(tài)供mcu芯片r4或pc端查詢;
所述io控制模塊r35提供mcu芯片接入dma控制模塊r34的接口,即提供接入fpga芯片r3的接口。
參看圖6,mcu芯片通過dma控制模塊r34訪問采樣時(shí)間控制模塊r34,以寫入命令并且讀取狀態(tài)字。dma控制模塊r34讀取采樣時(shí)間控制模塊r34解析的控制信號(hào),并輸出至其它模塊,并且寫入光子相關(guān)器狀態(tài)。例如:計(jì)算機(jī)發(fā)送命令控制計(jì)數(shù)器的采樣間隔,譯碼器解析指令后dma控制模塊r34向計(jì)數(shù)模塊設(shè)置參數(shù);計(jì)算機(jī)發(fā)送命令詢問相關(guān)器fifo狀態(tài),譯碼器解析指令后dma控制模塊r34向雙口ram寫入fifo是否被寫滿。
上述軟件相關(guān)器進(jìn)行測量前,首先需要開通光電倍增管至pc端相關(guān)性運(yùn)算模塊5的數(shù)據(jù)鏈路,分別對(duì)相關(guān)器進(jìn)行初始化與設(shè)置。
參看圖6,相關(guān)器的初始化:
第一步、光子采集器4首先插入計(jì)算機(jī),獲取電能,mcu芯片r4響應(yīng)計(jì)算機(jī)usb協(xié)議,對(duì)設(shè)備完成枚舉,掛載在usb總線上;
第二步、fpga芯片r3與mcu芯片r4完成接口初始化,fpga芯片r3受dma控制模塊r34接口發(fā)來的命令控制,fpga芯片與mcu芯片r4內(nèi)的fifo存儲(chǔ)器r41相連;
第三步、mcu芯片r4與pc端相關(guān)性運(yùn)算模塊5完成usb接口初始化,mcu芯片r4向pc端相關(guān)性運(yùn)算模塊5提供雙向低速端點(diǎn)ep1接受計(jì)算機(jī)軟件發(fā)出指令并且響應(yīng);mcu芯片r4向pc端相關(guān)性運(yùn)算模塊5提供單向高速端點(diǎn)ep2傳輸fifo存儲(chǔ)器r41的數(shù)據(jù)至pc,完成相關(guān)器的初始化。
軟件相關(guān)器的設(shè)置:
用戶通過pc端相關(guān)性運(yùn)算模塊5向usb端點(diǎn)ep1發(fā)送指令,指令通過mcu解碼傳給fpga。fpga經(jīng)過譯碼采取相應(yīng)措施,例如:收到設(shè)置采樣時(shí)間為7微妙,采樣時(shí)長為180秒。對(duì)相應(yīng)的模塊進(jìn)行設(shè)置。
當(dāng)用戶通過軟件向usb端點(diǎn)ep1進(jìn)行詢問時(shí),指令通過mcu芯片r4譯碼,對(duì)相應(yīng)模塊進(jìn)行查詢,通過usb端點(diǎn)ep1答復(fù)計(jì)算機(jī)。例如回復(fù)fifo未滿。
參看圖12,為pc端相關(guān)性運(yùn)算模塊5的控制界面和相關(guān)性曲線顯示界面,通過界面上對(duì)應(yīng)選項(xiàng)的設(shè)置,向mcu芯片發(fā)送控制指令。
本發(fā)明還公開一種軟件光子相關(guān)器測量方法,參看圖7,包括步驟如下:
步驟1,通過光電倍增管江接收到的散射光信號(hào)轉(zhuǎn)換為等幅光子脈沖信號(hào);
步驟2,采用交替采樣法對(duì)光子脈沖進(jìn)行無間斷計(jì)數(shù);
步驟3,每一次采樣完成后,在采樣時(shí)鐘信號(hào)的控制下,將計(jì)數(shù)數(shù)據(jù)送入fifo存儲(chǔ)器;
步驟4,判斷fifo存儲(chǔ)器是否達(dá)到存儲(chǔ)數(shù)據(jù)量閾值,是則將其中一部分?jǐn)?shù)據(jù)輸出給pc端相關(guān)性運(yùn)算模塊;
步驟5,實(shí)時(shí)計(jì)算光子計(jì)數(shù)數(shù)據(jù)的相關(guān)性,并輸出相關(guān)曲線;通過自相關(guān)函數(shù)的相關(guān)曲線,可以通過反演程序計(jì)算出溶液a中的顆粒大小的以及分布情況;在計(jì)算機(jī)取得一部分?jǐn)?shù)據(jù)后,這部分?jǐn)?shù)據(jù)進(jìn)行相關(guān)性計(jì)算,同時(shí)將數(shù)據(jù)寫入硬盤,由于相關(guān)運(yùn)算后fifo存儲(chǔ)器仍然未被填滿,fifo存儲(chǔ)器中的數(shù)據(jù)又被及時(shí)讀出,所以數(shù)據(jù)采集并未中斷;
步驟6,判斷是否收到停止測量指令,是的話清空并停止軟件相關(guān)器,否則進(jìn)入步驟4。
所述步驟2的交替采樣法是采用第一采樣時(shí)鐘和第二采樣時(shí)鐘交替對(duì)等幅光子脈沖信號(hào)進(jìn)行無間斷計(jì)數(shù),所述第一采樣時(shí)鐘和第二采樣時(shí)鐘根據(jù)采樣時(shí)鐘信號(hào)的控制交替采樣,并將計(jì)數(shù)數(shù)據(jù)鎖存輸出。
所述步驟3還包括獲取fifo存儲(chǔ)器的寫入權(quán)限和存儲(chǔ)狀態(tài);當(dāng)寫入權(quán)限為準(zhǔn)許狀態(tài)時(shí),將計(jì)數(shù)數(shù)據(jù)寫入fifo存儲(chǔ)器;將獲取的存儲(chǔ)狀態(tài)發(fā)生給pc端以供監(jiān)控。
參看圖8和圖9,對(duì)于實(shí)時(shí)測量模式,在每一次采樣完成后,在采樣時(shí)鐘信號(hào)的控制下,計(jì)數(shù)器將計(jì)數(shù)結(jié)果送入fifo存儲(chǔ)器;同時(shí),計(jì)算機(jī)開始定時(shí)讀取fifo存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行相關(guān)性運(yùn)算,實(shí)時(shí)輸出相關(guān)性曲線。
參看圖10和圖11,對(duì)于單次測量模式,在計(jì)算機(jī)取得一部分?jǐn)?shù)據(jù)后,將數(shù)據(jù)先寫入硬盤。等到采集結(jié)束,再將數(shù)據(jù)進(jìn)行一次整體的相關(guān)性計(jì)算,得到相關(guān)性曲線。
參看圖12,為pc端相關(guān)性運(yùn)算模塊5的控制界面和相關(guān)性曲線顯示界面,通過界面上對(duì)應(yīng)選項(xiàng)的設(shè)置,向mcu芯片發(fā)送控制指令。
上述實(shí)施例僅用以說明本發(fā)明而并非限制本發(fā)明所描述的技術(shù)方案;因此,盡管本說明書參照上述的各個(gè)實(shí)施例對(duì)本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。