基于數(shù)字移相的高精度脈寬測(cè)量系統(tǒng)及其FPGA實(shí)現(xiàn)
由前所述,當(dāng)80MHz晶振時(shí)鐘輸入時(shí),系統(tǒng)原理誤差TS=3.125ns.時(shí)鐘相移誤差為從CLKDLL中出來(lái)的四路時(shí)鐘信號(hào)之間本身的相位偏移,根據(jù)芯片提供的參數(shù),其最大TP為200ps.計(jì)數(shù)時(shí)鐘抖晃是指從CLKDLL中輸出的時(shí)鐘信號(hào)本身周期的偏差,其最大TC為60ps.由于計(jì)數(shù)的時(shí)鐘周期數(shù)較多,故平均后其對(duì)整個(gè)系統(tǒng)的測(cè)量誤差影響可以忽略不計(jì).
信號(hào)延遲誤差即為由于芯片內(nèi)部各信號(hào)傳輸延遲不一致而造成的四個(gè)計(jì)數(shù)器計(jì)數(shù)的同步誤差.為分析該誤差情況,用ISE 5.1提供的Timing Analyzer程序?qū)﹃P(guān)鍵路徑做進(jìn)一步的時(shí)間分析,得到的結(jié)果如表1所示.
表1 各信號(hào)到計(jì)數(shù)器的延遲分析(單位:ns)
計(jì)數(shù)器1 計(jì)數(shù)器2 計(jì)數(shù)器3 計(jì)數(shù)器4
計(jì)數(shù)時(shí)鐘延遲CLK[0|90|180|270] 3.294 3.562 3.640 3.149
待測(cè)信號(hào)延遲 3.962 4.665 4.843 4.767
時(shí)鐘相對(duì)信號(hào)延遲 0.668 1.103 1.203 1.618
延遲誤差Td Td=1.618-0.668=0.950
表中第一欄為從CLKDLL中出來(lái)的計(jì)數(shù)時(shí)鐘到各自計(jì)數(shù)器的延遲時(shí)間,第二欄為用來(lái)控制計(jì)數(shù)器啟動(dòng)停止的HF信號(hào)到四個(gè)計(jì)數(shù)器的時(shí)間.由于需要的是各計(jì)數(shù)時(shí)鐘間相對(duì)延遲時(shí)間,故第三欄給出時(shí)鐘相對(duì)于HF信號(hào)到計(jì)數(shù)器的延遲,即為第一欄和第二欄的差值.由此得出信號(hào)延遲誤差Td=0.950ns.
故有系統(tǒng)測(cè)量誤差Γ為:
Γ=TS+TP+Td=4.275ns (2)
即脈寬測(cè)量最大誤差為±4.275ns.與脈沖計(jì)數(shù)法比較,同樣的80MHz時(shí)鐘輸入,最大測(cè)量誤差減小到原來(lái)的34.2%.
本文在數(shù)字移相技術(shù)的基礎(chǔ)上設(shè)計(jì)了一種高精度的脈寬測(cè)量系統(tǒng),使測(cè)量精度相對(duì)于脈沖計(jì)數(shù)法提高了多倍.若需進(jìn)一步提高這種方法的測(cè)量精度,可以通過(guò)以下兩個(gè)方面進(jìn)行改進(jìn):(1)繼續(xù)提高晶振頻率,尋求速度更快的FPGA芯片.晶振頻率越高,系統(tǒng)原理誤差越小.(2)減小信號(hào)延遲誤差.由前面可以看到,信號(hào)的延遲誤差對(duì)系統(tǒng)精度的影響占了很大的比例.減小各計(jì)數(shù)時(shí)鐘和待測(cè)信號(hào)到計(jì)數(shù)器的信號(hào)延遲的差異,可以有效地提高測(cè)量精度.由于FPGA內(nèi)部信號(hào)延遲的時(shí)間均可以很方便地得到,因此在設(shè)計(jì)時(shí)可以通過(guò)調(diào)整內(nèi)部各元件的放置位置以及連線來(lái)盡量減小延遲誤差,或者通過(guò)添加一些門電路來(lái)增加延時(shí)以使各信號(hào)延遲時(shí)間盡可能相同.
評(píng)論