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

當前位置:首頁 > 工業(yè)控制 > 電子設計自動化
[導讀]FPGA/ CPLD 在數(shù)字系統(tǒng)設計中的廣泛應用,影響到了生產(chǎn)生活的各個方面。在FPGA/ CPLD 的設計開發(fā)中,V HDL 語言作為一種主流的硬件描述語言,具有設計效率高, 可靠性好, 易讀易懂等諸多優(yōu)點 。

FPGA/ CPLD 在數(shù)字系統(tǒng)設計中的廣泛應用,影響到了生產(chǎn)生活的各個方面。在FPGA/ CPLD 的設計開發(fā)中,V HDL 語言作為一種主流的硬件描述語言,具有設計效率高, 可靠性好, 易讀易懂等諸多優(yōu)點 。作為一種功能強大的FPGA/ CPLD 數(shù)字系統(tǒng)開發(fā)環(huán)境,Altera 公司推出的Quart us Ⅱ,為設計者提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程,為使用V HDL 語言進行FPGA/ CPLD 設計提供了極大的便利 。矩陣鍵盤作為一種常用的數(shù)據(jù)輸入設備,在各種電子設備上有著廣泛的應用,通過7 段數(shù)碼管將按鍵數(shù)值進行顯示也是一種常用的數(shù)據(jù)顯示方式。在設計機械式矩陣鍵盤控制電路時,按鍵防抖和按鍵數(shù)據(jù)的譯碼顯示是兩個重要方面。本文在Quart us Ⅱ開發(fā)環(huán)境下,采用V HDL語言設計了一種按鍵防抖并能連續(xù)記錄并顯示8 次按鍵數(shù)值的矩陣鍵盤及顯示電路。

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

矩陣鍵盤及顯示電路能夠將機械式4 ×4矩陣鍵盤的按鍵值依次顯示到8 個7段數(shù)碼管上,每次新的按鍵值顯示在最右端的第0 號數(shù)碼管上,原有第0~6號數(shù)碼管顯示的數(shù)值整體左移到第1~7號數(shù)碼管上顯示,見圖1 ??傮w而言,矩陣鍵盤及顯示電路的設計可分為4 個部分:

(1) 矩陣鍵盤的行及列的掃描控制和譯碼。該設計所使用的鍵盤是通過將列掃描信號作為輸入信號,控制行掃描信號輸出,然后根據(jù)行及列的掃描結果進行譯碼。

(2) 機械式按鍵的防抖設計。由于機械式按鍵在按下和彈起的過程中均有5~10 ms 的信號抖動時間,在信號抖動時間內無法有效判斷按鍵值,因此按鍵的防抖設計是非常關鍵的,也是該設計的一個重點。

(3) 按鍵數(shù)值的移位寄存。由于該設計需要在8 個數(shù)碼管上依次顯示前后共8 次按鍵的數(shù)值,因此對已有數(shù)據(jù)的存儲和調用也是該設計的重點所在。

(4) 數(shù)碼管的掃描和譯碼顯示。由于該設計使用了8 個數(shù)碼管,因此需要對每個數(shù)碼管進行掃描控制,并根據(jù)按鍵值對每個數(shù)碼管進行7 段數(shù)碼管的譯碼顯示。

2 矩陣鍵盤及顯示電路的實現(xiàn)

本文所設計的矩陣鍵盤及顯示電圖2 所示。其中, clk 為時鐘信號輸入端(頻率可為1 024~32 768 Hz) ; STart 為清零控制端;kbrow 為列掃描信號輸入端; kbcol 為行掃描信號輸出端; scan 為數(shù)碼管地址掃描信號輸出端; seg7 為數(shù)碼管顯示信號輸出端。

圖1 矩陣鍵盤及顯示電路原理圖

圖2 矩陣鍵盤及顯示電路的電路符號

限于篇幅,在此不詳述所設計矩陣鍵盤及顯示電路的全部V HDL 代碼,只對部分重要代碼段落進行詳細說明。

如圖1 所示,全部代碼由7 個進程(process) 組成。其中,進程P1 和P2 用于對列掃描輸入信號kbrow 進行讀取,并通過或非運算產(chǎn)生行掃描使能控制信號en 對行掃描輸出信號kbcol 進行控制,并生成一個與kbcol 對應的狀態(tài)信號state。若沒有按鍵被按下( 即kbrow =“0000”) ,則en =‘1’,行掃描輸出信號kbcol 不斷循環(huán)掃描各行;若有按鍵被按下,en =‘0’,則行掃描停止,并鎖存當前kbcol 的值。進程P1 和P2 的代碼如下:

進程P3 使用“case ?when”語句,根據(jù)狀態(tài)信號state 的值(即kbcol 的值) 和列掃描輸入信號kbrow 的值進行按鍵值譯碼, 生成一個4 位二進制按鍵數(shù)值信號dat ,用以記錄當前按鍵值。例如,當kbcol =“0010”,kbrow =“0001 ”時“B”鍵按下, dat =“1011”。進程P3 的代碼在此不再贅述。進程P4 和P5 用于按鍵的防抖和按鍵值的移位寄存。通過將行掃描使能控制信號en 不斷賦給一個8 位二進制變量reg8 ,再將reg8 賦給8 位二進制信號key ,實現(xiàn)對按鍵狀態(tài)的記錄,然后通過對key的各位數(shù)值進行與運算,生成防抖控制信號f nq。一旦有按鍵按下,en =‘0’,則即便是按鍵在抖動,key 中至少也有1 位數(shù)值為‘0’,從而使f nq =‘0’。只有當按鍵再次彈起,并且在連續(xù)8 個時鐘周期內不再有新的按鍵按下,key 的數(shù)值全為‘1’,則f nq =‘1’,f nq產(chǎn)生一個上升沿,從而觸發(fā)按鍵數(shù)值信號dat 進入數(shù)值寄存信號temp (32 位二進制數(shù)) 的第0 ~ 3 位, 并將temp 原來的第0~27 位左移到第4~31 位,實現(xiàn)1 次按鍵按下的數(shù)值存儲。進程P4 和P5 的代碼如下:

進程P6 用于將數(shù)值寄存信號temp 的32 位二進制數(shù)分配給8 個數(shù)碼管,從而生成數(shù)碼管地址掃描輸出scan ,以及數(shù)碼管數(shù)值信號data (4 位2 進制數(shù)) 。進程P6 代碼如下:

進程P7 用于將數(shù)碼管數(shù)值信號data 譯碼成為7 段數(shù)碼管顯示輸出seg7 ,進程P7 的代碼在此不再贅述。值得注意的是,本文設計的矩陣鍵盤及顯示電路在按鍵防抖和數(shù)據(jù)寄存部分設計得更加簡潔可靠,實現(xiàn)的功能更加強大,其具有如下特點:

(1) 為了實現(xiàn)按鍵防抖,本文采用對按鍵狀態(tài)連續(xù)記錄的方式,即在按鍵彈起后連續(xù)8 個時鐘周期均無按鍵信號才確認1 次按鍵有效,從而避免了按鍵按下和彈起過程中的數(shù)據(jù)抖動,相比于使用計數(shù)器從按鍵按下開始計數(shù), 直到5 ~ 10 ms 后才讓按鍵有效的防抖方式 ,這里設計的按鍵防抖更加可靠,且可有效避免長時間按下按鍵產(chǎn)生的重復數(shù)據(jù)輸出,使每次按鍵無論時間長短均可且只會產(chǎn)生1 次數(shù)據(jù)輸出。另外,當電路采用32 768 Hz 以上的時鐘作為系統(tǒng)時鐘時,可以通過增加按鍵狀態(tài)連續(xù)記錄的時鐘周期數(shù),實現(xiàn)可靠的防抖。

(2) 該設計采用一個32 位一維數(shù)組temp 作為數(shù)據(jù)寄存器,使用移位寄存方式,實現(xiàn)了對連續(xù)8 次按鍵數(shù)據(jù)的存儲和調用,從而可以在8 個數(shù)碼管上連續(xù)顯示數(shù)據(jù)。

3 仿真結果分析

本文設計的矩陣鍵盤及顯示電路在Quartus Ⅱ開發(fā)環(huán)境下進行了仿真驗證。其中,按鍵防抖功能的仿真波形如圖3 所示。仿真結果分析如下:

(1) clk 為時鐘輸入信號,作為系統(tǒng)時鐘;

(2) start 為清零控制端,當其為高電平時,按鍵有效;

(3) kbrow 為列掃輸入信號,kbcol 為行掃輸出信號,圖3 中對kbrow[ 1 ]的輸入波形進行設置,模擬了“A”鍵按下和彈起的過程;

(4) f nq 為防抖控制信號, scan 為數(shù)碼管地址掃描輸出,seg7 為數(shù)碼管顯示輸出。由圖3 可知,只有在按鍵彈起后,才有數(shù)據(jù)輸出,從而實現(xiàn)防抖功能。

圖3 矩陣鍵盤及顯示電路按鍵防抖仿真波形

該設計的其他功能也可以通過仿真驗證, 不再贅述。

4 結語

本文設計矩陣鍵盤及顯示電路在Quartus Ⅱ開發(fā)環(huán)境下進行仿真驗證后,下載到湖北眾友科技實業(yè)股份有限公司的ZY11EDA13BE 實驗箱中進行了硬件驗證。該實驗箱使用ACEX1K系列EP1K30QC208 芯片作為核心芯片。實驗證明,當電路的系統(tǒng)時鐘頻率在1 024~32 768 Hz范圍內時,電路均可穩(wěn)定運行,按鍵防抖可靠、功能完整。當系統(tǒng)時鐘頻率低于1 024 Hz 時,需要減少防抖記錄時鐘周期的個數(shù),否則容易錯過短時按鍵動作;當系統(tǒng)時鐘頻率高于32 768 Hz 時,需要增加防抖記錄時鐘周期的個數(shù),以確??煽康陌存I防抖。

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

EDA(電子設計自動化)技術可以應用于顯示應用的不同方面。以下是一些主要的實現(xiàn)方式: PCB設計:在電子系統(tǒng)中,印刷電路板(PCB)是用于承載和連接各種電子元件的關鍵部件。在PCB上,可以焊接和配置電子元件,以實現(xiàn)電子...

關鍵字: EDA技術 電路設計

回顧EDA產(chǎn)業(yè)大致經(jīng)歷了三個發(fā)展階段:20世紀80年代前的計算機輔助設計(CAD)時代,20世紀80年代的計算機輔助工程(CAED)時代和20世紀90年代后的電子系統(tǒng)設計自動化(EDA)時代。近年來,隨著云計算在各行各業(yè)...

關鍵字: EDA技術 云計算

EDA是電子設計自動化(Electronic Design Automation)的縮寫,它代表了電子設計的自動化流程。EDA技術利用計算機輔助設計(CAD)軟件,來完成超大規(guī)模集成電路(VLSI)芯片的功能設計、綜合、...

關鍵字: EDA技術 通信系統(tǒng)

EDA(電子線路設計座自動化)是以計算機為工作平臺、以硬件描述語言(VHDL)為設計語言、以可編程器件(CPLD/FPGA)為實驗載體、以ASIC/SOC芯片為目標器件、進行必要元件建模和系統(tǒng)仿真電子產(chǎn)品自動化設計過程。...

關鍵字: EDA技術 數(shù)字電路

EDA 作為現(xiàn)代電子設計的核心, 以大規(guī)??删幊踢壿嬈骷?FPGA/COLD)為載體,以計算機為工作平臺,在 EDA 軟件開發(fā)環(huán)境下,采用硬件描述語言 HDL(Hardware Description Language)...

關鍵字: EDA技術 數(shù)字電路

EDA是電子設計自動化(Electronics Design Automation)的縮寫,EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言VerilogHDL完成設計文件,然后由計算機自動地完成邏...

關鍵字: EDA技術 EDA應用

數(shù)字頻率是指數(shù)字化信號中重復發(fā)生的周期性事件的數(shù)量。在數(shù)字信號處理中,頻率通常被表示為離散的樣本頻率,單位為赫茲(Hz)。數(shù)字頻率是指數(shù)字信號中每秒相繼重復的樣本數(shù)。例如,如果一個數(shù)字信號每秒鐘重復了1000次樣本,那么...

關鍵字: EDA技術 數(shù)字頻率計

EDA代表了當今電子設計技術的最新發(fā)展方向,利用EDA工具電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng)大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出IC版圖或PCB版圖的整個過程在計算機上...

關鍵字: EDA技術 計算機系統(tǒng)

EDA(Electronic Design Automation)技術,即電子設計自動化,是電子設計與制造技術發(fā)展中的核心,用于支持從電路設計到布局和布線的整個過程。EDA技術的發(fā)展歷程可以追溯到20世紀70年代,當時由...

關鍵字: EDA技術 eda發(fā)展歷程

EDA技術是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產(chǎn)品的自動設計。具體來說,EDA技術利用各種計算機輔助設計(CAD)軟件,完成超大規(guī)模集成電路(VLSI)芯片的功...

關鍵字: EDA技術 EDA發(fā)展趨勢
關閉