基于FPGA的可鍵盤控制計(jì)數(shù)電路的設(shè)計(jì)與實(shí)現(xiàn)
摘要:介紹一種基于FPGA(Field Programmable Gate Array)現(xiàn)場可編程門陣列的可鍵盤控制的計(jì)數(shù),顯示電路的實(shí)現(xiàn)方法。應(yīng)用VHDL語言(高速集成電路硬件描述語言)完成了3x4矩陣開關(guān)的掃描電路,可預(yù)置數(shù)的BCD碼計(jì)數(shù)電路及4位數(shù)碼管動(dòng)態(tài)掃描電路的描述。通過原理圖輸入方式完成了系統(tǒng)功能的設(shè)計(jì)。電路結(jié)構(gòu)簡單,便于擴(kuò)展,可靠性高,且可移植性強(qiáng),容易實(shí)現(xiàn)。該電路已成功應(yīng)用于測試某脈沖電容質(zhì)量試驗(yàn)的控制電路中。
關(guān)鍵詞:FPGA;鍵盤掃描;計(jì)數(shù);動(dòng)態(tài)顯示
FPGA做為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心器件,成為目前硬件設(shè)計(jì)研究的重點(diǎn)。在工業(yè)控制中,計(jì)數(shù)顯示基本電路在儀器儀表中得到了廣泛應(yīng)用,而如何根據(jù)需要靈活的設(shè)置計(jì)數(shù)范圍,是一個(gè)較為復(fù)雜的問題。本文應(yīng)用EDA技術(shù)通過對鍵盤的控制,實(shí)現(xiàn)了從0~9999范圍內(nèi)預(yù)置數(shù)可變的計(jì)數(shù)顯示電路設(shè)計(jì)。與傳統(tǒng)的應(yīng)用單片機(jī)控制鍵盤掃描的設(shè)計(jì)方法相比,具有集成度高,穩(wěn)定度高,抗噪聲能力強(qiáng),容錯(cuò)率低等優(yōu)點(diǎn)。
1 系統(tǒng)設(shè)計(jì)原理及電路圖
圖1為基于FPGA的預(yù)置數(shù)可控計(jì)數(shù)顯示頂層設(shè)計(jì)電路原理圖,共由3部分組成:鍵盤掃描控制電路key_board;BCD碼計(jì)數(shù)電路CNT;4位數(shù)碼管動(dòng)態(tài)掃描顯示電路scan_LED。首先,由鍵盤掃描電路完成對鍵盤的掃描和鍵值的譯碼,當(dāng)計(jì)數(shù)電路置數(shù)端LOAD為上升沿時(shí),將鍵盤掃描電路讀取的數(shù)據(jù)經(jīng)P3-P0并行置入到計(jì)數(shù)器中做為其計(jì)數(shù)范圍,計(jì)數(shù)器的輸出通過動(dòng)態(tài)掃描譯碼模塊驅(qū)動(dòng)4位數(shù)碼管顯示。
2 VHDL語言的實(shí)現(xiàn)
該設(shè)計(jì)采用層次化設(shè)計(jì)方法,首先采用VHDL語言完成了對各子模塊電路的描述,然后分別將其生成符號(hào)元件,通過原理圖編輯完成了系統(tǒng)的設(shè)計(jì)。
2.1 鍵盤掃描電路
2.1.1 行列式鍵盤工作原理
圖2為3x4行列式鍵盤原理圖,行線是KEY_HANG[2..0],列線是KEY_LIE[3..0],形成12個(gè)交叉點(diǎn),每個(gè)交叉點(diǎn)連接一個(gè)按鍵。12個(gè)按鍵分別對應(yīng)數(shù)字0~9和清零鍵A,確定鍵B。當(dāng)沒有按鍵按下時(shí),所有交叉點(diǎn)斷開,由于列線的上拉電阻作用,使其保持高電平。如果行線KEY_HANG[2..0]被設(shè)置為低電平,當(dāng)有按鍵按下時(shí),該鍵所在的行線和列線被按鍵短路,那么相應(yīng)得列線就變?yōu)榈碗娖健?/p>
評(píng)論