(電子科技大學(xué)能源科學(xué)與工程學(xué)院,成都611731)
(電子科技大學(xué)能源科學(xué)與工程學(xué)院,成都611731)
為了解決電容充放電放大電路測量時(shí)間間隔的不穩(wěn)定,采用復(fù)雜可編程芯片F(xiàn)PGA設(shè)計(jì)實(shí)現(xiàn)精密時(shí)間間隔的測量。FPGA的鎖相環(huán)(PLL)電路得到高頻時(shí)鐘,時(shí)鐘管理器(DCM)實(shí)現(xiàn)高速時(shí)鐘移相,產(chǎn)生的內(nèi)插時(shí)鐘得到高精度時(shí)間測量。通過在光電回波脈沖時(shí)間間隔測量系統(tǒng)中驗(yàn)證,該設(shè)計(jì)可以得到200ps的時(shí)間間隔測量精度。采用FPGA芯片設(shè)計(jì)的粗和細(xì)數(shù)字化測量系統(tǒng),具有集成度高,性能穩(wěn)定,抗干擾強(qiáng),設(shè)計(jì)方便等優(yōu)點(diǎn),能廣泛應(yīng)用于科研和生產(chǎn)中。
時(shí)間間隔測量;FPGA;時(shí)鐘管理器;內(nèi)插時(shí)鐘
精密時(shí)間間隔測量在科研實(shí)驗(yàn)和實(shí)際生活生產(chǎn)中都有廣泛的用途。而且隨著科技的高速發(fā)展,人們對高精度測量的時(shí)間頻率也越來越高。傳統(tǒng)的測量方法很多,比如根據(jù)電容充電時(shí)間與電容電壓成線性關(guān)系而設(shè)計(jì)的電容放大電路[1],以及由此改進(jìn)的時(shí)間延展回路[2-3]。這種模擬測量方法的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,測量精度高,但是由于電容測量有一個充放電過程,在高頻下不穩(wěn)定,影響測量結(jié)果??蒲蓄I(lǐng)域中所依賴的專用時(shí)間間隔測量芯片主要是采用內(nèi)部延遲[4-9],比如門延遲來實(shí)現(xiàn)時(shí)間內(nèi)插,然后經(jīng)流片制成。這種芯片測量精度高,而且性能穩(wěn)定,但是制作周期長,性能單一,價(jià)格非常昂貴。針對上述優(yōu)缺點(diǎn),本設(shè)計(jì)結(jié)合國內(nèi)外發(fā)展現(xiàn)狀,用可編程邏輯芯片F(xiàn)PGA實(shí)現(xiàn)時(shí)間間隔測量,不僅可以達(dá)到精密時(shí)間間隔測量目的,而且可編程實(shí)現(xiàn)與計(jì)算機(jī)串口通信,使用方便,成本也低廉。
時(shí)間測量需要有大的測量范圍和高的測量精度,本設(shè)計(jì)用FPGA用“粗”時(shí)間計(jì)數(shù)(獲得大的測量范圍)加上“細(xì)”時(shí)間測量(高的測量精度)的方法測量位置信息。起始和終止信號脈沖前端處理后轉(zhuǎn)換成數(shù)字脈沖,經(jīng)過FPGA芯片內(nèi)部“粗”和“細(xì)”時(shí)間測量,“粗”和“細(xì)”時(shí)間測量結(jié)果存儲在FIFO中,最后經(jīng)整合經(jīng)串口送到PC機(jī)(圖1)。
圖1 系統(tǒng)結(jié)構(gòu)
“粗”時(shí)間測量由高速時(shí)鐘計(jì)數(shù),如圖2所示,CLK0為內(nèi)部時(shí)鐘,HIT1為計(jì)數(shù)開始信號,HIT2為計(jì)數(shù)停止信號。計(jì)數(shù)值為從HIT1信號有效后第一個上升沿開始計(jì)數(shù),直到HIT2信號有效時(shí)的前一個CLK0的上升沿時(shí)停止計(jì)數(shù)。計(jì)數(shù)值乘以2 ns即為“粗”時(shí)間。根據(jù)計(jì)數(shù)器的原理,“粗”時(shí)間間隔測量的最小量化誤差為一個計(jì)數(shù)周期,即2 ns。
圖2 內(nèi)插法原理圖
“細(xì)”時(shí)間測量由內(nèi)插法來測量。時(shí)間內(nèi)插測量原理如圖2所示,CLK0、CLK1、CLK2、CLK3、CLK4為內(nèi)插時(shí)鐘,相位相差2π/5.這樣5個時(shí)鐘組成的內(nèi)插數(shù)據(jù)位CLK[4…0](這里只有11001、10001、10011、00011、00111、00110、01110、01100、11100、11000共10種情況)相當(dāng)于把一個時(shí)鐘周期等分為10分。當(dāng)CLK頻率500 MHz時(shí),周期2 ns,那么每一等分的時(shí)間間隔為0.2 ns。
測量的時(shí)間間隔為T,則
其中Tc為“粗”時(shí)間,Tf為“細(xì)”時(shí)間?!凹?xì)”時(shí)間的測量是在HIT有效(上升沿)的瞬間,把由CLK組成的內(nèi)插數(shù)據(jù)CLK[4…0]鎖存起來。通過分析CLK[4…0]的數(shù)值來確定Tf的大小?!凹?xì)”時(shí)間測量是為了克服“粗”時(shí)間測量帶來的誤差。每個CLK0被等分成10分,經(jīng)“細(xì)”時(shí)間測量后,最小量化誤差為0.2 ns,即變?yōu)樵瓉淼?/10.從圖中也可以看出“細(xì)”時(shí)間Tf與內(nèi)插數(shù)據(jù)CLK[4…0]之間的關(guān)系。內(nèi)插數(shù)據(jù)CLK[4…0]11001、10001、10011、00011、00111、00110、01110、01100、11100、11000分別對應(yīng)的“細(xì)”時(shí)間Tf為1.9、1.7、1.5、1.3、1.1、0.9、0.7、0.5、0.3、0.1(單位ns)。
根據(jù)測量原理,測量系統(tǒng)主要包括以下幾部分:
采用FPGA內(nèi)部的鎖相環(huán)模塊,每個鎖相環(huán)模塊可以提供多路頻率可調(diào),相位可調(diào)的時(shí)鐘信號,因此我們可以用鎖相環(huán)模塊來產(chǎn)生所需要的內(nèi)插時(shí)鐘CLK?;蛘卟捎肐ODELAY,Xilinx的Virtex-5芯片均包含兩個IOB、兩個ILOGIC、兩個OLOGIC和兩個IODELAY,IODELAY1為可編程絕對延遲單元,具有32個Tap的環(huán)繞延遲單元,具有標(biāo)定的Tap分辨率。IODELAYE1允許各輸入信號有獨(dú)立的延遲。在規(guī)定的范圍內(nèi)選擇IDELAYCTRL參考時(shí)鐘,可以改變Tap延遲分辨率。IODELAYE1資源可用作IDELAY、ODELAY或組合延遲。IDELAYE1允許各輸入信號有獨(dú)立的延遲。延遲單元可以被校驗(yàn)到一個絕對延時(shí)固定值(TIDELAYRESOLUTION),這個值不隨工藝,電壓和溫度的變化而改變。IODELAYE1有4種操作模式:分別是零保持時(shí)間延遲模式(IDELAY_TYPE=DEFAULT)、固定延遲模式(IDELAY_TYPE=FIXED)、可變延遲模式(IDELAY _TYPE=VARIABLE)和可裝載的可變延時(shí)模式(IDELAY_TYPE=VAR_LOADABLE)。從設(shè)計(jì)簡便考慮,本次設(shè)計(jì)選用固定延遲模式,Xilinx的Virtex -5系列FPGA芯片有32條全局時(shí)鐘線,它們可以對整個器件進(jìn)行時(shí)鐘控制或驅(qū)動邏輯信號。時(shí)鐘管理技術(shù)(CMT)包含兩個DCM和一個PLL。用FPGA內(nèi)部的PLL(或DLL)倍頻得到500 MHz頻率,然后DCM移相[10],后面時(shí)鐘每次相位延遲2π/5。經(jīng)過PLL后相位鎖定,PLL可以補(bǔ)償網(wǎng)絡(luò)延時(shí)和時(shí)鐘去歪斜。Xilinx FPGA內(nèi)部的Ip核有時(shí)鐘管理模塊,直接調(diào)用該模塊可以方便設(shè)計(jì)。
針對第1個參考時(shí)鐘CLK0計(jì)數(shù)。考慮到在500 MHz頻率下計(jì)數(shù)器由于亞穩(wěn)態(tài)的干擾而產(chǎn)生誤差,本設(shè)計(jì)采用格雷碼計(jì)數(shù)器。格雷碼計(jì)數(shù)值的前后變化只有相鄰的1位發(fā)生變化,可以降低了多位bit同時(shí)變化帶來的毛刺,也就降低了噪聲[11]。
“細(xì)”時(shí)間測量在脈沖邊緣讀取5列時(shí)鐘的值,VHDL設(shè)計(jì)上升沿觸發(fā)的鎖存器要實(shí)現(xiàn)。測量值保存進(jìn)FIFO中。為了保證嚴(yán)格的時(shí)序,“細(xì)”時(shí)間測量與“粗”時(shí)間測量同時(shí)進(jìn)行。高速信號中,由于時(shí)鐘周期不是遠(yuǎn)遠(yuǎn)大于信號延遲時(shí)間,所以需要嚴(yán)格的分析芯片內(nèi)部連線,使內(nèi)部延時(shí)盡量一致,減少誤差。
為了讀寫方便,采用FIFO保存數(shù)據(jù),F(xiàn)IFO可以采用FPGA內(nèi)部存儲模塊IP核實(shí)現(xiàn)。FPGA使用RS232串口將數(shù)據(jù)上傳至計(jì)算機(jī)。計(jì)算機(jī)完成時(shí)間間隔數(shù)據(jù)值運(yùn)算和顯示。
實(shí)驗(yàn)仿真芯片采用 Xilinx的 Virtex-5芯片XC5VLX50,該芯片內(nèi)部集成DCM和DLL管理時(shí)鐘,Speed Grade=-3,16bit計(jì)數(shù)器最高工作頻率550 MHz,能滿足設(shè)計(jì)要求。
實(shí)驗(yàn)測試中,Hit1的脈沖時(shí)間在112.1ns,Hit2的脈沖在122.97ns,脈沖寬度均為1ns,時(shí)間間隔為10.87ns。測量結(jié)果如圖3所示。
圖3 仿真結(jié)果
Hitflop1和Hitflop2是兩個脈沖經(jīng)觸發(fā)器檢測到上升沿之后的波形,Tc是粗時(shí)間間隔,格雷碼表示的值為000111,十進(jìn)制數(shù)是5,所以粗時(shí)間間隔是5×2 ns=10 ns。Tf1是Hit1的細(xì)時(shí)間間隔,Tf1是00110,所以Tf1=0.9 ns。Tf2是11000,Tf2=0.1 ns。測量的時(shí)間間隔T=Tc+tf1-tf2=10+0.9-0.1=10.8 ns。時(shí)間測量誤差δ=0.07 ns。實(shí)驗(yàn)誤差比較小,可以達(dá)到精密測量的目的。
本設(shè)計(jì)結(jié)合國內(nèi)精密時(shí)間間隔測量的發(fā)展現(xiàn)狀,用數(shù)字方法,采用“粗”加“細(xì)”兩種測量方法相結(jié)合的方法進(jìn)行時(shí)間間隔測量,不僅提高了精度,而且可以獲得大的測量范圍,同時(shí)沒有模擬內(nèi)插法帶來的時(shí)間抖動。利用FPGA內(nèi)部的時(shí)鐘管理器(DCM)和鎖相環(huán)(PLL)可以獲得比較穩(wěn)定的內(nèi)部時(shí)鐘。高頻穩(wěn)定的時(shí)鐘是進(jìn)行該測試的前提,Xilinx新推出的很多芯片已經(jīng)能工作到500 MHz以上,為高頻測量和設(shè)計(jì)提供了方便。本設(shè)計(jì)是數(shù)字化測量,抗干擾能力強(qiáng),穩(wěn)定性實(shí)用性高,在科研生產(chǎn)中有一定的價(jià)值。
[1]安琪.精密時(shí)間間隔測量及其在大科學(xué)工程中的應(yīng)用[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),2008,38(7):758-764.
[2]范曉東,劉光斌.精密時(shí)間間隔測量系統(tǒng)方案設(shè)計(jì)[J].無線電工程,2010,40(9):55-57.
[3]于建國,陳明,唐渭.精密時(shí)間間隔測量方法的改進(jìn)[J].宇航計(jì)測技術(shù),2003,23(3):15-20.
[4]唐曉文,劉亞強(qiáng),崔均健.基于FPGA進(jìn)位鏈TDC延時(shí)模型的建立與性能測試[J].核電子學(xué)與探測技術(shù),2011,31(3):267-273.
[5]朱寅非,吳云峰,唐斌.超高速數(shù)字分幅相機(jī)中快門控制電路設(shè)計(jì)[J].電子器件,2012,35(5):611-614.
[6]陳柄權(quán).基于FPGA中專用進(jìn)位連線的精密TDC設(shè)計(jì)[J].湘潭大學(xué)自然科學(xué)學(xué)報(bào),2008,30(1):51-55.
[7]楊立濤.基于FPGA的精密時(shí)間間隔測量[D].蘭州:蘭州大學(xué),2011:20-34.
[8]宋健.基于FPGA的精密時(shí)間-數(shù)字轉(zhuǎn)換電路研究[D].中國科學(xué)技術(shù)大學(xué),2006:53-64.
[9]Aloisio A,Branchini P,Giordano R,et al.High-Precision Time-to-Digital Converter in a FPGA Device[R].IEEE Nuclear Science Symposium Conference Record,2009:290-294.
[10]吳帥,劉凱,徐欣.Virtex-5中動態(tài)DCM的設(shè)計(jì)方法[J].單片機(jī)與嵌入式系統(tǒng),2008(4):44-47.
[11]李莉.基于FPGA的多位格雷碼計(jì)數(shù)器[J].科學(xué)技術(shù)與工程,2009,9(23):7158-7161.
基于FPGA的時(shí)間間隔測量系統(tǒng)的設(shè)計(jì)*
瞿 鑫,吳云峰*,江 桓,李華棟,鄭天策
Design of Time Interval M easurement System Based on FPGA*
QU Xin,WU Yunfeng*,JIANG Huan,LIHuadong,ZHENG Tiance
(School of Energy Science and Engineering,University of electronic science and technology,Chengdu611731,China)
In order to solve the instability of the charge and discharge of capacitance in amplify circuitmeasurement time interval complex programmable FPGA chip is adopted to design and realize the precise measurement of the time interval.We use Phase-Locked Loop(PLL)and Digital Clock Manager(DCM)circuit of FPGA to realize interpolation of clock.Through verification in photoelectric echo pulse time intervalmeasurement system,we get a precision of 200ps time intervalmeasurement.The system of coarse and finemeasurement based on FPGA is characterized by a high level of integration,stable and reliable performance,strong anti-interference.It can be widely used in scientific research and production.
time intervalmeasurement;FPGA;digital clock manager;interpolation of clock
10.3969/j.issn.1005-9490.2013.06.016
TN702 文獻(xiàn)標(biāo)識碼:A 文章編號:1005-9490(2013)06-0825-03
項(xiàng)目來源:中國工程物理研究院流體物理研究所資助項(xiàng)目
2013-04-02修改日期:2013-04-21
EEACC:7210
瞿 鑫(1989-)男,漢族,湖南衡陽人,電子科技大學(xué)碩士研究生,主要研究方向?yàn)楣怆姕y控與精密儀器(電路系統(tǒng)),quxinnh@126.com;
吳云峰(1972-)男,漢族,電子科技大學(xué)光電信息工程學(xué)院博士,能源科學(xué)與工程學(xué)院副教授,研究生導(dǎo)師,主要研究方向?yàn)楣怆姍z測儀器,功率變換器與智能控制系統(tǒng)。在電子科技大學(xué)工作期間,作為課題負(fù)責(zé)人,完成了總裝新品項(xiàng)目和橫向課題10余項(xiàng),總經(jīng)費(fèi)超600萬;獨(dú)立或合作發(fā)表論文90余篇,一級學(xué)報(bào)發(fā)表論文20余篇,yfwu-72@163.com。