專利名稱:時(shí)間測量系統(tǒng)及時(shí)間測量方法
技術(shù)領(lǐng)域:
本申請涉及一種測量系統(tǒng),尤其涉及一種時(shí)間測量系統(tǒng)及方法。
背景技術(shù):
高精度時(shí)間測量技術(shù)在 現(xiàn)代科學(xué)技術(shù)的諸多領(lǐng)域都需要被應(yīng)用,例如電信通訊、激光測距、衛(wèi)星定位等,尤其在物理學(xué)各領(lǐng)域中的應(yīng)用更為廣泛,諸如原子核物理、高能物理、醫(yī)學(xué)影像物理等領(lǐng)域都離不開高精度時(shí)間測量技術(shù)。時(shí)間測量一般包括時(shí)間甄別和時(shí)間數(shù)字轉(zhuǎn)換(Time-To-Digital Converter, TDC)兩部分。目前高精度 TDC 主要有 ASIC (Application Specific Integrated Circuit,專用集成電路)、專用TDC芯片、FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)等多種實(shí)現(xiàn)方式,由于研發(fā)成本和研發(fā)周期等方面的原因,使得基于ASIC實(shí)現(xiàn)TDC的方案受到很大限制,專用TDC芯片又存在集成度低和使用不方便的問題。利用FPGA進(jìn)行時(shí)間測量是一種比較新的時(shí)間測量方法,相較ASIC和專用TDC芯片的實(shí)現(xiàn)方式,該方法可降低測量系統(tǒng)的復(fù)雜性和成本。在專利申請CN1719353A中闡述了一種利用FPGA實(shí)現(xiàn)的TDC器件。該專利申請的主要特點(diǎn)是使用FPGA內(nèi)部延遲線、多位加法器或者查找表LUT來測量精細(xì)時(shí)間,利用兩個(gè)反相時(shí)鐘驅(qū)動(dòng)的計(jì)數(shù)器來測量粗時(shí)間,并且使用折半查找和流水線技術(shù)來實(shí)現(xiàn)精細(xì)時(shí)間編碼。但是,該技術(shù)還存在以下幾方面缺陷,致使難以實(shí)現(xiàn)該技術(shù)的實(shí)際應(yīng)用。I.該專利申請不對時(shí)間起點(diǎn)進(jìn)行測量,由于起始信號通常由外部提供,與TDC時(shí)間插值所使用的高速時(shí)鐘不同源,起始信號的上升沿與時(shí)鐘前沿之間的相位不確定。因此,不對起始信號進(jìn)行測量大大降低了現(xiàn)有時(shí)間測量技術(shù)的實(shí)用性。2.該專利申請采用FPGA內(nèi)部的進(jìn)位連線、LUT (Look-Up-Table,查找表)、多位加法器等構(gòu)建延遲鏈,所構(gòu)建的延遲鏈不夠均勻,而延遲鏈性能不佳將嚴(yán)重影響時(shí)間測量的精度。該專利申請使用折半查找和流水線技術(shù)來實(shí)現(xiàn)時(shí)間編碼,需要耗費(fèi)大量的FPGA邏輯資源,且需要耗費(fèi)較長的時(shí)間才能輸出測量結(jié)果。
發(fā)明內(nèi)容
在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。本發(fā)明的一個(gè)主要目的在于提供一種實(shí)用性強(qiáng)且時(shí)間測量精確的時(shí)間測量系統(tǒng)和方法。根據(jù)本發(fā)明的一個(gè)方面,一種時(shí)間測量系統(tǒng),用以測量待測時(shí)間,包括起始信號精細(xì)時(shí)間測量單元,包括由多個(gè)第一延遲單元串聯(lián)而成的第一延遲鏈、多個(gè)第一寄存器以及第一數(shù)據(jù)轉(zhuǎn)換器,當(dāng)沒有信號輸入的時(shí)候,各第一延遲單元輸出均為第一電平,各第一寄存器與各第一延遲單元對應(yīng)連接,第一數(shù)據(jù)轉(zhuǎn)換器連接至各第一寄存器,第一延遲鏈的一端用于接收起始信號,使接收到起始信號的第一延遲單元的輸出依次變?yōu)榈诙娖?,各第一寄存器用于在輸入起始信號后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,第一數(shù)據(jù)轉(zhuǎn)換器用于將各第一寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取起始信號精細(xì)時(shí)間;定時(shí)信號精細(xì)時(shí)間測量單元,包括由多個(gè)第二延遲單元串聯(lián)而成的第二延遲鏈、多個(gè)第二寄存器以及第二數(shù)據(jù)轉(zhuǎn)換器,當(dāng)沒有信號輸入的時(shí)候,各第二延遲單元輸出均為第一電平,各第二寄存器與各第二延遲單元對應(yīng)連接,第二數(shù)據(jù)轉(zhuǎn)換器連接至各第二寄存器,第二延遲鏈的一端用于接收定時(shí)信號,使接收到定時(shí)信號的第二延遲單元的輸出依次 變?yōu)榈诙娖?,各第二寄存器用于在定時(shí)信號輸入第二延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,第二數(shù)據(jù)轉(zhuǎn)換器用于將各第二寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取定時(shí)信號精細(xì)時(shí)間; 粗時(shí)間測量單元,用于測量粗時(shí)間,粗時(shí)間為起始信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期到定時(shí)信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期之間的時(shí)間段;以及時(shí)間計(jì)算單元,用于將粗時(shí)間和起始信號精細(xì)時(shí)間之和減去定時(shí)信號精細(xì)時(shí)間以獲取待測時(shí)間。根據(jù)本發(fā)明的一個(gè)方面,一種時(shí)間測量方法,用以測量待測時(shí)間,包括由多個(gè)第一延遲單元串聯(lián)而成的第一延遲鏈的一端接收起始信號,使接收到起始信號的第一延遲單元的輸出依次變?yōu)榈诙娖剑谄鹗夹盘栞斎氲谝谎舆t鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)通過對應(yīng)連接至第一延遲單元的多個(gè)第一寄存器讀取各第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,將所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以得到起始信號精細(xì)時(shí)間,其中當(dāng)沒有信號輸入的時(shí)候,各第一延遲單元輸出均為第一電平;由多個(gè)第二延遲單元串聯(lián)而成的第二延遲鏈的一端接收定時(shí)信號,使接收到定時(shí)信號的第二延遲單元的輸出依次變?yōu)榈诙娖剑诙〞r(shí)信號輸入第二延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)通過對應(yīng)連接至第二延遲單元的多個(gè)第二寄存器讀取各第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,將所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以得到定時(shí)信號精細(xì)時(shí)間,其中當(dāng)沒有信號輸入的時(shí)候,各第二延遲單元輸出均為第一電平;測量粗時(shí)間,粗時(shí)間為起始信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期到定時(shí)信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期之間的時(shí)間段;以及將起始信號精細(xì)時(shí)間與粗時(shí)間之和減去定時(shí)信號精細(xì)時(shí)間以獲取待測時(shí)間。本發(fā)明通過引入起始信號為待測時(shí)間的測量提供參考點(diǎn),并采用內(nèi)插延遲鏈對起始信號上升沿與其后的第一個(gè)時(shí)鐘上升沿之間的時(shí)間以及定時(shí)信號前沿與其后第一個(gè)時(shí)鐘上升沿之間的時(shí)間進(jìn)行精細(xì)測量,結(jié)合在時(shí)鐘信號驅(qū)動(dòng)下的粗測量獲取精確的待測時(shí)間,解決了起始信號與FPGA芯片內(nèi)部的時(shí)鐘信號不同源所造成的測量精度不高的問題,同時(shí)引入起始信號作為參考點(diǎn)提升了時(shí)間測量的實(shí)用性。
參照下面結(jié)合附圖對本發(fā)明實(shí)施例的說明,會(huì)更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。圖I為本發(fā)明時(shí)間測量系統(tǒng)較佳實(shí)施方式的方框圖。圖2為參考時(shí)鐘信號、起始信號和定時(shí)信號的仿真示意圖。圖3為對延遲鏈的輸出數(shù)據(jù)進(jìn)行分段查找時(shí)的示意圖。圖4為本發(fā)明時(shí)間測量方法較佳實(shí)施方式的流程圖。
具體實(shí)施例方式下面參照附圖來說明本發(fā)明的實(shí)施例。在本發(fā)明的一個(gè)附圖或一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。請參考圖1,本發(fā)明實(shí)施例的時(shí)間測量系統(tǒng)用以測量待測時(shí)間,其包括粗時(shí)間測量單元10、起始信號精細(xì)時(shí)間測量單元20、定時(shí)信號精細(xì)時(shí)間測量單元30及時(shí)間計(jì)算單元40。本發(fā)明實(shí)施例中的時(shí)間測量系統(tǒng)可集成在FPGA芯片中??蛇x地,粗時(shí)間測量單元10在FPGA芯片的時(shí)鐘信號CLOCK的驅(qū)動(dòng)下測量粗時(shí)間。可選地,粗時(shí)間測量單元10可為FPGA芯片中的時(shí)鐘計(jì)數(shù)器。待測時(shí)間T是定時(shí)時(shí)刻與起始時(shí)刻之間的時(shí)間差,例如,參考圖2,待測時(shí)間T為待測的定時(shí)信號Tstop與起始信號Tstart之間的時(shí)間差。本發(fā)明實(shí)施例的待測時(shí)間T可以通過粗時(shí)間Tc、起始信號精細(xì)時(shí)間Tfl和定時(shí)信號精細(xì)時(shí)間Tf2來計(jì)算。粗時(shí)間Tc指通過對參考信號(例如,圖I和圖2中的CLOCK信號)的時(shí)間周期計(jì)數(shù)而測得的時(shí)間。如圖2所示,粗時(shí)間Tc是粗起始時(shí)刻Tcl和粗定時(shí)時(shí)刻Tc2之間的時(shí)間差。粗起始時(shí)刻Tcl是指在進(jìn)行粗時(shí)間測量時(shí)開始計(jì)時(shí)的時(shí)間,粗定時(shí)時(shí)刻Tc2是指進(jìn)行粗時(shí)間測量時(shí)停止計(jì)時(shí)的時(shí)間。在一個(gè)實(shí)例中,如圖2所示,粗時(shí)間Tc是起始信號Tstart前沿之后的參考信號的第一個(gè)時(shí)鐘周期的前沿到定時(shí)信號Tstop前沿之后的參考信號的第一個(gè)時(shí)鐘周期的前沿之間的時(shí)間段,其中,粗起始時(shí)刻Tcl是起始信號Tstart前沿之后的參考信號的第一個(gè)時(shí)鐘周期的前沿。粗定時(shí)時(shí)刻Tc2是定時(shí)信號Tstop前沿之后的參考信號的第一個(gè)時(shí)鐘周期的前沿。起始信號精細(xì)時(shí)間Tfl是粗起始時(shí)刻Tcl與起始時(shí)刻之間的時(shí)間差的絕對值,定時(shí)信號精細(xì)時(shí)間Tf2是定時(shí)時(shí)刻與粗定時(shí)時(shí)刻Tc2之間的時(shí)間差的絕對值。在圖2中,起始信號精細(xì)時(shí)間TH是指起始信號Tstart前沿后的參考信號的第一個(gè)時(shí)鐘前沿與起始信號Tstart前沿之間的時(shí)間差的絕對值;定時(shí)信號精細(xì)時(shí)間Tf2是指定時(shí)信號Tstop前沿與其后的第一個(gè)時(shí)鐘上升沿之間的時(shí)間差的絕對值。起始信號精細(xì)時(shí)間和定時(shí)信號精細(xì)時(shí)間均小于一個(gè)時(shí)鐘周期,因此不能由時(shí)鐘計(jì)數(shù)器測得。于是,本發(fā)明實(shí)施例的待測時(shí)間T可以通過將粗時(shí)間Tc加上起始信號精細(xì)時(shí)間Tfl,然后減去定時(shí)信號精細(xì)時(shí)間Tf2來計(jì)算。在一個(gè)實(shí)例中,參考信號可以米用FPGA內(nèi)部的時(shí)鐘信號??蛇x地,起始信號精細(xì)時(shí)間測量單元20可包括由多個(gè)第一延遲單元串聯(lián)而成的第一延遲鏈、多個(gè)第一寄存器以及第一數(shù)據(jù)轉(zhuǎn)換器。各第一寄存器與各第一延遲單元對應(yīng)、連接形成第一寄存器陣列,第一數(shù)據(jù)轉(zhuǎn)換器連接至各第一寄存器??蛇x地,第一延遲單元為FPGA芯片中的延遲單元,即進(jìn)位單元(如MUXCY)。各第一延遲單元可以通過進(jìn)位線串聯(lián)連接。起始信號精細(xì)時(shí)間測量單元20用于接收起始信號Tstart,該起始信號Tstart可由外部提供,也可由本發(fā)明的實(shí)施例的時(shí)間測量系統(tǒng)內(nèi)部產(chǎn)生。當(dāng)沒有信號輸入的時(shí)候,各第一延遲單元輸出均為第一電平(例如為低電平),第一延遲鏈的一端接收起始信號Tstart,使各接收到起始信號Tstart的第一延遲單元的輸出依次變?yōu)榈诙娖?例如為高電平)。在粗起始時(shí)刻Tcl,也就是,在本實(shí)施例的圖I中,在起始信號Tstart輸入第一延遲鏈后的CLOCK信號第一個(gè)時(shí)鐘上升沿時(shí),各第一寄存器讀取與其對應(yīng)連接的第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存。第一數(shù)據(jù)轉(zhuǎn)換器將各第一寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù),即得到起始信號精細(xì)時(shí)間TH??蛇x地,定時(shí)信號精細(xì)時(shí)間測量單元30也包括由多個(gè)第二延遲單元串聯(lián)而成的第二延遲鏈、多個(gè)第二寄存器以及第二數(shù)據(jù)轉(zhuǎn)換器,其結(jié)構(gòu)與起始信號精細(xì)時(shí)間測量單元20的結(jié)構(gòu)類似,各第二寄存器與各第二延遲單元對應(yīng)連接形成第二寄存器陣列,第二數(shù)據(jù) 轉(zhuǎn)換器連接至各第二寄存器。定時(shí)信號精細(xì)時(shí)間測量單元30獲取定時(shí)信號精細(xì)時(shí)間Tf2和起始信號精細(xì)時(shí)間測量單元20獲取起始信號精細(xì)時(shí)間TH的原理類似,第二延遲鏈的一端用于接收定時(shí)信號Tstop,使接收到定時(shí)信號Tstop的第二延遲單元的輸出依次變?yōu)榈诙娖?。在粗定時(shí)時(shí)刻Tc2,也就是,在本實(shí)施例的圖I中,在定時(shí)信號輸入第二延遲鏈后的CLOCK信號的第一個(gè)時(shí)鐘上升沿時(shí),各第二寄存器讀取與其對應(yīng)連接的第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,第二數(shù)據(jù)轉(zhuǎn)換器用于將各第二寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取定時(shí)信號精細(xì)時(shí)間Tf2??蛇x地,本發(fā)明的實(shí)施例中,各第一寄存器分別對應(yīng)不同的時(shí)間數(shù)據(jù),各第二寄存器也分別對應(yīng)不同的時(shí)間數(shù)據(jù)。第一、第二數(shù)據(jù)轉(zhuǎn)換器查找第一、第二寄存器陣列所存儲(chǔ)的第二電平數(shù)據(jù),以查找起始信號Tstart或定時(shí)信號Tstop在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn),并通過編碼輸出與該終點(diǎn)相對應(yīng)的時(shí)間數(shù)據(jù),便可獲得起始信號精細(xì)時(shí)間Tfl或定時(shí)信號精細(xì)時(shí)間Tf2??蛇x地,本發(fā)明的實(shí)施例中,利用分段查找法查找第一、第二寄存器陣列所存儲(chǔ)的第二電平數(shù)據(jù)。以圖3所示為例進(jìn)行說明,分段查找的方法如下步驟I :將第一或第二寄存器陣列的輸出從最高位到最低位依次分為多個(gè)組,如圖3中的組a、b、c、d,其中最高組a的最高位a6為延遲鏈的尾部,最低組d的最低位dl為延遲鏈的首部,首先判斷最高組a的最低位al,若最高組a的最低位al為第二電平,說明信號已傳輸至此處,則從最高組a的最高位a6依次往下查找起始信號或定時(shí)信號傳輸?shù)慕K點(diǎn),即從最高組a的最高位a6開始往下查找第一個(gè)第二電平的位置。步驟2 :若最高組a的最低位al為第一電平,說明信號尚未傳輸至此處,則判斷次聞組b的最低位bl,若次聞組b的最低位bl為第_■電平,則從次聞組b的最聞位b6開始往下查找第一個(gè)第二電平的位置。步驟3 :以此類推,直至查找到第一個(gè)第二電平的位置,以找到起始信號或定時(shí)信號在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn),使得第一或第二數(shù)據(jù)轉(zhuǎn)換器獲得起始信號Tstart或定時(shí)信號Tstop在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn)所對應(yīng)的時(shí)間數(shù)據(jù),即得到起始信號精細(xì)時(shí)間Tfl或定時(shí)信號精細(xì)時(shí)間Tf2。時(shí)間計(jì)算單元40根據(jù)粗時(shí)間測量單元10所測量的粗時(shí)間Tc、起始信號精細(xì)時(shí)間測量單元20所測量的起始信號精細(xì)時(shí)間Tfl以及定時(shí)信號精細(xì)時(shí)間測量單元30所測量的定時(shí)信號精細(xì)時(shí)間Tf2計(jì)算待測時(shí)間T。本發(fā)明的實(shí)施例中,時(shí)間計(jì)算單元40將起始信號精細(xì)時(shí)間Tfl與粗時(shí)間Tc之和減去定時(shí)信號精細(xì)時(shí)間Tf2以獲取待測時(shí)間T。
請參考圖4,本發(fā)明時(shí)間測量方法的較佳實(shí)施方式包括以下步驟步驟SI :第一延遲鏈的一端接收起始信號Tstart,使接收到起始信號Tstart的延遲單元的輸出依次變?yōu)榈诙娖?,各第一寄存器在起始信號Tstart輸入第一延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,數(shù)據(jù)轉(zhuǎn)換器將各寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù),即得到起始信號精細(xì)時(shí)間TH。起始信號精細(xì)時(shí)間Tfl為起始信號Tstart上升沿與其后的參考信號的第一個(gè)時(shí)鐘上升沿之間的時(shí)間。步驟S2 :第二延遲鏈的一端接收定時(shí)信號Tstop,使接收到定時(shí)信號Tstop的第二延遲單元的輸出依次變?yōu)榈诙娖?,各第二寄存器在定時(shí)信號Tstop輸入第二延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,數(shù)據(jù)轉(zhuǎn)換器將各第二寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù),即得到定時(shí)信號精細(xì)時(shí)間Tf2。定時(shí)信號精細(xì)時(shí)間Tf2為定時(shí)信號Tstop前沿與其后的參考信號的第一個(gè)時(shí)鐘上升沿之間的時(shí)間。步驟S3 :粗時(shí)間測量單元10測量粗時(shí)間。粗時(shí)間為起始信號Tstart前沿之后的參考信號的第一個(gè)時(shí)鐘周期到定時(shí)信號Tstop前沿之后的參考信號第一個(gè)時(shí)鐘周期之間的時(shí)間段??蛇x地,參考信號可以是在FPGA芯片的時(shí)鐘信號CLOCK。步驟S4 :時(shí)間計(jì)算單元40根據(jù)步驟S3中所獲取的粗時(shí)間Tc、步驟SI中獲取的起始信號精細(xì)時(shí)間Tfl以及步驟S2中獲取的定時(shí)信號精細(xì)時(shí)間Tf2計(jì)算待測時(shí)間T。本步驟中,時(shí)間計(jì)算單元40可將起始信號精細(xì)時(shí)間Tfl與粗時(shí)間Tc之和減去定時(shí)信號精細(xì)時(shí)間Tf 2以獲取待測時(shí)間T。可選地,在步驟S2和S3中,利用分段查找法查找第一、第二寄存器陣列所存儲(chǔ)的第二電平數(shù)據(jù),以查找起始信號Tstart或定時(shí)信號Tstop在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn),并通過編碼輸出與該終點(diǎn)相對應(yīng)的時(shí)間數(shù)據(jù),便可獲取起始信號精細(xì)時(shí)間Tfl或定時(shí)信號精細(xì)時(shí)間Tf2。分段查找法在上述描述中已說明,在此不再贅述。本發(fā)明的實(shí)施例中,通過引入起始信號為定時(shí)時(shí)刻的測量提供參考點(diǎn),并采用內(nèi)插延遲鏈對起始信號前沿與其后的第一個(gè)時(shí)鐘前沿之間的時(shí)間以及定時(shí)信號前沿與其后第一個(gè)時(shí)鐘前沿之間的時(shí)間進(jìn)行精細(xì)測量,結(jié)合在時(shí)鐘信號驅(qū)動(dòng)下的粗測量獲取精確的待測時(shí)間,解決了起始信號與FPGA芯片內(nèi)部的時(shí)鐘信號不同源所造成的測量精度不高的問題,同時(shí)引入起始信號作為參考點(diǎn)提升了時(shí)間測量的實(shí)用性。本發(fā)明的實(shí)施例采用FPGA芯片內(nèi)部進(jìn)位單元構(gòu)建時(shí)間延遲鏈,相較采用加法器、LUT等構(gòu)建的延遲鏈,具有延遲更為均勻的優(yōu)點(diǎn),提升了時(shí)間測量的精確性和可靠性。本發(fā)明的實(shí)施例將待測定時(shí)信號接入延遲鏈,參考時(shí)鐘信號接入寄存器陣列,僅通過一個(gè)時(shí)鐘計(jì)數(shù)器即可實(shí)現(xiàn)粗時(shí)間測量,結(jié)構(gòu)簡單。
本發(fā)明的實(shí)施例采用分段查找法讀取延遲鏈中各延遲單元的輸出狀態(tài),將對延遲鏈的串行組合的查找轉(zhuǎn)變?yōu)槎鄠€(gè)串行分段的并行查找,可在極短時(shí)間內(nèi)得到查找的結(jié)果,經(jīng)實(shí)驗(yàn)證明,分段查找可在一個(gè)時(shí)鐘周期內(nèi)得出查找的結(jié)果,大大減少了 FPGA邏輯資源的使用量,并且減少了時(shí)間數(shù)據(jù)的獲取時(shí)間。在本發(fā)明的設(shè)備和方法中,顯然,各部件或各步驟是可以分解、組合和/或分解后重新組合的。這些分解和/或重新組合應(yīng)視為本發(fā)明的等效方案。還需要指出的是,執(zhí)行上述系列處理的步驟可以自然地按照說明的順序按時(shí)間順序執(zhí)行,但是并不需要一定按照時(shí)間順序執(zhí)行。某些步驟可以并行或彼此獨(dú)立地執(zhí)行。同時(shí),在上面對本發(fā)明具體實(shí)施例的描述中,針對一種實(shí)施方式描述和/或示出的特征可以以相同或類似的方式在一個(gè)或更多 個(gè)其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。
權(quán)利要求
1.一種時(shí)間測量系統(tǒng),用以測量待測時(shí)間,包括 起始信號精細(xì)時(shí)間測量單元,包括由多個(gè)第一延遲單元串聯(lián)而成的第一延遲鏈、多個(gè)第一寄存器以及第一數(shù)據(jù)轉(zhuǎn)換器,當(dāng)沒有信號輸入的時(shí)候,各第一延遲單元輸出均為第一電平,各第一寄存器與各第一延遲單元對應(yīng)連接,第一數(shù)據(jù)轉(zhuǎn)換器連接至各第一寄存器,第一延遲鏈的一端用于接收起始信號,使接收到所述起始信號的第一延遲單元的輸出依次變?yōu)榈诙娖?,各第一寄存器用于在輸入起始信號后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,第一數(shù)據(jù)轉(zhuǎn)換器用于將各第一寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取起始信號精細(xì)時(shí)間; 定時(shí)信號精細(xì)時(shí)間測量單元,包括由多個(gè)第二延遲單元串聯(lián)而成的第二延遲鏈、多個(gè)第二寄存器以及第二數(shù)據(jù)轉(zhuǎn)換器,當(dāng)沒有信號輸入的時(shí)候,各第二延遲單元輸出均為第一電平,各第二寄存器與各第二延遲單元對應(yīng)連接,第二數(shù)據(jù)轉(zhuǎn)換器連接至各第二寄存器,第二延遲鏈的一端用于接收定時(shí)信號,使接收到所述定時(shí)信號的第二延遲單元的輸出依次變?yōu)榈诙娖?,各第二寄存器用于在定時(shí)信號輸入第二延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)讀取與其對應(yīng)連接的第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,第二數(shù)據(jù)轉(zhuǎn)換器用于將各第二寄存器所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取定時(shí)信號精細(xì)時(shí)間; 粗時(shí)間測量單元,用于測量粗時(shí)間,所述粗時(shí)間為所述起始信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期到所述定時(shí)信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期之間的時(shí)間段;以及 時(shí)間計(jì)算單元,用于將所述粗時(shí)間和起始信號精細(xì)時(shí)間之和減去定時(shí)信號精細(xì)時(shí)間以獲取所述待測時(shí)間。
2.如權(quán)利要求I所述的時(shí)間測量系統(tǒng),其特征在于,所述粗時(shí)間測量單元為現(xiàn)場可編程門陣列芯片中的時(shí)鐘計(jì)數(shù)器。
3.如權(quán)利要求I所述的時(shí)間測量系統(tǒng),其特征在于,各第一延遲單元、第二延遲單元均為現(xiàn)場可編程門陣列芯片中的進(jìn)位單元,各第一延遲單元通過進(jìn)位線串聯(lián)連接,各第二延遲單元通過進(jìn)位線串聯(lián)連接。
4.一種時(shí)間測量方法,用以測量待測時(shí)間,包括 由多個(gè)第一延遲單元串聯(lián)而成的第一延遲鏈的一端接收起始信號,使接收到起始信號的第一延遲單元的輸出依次變?yōu)榈诙娖?,在起始信號輸入第一延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)通過對應(yīng)連接至第一延遲單元的多個(gè)第一寄存器讀取各第一延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,將所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以得到起始信號精細(xì)時(shí)間,其中當(dāng)沒有信號輸入的時(shí)候,各第一延遲單元輸出均為第一電平; 由多個(gè)第二延遲單元串聯(lián)而成的第二延遲鏈的一端接收定時(shí)信號,使接收到定時(shí)信號的第二延遲單元的輸出依次變?yōu)榈诙娖剑诙〞r(shí)信號輸入第二延遲鏈后的參考信號的第一個(gè)時(shí)鐘前沿時(shí)通過對應(yīng)連接至第二延遲單元的多個(gè)第二寄存器讀取各第二延遲單元的輸出值并對讀取的數(shù)據(jù)進(jìn)行保存,將所保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以得到定時(shí)信號精細(xì)時(shí)間,其中當(dāng)沒有信號輸入的時(shí)候,各第二延遲單兀輸出均為第一電平; 測量粗時(shí)間,所述粗時(shí)間為所述起始信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期到所述定時(shí)信號前沿之后的參考信號的第一個(gè)時(shí)鐘周期之間的時(shí)間段;以及 將所述起始信號精細(xì)時(shí)間與粗時(shí)間之和減去所述定時(shí)信號精細(xì)時(shí)間以獲取所述待測時(shí)間。
5.如權(quán)利要求4所述的時(shí)間測量方法,其特征在于,所述測量粗時(shí)間的步驟包括通過現(xiàn)場可編程門陣列芯片中的時(shí)鐘計(jì)數(shù)器測量所述粗時(shí)間。
6.如權(quán)利要求4所述的時(shí)間測量方法,其特征在于,各第一延遲單元、第二延遲單元均為現(xiàn)場可編程門陣列芯片中的進(jìn)位單元,各第一延遲單元通過進(jìn)位線串聯(lián)連接,各第二延遲單元通過進(jìn)位線串聯(lián)連接。
7.如權(quán)利要求4所述的時(shí)間測量方法,其特征在于,各第一寄存器分別對應(yīng)不同的時(shí)間數(shù)據(jù),各第二寄存器也分別對應(yīng)不同的時(shí)間數(shù)據(jù),所述測量起始信號精細(xì)時(shí)間或定時(shí)信號精細(xì)時(shí)間的步驟分別包括 將各第一或第二寄存器的輸出從最高位到最低位依次分為多個(gè)組,其中最高組的最高位為對應(yīng)的第一或第二延遲鏈的尾部,最低組的最低位為對應(yīng)的第一或第二延遲鏈的首部; 判斷最聞組的最低位的電平狀態(tài),若最聞組的最低位為第_■電平,則從最聞組的最聞位開始往下查找第一個(gè)第二電平的位置; 若最高組的最低位為第一電平,則判斷次高組的最低位的電平狀態(tài),若次高組的最低位為第二電平,則從次高組的最高位開始往下查找第一個(gè)第二電平的位置;以及 以此類推,直至查找到第一個(gè)第二電平的位置,以找到起始信號或定時(shí)信號在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn),以獲得起始信號或定時(shí)信號在對應(yīng)的第一或第二延遲鏈中傳輸?shù)慕K點(diǎn)所對應(yīng)的時(shí)間數(shù)據(jù),從而獲得所述起始信號精細(xì)時(shí)間或定時(shí)信號精細(xì)時(shí)間。
全文摘要
本申請涉及一種時(shí)間測量系統(tǒng),包括起始信號精細(xì)時(shí)間測量單元,包括延遲鏈、多個(gè)寄存器及數(shù)據(jù)轉(zhuǎn)換器,延遲鏈的一端接收起始信號,使接收到起始信號的延遲單元的輸出依次變?yōu)榈诙娖?,各寄存器在輸入起始信號后的第一個(gè)時(shí)鐘上升沿時(shí)讀取并保存對應(yīng)的延遲單元的輸出值,數(shù)據(jù)轉(zhuǎn)換器將保存的數(shù)據(jù)轉(zhuǎn)換為時(shí)間數(shù)據(jù)以獲取起始信號精細(xì)時(shí)間;定時(shí)信號精細(xì)時(shí)間測量單元,用以獲取定時(shí)信號精細(xì)時(shí)間,工作原理與起始信號精細(xì)時(shí)間測量單元類似;粗時(shí)間測量單元,在FPGA時(shí)鐘信號的驅(qū)動(dòng)下測量粗時(shí)間;以及時(shí)間計(jì)算單元,將粗時(shí)間和起始信號精細(xì)時(shí)間之和減去定時(shí)信號精細(xì)時(shí)間以獲取待測時(shí)間。本發(fā)明提升了時(shí)間測量的精確性和實(shí)用性。
文檔編號G04F10/00GK102736511SQ20111008541
公開日2012年10月17日 申請日期2011年4月6日 優(yōu)先權(quán)日2011年4月6日
發(fā)明者豐寶桐, 孫蕓華, 帥磊, 李道武, 王培林, 胡婷婷, 魏書軍, 魏龍 申請人:中國科學(xué)院高能物理研究所