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

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

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


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

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

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

2.2 硬件測試
    時間數(shù)字轉(zhuǎn)換陣列在Cyclone II EP2C15芯片實現(xiàn),系統(tǒng)外部時鐘50 MHz。由函數(shù)發(fā)生器提供頻率為F的脈沖信號,信號上升沿作為系統(tǒng)的起始信號,下降沿作為系統(tǒng)的停止信號,測得在不同頻率下的時鐘分辨率。測試數(shù)據(jù)表明時間分辨率的算術(shù)平均值為1.73 ns。
    通過仿真與硬件測試表明,本設(shè)計能夠準確進行時間數(shù)字轉(zhuǎn)換,各項功能均達到預(yù)期要求。以低密度低成本的Altera Cyclone II EP2C15作為目標芯片的綜合報告顯示,單元電路占用FPGA邏輯資源約為0.375%,具有極低的資源占用率。本設(shè)計時間分辨率最高可達1.73 ns,并且實現(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] 許春香,時偉,黃傳金,等.基于FPGA的高精度時間數(shù)字轉(zhuǎn)換電路設(shè)計[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ù)字轉(zhuǎn)換電路的PLD實現(xiàn)叨[J].設(shè)計與開發(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的時間測量方法的初步研究[J].核電子與探測技術(shù),2004,24(5):44l-442.

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