《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > 针对FPGA优化的高分辨率时间数字转换阵列电路
针对FPGA优化的高分辨率时间数字转换阵列电路
来源:电子技术应用2011年第2期
杨 洋,阮爱武,廖永波,吴文杰
电子科技大学 电子薄膜与集成器件国家重点实验室VLSI设计中心,四川 成都610054
摘要: 介绍一种针对FPGA优化的时间数字转换阵列电路。利用FPGA片上锁相环对全局时钟进行倍频与移相,通过时钟状态译码的方法解决了FPGA中延迟的不确定性问题,完成时间数字转换的功能。在Altera公司的FPGA上验证表明,本时间数字转换阵列可达1.73 ns的时间分辨率。转换阵列具有占用资源少,可重用性高,可以作为IP核方便地移植到其他设计中。
中圖分類號: 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


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

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

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


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

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

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

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。

相關內容