基于數(shù)字移相的高精度脈寬測量系統(tǒng)及其FPGA實現(xiàn)
由前所述,當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ù)時鐘延遲CLK[0|90|180|270] 3.294 3.562 3.640 3.149
待測信號延遲 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)測量誤差Γ為:
Γ=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)部各元件的放置位置以及連線來盡量減小延遲誤差,或者通過添加一些門電路來增加延時以使各信號延遲時間盡可能相同.
評論