iMouse多功能空中鼠標(biāo)
引言
本文引用地址:http://butianyuan.cn/article/110397.htm目前,計(jì)算機(jī)已經(jīng)在相當(dāng)多的家庭中實(shí)現(xiàn)普及,成為了普通家電的一員。同時(shí),計(jì)算機(jī)也從先前的科學(xué)計(jì)算、辦公等功能更多地向多媒體、娛樂(lè)功能轉(zhuǎn)移,成為家庭的多媒體娛樂(lè)中心。在這種背景下,一系列相關(guān)的計(jì)算機(jī)外延產(chǎn)品也相繼出現(xiàn)。比如電腦分身卡,這種產(chǎn)品可以使兩個(gè)以上用戶同時(shí)使用同一臺(tái)電腦,或者使書(shū)房的電腦同時(shí)也成為家庭中的多媒體娛樂(lè)中心。您只需躺在大廳的沙發(fā)上對(duì)著大屏幕液晶,及高保真環(huán)繞音響,就能體驗(yàn)真正的高清影音生活;或者您可以躺在床上就可以欣賞電影大片或玩一些小游戲。
在這樣的應(yīng)用中,現(xiàn)在的計(jì)算機(jī)輸入設(shè)備就顯得過(guò)時(shí)了。目前最重要的一個(gè)計(jì)算機(jī)輸入設(shè)備――鼠標(biāo),無(wú)論是先前的機(jī)械式的,還是當(dāng)前主流的光電式的,都不能離開(kāi)一個(gè)桌面的使用環(huán)境。當(dāng)我們躺在大廳的沙發(fā)上或躺在床上享受電腦的強(qiáng)大娛樂(lè)功能時(shí),并不希望還得為手中的鼠標(biāo)找一個(gè)平坦且反光度適合的桌面。同時(shí),隨著像wii這樣的游戲控制器的流行,人們已經(jīng)不能滿足于拿著傳統(tǒng)鼠標(biāo)在桌上劃來(lái)劃去這樣的游戲體驗(yàn),對(duì)“空中鼠標(biāo)”這樣靈活、方便、趣味的輸入設(shè)備的需求逐漸形成。
本文設(shè)計(jì)項(xiàng)目就是開(kāi)發(fā)這樣一個(gè)可以離開(kāi)桌面,真正在空中使用的一款鼠標(biāo)產(chǎn)品。
系統(tǒng)方案
此系統(tǒng)的電路原理如圖1所示。電路可分為空中鼠標(biāo)主體電路與接收電路兩個(gè)部分,主體電路由兩節(jié)7號(hào)電池進(jìn)行供電,而接收電路由USB總線進(jìn)行供電。主體電路為時(shí)代民芯公司的MXT8051控制器為核心,實(shí)時(shí)獲取MEMS加速度傳感器與各個(gè)按鍵以及滾輪的狀態(tài)信息,通過(guò)信號(hào)處理技術(shù)進(jìn)行處理后,整合成符合HID報(bào)告規(guī)范的數(shù)據(jù)包格式,傳送給無(wú)線射頻系統(tǒng)模塊。無(wú)線射頻模塊再通過(guò)一定的通訊協(xié)議發(fā)送給空中鼠標(biāo)接收電路。接收電路接收到有效的數(shù)據(jù)包后,通過(guò)USB接口將HID報(bào)告送到計(jì)算機(jī),完成鼠標(biāo)的一次輸入過(guò)程。
同時(shí),MXT8051也控制一些LED,指示鼠標(biāo)的狀態(tài),也使鼠標(biāo)更加美觀。
硬件系統(tǒng)設(shè)計(jì)
從上面的介紹中,可以把整個(gè)硬件系統(tǒng)細(xì)分為以下幾個(gè)主要模塊:鼠標(biāo)主體電路控制模塊、MEMS運(yùn)動(dòng)傳感器模塊、無(wú)線收發(fā)模塊和USB電路模塊。各個(gè)模塊之間相互配合工作。下面,將對(duì)各個(gè)模塊逐一進(jìn)行介紹。
主體電路控制模塊
主體電路的控制模塊以MXT8051微控制器為核心。MXT8051是北京時(shí)代民芯科技有限公司近期推出的一款高性能8位MCU,以高速單指令周期 8051 為核心。電路擁有豐富的外設(shè),包括 PWM、UART、WDT,Timer 等,大容量存儲(chǔ)器,內(nèi)嵌 32Kx8 可在線編程 flash,10 位 AD,8 位 DA,若干OP,36x4 LCD driver、POR、LDO 以及可編程增益放大器(PGA)等模擬電路。電路集成片上調(diào)試系統(tǒng),通過(guò)標(biāo)準(zhǔn)JTAG接口,快速診斷復(fù)雜 SoC,該調(diào)試系統(tǒng)具有不占用任何硬件資源可進(jìn)行全速和單步運(yùn)行、支持硬件斷點(diǎn)、軟件斷點(diǎn)、以及觀察內(nèi)部特殊功能寄存器、程序指針和內(nèi)部 RAM 等功能。
本系統(tǒng)中,使用GPIO口來(lái)捕捉按鍵狀態(tài)。用外部中斷計(jì)數(shù)滾輪轉(zhuǎn)動(dòng),并同時(shí)用GPIO口判斷轉(zhuǎn)動(dòng)的方向。MXT8051控制器中并沒(méi)有SPI接口,這里,使用軟件模擬的方法來(lái)獲得SPI接口,驅(qū)動(dòng)MEMS芯片和CC2400。MXT8051控制器提供了3路PWM輸出,這里采用這3路PWM輸出驅(qū)動(dòng)3個(gè)LED,用以指示鼠標(biāo)的狀態(tài)。此部分電路如圖2所示。
評(píng)論