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