設(shè)備應(yīng)用于智能遙控器中的設(shè)計(jì)與實(shí)現(xiàn)
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 的縮寫,即人機(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)程序,用戶無需去開發(fā)很麻煩的驅(qū)動(dòng)程序,這使HID 設(shè)備能夠與操作系統(tǒng)方便快捷的建立通信。
這些優(yōu)點(diǎn)使得HID 設(shè)備在智能電視領(lǐng)域也得到了越來越廣泛的應(yīng)用,本論文就是研究基于HID 規(guī)范的六軸體感游戲手柄應(yīng)用于智能遙控器中的設(shè)計(jì)與實(shí)現(xiàn)。
1 工作原理
智能遙控器包括兩部分———遙控器和RF 接收器(Dongle),遙控器端和Dongle 端采用射頻通信協(xié)議進(jìn)行通信;而Dongle 端通過USB 接口與電視機(jī)連接, 它們之間通過USB協(xié)議進(jìn)行通信。依據(jù)HID 規(guī)范,在Dongle 端模擬出一個(gè)具有輸入和輸出功能的HID 體感游戲手柄, 與電視機(jī)通過USB協(xié)議進(jìn)行通信,從而將遙控器和體感游戲手柄合二為一。
Dongle 端與遙控器端對(duì)碼成功之后,它們之間就建立了通信。遙控器中體感游戲手柄功能的開啟和關(guān)閉主要是通過電視機(jī)的反饋信息實(shí)現(xiàn)的。按下遙控器端的體感開關(guān)鍵時(shí),電視機(jī)收到信息立即發(fā)出反饋信息,使遙控器端的體感開關(guān)指示亮,體感游戲手柄功能開啟,用戶可用遙控器體驗(yàn)體感游戲, 電視機(jī)會(huì)根據(jù)游戲的進(jìn)度調(diào)用遙控器中的傳感器模塊、震動(dòng)模塊、Audio 模塊,實(shí)現(xiàn)遙控器和電視機(jī)之間的互動(dòng);再按下遙控器端的體感開關(guān)鍵時(shí),電視機(jī)發(fā)出反饋信息使遙控器端的體感開關(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 部分, 在體感游戲手柄模式下,遙控器通過計(jì)算傳感器的數(shù)據(jù),檢測(cè)出向左右甩動(dòng)和向前甩動(dòng)一下、兩下4 個(gè)動(dòng)作,可作為切換圖片、音樂等使用。比如向右甩為后一曲,向左甩為前一曲,向前為播放暫停,向前快速兩下為退出。
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??赏ㄟ^SPI(3 線或4 線)或I2C 數(shù)字接口訪問,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 接口來連接外接數(shù)字加速器,以執(zhí)行完整的六軸融合算法。在應(yīng)用層面上,將線性及旋轉(zhuǎn)動(dòng)作合并為單一的數(shù)據(jù)流。透過整合之融合算法輸出,IMU-3000可減輕系統(tǒng)主處理器的密集運(yùn)動(dòng)處理演算,不須頻繁讀取運(yùn)動(dòng)感測(cè)數(shù)據(jù),使之成為低成本、低功耗的微處理器。
IA2E是SYNIC 公司的無線音頻收發(fā)芯片,包含無線射頻收發(fā)模塊和USB 接口模塊, 其USB 模塊包含一個(gè)控制端點(diǎn),兩個(gè)同步端點(diǎn)和一個(gè)雙向中斷端點(diǎn)。具有非常強(qiáng)的RF 抗干擾特性。無需任何軟件支持即可通過I2S、USB 等接口連接到電腦、電視、MP3 等設(shè)備。
2.1.2 硬件系統(tǒng)設(shè)計(jì)
在系統(tǒng)設(shè)計(jì)上, 遙控器和六軸傳感器是兩個(gè)分離的模塊, 這樣做的好處是傳感器模塊不影響遙控器的其他功能。
本論文主要介紹一下六軸傳感器模塊與MCU 之間的通信方式和Dongle 端模塊的硬件系統(tǒng)設(shè)計(jì)。
首先,介紹傳感器模塊與MCU 之間的通信方式。它們之間通過簡(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 通過I2C 總線不斷的輪詢傳感器模塊來獲取這些數(shù)據(jù),并把這些數(shù)據(jù)分析整理成8 個(gè)字節(jié)的數(shù)據(jù)包, 再以2.4 GHz 射頻通信協(xié)議打包發(fā)送給Dongle 端。
圖2 傳感器與MCU 之間連接的電路圖
Dongle 端通過射頻收發(fā)模塊與遙控器端進(jìn)行數(shù)據(jù)傳輸,通過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)體感游戲手柄的功能, 還可以用來標(biāo)識(shí)電視機(jī)的工作狀態(tài),保證Dongle 端做出正確的響應(yīng)。
圖3 Dongle 端功能模塊框圖
評(píng)論