《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CPLD的專用鍵盤接口芯片的方案設計
基于CPLD的專用鍵盤接口芯片的方案設計
嵌入式公社
摘要: 基于CPLD的專用鍵盤接口芯片的方案設計,在單片機應用系統中,存在多種形式的外部數據輸入接口界面,例如RS-232C串行通信、鍵盤輸入等[1,4] 。其中利用鍵盤接口輸入數據,是實現現場實時調試、數據調整和控制最常用的方法。單片機的外圍鍵盤擴展電路有多種實
關鍵詞: CPLD 鍵盤接口
Abstract:
Key words :

    在單片機應用系統中,存在多種形式的外部數據輸入接口界面,例如RS-232C串行通信、鍵盤輸入等[1,4] 。其中利用鍵盤接口輸入數據,是實現現場實時調試、數據調整和控制最常用的方法。單片機的外圍鍵盤擴展電路有多種實現方式,例如直接利用I/O接口線或外接8255A接口芯片,配合適當的接口管理程序,就可以實現外圍鍵盤擴展功能。但是,在這些方法中,鍵盤擴展電路需要占用單片機的資源對按鍵進行監控和處理,這對要求高實時性處理的單片機系統是不現實的。

    為了解決這一問題,可以使用專用鍵盤接口芯片(例如Intel8279) [2]來組建鍵盤子系統。然而,這類專用鍵盤接口芯片在使用靈活性方面尚有欠缺,尤其當用戶需要實現某些特定功能時,其缺點更為明顯。針對上述問題,本文提出一種利用復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)設計技術[3]實現專用鍵盤接口芯片的方案。

1 系統原理

    圖1是單片機系統中鍵盤子系統的構成原理框圖。其中鍵盤接口芯片KB-CORE是該子系統的核心部分,它應具備如下功能:第一,產生按鍵掃描時序,并進行硬件去抖動。如果有按鍵按下,實現按鍵編碼、中斷處理等功能。第二,可以區分處理數字鍵和功能鍵。數字鍵將由接口芯片暫存,而當功能鍵被按下時申請CPU中斷處理;對多個按鍵同時按下,按一定的編碼優先級處理。第三,提供與MCS-51系列單片機兼容的接口,單片機可以讀取芯片中保存的數據或功能代碼。第四,提供數據顯示接口,可以直接驅動4位七段LED數碼管,并進行動態掃描顯示。
按鍵根據鍵盤子系統的服務對象擬設置了數字鍵(0~9)、功能鍵(ROW、COL、DAT)、清零鍵(CLR)共14個,排成4×4的矩陣,有兩個未定義。
 


2 專用鍵盤接口芯片功能結構設計

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


3 專用鍵盤接口芯片核心部分的狀態描述與實現

   為了實現上述專用鍵盤接口芯片功能結構,利用可編程邏輯技術對各個功能塊進行邏輯時序描述和實現。由于鍵盤掃描控制和去抖的邏輯時序設計較復雜并具典型性,因此下面將對鍵盤掃描控制和去抖部分的設計思想進行介紹。
 


   鍵盤掃描時序的基本原理[4]可以用圖3所示的狀態圖表示。狀態圖的輸入變量為RST(復位)、KEY-PRESS(有按鍵)、TIMER-OVER(去抖動延時結束);輸出變量包括EN-SCAN(掃描行轉移)、EN-CODED(鍵盤編碼啟動)、START-TIMER(開啟去抖動延時)。從圖3中知道,狀態S0→S1→S2為按鍵掃描狀態鏈,狀態S3→S4→S5為去抖延時狀態鏈,狀態S6為按鍵保持期。當按鍵被按下時,進入啟動(S3)去抖延時狀態鏈;去抖延時結束后(S5),若按鍵沒有按下則恢復掃描狀態鏈(S0);若按鍵確認被按下則進入保持期(S6),并輸出按鍵編碼維持至按鍵松開。

    根據狀態圖3和上述的狀態轉移描述,進行鍵盤掃描控制電路的設計,結果如圖4所示。其中H3是6位循環移位寄存器,由時鐘CLK觸發實現狀態移位。移位寄存器的輸出Q0~Q5分別代表鍵盤掃描控制電路的狀態S0~S6,當然它們并非一一對應,但實現的功能相同。值得一提的是,如果專用鍵盤芯片KB-CORE的外部時鐘CLK來自單片機的ALE信號(如圖1所示),當單片機時鐘為6MHz時,則專用鍵盤芯片KB-CORE的外接時鐘為1MHz的方波信號,信號周期為1μs。如果將該時鐘信號經過一個分頻器,使其輸出的信號周期約為Tclk=1μs×212≈4ms,然后再作為H3的時鐘信號。這意味著鍵盤掃描控制電路約4ms掃描一行按鍵。如果H3中的Q2態沒有被使用,則可以實現約8ms的去抖動延時。通過這樣的設計,可以免除延時計數器,簡化電路。
 


4 專用鍵盤接口芯片的實現

   根據實時數據校正系統的設計要求,使用了34個自定義I/O引腳和PC44封裝的CPLD來實現專用鍵盤接口芯片KB-CORE。芯片型號的選擇依據綜合所需要的宏單元(Macrocells)個數決定。如果借助硬件描述語言VHDL[5]對上述設計進行描述,綜合結果需要約140個宏單元;如果改用原理圖輸入方式,則只需約60個宏單元。因此選用XC9572芯片可以滿足上述專用鍵盤接口芯片KB-CORE的要求。實際使用如圖1和圖2所示,操作結果表明鍵盤接口芯片性能穩定。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品网址在线观看| 亚洲高清在线播放| 黄色综合网站| 国产日韩精品视频一区| 国产精品免费电影| 欧美性天天影院| 欧美色欧美亚洲另类二区| 欧美巨乳在线| 欧美日韩国产影院| 欧美日韩蜜桃| 国产精品高潮呻吟久久| 国产精品xxxxx| 国产精品久久久久9999吃药| 国产精品jvid在线观看蜜臀| 国产精品二区影院| 国产精品久久久久77777| 国产精品福利在线观看网址| 国产精品毛片va一区二区三区| 欧美视频在线观看 亚洲欧| 欧美色中文字幕| 国产精品久久久久永久免费观看| 国产精品久久久久久久久果冻传媒| 国产精品热久久久久夜色精品三区 | 亚洲成在线观看| 亚洲福利在线观看| 亚洲日本免费电影| 99视频日韩| 亚洲在线视频| 久久激情五月婷婷| 久久综合一区二区三区| 欧美国产精品v| 国产精品porn| 国产亚洲va综合人人澡精品| 在线观看国产一区二区| 亚洲全黄一级网站| 中文亚洲视频在线| 欧美专区在线| 日韩视频在线观看免费| 亚洲欧美日韩在线| 久久理论片午夜琪琪电影网| 免费黄网站欧美| 欧美日韩色一区| 国产三级精品三级| 亚洲二区在线观看| 亚洲视频一区在线观看| 欧美在线观看天堂一区二区三区| 亚洲黄色在线看| 亚洲综合三区| 另类尿喷潮videofree| 欧美日韩激情网| 国产欧美亚洲一区| 亚洲激情视频在线播放| 亚洲一区免费观看| 亚洲精品少妇| 亚洲欧美大片| 欧美aⅴ99久久黑人专区| 国产精品久久久久久久app| 韩国一区电影| 在线一区欧美| 亚洲成人在线视频网站| 亚洲一二区在线| 毛片精品免费在线观看| 国产精品成人免费精品自在线观看| 国产综合网站| 中文一区字幕| 亚洲人午夜精品免费| 欧美一区二区性| 欧美日韩xxxxx| 国色天香一区二区| 亚洲视频专区在线| 亚洲精品乱码久久久久久| 性欧美videos另类喷潮| 欧美极品在线视频| 国产最新精品精品你懂的| 夜夜嗨av一区二区三区四区| 久久精品系列| 欧美亚洲视频一区二区| 欧美久久久久中文字幕| 激情欧美一区二区三区| 亚洲欧美久久久久一区二区三区| 日韩亚洲欧美在线观看| 久久久噜噜噜久久中文字免| 国产精品国产亚洲精品看不卡15| 最新日韩精品| 91久久精品网| 久久久噜噜噜久久中文字幕色伊伊| 国产精品theporn88| 亚洲精品国产系列| 亚洲国产精品第一区二区三区| 亚洲综合色在线| 欧美日韩国产成人在线91| 亚洲电影观看| 亚洲国产精品va在线观看黑人| 欧美亚洲综合在线| 国产精品xvideos88| 亚洲每日更新| 亚洲久久成人| 蜜臀av国产精品久久久久| 国产一区导航| 欧美一级专区免费大片| 午夜精品久久久久久久久久久久久 | 亚洲黄色精品| 久久香蕉国产线看观看av| 国产精品呻吟| 亚洲中字在线| 亚洲制服av| 国产精品高潮在线| 一区二区三区三区在线| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国产精品日韩在线| 亚洲午夜精品网| 亚洲欧美日韩中文播放| 国产精品国产三级国产普通话蜜臀| 日韩视频一区二区在线观看| 一区二区三区成人| 欧美日韩一本到| 一区二区三区欧美亚洲| 夜夜嗨av一区二区三区四区| 欧美精品一区二区三| 亚洲精品视频免费| 一本一本久久a久久精品综合妖精| 欧美欧美天天天天操| 亚洲精品一区二区三区福利| 亚洲麻豆av| 欧美日韩国产高清视频| 99精品欧美| 午夜视频久久久| 国产裸体写真av一区二区 | 亚洲福利专区| 欧美不卡在线| 亚洲精品在线免费观看视频| 在线视频你懂得一区| 欧美视频不卡中文| 亚洲尤物在线视频观看| 久久精品一区| 尤物精品在线| 一本色道久久88精品综合| 欧美深夜福利| 亚洲欧美亚洲| 裸体素人女欧美日韩| 亚洲国产三级在线| 亚洲先锋成人| 国产日韩欧美成人| 亚洲福利视频一区| 欧美精品一区视频| 亚洲视频一区二区免费在线观看| 欧美一区二区三区日韩| 狠狠色狠色综合曰曰| 日韩午夜av| 国产精品免费看片| 亚洲成色999久久网站| 欧美美女日韩| 亚洲欧美久久| 欧美成人首页| 亚洲视频欧美在线| 久久久亚洲综合| 日韩视频免费在线| 久久福利资源站| 最新国产成人av网站网址麻豆| 亚洲永久在线观看| 狠狠综合久久av一区二区老牛| 亚洲久色影视| 国产女主播一区二区三区| 亚洲国产天堂久久国产91| 欧美日韩中国免费专区在线看| 香蕉亚洲视频| 欧美激情网站在线观看| 亚洲视频在线观看免费| 乱码第一页成人| 亚洲天堂黄色| 欧美91视频| 午夜在线精品| 欧美日韩精品一区二区三区| 久久国产成人| 国产精品豆花视频| 91久久精品国产91性色tv| 国产精品久久久久av免费| 亚洲激情小视频| 国产区日韩欧美| 亚洲乱码国产乱码精品精| 国产伦精品一区二区三区高清| 亚洲精品欧美| 国产主播喷水一区二区| 亚洲专区在线视频| 亚洲国产高潮在线观看| 久久国产直播| 中国女人久久久| 欧美国产日韩xxxxx| 欧美一区二区三区免费看| 欧美日韩在线精品| 亚洲激情一区二区| 国产午夜一区二区三区| 亚洲一区二区三区四区在线观看| 在线观看亚洲视频| 久久国产婷婷国产香蕉| 亚洲视频国产视频| 欧美区日韩区| 亚洲国产日韩欧美在线动漫| 国产精自产拍久久久久久蜜| 亚洲一级黄色av|