基于FPGA的增量型光電編碼器抗抖動二倍頻電路設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/191645.htm
另一個模塊BlockB主要完成的功能是濾除編碼器B相的抖動脈沖。根據(jù)分析濾除編碼器抖動的原理,ENA引腳為BlockA模塊的輸出引腳,當(dāng)A相輸入引腳有跳變時ENA為1,A相引腳有連續(xù)的跳變或者接下來B相有跳變時ENA為0。ENB為編碼器B相跳變使能引腳,當(dāng)ENA為1時如果B相有跳變ENB為1,當(dāng)ENA為1時如果B相有連續(xù)跳變ENB為0。主要程序如下:
以圖4(a)的編碼器抖動輸出仿真為例,仿真效果如圖6所示。從圖中分析,A相輸出7個脈沖,應(yīng)該輸出3個脈沖,二倍頻后是14個脈沖,應(yīng)該輸出6個脈沖,經(jīng)過濾除后脈沖計(jì)數(shù)器數(shù)為6個。A相的抖動脈沖得到有效的濾除。
3 結(jié)語
現(xiàn)場調(diào)試結(jié)果證明,該算法可以消除工業(yè)現(xiàn)場出現(xiàn)的干擾和抖動現(xiàn)象,能夠準(zhǔn)確地記錄脈沖數(shù)據(jù)。此濾波方法可以采用軟件濾波,但是軟件濾波需要的引腳較多,采用兩個中斷引腳響應(yīng)A相的上升沿和下降沿,浪費(fèi)CPU資源。采用FPGA實(shí)現(xiàn)編碼器的濾波,設(shè)計(jì)方便,改動靈活。
評論