freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的鍵盤接口設(shè)計正文-預(yù)覽頁

2025-07-14 12:31 上一頁面

下一頁面
 

【正文】 ,一種正式注冊產(chǎn)權(quán)的電路設(shè)計)模塊和軟核(soft core)是VHDL的特色,設(shè)計不必各個都從頭再來,只要在更高的層次上把IP模塊利用起來,能達(dá)到事半功倍的效果。正因為VHDL的硬件描述與具體的工藝和硬件結(jié)構(gòu)無關(guān),VHDL設(shè)計程序的硬件實現(xiàn)目標(biāo)器件有廣闊的選擇范圍。行為描述主要指順序語句描述,即通常是指含有進(jìn)程的非結(jié)構(gòu)化的邏輯描述。結(jié)構(gòu)描述:結(jié)構(gòu)描述是基于元件例化或生成語句的應(yīng)用,表示元件間的互連,其風(fēng)格最接近實際的硬件結(jié)構(gòu)。實體的語法格式如下:ENTITY實體名IS [GENERIC (常數(shù)名:數(shù)據(jù)類型[:設(shè)定值])]; []表示可選項; PORT (列出設(shè)計的所有輸入與輸出); END 實體名;2)結(jié)構(gòu)體所有能被仿真的實體都有結(jié)構(gòu)體(ARCHITECTURE)描述,它描述了實體的結(jié)構(gòu)或行為。所謂現(xiàn)場可編程,是指用戶在自己的實驗室內(nèi)編程[10]。不同廠家生產(chǎn)的FPGA在可編程邏輯塊的規(guī)模、內(nèi)部互連線的結(jié)構(gòu)和采用的可編程元件上存在較大的差異,因而實現(xiàn)邏輯塊的規(guī)模、內(nèi)部互連線的結(jié)構(gòu)和采用的可編程元件上存在較大的差異,因而實現(xiàn)邏輯功能的能力也不同。然后隨著電路規(guī)模的不斷增大,工作頻率的不斷提高,將會給電路引入許多分布參數(shù)的影響,而這些影響用軟件模擬的方法較難直接反映出來,所以有必要做硬件仿真。FPGA門陣列中的每個節(jié)點不像CPLD是單獨的門,而是用門、觸發(fā)器等做成的邏輯單元,并在各個單元之間預(yù)先制作了許多連線,所謂編程,就是安排邏輯單元與這些連線之間的關(guān)系,依靠連接點的合適配置,實現(xiàn)各邏輯單元之間的互聯(lián)[11]。它也有自身的局限性,其一就是器件規(guī)模的限制,其二就是單元延遲比較大。在了解FPGA結(jié)構(gòu)特點的基礎(chǔ)上,就可以利用VHDL語言描寫出高效的電路描述實現(xiàn)性能優(yōu)化的電路[12]。描述器件總功能的模塊放在最上層,稱頂層設(shè)計;描述器件最基本功能的模塊放在最低層,稱低層設(shè)計;一般在頂層設(shè)計中采用圖形輸入法來描述模塊連接關(guān)系;在低層設(shè)計中采用HDL文本輸入法描述模塊的邏輯功能。3)項目校驗完成對設(shè)計的功能、時序仿真及進(jìn)行時序分析、寄存器性能分析。2 行列式鍵盤介紹為了減少鍵盤與單片機(jī)接口時所占用I/O口線的數(shù)目,在鍵數(shù)較多時,通常都將鍵盤排列成行列矩陣式,行列式鍵盤又叫矩陣式鍵盤。行列式鍵盤的電路原理圖如圖3所示 圖3 行列式鍵盤電路原理圖按鍵設(shè)置在行列線交叉點,行、列線分別連接到按鍵開關(guān)的兩端。其方法是依次給行線送低電平,檢查列線的輸入。同時還必須有按鍵譯碼電路從keydrv3~keydrv0信號和keyin3~keyin0信號中譯碼出按鍵的鍵值。行列式鍵盤電路的FPGA實現(xiàn)主要解決三個問題,一是如何檢測是否有按鍵按下并防止采集到干擾信號;二是在按鍵閉合時如何防止抖動;三是如何判斷為哪一個按鍵位動作,并對其進(jìn)行譯碼。更短的停留時間是沒有必要的,因為人按鍵的時間大約為10ms,不可能有更快的按鍵動作發(fā)生;另外,更短的停留時間還容易采集到抖動信號,會干擾判斷。該狀態(tài)機(jī)是一個onehot狀態(tài)機(jī),并且輸出值就是狀態(tài)機(jī)的狀態(tài),沒有通過一個邏輯電路來做輸出譯碼。按鍵標(biāo)志產(chǎn)生電路是產(chǎn)生按鍵標(biāo)志信號keypressed的電路。clk在系統(tǒng)中的頻率是最高的,其它時鐘都由有它分頻產(chǎn)生;clk_scan是用于產(chǎn)生掃描信號的時鐘信號的,周期為10ms。functionkey信號是表明按鍵是否為功能鍵(鍵A、B、C、D、E和F為功能鍵)的。該程序中有三個進(jìn)程,第一個進(jìn)程負(fù)責(zé)譯碼,值得注意的是WHEN OTHER語句中有沒有對temp_pressed和keyvalue信號賦值,這相當(dāng)于不改變temp_pressed和keyvalue信號的值,即實現(xiàn)了鎖存輸出。通過采樣后,抖動噪聲被消除。該電路的仿真結(jié)果如圖9所示。它的輸出是周期為100ms的掃描時鐘。這么大的分頻需要仿真時間太久。多輸入的組合邏輯電路中,某些輸入信號在理想情況下應(yīng)該同時發(fā)生變化,但由于延遲路徑不同造成這些輸入信號發(fā)生變化的時間有微小差別(門延遲時間量級),這時得到的輸出信號就會有毛刺,這些毛刺有可能會給下一級電路帶來問題,使得整個系統(tǒng)運(yùn)行不穩(wěn)定。在本例中就是把計數(shù)器從二進(jìn)制碼改為格雷碼(Gray Code)計數(shù)器。本例中就是使用這種方法。圖11 時鐘產(chǎn)生模塊仿真波形圖鍵盤接口電路的頂層電路比較簡單,基本上只是把鍵盤掃描模塊、鍵盤譯碼且按鍵標(biāo)志產(chǎn)生模塊和時鐘產(chǎn)生模塊連接起來,其結(jié)構(gòu)如圖12所示。本文論述了基于FPGA的鍵盤接口設(shè)計,先介紹VHDL和FPGA的相關(guān)知識,然后以行列式鍵盤為例,介紹了行列式鍵盤的基本原理及其電路模塊的劃分,并詳細(xì)敘述了鍵盤掃描電路、鍵盤譯碼電路、按鍵標(biāo)志產(chǎn)生電路、時鐘模塊以及鍵盤頂層電路等四個模塊的原理及實現(xiàn)過程。首先在這里我要感謝我的指導(dǎo)老師劉強(qiáng),他不但給我論文思路上的提示,而且?guī)椭宜鸭舜罅康馁Y料,使我論文的原材料豐富而不復(fù)雜,同時他耐心的指導(dǎo)我們在硬件和軟件方面的知識,才使我的論文比較順利的完成,他淵博的知識,耐心的指導(dǎo),以及務(wù)實的研究態(tài)度,使我深受感動。衷心地祝福每個人事事順心,幸福。 掃描時鐘,周期10ms keydrv: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 CONSTANT s2: STD_LOGIC_VECTOR(3 DOWNTO 0):=1011。 狀態(tài)機(jī)次態(tài)BEGIN狀態(tài)更新進(jìn)程PROCESS(clk_scan)BEGIN IF(clk_scan39。 END IF。 WHEN s2=next_state=s3。END PROCESS。USE 。 掃描輸出clk: IN STD_LOGIC。 有按鍵被按下標(biāo)志functionkey: OUT STD_LOGIC)。6個寄存器SIGNAL q1,q2,q3,q4,q5,q6: STD_LOGIC。 譯碼進(jìn)程PROCESS(temp)BEGINCASE temp IS WHEN11101110=keyvalue=CONV_STD_LOGIC_VECTOR(1,4)。039。 functionkey=39。139。 temp_pressed=39。 WHEN11011110 =keyvalue=CONV_STD_LOGIC_VECTOR(5,4)。039。 functionkey=39。139。 temp_pressed=39。 WHEN10111110 =keyvalue=CONV_STD_LOGIC_VECTOR(9,4)。039。 functionkey=39。139。 temp_pressed=39。 WHEN01111110 =keyvalue=CONV_STD_LOGIC_VECTOR(12,4)。139。 functionkey=39。139。 temp_pressed=39。 WHEN OTHERS = temp_pressed=39。按鍵標(biāo)志產(chǎn)生電路PROCESS(clk_scan)BEGIN IF(clk_scan39。 q2=q1。keypressed_asy=q1 OR q2 OR q3 OR q4。139。keypressed=q5 AND NOT(q6)。USE 。END clk_gen。139。 END IF。event and clk=39。139。 END IF。USE 。 keypressed: OUT STD_LOGIC。ARCHITECTURE rtl OF key IS COMPONENT keysan 鍵盤掃描模塊 port( clk_scan:IN STD_LOGIC。 全局時鐘 clk_scan:OUT STD_LOGIC)。 掃描輸出 clk: IN STD_LOGIC。 有鍵被按下標(biāo)志 functionkey: OUT STD_LOGIC)。 clk_gen1:clk_gen PORT MAP(clk=clk, clk_scan= clk_scan
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1