0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

按鍵抖動消除verilog設計

FPGA之家 ? 來源:FPGA之家 ? 2023-04-27 09:55 ? 次閱讀

按鍵作為一種機械開關(guān),在進行按鍵操作時,機械接觸點的彈性及電壓突變等原因,在機械開關(guān)合閉的時候會出現(xiàn)電壓抖動,因此在實際的應用當中需要做一定的處理。

一般按鍵按下就是低電壓,這種按鍵去抖動的關(guān)鍵就是獲取穩(wěn)定的低電壓電平狀態(tài),因此,對于對于一個按鍵信號,可以用一個脈沖信號對其進行采樣,如果連續(xù)三次采樣都為低電平的話,就認為是按鍵被按下。其數(shù)字電路原型為下圖

acc2c9de-e455-11ed-ab56-dac502259ad0.png

其實,我們在做FPGA設計之前,就應該大概知道自己的coding 在FPGA芯片上面會映射成什么電路,這樣寫的代碼才是可靠的,有了上面的原理圖,那么Verilog代碼就很容易了,如下

input    wire    Clk    ;
input    wire    key_in    ;
output   wire    key_out   ;

reg    key_dly1;
reg    key_dly2;
reg    key_dly3;

always @(posedge Clk)
begin
    if(Rst_n == 1'b0)        begin
            key_dly1 <= 1'b0;            key_dly2 <= 1'b0;            key_dly3 <= 1'b0;        end
    else
        begin
            key_dly1 <= key_in  ;
            key_dly2 <= key_dly1;
            key_dly3 <= key_dly2;
        end        
end


assign    key_out = key_dly1 | key_dly2 | key_dly3;

對于復雜的電路我們也可以把他分解為每一個觸發(fā)器,然后心里有個大概的硬件原理圖,這樣寫代碼才胸有成竹。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA設計
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26449
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1992

    瀏覽量

    60978
  • FPGA芯片
    +關(guān)注

    關(guān)注

    3

    文章

    246

    瀏覽量

    39720

原文標題:按鍵抖動消除 verilog

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    verilog寫cpld的程序如何消除按鍵抖動

    verilog寫cpld的程序如何消除按鍵抖動?
    發(fā)表于 04-02 09:22

    關(guān)于按鍵抖動問題的解決

    電路圖如下,,左側(cè)按鈕按下后給74LS192提供脈沖信號,但實物焊接時卻存在按下一次按鈕,192多次計數(shù)。是因為選用的按鈕存在按鍵抖動,按下一次按鈕會提供多個脈沖信號,讓192多次計數(shù)嗎?如果是,有什么辦法能消除這種
    發(fā)表于 06-25 02:31

    消除按鍵抖動的兩種方法分享

      按鍵也是機械裝置,在按下或放開的一瞬間會產(chǎn)生抖動,如下圖:    消除方法有兩種:  軟件除抖和硬件除抖,其中硬件除抖是應用了電容對高頻信號短路的原理?! ≤浖妒菣z測出鍵閉合后執(zhí)行一個延時
    發(fā)表于 09-02 17:52

    如何通過軟件編程實現(xiàn)消除鍵盤的抖動

    如何通過軟件編程實現(xiàn)消除鍵盤的抖動?記文本答:由于按鍵是機械開關(guān)結(jié)構(gòu),所以當用手按下其中-一個鍵時,往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間發(fā)生跳幾下后才會穩(wěn)定到閉合狀態(tài)的情況。在釋放
    發(fā)表于 07-22 08:24

    單片機如何消除按鍵抖動?

    單片機如何消除按鍵抖動?
    發(fā)表于 10-21 09:29

    如何消除按鍵抖動的影響

    ,從而引起誤處理。因此,為了確保單片機對一次按鍵動作只作—次響應,就必須考慮如何消除按鍵抖動的影響。按鍵讀取識
    發(fā)表于 01-17 07:46

    運用外部中斷函數(shù)消除按鍵抖動

    目的實現(xiàn):按鍵數(shù)碼管數(shù)字加減,運用外部中斷函數(shù),消除按鍵抖動***仿真c代碼#includecode unsigned char SEG[]={0XC0
    發(fā)表于 03-02 06:31

    按鍵消抖的原理和基于verilog的消抖設計

    按鍵開關(guān)是各種電子設備不可或缺的人機接口。在實際應用中,很大一部分的按鍵是機械按鍵。在機械按鍵的觸點閉合和斷開時,都會產(chǎn)生抖動,為了保證系統(tǒng)
    發(fā)表于 02-11 01:14 ?2.3w次閱讀
    <b class='flag-5'>按鍵</b>消抖的原理和基于<b class='flag-5'>verilog</b>的消抖設計

    按鍵彈跳消除模塊的程序設計與應用

    按鍵開關(guān)是電子設備人機交互的主要器件之一。按鍵大多是機械式開關(guān)結(jié)構(gòu),由于機械式開關(guān)的核心部件為彈性金屬簧片,因而在開關(guān)切換的瞬間會在接觸點出現(xiàn)來回彈跳的現(xiàn)象。對于靈敏度比較高的電路,這種彈跳現(xiàn)象引起的信號抖動會造成誤動作而影響到
    的頭像 發(fā)表于 01-07 08:45 ?2677次閱讀
    <b class='flag-5'>按鍵</b>彈跳<b class='flag-5'>消除</b>模塊的程序設計與應用

    外部中斷的按鍵抖動按鍵消抖)

    當我們寫完一個外部中斷程序測試時,例如按鍵計數(shù)和按鍵點亮led燈,我們可能會遇到一次按鍵按下松開卻觸發(fā)了多次外部中斷,這是因為按鍵抖動的存在
    發(fā)表于 11-22 15:36 ?27次下載
    外部中斷的<b class='flag-5'>按鍵</b><b class='flag-5'>抖動</b>(<b class='flag-5'>按鍵</b>消抖)

    STM32F407 按鍵抖動 延時消抖

    ,從而引起誤處理。因此,為了確保單片機對一次按鍵動作只作—次響應,就必須考慮如何消除按鍵抖動的影響。按鍵讀取識
    發(fā)表于 01-18 10:30 ?4次下載
    STM32F407 <b class='flag-5'>按鍵</b><b class='flag-5'>抖動</b> 延時消抖

    開關(guān)抖動消除設計

    當按下和釋放微動按鍵時,會由短時間的抖動現(xiàn)象才會到達想要的狀態(tài)。
    的頭像 發(fā)表于 12-26 16:25 ?2375次閱讀

    單片機按鍵抖動的方法

    在使用按鍵時,我們想按一次按鍵,但在實際中卻經(jīng)常發(fā)現(xiàn)我們要的”一次“,實際上去并不是”一次“而可能是多次。為什么呢?這是因為,我們使用的機械按鍵,在我們按下時,并非只是接觸一次,因為存在機械
    的頭像 發(fā)表于 11-02 15:16 ?4513次閱讀
    單片機<b class='flag-5'>按鍵</b>去<b class='flag-5'>抖動</b>的方法

    rs觸發(fā)器消除按鍵抖動的原因

    按鍵抖動是指由于按鍵接點的不完美接觸而導致的按鍵信號在短時間內(nèi)多次跳變的現(xiàn)象。在電子設備的設計與制造中,消除
    的頭像 發(fā)表于 11-17 15:53 ?1771次閱讀

    FPGA如何消除時鐘抖動

    在FPGA(現(xiàn)場可編程門陣列)設計中,消除時鐘抖動是一個關(guān)鍵任務,因為時鐘抖動會直接影響系統(tǒng)的時序性能、穩(wěn)定性和可靠性。以下將詳細闡述FPGA中消除時鐘
    的頭像 發(fā)表于 08-19 17:58 ?719次閱讀