你的位置:首頁 > RF/微波 > 正文

基于MEMS的無線鼠標設計方案

發(fā)布時間:2011-12-01

中心議題:

  • 基于MEMS的無線鼠標系統(tǒng)原理與設計
  • 基于MEMS的無線鼠標的具體設計方案

解決方案:

  • 無線鼠標的發(fā)射端設計
  • 無線鼠標的接收端設計
  • 無線鼠標的節(jié)能設計


本文詳細討論了基于微加速度傳感器的MEMS無線鼠標的軟件、硬件設計和系統(tǒng)構成,并給出了Matlab環(huán)境下系統(tǒng)的simulink模型和算法,模擬的結果證明:無線鼠標的設計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設計技術,能為進一步研究多維多功能的MEMS輸入設備打下很好的基礎。

1  系統(tǒng)原理與設計

1.1 檢測原理
目前,常見的鼠標有2種,滾輪式和光電式。滾輪式鼠標是靠滾輪的傳動帶動X和Y軸上的譯碼輪轉動,來感測鼠標位移的變化;光電式鼠標是用一個自帶光源的光電傳感器,跟隨鼠標的移動連續(xù)記錄它途經(jīng)表面的“快照”,這些快照(即幀)有一定的頻率、尺寸和分辨力,而光電鼠標的核心--DSP通過對比這些快照之間的差異從而識別移動的方向和位移量,并將這些位移的信息加以編碼后實時地傳給電腦主機。

而基于MEMS技術的無線鼠標是用微加速度傳感器實時測量鼠標運動的加速度,經(jīng)過兩次積分轉換為位移信號傳輸給主機,來控制光標的移動,從而實現(xiàn)鼠標的功能。

1.2 硬件設計
如圖1所示,整個無線鼠標系統(tǒng)分為2個子系統(tǒng),遠端子系統(tǒng)和主機端子系統(tǒng)。


圖1 無線鼠標系統(tǒng)結構框圖

遠端子系統(tǒng)由微加速度傳感器、微控制器和nRF2401射頻收發(fā)器組成。微加速度傳感器采用美國AD公司生產(chǎn)的ADXL203微傳感器,微控制器采用Atmel公司生產(chǎn)的ATmega 16L微控制器,該微控制器附帶有8路10位可編程的A/D轉換電路,可以實時地將ADXL203加速度傳感器輸出的加速度模擬信號轉換成加速度數(shù)字信號。

ADXL203加速度傳感器在加速度為0時輸出電壓為2.5V,為提高A/D轉換的精度,本文利用ATmega 16L內置的差分放大功能,用差分信號將這2.5V電壓給濾掉,并將差分后的電壓信號放大到與A/D轉換的參考電壓相匹配。系統(tǒng)供電采用電器中常見的9V電池,連接一個LM78M05穩(wěn)壓貼片得到恒定的5V電壓,供各個模塊使用。

主機端子系統(tǒng)由nRF2401射頻收發(fā)器,串行傳輸接口芯片和另一個ATmega 16L微控制器組成,其中,RS232串行通信接口芯片采用的是Maxim2IC公司的MAX233芯片,作用是將微控制器輸出的5V TTL/CMOS電平轉換為EIA/TIA-232-E電平,以便與電腦主機進行串行(RS232)通信。

1.3 軟件與算法設計
鼠標在人的操縱下移動,微加速度傳感器便會實時地輸出鼠標運動的加速度大小和方向,ADXL203傳感器的量程為±1.7gn ,電壓靈敏度為1000mV/gn,這個電壓信號經(jīng)過差分放大5.0/1.7倍后,通過微控制器A/D轉換功能變成與加速度大小對應的數(shù)字信號,加速度經(jīng)過兩次積分,便變成了鼠標移動的位移信號,然后,再經(jīng)過編碼,并通過nRF2401射頻收發(fā)器將位移信號發(fā)射出去。
[page]
當加速度傳感器輸出電壓為a時,經(jīng)A/D轉換得到的數(shù)字量大小為

式中[ ]表示取整數(shù);a為加速度傳感器輸出的電壓大小,V。ATmega 16L單片機最大采樣速率可以達到15000次/秒,本文采用1000次/秒;即每1ms采樣一次,每25ms便向電腦報告一次相對的位移改變量,以保證屏幕上鼠標指針運動的精確和平滑,則每一次報告的位移改變量包含25次對加速度采樣的數(shù)據(jù)??梢圆捎媒扑惴▉韺铀俣刃盘栠M行二次積分,得到位移信號。

編碼的目的是將X和Y方向的位移改變量,連同鼠標按鍵的實時信息,按照標準的Microsoft鼠標協(xié)議要求的格式進行編碼,以便最后發(fā)送到主機的信息能夠被電腦正確識別,從而使電腦能正確處理發(fā)送給它的位移信號,來正確控制鼠標光標的移動等動作。表1表示的即是標準的鼠標協(xié)議規(guī)定的三字節(jié)數(shù)據(jù)包格式,第1個字節(jié)記錄的是左右按鍵的信息和鼠標X,Y位移的最高2個字位的數(shù)據(jù),按鍵按下時,對應的位置1,否則,置0;第2和第3個字節(jié)分別記錄X和Y方向位移的低6位數(shù)據(jù)。位移值的范圍取-127~+127,再大的位移改變量會自動溢出。


表1 Microsoft標準鼠標協(xié)議數(shù)據(jù)包格式

2  具體設計方案

2.1 鼠標原理
光學鼠標的核心是一個低分辨率迷你攝像機, 稱為傳感器。瀏覽LED照亮表面,光從表面反射回來,通過透鏡采集。大多數(shù)鼠標制造商采用可視的紅色LED,有些制造商還生產(chǎn)采用紅外線LED的鼠標。

當鼠標移動時,傳感器會連續(xù)拍攝物體表面,并利用數(shù)字信號處理來比較各個影像,以決定移動的距離和方向。產(chǎn)生的結果會傳回計算機,而屏幕上的光標會根據(jù)這些結果來移動。雖然光學鼠標傳感器幾乎可以在任何一種物體表面上移動,但仍有一些表面是鼠標傳感器無法瀏覽的,例如鏡面、玻璃表面、光滑表面、雜志及全像攝影表面。

根據(jù)圖1,鼠標可劃分為以下幾個功能部分:

1)位移檢測單元--X、Y雙軸加速度傳感器;
2)按鍵檢測單元;
3)單片機(MCU);
4)藍牙發(fā)射芯片;
5)藍牙收發(fā)芯片--做接收器(RX);
6)帶USB接口的單片機(USB MCU)。


圖1 基于加速度傳感器無線鼠標的描述

[page]
鼠標具體的工作原理為:鼠標內的單片機實時監(jiān)測加速度傳感器的移動和按鍵狀態(tài),當鼠標器的狀態(tài)發(fā)生變化時,單片機讀出按鍵狀態(tài)并及時得到當前X/Y坐標移動的位置;接著單片機就將變化的數(shù)據(jù)按照約定的通信協(xié)議將數(shù)據(jù)打包通過無線收發(fā)技術發(fā)送到接收端,接收端通過單片機解碼把符合鼠標USB協(xié)議的數(shù)據(jù)包送至PC主機的USB端口;PC中的鼠標驅動程序接收到端口的數(shù)據(jù)包后將其解碼再傳送給相應的應用軟件,從而完成鼠標器的檢測和控制過程。

2.2 發(fā)射端
加速度傳感器采集加速度信號,單片機通過軟件實現(xiàn)對加速度信號的二重積分而轉換為位移信號,經(jīng)編碼處理至藍牙發(fā)射芯片,通過天線將數(shù)據(jù)發(fā)射出去。

2.2.1 加速度傳感器電路
采用ADI的低成本、低功耗雙軸單片加速度傳感器 ,其可測量加速度范圍至少在 ±2g 以上 ,可以測量動態(tài)加速度(比如振動)和靜態(tài)加速度(比如重力加速度),其輸出的占空比是和加速度的大小成一定的線性關系,并且可以直接被單片機(MCU)采樣而不需模數(shù)轉換(ADC)。工作周期則可以簡單地通過RSET來調節(jié) ,范圍在0. 5m s到10m s之間。帶寬可以通過調節(jié)XFLT和管腳上的電容Cx和Cy來確定, 本方案中選用Cx=Cy= 0.10μF, 故F-3db=50Hz,需要注意的是,加速度傳感器在平動時會在相應的方向產(chǎn)生與加速度相關的輸出,在轉動的時候也是如此 ,本方案中我們假設鼠標在水平面使用 ,因此我們只需要一片加速度傳感器就可以解決問題 ,加速度的大小可以通過 T1/ T2 = 11%  3A+ 50%這個線性比例關系獲得 其中 T1表示工作周期中高電平部分的長度 , T2表示整個工作周期的長度 , T1/ T2就是輸出占空比的大小,A 是加速度大小  ,而加速度的方向可以通過其正負性來判定。

2.2.2 占空比輸出解碼
對于每一個軸,傳感器的輸出電路把模擬信號轉變成占空比調制的數(shù)字信號,這樣就可以通過MCU 的定時/計數(shù)器解碼獲得加速度信息,其大小可以通過下式計算得到:

由于每個器件存在差異,其 0g輸出和靈敏性會因為溫度、噪聲等原因而不同,為實現(xiàn)高精度測量,0g的偏移量和比例因子必須按照實際測量所得。本方案在TA=25℃,VDD=3V,RSET=125KΩ,中測得:

為了實現(xiàn)高精度測量,考慮到T2易受溫度漂移的影響,必須周期性地更新T2的平均值。一種新的改進型脈寬調制(PWM)解碼方法是通過占空比調制在X軸和Y軸使用相同的三角形參考波 ,使得每個周期中 T1的中點達到同步 ,這種方法能加快數(shù)據(jù)傳輸時間,也稱之為高速解碼,X軸和Y軸的占空比輸出如圖2所示。


圖2 X軸和Y軸的占空比輸出

單片機軟件編程實現(xiàn)獲取加速度信息的流程圖如圖3所示。


圖3 ADXL202E高速解碼技術流程圖

[page]
2.2.3 軟件實現(xiàn)獲取位移信號
如何實現(xiàn)高精確度且易于編程的二重積分算法是把加速度信號轉換為位移信號的關鍵所在,用積分電路來實現(xiàn)二重積分的誤差較大,因此擬用軟件編程來實現(xiàn)二重積分的算法 ,并且先在 matlab環(huán)境下用動態(tài)系統(tǒng)的simulink模型模擬 FFT、辛普生公式等不同的積分算法 ,來進行算法的比較與選擇 ,通過加速度傳感器鼠標的 simulink模型對實際位移和軟件實現(xiàn)的位移信號進行比較,誤差控制在在0.5%以內,滿足鼠標設計要求。

2.2.4 無線鼠標按鍵
鼠標按鍵采用標準開關,每個開關直接連到ATmega16 的通用輸入輸出(GPIO)口, GPIO被配置成輸入引腳,每個引腳可以單獨地選擇上拉電阻,單片機檢測按鍵操作,軟件進行按鍵去抖處理和實現(xiàn)噪聲抑制功能,然后通過藍牙芯片發(fā)射出按鍵信息。

2.2.5 藍牙模塊發(fā)射芯片
nRF2402是單片2.4 ~2.5GHz射頻發(fā)射芯片, 發(fā)射器包含頻率合成器、功放、晶體振蕩器和調制器 ,輸出功率和信道選擇很容易通過3-線接口編程實現(xiàn), 在輸 出功率為-5dBm時電流消耗僅10mA ,內置的ShockBurst技術以及休眠模式用來降低發(fā)送數(shù)據(jù)的電流消耗 ,以延長電池使用壽命 ,并且向pc發(fā)送的數(shù)據(jù)包也應盡可能少(取采樣速率為100采樣點/秒)。ShockBurst技術使用片內先入先出堆棧(FIFO)低速處理數(shù)據(jù)(10Kbps)而高速發(fā)送數(shù)據(jù)(1Mbps)。

該設計需要一個16MHz的晶體振蕩器和一個外部的EPROM用來固件存儲。固件將使用ShockBurst技術從鼠標發(fā)送RF數(shù)據(jù)包。其中固件必須完成下列任務:

  • 裝載地址(ADDR)和有效載荷(PAYLOAD);
  • 計算循環(huán)冗余檢查(CRC);
  • 添加信息位(PRE);
  • 使用ShockBurst技術發(fā)送數(shù)據(jù)包;
  • 數(shù)據(jù)包發(fā)送完成回到休眠模式。


2.3 接收端

2.3.1 藍牙收發(fā)芯片
接收器是將nRF2401收發(fā)芯片配置成接收模式(RX),其性能類似發(fā)射芯片,但該芯片采用Duo2Ceiver同步雙通道接收技術,這樣就可以實現(xiàn)鼠標和鍵盤的無線控制(在此我們僅考慮鼠標的使用)。誤差控制其固件必須完成下列任務:

  • 當nRF2401作為ShockBurst的接收器時,設置正確的地址和接收到的RF數(shù)據(jù)包的有效載荷長度;
  • 激活RX,并設CE為高;
  • 等待200μs后,nRF2401處于等待接收數(shù)據(jù)狀態(tài);
  • 當有效數(shù)據(jù)包正確的ADDR和CRC信息接收到后,nRF2401去除數(shù)據(jù)包中的附加信息、地址和循環(huán)冗余檢查位;
  • nRF2401通知MCU使DR1設置為高;
  • MCU設置CE為低也可能不設置為低 使芯片處于低電流模式;
  • MCU以一定的速率記錄有效載荷信息;

當?shù)玫接行лd荷后nRF2402設置DR1為低。如果CE為高則準備接收新的數(shù)據(jù)包 ,如果CE為低,則重新開始起始序列。
[page]
2.3.2 PCB天線設計
為實現(xiàn)2.4GHz低功耗射頻器件nRF2401和nRF2402 的小尺寸、易制造和低成本特點,在PCB上選用1/4波長單極天線是一個理想的解決方案。但是如同其他天線一樣 , 1/4 波長單極天線的增益會由于殼體材料、與接地面(ground p lane)接地面的尺寸以及PCB天線的寬度和厚度等參數(shù)的改變而發(fā)生變化,因此單極PCB天線的長度必須的改變而發(fā)生變化,因此單極PCB天線的長度必須優(yōu)化。在本方案中,天線采用標準1.6mm材料,其相對介電常數(shù)為4.4,天線的寬度W=1.5 mm,通過計算可得到單極天線周圍物質的介電常數(shù)為3.16,從而在該條件下波長為 68.9mm。在PCB基底上選用印制1/4波長單極天線的長度L=17.2 mm ,為了使得天線在 2.4GHz更容易諧振,天線的長度可適當延長,本方案中選天線長度L  =22mm的類“┓”型設計,是PCB天線制作較為合理的一種方法,大大節(jié)省了PCB板的面積,同時在規(guī)定PCB板面積的條件下應保證天線的開口端和接地面之間的距離d盡可能大,實現(xiàn)信號高精度、高增益的準確發(fā)射和接收。

2.3.3 帶USB接口的單片機
USB設備具有即插即用、熱插拔等優(yōu)勢 ,鼠標采用USB接口必將成為一種趨勢,因此我們采用帶USB收發(fā)器的單片機CY7C637xx系列。該系列是采用高性能8位精簡指令(RISC)結構,集成了USB串行接口引擎(SIE)的單片機 ,其內置了時鐘振蕩器、計時器、可編程電流驅動以及在每個I/O口線上的上拉電阻,可以用極少量的外部元件和簡單的固件編程實現(xiàn)高性能低成本的人機交互設備(HID)。

軟件部分對接收的RF數(shù)據(jù)包進行譯碼,并經(jīng)過處理轉換為符合鼠標USB協(xié)議的數(shù)據(jù)包格式送到PC機,以及完成為實現(xiàn)鼠標功能所需的固件的編寫。當USB器件第一次連到總線,總線供電,D-的上拉電阻報告集線器連接一低速(1.5Mbps)USB器件,主機識別這個USB器件,總線重啟。主機接收到器件的描述符后賦予器件一個新的地址,這樣器件和主機通過這個新的地址進行數(shù)據(jù)通信。

2.4 節(jié)能考慮
單片機可通過軟件選擇省電方式:閑置方式停止CPU的工作 ,而SRAM、定時 /計數(shù)器、SPI口及中斷系統(tǒng)繼續(xù)工作;掉電方式保留寄存器的內容,但停止晶振,終止芯片的其他功能,直至下一次外部中斷或硬件復位。藍牙芯片則通過配置特殊寄存器,可使芯片工作在ShockBurst無線方式,并支持休眠模式和掉電模式,可實現(xiàn)數(shù)據(jù)的超低功耗傳輸,因此,對于用電池供電的鼠標器發(fā)射端無疑延長了其使用時間。

3  結語

本文詳細討論了基于微加速度傳感器的MEMS無線鼠標的軟件、硬件設計和系統(tǒng)構成,并給出了Matlab環(huán)境下系統(tǒng)的simulink模型和算法,模擬的結果證明:無線鼠標的設計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設計技術,能為進一步研究多維多功能的MEMS輸入設備打下很好的基礎。本文選擇硬件時,充分考慮了系統(tǒng)向多維和多功能擴展的可能性,可以在此二維鼠標的基礎上再添加一些器件,構成功能更多更完善的MEMS輸入設備,例如:可以再添加一個微加速度傳感器來感測Z軸的加速度,從而實現(xiàn)三維鼠標,可以實現(xiàn)對三維立體旋轉等的控制;也可以利用nRF2401射頻收發(fā)器內置的多點通信控制的特性,再多增加幾個接收模塊,可以同時控制多臺主機,或多增加幾個發(fā)射模塊,用幾個輸入設備來控制同一臺主機,以適應不同應用場合的需要。

另外,基于MEMS技術的無線鼠標很容易向三維空間使用拓展,這樣就能為很多場合,尤其是作演講時提供很大的方便,具有很大的應用價值。

要采購傳感器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉