設備應用于智能遙控器中的設計與實現(xiàn)
USB(Universal Serial Bus,通用串行總線)具有高速度、低成本、低功耗、即插即用和使用維護方便等優(yōu)點,隨著USB應用領域的逐步擴大,USB 設備現(xiàn)在不但是計算機連接外圍設備的標準輸入/輸出,它也成為智能電視連接外圍設備的標準輸入/輸出。HID 是Human Interface Dvices 的縮寫,即人機接口設備, 是USB 協(xié)議中最早提出并支持的一種設備類,也是應用最廣泛的一類USB 設備, 典型的HID 設備有鍵盤和鼠標等。USB 串行總線規(guī)范專門定義了HID 規(guī)范,只要設備符合HID 規(guī)范,就是HID 設備。操作系統(tǒng)自帶了HID 的驅動程序,用戶無需去開發(fā)很麻煩的驅動程序,這使HID 設備能夠與操作系統(tǒng)方便快捷的建立通信。
這些優(yōu)點使得HID 設備在智能電視領域也得到了越來越廣泛的應用,本論文就是研究基于HID 規(guī)范的六軸體感游戲手柄應用于智能遙控器中的設計與實現(xiàn)。
1 工作原理
智能遙控器包括兩部分———遙控器和RF 接收器(Dongle),遙控器端和Dongle 端采用射頻通信協(xié)議進行通信;而Dongle 端通過USB 接口與電視機連接, 它們之間通過USB協(xié)議進行通信。依據(jù)HID 規(guī)范,在Dongle 端模擬出一個具有輸入和輸出功能的HID 體感游戲手柄, 與電視機通過USB協(xié)議進行通信,從而將遙控器和體感游戲手柄合二為一。
Dongle 端與遙控器端對碼成功之后,它們之間就建立了通信。遙控器中體感游戲手柄功能的開啟和關閉主要是通過電視機的反饋信息實現(xiàn)的。按下遙控器端的體感開關鍵時,電視機收到信息立即發(fā)出反饋信息,使遙控器端的體感開關指示亮,體感游戲手柄功能開啟,用戶可用遙控器體驗體感游戲, 電視機會根據(jù)游戲的進度調用遙控器中的傳感器模塊、震動模塊、Audio 模塊,實現(xiàn)遙控器和電視機之間的互動;再按下遙控器端的體感開關鍵時,電視機發(fā)出反饋信息使遙控器端的體感開關指示燈滅,體感游戲手柄功能關閉。
體感游戲手柄的操作方式主要是按鍵和特殊動作。在本系統(tǒng)中, 體感游戲手柄所需的按鍵與遙控器本身的按鍵復用,特殊動作的數(shù)據(jù)轉換成相應的射頻鍵值,當有特殊動作操作時,以按鍵鍵值的形式發(fā)送出去。另外,體感游戲手柄特殊動作的功能可以用于操作智能電視機的TV 部分, 在體感游戲手柄模式下,遙控器通過計算傳感器的數(shù)據(jù),檢測出向左右甩動和向前甩動一下、兩下4 個動作,可作為切換圖片、音樂等使用。比如向右甩為后一曲,向左甩為前一曲,向前為播放暫停,向前快速兩下為退出。
2 系統(tǒng)組成
2.1 硬件系統(tǒng)
智能遙控器有許多功能,這里主要研究體感游戲手柄功能的設計與實現(xiàn)。涉及到的芯片主要有六軸傳感器———三軸加速計(G-Sensor)和三軸陀螺儀(Gyro)與MCU,采用的加速計是ADXL345,陀螺儀是IMU3000,MCU 是IA2E。Dongle 端采用的MCU 也是IA2E。
2.1.1 ADXL345、IMU3000 和IA2E 性能簡介
ADXL345是一款小而薄的超低功耗三軸加速計,分辨率高(13 位),測量范圍達±16 g??赏ㄟ^SPI(3 線或4 線)或I2C 數(shù)字接口訪問,ADXL345 非常適合應用于移動設備。它可以在傾斜檢測應用中測量靜態(tài)重力加速度,還可以測量運動或沖擊導致的動態(tài)加速度。其高分辨率(3.9 mg/LSB),能夠測量不到1.0°的傾斜角度變化。
IMU-3000內建了三軸陀螺儀與數(shù)字運動處理硬件加速引擎,并具有第二條I2C 接口來連接外接數(shù)字加速器,以執(zhí)行完整的六軸融合算法。在應用層面上,將線性及旋轉動作合并為單一的數(shù)據(jù)流。透過整合之融合算法輸出,IMU-3000可減輕系統(tǒng)主處理器的密集運動處理演算,不須頻繁讀取運動感測數(shù)據(jù),使之成為低成本、低功耗的微處理器。
IA2E是SYNIC 公司的無線音頻收發(fā)芯片,包含無線射頻收發(fā)模塊和USB 接口模塊, 其USB 模塊包含一個控制端點,兩個同步端點和一個雙向中斷端點。具有非常強的RF 抗干擾特性。無需任何軟件支持即可通過I2S、USB 等接口連接到電腦、電視、MP3 等設備。
2.1.2 硬件系統(tǒng)設計
在系統(tǒng)設計上, 遙控器和六軸傳感器是兩個分離的模塊, 這樣做的好處是傳感器模塊不影響遙控器的其他功能。
本論文主要介紹一下六軸傳感器模塊與MCU 之間的通信方式和Dongle 端模塊的硬件系統(tǒng)設計。
首先,介紹傳感器模塊與MCU 之間的通信方式。它們之間通過簡單的I2C 通信協(xié)議方式進行通信。具有體感游戲手柄功能的智能遙控器的遙控器端功能模塊框圖如圖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 端。
圖2 傳感器與MCU 之間連接的電路圖
Dongle 端通過射頻收發(fā)模塊與遙控器端進行數(shù)據(jù)傳輸,通過USB 總線與電視機之間進行數(shù)據(jù)傳輸。Dongle 端模塊的硬件電路比較簡單, 功能模塊框圖如圖3 所示, 采用單片機IA2E 作為它的MCU。由于IA2E 中包含了射頻收發(fā)模塊和USB 接口模塊,所以只需要一個MCU 即可。IA2E 集成了USB通訊中的底層協(xié)議, 具有省事的內置固件模式和靈活的外置固件模式,它只是負責數(shù)據(jù)交換,所以單片機程序設計非常簡潔。另外,可以在Dongle 端設計LED 燈電路模塊,不僅美觀,而且可以輔助軟件更好地實現(xiàn)體感游戲手柄的功能, 還可以用來標識電視機的工作狀態(tài),保證Dongle 端做出正確的響應。
圖3 Dongle 端功能模塊框圖
評論