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