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