摘 要: FPGA在信號采集中時鐘頻率高,內部延時小,控制邏輯由硬件完成,同時可以集成外圍控制、譯碼和接口電路,具有速度快、組織靈活等優勢。在需要測量較大面積的動態變化面形并采集大量光柵尺信號時,可以使用FPGA數據采集系統對光柵信號進行采集。在保證采樣精度的前提下,為了降低成本和系統復雜度,可以在采集系統中使用多路選擇技術。提出了一種基于FPGA和多路選擇技術的光柵信號采集方法,使用I/O口相對較少的低端FPGA,配合多路選擇開關,通過內部處理,實現了多路光柵信號的采集,結果表明,該法成本低廉且能滿足精度的要求。
關鍵字: 光柵信號; 數據采集; FPGA; 多路選擇
中圖分類號: TN911.74?34 文獻標識碼: A 文章編號: 1004?373X(2013)19?0067?03
0 引 言
光柵傳感器作為精密機械量測量的有效工具在線位移、角位移、速度、加速度等工程的測量上得到了廣泛應用[1]。在長度測量中,光柵微位移傳感器可以達到μm級的測量精度,同時可以動態采集長度的變化,從而可以精確地算出運動速度甚至加速度。在曲面測量中,相比于傳統的三坐標機、輪廓儀,光柵傳感器也具有可以動態檢測面形變化,精度高,可以實時輸出面形數據等優勢。
多路選擇技術的數據采集中得到了廣泛應用[2],在一些分布式系統當中,使用多路選擇技術可以減少I/O口使用數量,提高系統集成度。具體來說,使用多路選擇開關對多路信號進行選通處理,將多路選擇開關的輸出端連接采集芯片的I/O口,使采集芯片對各路信號進行輪番采樣,但輪番采樣使得原始波形的采集離散化,即在芯片對采得的離散信號進行處理前,需要對采得的波形進行處理。
1 系統整體方案
系統選用了60支高精度光柵傳感器(精度為0.5 μm),按環帶狀排布,以測量圓狀動態面形變化[3]。實際測量時,60個光柵微位移傳感器安放在測量臺上,待測面形與各傳感器接觸,待測面形變化時,各路光柵傳感器會產生相應的位移,將面形各采集點處的數據變化采集起來,通過一定的插值算法還原面形的動態變化。
通常情況下,采集系統選用FPGA作為光柵信號的采集芯片[4]。因系統涉及的信號路數較多,單片低端FPGA很難滿足信號采集的要求,故需要多片FPGA并行工作,最后用一片DSP芯片或單片機對多片FPGA進行輪番尋址取值,再將各傳感器的數據傳送給上位機,如圖1所示。系統結構設計較為復雜,成本也較高。
本文提出了一種基于多路選擇技術的多路信號采集方法,針對多路信號無法同時被單芯片采集的問題,采用串、并結合采樣的方法,可以在滿足采樣精度要求的情況下,實現單FPGA上的多路信號采集,如圖2所示。
每個傳感器輸出信號中,表示傳感器移動距離的信號有兩路(A、B)。4個傳感器分為一組,共有8路信號(1A、…、4A,1B、…、4B)。將1A~4A接雙4位多路選擇開關(如74HC4052)的1Y0~1Y3,1B~4B接多路選擇開關的2Y0~2Y3。FPGA發出2位控制信號同時控制該多選芯片MUX1。即FPGA控制信號為00時,MUX1的1Z輸出為1A,2Z輸出為1B,此時FPGA接收到的信號為傳感器1的信號。FPGA的控制信號進入下一個狀態01時,MUX1的1Z輸出為2A,2Z輸出為2B,此時傳感器2的信號被采集。依次類推,傳感器4的信號之后重新返回到傳感器1上。這樣就形成一個循環采樣的過程。
在對采樣頻率要求不高時,多路并行采樣可以節省很多IO資源,同時精度也可以得到保證。FPGA內部用狀態機可以完成多路選擇的控制,如圖3所示。
2 光柵信號預處理
光柵位移傳感器輸出為兩路相位相差90°的方波信號,如圖4所示,正常情況下可以通過兩路波形的上升、下降沿的個數來計量位移的實際變化;并由兩路信號的瞬時相位變化得出位移的移動方向。但由于本方案使用循環采樣的方法,使得某路光柵信號只有[14]被采集到,故需通過相關方法還原原始信號。
這里采用通過濾波引入臨時信號的方法,將采集信號通過時鐘延時將采樣波形保持為采樣值四個時鐘周期,生成類似于原始信號的臨時信號,如圖5所示。
濾波的作用是消除毛刺等噪聲對采樣信號產生的影響,常規的濾波方法為通過對若干個時鐘周期內信號的判斷來實現。當幾個時鐘周期內信號的值并未發生跳轉時,認為信號值為真實值,可以作為進一步處理的臨時信號,如圖6所示。可以看出臨時信號僅僅比原始波形信號滯后了若干時間(該滯后時間所對應的時鐘周期數小于串行采樣數,此處串行采樣數為4),這樣可以基本準確地還原原始的波形,細分辨向計數等操作基于該臨時信號,當信號周期遠大于時鐘周期,即光柵信號變化緩慢時,對采樣的精度基本沒有影響。
3 多路光柵信號并行采集
對8路光柵信號按上述方法進行處理,如圖7所示。在圖中所示范圍內,傳感器1~4產生以下信號:增加18、減少11、先減1再加14、減少13。
觀察圖中A、B兩處的計數,如圖8所示。A處傳感器1~4的初始值為64,0,8,4,B處可見傳感器1~4的計數值為82,-11,21,-9。與產生的脈沖信號完全符合,說明實現了正確的數據采集。
4 結 論
本方案適用于低速且輸入較多的數據采集裝置,對于高速信號,信號周期與時鐘周期相差倍數較小時,此法會造成有效信號的損失,并不適用。當信號周期遠大于時鐘周期時([Ts][>20Tclk]),引入的臨時信號僅僅比原始信號滯后幾個時鐘周期(該滯后小于并行采樣數乘以時鐘周期),整體上可以比較好地還原初始波形。同時,臨時信號還能有效消除一個時鐘周期內的部分波形抖動,實現準確的低速多輸入數據采集。
參考文獻
[1] 董莉莉,熊經武,萬秋華.光電軸角編碼器的發展動態[J].光學精密工程,2000,8(2):198?202.
[2] 馬明建.數據采集與處理技術[M].2版.西安:西安交通大學出版社,2005.
[3] 范斌.能動磨盤加工工藝及智能控制研究[D].成都:中國科學院光電技術研究所,2012.
[4] 田耕,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008.
[5] 馮希,梁雁冰,張濤.基于FPGA的多路增量式光電編碼器測角電路設計方法[J].現代電子技術,2008,31 (19):175?177.
[6] 王俊山,程明,白小營.基于FPGA的增量型光電編碼器抗抖動二倍頻電路設計[J].現代電子技術,2010,33(9):157?159.