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