日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]簡單的說,進(jìn)入了電子,不管是學(xué)純模擬,還是學(xué)單片機(jī),DSP、ARM等處理器,或者是我們的FPGA,一般沒有不用到按鍵的地方。按鍵:人機(jī)交互控制,主要用于對系統(tǒng)的控制,信號的釋放等。因此在這里,F(xiàn)PGA上應(yīng)用的按鍵消抖動,也不得不講!

簡單的說,進(jìn)入了電子,不管是學(xué)純模擬,還是學(xué)單片機(jī),DSP、ARM等處理器,或者是我們的FPGA,一般沒有不用到按鍵的地方。按鍵:人機(jī)交互控制,主要用于對系統(tǒng)的控制,信號的釋放等。因此在這里,F(xiàn)PGA上應(yīng)用的按鍵消抖動,也不得不講!

一、為什么要消抖動

 在按鍵被按下的短暫一瞬間,由于硬件上的抖動,往往會產(chǎn)生幾毫秒的抖動,在這時候若采集信號,勢必導(dǎo)致誤操作,甚至系統(tǒng)崩潰;同樣,在釋放按鍵的那一刻,硬件上會相應(yīng)的產(chǎn)生抖動,會產(chǎn)生同樣的后果。因此,在模擬或者數(shù)字電路中,我們要避免在最不穩(wěn)定的時候采集信號,進(jìn)行操作。

對此一般產(chǎn)用消抖動的原理。一般可分為以下幾種:

(1)延時

(2)N次低電平計數(shù)

(3)低通濾波

在數(shù)字電路中,一般產(chǎn)用(1)(2)種方法。后文中將詳細(xì)介紹。

二、各種消抖動

1. 模擬電路按鍵消抖動

對于模擬電路中,一般消抖動用的是電容消抖動或者施密特觸發(fā)等電路,再次不做具體介紹。

 

 

2. 單片機(jī)中按鍵消抖動

對于單片機(jī)中的按鍵消抖動,本節(jié)Bingo根據(jù)自己當(dāng)年寫過的單片機(jī)其中的一個代碼來講解,代碼如下所示:

unsigned char key_sCAN(void)

{

if(key == 0) //檢測到被按下

{

delay(5); //延時5ms,消抖

if(key != 0)

retrurn 0; //是抖動,返回退出

while(!key1); // 確認(rèn)被按下,等下釋放

delay(5); //延時5ms,消抖

while(!key1); //確認(rèn)被釋放

return 1; //返回按下信號

}

return 0; //沒信號

}

針對以上代碼,消抖動的順序如下所示:

(1)檢測到信號

(2)延時5ms,消抖動

(3)繼續(xù)檢測信號,確認(rèn)是否被按下

a) 是,則開始等待釋放

b) 否,則返回0,退出

(4)延時5ms,消抖動

(5)確認(rèn),返回按下信號,退出

當(dāng)然在單片機(jī)中也可以循環(huán)計數(shù)來確認(rèn)是否被按下。Bingo認(rèn)為如此,太耗MCU資源,因此再次不做講述。

3. FPGA中的按鍵消抖動

對于FPGA中的消抖動,很多教科書上都沒有講述。但Bingo覺得這個很有必要。對于信號穩(wěn)定性以及準(zhǔn)確性分析,按鍵信號必須有一個穩(wěn)定的脈沖,不然對系統(tǒng)穩(wěn)定性有很大的干擾。

此處Bingo用兩種方法對FPGA中按鍵消抖動分析。其中第一種是通過狀態(tài)機(jī)的使用直接移植以上MCU的代碼,這個思想在FPGA狀態(tài)機(jī)中很重要。第二種,通過循環(huán)n次計數(shù)的方法來確認(rèn)是否真的被按下,這種方法很實(shí)用在FPGA這種高速并行器件中。

(1)利用狀態(tài)機(jī)移植MCU按鍵消抖動

此模塊由Bingo無數(shù)次修改測試最后成型的代碼,在功能上可適配n個按鍵,在思想上利用單片機(jī)采用了單片機(jī)消抖動的思想。具體代碼實(shí)現(xiàn)過程請有需要的自行分析,本模塊移植方便,Verilog代碼如下所示:

/*************************************************

* Module Name : key_scan_jitter.v

* Engineer : Crazy Bingo

* Target DevICe : EP2C8Q208C8

* Tool versions : QUARTus II 11.0

* Create Date : 2011-6-26

* Revision : v1.0

* DescripTIon :

**************************************************/

module key_scan_jitter

#(

parameter KEY_WIDTH = 2

)

(

input clk,

input rst_n,

input [KEY_WIDTH-1:0] key_data,

output key_flag,

output reg [KEY_WIDTH-1:0] key_value

);

reg [19:0] cnt; //delay_5ms(249999)

reg [2:0] state;

//-----------------------------------

always @(posedge clk or negedge rst_n)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉