亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于反熔絲fpga的時間數(shù)字轉(zhuǎn)換器及其溫度漂移修正方法

文檔序號:7536813閱讀:299來源:國知局
專利名稱:基于反熔絲fpga的時間數(shù)字轉(zhuǎn)換器及其溫度漂移修正方法
技術(shù)領(lǐng)域
本發(fā)明涉及高精度時間測量領(lǐng)域,尤其涉及一種基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器及其溫度漂移修正方法。
背景技術(shù)
隨著近年來航空航天的快速發(fā)展,高精度時間測量在航天領(lǐng)域、空間研究領(lǐng)域等輻射較強的場合中得到了廣泛的應用,例如空間高能粒子譜儀和等離子體譜儀的飛行時間測量系統(tǒng)、衛(wèi)星高度計、空間測距儀、空間遙測、量子通訊領(lǐng)域中的時間定標等等。在這些特殊的應用場合,高精度時間測量器件必須有較強的抗輻照性能,而且對于不同的應用,對時間測量的精度、死時間、時間測量動態(tài)范圍等參數(shù)都有著不同的要求。在上述的應用領(lǐng)域,一款設計靈活、成本較低、應用范圍廣且具有較強抗輻照特性的高精度時間數(shù)字轉(zhuǎn)換器具有重大的應用價值。時間測量的方法有很多,例如計數(shù)法、內(nèi)插法、游標卡尺法、時間放大法、時間模擬轉(zhuǎn)換+模擬數(shù)字轉(zhuǎn)換等等。計數(shù)法最為簡單,但是精度很難做到很高;時間放大法和時間模擬轉(zhuǎn)換+模擬數(shù)字轉(zhuǎn)換法電路復雜且死時間大,調(diào)試維護工作量大,高功耗且不易提高集成度,可應用的領(lǐng)域不多;內(nèi)插法和游標卡尺法是目前使用較多的兩種時間測量方法。游標卡尺法目前主要分兩大實現(xiàn)手段:利用高精度時鐘的周期差實現(xiàn)游標卡尺,以及利用兩種固定延時單元的之間的延時差實現(xiàn)游標卡尺。前者消耗資源少,測量精度略低,后者消耗較多資源但是可以做到很高精度,這兩種方法共同的缺點就是死時間較長。內(nèi)插法與游標卡尺法相比,其在保證較高測量精度的同時有較低的死時間是一大亮點。中國專利CN1719353A提出在SRAM型FPGA中利用進位鏈實現(xiàn)高精度時間數(shù)字轉(zhuǎn)換,該方法基本原理:利用內(nèi)插法進行細時間測量,之后對鎖存數(shù)據(jù)進行譯碼,另外由正向和反向系統(tǒng)時鐘下兩個高速同步計數(shù)器進行粗時間測量,最后將細時間測量單元和粗時間測量單元所測得的數(shù)字信息存入數(shù)據(jù)緩存單元,等待外部器件的讀取。該專利提出的方法利用進位鏈實現(xiàn)時間內(nèi)插,可以達到很高的時間測量精度。但是SRAM型FPGA如果在輻射較強的場合中使用,一旦被高能帶電粒子擊中,由于SRAM自身結(jié)構(gòu)的原因很大概率會出現(xiàn)單粒子效應,這會導致最終得出錯誤的測量結(jié)果甚至燒毀芯片。同時該方法應用于溫度變化范圍較大的環(huán)境中時,測量精度會變差,該專利其并沒有提出解決這一問題的方案。為高精度時間測量研發(fā)的專用ASIC芯片在一些空間環(huán)境或者輻射較高的領(lǐng)域已經(jīng)得到過應用,其利用鎖相環(huán)(PLL)抑或延時鎖定環(huán)(DLL)技術(shù)來提高測量精度,可以做到幾ns到IOOps左右的時間分辨。專用的ASIC芯片若要應用于航天、空間研究領(lǐng)域,需要花費大量的研發(fā)經(jīng)費,還要需要經(jīng)過大量的輻照測試來驗證其抗輻照性能,研發(fā)周期很長。同時作為時間測量專用ASIC芯片,其功能固定,在實際使用時只能根據(jù)它的功能做相應設計,且其往往只適用于某些特定的研究任務,因此靈活性較差,并不適用于某些特定場合。

發(fā)明內(nèi)容
本發(fā)明的目的在于利用抗輻射性能強的Actel反熔絲FPGA提供一種成本較低、設計靈活性較強的、可應用于航空航天、空間實驗等輻照較強的環(huán)境中的高精度時間數(shù)字轉(zhuǎn)換器。本發(fā)明在提供高精度時間測量功能的同時,具有較強的設計靈活性,且自身的死時間低,動態(tài)范圍大,另外引入溫度漂移修正算法即可將本發(fā)明應用于溫度變化劇烈的環(huán)境中。為此,本發(fā)明公開了一種基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其包括:粗時間測量單元、細時間測量單元、譯碼單元和數(shù)據(jù)緩存單元,上述各個單元在單片反熔絲FPGA上實現(xiàn);其中所述粗時間測量單元用于測量粗精度時間數(shù)據(jù),并輸出至所述數(shù)據(jù)緩存單元進行存儲;所述細時間測量單元用于測量高精度時間數(shù)據(jù),所述譯碼單元用于將所測量的高精度時間數(shù)據(jù)譯碼后輸出至所述數(shù)據(jù)緩存單元進行存儲。本發(fā)明還公開了一種對上述基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器所測量的時間進行溫度漂移修正的方法,其包括:從所述數(shù)據(jù)緩存單元讀取譯碼后的高精度時間數(shù)據(jù);對所述譯碼后的高精度時間數(shù)據(jù)進行溫度漂移修正:tffl= (M1+INL(M1))*LSB`
其中^表示修正后的高精度細時間,Ml為所述譯碼后的高精度時間數(shù)據(jù),INL(Ml)表示高精度時間數(shù)據(jù)為Ml時的積分非線性,其根據(jù)已標定溫度的積分非線性查找表INL獲得,LSB表示當前工作溫度最小測量單元的大小。本發(fā)明技術(shù)在Actel的反熔絲FPGA中實現(xiàn)可為輻射環(huán)境較強的基礎研究和各種應用研究領(lǐng)域,尤其是空間探測領(lǐng)域提供一種使用靈活、成本較低、死時間低、高精度的時間測量方案,同時針對TDC碼寬的溫度漂移的修正方案,可使本發(fā)明應用于工作環(huán)境溫度變化劇烈的研究領(lǐng)域的同時保證高測量精度。


圖1是本發(fā)明中單通道時間數(shù)字轉(zhuǎn)換(TDC)的原理功能框圖;圖2是本發(fā)明中讀出使能信號產(chǎn)生以及單計數(shù)器測量粗時間的時序圖;圖3是本發(fā)明中進位級聯(lián)連線實現(xiàn)細時間測量的原理框圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。本發(fā)明在反熔絲FPGA內(nèi)實現(xiàn)粗時間和細時間的測量的原理結(jié)構(gòu)框架如圖1所示,其中包括細時間測量單元、譯碼單元、粗時間測量單元以及數(shù)據(jù)緩沖單元,這些都在一片反熔絲FPGA中實現(xiàn)。其中細時間測量單元利用反熔絲FPGA中的進位級聯(lián)延時線對主時鐘周期進行時間內(nèi)插,該進位級聯(lián)延時線由多級延時單元級聯(lián)而成,本發(fā)明的一個優(yōu)選實施例中選用一位加法器實現(xiàn)所述延時單元,其每一級的固定時間延時非常小,一級進位級聯(lián)延時線的延時約為74ps,如此則可實現(xiàn)很高精度的時間測量。此處74ps即為時間數(shù)字轉(zhuǎn)換器的最小測量單元(LSB)。在進位級聯(lián)延時線的輸入端接收到待測Hit信號后,細時間測量單元進行細時間測量,其輸出數(shù)據(jù)為位數(shù)很寬的數(shù)據(jù)(寬度等同于使用的進位連線的級數(shù)),譯碼單元的作用就是將細時間測量單元的輸出數(shù)據(jù)進行譯碼,壓縮其寬度,本部分的譯碼采用流水線技術(shù)進行順序譯碼處理。粗時間測單元量則由工作在主時鐘下的單個計數(shù)器即可實現(xiàn),用于粗精度的時間數(shù)字轉(zhuǎn)換。數(shù)據(jù)緩存單元則是由先入先出緩存單元FIFO構(gòu)成,用于暫時存儲時間測量數(shù)據(jù),以等待外部器件根據(jù)緩存單元的讀出時序來讀出數(shù)據(jù),數(shù)據(jù)讀出后FIFO內(nèi)相應的存儲空間就釋放出來用于存儲后來的Hit信號的測量數(shù)據(jù)。若單片F(xiàn)PGA內(nèi)集成了多通道的時間數(shù)字轉(zhuǎn)換器,則每個通道的編號標志ID會隨著測量數(shù)據(jù)一起存儲到緩存單元內(nèi),這樣在處理數(shù)據(jù)時可識別出各通道的數(shù)據(jù)。作為現(xiàn)場可編程器件,Actel反熔絲FPGA可利用VHDL或者VerilogHDL等硬件編程語言來自主設計邏輯。在邏輯設計完成后可利用Actel公司的LibeiO IDE集成軟件根據(jù)邏輯代碼生成配置文件,將配置文件下載到相應的反熔絲FPGA后,F(xiàn)PGA自動實現(xiàn)底層布局布線。本發(fā)明在反熔絲FPGA內(nèi)實現(xiàn)時間數(shù)字轉(zhuǎn)換的具體工作流程為:外部提供固定頻率的時鐘以及整個時間數(shù)字轉(zhuǎn)換的工作使能信號,外部時鐘經(jīng)FPGA內(nèi)部鎖相環(huán)倍頻后作為系統(tǒng)主時鐘。待測的Hit信號輸入細時間測量單元,在進位級聯(lián)延時線上傳輸,之后由進位級聯(lián)延時線的采樣電路對其進行采樣。采樣電路為緊鄰著進位級聯(lián)延時線布局的D觸發(fā)器,在主時鐘上升沿到來時,D觸發(fā)器對進位級聯(lián)延時線的輸出狀態(tài)進行采樣,得到細時間測量數(shù)據(jù)。采集到有效數(shù)據(jù)的同時,對應的Hit信號也會產(chǎn)生一個主時鐘周期寬度的讀出使能信號。該讀出使能信號用于讀出粗時間測量計數(shù)以及細時間測量采樣數(shù)據(jù)。粗時間測量計數(shù)器在接收到讀出使能信號后,會讀出此時粗計數(shù)測量計數(shù)器的計數(shù)值作為被測的Hit信號的粗時間。在譯碼單元接收到該讀出使能信號時,也會讀出細時間測量數(shù)據(jù),之后采用流水線技術(shù)對細時間數(shù)據(jù)進行譯碼,該譯碼過程可能需要數(shù)個周期,所述讀出使能信號也對應在譯碼單元內(nèi)被延時數(shù)個周期作為譯碼的讀出使能信號。譯碼完成后,譯碼單元輸出位數(shù)較少的細時間編碼以及對緩存單元的寫使能控制信號(如圖中的Control和WREnable信號),控制將所述細時間編碼、粗時間測量單元輸出的粗時間計數(shù)值以及TDC通道標志ID—起寫入緩存單元。緩存單元的寫時鐘與主時鐘同步,寫入的數(shù)據(jù)按照事先定義好的格式寫入。緩存單元會輸出滿或空狀態(tài)指示信號(Empty和Full信號),在滿狀態(tài)時緩存單元接收到寫入使能信號仍然會拒絕數(shù)據(jù)的寫入。外部器件提供緩存單元的讀出控制時鐘(RD CLK),當其檢測到緩存單元處在非空狀態(tài)時,會發(fā)出讀出使能信號(RD Enable),此時緩存單元即把存儲的時間測量信息輸出。為了用單計數(shù)器即可正確地對所有Hit事例進行粗時間測量,對于每個Hit信號,在FPGA的邏輯代碼中需要加入產(chǎn)生一個與主時鐘同步且寬度等同于一個時鐘周期的使能信號,其產(chǎn)生原理的時序圖如圖2所示:當一個Hit事例到來后,開始在多級一位加法器構(gòu)成的進位級聯(lián)延時線上傳輸,其中第一級加法器的輸出信號如圖2所示,是略微延遲于Hit信號的反向信號。在最接近的一個主時鐘的上升沿到來時,第一級加法器的輸出信號被第一級D觸發(fā)器鎖存,得到與時鐘同步的觸發(fā)信號,在下一個時鐘周期的上升沿,一級D觸發(fā)器的鎖存信號被后一級D觸發(fā)器反向鎖存,然后將第一級D觸發(fā)器的輸出信號與后一級D觸發(fā)器的反向鎖存輸出做邏輯與運算,如此可得到與每個Hit事例對應、與主時鐘同步、時間寬度為一個時鐘周期的讀出使能信號。每個Hit信號到來時,計數(shù)鎖存單元都會接收到一個讀出使能信號,此時計數(shù)鎖存單元會記下粗計數(shù)測量計數(shù)器此時的讀數(shù)作為測量到的粗時間。計數(shù)鎖存單元的存儲的數(shù)值在接收到下一個讀出使能信號之前都不會隨計數(shù)器的數(shù)值改變。粗時間測量計數(shù)器在時鐘的每個上升沿將粗時間計數(shù)加1,因此在每個時鐘的上升沿粗時間測量計數(shù)器的輸出處于未知狀態(tài),若要在此時讀取計數(shù)可能會讀出錯誤的計數(shù)值。為了避免在時鐘的上升沿到來時讀取計數(shù)器,每當一個所述讀出使能信號發(fā)送給計數(shù)鎖存單元時,在主時鐘的下降沿讀取計數(shù)值。讀取到的粗時間計數(shù)值在等待細時間測量結(jié)果的譯碼步驟完成后,隨細時間測量結(jié)果與TDC通道ID—起存儲到緩存單元FIFO中。如圖2中讀到的粗時間計數(shù)為N,則粗時間測量結(jié)果為:t粗=N*Tclk (此處Tclk為系統(tǒng)主時鐘周期)。另外,此處產(chǎn)生的讀出使能信號除了用作讀取粗時間測量計數(shù)器外,還可用于下文詳細說明的譯碼單元對用于鎖存進位級聯(lián)延時線輸出狀態(tài)的D觸發(fā)器的讀出使能,以及將其延時數(shù)個時鐘周期后用作讀取細時間測量譯碼結(jié)果的使能信號。本發(fā)明中使用的細時間測量基于時間內(nèi)插原理,對主時鐘周期進行時間內(nèi)插,就是使用進位級聯(lián)延時線對時鐘周期進行等分,可以把時間測量精度大大提高。如果主時鐘周期為10ns,即頻率為100MHz,如對周期進行100等分內(nèi)插,可達到IOOps的時間測量精度,如果200等分則測量精度可達50ps。當I位加法器級聯(lián)構(gòu)成進位級聯(lián)延時線實現(xiàn)時間內(nèi)插時,如圖3所示,加法器的加數(shù)都置為0,被加數(shù)都置為1,前一級加法器的進位輸出端(FCO)都作為下一級加法器的進位輸入。第一級加法器的進位輸入端作為待測Hit信號的輸入。當沒有輸入信號時,進位輸入為0,所有加法器的輸出都為(S) 1,所有加法器的進位輸出端都為O。當有Hit信號輸入時,即第一級進位輸入端為I時,級聯(lián)的加法器的輸出從低到高逐步改變?yōu)镺。在Hit信號輸入進位級聯(lián)延時線后,信號在進位級聯(lián)延時線上傳輸,在之后最近的一個主時鐘上升沿,利用邏輯單元中的D觸發(fā)器即采樣電路來鎖存進位級聯(lián)延時線上的輸出信號,從鎖存到的數(shù)據(jù)即可判斷輸入的Hit信號在進位級聯(lián)延時線上傳播的時間信息。如圖1所示,用于采樣的D觸發(fā)器的個數(shù)等同于一位加法器的個數(shù)即進位級聯(lián)延時線的級聯(lián)級數(shù),每個D觸發(fā)器都對應于一級進位級聯(lián)延時線,D觸發(fā)器的輸入端即為構(gòu)成進位級聯(lián)延時線的一位加法器的輸出端。在主時鐘的每個上升沿到來時,D觸發(fā)器的輸出狀態(tài)會跳變?yōu)樵摃r刻其輸入端的相反狀態(tài),也就是說,在時鐘上升沿到來時,若D觸發(fā)器的輸入端即其對應的一位加法器的輸出狀態(tài)為O,則D觸發(fā)器的輸出端會跳變?yōu)?,若輸入端為I則輸出端跳變?yōu)镺。也可以說在時鐘上升沿到來時,D觸發(fā)器的輸入端狀態(tài)會被記住,并在其輸出端反向地表達出來。在下一個時鐘上升沿到來之前,D觸發(fā)器的輸出狀態(tài)都不會改變。對于不同時刻到達的Hit信號,其在下個時鐘上升沿到達時在進位級聯(lián)延時線上傳輸?shù)纳疃仁遣灰粯拥?,從而可以判斷Hit信號達到的時間。例如:如果在下個時鐘沿上升到來時,Hit信號在進位級聯(lián)線上傳輸?shù)降讦莻€單元,則可以判斷為,Hit信號到來的時間距離時鐘的上升沿為n*LSB,這個就是需要測量的Hit信號的細時間。如何得到細時間測量數(shù)據(jù)下文會詳細說明。在實際應用中,所用到的進位級聯(lián)延時線的延時長度之和即為一個主時鐘周期。在不同周期的主時鐘下,所用到的進位級聯(lián)延時線的級數(shù)是不一樣的,所用的級數(shù)與時鐘周期成正比。在本發(fā)明中,可以通過先后給時間數(shù)字轉(zhuǎn)換器提供兩個不同周期的主時鐘,標定其所使用的進位級聯(lián)延時線的級數(shù)來估算最小測量單元(LSB)。比如:在時鐘周期為Tl時,進位級聯(lián)延時線所使用的級數(shù)為NI,在時鐘周期為T2時使用進位級聯(lián)延時線的級數(shù)為N2,則時間數(shù)字轉(zhuǎn)換器的最小測量單元大小為(T2-T1)/(N2-N1)。此處詳細說明如何得到Hit信號的細時間測量數(shù)據(jù):當一個Hit信號到來時,其在進位級聯(lián)線上傳輸,進位級聯(lián)延時線的輸出狀態(tài)在時鐘上升沿到來時被D觸發(fā)器鎖存,同時由Hit信號產(chǎn)生讀出使能信號發(fā)送給譯碼單元,譯碼單元會在接收到讀出使能信號的下個時鐘周期讀出所有的D觸發(fā)器的輸出狀態(tài)并開始進行譯碼。如此則可保證每次譯碼單元讀出的數(shù)據(jù)都包含著每一個Hit信號的細時間數(shù)據(jù),而不會得到無效的數(shù)據(jù)。此處,根據(jù)讀出使能信號讀出D觸發(fā)器輸出狀態(tài)得到的數(shù)據(jù)為溫度計碼數(shù)據(jù),需要譯碼單元對其進行譯碼以壓縮數(shù)據(jù)位數(shù)的寬度。本發(fā)明使用的譯碼方法為順序查找法,譯碼的原理為:從讀取到的細時間測量數(shù)據(jù)中,由低到高即由第一位依次到最后一位尋找數(shù)據(jù)的跳變點,即尋找從I到O的跳變點,之后將該跳變點的位置信息以二進制碼輸出,此處所尋找到的跳變即代表Hit信號到來的細時間。例如:原本15位寬的溫度計碼數(shù)據(jù)111000000000000,經(jīng)過譯碼后轉(zhuǎn)換為4位寬的二進制碼數(shù)據(jù)0011,即十進制的3。若溫度計碼的位數(shù)較高,則需要的譯碼時間也會相對較長,此處需要使用流水線技術(shù),即將譯碼過程分解為若干個子處理過程,每個子過程都可在其專用有效的譯碼功能端上與其他子過程同時進行,從而可減少譯碼的死時間。本發(fā)明中將溫度計碼分解為幾段,這幾段分別由流水線譯碼的不同子過程執(zhí)行,一級一級查找,最終完成整個順序查找譯碼,輸出譯碼數(shù)據(jù)。

時間數(shù)字轉(zhuǎn)換器(TDC)的積分非線性(INL)指進行細時間測量時,實際值與理論值之間的誤差,這主要是由于TDC每個最小測量單元之間的不均勻性的疊加引起的。在做實際測量的時候,需要根據(jù)TDC的INL查找表對細時間測量結(jié)果進行修正:t 細=(Ml+INL (Ml)) ^LSB0此處t細為經(jīng)積分非線性修正后的細時間測量值,Ml為TDC譯碼后得到的細時間編碼,INL(Ml)即為TDC在細時間編碼為Ml時的積分非線性,最后乘上此時TDC的最小測量單元即得到細時間。當工作環(huán)境溫度變化時,TDC的最小測量單元(LSB)會隨之變化,如果不考慮溫度漂移對測量精度的影響,仍用固定的積分非線性查找表修正細時間測量結(jié)果,則在溫度變化較大時,會帶來幾百ps甚至Ins之多的誤差,這會使得高精度的細時間測量變得意義不大。如果在每個溫度點都標定TDC的LSB和積分非線性,這將是非常麻煩的過程,同時還需要大量的存儲空間來存儲INL在各個溫度點的查找表數(shù)據(jù)。因此在實際應用時需要引入溫度修正算法來保證TDC在不同溫度環(huán)境中的時間測量準確性。TDC的碼寬隨溫度的變化關(guān)系可通過熱控溫箱實驗標定,具體實施方法:將TDC的測試電路板置于溫控箱中,將其上電。調(diào)節(jié)溫控箱控制面板上的溫度至待標定的溫度K0,待其內(nèi)部溫度穩(wěn)定后對TDC于該溫度下的LSB進行標定實驗,并得到該溫度下的最小測量單元大小LSBKO和積分非線性查找表INLKO。
微調(diào)溫控箱內(nèi)部溫度(I 2度),再次標定TDC的LSB,如此反復,得到所需要的溫度范圍內(nèi)的LSB變化情況。擬合作出LSB隨溫度變化曲線,得到LSB與溫度的函數(shù)關(guān)系LSB(K) = f (K)。在實際進行時間測量時,同時記錄TDC的工作溫度K1,利用已標定溫度(KO)下的查找表以及LSB與溫度的關(guān)系函數(shù)f (K)對TDC的細計數(shù)修正:t 細=(M1+INLK0 (M1))*LSBK1綜上所述TDC的最終時間測量結(jié)果:t = t粗+t 細=N*Tclk+(Ml+INLKO(Ml))*LSBKlN為粗時間測量計數(shù),Ml為細時間測量編碼,Kl為FPGA即時工作溫度,Tclk為主時鐘周期,INLKO為已標定的溫度為KO時積分非線性查找表函數(shù),LSBKO為溫度為KO時的最小測量單元的大小,LSBKl為溫度為Kl時最小測量單元的大小,其根據(jù)所述LSB與溫度的關(guān)系函數(shù)f (K)獲得。該修正方法可以實時在FPGA中實現(xiàn),也可以離線在電腦的數(shù)據(jù)處理軟件中實現(xiàn)。實時修正需要消耗更多的FPGA資源,而離線修正則需要編寫數(shù)據(jù)處理軟件代碼。在實現(xiàn)如本發(fā)明所述的細時間譯碼單元的功能時,使用其他類型的譯碼方法(如折半查找)也可以達到相同的目的。在實現(xiàn)如本發(fā)明所述的粗時間測量時,使用相對復雜的正相和反相主時鐘下的兩個計數(shù)器而不使用相對簡單有效的產(chǎn)生讀出使能信號的邏輯框架,二者可實現(xiàn)相同的粗時間測量目的。在實現(xiàn)如本發(fā)明所述的溫度漂移修正時,使用在各個溫度下標定TDC的積分非線性得到多個查找表,而后在修正細時間測量結(jié)果時使用插值法得到當前溫度的修正值。這種修正方法需要多個查找表,消耗更多資源,但是與本發(fā)明所述的方法實現(xiàn)的是相同的目的。本發(fā)明技術(shù)在Actel的反熔絲FPGA中實現(xiàn)可為輻射環(huán)境較強的基礎研究和各種應用研究領(lǐng)域,尤其是空間探測領(lǐng)域提供一種使用靈活、成本較低、死時間低、高精度的時間測量方案,同時針對TDC碼寬的溫度漂移的修正方案,可使本發(fā)明應用于工作環(huán)境溫度變化劇烈的研究領(lǐng)域的同時保證高測量精度。本發(fā)明的有益效果詳細說明如下:使用靈活。用FPGA實現(xiàn)高精度時間數(shù)字轉(zhuǎn)換器的最大特點就是靈活。在很多研究領(lǐng)域,使用專用的ASIC電路實現(xiàn)時間數(shù)字轉(zhuǎn)換,但是其所有的功能都是固定的已有的,在實際應用時的電路設計都只能根據(jù)已有的ASIC施行,基本沒有任何靈活性,而且某些ASIC可能只為特定的用途研制,通用性較差。作為可編程器件,反熔絲FPGA在應用時可根據(jù)用戶自己的需要設計邏輯代碼,然后將代碼固化下載到FPGA中即可工作。本發(fā)明的靈活性主要體現(xiàn)在:TDC自身功能的靈活調(diào)整可根據(jù)實際需求改變FPGA邏輯單元實現(xiàn);TDC通道數(shù)的靈活調(diào)整可應需求選取不同容量的FPGA器件來實現(xiàn);不同測量精度的靈活調(diào)整可通過改編FPGA邏輯代碼來實現(xiàn);不同動態(tài)測量范圍靈活調(diào)整可通過改變粗計數(shù)器的位數(shù)以及主時鐘頻率實現(xiàn);不同的電平標準的靈活調(diào)整通過FPGA的邏輯的編寫即可實現(xiàn)。成本低。在輻射較高的領(lǐng)域?qū)崿F(xiàn)高精度時間測量時,研發(fā)專用ASIC芯片,尤其是抗輻射性能較強的ASIC,通常會需要非常多的經(jīng)費,若從國外購買往往被禁運;而反熔絲FPGA與之相比則容易得到的多,價格也相對要低很多。
可適應溫度變化劇烈的工作環(huán)境。航天等級或者軍用等級的反熔絲FPGA自身工作溫度范圍就比較廣,配合上溫度漂移修正算法,即使工作環(huán)境溫度出現(xiàn)大的波動,本發(fā)明所述的數(shù)字時間轉(zhuǎn)換器仍然可以保證很高的時間測量精度。就本發(fā)明所述原理,在反熔絲FPGA-AX500中實現(xiàn)了高精度的時間數(shù)字轉(zhuǎn)換器,在室溫25攝氏度的環(huán)境下,最小測量單元(LSB)為約74ps,積分非線性(INL)在-0.8/+1.7LSB之間,時間測量均方根誤差統(tǒng)計值為40ps左右。當FPGA的工作溫度變化范圍為-20攝氏度至+70攝氏度時,引入溫度修正算法后,TDC的時間測量結(jié)果的統(tǒng)計均方根誤差穩(wěn)定在40ps左右。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。本發(fā)明的研究受“中央高?;究蒲袠I(yè)務費專項資金資助”(the FundamentalResearch Funds for the Central Universities),資助號為 WK2030040023。
權(quán)利要求
1.一種基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其包括:粗時間測量單元、細時間測量單元、譯碼單元和數(shù)據(jù)緩存單元,上述各個單元在單片反熔絲FPGA上實現(xiàn);其中所述粗時間測量單元用于測量粗精度時間數(shù)據(jù),并輸出至所述數(shù)據(jù)緩存單元進行存儲;所述細時間測量單元用于測量高精度時間數(shù)據(jù),所述譯碼單元用于將所測量的高精度時間數(shù)據(jù)譯碼后輸出至所述數(shù)據(jù)緩存單元進行存儲。
2.按權(quán)利要求1所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述粗時間測量單元包括工作在主時鐘周期下的單個計數(shù)器和計數(shù)鎖存單元,所述計數(shù)器在每個主時鐘周期的上升沿將粗時間計數(shù)加I ;所述鎖存單元在被測信號到來時,鎖存所述計數(shù)器中的計數(shù)值,以作為所述粗精度時間數(shù)據(jù)。
3.按權(quán)利要求1所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述細時間測量單元包括級聯(lián)延時線;所述級聯(lián)延時線由多級延時單元構(gòu)成,第一級延時單元的輸入為被測信號,其它延時單兀的輸入為前一級延時單兀的輸出;每一級延時單兀對應一個D觸發(fā)器,在主時鐘上升沿到來時,每一級延時單元的輸出被與其對應的D觸發(fā)器反向鎖存。
4.按權(quán)利要求3所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述延時單元為I位加法器,其進位輸入端接收被測信號,其進位輸出作為下一級I位加法器的進位輸入,其輸出被與其對應的D觸發(fā)器反向鎖存。
5.按權(quán)利要求4所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述第一級加法器對應的D觸發(fā)器鎖存第一級加法器的進位輸出后,在下一個主時鐘上升沿,其鎖存信號被另一 D觸發(fā)器反向鎖存,所述鎖存信號和所述反向鎖存信號經(jīng)與門產(chǎn)生讀出使能信號,所述讀出使能信號輸出至粗時間測量單元和譯碼單元,所述粗時間測量單元在接收到所述讀出使能信號后輸出粗精度時間數(shù)據(jù)至所述數(shù)據(jù)緩存單元;所述譯碼單元接收到所述讀出使能信號后從D觸發(fā)器讀出所述高精度時間數(shù)據(jù),并將其進行譯碼后輸出至所述數(shù)據(jù)緩存單元。
6.按權(quán)利要求1所述的基于 反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述譯碼單元使用流水線技術(shù)從所測量到的高精度時間數(shù)據(jù)中找出數(shù)據(jù)的跳變點,并輸出該跳變點的位置編碼數(shù)據(jù),該位置編碼數(shù)據(jù)即為譯碼后的高精度時間數(shù)據(jù)。
7.按權(quán)利要求4所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器,其特征在于,所述進位級聯(lián)延時線中多級延時單元的延時長度之和為一個主時鐘周期,不同主時鐘周期下,延時單元的級數(shù)不同。
8.一種對如權(quán)利要求1所述的基于反熔絲FPGA的時間數(shù)字轉(zhuǎn)換器所測量的時間進行溫度漂移修正的方法,其包括: 從所述數(shù)據(jù)緩存單元讀取譯碼后的高精度時間數(shù)據(jù); 對所述譯碼后的高精度時間數(shù)據(jù)進行溫度漂移修正:t 細=(M1+INL(M1))*LSB 其中七_表示修正后的高精度細時間,Ml為所述譯碼后的高精度時間數(shù)據(jù),INL(Ml)表示高精度時間數(shù)據(jù)為Ml時的積分非線性,其根據(jù)已標定溫度的積分非線性查找表INL獲得,LSB表示當前工作溫度最小測量單元的大小。
9.按權(quán)利要求8所述的方法,其特征在于,在所述時間數(shù)字轉(zhuǎn)換器的工作環(huán)境溫度變化,且當前溫度Kl未標定,即其最小測量單元LSBKl和積分非線性查找表未知時,對所述譯碼后的高精度時間數(shù)據(jù)進行溫度漂移修正具體包括: 根據(jù)已標定的溫度的最小測量單元得到最小測量單元隨溫度變化的擬合曲線f(K); 根據(jù)所述擬合曲線f (K)獲得當前溫度Kl下的最小測量單元LSBKl ; 根據(jù)已標定的溫度積分非線性表和當前溫度Kl下的最小測量單元LSBK1,獲得溫度漂移修正后的高精度時間: t 細=(Ml+INLKO(M1))*LSBK1 其中,INLKO (Ml)表示已標定溫度KO下的積分非線性。
10.按權(quán)利要求8所述的方法,其特征在于,對所述高精度時間的溫度漂移修正在所述反熔絲FPGA上完成,或者在 所述FPGA外部完成。
全文摘要
本發(fā)明公開了基于反熔絲FPGA的高精度時間數(shù)字轉(zhuǎn)換器以及其溫度漂移的修正算法?;诜慈劢zFPGA的時間數(shù)字轉(zhuǎn)換器分為兩個部分一是用計數(shù)法進行粗時間測量,另一部分是用FPGA內(nèi)部的進位級聯(lián)連線實現(xiàn)時間內(nèi)插,即用內(nèi)插法實現(xiàn)細時間測量。在測量完成后,根據(jù)FPGA的工作環(huán)境溫度結(jié)合溫度漂移修正算法對細時間的測量結(jié)果進行修正,以求在大的溫度變化范圍內(nèi)都保證時間數(shù)字轉(zhuǎn)換器的測量精度。本發(fā)明的關(guān)鍵技術(shù)是使用在主時鐘下工作的高速計數(shù)器實現(xiàn)粗計數(shù)測量,利用進位連線對時鐘周期實現(xiàn)時間內(nèi)插來測量細時間,標定時間數(shù)字轉(zhuǎn)換器的最小測量單元(LSB)得到其隨溫度的變化函數(shù)關(guān)系,再根據(jù)該函數(shù)關(guān)系以及時間數(shù)字轉(zhuǎn)換器的積分非線性對細時間測量結(jié)果進行修正。
文檔編號H03M1/50GK103092059SQ20121056638
公開日2013年5月8日 申請日期2012年12月24日 優(yōu)先權(quán)日2012年12月24日
發(fā)明者劉樹彬, 秦熙, 封常青, 安琪 申請人:中國科學技術(shù)大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1