摘 要:文章介紹的方式中主要采用了當(dāng)前世界上最先進(jìn)的FPGA芯片,由著名的XILINX公司設(shè)計出品。通過該芯片的應(yīng)用設(shè)計出了一種高精度的脈寬測量系統(tǒng),以此將脈寬測量引入了數(shù)字化的方向,并在此基礎(chǔ)上提出了完整的精度分析系統(tǒng)以及仿真結(jié)果分析系統(tǒng)。同普通傳統(tǒng)的脈沖計數(shù)的方式相比較,該方式能夠?qū)⒄`差控制在最低的范圍,僅為傳統(tǒng)方式的34.2%。
關(guān)鍵詞:脈寬測量;FPGA;數(shù)字移相
測量領(lǐng)域以及儀表儀器領(lǐng)域中,對數(shù)字信號的測量主要便是對其信號脈沖寬度進(jìn)行測量。目前使用最多的方式便是脈沖計數(shù)的方式,即通過高頻時鐘脈沖在待測信號的低電平處或者高電平處進(jìn)行計數(shù),然后依照脈沖數(shù)量,通過計算的方式得到信號寬度,待測信號獨(dú)立于計數(shù)時鐘,其信號的上升以及下降沿?zé)o法同時鐘邊沿準(zhǔn)確的吻合,所以,該方式得到的誤差最大值可以達(dá)到一個時鐘周期。例如,若是高頻時鐘為80MHz,那么其最大的誤差量可以達(dá)到12.5ns。
脈沖計數(shù)法的精度也可以通過有效的方式予以提高,其思路如下:首先可以將計數(shù)時鐘的頻率予以提高,其次則是通過時幅轉(zhuǎn)換技術(shù)對誤差予以降低。測量誤差會隨著時鐘頻率的的提高而減小,但是頻率提高,相對便會對芯片的要求有所提高。例如,若測量誤差要求為1ns時,其時鐘頻率必須達(dá)到1GHz,一般的計數(shù)芯片在這種狀態(tài)下無法正常工作,并且電路板布線以及加工和材料選擇都會成為難題。而使用時幅轉(zhuǎn)換技術(shù)就無需對時鐘頻率有所要求,但是該種方式使用了模擬電路,若是待測頻率相對較高,那么測量結(jié)果很容易受到噪聲的干擾,并且若要求是對信號脈寬進(jìn)行連續(xù)測量,那么電路能否快速反應(yīng)是該方式需要解決的一大弊病。
而同上述兩種方式都不相同的是,文章論述了一種新型的方式,通過數(shù)字移相的方式,對脈寬測量精度予以提高。該方式采用FPGA芯片,實(shí)現(xiàn)了高精度脈寬測量。
1 測量原理
兩路同頻信號以一路作為參考,將另一路以該路信號作為參考,進(jìn)行滯后或者超前的移動,從而形成相應(yīng)的相位差,這邊是移相。該種測量方式通常使用延時方法,通過對兩數(shù)字信號之間產(chǎn)生的相位差以延時長短進(jìn)行決定,這種測量原理的基礎(chǔ)即數(shù)字移相技術(shù)。原始計數(shù)時鐘信號CLK0通過移相后得到CLK90、CLK180、CLK270。相位之間依次相差90°,通過這四路時鐘信號對四個相同計數(shù)器進(jìn)行同時驅(qū)動,從而完成信號計數(shù)。
2 系統(tǒng)實(shí)現(xiàn)
計數(shù)時鐘之間所具有的相位差是該系統(tǒng)保持正常運(yùn)行的基礎(chǔ),原始時鐘頻率通常所具有的頻率一般較高,頻率接近100MHz,而周期也大于10ns而小于20ns,所以即便是存在延遲時間也僅僅只有幾ns;另外,為了避免由于傳送延遲而對電路板芯片造成不利影響,必須保證系統(tǒng)的柔性以及穩(wěn)定和精度。文章通過對可編程門陣列,對測量方法予以實(shí)現(xiàn)。通過下圖的分析可以看出,測量結(jié)果最終被送入到FIFO緩存,從而在處理速度上可以有效得以提高,最終通過PLC總線完成數(shù)據(jù)的傳送。
各個模塊之間的時序需要予以協(xié)調(diào)控制,而通過邏輯控制則可以有效的得以時間,并使得系統(tǒng)能夠正常運(yùn)行。而FIFO緩沖模塊是在FPGA芯片中予以實(shí)現(xiàn),另外,邏輯控制也是在該芯片中予以實(shí)現(xiàn)的。
SpartanII系列相對于其他的FPGA芯片性價比相對較高。并且運(yùn)行頻率最高而已達(dá)到200MHz,這里芯片選用的是XC2S15-6以此保證時鐘信號不會出現(xiàn)始終外協(xié)以及延時傳送;并且在時鐘信號的控制上也相對較為方便,例如時鐘信號的分頻以及倍頻和移相。另外通過DLL功能可以實(shí)現(xiàn)移相計數(shù)模塊的快速構(gòu)建,從而實(shí)現(xiàn)上述文章中介紹的幾種測量方式。通過DLL處理后的原始時鐘可以得到相差為90°的四組相位,即SLD0、CLK90以及CLK180和CLK270,最后計算出信號脈寬值。
3 仿真分析以及精度分析
通過給出內(nèi)部的布線,實(shí)現(xiàn)芯片的方針結(jié)果,其仿真結(jié)果用Modelsim實(shí)現(xiàn)。在RESET后對計數(shù)模塊進(jìn)行啟動,繼而開始測量待測信號,測量后會產(chǎn)生READY信號,同時將測量后的結(jié)果輸出,為后續(xù)的測量計算以及分析提供基礎(chǔ)信息,通過仿真實(shí)驗(yàn)可以證明系統(tǒng)可以達(dá)到目標(biāo)要求。
然后進(jìn)一步對系統(tǒng)進(jìn)行誤差分析,系統(tǒng)測量脈寬測量會出現(xiàn)誤差的原因主要是因?yàn)橄到y(tǒng)原理誤差TS、時鐘相移誤差Tp和信號延遲誤差Td以及計數(shù)時鐘抖晃Tc等多項(xiàng)誤差的存在。通過上面的分析可以看出,若時鐘輸入過程中晶振為80MHz時,得出的誤差量為3.125ns。時鐘相移誤差是四路相位-偏移產(chǎn)生的信號本身,該信號從SLKDLL中分離,依照芯片參數(shù),最大的相移誤差可以達(dá)到200ps。
通過分析計算可以得出結(jié)果:分別可以得到計數(shù)時鐘到各自計數(shù)器的延遲時間,控制計數(shù)器啟動停止的HF信號到四個計數(shù)器的時間。由于需要的是各計數(shù)時鐘間相對延遲時間,故還能得到時鐘相對于HF信號到計數(shù)器的延遲。
數(shù)字移相技術(shù)是目前我們應(yīng)用在脈寬測量上的基礎(chǔ),在此基礎(chǔ)上文章提出了一種精度更高的測量系統(tǒng),這種方式不同于脈沖計數(shù)的方式,在精度上更是高出脈沖計數(shù)數(shù)倍。而該種方式的測量精度還能夠繼續(xù)予以提升,主要可以通過以下兩方面予以完善:首先將晶振頻率繼續(xù)提高,將FPGA芯片的速度提升的更快。著也是因?yàn)橄到y(tǒng)原理誤差會受到晶振頻率的影響,晶振頻率越高,其誤差值就會越小。其次,是對信號延遲誤差予以降低。通過前面的分析可以看出,系統(tǒng)精度會受到信號延遲誤差的影響。通過減少計數(shù)器以及技術(shù)時鐘的信號延遲差異,能夠?qū)y量精度有效提高。另外在FPGA芯片中,信號延遲的時間能夠方便的得到,所以,設(shè)計過程中只需要將內(nèi)部元件的位置以及連線予以調(diào)整便可以對延遲誤差進(jìn)行調(diào)整,或者通過增加一些門電路,從而令信號延遲時間保持一致。
參考文獻(xiàn)
[1]王永新,方忠艷.時幅轉(zhuǎn)換技術(shù)及其在激光測距系統(tǒng)中的應(yīng)用[J].光學(xué)技術(shù),2001,27(2).
[2]盧毅,萊杰.VHDL與數(shù)學(xué)電路設(shè)計[M].北京:科學(xué)出版社,2001.
[3]邊計年,薛洪熙譯.用VHDL設(shè)計電子線路[M].北京:清華大學(xué)出版社,2000.