999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的矩陣鍵盤控制器及顯示電路的設計*

2012-05-15 01:06:12王榮揚吳國強
湖州職業技術學院學報 2012年3期
關鍵詞:信號設計

王榮揚 , 吳國強

(湖州職業技術學院 機電工程分院, 浙江 湖州 313000)

在便攜式電子設備中有著廣泛應用的矩陣鍵盤,一般利用單片機對其進行掃描控制,大大降低了單片機處理其它信息的能力,造成資源的浪費。利用FPGA強大的邏輯處理能力及豐富的引腳,本文設計了基于FPGA的矩陣鍵盤控制器,主要包括矩陣鍵盤抗抖動模塊、掃描模塊、譯碼模塊、存儲模塊以及數碼管顯示模塊,同時將矩陣鍵盤輸入的數據通過7段數碼管進行顯示。

1 矩陣鍵盤控制器及顯示電路設計思路

為完成便攜式設備的人機交互,利用4×4矩陣鍵盤設計了基于FPGA的矩陣鍵盤控制器及顯示電路,如圖1所示。系統主要由FPGA、矩陣鍵盤、138譯碼芯片以及數碼管等組成,主要完成一個8位數的輸入,對所輸入的8位數進行存儲供后續使用,利用數碼管的顯示功能來確認所輸入的數據是否準確,降低輸入誤差。

由圖1可看出,本系統軟件部分主要實現矩陣鍵盤行列掃描控制、輸入抗抖動、按鍵譯碼、按鍵存儲以及數碼管顯示等功能。

(1)矩陣鍵盤行列掃描控制模塊:產生周期性的掃描信號,根據掃描輸入信號進行判斷是否有按鍵被按下,若有按鍵被按下則立刻進行按鍵判斷和編碼,并將按鍵存儲到內部寄存器[1]。

(2)彈跳消除電路:機械開關結構的矩陣鍵盤,按鍵被按下時,接觸點會出現來回彈跳的信號。信號彈跳時間內程序無法有效的判斷按鍵值,從而影響到輸入的正確性,降低設備的性能[1]。

(3)按鍵譯碼電路:掃描回復信號(按鍵輸入給FPGA的信號)在FPGA內部無法直接作為后續使用信號,必須定義中間信號,用以區分不同按鍵的功能,對按鍵進行譯碼[1]。

(4)按鍵存儲電路:前一次按鍵的輸入數據將被下一次掃描產生的新按鍵數據覆蓋,因此需要一個移位寄存器來保存整個按鍵的輸入。

(5)數碼管顯示電路:為完成8位數據的輸入顯示,需要對每個數碼管進行掃描控制,并根據按鍵值對數碼管進行譯碼顯示。

圖1 系統硬件電路圖

2 矩陣鍵盤控制器及顯示的VHDL設計

2.1 矩陣鍵盤防抖設計

矩陣鍵盤抗抖動電路主要有計數器、移位寄存器、D型觸發器延時和采樣型防抖微分電路四種方法[2]。本文采用的去抖方法是:將鍵盤輸入信號作為電路輸入信號,在時鐘信號作用下,輸入信號經過兩級D觸發器延時后再使用RS觸發器進行處理。抖動消除電路所使用的脈沖信號頻率必須比其它電路使用的脈沖信號頻率更高,通常將掃描電路的工作頻率定在24Hz左右,而將彈跳電路的工作頻率定在128Hz左右[3]。根據以上設計思想,采用VHDL硬件語言編寫了鍵盤抗抖動模塊,抗抖動模塊經綜合后其RTL電路圖如圖2所示。

圖2 抗抖動電路RTL圖

2.2 時鐘電路和掃描電路

時鐘電路主要產生系統所需要的時鐘信號,由FPGA時鐘分頻得到系統工作時鐘,然后采用計數器分頻方法得到所需要的彈跳消除時鐘信號、鍵盤掃描信號以及數碼管顯示時鐘信號。鍵盤掃描電路用來產生鍵盤掃描信號,根據矩陣鍵盤工作原理,需要產生從第一列到第四列的周期性掃描信號。采用VHDL硬件語言設計掃描模塊,具體程序如下。

Process(clk_1khz) “1101” when clk_key=“01”else

begin “1011” when clk_key=“10”else

if clk_1khz'event and clk_1khz='1' then “0111” when clk_key=“11”else

counter<=counter+1; clk_scan<=sel;

end if; “1111”;

clk_key<=counter(9 downto 0); end process;

sel<= “1110” when clk_key=“00” else

2.3 矩陣鍵盤譯碼電路

矩陣鍵盤所產生的掃描回復信號(按鍵輸入給FPGA的信號),是無法直接在FPGA內部作為信號進行使用,在使用前需要根據定義的不同功能將掃描回復信號譯碼為可供FPGA識別的BCD編碼,完成矩陣鍵盤輸入的譯碼,同時區分不同按鍵的功能。譯碼電路的主要功能是:判斷是否有鍵按下,然后根據掃描的信號確認所按下的鍵是數字鍵還是功能鍵,將所按下的鍵編寫成BCD碼。表1為所用鍵盤輸入信號與按鍵位置之間的關系。

表1 按鍵輸入信號與按鍵位置的關系

譯碼電路對應的VHDL程序如下。

Process(clk) when “101011” =>data_n<=“1001”;

begin when “100111” =>data_n<=“1110”;

scan<= clk_key & KO; when “111101” =>data_n<=“1011”;

if clk'event and clk='1' then when “111011” =>data_n<=“1100”;

case scan is when others =>data_n<=“0000”;

when “001110” =>data_n<=“0001”; end case;

when “001101” =>data_n<=“0100”; end if;

when “001011” =>data_n<=“0111”; if clk'event and clk='1' then

when “000111” =>data_n<=“0000”; case scan is

when “011110” =>data_n<=“0010”; when “111110” =>data_f<=“1010”;

when “011101” =>data_n<=“0101”; when “110111” =>data_f<=“1101”;

when “011011” =>data_n<=“1000”; when others =>data_f<=“0000”;

when “010111” =>data_n<=“1111”; end case;

when “101110” =>data_n<=“0011”; end if;

when “101101” =>data_n<=“1010”; end process;

2.4 存儲及顯示電路

每次掃描會產生新的按鍵輸入,可能會覆蓋前面的數據,所以需要一個按鍵存儲器電路,將整個鍵盤掃面完畢后的結果記錄下來。按鍵存儲電路由移位寄存器電路組成。本設計采用串行輸入、串行輸出移位寄存器作為按鍵存儲電路。設計思路:八進制計數器cnt按合適的頻率進行計數;每記一個數,便給位選信號segweixh賦一個不同的值,通過I/O口將segweixh的值輸出給138譯碼器;當位選信號segweixh變化時,按一定的算法將鍵盤輸入信號的四位賦值給內部寄存器datebuf;process(datebuf)過程是數碼管顯示譯碼階段,主要完成對輸入信號的譯碼工作。(限于篇幅,程序略)

3 實驗結果分析

(1)掃描電路仿真分析:圖3所示為分頻和鍵盤掃描仿真圖,圖中clk為頻率為50MHz的FPGA時鐘信號;clk_1kHz為經過50000分頻得到的1kHz的鍵盤掃描工作時鐘信號;在程序內部分頻器的作用下對鍵盤進行掃描,clk_scan為鍵盤掃描信號,由圖3可以看出仿真結果和理論要求一致。

圖3 分頻及掃描模塊仿真波形圖

(2) 數碼管顯示電路仿真分析:圖4所示為數碼管顯示仿真波形,圖中clk為頻率為50Mhz的FPGA時鐘信號;clk_1khz為經過50000分頻得到的1khz的數碼管顯示工作時鐘信號;矩陣鍵盤輸入數據存放在移位寄存器datain_x中,假設輸入數據為“0000 0001 0010 0011 0100 0101 0110 0111”,對應的顯示數碼為0、1、2、3、4、5、6、7;led_out為138位選信號,由仿真結果看得其與理論值一致;segma_out為數碼管顯示斷碼,由圖4可得,在led_out為“000”、 “001”、 “010”、 “011”、 “100”、 “101”、 “110”、 “111”時分別顯示“11111010”、“ 00100010”、“ 10111001”、“ 10101011”、“ 01100011”、“ 11001011”、“ 11011011”、“ 10100010”,即0、1、2、3、4、5、6、7與輸入的數據一致。

圖4 數碼管顯示模塊仿真波形圖

4 結 語

本設計的矩陣鍵盤控制器及其顯示電路在ISE13.4 開發環境下進行仿真驗證后,下載到采用138譯碼芯片、矩陣鍵盤、FPGA及4位數碼管建立開發的硬件系統中進行了硬件驗證,該硬件采用Xilinx系列 spartan-xc3s500E 芯片作為核心芯片。實驗證明,所設計的系統能夠準確的完成目標功能,硬件系統結果與仿真結果一致,即驗證了系統的正確性。所設計的系統誤判概率低,反應速度快,能夠滿足設計要求。該模塊以按鍵的釋放控制按鍵編碼輸出,在按鍵被按下一段時間到釋放按鍵之前,不能按一定的間隔連續輸出被按鍵的鍵值,矩陣鍵盤沒有連續按鍵的功能。

參考文獻:

[1] 張喜鳳,屈寶鵬.基于VHDL的矩陣鍵盤及顯示電路設計[J].現代電子技術,2010,33(16):14-16.

[2] 魯傳明,翁嘉民.基于VHDL的防抖型矩陣式鍵盤設計[J].河南工程學院學報,2009,21(1):58-62.

[3] 譚會生,翟遂春.EDA技術綜合應用實例與分析[M].西安:電子科技大學出版社,2004:11.

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 国产精品第一区| 在线中文字幕网| 无遮挡国产高潮视频免费观看 | 精品亚洲欧美中文字幕在线看| 国产在线第二页| 久久天天躁夜夜躁狠狠| 九月婷婷亚洲综合在线| 99视频在线看| 乱色熟女综合一区二区| 国产乱子伦手机在线| 成人午夜精品一级毛片| 亚洲日韩精品伊甸| 国产乱码精品一区二区三区中文| 妇女自拍偷自拍亚洲精品| 色婷婷成人网| 色综合手机在线| 伊在人亚洲香蕉精品播放| 日韩午夜伦| 五月天天天色| 中文字幕1区2区| 香蕉精品在线| 69国产精品视频免费| 在线日韩一区二区| 亚洲国产黄色| 第一页亚洲| 日韩高清成人| 国产成人喷潮在线观看| 国产精品尤物铁牛tv| 亚洲精品无码日韩国产不卡| 香蕉综合在线视频91| 午夜福利视频一区| 国产一区二区三区夜色 | 日本国产精品| 国产色婷婷| 亚洲国产精品人久久电影| 国产对白刺激真实精品91| 91久草视频| 91成人在线观看| 中国一级特黄大片在线观看| 亚洲无码A视频在线| 91精品国产情侣高潮露脸| 青青青国产视频手机| 伊人91在线| 国产精品无码作爱| h视频在线播放| 污网站在线观看视频| 久久国产免费观看| 高潮爽到爆的喷水女主播视频| 女人18毛片久久| 美女裸体18禁网站| 在线观看亚洲成人| 国产jizzjizz视频| 亚洲欧美综合另类图片小说区| 亚洲国产看片基地久久1024| 欧美日韩国产成人高清视频| 亚洲男人天堂2020| 青草视频在线观看国产| 国产精品无码AV中文| 欧美一区二区三区欧美日韩亚洲 | 久久综合国产乱子免费| 午夜欧美理论2019理论| 日韩无码精品人妻| 中文字幕 欧美日韩| 成人中文在线| 国产精品吹潮在线观看中文| 国产美女精品在线| 欧美精品H在线播放| 国产又色又爽又黄| 亚洲欧美自拍中文| 精品色综合| 在线免费观看AV| 欧美激情视频一区| 制服丝袜一区| 亚洲区一区| 9啪在线视频| 国产一二三区在线| 中文字幕永久视频| 91热爆在线| 奇米精品一区二区三区在线观看| 91亚瑟视频| 欧美人与动牲交a欧美精品| 欧美日本中文|