本發(fā)明涉及集成電路設(shè)計領(lǐng)域,尤其涉及其中的時間數(shù)字轉(zhuǎn)換器及其轉(zhuǎn)換方法。
背景技術(shù):
時間數(shù)字轉(zhuǎn)換器(time-to-digitalconverter,tdc)是一種將時間間隔轉(zhuǎn)換為數(shù)字量輸出的器件,一定程度上類似于模擬數(shù)字轉(zhuǎn)換器(analog-to-digitalconverter,adc),只不過adc轉(zhuǎn)換的是電壓或者電流,而tdc轉(zhuǎn)換的是時間間隔。
如圖1所示為現(xiàn)有技術(shù)中的時間數(shù)字轉(zhuǎn)換器的結(jié)構(gòu)圖,圖2為現(xiàn)有技術(shù)中的時間數(shù)字轉(zhuǎn)換器的時序圖。待測時間間隔為start1信號和start2信號之間的時間tin,時間余量residue的定義為時鐘信號的最后一個上升沿到輸入間隔信號的結(jié)束。由于start2信號的時間無法預(yù)測,即時間余量的開始無法預(yù)測,所以時鐘信號clk每上升一次,都需要對此時的時間標(biāo)記一次,并以此作為時間余量的開始進(jìn)行存儲,直到start2信號到來,多工器會選擇正確的時間余量輸出給ftdc(fine-tdc,精轉(zhuǎn)換tdc),因此需要多個時間余量的存儲路徑(時間余量1、時間余量2、……、時間余量n),這樣就會增加芯片面積,降低轉(zhuǎn)換速度。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種時間數(shù)字轉(zhuǎn)換器及其轉(zhuǎn)換方法,以至少解決以上現(xiàn)有技術(shù)中的技術(shù)問題。
作為本發(fā)明的一個方面,提供一種時間數(shù)字轉(zhuǎn)換器,包括:
時間數(shù)字轉(zhuǎn)換單元,用于對第一輸入或第二輸入進(jìn)行數(shù)字轉(zhuǎn)換,所述第一輸入為時間間隔;
時間余量提取單元,連接于所述時間數(shù)字轉(zhuǎn)換單元,用于提取所述時間數(shù)字轉(zhuǎn)換單元中緊接在所述時間間隔后且小于時鐘周期而未被轉(zhuǎn)換的時間余量,所述時間余量為從所述時間間隔的結(jié)束到此后時鐘信號的第一次上升;及
時間放大器,連接于所述時間余量提取單元與所述時間數(shù)字轉(zhuǎn)換單元之間,用于對所述時間余量進(jìn)行線性放大,所述時間余量的放大信號作為第二輸入反饋輸入所述時間數(shù)字轉(zhuǎn)換單元并使其匹配于所述時鐘周期。
進(jìn)一步地,所述時間數(shù)字轉(zhuǎn)換器還包括重序輸出結(jié)果單元,連接于所述時間數(shù)字轉(zhuǎn)換單元的輸出端,用于計算并輸出時間間隔的轉(zhuǎn)換結(jié)果,計算公式為:
其中,所述第一轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第一輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;所述第二轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第二輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;n為所述時間余量的放大倍數(shù)。
進(jìn)一步地,所述時間數(shù)字轉(zhuǎn)換器還包括自動開關(guān)單元,所述自動開關(guān)單元的輸入端包括所述第一輸入和所述第二輸入,所述自動開關(guān)單元的輸出端連接于所述時間數(shù)字轉(zhuǎn)換單元,用于控制所述時間數(shù)字轉(zhuǎn)換單元的輸入者為第一輸入或第二輸入。
進(jìn)一步地,所述的時間數(shù)字轉(zhuǎn)換單元包括計數(shù)器,所述時鐘信號每上升一次,所述計數(shù)器計數(shù)一次。
進(jìn)一步地,當(dāng)數(shù)字轉(zhuǎn)換達(dá)到預(yù)設(shè)精度值時,所述計數(shù)器停止計數(shù)。
作為本發(fā)明的另一個方面,提供一種時間數(shù)字轉(zhuǎn)換方法,包括:
步驟s100,利用時間數(shù)字轉(zhuǎn)換單元對第一輸入或第二輸入進(jìn)行數(shù)字轉(zhuǎn)換,所述第一輸入為時間間隔;
步驟s200,提取步驟s100中緊接在所述時間間隔后且小于時鐘周期而未被轉(zhuǎn)換的時間余量,所述時間余量為從步驟s100中的所述時間間隔的結(jié)束到此后所述時鐘信號的第一次上升;
步驟s300,將步驟s200中提取的所述時間余量進(jìn)行線性放大,并將時間余量的放大信號作為第二輸入反饋輸入所述時間數(shù)字轉(zhuǎn)換單元進(jìn)行數(shù)字轉(zhuǎn)換并使其匹配于所述時鐘周期。
進(jìn)一步地,在步驟s300之后,還包括步驟s400,計算并輸出所述時間間隔的轉(zhuǎn)換結(jié)果,計算公式為:
其中,所述第一轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第一輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;所述第二轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第二輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;n為所述時間余量的放大倍數(shù)。
進(jìn)一步地,在步驟s100和步驟s300中的進(jìn)行數(shù)字轉(zhuǎn)換包括利用計數(shù)器計數(shù),所述時鐘信號每上升一次,所述計數(shù)器計數(shù)一次。
進(jìn)一步地,循環(huán)步驟s100~s300,直到數(shù)字轉(zhuǎn)換結(jié)果達(dá)到預(yù)設(shè)精度值。
本發(fā)明采用上述技術(shù)方案,具有如下優(yōu)點(diǎn):
由于時間余量的開始和結(jié)束都是可預(yù)測的,因此只需要一個時間余量的存儲路徑,節(jié)省了電路占用面積,放大后的時間余量反饋到原始時間數(shù)字轉(zhuǎn)換單元,因此,只需要一個時間數(shù)字轉(zhuǎn)換單元即可實(shí)現(xiàn)數(shù)字轉(zhuǎn)換,進(jìn)一步節(jié)省電路占用面積,減小芯片面積。在進(jìn)行循環(huán)過程時,數(shù)字轉(zhuǎn)換過程和時間余量產(chǎn)生可以同時進(jìn)行,可以節(jié)省大量的轉(zhuǎn)換時間。
上述概述僅僅是為了說明書的目的,并不意圖以任何方式進(jìn)行限制。除上述描述的示意性的方面、實(shí)施方式和特征之外,通過參考附圖和以下的詳細(xì)描述,本發(fā)明進(jìn)一步的方面、實(shí)施方式和特征將會是容易明白的。
附圖說明
在附圖中,除非另外規(guī)定,否則貫穿多個附圖相同的附圖標(biāo)記表示相同或相似的部件或元素。這些附圖不一定是按照比例繪制的。應(yīng)該理解,這些附圖僅描繪了根據(jù)本發(fā)明公開的一些實(shí)施方式,而不應(yīng)將其視為是對本發(fā)明范圍的限制。
圖1為現(xiàn)有技術(shù)中時間數(shù)字轉(zhuǎn)換器的結(jié)構(gòu)圖。
圖2為現(xiàn)有技術(shù)中時間余量的時序圖。
圖3為本發(fā)明的時間余量的時序圖。
圖4為本發(fā)明的時間余量提取單元的電路圖。
圖5為本發(fā)明的時間數(shù)字轉(zhuǎn)換器的結(jié)構(gòu)圖。
圖6為本發(fā)明的時間數(shù)字轉(zhuǎn)換器的時序圖。
圖7為本發(fā)明的時間數(shù)字轉(zhuǎn)換器的電路圖。
圖8為本發(fā)明的時間數(shù)字轉(zhuǎn)換器的開關(guān)單元電路圖。
圖9為本發(fā)明的時間數(shù)字轉(zhuǎn)換方法的流程圖。
具體實(shí)施方式
在下文中,僅簡單地描述了某些示例性實(shí)施例。正如本領(lǐng)域技術(shù)人員可認(rèn)識到的那樣,在不脫離本發(fā)明的精神或范圍的情況下,可通過各種不同方式修改所描述的實(shí)施例。因此,附圖和描述被認(rèn)為本質(zhì)上是示例性的而非限制性的。
如圖5所示為本發(fā)明實(shí)施例的時間數(shù)字轉(zhuǎn)換器的結(jié)構(gòu)圖,包括:時間數(shù)字轉(zhuǎn)換單元100,其輸入為第一輸入100a或第二輸入100b,用于對第一輸入100a或第二輸入100b進(jìn)行數(shù)字轉(zhuǎn)換,第一輸入100a為時間間隔tin;時間余量提取單元200,連接時間數(shù)字轉(zhuǎn)換單元100,用于提取時間數(shù)字轉(zhuǎn)換單元100中緊接在所述時間間隔后且小于時鐘周期而未被轉(zhuǎn)換的時間余量;時間放大器300,連接于時間余量提取單元200與時間數(shù)字轉(zhuǎn)換單元100之間,用于對時間余量提取單元200中提取的時間余量進(jìn)行線性放大,以提高轉(zhuǎn)換的精度,時間余量的放大信號(開始信號taout1和結(jié)束信號taout2之間的時間差)作為第二輸入100b反饋輸入時間數(shù)字轉(zhuǎn)換單元100并使其匹配于時鐘周期。
如圖3和圖4所示,本發(fā)明對時間余量residue進(jìn)行了重新定義。時間間隔tin為信號start1和信號start2之間的時間差,時間余量residue為信號start2觸發(fā)后到此后時鐘信號coarse_clk的第一次上升沿。
待測時間間隔tin作為第一輸入100a輸入時間數(shù)字轉(zhuǎn)換單元100進(jìn)行數(shù)字轉(zhuǎn)換,得到第一轉(zhuǎn)換結(jié)果,此過程為第一轉(zhuǎn)換過程;時間余量提取單元200根據(jù)信號start2和時鐘信號coarse_clk提取時間余量residue,得到時間余量residue的開始信號tain1和結(jié)束信號tain2,時間放大器300對時間余量residue進(jìn)行線性放大,放大倍數(shù)為n,并將時間余量的放大信號a_residue(開始信號taout1和結(jié)束信號taout2之間)作為第二輸入100b輸入時間數(shù)字轉(zhuǎn)換單元100進(jìn)行數(shù)字轉(zhuǎn)換,得到第二轉(zhuǎn)換結(jié)果,此過程為第二轉(zhuǎn)換過程;重序輸出結(jié)果單元400連接數(shù)字轉(zhuǎn)換單元100的輸出端,用于計算待測時間間隔tin的數(shù)字轉(zhuǎn)換結(jié)果dout并輸出,計算公式為:
自動開關(guān)單元500的輸入包括第一輸入100a和第二輸入100b,輸出連接數(shù)字轉(zhuǎn)換單元100,可以根據(jù)輸入信號來源控制時間數(shù)字轉(zhuǎn)換單元100的輸入為待測時間間隔tin(start1和start2)或時間余量的放大信號a_residue,即控制時間數(shù)字單元100的輸入為第一輸入100a或第二輸入100b,并分別執(zhí)行第一轉(zhuǎn)換或第二轉(zhuǎn)換。自動開關(guān)單元500自動切換輸入信號源,可以節(jié)省大量的轉(zhuǎn)換時間。
圖7示出了本發(fā)明的時間數(shù)字轉(zhuǎn)換器的電路圖,其中,時間余量提取單元200的電路結(jié)構(gòu)圖如圖4所示,在前面已經(jīng)介紹,在此不再贅述。
自動開關(guān)單元500,包括第一開關(guān)501和第二開關(guān)502,如圖8所示,taen表示第一開關(guān)501和第二開關(guān)502在高電平使能信號有效。當(dāng)自動開關(guān)單元500使能start1和start2有效時,start1和start2輸入第一計數(shù)器601,coarse_clk每上升一次,計數(shù)器601計數(shù)一次,計數(shù)結(jié)果為cccnt0。
當(dāng)?shù)谝婚_關(guān)501和第二開關(guān)502分別使能taout1和taout2有效時,第一開關(guān)501和第二開關(guān)502分別使能(en)粗轉(zhuǎn)換信號coarse_osc(即taout1)和精轉(zhuǎn)換信號fine_osc(即taout2)輸入到時間數(shù)字轉(zhuǎn)換單元100。coarse_clk每上升一次,計數(shù)器602計數(shù)一次,計數(shù)結(jié)果為cccnt1,此為粗轉(zhuǎn)換過程;fine_clk每上升一次,計數(shù)器603計數(shù)一次,計數(shù)結(jié)果為cfcnt,此為精轉(zhuǎn)換過程。
重序輸出結(jié)果單元400計算并輸出tin的數(shù)字轉(zhuǎn)換結(jié)果dout,計算公式為:cccnt0·τc–(cccnt1·τc+cfcnt·τf)/n,其中,τc為coarse_clk的時鐘周期,τf為fine_clk的時鐘周期,n為時間放大器300的放大倍數(shù)。
需要說明的是,待測時間間隔的數(shù)字轉(zhuǎn)換過程可能需要循環(huán)進(jìn)行,直到時間余量滿足預(yù)設(shè)精度值,計數(shù)器停止計數(shù)。當(dāng)時鐘信號發(fā)生抖動產(chǎn)生往前漂移時,start2的信號來不及停止計數(shù)器的計數(shù),會多一次計數(shù),但是時間余量的結(jié)束是時鐘信號的上升,因此時間余量也會多一個時鐘周期,因此二者相抵可以自動校正時間余量受時鐘抖動的影響。在進(jìn)行循環(huán)過程時,數(shù)字轉(zhuǎn)換過程和時間余量產(chǎn)生可以同時進(jìn)行,可以節(jié)省大量的轉(zhuǎn)換時間。
由于時間余量的開始和結(jié)束都是可預(yù)測的,因此只需要一個時間余量的存儲路徑,節(jié)省了電路占用面積,時間余量的放大信號反饋到原始時間數(shù)字轉(zhuǎn)換單元,因此,只需要一個時間數(shù)字轉(zhuǎn)換單元即可實(shí)現(xiàn)數(shù)字轉(zhuǎn)換,進(jìn)一步節(jié)省電路占用面積,減小芯片面積。
本發(fā)明的數(shù)字轉(zhuǎn)換與時間余量的產(chǎn)生同時進(jìn)行,可以節(jié)省大量的轉(zhuǎn)換時間。
本發(fā)明的時間數(shù)字轉(zhuǎn)換器可以應(yīng)用于ddr3或ddr4中來計算外部時鐘clk與ddr3或ddr4的dqs信號之間的相位差,可提高clk與dqs的同步速度。
作為本實(shí)施例的另一個方面,本實(shí)施例還提供一種時間數(shù)字轉(zhuǎn)換方法,本方法的實(shí)施并不局限于一種硬件/軟件架構(gòu),以下僅是基于上述時間數(shù)字轉(zhuǎn)換器的一種實(shí)施例,本發(fā)明的保護(hù)范圍并不局限于此。
下面結(jié)合圖9介紹應(yīng)用上述時間數(shù)字轉(zhuǎn)換器的時間數(shù)字轉(zhuǎn)換方法,包括:
步驟s100,利用時間數(shù)字轉(zhuǎn)換單元對第一輸入或第二輸入進(jìn)行數(shù)字轉(zhuǎn)換,其中,第一輸入為時間間隔;
步驟s200,提取步驟s100中緊接在所述時間間隔后且小于時鐘周期而未被轉(zhuǎn)換的時間余量,時間余量為從步驟s100中的時間間隔的結(jié)束到此后時鐘信號的第一次上升;
步驟s300,將步驟s200中提取的時間余量進(jìn)行線性放大,并將時間余量的放大信號作為第二輸入反饋輸入時間數(shù)字轉(zhuǎn)換單元進(jìn)行數(shù)字轉(zhuǎn)換并使其匹配于時鐘周期。
在步驟s300之后,還包括步驟s400,計算并輸出所述時間間隔的轉(zhuǎn)換結(jié)果,計算公式為:
其中,所述第一轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第一輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;所述第二轉(zhuǎn)換結(jié)果為所述時間數(shù)字轉(zhuǎn)換單元對所述第二輸入進(jìn)行數(shù)字轉(zhuǎn)換所得到的轉(zhuǎn)換結(jié)果;n為所述時間余量的放大倍數(shù)。
循環(huán)步驟s100~s300,直到數(shù)字轉(zhuǎn)換結(jié)果達(dá)到預(yù)設(shè)精度值。在進(jìn)行循環(huán)過程時,數(shù)字轉(zhuǎn)換過程和時間余量產(chǎn)生可以同時進(jìn)行,可以節(jié)省大量的轉(zhuǎn)換時間。
在步驟s100和步驟s300中的進(jìn)行數(shù)字轉(zhuǎn)換包括利用計數(shù)器計數(shù),時鐘信號每上升一次,計數(shù)器計數(shù)一次。
本發(fā)明的時間數(shù)字轉(zhuǎn)換方法是基于上述時間數(shù)字轉(zhuǎn)換器進(jìn)行,其有益效果不再贅述。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到其各種變化或替換,這些都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。