葉 惠,張安寧,王億芳,劉 延
(湖南師范大學(xué)物理與信息科學(xué)學(xué)院,中國(guó) 長(zhǎng)沙 410081)
基于FPGA技術(shù)的多通道符合計(jì)數(shù)器研制
葉 惠,張安寧*,王億芳,劉 延
(湖南師范大學(xué)物理與信息科學(xué)學(xué)院,中國(guó) 長(zhǎng)沙 410081)
設(shè)計(jì)了基于FPGA的多通道符合計(jì)數(shù)器,此設(shè)計(jì)將符合窗口時(shí)間的設(shè)定集成于FPGA器件中,因此集成度更高,并且通過實(shí)驗(yàn)進(jìn)行了模擬單光子探測(cè)器脈沖信號(hào)的符合測(cè)量,計(jì)數(shù)誤差為0.02%,能用于對(duì)糾纏光子對(duì)的判定.
符合計(jì)數(shù);糾纏光子對(duì);FPGA
符合測(cè)量最早由物理學(xué)家博思(Walth Bothe)用于判斷在光子和電子的碰撞中,能量和動(dòng)量守恒定律是否在每一次碰撞中均有效[1].博思由此獲得1954年諾貝爾物理學(xué)獎(jiǎng).符合計(jì)數(shù)技術(shù)在核物理與宇宙射線的研究領(lǐng)域被廣泛運(yùn)用.隨著符合計(jì)數(shù)技術(shù)不斷的發(fā)展,如今符合計(jì)數(shù)技術(shù)也被應(yīng)用于量子信息科學(xué)中多光子糾纏的測(cè)量和判定[2-3].
簡(jiǎn)單的符合計(jì)數(shù)系統(tǒng)可以用簡(jiǎn)單的門電路或乘法器來實(shí)現(xiàn)[4].但是隨著符合計(jì)數(shù)器復(fù)雜程度的增加,當(dāng)用于多通道符合測(cè)量時(shí),電路的復(fù)雜程度與成本將會(huì)隨之上升,此時(shí)信號(hào)在經(jīng)過門電路后產(chǎn)生的延遲將是無法控制的,很有可能影響到符合測(cè)量最終的結(jié)果[5].得益于數(shù)字電子技術(shù)的飛速發(fā)展[6-8],市場(chǎng)上商品化的符合計(jì)數(shù)器大多數(shù)是用專用集成電路(ASIC)完成的,這些計(jì)數(shù)器的測(cè)量能精確到PS一級(jí),并且有些還可實(shí)現(xiàn)符合窗口的隨意可調(diào).只是用ASIC實(shí)現(xiàn)符合計(jì)數(shù)器對(duì)儀器要求很高,且價(jià)格昂貴.但隨著現(xiàn)場(chǎng)可編程門陣列(FPGA)的快速發(fā)展[9],F(xiàn)PGA具有更多的門電路,體積更小成本更低,并且方便隨時(shí)修改設(shè)計(jì)直至滿足實(shí)驗(yàn)要求.本文設(shè)計(jì)了基于FPGA的多通道符合計(jì)數(shù)器,此設(shè)計(jì)將符合窗口時(shí)間的設(shè)定集成于FPGA器件中,因此集成度更高,并且通過實(shí)驗(yàn)進(jìn)行了模擬單光子探測(cè)器脈沖信號(hào)的符合測(cè)量.
實(shí)驗(yàn)要求對(duì)糾纏光子對(duì)進(jìn)行判定[10-11],在設(shè)計(jì)上只需要對(duì)在一個(gè)符合要求的固定的時(shí)間窗口內(nèi)的符合事件發(fā)生的次數(shù)進(jìn)行計(jì)數(shù),并不需要具體知道兩個(gè)信號(hào)之間的時(shí)間間隔.所以本實(shí)驗(yàn)最重要的設(shè)計(jì)要求是記錄下符合事件發(fā)生的次數(shù).符合計(jì)數(shù)時(shí)間窗口,也稱為符合分辨時(shí)間,為兩路脈沖能發(fā)生符合的最大間隔時(shí)間,它是判斷符合計(jì)數(shù)器性能的重要依據(jù).所以符合窗口的大小決定了整個(gè)實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性.大部分的符合計(jì)數(shù)器都是采用可編程延遲線來進(jìn)行符合時(shí)間窗口的設(shè)定,現(xiàn)一般可編程延遲線可提供精度為納秒量級(jí)的從納秒到微秒范圍的符合時(shí)間,例如多倫多大學(xué)的Alan Stummer所設(shè)計(jì)的11通道符合計(jì)數(shù)器就采用了這種方法.而作者的設(shè)計(jì)不采用可編程延遲線的方法來進(jìn)行符合時(shí)間窗口的設(shè)定,而是將可調(diào)整的延時(shí)模塊內(nèi)置于FPGA器件中,在實(shí)現(xiàn)相同功能的前提下,使得設(shè)計(jì)集成度更高,且成本降低.
圖1 通過或門后所產(chǎn)生的符合時(shí)間窗口Fig.1 The coincident time window produced by through the or gate
設(shè)計(jì)思路如下:監(jiān)視四路輸入,當(dāng)任何一路有上升沿輸入的時(shí)候采樣,如用現(xiàn)場(chǎng)可編程門陣列(FPGA)來實(shí)現(xiàn)的話,則是把四路信號(hào)分為另外同樣的四路信號(hào)取或之后(簡(jiǎn)稱為四路或),只要監(jiān)視這四路或信號(hào)是否有上升沿輸入.如有,則表示四路信號(hào)中至少有一路是有上升沿輸入的,而信號(hào)通過或門時(shí)肯定會(huì)有一定延時(shí)的(邏輯器件都有其延時(shí),F(xiàn)PGA也不例外,并且不同器件延時(shí)時(shí)間不同,一般加上線路延時(shí)不超過5 ns).那么正好得到信號(hào)輸入時(shí)刻與采樣時(shí)刻的一個(gè)延時(shí)(如圖1).而這個(gè)延時(shí)正是一個(gè)或門與傳輸線延時(shí)的總和,這正是作者所需要的符合時(shí)間窗口.經(jīng)過測(cè)量,作者所使用FPGA器件中或門延時(shí)為1~3 ns,符合實(shí)驗(yàn)的精度要求.值得注意的是,要求輸入信號(hào)的持續(xù)時(shí)間要大于此延時(shí)才能正常取樣.而在本實(shí)驗(yàn)中,單光子探測(cè)器的信號(hào)是12 ns寬,滿足這個(gè)前提條件.
符合計(jì)數(shù)器采樣時(shí),如果采到兩路或者更多路有高電平信號(hào),就表示在這段延時(shí)里出現(xiàn)了這幾路信號(hào).可認(rèn)為在該符合時(shí)間的精度下,這幾路信號(hào)是同時(shí)發(fā)生的,并且它的符合分辨時(shí)間就是此延時(shí).在該符合計(jì)數(shù)器中,實(shí)測(cè)或門加上線延時(shí)的總延時(shí)時(shí)間為1 ns,滿足本實(shí)驗(yàn)要求.在多光子糾纏領(lǐng)域的實(shí)際應(yīng)用中,符合時(shí)間窗口常為3 ns到5 ns間,所以作者在或門之前加入可調(diào)延時(shí)模塊,在或門延時(shí)過小時(shí)增大符合時(shí)間窗口,使實(shí)驗(yàn)更加靈活.使用時(shí)只需把采集到的相應(yīng)信號(hào)存儲(chǔ)下來,就可得到符合信號(hào)的計(jì)數(shù)統(tǒng)計(jì)信息.這與初始的設(shè)計(jì)思想相吻合.接下來只要把有用信號(hào)存儲(chǔ)并交與PC顯示即可.符合計(jì)數(shù)過程如圖2.
在取樣隨后的存儲(chǔ)和與PC交互的過程中,四路輸入的信號(hào)脈沖將被做為FPGA中的隨機(jī)存儲(chǔ)器的地址信號(hào)進(jìn)行存儲(chǔ),四路信號(hào)不同的電平將代表不同的地址,即存儲(chǔ)單元.四路輸入可以測(cè)量的符合情況有16種,不同符合情況下的計(jì)數(shù)統(tǒng)計(jì)將存儲(chǔ)在RAM內(nèi)16個(gè)不同的存儲(chǔ)單元中(如圖3所示).當(dāng)?shù)谝宦酚忻}沖信號(hào)輸入時(shí),RAM的地址為0001,此時(shí)0001所對(duì)應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)會(huì)進(jìn)行加1.
圖2 基于FPGA的符合計(jì)數(shù)過程Fig.2 The coincidence counting process based on FPGA
圖3 RAM中16個(gè)不同的存儲(chǔ)單元Fig.3 The 16 different storage units in RAM
當(dāng)在符合時(shí)間窗口內(nèi),第一路和第三路有信號(hào)脈沖上升沿發(fā)生,則RAM的地址為0101,相對(duì)應(yīng)的存儲(chǔ)單元也會(huì)進(jìn)行加1.本程序所設(shè)計(jì)的為每1 s進(jìn)行一次計(jì)數(shù)顯示,也就是在采樣開始之后,F(xiàn)PGA不斷地進(jìn)行符合情況的統(tǒng)計(jì)計(jì)數(shù),并且將統(tǒng)計(jì)存儲(chǔ)在RAM中,然后通過串口與PC進(jìn)行計(jì)數(shù)結(jié)果的傳輸,在PC上每1 s顯示一次計(jì)數(shù)結(jié)果,這樣使用者就能知道在這1 s之內(nèi),有哪些符合情況發(fā)生及發(fā)生的次數(shù),從而對(duì)糾纏光子對(duì)進(jìn)行判定.
2.1 Coindetected模塊
此模塊分為兩塊:第一部分實(shí)現(xiàn)四路或信號(hào)的延時(shí).這個(gè)模塊利用apd_dly <=apd[0]| apd[1]| apd[2]| apd[3](這里的邏輯或可以提供一個(gè)信號(hào)通過或門的延時(shí))得到apd_dly信號(hào)相對(duì)于四路原始信號(hào)的一個(gè)延時(shí).如果延時(shí)不夠,還可以用線的復(fù)用:apd_dly1 =apd_dly,來實(shí)現(xiàn)線的延時(shí).這個(gè)線的延時(shí)可以根據(jù)需求設(shè)置2級(jí)甚至更多.
延時(shí)信號(hào)主要用來判斷采樣的時(shí)機(jī).即該模塊的第二部分:采樣并發(fā)送數(shù)據(jù)給下一個(gè)模塊讓其能做出相應(yīng)的動(dòng)作.采樣時(shí)機(jī)的關(guān)鍵判斷如下:
always @(posedge clk or negedge rst_)
if(!rst_)
coin_detected_buf <=3′b0;
else
coin_detected_buf <={coin_detected_buf[1:0],pe_apd_latch_dly};
assign coin_detected =(coin_detected_buf[2:0] ==3′b001) &RunEn;
如此即得出一個(gè)模擬的符合窗口.
2.2 存儲(chǔ)模塊與自加模塊
該模塊的主要功能是進(jìn)行數(shù)據(jù)統(tǒng)計(jì)與存儲(chǔ).通過設(shè)置16個(gè)存儲(chǔ)器以此對(duì)應(yīng)四路信號(hào)可能發(fā)生符合的每一種狀況.分別是0000、0001、…、1110、1111.只要在coindetected模塊中采樣到了任意一種,這個(gè)模塊都會(huì)在對(duì)應(yīng)的存儲(chǔ)器上進(jìn)行數(shù)值的自加,并且把自加完的數(shù)據(jù)繼續(xù)存于這個(gè)存儲(chǔ)器中.
2.3 串口輸出模塊
為了便于更好地觀察實(shí)驗(yàn)數(shù)據(jù),本實(shí)驗(yàn)采用了串口協(xié)議來實(shí)現(xiàn)人機(jī)交互.串口的傳輸速率雖然比其他協(xié)議慢,但是可以滿足輸出數(shù)據(jù)的要求.并且串口協(xié)議是最簡(jiǎn)潔的協(xié)議,不管是輸入還是輸出都容易實(shí)現(xiàn).
作者在程序中設(shè)定一個(gè)固定的時(shí)間T.每過一個(gè)T時(shí)間,F(xiàn)PGA定期地把存儲(chǔ)模塊中各個(gè)存儲(chǔ)器的數(shù)據(jù)發(fā)往串口,通過終端的串口小助手,就可得到每個(gè)存儲(chǔ)器的數(shù)據(jù).進(jìn)而,也得到了有糾纏光子的次數(shù).此外,還增加了一個(gè)功能:從計(jì)算機(jī)上接收指令,F(xiàn)PGA會(huì)根據(jù)指令重啟.
現(xiàn)以作者所設(shè)計(jì)的符合計(jì)數(shù)器進(jìn)行實(shí)驗(yàn),F(xiàn)PGA選用了ALTERA公司的CycloneⅡEP2C8Q208N,通過Verilog HDL語(yǔ)言進(jìn)行功能程序編寫[12].工作頻率為100 MHz,通過USB-串口進(jìn)行數(shù)據(jù)傳輸,并且利用串口助手在PC上進(jìn)行計(jì)數(shù)顯示.單光子探測(cè)器所發(fā)出的脈沖信號(hào)脈寬為12 ns,作者將利用信號(hào)發(fā)生器制造脈沖信號(hào)(32 MHz脈沖信號(hào),脈寬為15.62 ns)來模擬單光子探測(cè)器所發(fā)出的電脈沖信號(hào)[13].在本設(shè)計(jì)中,每隔1 s,依次顯示16種情況的計(jì)數(shù)(第一種為0000,第二種為0001,一直到第十六種為1111).每一種情況的計(jì)數(shù)結(jié)果將依次通過八位16進(jìn)制的數(shù)進(jìn)行顯示.清零后第一秒計(jì)數(shù)結(jié)果顯示后,將緊接著顯示前兩秒鐘的計(jì)數(shù)結(jié)果,后面每一秒鐘增加一次,也就是第N秒鐘顯示的計(jì)數(shù)結(jié)果將是前面N秒鐘總共的計(jì)數(shù).圖4為截取的第一路和第二路同時(shí)輸入同樣的32 MHz脈沖信號(hào)時(shí),清零后第一秒測(cè)得的數(shù)據(jù),計(jì)數(shù)情況為0011,計(jì)數(shù)結(jié)果為第四種情況處所顯示的8位16進(jìn)制數(shù)8′h1E862B3,轉(zhuǎn)化為十進(jìn)制為32 006 835.
圖4 清零后0011信號(hào)輸入時(shí)第一秒計(jì)數(shù)結(jié)果顯示Fig.4 The first seconds counting results show when the input signal is 0011 after the reset
圖5為作者給第一路和第二路同時(shí)輸入同樣的32 MHz脈沖信號(hào)時(shí)測(cè)得的數(shù)據(jù),因?yàn)槭峭瑫r(shí)輸入相同的脈沖信號(hào),并且在50 MHz晶振通過FPGA倍頻達(dá)到100 MHz的時(shí)鐘頻率情況下,所以不管符合窗口時(shí)間設(shè)置為多少(此時(shí)符合時(shí)間窗口為或門延時(shí),即本系統(tǒng)最短符合時(shí)間窗口),清零后第一秒內(nèi)所發(fā)生的符合情況的次數(shù)都應(yīng)該與輸入信號(hào)頻率大小相差無幾.第二秒發(fā)生的次數(shù)則是頻率大小的兩倍.
圖5 0011信號(hào)輸入時(shí)計(jì)數(shù)結(jié)果顯示Fig.5 Counting results show when the input signal is 0011
由圖5可知,在第三個(gè)八位16進(jìn)制數(shù)的符合情況處有數(shù)據(jù)進(jìn)行統(tǒng)計(jì),因?yàn)樽髡呤菑挠?jì)數(shù)系統(tǒng)清零后開始工作,所以在第一秒的符合計(jì)數(shù)中,所發(fā)生的符合情況為0011,將16進(jìn)制轉(zhuǎn)換為十進(jìn)制可知此符合情況的的次數(shù)為32 006 835,第二秒統(tǒng)計(jì)次數(shù)轉(zhuǎn)換為十進(jìn)制為64 011 594,計(jì)數(shù)誤差為0.02%,可知此設(shè)計(jì)基本滿足實(shí)驗(yàn)要求.
圖6與圖7分別為輸入0101信號(hào)與輸入1111信號(hào)時(shí)的符合計(jì)數(shù)情況.因?yàn)橥瑫r(shí)輸入頻率為32 MHz脈沖,各種不同輸入情況所測(cè)得的計(jì)數(shù)結(jié)果應(yīng)該相差無幾,由圖6與圖7可知,測(cè)試結(jié)果正確.
圖6 0101信號(hào)輸入時(shí)符合計(jì)數(shù)情況Fig.6 Counting results show when the input signal is 0101
圖7 1111信號(hào)輸入時(shí)符合計(jì)數(shù)情況Fig.7 Counting results show when the input signal is 1111
設(shè)計(jì)了基于FPGA的多通道符合計(jì)數(shù)器,利用信號(hào)發(fā)生器模擬單光子探測(cè)器發(fā)出的信號(hào),測(cè)量了幾種不同情況信號(hào)輸入時(shí)的符合計(jì)數(shù)情況,計(jì)數(shù)誤差為0.02%,證明該符合計(jì)數(shù)器能用于對(duì)糾纏光子對(duì)進(jìn)行判定.相比于其他符合計(jì)數(shù)器,該設(shè)計(jì)具有三大優(yōu)勢(shì).第一,相比于ASIC,利用FPGA進(jìn)行設(shè)計(jì)價(jià)格更便宜,體積更?。溟_發(fā)難度較小,開發(fā)周期較短.并且當(dāng)需要更多路數(shù)據(jù)采集時(shí),F(xiàn)PGA器件更容易擴(kuò)展,基本不會(huì)增加成本.第二,由于FPGA可以方便地多次重復(fù)程序配置的特性,在該設(shè)計(jì)中可將調(diào)整延遲模塊內(nèi)置于FPGA中,通過對(duì)FPGA程序調(diào)整可任意改變符合時(shí)間窗口,滿足不同實(shí)驗(yàn)要求.因此該設(shè)計(jì)相比于其他基于FPGA的符合計(jì)數(shù)器集成度更高,更加簡(jiǎn)潔.第三,相比于TAC(時(shí)間-幅度轉(zhuǎn)換器)[13],該設(shè)計(jì)系統(tǒng)更加簡(jiǎn)潔.TAC不僅記錄符合事件發(fā)生的次數(shù),同時(shí)還測(cè)量發(fā)生符合的兩信號(hào)脈沖的時(shí)間間隔.因此TAC更多用于與時(shí)間相關(guān)的單光子計(jì)數(shù)等測(cè)量實(shí)驗(yàn)中.而該設(shè)計(jì)只記錄符合事件發(fā)生的次數(shù),專為多光子糾纏研究所研制.
[1] HUO Q, ZHANG J. Multi-channel coincidence counter for coincidence measurement[J]. Acta Sinica Quantum Optica, 2011,17(2):135-140.
[2] THORN J J, NEAL M S, DONATO V W,etal. Observing the quantum behavior of light in an undergraduate laboratory [J]. Am J Phys, 2004,72:1210-1219.
[3] CARLSON J A, OLMSTEAD M D, BECK M. Quantum mysteries tested: an experiment implementing hardy’s test of local realism [J]. Am J Phys, 2006,74:180-186.
[4] BRANNING D, BHANDARI S, BECK M. Low-cost coincidence-counting electronics for undergraduate quantum optics [J]. Am J Phys, 2009,77:667-670.
[5] BARONTI F, LAZZERI A, RONCELLA R,etal. FPGA/DSP-based Implementation of a high-performance multi-channel counter [J]. J Syst Arc, 2009,55(5-6):310-316.
[6] ZAPPA F, GULINATTI A, MACCAGNANI P,etal. SPADA: single-photon avalanche diode arrays[J]. Photo Tech Lett IEEE, 2005,17(3):657-659.
[7] 薛 輝,鄧 軍,葉柏龍,等.分布式數(shù)據(jù)交換平臺(tái)在電子政務(wù)中設(shè)計(jì)與實(shí)現(xiàn)[J].湖南師范大學(xué)自然科學(xué)學(xué)報(bào), 2012,35(6):44-47.
[8] NICLASS C, GERSBACH M, HENDERSON R,etal. A single-photon avalanche diode implemented in 130 nm CMOS technology [J]. J Sel Top Quantum Electron, 2007,13(4):863-869.
[9] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社, 2008.
[10] KWIAT P G, MATTLE K, WEINFURTER H,etal. New high intensity source of polarization entangled photon pairs [J]. Phys Rev Lett, 1995,75(24):4337-4341.
[11] JENNEWEIN T, SIMON C, WEIHS G,etal. Quantum cryptography with entangled photons[J]. Phys Rev Lett, 2000,84(20):4729-4732.
[12] 周潤(rùn)景,蘇良碧.基于Quartus II的數(shù)字系統(tǒng)Verilog HDL設(shè)計(jì)實(shí)例詳解[M].北京:電子工業(yè)出版社, 2010.
[13] 李 勇,蘇 弘,千 奕,等.多道時(shí)間幅度變換電路的設(shè)計(jì)[J].核電子學(xué)與探測(cè)技術(shù), 2006,26(4):454-457.
(編輯 陳笑梅)
Design of the Multi-Channel Coincidence Counter Based on FPGA
YEHui,ZHANGAn-ning*,WANGYi-fang,LIUYan
(Institute of Physics and Information Science, Hunan Normal University, Changsha 410081, China)
Based on FPGA a multi-channel coincidence counter is designed, in which the setting of window time is integrated in FPGA in order to improve the integration of the system. Furthermore, the coincidence counting experiment is conducted by using signal generator to simulate the pulse signal produced by single photo detector. Results show that the error of measurement is 0.02%, and it can be used to judge the entangled photon pairs.
coincidence counting; entangled photon pairs; FPGA
2013-11-19
國(guó)家自然科學(xué)基金青年基金資助項(xiàng)目(60907031); 教育部留學(xué)人員科研啟動(dòng)基金資助項(xiàng)目((2010)1174)
*
,E-mailanzhang@hunnu.edu.cn
O431.2
A
1000-2537(2014)01-0053-05