摘要:對傳統(tǒng)的數(shù)字化轉(zhuǎn)角測量方法進(jìn)行了簡要介紹,,提出了一種能夠提高測角分辨率的脈沖細(xì)分技術(shù),,并結(jié)合激光陀螺輸出信號對該方法進(jìn)行了誤差分析。接著利用FPGA對此項技術(shù)進(jìn)行了硬件實現(xiàn),,具體描述了電路各部分的工作原理及程序設(shè)計,,并使用QuartusⅡ軟件對電路進(jìn)行了仿真,。最后,對某型激光陀螺輸出信號進(jìn)行周期采樣,,對電路進(jìn)行了實驗驗證,。結(jié)果表明該技術(shù)能夠有效提高轉(zhuǎn)角測量分辨率,電路工作穩(wěn)定,,取得了預(yù)期的效果,。
關(guān)鍵詞:角度測量;脈沖細(xì)分,;高精度分辨率,;FPGA
傳統(tǒng)的基于脈沖計數(shù)原理的角度測量方法主要是對采樣時間間隔內(nèi)的整脈沖數(shù)進(jìn)行計數(shù),這種方法的測角分辨率依賴于相應(yīng)的角度傳感器,,分辨率相對較低,,帶來的誤差較大。以高精度的激光陀螺為例,,傳統(tǒng)的整脈沖計數(shù)方法僅能獲得角秒量級的角度分辨率,,這樣的分辨率并不能滿足某些高精度測量。本文提出的脈沖細(xì)分技術(shù)可以對測角脈沖進(jìn)行細(xì)分,,以獲得更高的測角分辨率,。
1 脈沖細(xì)分技術(shù)
傳統(tǒng)的對角度傳感器數(shù)字脈沖的測量方法是在確定的采樣時間內(nèi)對脈沖數(shù)進(jìn)行計數(shù)。如圖1是在2個指示脈沖時間間隔Ts內(nèi)對脈沖計數(shù),,計數(shù)值為N+1,。
在時間間隔Ts內(nèi)存在最大為±1個脈沖的計數(shù)誤差,誤差δN在區(qū)間[-1,,1]上的概率密度分布為均勻分布,,根據(jù)計算為δN=0.82。某型激光陀螺的標(biāo)度因數(shù)約為1.8"/脈沖,,則整脈沖計數(shù)方法的角度測量誤差為0.82×1.8"=1.48",,這并不能滿足高精度測角的要求。
脈沖細(xì)分技術(shù)是根據(jù)轉(zhuǎn)臺伺服控制系統(tǒng)中數(shù)字化速度測量方法中的高速,、高精度,、連續(xù)測速方案來實現(xiàn)的。利用脈沖細(xì)分技術(shù)對測角脈沖進(jìn)行細(xì)分,,將脈沖數(shù)的小數(shù)部分精確測量出來,,這樣可以大大提高測角的分辨率。
如圖1,,假設(shè)在指示脈沖時間間隔Ts內(nèi),,對測角脈沖上升沿進(jìn)行計數(shù),計得N+1個,認(rèn)為這段時間內(nèi)的整數(shù)脈沖數(shù)為N,,將前一個指示脈沖上升沿與計得的第一個測角脈沖上升沿之間的頭小數(shù)脈沖數(shù)n1加上第N+1個測角脈沖上升沿與后一個指示脈沖上升沿之間的尾小數(shù)脈沖數(shù)n2相加即為這段時間內(nèi)的小數(shù)脈沖數(shù),。而下一段指示脈沖時間間隔的頭小數(shù)脈沖n3加上這段的尾小數(shù)脈沖n2為1。因此只需測量每一次的頭小數(shù)脈沖或尾小數(shù)脈沖即可,。
假設(shè)測角脈沖周期為T,,時間細(xì)分高頻計數(shù)時鐘脈沖周期為Tc,頭小數(shù)脈沖時間為To,,利用高頻計數(shù)時鐘可以精確地將T與To測量出,。測角脈沖數(shù)可表示為:
式中:f為測角脈沖信號頻率,fc為高頻計數(shù)時鐘頻率,。假設(shè)測角脈沖信號頻率為1 MHz,,高頻計數(shù)時鐘頻率為50 MHz,代入式(2)得δNp =0.033脈沖,。假設(shè)某型陀螺的標(biāo)度因數(shù)為1.8"/脈沖,,則角度測量誤差為0.033×1.8"=0.059"??梢钥吹秸`差很小,。脈沖細(xì)分技術(shù)的運(yùn)用對提高測角精度起到了關(guān)鍵作用。
2 基于FPGA的脈沖細(xì)分電路的設(shè)計
2.1 總體設(shè)計
大部分的角度傳感器輸出信號都是由兩路相位差90°的脈沖信號組成,,設(shè)計電路時首先可以對兩路信號進(jìn)行鑒相解調(diào)與倍頻,,一方面完成轉(zhuǎn)向的判斷,另一方面將兩路信號四倍頻,;接著設(shè)計整數(shù)脈沖計數(shù)器,、小數(shù)脈沖計數(shù)器,對相應(yīng)脈沖數(shù)進(jìn)行計數(shù),;最后將計數(shù)值通過串口通信單元順序發(fā)送至計算機(jī),,方便后期的數(shù)據(jù)處理。這里最為關(guān)鍵的問題是利用脈沖細(xì)分技術(shù)計出被測脈沖的小數(shù)部分,,另外指示脈沖對計數(shù)器的控制精度關(guān)系到計數(shù)值的準(zhǔn)確與否,,因此要利用性能良好的硬件并巧妙地設(shè)計程序。這里硬件選擇了FPGA,,程序則是利用HDL語言進(jìn)行編寫,,脈沖細(xì)分電路總體設(shè)計如圖2所示。
2.2 整數(shù)脈沖計數(shù)器
為了更準(zhǔn)確地對倍頻后的脈沖進(jìn)行計數(shù),,在設(shè)計時,,電路采用了2個計數(shù)器輪流計數(shù),指示脈沖控制2個計數(shù)器交替工作,。具體方法是將兩個計數(shù)器的使能信號分別設(shè)置為1和0,由指示脈沖控制使能信號,在每一個指示脈沖到來時使能信號取反,。另外,,由于計數(shù)值很大,為了保證數(shù)值不會溢出,,使用32位計數(shù)器,。
2.3 小數(shù)脈沖計數(shù)單元
由脈沖細(xì)分技術(shù)可知,小數(shù)脈沖計數(shù)單元是要對指示脈沖上升沿與在其之后的第一個測角脈沖上升沿之間的高頻計數(shù)時鐘脈沖計數(shù),。測角脈沖信號是周期性的,,而設(shè)計時要用到的只是指示脈沖之后的第一個陀螺信號的上升沿,這給小數(shù)脈沖計數(shù)的設(shè)計帶來了困難,,在設(shè)計時使用了有限狀態(tài)機(jī),。這里主要利用整數(shù)脈沖計數(shù)單元中設(shè)計的整數(shù)計數(shù)器使能信號CLR與測角脈沖信號CH的狀態(tài)組合來設(shè)計狀態(tài)機(jī),利用狀態(tài)機(jī)輸出小數(shù)脈沖計數(shù)器的工作使能信號ENA,,這里狀態(tài)都是在時鐘CLK上升沿轉(zhuǎn)換,。圖3與圖4分別為小數(shù)計數(shù)器工作時序圖與使能信號狀態(tài)機(jī)。
整數(shù)計數(shù)器是利用2個使能相反的計數(shù)器來設(shè)計實現(xiàn)的,,為了同步地對每兩個指示脈沖時間段內(nèi)的整數(shù)與頭小數(shù)脈沖進(jìn)行計數(shù),,小數(shù)脈沖計數(shù)的設(shè)計也將采用兩種對應(yīng)于整數(shù)脈沖計數(shù)使能信號的計數(shù)方式。利用QuartusⅡ?qū)π?shù)脈沖計數(shù)單元進(jìn)行仿真得到圖5,。
圖中C1,、C2分別是2個小數(shù)脈沖計數(shù)器計數(shù)值,輪流進(jìn)行計數(shù),,并將計數(shù)值保持到下一個指示脈沖到來,,將2個計數(shù)值或運(yùn)算后輸入寄存器,這樣與上面的整數(shù)脈沖計數(shù)值同步保存,,并方便了串口的讀取,。仿真結(jié)果表明,計數(shù)器工作正常,,寄存器n記錄數(shù)據(jù)正確,。
2.4 通信單元
通信單元主要功能是倍頻后測角脈沖的整數(shù)脈沖計數(shù)值,小數(shù)脈沖計數(shù)值順序發(fā)送至計算機(jī),。這里使用UART串口方式將數(shù)值進(jìn)行輸出,,UART對上述各個計數(shù)值的順序讀取則通過狀態(tài)機(jī)來完成。編寫程序?qū)⒏哳l時鐘信號進(jìn)行分頻得到UART傳輸時鐘信號,。
3 實驗結(jié)果
在轉(zhuǎn)速較高的情況下,,對上文提到的某型激光陀螺輸出信號進(jìn)行1毫秒的周期采樣,實驗結(jié)果如圖6,。結(jié)果表明,,使用脈沖細(xì)分電路后陀螺輸出角度標(biāo)準(zhǔn)差為0.079",有效提高了測量精度。與理論值0.059"有所偏差,,這主要是由電路的計數(shù)誤差與陀螺本身存在的隨機(jī)游走等誤差因素造成,。
4 結(jié)語
對傳統(tǒng)的基于脈沖計數(shù)的角度測量方法進(jìn)行了誤差分析,提出了一種脈沖細(xì)分技術(shù)并結(jié)合某型激光陀螺進(jìn)行誤差分析,,并利用FPGA對該技術(shù)完成硬件實現(xiàn),,最后進(jìn)行了實驗驗證。無論是理論分析還是實驗結(jié)果都表明,,該技術(shù)能夠有效提高測角精度和角度分辨率,,為滿足高精度測量的需求打下基礎(chǔ)。