<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 專(zhuān)用鍵盤(pán)接口芯片的一種CPLD實(shí)現(xiàn)方案

    時(shí)間:2024-10-04 09:46:15 理工畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    專(zhuān)用鍵盤(pán)接口芯片的一種CPLD實(shí)現(xiàn)方案

    摘要:對(duì)用于單片機(jī)的鍵盤(pán)子系統(tǒng)的專(zhuān)用鍵盤(pán)接口芯片進(jìn)行功能分析,就芯片中核心部件的時(shí)序設(shè)計(jì)進(jìn)行狀態(tài)描述,并利用可編程邏輯技術(shù)和原理輸入方式對(duì)鍵盤(pán)接口芯片的內(nèi)部結(jié)構(gòu)加以實(shí)現(xiàn)。

    在單片機(jī)應(yīng)用系統(tǒng)中,存在多種形式的外部數(shù)據(jù)輸入接口界面,例如RS-232C串行通信、鍵盤(pán)輸入等[1,4]。其中利用鍵盤(pán)接口輸入數(shù)據(jù),是實(shí)現(xiàn)現(xiàn)象實(shí)時(shí)調(diào)試、數(shù)據(jù)調(diào)整和控制最常用的方法。單片機(jī)的外圍鍵盤(pán)擴(kuò)展電路有多種實(shí)現(xiàn)方式,例如直接利用I/O接口線或外接8255A接口芯片,配合適當(dāng)?shù)慕涌诠芾沓绦,就可以?shí)現(xiàn)外圍鍵盤(pán)擴(kuò)展功能。但是,在這些方法中,鍵盤(pán)擴(kuò)展電路需要占用單片機(jī)的資源對(duì)按鍵進(jìn)行監(jiān)控和處理,這對(duì)要求高實(shí)時(shí)性處理的單片機(jī)系統(tǒng)是不實(shí)現(xiàn)的。為了解決這一問(wèn)題,可以使用專(zhuān)用鍵盤(pán)接口芯片(例如Intel8279)[2]來(lái)組建鍵盤(pán)子系統(tǒng)。而且,這類(lèi)專(zhuān)用鍵盤(pán)接口芯片在使用靈活性方面尚有欠缺,尤其當(dāng)用戶需要實(shí)現(xiàn)某些特定功能時(shí),其缺點(diǎn)更為明顯。針對(duì)上述問(wèn)題,本文提出一種利用復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)設(shè)計(jì)技術(shù)[3]實(shí)現(xiàn)專(zhuān)用鍵盤(pán)接口芯片的方案。

    1 系統(tǒng)原理

    圖1是單片機(jī)系統(tǒng)中鍵盤(pán)子系統(tǒng)的構(gòu)成原理框圖。其中鍵盤(pán)接口芯片KB-CORE是該子系統(tǒng)的核心部分,它應(yīng)具備如下功能:第一,產(chǎn)生按鍵掃描時(shí)序,并進(jìn)行硬件去抖動(dòng)。如果直按鍵按下,實(shí)現(xiàn)按鍵編碼、中斷處理等功能。第二,可以區(qū)分處理數(shù)字鍵和功能鍵。數(shù)字鍵鈄由接口芯片暫存,而當(dāng)功能鍵被按下時(shí)申請(qǐng)CPU中斷處理;對(duì)多個(gè)按鍵同時(shí)按下,按一定的編碼優(yōu)先級(jí)處理。第三,提供與MCS-51系列單片機(jī)兼容的接口,單片機(jī)可以讀取芯片中保存的數(shù)據(jù)或功能代碼。第四,提供數(shù)據(jù)顯示接口,可以直接驅(qū)動(dòng)4位七段LED數(shù)碼管,并進(jìn)行動(dòng)態(tài)掃描顯示。

    按鍵根據(jù)鍵盤(pán)子系統(tǒng)的服務(wù)對(duì)象擬設(shè)置子數(shù)字鍵(0~9)、功能鍵(ROW、COL、DAT)、清零鍵(CLR)共14個(gè),排成4×4的矩陣,有兩個(gè)未定義。

    2 專(zhuān)用鍵盤(pán)接口芯片功能結(jié)構(gòu)設(shè)計(jì)

    根據(jù)上述專(zhuān)用鍵盤(pán)芯片KB-CORE的功能要求,圖2示出本芯片內(nèi)部應(yīng)有的結(jié)構(gòu)框圖。其工作原理如下:(1)鍵盤(pán)掃描控制及編碼電路中內(nèi)含一個(gè)環(huán)形計(jì)數(shù)器。該計(jì)數(shù)器計(jì)數(shù)輸出至KSL[0~3]端作為鍵盤(pán)掃描信號(hào)。每當(dāng)掃描信號(hào)發(fā)生變化時(shí),鍵盤(pán)掃描控制器從KRL[0~3]端讀入某一行按鍵的狀態(tài)信號(hào)。如果沒(méi)有按鍵被按下,則掃描下一行;如果有按鍵被按下,則控制器鎖定被掃描行,并延遲約10ms去抖動(dòng),然后再次掃描被鎖定行以確定按鍵是否誤讀。如果按鍵被證實(shí)按下,則一直等待直至用戶松開(kāi)該鍵。與此同時(shí),數(shù)字鍵碼將被保存到先進(jìn)先出存儲(chǔ)器,功能鍵則直接產(chǎn)生中斷請(qǐng)求信號(hào)IRQ,通知CPU讀取鍵碼DBO[0~7]。(2)FIFORAM中數(shù)據(jù)容量為16位。每4位對(duì)應(yīng)一個(gè)字形符,所以七段LED數(shù)碼管需要4位。(3)掃描發(fā)生器一方面產(chǎn)生LED的位選信號(hào)DSL[0~3],另一方面產(chǎn)生掃描顯示輸出控制電路的位數(shù)據(jù)選通信號(hào)。掃描顯示輸出控制電路根據(jù)位數(shù)據(jù)選通信號(hào)讀取FIFO RAM中相對(duì)應(yīng)的數(shù)據(jù),然后送七段譯碼電路輸出DP[0~6]驅(qū)動(dòng)LED顯示屏的段選信號(hào)電極。(4)接口控制電路一方面用來(lái)識(shí)別CPU的讀時(shí)序;另一方面用來(lái)對(duì)地址信號(hào)線A1A0譯碼,實(shí)現(xiàn)對(duì)輸出數(shù)據(jù)的選擇。若A0A1=“00”,則輸出FIFO RAM中的低字節(jié)數(shù)據(jù);若A0A1=“01”,則輸出FIFO RAM中的高字節(jié)數(shù)據(jù);若A0A1=“10”,則輸出控制數(shù)據(jù)(表明ROW、COL、DAT中哪一個(gè)被按下);若A0A1=“11”,則不輸出FIFO RAM中的任何數(shù)據(jù)。

    3 專(zhuān)用鍵盤(pán)接口芯片核心部分的狀態(tài)描述與實(shí)現(xiàn)

    為了實(shí)現(xiàn)上述專(zhuān)用鍵盤(pán)接口芯片功能結(jié)構(gòu),利用可編程邏輯技術(shù)對(duì)各個(gè)功能塊進(jìn)行邏輯的序描述和實(shí)現(xiàn)。由于鍵盤(pán)掃描控制和去抖的邏輯時(shí)序設(shè)計(jì)較復(fù)雜并具典型性,因此下面將對(duì)鍵盤(pán)掃描控制和去抖部分的設(shè)計(jì)思想進(jìn)行介紹。

    鍵盤(pán)掃描時(shí)序的基本原理[4]可能用圖3所示的狀態(tài)圖表示。狀態(tài)圖的輸入變量為RST(復(fù)位)、KEY-PRESS(有按鍵)、TIMER-OVER(去抖動(dòng)延時(shí)結(jié)束);輸出變量包括EN-SCAN(掃描行轉(zhuǎn)移)、EN-CODED(鍵盤(pán)編碼啟動(dòng))、START-TIMER(開(kāi)啟去抖動(dòng)延時(shí))。從圖3中知道,狀態(tài)S0→S1→S2為按鍵掃描狀態(tài)鍵,狀態(tài)S3→S4→S5為去抖延時(shí)狀態(tài)鏈,狀態(tài)S6為按鍵保持期。當(dāng)按鍵被按下時(shí),進(jìn)入啟動(dòng)(S3)去抖延時(shí)狀態(tài)鏈;去抖延時(shí)結(jié)束后(S5),若按鍵沒(méi)有按下則恢復(fù)掃描狀態(tài)鍵(S0);若按鍵確認(rèn)被按下則進(jìn)入保持期(S6),并輸出按鍵編碼,維持至按鍵松開(kāi)。

    根據(jù)狀態(tài)圖3和上述的狀態(tài)轉(zhuǎn)移描述,進(jìn)行鍵盤(pán)掃描控制電路的設(shè)計(jì),結(jié)果如圖4所示。其中H3是6位循環(huán)移位寄存器,由時(shí)鐘CLK觸發(fā)實(shí)時(shí)狀態(tài)移位。移位寄存器的輸出Q0~Q5分別代表鍵盤(pán)掃描控制電路的狀態(tài)S0~S6,當(dāng)然它們并非一一對(duì)應(yīng),但實(shí)現(xiàn)的功能相同。值得一提的是,如果專(zhuān)用鍵盤(pán)芯片KB-CORE的外部時(shí)鐘CLK來(lái)自單片機(jī)的ALE信號(hào)(如圖1所示),當(dāng)單片機(jī)時(shí)鐘為6MHz時(shí),則專(zhuān)用鍵盤(pán)芯片KB-CORE的外接時(shí)鐘為1MHz的方波信號(hào),信號(hào)周期為1μs。如果將該時(shí)鐘信號(hào)經(jīng)過(guò)一個(gè)分頻器,使其輸出的信號(hào)周期約為T(mén)clk=1μs×2 12≈4ms,然后再作為H3的時(shí)鐘信號(hào)。這意味著鍵盤(pán)掃描控制電路約4ms掃描一行按鍵。如果H3中的Q2態(tài)沒(méi)有被使用,則可以實(shí)現(xiàn)約8ms的去抖動(dòng)延時(shí)。通過(guò)這樣的設(shè)計(jì),可以免除延時(shí)計(jì)數(shù)器

    專(zhuān)用鍵盤(pán)接口芯片的一種CPLD實(shí)現(xiàn)方案

    【專(zhuān)用鍵盤(pán)接口芯片的一種CPLD實(shí)現(xiàn)方案】相關(guān)文章:

    GPIB接口專(zhuān)用芯片TNT488203-20

    PowerPC和Dallas的時(shí)鐘芯片接口設(shè)計(jì)03-18

    一種專(zhuān)用高速硬盤(pán)存儲(chǔ)設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)03-18

    USB接口芯片F(xiàn)T245AM的原理03-18

    一種用CPLD實(shí)現(xiàn)視頻信號(hào)運(yùn)動(dòng)檢測(cè)的方法03-19

    PCI接口芯片s5935及其應(yīng)用03-19

    簡(jiǎn)易通用型PCI接口的VHDL-CPLD設(shè)計(jì)03-18

    I2C器件接口IP核的CPLD設(shè)計(jì)03-20

    用CPLD實(shí)現(xiàn)單片機(jī)讀寫(xiě)模塊03-20

    主站蜘蛛池模板: 日韩精品系列产品| 国产精品九九九久久九九| 国产精品青草视频免费播放| 91精品日韩人妻无码久久不卡| 婷婷成人国产精品| 亚洲国产另类久久久精品| 亚洲精品无码MV在线观看| 精品亚洲aⅴ在线观看| 91精品国产高清久久久久久io| 无码日韩精品一区二区免费| 精品一区二区三区在线成人| 精品国产网红福利在线观看| 国产精品久久久久久久午夜片| 国产精品视频分类一区| 人精品影院| 欧美成人精品一区二区综合| 亚洲精品国产精品乱码不卡√| 亚洲精品无码激情AV| 国产女主播精品大秀系列| 久久国产精品-久久精品| 精品无码人妻一区二区三区不卡| 91精品久久久久久无码| 亚洲精品国产福利一二区| 99久久久国产精品免费无卡顿| 精品性影院一区二区三区内射| 日韩精品一区二区三区在线观看| 国产香蕉国产精品偷在线| 午夜精品久久久久久久无码| 国产精品无码av在线播放| 91精品婷婷国产综合久久| 午夜国产精品无套| 国产精品莉莉欧美自在线线| 久久99亚洲综合精品首页| 久久亚洲精品无码AV红樱桃| 久久国产精品久久久| 青青草97国产精品免费观看| 国产精品无码A∨精品影院| 国产精品福利在线观看免费不卡 | 99国产精品私拍pans大尺度| 久久久久99精品成人片牛牛影视| 久久久久久亚洲精品不卡|