精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

FPGA應用篇要訣和技巧(一):FPGA去抖的那些事

工程師職場癌 ? 2017-09-19 18:18 ? 次閱讀

代碼如下:

3.png

4.png

程序分析:

去抖

去抖可分位硬件去抖和軟件去抖,顧名思義硬件去抖就是通過硬件來達到去抖的目的,一般是用施密特觸發器來實現,需要消耗硬件資源,在一些成本限制的時候,往往采用軟件去抖。

軟件去抖原理:一般按鍵的抖動頻率是幾十khz(故狀態轉移間隔為ms級,程序中我們采用20ms)整體思路是跳過這一段抖動,我們設計的去抖狀態機如下:

假如按鍵按下時為低電平,idle為初始狀態,當檢測到有按鍵按下時即key_pre==0,進入delay1狀態(注意:狀態從idle到delay1需要20ms,相等于跳過抖動),若此時key_pre仍為0,則我們認為是按鍵按下,則進入下一狀態,否則回到idle認為時抖動,到此為按下去抖。在press狀態下,若檢測到按鍵抬起即key_pre==1,則進入delay2狀態,否則仍在press狀態(防止有長時間按下),在delay2狀態,若key_pre仍為1,則認為按鍵以抬起,則進入下一狀態taiqi,至此完成抬起去抖,可以產生去抖后的信號

程序關鍵點:

第一:delay信號的產生

delay信號的高電平時間,只是一個主時鐘的寬度,所以當delay==1時,狀態轉移alw塊只會觸發一次,而不是多次。

第二:去抖后信號key_out的產生(輸出高電平表示按下)。

程序中我們采用

assign key_out=(state==taiqi && delay==1)?1'b1:1'b0;

有人認為當狀態到taiqi是直接就可輸出,為什么還要有delay==1這個條件呢?我們先看一下這兩種仿真結果:

加上delay==1

6.png??

從圖中我們可以明顯看出,未加delay==1,key_out為1有很寬的脈寬,在以clk_50M為敏感信號是,會造成多次觸發,而加上delay==1,key_out的寬度只為一個clk_50M主時鐘寬度,達到去抖效果。

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

    關注

    1626

    文章

    21671

    瀏覽量

    601899
收藏 人收藏

    評論

    相關推薦

    fpga教程之——按鍵消

    電平,這次對按鍵進行操作則是對FPGA進行輸入了。  2. 按鍵消  2.1 按鍵輸入原理  首先,我們得打開EE_FPGA的硬件手冊,找到按鍵部分的原理圖。  如下圖所示,這會大家就可以
    發表于 02-27 11:49

    FPGA設計實例】用FPGA實現開關按鍵

    本帖最后由 eehome 于 2013-1-5 10:10 編輯 本節將重點講解,用FPGA實現按鍵的方法,在以往的按鍵中,大
    發表于 03-19 14:48

    FPGA完整教程基礎版和高級版(免費)

    因為附件過大無法上傳,大家自己新浪愛問下載吧名稱叫:Altera FPGA CPLD設計(基礎)和Altera FPGA CPLD設計(高級
    發表于 04-12 23:09

    【黑金原創教程連載】FPGA那些事兒-驅動I,每周更新

    從今天開始,我們將連載《FPGA那些事兒-驅動I》,每周更新次。 這篇連載文檔,我們已經發布了三 【黑金原創教程】【
    發表于 06-09 13:58

    FPGA按鍵消的方法

    FPGA按鍵消的方法
    發表于 05-01 16:12

    fpga按鍵

    /*2017.3.11 zcin xidianreset低電平復位key_pre直接接去前的按鍵按下為低key_out為后的按鍵 輸出高表示按下。*/module debounce(input
    發表于 03-12 21:52

    深入剖析FPGA

    是,會造成多次觸發,而加上delay==1,key_out的寬度只為個clk_50M主時鐘寬度,達到效果。給大家推薦個微信公眾號 名字 FP
    發表于 04-04 15:41

    FPGA那些事兒-驅動I

    FPGA那些事兒-驅動I
    發表于 09-28 13:58

    FPGA學習與開發板的那些

    。今天讓我們來好好聊聊,學FPGA是不是定要買開發板。1、學習FPGA需要開發板,但有開發板≠學會FPGAFPGA要不要買開發板的問題不
    發表于 12-15 16:41

    STM32單片機按鍵消FPGA按鍵消的相關資料分享

    寫在前面:STM32單片機按鍵消FPGA按鍵消大全按鍵:由上圖可以看出理想波形與實際波形之間是有區別的,實際波形在按下和釋放的瞬間
    發表于 01-18 06:39

    基于FPGA的按鍵消電路設計

    采用了VHDL語言編程的設計方法,通過FPGA來實現按鍵消的硬件電路。論述了基于計數器、RS觸發器和狀態機3種方法來實現按鍵消電路,并給出仿真結果。通過下載到CycloneEP1C6T144芯片
    發表于 12-05 14:13 ?224次下載

    定想知道FPGA那些...

    之中,我將以最簡單的方式向大家講解: 、什么是FPGA? 二、為什么我們需要FPGA、什么是FPGA? 首先,如果你從未接觸過
    發表于 06-14 13:35 ?6924次閱讀

    使用FPGA進行消的典型例子

    本文檔的主要內容詳細介紹的是使用FPGA進行消的典型例子包括了:PCB和電路原理圖,應用程序,頻率比說明,消除按鍵抖動程序測試
    發表于 05-09 08:00 ?0次下載
    使用<b class='flag-5'>FPGA</b>進行消<b class='flag-5'>抖</b>的典型例子

    FPGA雜記之基礎二及Demo案例詳解

    本文接續上FPGA雜記基礎》,繼續為大家分享IP例化和幾個基于FPGA芯片實現的Demo工程。
    的頭像 發表于 12-24 18:32 ?721次閱讀

    如何在FPGA中實現按鍵消

    FPGA(現場可編程門陣列)中實現按鍵消個重要的設計環節,特別是在處理用戶輸入時,由于物理按鍵的機械特性和電氣特性,按鍵在按下和釋放的瞬間會產生抖動現象,這種抖動可能導致系統錯誤地識別為多次
    的頭像 發表于 08-19 18:15 ?1426次閱讀