基于FPGA的多路視頻通道控制
由于撥動開關是機械觸點,當其斷開、閉合時會有相應的前沿、后沿抖動,為了使每次動作都只做一次響應,就必須對原始開關信號做去抖動處理。抖動信號可以分為2種:一種是時間很短的干擾信號,如高頻毛刺;另一種是時間較長的干擾信號,如開關抖動。這里的撥動開關都是人為操作,因此每次觸發的時間都不會很短,一般小于10 Hz。根據上述分析開關抖動信號屬于后一種。因此在每次開關操作后,對其產生的信號進行連續采樣,如果每次采樣都是低電平或者都是高電平,就認為此信號不是抖動,確實開關狀態發生了變化。整個設計過程使用Verilog硬件描述語言編寫,然后在QuartusⅡ平臺上編譯,并采用SignalTapⅡLogic Arlalvzer對信號采樣分析,調試通過后連同其他程序一起燒寫進FPGA的配置器件EPCSl6中。圖2~圖4分別是各個開關動作去抖動前和去抖動后的實時信號采樣圖。去抖動模塊中的部分代碼如下:
評論