基于數字移相的高精度脈寬測量系統及其FPGA實(shí)現
在測量與儀器儀表領(lǐng)域,經(jīng)常需要對數字信號的脈沖寬度進(jìn)行測量.這種測量通常采用脈沖計數法,即在待測信號的高電平或低電平用一高頻時(shí)鐘脈沖進(jìn)行計數,然后根據脈沖的個(gè)數計算待測信號寬度,如圖1所示.待測信號相對于計數時(shí)鐘通常是獨立的,其上升、下降沿不可能正好落在時(shí)鐘的邊沿上,因此該法的最大測量誤差為一個(gè)時(shí)鐘周期.例如采用80MHz的高頻時(shí)鐘,最大誤差為12.5ns.
本文引用地址:http://dyxdggzs.com/article/195763.htm
提高脈沖計數法的精度通常有兩個(gè)思路:提高計數時(shí)鐘頻率和使用時(shí)幅轉換技術(shù).時(shí)鐘頻率越高,測量誤差越小,但是頻率越高對芯片的性能要求也越高.例如要求1ns的測量誤差時(shí),時(shí)鐘頻率就需要提高到1GHz,此時(shí)一般計數器芯片很難正常工作,同時(shí)也會(huì )帶來(lái)電路板的布線(xiàn)、材料選擇、加工等諸多問(wèn)題.時(shí)幅轉換技術(shù)雖然對時(shí)鐘頻率不要求,但由于采用模擬電路,在待測信號頻率比較高的情況下容易受噪聲干擾,而且當要求連續測量信號的脈寬時(shí),電路反應的快速性方面就存在一定問(wèn)題.
區別于以上兩種方法,本文提出另一種利用數字移相技術(shù)提高脈寬測量精度的思路并使用FPGA芯片實(shí)現測試系統.
1 測量原理
所謂移相是指對于兩路同頻信號,以其中一路為參考信號,另一路相對于該參考信號做超前或滯后的移動(dòng)形成相位差.數字移相通常采用延時(shí)方法,以延時(shí)的長(cháng)短來(lái)決定兩數字信號間的相位差,本文提出的測量原理正是基于數字移相技術(shù).如圖2所示,原始計數時(shí)鐘信號CLK0通過(guò)移相后得到CLK90、CLK180、CLK270,相位依次相差90°,用這四路時(shí)鐘信號同時(shí)驅動(dòng)四個(gè)相同的計數器對待測信號進(jìn)行計數.設時(shí)鐘頻率為f,周期為T(mén),四個(gè)計數器的計數個(gè)數分別為m1、m2、m3和m4,則最后脈寬測量值為:
w=[(m1+m2+m3+m4)/4]×T (1)
可以看到,這種方法實(shí)際等效于將原始計數時(shí)鐘四倍頻,以4f的時(shí)鐘頻率對待測信號進(jìn)行計數測量,從而將測量精度提高到原來(lái)的4倍.例如原始計數時(shí)鐘為80MHz時(shí),系統的等效計數頻率則為320MHz,如果不考慮各路計數時(shí)鐘間的相對延遲時(shí)間誤差,其測量的最大誤差將降為原來(lái)的四分之一,僅為3.125ns.同時(shí),該法保證了整個(gè)電路的最大工作頻率仍為f,避免了時(shí)鐘頻率提高帶來(lái)的一系列問(wèn)題.
評論