基于數(shù)字移相的高精度脈寬測量系統(tǒng)
摘要:采用XILINX公司的SpartanII系列FPGA芯片設(shè)計了一種基于數(shù)字移相技術(shù)的高精度脈寬測量系統(tǒng),同時給出了系統(tǒng)的仿真結(jié)果和精度分析菜缭。與通常的脈沖計數(shù)法相比辖醒,該系統(tǒng)的最大測量誤差減小到原來的34.2%。
關(guān)鍵詞:脈寬測量 數(shù)字移相 脈沖計數(shù)法 FPGA
在測量與儀器儀表領(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、CLKl80仓煌、CLK270烧已,相位依次相差90°,用這四路時鐘信號同時驅(qū)動四個相同的計數(shù)器對待測信號進行計數(shù)熔徊。設(shè)時鐘頻率為f烘牌,周期為T,四個計數(shù)器的計數(shù)個數(shù)分別為m1朽晓、m2撮点、m3和m4,則最后脈寬測量值為:
可以看到方仿,這種方法實際等效于將原始計數(shù)時鐘四倍頻固棚,以4f的時鐘頻率對待測信號進行計數(shù)測量,從而將測量精度提高到原來的4倍兼丰。例如原始計數(shù)時鐘為80MHz時,系統(tǒng)的等效計數(shù)頻率則為320MHz唆缴,如果不考慮各路計數(shù)時鐘間的相對延遲時間誤差鳍征,其測量的最大誤差將降為原來的四分之一,僅為3.125ns面徽。同時艳丛,該法保證了整個電路的最大工作頻率仍為人避免了時鐘頻率提高帶來的一系列問題。
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_CY-CLE_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由境、CLKl80和CLK270,它們分別作為四個相同的16位計數(shù)器的計數(shù)時鐘憔晒,待測信號連接計數(shù)器的使能端藻肄,同時控制四個計數(shù)器的啟動和停止硝迁。有了各計數(shù)器的計數(shù)結(jié)果,再通過加法器得到累加的計數(shù)個數(shù)锁龙,最后計算出信號脈寬值殷淮。
3仿真和精度分析
圖6給出了FPGA芯片內(nèi)部布線后用Modelsim進行仿真的結(jié)果。在RESET后就啟動移相計數(shù)模塊腺拗,開始對待測信號進行測量两靖,完成一次測量后產(chǎn)生READY信號,同時輸出測量結(jié)果困碰,以供后續(xù)部分使用耍俱。仿真的結(jié)果證明測試系統(tǒng)達到設(shè)計目標(biāo)。
下面進一步對系統(tǒng)做深入的誤差分析西龟。造成系統(tǒng)測量脈寬誤差的來源主要有系統(tǒng)原理誤差TS馒脏、時鐘相移誤差TP和信號延遲誤差Td以及計數(shù)時鐘抖晃TC,如圖7所示镣学。
由前所述歌淹,當(dāng)80MHz晶振時鐘輸入時,系統(tǒng)原理誤差Ts=3.125ns。時鐘相移誤差為從CLKDLL中出來的四路時鐘信號之間本身的相位偏移枝秤,根據(jù)芯片提供的參數(shù)醋拧,其最大TP為200ps。計數(shù)時鐘抖晃是指從CLKDLL中輸出的時鐘信號本身周期的偏差淀弹,其最大TC為60ps丹壕。由于計數(shù)的時鐘周期數(shù)較多,故平均后其對整個系統(tǒng)的測量誤差影響可以忽略不計垦页。
信號延遲誤差即為由于芯片內(nèi)部各信號傳輸延遲不一致而造成的四個計數(shù)器計數(shù)的同步誤差雀费。為分析該誤差情況,用ISE 5.1提供的Timing Analyzer程序?qū)﹃P(guān)鍵路徑做進一步的時間分析痊焊,得到的結(jié)果如表1所示盏袄。
表1 各信號到計數(shù)器的延遲分析(單位:ns)
計數(shù)器1 計數(shù)器2 計數(shù)器3 計數(shù)器4
計數(shù)時鐘延遲 3.294 3.562 3.640 3.149 CLK[0|90|180|270]
待測信號延遲 3.962 4.665 4.843 4.767
時鐘相對信號延遲 0.668 1.103 1.203 1.618
延遲誤差Td Td=1.618-0.668=0.950
表中第一欄為從CLKDLL中出來的計數(shù)時鐘到各自計數(shù)器的延遲時間,第二欄為用來控制計數(shù)器啟動停止的HF信號到四個計數(shù)器的時間薄啥。由于需要的是各計數(shù)時鐘間相對延遲時間辕羽,故第三欄給出時鐘相對于HF信號到計數(shù)器的延遲,即為第一欄和第二欄的差值垄惧。由此得出信號延遲誤差Td=0.950ns刁愿。
故有系統(tǒng)測量誤差T為:
T=TS+TP+Td=4.275ns (2)
即脈寬測量最大誤差為±4.275ns。與脈沖計數(shù)法比較搜计,同樣的80MHz時鐘輸入宋旭,最大測量誤差減小到原來的34.2%。
本文在數(shù)字移相技術(shù)的基礎(chǔ)上設(shè)計了一種高精度的脈寬測量系統(tǒng)杉藐,使測量精度相對于脈沖計數(shù)法提高了多倍枯橱。若需進一步提高這種方法的測量精度,可以通過以下兩個方面進行改進:(1)繼續(xù)提高晶振頻率攒置,尋求速度更快的FPGA芯片粹岁。晶振頻率越高,系統(tǒng)原理誤差越小尖坦。(2)減小信號延遲誤差骂领。由前面可以看到,信號的延遲誤差對系統(tǒng)精度的影響占了很大的比例装屈。減小各計數(shù)時鐘和待測信號到計數(shù)器的信號延遲的差異怒晕,可以有效地提高測量精度。由于FPGA內(nèi)部信號延遲的時間均可以很方便地得到路学,因此在設(shè)計時可以通過調(diào)整內(nèi)部各元件的放置位置以及連線來盡量減小延遲誤差嚼吞,或者通過添加一些門電路來增加延時以使各信號延遲時間盡可能相同。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)辆它,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享誊薄,并不代表本站贊同其觀點和對其真實性負(fù)責(zé)履恩,也不構(gòu)成任何其他建議。本站部分作品是由網(wǎng)友自主投稿和發(fā)布呢蔫、編輯整理上傳切心,對此類作品本站僅提供交流平臺,不為其版權(quán)負(fù)責(zé)片吊。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻绽昏、圖片、文字如涉及作品版權(quán)問題俏脊,請第一時間告知全谤,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容,以保證您的權(quán)益爷贫!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn认然。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力伞插,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進制造技術(shù)應(yīng)用專題
- 解碼消費電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機床,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題