基于數(shù)字移相的高精度脈寬測量系統(tǒng)及其FPGA實現(xiàn)

相關(guān)專題: 芯片

在測量與儀器儀表領(lǐng)域,經(jīng)常需要對數(shù)字信號的脈沖寬度進行測量.這種測量通常采用脈沖計數(shù)法,即在待測信號的高電平或低電平用一高頻時鐘脈沖進行計數(shù),然后根據(jù)脈沖的個數(shù)計算待測信號寬度,如圖1所示.待測信號相對于計數(shù)時鐘通常是獨立的,其上升、下降沿不可能正好落在時鐘的邊沿上,因此該法的最大測量誤差為一個時鐘周期.例如采用80MHz的高頻時鐘,最大誤差為12.5ns.

提高脈沖計數(shù)法的精度通常有兩個思路:提高計數(shù)時鐘頻率和使用時幅轉(zhuǎn)換技術(shù).時鐘頻率越高,測量誤差越小,但是頻率越高對芯片的性能要求也越高.例如要求1ns的測量誤差時,時鐘頻率就需要提高到1GHz,此時一般計數(shù)器芯片很難正常工作,同時也會帶來電路板的布線、材料選擇、加工等諸多問題.時幅轉(zhuǎn)換技術(shù)雖然對時鐘頻率不要求,但由于采用模擬電路,在待測信號頻率比較高的情況下容易受噪聲干擾,而且當(dāng)要求連續(xù)測量信號的脈寬時,電路反應(yīng)的快速性方面就存在一定問題.

區(qū)別于以上兩種方法,本文提出另一種利用數(shù)字移相技術(shù)提高脈寬測量精度的思路并使用FPGA芯片實現(xiàn)測試系統(tǒng).

1 測量原理

所謂移相是指對于兩路同頻信號,以其中一路為參考信號,另一路相對于該參考信號做超前或滯后的移動形成相位差.數(shù)字移相通常采用延時方法,以延時的長短來決定兩數(shù)字信號間的相位差,本文提出的測量原理正是基于數(shù)字移相技術(shù).如圖2所示,原始計數(shù)時鐘信號CLK0通過移相后得到CLK90、CLK180、CLK270,相位依次相差90°,用這四路時鐘信號同時驅(qū)動四個相同的計數(shù)器對待測信號進行計數(shù).設(shè)時鐘頻率為f,周期為T,四個計數(shù)器的計數(shù)個數(shù)分別為m1、m2、m3和m4,則最后脈寬測量值為:

w=[(m1+m2+m3+m4)/4]×T  (1)

可以看到,這種方法實際等效于將原始計數(shù)時鐘四倍頻,以4f的時鐘頻率對待測信號進行計數(shù)測量,從而將測量精度提高到原來的4倍.例如原始計數(shù)時鐘為80MHz時,系統(tǒng)的等效計數(shù)頻率則為320MHz,如果不考慮各路計數(shù)時鐘間的相對延遲時間誤差,其測量的最大誤差將降為原來的四分之一,僅為3.125ns.同時,該法保證了整個電路的最大工作頻率仍為f,避免了時鐘頻率提高帶來的一系列問題.

2 系統(tǒng)實現(xiàn)

系統(tǒng)實現(xiàn)的最關(guān)鍵部分是保證送入各計數(shù)器的時鐘相對延遲精度,即要保證計數(shù)時鐘之間的相位差.由于通常原始時鐘頻率已經(jīng)相對較高(通常接近100MHz),周期在10~20ns之間,因此對時鐘的延遲時間只有幾ns,使用普通的延遲線芯片無法達到精度要求;同時為了避免電路板內(nèi)芯片間傳送延遲的影響,保證測試系統(tǒng)的精度、穩(wěn)定性和柔性.本文采用現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)所提出的測量方法.系統(tǒng)結(jié)構(gòu)如圖3所示.晶振產(chǎn)生原始輸入時鐘,通過移相計數(shù)模塊后得到脈寬的測量值,測量結(jié)果送入FIFO緩存中,以加快數(shù)據(jù)處理速度,最后通過PCI總線完成與計算機的數(shù)據(jù)傳輸.邏輯控制用來協(xié)調(diào)各模塊間的時序,保證系統(tǒng)的正常運行.為提高測試系統(tǒng)的靈活性和方便性,系統(tǒng)建立了內(nèi)部寄存器,通過軟件修改寄存器的值可以控制測試系統(tǒng)的啟動停止,選擇測量高電平或低電平等.移相計數(shù)模塊、FIFO緩沖以及邏輯控制均在FPGA芯片內(nèi)實現(xiàn),芯片使用XILINX公司的SpartanII系列.

SpartanII系列是一款高性能、低價位的FPGA芯片,其最高運行頻率為200MHz,這里選用其中的XC2S15-6(-6為速度等級).芯片提供了四個高精度片內(nèi)數(shù)字延遲鎖定環(huán)路(Delay-Locked Loop,即DLL),可以保證芯片內(nèi)時鐘信號的零傳送延遲和低的時鐘歪斜(Clock Skew);同時可以方便地實現(xiàn)對時鐘信號的常用控制,如移相、倍頻、分頻等.在HDL程序設(shè)計中,可以使用符號CLKDLL調(diào)用片內(nèi)DLL結(jié)構(gòu),其管腳圖如圖4所示.主要管腳說明如下:

CLKIN:時鐘源輸入,其頻率范圍為25~100MHz.

CLKFB:反饋或參考時鐘信號,只能從CLK0或CLK2X反饋輸入.

CLK?眼0|90|180|270?演:時鐘輸出,與輸入時鐘同頻,但相位依次相差90°.其內(nèi)部定義了屬性DUTY_CYCLE_CORRECTION,可以用來調(diào)整時鐘的占空比,值為FALSE時,輸出時鐘占空比和輸入時鐘一致,值為TRUE時將占空比調(diào)整為50%.

CLK2X:時鐘源倍頻輸出,且占空比自動調(diào)整為50%.

CLKDV:時鐘源分頻輸出,由屬性 CLKDV_DIVIDE控制N分頻,N可以為1.5、2、2.5、3、4、5、8或16.

LOCKED:該信號為低電平時,表示延遲鎖相環(huán)DLL還沒有鎖定信號,上述輸出時鐘信號未達到理想信號;當(dāng)變?yōu)楦唠娖綍r,表示鎖相環(huán)已經(jīng)完成信號鎖定,輸出時鐘信號可用.若時鐘源輸入頻率大于60MHz,則系統(tǒng)鎖定時間大約需20μs.

利用DLL功能可以非?焖俜奖愕貥(gòu)建移相計數(shù)模塊,實現(xiàn)本文前面介紹的測量方法.移相計數(shù)模塊結(jié)構(gòu)如圖5所示.原始時鐘通過CLKDLL處理后得到的相位依次相差90°的四路時鐘輸出為CLK0、CLK90、CLK180和CLK270,它們分別作為四個相同的16位計數(shù)器的計數(shù)時鐘,待測信號連接計數(shù)器的使能端,同時控制四個計數(shù)器的啟動和停止.有了各計數(shù)器的計數(shù)結(jié)果,再通過加法器得到累加的計數(shù)個數(shù),最后計算出信號脈寬值.

 

作者:徐端頤,齊國生,張啟程   來源:21IC電子網(wǎng)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息