• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于VHDL的按鍵消抖程序設(shè)計(jì)

      2017-09-15 21:22程佳佳
      科教導(dǎo)刊·電子版 2017年24期
      關(guān)鍵詞:電路仿真狀態(tài)機(jī)

      程佳佳

      摘 要 按鍵被廣泛用于基于CPLD/FPGA的數(shù)字電路系統(tǒng)設(shè)計(jì)中,機(jī)械式按鍵開關(guān)在按鍵操作時(shí)經(jīng)常會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,如果不進(jìn)行消除將會(huì)造成電路系統(tǒng)的誤操作?;诖私榻B了采用VHDL語(yǔ)言有限狀態(tài)機(jī)的方法實(shí)現(xiàn)消抖的電路系統(tǒng)的工作原理、編程思路,并進(jìn)行了硬件驗(yàn)證,消抖效果良好,性能穩(wěn)定,可廣泛用于CPLD/FPGA的按鍵電路中。

      關(guān)鍵詞 按鍵消抖 電路仿真 VHDL 狀態(tài)機(jī)

      中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A

      0引言

      按鍵開關(guān)是電子設(shè)備實(shí)現(xiàn)人機(jī)對(duì)話的重要器件之一。而大多數(shù)按鍵都采用機(jī)械觸點(diǎn)的方式。因此其最大的缺陷就在于在觸點(diǎn)閉合和斷開瞬間會(huì)伴隨一連串的隨機(jī)抖動(dòng),這些抖動(dòng)往往會(huì)造成電路的誤動(dòng)作,而使整個(gè)系統(tǒng)工作異常。因此在具有按鍵開關(guān)的電路系統(tǒng)中,尤其是在密碼鎖等精確度要求高的電路中,需要加入按鍵消抖模塊,確保按鍵每按一次只做一次響應(yīng)。

      1按鍵消抖方案

      按鍵消抖一般采用硬件和軟件消抖兩種方法。硬件消抖是利用電路濾波的原理實(shí)現(xiàn),軟件消抖是通過(guò)按鍵延時(shí)來(lái)實(shí)現(xiàn)。目前。隨著EDA技術(shù)的廣泛應(yīng)用,更多采用軟件消抖,主要采用延時(shí)的原理。本文將介紹兩種在可編程邏輯器件FPGA/CPLD設(shè)計(jì)數(shù)字系統(tǒng),基于VHDL語(yǔ)言設(shè)計(jì)的按鍵消抖方法。

      1.1計(jì)數(shù)器型消抖

      此方法的基本思想是:通過(guò)計(jì)數(shù)的方法來(lái)測(cè)量高電平的持續(xù)時(shí)間,若時(shí)間小于N(計(jì)數(shù)器模值)個(gè)時(shí)鐘周期則認(rèn)為是抖動(dòng)產(chǎn)生的毛刺,則從消除毛刺的角度來(lái)設(shè)計(jì)。因此設(shè)置當(dāng)按鍵開關(guān)按下key_in=1,計(jì)數(shù)器以時(shí)鐘上升沿開始計(jì)數(shù),計(jì)數(shù)值持續(xù)加1;若key_in=0時(shí),計(jì)數(shù)器清零。只有當(dāng)計(jì)數(shù)值為N,keyout=1,而且計(jì)數(shù)器進(jìn)入保持狀態(tài),其余情況下keyout=0。即抖動(dòng)產(chǎn)生的毛刺作用不可能使計(jì)數(shù)器有輸出,這樣防抖動(dòng)目的就得以實(shí)現(xiàn)。而且在本方法中,clk的時(shí)鐘周期與N可以根據(jù)按鍵抖動(dòng)時(shí)間由設(shè)計(jì)者自行設(shè)定。

      從波形圖上我們看到(如圖2),此方案不僅消除了按鍵抖動(dòng)產(chǎn)生的毛刺即窄脈沖,也可以將干擾、噪音等其他尖峰波濾除,但遇到脈寬大于N個(gè)clk時(shí)鐘周期的干擾、噪音等時(shí)會(huì)有輸出從而產(chǎn)生誤操作。

      1.2狀態(tài)機(jī)消抖

      此方法的主要編程思路:因?yàn)榘存I消抖的關(guān)鍵是提取穩(wěn)定的低電平(或高電平)狀態(tài),濾除按鍵穩(wěn)定前后的抖動(dòng)脈沖。因此可以用一個(gè)時(shí)鐘脈沖信號(hào)對(duì)按鍵狀態(tài)進(jìn)行取樣,當(dāng)?shù)谝淮尾蓸拥降碗娖綍r(shí),啟動(dòng)延時(shí)電路,延時(shí)結(jié)束后,再對(duì)按鍵信號(hào)進(jìn)行連續(xù)三次取樣,如果三次取樣都為低電平,則可以認(rèn)為按鍵已經(jīng)處在穩(wěn)定狀態(tài),這時(shí)輸出一個(gè)低電平的按鍵確認(rèn)信號(hào),如果連續(xù)三次的取樣中,至少有一次是高電平,則認(rèn)為按鍵仍處在抖動(dòng)狀態(tài),此時(shí)不進(jìn)行按鍵確認(rèn),按鍵輸出信號(hào)為高電平。

      由于按鍵抖動(dòng)的時(shí)間一般為5到10ms,因此時(shí)鐘信號(hào)clk可以使用200Hz的周期信號(hào)(周期為5ms),即5ms采樣一次按鍵信號(hào),若采樣到低電平,則進(jìn)行消抖延時(shí);當(dāng)連續(xù)兩次采樣到的按鍵信號(hào)都為低電平時(shí),認(rèn)為按鍵穩(wěn)定的按下。在按鍵穩(wěn)定按下后,采樣到按鍵為高電平時(shí),認(rèn)為按鍵釋放。

      從波形圖上我們可以看出,此方法可以實(shí)現(xiàn)消抖,而且經(jīng)驗(yàn)證,性能穩(wěn)定。

      2結(jié)束語(yǔ)

      本文介紹了兩種基于VHDL語(yǔ)言的按鍵消抖方法,并且將相應(yīng)程序下載到CPLD芯片中進(jìn)行硬件測(cè)試,確保能夠?qū)崿F(xiàn)消抖。當(dāng)然,按鍵消抖方法多種多樣,作者在此也重在將相應(yīng)編程消抖思路提供給VHDL語(yǔ)言及CPLD/FPGA器件應(yīng)用中遇到類似問(wèn)題的初學(xué)者,能提供給他們更多的工程經(jīng)驗(yàn)。endprint

      猜你喜歡
      電路仿真狀態(tài)機(jī)
      基于FSM和圖論的繼電電路仿真算法研究
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      基于Multisim的集成運(yùn)放應(yīng)用電路仿真分析
      基于Multisim的功率放大電路仿真分析
      基于集成運(yùn)放的壓控振蕩電路仿真研究
      一個(gè)新型對(duì)數(shù)混沌系統(tǒng)及其電路仿真
      二極管及其典型應(yīng)用電路仿真測(cè)試
      基于狀態(tài)機(jī)比對(duì)的狀態(tài)機(jī)推斷方案
      雙口RAM讀寫正確性自動(dòng)測(cè)試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      临沭县| 兴隆县| 靖边县| 卢氏县| 冕宁县| 咸阳市| 长岭县| 宁波市| 宜丰县| 瓦房店市| 连城县| 探索| 上饶市| 五原县| 墨竹工卡县| 历史| 南乐县| 吴桥县| 尖扎县| 巴林左旗| 青浦区| 东平县| 儋州市| 庄河市| 广饶县| 沙田区| 乌鲁木齐县| 甘洛县| 阿拉尔市| 印江| 襄樊市| 龙川县| 固始县| 织金县| 邻水| 灵武市| 织金县| 汉阴县| 南川市| 海林市| 榆中县|