脈寬的測量原理_第1頁
脈寬的測量原理_第2頁
脈寬的測量原理_第3頁
脈寬的測量原理_第4頁
脈寬的測量原理_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、脈寬的測量原理摘要:采用XILINX公司的SpartanII系列FPGA芯片設(shè)計(jì)了一種基于數(shù)字移相技術(shù)的高精度脈寬測量系統(tǒng),同時(shí)給出了系統(tǒng)的仿真結(jié)果和精度分析。與通常的脈沖計(jì)數(shù)法相比,該系統(tǒng)的最大測量誤差減小到原來的34.2。關(guān)鍵詞:脈寬測量 數(shù)字移相 脈沖計(jì)數(shù)法 FPGA在測量與儀器儀表領(lǐng)域,經(jīng)常需要對數(shù)字信號的脈沖寬度進(jìn)行測量。這種測量通常采用脈沖計(jì)數(shù)法,即在待測信號的高電平或低電平用一高頻時(shí)鐘脈沖進(jìn)行計(jì)數(shù),然后根據(jù)脈沖的個(gè)數(shù)計(jì)算待測信號寬度,如圖1所示。待測信號相對于計(jì)數(shù)時(shí)鐘通常是獨(dú)立的,其上升、下降沿不可能正好落在時(shí)鐘的邊沿上,因此該法的最大測量誤差為一個(gè)時(shí)鐘周期。例如采用80MHz的

2、高頻時(shí)鐘,最大誤差為125ns。 提高脈沖計(jì)數(shù)法的精度通常有兩個(gè)思路:提高計(jì)數(shù)時(shí)鐘頻率和使用時(shí)幅轉(zhuǎn)換技術(shù)。時(shí)鐘頻率越高,測量誤差越小,但是頻率越高對芯片的性能要求也越高。例如要求1ns的測量誤差時(shí),時(shí)鐘頻率就需要提高到1GHz,此時(shí)一般計(jì)數(shù)器芯片很難正常工作,同時(shí)也會(huì)帶來電路板的布線、材料選擇、加工等諸多問題。時(shí)幅轉(zhuǎn)換技術(shù)雖然對時(shí)鐘頻率不要求,但由于采用模擬電路,在待測信號頻率比較高的情況下容易受噪聲干擾,而且當(dāng)要求連續(xù)測量信號的脈寬時(shí),電路反應(yīng)的快速性方面就存在一定問題。區(qū)別于以上兩種方法,本文提出另一種利用數(shù)字移相技術(shù)提高脈寬測量精度的思路并使用FPGA芯片實(shí)現(xiàn)測試系統(tǒng)。1測量原理所謂移相

3、是指對于兩路同頻信號,以其中一路為參考信號,另一路相對于該參考信號做超前或滯后的移動(dòng)形成相位差。數(shù)字移相通常采用延時(shí)方法,以延時(shí)的長短來決定兩數(shù)字信號間的相位差,本文提出的測量原理正是基于數(shù)字移相技術(shù)。如圖2所示,原始計(jì)數(shù)時(shí)鐘信號CLK0通過移相后得到CLK90、CLKl80、CLK270,相位依次相差90°,用這四路時(shí)鐘信號同時(shí)驅(qū)動(dòng)四個(gè)相同的計(jì)數(shù)器對待測信號進(jìn)行計(jì)數(shù)。設(shè)時(shí)鐘頻率為f,周期為T,四個(gè)計(jì)數(shù)器的計(jì)數(shù)個(gè)數(shù)分別為m1、m2、m3和m4,則最后脈寬測量值為: 可以看到,這種方法實(shí)際等效于將原始計(jì)數(shù)時(shí)鐘四倍頻,以4f的時(shí)鐘頻率對待測信號進(jìn)行計(jì)數(shù)測量,從而將測量精度提高到原來的4倍

4、。例如原始計(jì)數(shù)時(shí)鐘為80MHz時(shí),系統(tǒng)的等效計(jì)數(shù)頻率則為320MHz,如果不考慮各路計(jì)數(shù)時(shí)鐘間的相對延遲時(shí)間誤差,其測量的最大誤差將降為原來的四分之一,僅為3125ns。同時(shí),該法保證了整個(gè)電路的最大工作頻率仍為人避免了時(shí)鐘頻率提高帶來的一系列問題。2系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)的最關(guān)鍵部分是保證送入各計(jì)數(shù)器的時(shí)鐘相對延遲精度,即要保證計(jì)數(shù)時(shí)鐘之間的相位差。由于通常原始時(shí)鐘頻率已經(jīng)相對較高(通常接近100MHz),周期在1020ns之間,因此對時(shí)鐘的延遲時(shí)間只有幾ns,使用普通的延遲線芯片無法達(dá)到精度要求;同時(shí)為了避免電路板內(nèi)芯片間傳送延遲的影響,保證測試系統(tǒng)的精度、穩(wěn)定性和柔性。本文采用現(xiàn)場可編程門陣列

5、(FPGA)來實(shí)現(xiàn)所提出的測量方法。系統(tǒng)結(jié)構(gòu)如圖3所示。晶振產(chǎn)生原始輸入時(shí)鐘,通過移相計(jì)數(shù)模塊后得到脈寬的測量值,測量結(jié)果送人FIFO緩存中,以加快數(shù)據(jù)處理速度,最后通過PCI總線完成與計(jì)算機(jī)的數(shù)據(jù)傳輸。邏輯控制用來協(xié)調(diào)各模塊間的時(shí)序,保證系統(tǒng)的正常運(yùn)行。為提高測試系統(tǒng)的靈活性和方便性,系統(tǒng)建立了內(nèi)部寄存器,通過軟件修改寄存器的值可以控制測試系統(tǒng)的啟動(dòng)停止,選擇測量高電平或低電平等。移相計(jì)數(shù)模塊、FIFO緩沖以及邏輯控制均在FPGA芯片內(nèi)實(shí)現(xiàn),芯片使用XILINX公司的SpartanII系列。SpartanII系列是一款高性能、低價(jià)位的FPGA芯片,其最高運(yùn)行頻率為200MHz,這里選用其中的

6、XC2S15-6(-6為速度等級)。芯片提供了四個(gè)高精度片內(nèi)數(shù)字延遲鎖定環(huán)路(Delay-Locked Loop,即DLL),可以保證芯片內(nèi)時(shí)鐘信號的零傳送延遲和低的時(shí)鐘歪斜(Clock Skew);同時(shí)可以方便地實(shí)現(xiàn)對時(shí)鐘信號的常用控制,如移相、倍頻、分頻等。在HDL程序設(shè)計(jì)中,可以使用符號CLKDLL調(diào)用片內(nèi)DLL結(jié)構(gòu),其管腳圖如圖4所示。主要管腳說明如下: CLKIN:時(shí)鐘源輸入,其頻率范圍為25100MHz。CLKFB:反饋或參考時(shí)鐘信號,只能從CLK0或CLK2X反饋輸入。CLK090180270:時(shí)鐘輸出,與輸入時(shí)鐘同頻,但相位依次相差90°。其內(nèi)部定義了屬性DUTY_C

7、Y-CLE_CORRECTION,可以用來調(diào)整時(shí)鐘的占空比,值為FALSE時(shí),輸出時(shí)鐘占空比和輸入時(shí)鐘一致,值為TRUE時(shí)將占空比調(diào)整為50。CLK2X:時(shí)鐘源倍頻輸出,且占空比自動(dòng)調(diào)整為50。CLKDV:時(shí)鐘源分頻輸出,由屬性CLKDV_DIVIDE控制N分頻,N可以為15、2、25、3、4、5、8或16。LOCKED:該信號為低電平時(shí),表示延遲鎖相環(huán)DLL還沒有鎖定信號,上述輸出時(shí)鐘信號未達(dá)到理想信號;當(dāng)變?yōu)楦唠娖綍r(shí),表示鎖相環(huán)已經(jīng)完成信號鎖定,輸出時(shí)鐘信號可用。若時(shí)鐘源輸入頻率大于60MHz,則系統(tǒng)鎖定時(shí)間大約需20s。利用DLL功能可以非常快速方便地構(gòu)建移相計(jì)數(shù)模塊,實(shí)現(xiàn)本文前面介紹的

8、測量方法。移相計(jì)數(shù)模塊結(jié)構(gòu)如圖5所示。原始時(shí)鐘通過CLKDLL處理后得到的相位依次相差90°的四路時(shí)鐘輸出為CLK0、CLK90、CLKl80和CLK270,它們分別作為四個(gè)相同的16位計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,待測信號連接計(jì)數(shù)器的使能端,同時(shí)控制四個(gè)計(jì)數(shù)器的啟動(dòng)和停止。有了各計(jì)數(shù)器的計(jì)數(shù)結(jié)果,再通過加法器得到累加的計(jì)數(shù)個(gè)數(shù),最后計(jì)算出信號脈寬值。3仿真和精度分析圖6給出了FPGA芯片內(nèi)部布線后用Modelsim進(jìn)行仿真的結(jié)果。在RESET后就啟動(dòng)移相計(jì)數(shù)模塊,開始對待測信號進(jìn)行測量,完成一次測量后產(chǎn)生READY信號,同時(shí)輸出測量結(jié)果,以供后續(xù)部分使用。仿真的結(jié)果證明測試系統(tǒng)達(dá)到設(shè)計(jì)目標(biāo)。下

9、面進(jìn)一步對系統(tǒng)做深入的誤差分析。造成系統(tǒng)測量脈寬誤差的來源主要有系統(tǒng)原理誤差TS、時(shí)鐘相移誤差TP和信號延遲誤差Td以及計(jì)數(shù)時(shí)鐘抖晃TC,如圖7所示。由前所述,當(dāng)80MHz晶振時(shí)鐘輸入時(shí),系統(tǒng)原理誤差Ts=3125ns。時(shí)鐘相移誤差為從CLKDLL中出來的四路時(shí)鐘信號之間本身的相位偏移,根據(jù)芯片提供的參數(shù),其最大TP為200ps。計(jì)數(shù)時(shí)鐘抖晃是指從CLKDLL中輸出的時(shí)鐘信號本身周期的偏差,其最大TC為60ps。由于計(jì)數(shù)的時(shí)鐘周期數(shù)較多,故平均后其對整個(gè)系統(tǒng)的測量誤差影響可以忽略不計(jì)。信號延遲誤差即為由于芯片內(nèi)部各信號傳輸延遲不一致而造成的四個(gè)計(jì)數(shù)器計(jì)數(shù)的同步誤差。為分析該誤差情況,用ISE

10、51提供的Timing Analyzer程序?qū)﹃P(guān)鍵路徑做進(jìn)一步的時(shí)間分析,得到的結(jié)果如表1所示。表1 各信號到計(jì)數(shù)器的延遲分析(單位:ns)計(jì)數(shù)器1計(jì)數(shù)器2計(jì)數(shù)器3計(jì)數(shù)器4計(jì)數(shù)時(shí)鐘延遲CLK0|90|180|2703.2943.5623.6403.149待測信號延遲3.9624.6654.8434.767時(shí)鐘相對信號延遲0.6681.1031.2031.618延遲誤差TdTd=1.618-0.668=0.950表中第一欄為從CLKDLL中出來的計(jì)數(shù)時(shí)鐘到各自計(jì)數(shù)器的延遲時(shí)間,第二欄為用來控制計(jì)數(shù)器啟動(dòng)停止的HF信號到四個(gè)計(jì)數(shù)器的時(shí)間。由于需要的是各計(jì)數(shù)時(shí)鐘間相對延遲時(shí)間,故第三欄給出時(shí)鐘相對于HF信號到計(jì)數(shù)器的延遲,即為第一欄和第二欄的差值。由此得出信號延遲誤差Td=0950ns。故有系統(tǒng)測量誤差T為:T=TS+TP+Td=4275ns (2)即脈寬測量最大誤差為±4275ns。與脈沖計(jì)數(shù)法比較,同樣的80MHz時(shí)鐘輸入,最大測量誤差減小到原來的342。本文在數(shù)字移相技術(shù)的基礎(chǔ)上設(shè)計(jì)了一種高精度的脈寬測量系統(tǒng),使測量精度相對于脈沖計(jì)數(shù)法提高了多倍。若需進(jìn)一步提高這種方法的測量精度,可以通過以下兩個(gè)方面進(jìn)行改進(jìn):(1)繼續(xù)提高晶振頻率,尋求速度更快的FPGA芯片。晶振頻率越高,系統(tǒng)原理誤差越小。(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論