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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > USB鍵盤特殊功能鍵的實現(xiàn)

          USB鍵盤特殊功能鍵的實現(xiàn)

          ——
          作者:南開大學(xué)信息技術(shù)科學(xué)學(xué)院 李國峰 梁科 郭杰辰 王錦 天津中晶微電子有限公司 馬世亮 時間:2006-10-18 來源:電子產(chǎn)品世界 收藏

          摘要: 本文較為詳盡地介紹了在USB多媒體鍵盤系統(tǒng)中,特殊功能鍵的實現(xiàn)方法。

          關(guān)鍵詞: 通用串行總線;系統(tǒng)特殊功能鍵;用戶特殊功能鍵;報告描述符

          引言

          隨著計算機接口技術(shù)的日新月異,傳統(tǒng)的PS2鍵盤已不再對市場形成壟斷,USB鍵盤正在逐漸擴大市場占有率。與此同時,USB鍵盤也在不斷完善自身的功能,由于傳統(tǒng)的107鍵結(jié)構(gòu)鍵盤已無法滿足用戶的需要,所以帶有特殊功能鍵的USB多媒體鍵盤也就應(yīng)運而生。

          USB

          USB接口具有如下優(yōu)點:即插即用(Plug and Play)的特性,并具有自動檢測的功能;可擴充到127個設(shè)備,支持熱插拔,無需關(guān)閉系統(tǒng)電源;最高可達480Mbps傳輸速率(USB2.0協(xié)議支持,USB1.1協(xié)議最大支持12Mbps),可滿足大多數(shù)設(shè)備的傳輸使用需要。

          USB的數(shù)據(jù)傳輸共有四種類型:(1)控制傳輸;(2)中斷傳輸;(3)批量傳輸;(4)同步傳輸。在USB鍵盤中只用到控制傳輸和中斷傳輸。所有的USB設(shè)備,必須通過系統(tǒng)列舉才可以正常使用。USB協(xié)議規(guī)定幾種必需的描述符:設(shè)備描述符,配置描述符,接口描述符,端點描述符,HID描述符和報告描述符,鍵盤設(shè)備列舉的過程,是設(shè)備根據(jù)自身的具體實際把描述符按主機要求的順序和格式,通過D+和D-兩路差分數(shù)據(jù)線,發(fā)送給主機的根集線器。列舉成功后,設(shè)備管理器中顯示此設(shè)備為人體學(xué)輸入設(shè)備[1]。列舉簡單流程如圖1所示。

          圖1  設(shè)備列舉流程圖

          報告描述符

          一個USB多媒體鍵盤,共包含三種按鍵:普通按鍵,系統(tǒng)特殊功能鍵和用戶特殊功能鍵,其中系統(tǒng)特殊功能鍵有Sleep、Power和Wakeup三個,用戶特殊功能鍵較多,常用的有www, Mail , My Computer等。在USB列舉中,對鍵盤的特殊功能鍵的描述,主要是通過鍵盤的報告描述符(表1,表2)來實現(xiàn)的,即按照USB協(xié)議[2]的要求,將給定的報告描述符發(fā)送給主機,主機通過分析接收到的報告描述符,判斷出鍵盤的按鍵信息,然后實現(xiàn)對按鍵的響應(yīng)。下面給出列舉的報告描述符并詳細說明。

          描述符中0980表示其下的描述符是關(guān)于系統(tǒng)特殊功能鍵,定義頭字節(jié)為02,第二個字節(jié)表示鍵值信息,報告數(shù)值為3,表示有三個不同的健值需要發(fā)送。發(fā)送時,第二字節(jié)每位從低位到高位順序置1,以表示不同鍵值,向主機發(fā)送的數(shù)據(jù)如下:
          POWER:
          00000010 00000001 即02 01
          SLEEP:
          00000010 00000010 即02 02
          WAKEUP:
          00000010 00000100 即02 04
          當按鍵抬起時,向主機發(fā)送零幀:即02 00

          報告描述符中050c,0901表示以下是用戶特殊功能鍵,定義字頭是03,報告長度為8,需要8位即一個字節(jié)來表示所有的鍵值信息。不同的鍵值,是通過對字節(jié)從低到高的8位順序置1來表示,對于我們的報告描述符,按鍵PLAY/PAUSE送入主機的鍵值應(yīng)為:    00000011 00000001 即03 01

          以下列舉三個常用按鍵按下時鍵盤向主機發(fā)送的鍵值:

          WWW:  報告描述符中第六個,送入主機的鍵值應(yīng)把第六位置1,即:
          00000011 00100000  即03 20 

          SEARCH: 報告描述符中第五個,送入主機的鍵值應(yīng)把第五位置1,即:
          00000011 00010000  即03 10 

          MAIL:  報告描述符中第二個,送入主機的鍵值應(yīng)把第二位置1,即:
          00000011 00000010  即03 02

          當按鍵抬起時,向主機發(fā)送零幀:   即03 00

          系統(tǒng)方案

          我們使用Altera公司1K100QC208芯片作為系統(tǒng)的核心芯片,實現(xiàn)鍵盤掃描,編碼,USB接口以及整體系統(tǒng)控制的功能,配以Philips公司的P11A芯片,作為USB設(shè)備的和主機之間的 transceiver,外加一個改裝后的帶特殊功能鍵的鍵盤,組成USB帶特殊功能鍵的鍵盤系統(tǒng)(圖2)。

          圖2  系統(tǒng)實現(xiàn)

          結(jié)語

          通過以上方案,我們按照USB協(xié)議規(guī)定和主機通信,實現(xiàn)了USB多媒體鍵盤特殊功能鍵部分的功能。

          參考文獻:

          1.  “Universal Serial Bus Specification Revision 1.1”,1998
          2.  “Device Class Definition for Human Interface Devices(HID)”,2001



          評論


          相關(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); })();