基于數字移相的高精度脈寬測量系統及其FPGA實現
由前所述,當80MHz晶振時鐘輸入時,系統原理誤差TS=3.125ns.時鐘相移誤差為從CLKDLL中出來的四路時鐘信號之間本身的相位偏移,根據芯片提供的參數,其最大TP為200ps.計數時鐘抖晃是指從CLKDLL中輸出的時鐘信號本身周期的偏差,其最大TC為60ps.由于計數的時鐘周期數較多,故平均后其對整個系統的測量誤差影響可以忽略不計.
信號延遲誤差即為由于芯片內部各信號傳輸延遲不一致而造成的四個計數器計數的同步誤差.為分析該誤差情況,用ISE 5.1提供的Timing Analyzer程序對關鍵路徑做進一步的時間分析,得到的結果如表1所示.
表1 各信號到計數器的延遲分析(單位:ns)
計數器1 計數器2 計數器3 計數器4
計數時鐘延遲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中出來的計數時鐘到各自計數器的延遲時間,第二欄為用來控制計數器啟動停止的HF信號到四個計數器的時間.由于需要的是各計數時鐘間相對延遲時間,故第三欄給出時鐘相對于HF信號到計數器的延遲,即為第一欄和第二欄的差值.由此得出信號延遲誤差Td=0.950ns.
故有系統測量誤差Γ為:
Γ=TS+TP+Td=4.275ns (2)
即脈寬測量最大誤差為±4.275ns.與脈沖計數法比較,同樣的80MHz時鐘輸入,最大測量誤差減小到原來的34.2%.
本文在數字移相技術的基礎上設計了一種高精度的脈寬測量系統,使測量精度相對于脈沖計數法提高了多倍.若需進一步提高這種方法的測量精度,可以通過以下兩個方面進行改進:(1)繼續提高晶振頻率,尋求速度更快的FPGA芯片.晶振頻率越高,系統原理誤差越小.(2)減小信號延遲誤差.由前面可以看到,信號的延遲誤差對系統精度的影響占了很大的比例.減小各計數時鐘和待測信號到計數器的信號延遲的差異,可以有效地提高測量精度.由于FPGA內部信號延遲的時間均可以很方便地得到,因此在設計時可以通過調整內部各元件的放置位置以及連線來盡量減小延遲誤差,或者通過添加一些門電路來增加延時以使各信號延遲時間盡可能相同.
評論