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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于HID規(guī)范的智能遙控器中的設計1

          基于HID規(guī)范的智能遙控器中的設計1

          作者: 時間:2012-09-09 來源:網(wǎng)絡 收藏
          ; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  2.1.2 硬件系統(tǒng)設計

            在系統(tǒng)設計上, 和六軸傳感器是兩個分離的模塊, 這樣做的好處是傳感器模塊不影響的其他功能。

            本論文主要介紹一下六軸傳感器模塊與MCU 之間的通信方式和Dongle 端模塊的硬件系統(tǒng)設計。

            首先,介紹傳感器模塊與MCU 之間的通信方式。它們之間通過簡單的I2C 通信協(xié)議方式進行通信。具有體感游戲手柄功能的的遙控器端功能模塊框圖如圖1 所示。

          基于HID規(guī)范的智能遙控器中的設計1

          圖1 遙控器端功能模塊框圖

            傳感器模塊與MCU 之間的電路連接方式如圖2 所示。由于傳感器模塊需要3.3 V 的電源, 而遙控器電路板上自帶的電池是5 V 的,所以還需要一個電壓轉換電路。傳感器模塊中的G-sensor 產(chǎn)生X 軸、Y 軸和Z 軸方向的加速度數(shù)據(jù),Gyro產(chǎn)生X 軸、Y 軸和Z 軸方向的角速度數(shù)據(jù)。MCU 通過I2C 總線不斷的輪詢傳感器模塊來獲取這些數(shù)據(jù),并把這些數(shù)據(jù)分析整理成8 個字節(jié)的數(shù)據(jù)包, 再以2.4 GHz 射頻通信協(xié)議打包發(fā)送給Dongle 端。

          基于HID規(guī)范的智能遙控器中的設計1

          圖2 傳感器與MCU 之間連接的電路圖

            Dongle 端通過射頻收發(fā)模塊與遙控器端進行數(shù)據(jù)傳輸,通過USB 總線與電視機之間進行數(shù)據(jù)傳輸。Dongle 端模塊的硬件電路比較簡單, 功能模塊框圖如圖3 所示, 采用單片機IA2E 作為它的MCU。由于IA2E 中包含了射頻收發(fā)模塊和USB 接口模塊,所以只需要一個MCU 即可。IA2E 集成了USB通訊中的底層協(xié)議, 具有省事的內(nèi)置固件模式和靈活的外置固件模式,它只是負責數(shù)據(jù)交換,所以單片機程序設計非常簡潔。另外,可以在Dongle 端設計LED 燈電路模塊,不僅美觀,而且可以輔助軟件更好地實現(xiàn)體感游戲手柄的功能, 還可以用來標識電視機的工作狀態(tài),保證Dongle 端做出正確的響應。

          基于HID規(guī)范的智能遙控器中的設計1

          圖3 Dongle 端功能模塊框圖


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();