<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CPLD的專用鍵盤接口芯片的方案設(shè)計

          基于CPLD的專用鍵盤接口芯片的方案設(shè)計

          作者: 時間:2010-08-10 來源:網(wǎng)絡(luò) 收藏

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

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


          4 鍵盤的實現(xiàn)

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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();