《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 針對(duì)FPGA優(yōu)化的高分辨率時(shí)間數(shù)字轉(zhuǎn)換陣列電路
針對(duì)FPGA優(yōu)化的高分辨率時(shí)間數(shù)字轉(zhuǎn)換陣列電路
來(lái)源:電子技術(shù)應(yīng)用2011年第2期
楊 洋,阮?lèi)?ài)武,廖永波,吳文杰
電子科技大學(xué) 電子薄膜與集成器件國(guó)家重點(diǎn)實(shí)驗(yàn)室VLSI設(shè)計(jì)中心,四川 成都610054
摘要: 介紹一種針對(duì)FPGA優(yōu)化的時(shí)間數(shù)字轉(zhuǎn)換陣列電路。利用FPGA片上鎖相環(huán)對(duì)全局時(shí)鐘進(jìn)行倍頻與移相,通過(guò)時(shí)鐘狀態(tài)譯碼的方法解決了FPGA中延遲的不確定性問(wèn)題,完成時(shí)間數(shù)字轉(zhuǎn)換的功能。在Altera公司的FPGA上驗(yàn)證表明,本時(shí)間數(shù)字轉(zhuǎn)換陣列可達(dá)1.73 ns的時(shí)間分辨率。轉(zhuǎn)換陣列具有占用資源少,可重用性高,可以作為IP核方便地移植到其他設(shè)計(jì)中。
中圖分類(lèi)號(hào): TN47
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)02-0042-04
An FPGA-optimized high resolution time-to-digital converter array
Yang Yang,Ruan Aiwu,Liao Yongbo,Wu Wenjie
VLSI Design Center, State Key Lab of Electronic Thin Films and Integrated Devices, University of Electronic Science and Technology, Chengdu 610054,China
Abstract: An FPGA-optimized high resolution time-to-digital converter array is proposed. In this design, we adapt the on-chip PLL as the frequency double circuit and the clock phase shifter. We use the method of clock state decoding to solve the delay uncertainty for FPGA, thereby fulfill the time to digital convert. The circuit has been implemented via FPGA produced by Altera Corp. The result shows that the time resolution is 1.73 ns. It enjoys the advantages of less resource usage, high reusability and easy implantation as IP cores.
Key words : time-to-digital converter;FPGA;PLL;state decoding


    數(shù)字時(shí)間轉(zhuǎn)換電路TDC(Time-to-Digital Converter)是精密時(shí)間測(cè)量中的核心模塊,在粒子物理、激光測(cè)距、遙感成像等方面有非常廣泛的應(yīng)用。
    時(shí)間數(shù)字轉(zhuǎn)換電路起源于20世紀(jì)60年代的核技術(shù)與航空航天領(lǐng)域,文獻(xiàn)[1]首次提出數(shù)字時(shí)間測(cè)量的概念。時(shí)間間隔測(cè)量的方法可以大致分為模擬測(cè)量與數(shù)字測(cè)量?jī)纱箢?lèi)。模擬測(cè)量方法,包括時(shí)間幅度轉(zhuǎn)換TAC(Time-to-Amplitude Converter)法[2]與模擬時(shí)間放大法,都是通過(guò)電容充放電的特性把時(shí)間量轉(zhuǎn)換為可以測(cè)量的電壓量或者電荷量,從而達(dá)到測(cè)量時(shí)間的目的。但是在多數(shù)模擬測(cè)量方法中還需要進(jìn)行模數(shù)(AD)轉(zhuǎn)換來(lái)進(jìn)行數(shù)據(jù)的后續(xù)處理。此種方法通常由印制電路板上的不同分立元件與芯片構(gòu)成,因此功耗面積較大,依賴(lài)環(huán)境溫度且易受電磁干擾,電路調(diào)試也相對(duì)比較困難[3]。隨著大規(guī)模集成電路技術(shù)的成熟,單個(gè)芯片集成的晶體管數(shù)量成倍增長(zhǎng),計(jì)算能力與處理能力也大大提高。文獻(xiàn)[5]首次采用CMOS工藝設(shè)計(jì)出了一種基于環(huán)形延遲線(xiàn)的全數(shù)字時(shí)間數(shù)字轉(zhuǎn)換器,此外還有如延遲鎖定環(huán)[4]DLL(Delay Lock Loop)方法、高速計(jì)數(shù)器[7]方法、時(shí)間延遲線(xiàn)[8-13]方法等,都是利用器件本身的延遲來(lái)達(dá)到時(shí)間測(cè)量的目的。
    近年來(lái),由于FPGA技術(shù)的迅猛發(fā)展,在低成本低設(shè)計(jì)周期方面,F(xiàn)PGA已經(jīng)可以部分取代ASIC。它所特有的可重用性不僅增加了系統(tǒng)的靈活性、適應(yīng)性,也大大減小了系統(tǒng)的規(guī)模,極具開(kāi)發(fā)和研究的潛力。因此,針對(duì)FPGA進(jìn)行優(yōu)化的TDC設(shè)計(jì)方案成為研究人員關(guān)注的焦點(diǎn)。文獻(xiàn)[4]針對(duì)FPGA中延遲的一致性問(wèn)題,提出了采用類(lèi)似環(huán)形延時(shí)門(mén)設(shè)計(jì)的粗計(jì)數(shù)與細(xì)計(jì)數(shù)兩部分電路來(lái)完成時(shí)間數(shù)字轉(zhuǎn)換,達(dá)到了3.3 ns的時(shí)鐘分辨率。文獻(xiàn)[6]通過(guò)對(duì)文獻(xiàn)[5]的方法進(jìn)行改進(jìn),在CPLD上實(shí)現(xiàn)了時(shí)鐘分辨率達(dá)3.5 ns的TDC。本文針對(duì)解決FPGA延遲特性不確定的問(wèn)題,提出了一種采用時(shí)鐘狀態(tài)譯碼的方法進(jìn)行時(shí)間數(shù)字轉(zhuǎn)換的陣列電路CDTDC(Clock Decoder based TDC),陣列規(guī)模為16×16。在Altera公司的Cyclone II EP2C15上進(jìn)行仿真測(cè)試,工作頻率50 MHz,時(shí)鐘分辨率可達(dá)1.73 ns。
1 CDTDC陣列的工作原理
1.1 CDTDC計(jì)數(shù)模塊

    由于FPGA的硬件結(jié)構(gòu)限制,計(jì)數(shù)器在較高頻率下的工作不穩(wěn)定,在狀態(tài)轉(zhuǎn)換過(guò)程中易產(chǎn)生毛刺、跳碼,影響正確的系統(tǒng)輸出,時(shí)間分辨率很難提高[14]。為了避免此類(lèi)情況發(fā)生,加入結(jié)構(gòu)簡(jiǎn)單、占用資源少的細(xì)計(jì)數(shù)功能模塊來(lái)提高時(shí)間分辨率。本設(shè)計(jì)中采用二進(jìn)制計(jì)數(shù)器與時(shí)鐘狀態(tài)譯碼分別完成粗計(jì)數(shù)與細(xì)計(jì)數(shù),從而對(duì)時(shí)間間隔進(jìn)行測(cè)量。
    CDTDC陣列中單元電路的原理框圖如圖1所示,每個(gè)單元電路具有獨(dú)立的時(shí)間間隔測(cè)量功能。為了減小電路規(guī)模,粗計(jì)數(shù)模塊采用10 bit線(xiàn)性反饋移位寄存器(LFSR)實(shí)現(xiàn)。LFSR對(duì)計(jì)數(shù)時(shí)鐘進(jìn)行計(jì)數(shù),后續(xù)再對(duì)LFSR進(jìn)行狀態(tài)譯碼即可得到所計(jì)的時(shí)鐘數(shù)。計(jì)數(shù)時(shí)鐘來(lái)自片上鎖相環(huán)(PLL)對(duì)外部時(shí)鐘的倍頻。當(dāng)起始信號(hào)達(dá)到時(shí),接入系統(tǒng)時(shí)鐘開(kāi)始計(jì)數(shù);當(dāng)停止信號(hào)到達(dá)時(shí),計(jì)數(shù)/讀出時(shí)鐘使能信號(hào)變?yōu)檫壿嫷?,關(guān)閉連接LFSR時(shí)鐘輸入端的與門(mén),達(dá)到停止計(jì)數(shù)的功能。計(jì)數(shù)時(shí)鐘的工作頻率為150 MHz,因而粗計(jì)數(shù)模塊可以達(dá)到的時(shí)間測(cè)量范圍為6.8 μs。

    細(xì)計(jì)數(shù)模塊由上升沿觸發(fā)的鎖存器1、鎖存器2、計(jì)數(shù)時(shí)鐘與移相時(shí)鐘組成。為了提高時(shí)鐘分辨率,將計(jì)數(shù)時(shí)鐘移相90°,通過(guò)鎖存器鎖存兩個(gè)時(shí)鐘在停止信號(hào)到達(dá)時(shí)的邏輯電平作為狀態(tài)碼,進(jìn)而提高時(shí)間分辨率。具體過(guò)程是:當(dāng)停止信號(hào)達(dá)到時(shí),連接鎖存器時(shí)鐘輸入端的與門(mén)產(chǎn)生電平跳變,在上升沿把計(jì)數(shù)時(shí)鐘與移相時(shí)鐘的邏輯電平鎖存進(jìn)鎖存器中,時(shí)序圖如圖2所示。鎖存器1保持了停止信號(hào)到達(dá)時(shí)計(jì)數(shù)時(shí)鐘的時(shí)鐘狀態(tài),從而可將時(shí)鐘分辨率提高至?xí)r鐘周期的1/2;鎖存器2保持了移相時(shí)鐘在停止信號(hào)達(dá)到時(shí)的狀態(tài),從而將時(shí)鐘分辨率提高至?xí)r鐘周期的1/4。故在計(jì)數(shù)時(shí)鐘為150 MHz的情況下,時(shí)間分辨率的理論值為1.667 ns。


1.2 CDTDC讀出模塊
    當(dāng)對(duì)記錄的時(shí)間進(jìn)行數(shù)據(jù)讀出時(shí),需要輸入讀出時(shí)鐘。時(shí)鐘切換模塊在系統(tǒng)進(jìn)入讀出狀態(tài)時(shí)對(duì)移位寄存器的輸入時(shí)鐘進(jìn)行切換,完成數(shù)據(jù)的正確讀出。為了節(jié)約邏輯資源,采用組合邏輯電路對(duì)時(shí)鐘信號(hào)進(jìn)行切換控制。
    如圖1所示,當(dāng)系統(tǒng)工作在讀出模式時(shí),計(jì)數(shù)/讀出模式切換信號(hào)變?yōu)檫壿嫷?,關(guān)閉輸入計(jì)數(shù)時(shí)鐘的與門(mén),同時(shí)打開(kāi)輸入讀出時(shí)鐘的或門(mén),在計(jì)數(shù)/讀出使能信號(hào)允許的條件下,輸入讀出時(shí)鐘至LFSR的時(shí)鐘端口。多功能移位寄存器的時(shí)鐘切換同理。
    在計(jì)數(shù)/讀出模式切換信號(hào)允許的條件下,通過(guò)切換多路復(fù)用器斷開(kāi)LFSR的反饋輸入端,將多功能移位寄存器的輸出輸入LFSR中。多功能移位寄存器會(huì)自動(dòng)在并入串出與串入串出模式下進(jìn)行切換,首先將時(shí)鐘狀態(tài),即鎖存器的輸出移入,然后輸入前一個(gè)單元電路的輸出,如此每行相鄰的單元電路串聯(lián)直至數(shù)據(jù)輸出端。圖3為陣列電路結(jié)構(gòu)圖,對(duì)于16×16的陣列,每行一個(gè)數(shù)據(jù)讀出鏈。每個(gè)單元電路的讀出數(shù)據(jù)為12 bit,故每行信號(hào)的數(shù)據(jù)量為192 bit。如果數(shù)據(jù)讀出時(shí)鐘為10 MHz,則讀出時(shí)間為1/10 MHz×192=19.2 μs。如果陣列規(guī)模增大,則可提高讀出時(shí)鐘頻率。

1.3 CDTDC控制模塊
      鑒于系統(tǒng)需要自動(dòng)在計(jì)數(shù)與讀出兩種模式下進(jìn)行切換,并需復(fù)位相應(yīng)寄存器,本設(shè)計(jì)采用狀態(tài)機(jī)來(lái)控制CDTDC的模式切換??刂颇K狀態(tài)機(jī)示意圖如圖4所示。

    系統(tǒng)上電復(fù)位后,處于復(fù)位(10)狀態(tài)。在此狀態(tài)下,進(jìn)行移位寄存器的清零,同時(shí)復(fù)位所有控制信號(hào)至初始狀態(tài)。復(fù)位狀態(tài)持續(xù)4個(gè)時(shí)鐘周期,狀態(tài)跳轉(zhuǎn)到計(jì)數(shù)狀態(tài)。在計(jì)數(shù)(00)狀態(tài)下,計(jì)數(shù)/讀出模式切換信號(hào)禁止,系統(tǒng)工作在計(jì)數(shù)模式。接入計(jì)數(shù)時(shí)鐘,LFSR開(kāi)始計(jì)數(shù)。同時(shí),為使系統(tǒng)具有可配置性,在計(jì)數(shù)狀態(tài)中加入一個(gè)10 bit計(jì)數(shù)器來(lái)配置系統(tǒng)可以記錄的最大時(shí)間間隔。若屏蔽此計(jì)數(shù)器,則此狀態(tài)持續(xù)時(shí)間為系統(tǒng)可以達(dá)到的最大時(shí)間測(cè)量范圍,即6.8 μs。實(shí)際應(yīng)用中可根據(jù)用戶(hù)實(shí)際需要對(duì)計(jì)數(shù)器進(jìn)行配置來(lái)限制計(jì)數(shù)狀態(tài)的持續(xù)時(shí)間。計(jì)數(shù)狀態(tài)結(jié)束后跳轉(zhuǎn)到讀出(01)狀態(tài),計(jì)數(shù)/讀出模式切換信號(hào)允許,啟動(dòng)數(shù)據(jù)讀出模塊,完成記錄時(shí)間的讀出。如前所述,單行數(shù)據(jù)鏈需要的讀出時(shí)間約為20 μs。此后系統(tǒng)回到復(fù)位狀態(tài)準(zhǔn)備下次計(jì)數(shù)。
2 仿真測(cè)試與硬件實(shí)現(xiàn)
2.1 仿真結(jié)果分析
    本設(shè)計(jì)采用Altera公司的Quartus II與Mentor Graphics公司的Modelsim作為主要的設(shè)計(jì)工具。Cyclone系列FPGA具有片上鎖相環(huán)(PLL)模塊,可以對(duì)輸入時(shí)鐘進(jìn)行精確的倍頻、分頻、相位偏移、可編程占空比等操作。系統(tǒng)外部時(shí)鐘輸入頻率為50 MHz,通過(guò)配置片上PLL,可獲得3倍頻的計(jì)數(shù)時(shí)鐘與移相時(shí)鐘,5分頻的讀出時(shí)鐘。
    圖5為單元電路計(jì)數(shù)狀態(tài)仿真結(jié)果。rst為系統(tǒng)復(fù)位信號(hào),start為計(jì)數(shù)起始信號(hào),stop為計(jì)數(shù)停止信號(hào),cnt_clk為計(jì)數(shù)時(shí)鐘,shifted_clk為移相時(shí)鐘,state為狀態(tài)機(jī)狀態(tài)碼,shift_reg為多功能移位寄存器并行輸入端口,q為線(xiàn)性反饋移位寄存器輸出。在計(jì)數(shù)狀態(tài)下,當(dāng)stop產(chǎn)生正脈沖時(shí),LFSR停止計(jì)數(shù),多功能移位寄存器并行輸入鎖存器1與鎖存器2輸出的時(shí)鐘邏輯電平,記錄時(shí)鐘狀態(tài)。圖6為單元電路數(shù)據(jù)讀出狀態(tài)仿真時(shí)序圖,rd_out為讀出引腳,在讀出時(shí)鐘作用下,數(shù)據(jù)從移位寄存器中依次移出。

2.2 硬件測(cè)試
    時(shí)間數(shù)字轉(zhuǎn)換陣列在Cyclone II EP2C15芯片實(shí)現(xiàn),系統(tǒng)外部時(shí)鐘50 MHz。由函數(shù)發(fā)生器提供頻率為F的脈沖信號(hào),信號(hào)上升沿作為系統(tǒng)的起始信號(hào),下降沿作為系統(tǒng)的停止信號(hào),測(cè)得在不同頻率下的時(shí)鐘分辨率。測(cè)試數(shù)據(jù)表明時(shí)間分辨率的算術(shù)平均值為1.73 ns。
    通過(guò)仿真與硬件測(cè)試表明,本設(shè)計(jì)能夠準(zhǔn)確進(jìn)行時(shí)間數(shù)字轉(zhuǎn)換,各項(xiàng)功能均達(dá)到預(yù)期要求。以低密度低成本的Altera Cyclone II EP2C15作為目標(biāo)芯片的綜合報(bào)告顯示,單元電路占用FPGA邏輯資源約為0.375%,具有極低的資源占用率。本設(shè)計(jì)時(shí)間分辨率最高可達(dá)1.73 ns,并且實(shí)現(xiàn)原理簡(jiǎn)單,具有可行性。
參考文獻(xiàn)
[1] NUTT R.Digital Time Interval meter[J].The Review of Scientific Instruments,1968,39(9).
[2] STEVENS A E,R P Van Berg,J.Van der Spiegel,et al.A  time-to-voltage converter and analog memory for colliding beam detectors[J].IEEE J. Solid-State Circuits.1989,24(12):1748-1752
[3] 許春香,時(shí)偉,黃傳金,等.基于FPGA的高精度時(shí)間數(shù)字轉(zhuǎn)換電路設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,25(1):208-210.
[4] HELAL B M,STRAAYER M Z,GU YEON WEI,et al.A  low jitter 1.6 GHz multiplying DLL utilizing a scrambling  time-to-digital converter and digital correlation[J].VLSI Circuits,2007 IEEE Symposium on.166-167.
[5] IT Wantanabe,Y Makino,Y Ohtsuka.A CMOS time-to-digital converter LSl with half-nanosecond resolution using  a ring gate delay line[J].IEICE Trans.Electron,1993,E76-c(12):31-4.
[6] 福源,楊玉葉.高分辨率時(shí)間數(shù)字轉(zhuǎn)換電路的PLD實(shí)現(xiàn)叨[J].設(shè)計(jì)與開(kāi)發(fā),2006,3l(6):452-453.
[7] SAASKI O,TANIGUCHI T,OHSAKA T K,et al.1.2 GHz GaAs shift register IC for dead-time-less TDC application[J].IEEE Trans.Nucl.Sci.1989,36(2):512-516.
[8] RAHKONEN T,KOSTAMOVAARA J.The use of stabilized CMOS delay line for the digitization of short time intervals [J].IEEE Solid-State Circuits,1993,28(8):887-894.
[9] GOBRICS M S,KELLY J,ROBERTS K M,et al.A high resolution multihit time to digital converter integrated circuit [J].IEEE Trans.Nucl.Sci.1997,44(6):379-384.
[10] LJUSLIN C,CHRISTIANSEN J,MARCHIORO A,et al.An integrated 16-channel CMOS time to digital converter[J]. IEEE Trans.Nucl.Sci.1994,41(8):104-108.
[11] CHRISTIANSEN J.An integrated CMOS 0.15 ns digital timing generator for TDC’s and clock distribution systems[J].IEEE Trans.Nucl.Sci.1995,42(8):753-757.
[12] GRAY C T,LIU W,W A M Van Niije,et al.A sampling technique and its CMOS implementation with 1 Gb/s bandwidth and 25 ps resolution[J].IEEE J.Solid-State Circuits,1994,29(5):340-349.
[13] HATFIELD J V,HICKS P J,GOLDFINCH J.A ‘when  and where’ charged-particle sensing system[J].Sens.Actuators.1997.A61.356-360.
[14] 江曉山,盛華義.基于FPGA的時(shí)間測(cè)量方法的初步研究[J].核電子與探測(cè)技術(shù),2004,24(5):44l-442.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。