摘 要:介紹一種基于FPGA的精密離心機光柵信號細分系統。說明了光柵信號的產生過程和基本處理方法,提出了一種綜合EDA技術與光柵莫爾條紋電子學細分技術的設計方案。通過VerilogHDL實現該系統的主要設計,并利用ISE軟件進行了仿真試驗。試驗表明,該系統具有捕捉速度快、跟蹤精度高、相位誤差小、成本低廉等特點。
關鍵詞: VerilogHDL; 光柵信號; 莫爾條紋電子學細分
在航空、航天領域中的一些應用于慣性測試的精密離心機,其轉速信號通常是由分體式光柵測量系統輸出的光柵信號經過具有細分、辨向、整形功能的電子系統后而得到的。該光柵信號通常具有兩個功能:送給轉速測量儀測量離心機工作實際轉速;作為系統速度反饋信號與頻率給定裝置、鑒相器、脈沖調寬電路、功率放大電路、主電機一起構成閉環控制系統。而在光柵測量中,當主光柵隨運動部件移動一個柵距時,就會相應輸出一個交變莫爾條紋信號,每出現一個交變莫爾條紋信號就代表移過了一個柵距,即分辨率等于一個柵距。在精密測量中,為了測量比柵距更小的位移量,可以采用提高光柵的刻線密度來實現精度要求。但由于現代精密離心機的研制已經接近或達到了當前機械工藝和實驗技術的最高水平,其中更高分辨率的光柵在制造工藝上具有相當難度,所以成本相當昂貴,單純用提高精密離心機的制造工藝的方法來提高其控制精度不但成本高昂且效果不佳[1]。因此,在當前精密離心機的研究中,為了以較低的成本實現較高的控制精度,提出了一種綜合了EDA技術與光柵莫爾條紋電子學細分技術的設計方案。
1 光柵信號的產生
該系統所要處理的光柵信號采用32400刻線圓光柵經如下4個過程產生:(1)經過一個光柵光學系統(如圖1所示)產生莫爾條紋并由光電接收系統將光信號轉化為電信號。(2)指示光柵裂相刻劃時,中間兩個區域相位相差180°,邊緣兩個區域相位相差180°,在整個莫爾條紋視場照度不可能非常均勻的情況下,每一組相差180°的兩路信號的直流電平相近、信號幅值接近(利用電阻匹配實現)。為了消除信號中的直流電平和偶次諧波,提高信號的幅度,將0°和180°、90°和270°的信號進行差接放大(5~8倍),這樣就得到相差90°和一定幅值的正弦和余弦兩路信號;(3)在光柵盤的對徑方向均布兩個讀數頭,取初始相位相同的電壓信號的平均值,以便消除奇次諧波帶來的分度誤差,克服光柵盤安裝偏心引起的誤差。(4)正弦波信號經過鑒零比較器整形,得到與過零點相同的相差90°的兩路方波信號和一路零位脈沖信號。此信號便是系統需要進一步處理的光柵信號。經系統處理之后,最終系統將輸出5路信號(如圖2所示)。
(1)相位相差90°的32400兩組方波信號。
(2)相位相差90°的324000兩組方波信號。
(3)一路零位脈沖信號。
2 莫爾條紋電子學細分
由于莫爾信號的周期性,信號每變化一個周期就對應著空間上一個固定的角位移。傳統的電子學細分主要是根據信號的周期性測量信號的波形、振幅或者相位的變化規律,在其一個周期內進行插值,從而獲得優于一個信號周期的更高的分辨率[2]。其常用的方法主要有直接細分法、移相電阻鏈法、鑒相細分法、幅值分割法等。以下是這些方法的特點比較,如表1所示。
莫爾條紋電子學細分技術是提高光柵測量系統測量精度的有效手段,能夠在滿足高精度測量要求的前提下大大降低測量成本。在實際的應用中,要根據具體的精度要求和細分要求來選擇所應用的細分方法。根據上述離心機所產生的信號頻率不高且為經過初步處理的標準方波信號的特點,提出以鑒相細分法為參考的一種適合于低頻的細分法方案。該方案應用EDA技術通過FPGA實現,不但縮短了開發周期,而且降低了傳統鑒相細分法的電路復雜度、提高了速度。
3 細分系統的基本原理
細分系統的基本原理如圖3所示[3]。
該細分系統要將頻率為FS的輸入信號細分為頻率K倍于FS的輸出信號F0,即F0=KFS。首先設置一個標準時鐘源,即圖1中所示的晶振,其時鐘頻率為FX。FX經可編程分頻器分頻,分頻數由計數器給定。如果計數器給定的分頻數為N,則輸出信號F0為時鐘信號FX的N分頻,即:
最后將(2)式代入(1)式可得F0=KFS,即完成了對輸入信號的K細分。其實質是利用頻率為FX/K的脈沖信號在輸入信號的一個周期內進行脈沖計數,最終實現對輸入信號周期的K細分。
4 細分系統的實現
由細分系統的基本原理可以看出,整個系統可由計數器模塊、K分頻器模塊和可編程分頻器模塊及一個時鐘源組成。這3個模塊的功能全部通過VerilogHDL進行描述。
計數器模塊監測到輸入信號的上升沿后對經K分頻后的時鐘源信號進行計數,當遇到下一個輸入信號的上升沿時,停止計數并把計數值N作為可編程分頻器的分頻數送到可編程分頻器模塊。
K分頻器模塊的實現主要由計數器完成,原理簡單。若要對時鐘信號進行K分頻則只需要令計數器每計K個時鐘脈沖就發出信號令模塊輸出一個脈沖信號,從而實現對時鐘信號的K分頻。
可編程分頻器模塊是在K分頻器模塊基礎上改進得到的,兩者的區別僅僅在于可編程分頻器的分頻數是由計數器模塊給定的而不像K分頻器那樣是固定不變的,這樣只需要在模塊中加入一個存儲單元專門存放由計數器送來的分頻數N。模塊在每次分頻計數過程中不斷地與存儲單元中的分頻數N進行比較就能進行可編程的分頻工作了。
通過如圖3所示的鏈接將這三個模塊的組成一個系統,由理論分析可知該系統可以實現對輸入信號的K細分,也即K倍頻。此外,因為使用VerilogHDL做數字電路設計,所以可以大大縮短設計的周期,節省設計的成本。
5 誤差分析
因為計數器是通過監測被K分頻后的時鐘信號的上升沿計數的。所以如果輸入信號與計數信號不同步或者在一個計數周期內的計數信號的周期數并不是整數,則細分系統將產生誤差。譬如在輸入信號和K分頻信號波形規則的情況下,最多多計一個周期的K分頻信號,即原本應該是N-1個整周期的K分頻信號,結果計為N個,從而誤差的范圍是0~FX/N(N-1)。可以看出在時鐘頻率固定的情況下,系統的誤差隨N的增大而減小,也即如果輸入信號與時鐘信號相差倍數越多,系統的誤差就越小。對于該精密離心機12 rpm~95 rpm的轉速來說輸入信號的頻率為6 480 Hz~51 300 Hz,要對該信號進行10倍頻,若FPGA提供了100 MHz的時鐘頻率,則其對應的誤差范圍應為42 Hz~2 643 Hz,也即只有大約0.065%~0.52%的誤差率。
6 實驗仿真
將上述模塊所組成的系統先通過ISE軟件利用VerilogHDL進行設計輸入,將K分頻器模塊的K值設為10,使系統實現10細分功能,然后用ISE軟件自帶的邏輯仿真器進行功能仿真如圖4所示。
由圖4可以看出,輸出信號Fo的頻率為輸入信號Fs頻率的10倍,也即實現了對輸入信號Fs的10細分,從而驗證了設計的正確性。
本文論述了光柵信號的產生,介紹了莫爾條紋電子學細分的方法并結合實際提出了以傳統鑒相細分法為基礎的通過VerilogHDL利用ISE軟件實現的設計方案。該方案已經在實際項目中得到應用。實踐表明,該系統具有捕捉速度快、跟蹤精度高、相位誤差小、成本低的特點。
參考文獻
[1] 樊亞東,陳雪豐,莫爾條紋數字化細分方法[J].武漢化工學院學報,1998,20(6):53-55.
[2] 張國雄,金籇芷.測控電路[M].北京:機械工業出版社,2001:198-207.
[3] 林霄舸,段尚樞,付景峰.一種低頻高精度全數字化倍頻器[J].哈爾濱工業大學學報,1995,27(3):109-113.
[4] 任曉東,文博.CPLD/FPGA高級應用開發指南[M].北京:電子工業出版社,2003.
[5] 楊世中,等.鎖相環技術基礎[M].北京:人民郵電出版社,1978.
[6] 龐浩,王贊基.一種基于FPGA實現的全數字鎖相環[J].電子技術應用,2005,31(5):28-30.
[7] 李金泉.光柵莫爾條紋信號的零位跟蹤細分[J].計量技術,1996(1):4-6. (收稿日期:2010-07-12)