基于FPGA的旋鈕編碼器的辨向狀態(tài)機設計與實現(xiàn)
引言
本文引用地址:http://www.biyoush.com/article/128900.htm旋鈕是一種非常常用的器件,多用于設備或儀器的面板來進行參數(shù)的調節(jié)。由于旋鈕本身的機械特性,在旋轉的過程中產(chǎn)生的波形信號會有噪聲存在,這些不確定的噪聲會影響到對旋鈕旋轉方向的判斷,也會導致轉動次數(shù)不準確的情況。常用的消除機械噪聲的方法有硬件方法和軟件方法。硬件方法一般包括RC濾波方法和RS雙穩(wěn)態(tài)觸發(fā)器方法,這兩種方法實時性較好,但需要較多的附加電路。軟件方法一般都采用延遲法,雖然這種方法可以節(jié)省硬件電路,但實時性不好。本文介紹了一種狀態(tài)機的方法來消除噪聲,即不需要太多的附加電路又能保證較好實時性。FPGA的集成度很高,可完成極其復雜的時序和組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設計領域。
旋鈕編碼器
旋鈕是在旋柄連接到中心的凸輪上同時操作兩個開關,并且開關連接有上拉電阻,當旋鈕向某一個方向轉動時總有一個開關先于另一個開關先斷開,兩個開關上產(chǎn)生兩個有相位差的信號。當旋鈕處在穩(wěn)定位置的時候,A和B兩個開關都是閉合的,此時A和B都為低電平。旋鈕編碼器的基本結構如圖1所示。
辨向的電路設計與實現(xiàn)
由于旋鈕轉動時A和B斷開有一定的時間差,所以A和B開關的波形會有相應的相位差。旋鈕左旋時開關B先斷開,此時B的電平為高電平,即B先產(chǎn)生一個上升沿,隨后A的上升沿到來。旋鈕右旋時A和B的波形上升沿的先后順序與左旋相反。旋鈕左旋和右旋時A和B的波形如圖2所示。
評論