基於MEMS的無線鼠標設計方案
發布時間:2011-12-01
中心議題:
- 基於MEMS的無線鼠標係統原理與設計
- 基於MEMS的無線鼠標的具體設計方案
解決方案:
- 無線鼠標的發射端設計
- 無線鼠標的接收端設計
- 無線鼠標的節能設計
本文詳細討論了基於微加速度傳感器的MEMS無線鼠標的軟件、硬件設計和係統構成,並給出了Matlab環境下係統的simulink模型和算法,模擬的結果證明:無線鼠標的設計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設計技術,能為進一步研究多維多功能的MEMS輸入設備打下很好的基礎。
1 係統原理與設計
1.1 檢測原理
目前,常見的鼠標有2種,滾輪式和光電式。滾輪式鼠標是靠滾輪的傳動帶動X和Y軸上的譯碼輪轉動,來感測鼠標位移的變化;光電式鼠標是用一個自帶光源的光電傳感器,跟隨鼠標的移動連續記錄它途經表麵的“快照”,這些快照(即幀)有一定的頻率、尺寸和分辨力,而光電鼠標的核心--DSP通過對比這些快照之間的差異從而識別移動的方向和位移量,並將這些位移的信息加以編碼後實時地傳給電腦主機。
而基於MEMSjishudewuxianshubiaoshiyongweijiasuduchuanganqishishiceliangshubiaoyundongdejiasudu,jingguoliangcijifenzhuanhuanweiweiyixinhaochuanshugeizhuji,laikongzhiguangbiaodeyidong,congershixianshubiaodegongneng。
1.2 硬件設計
如圖1所示,整個無線鼠標係統分為2個子係統,遠端子係統和主機端子係統。

圖1 無線鼠標係統結構框圖
遠端子係統由微加速度傳感器、微控製器和nRF2401射頻收發器組成。微加速度傳感器采用美國AD公司生產的ADXL203微傳感器,微控製器采用Atmel公司生產的ATmega 16L微控製器,該微控製器附帶有8路10位可編程的A/D轉換電路,可以實時地將ADXL203加速度傳感器輸出的加速度模擬信號轉換成加速度數字信號。
ADXL203加速度傳感器在加速度為0時輸出電壓為2.5V,為提高A/D轉換的精度,本文利用ATmega 16L內置的差分放大功能,用差分信號將這2.5V電壓給濾掉,並將差分後的電壓信號放大到與A/D轉換的參考電壓相匹配。係統供電采用電器中常見的9V電池,連接一個LM78M05穩壓貼片得到恒定的5V電壓,供各個模塊使用。
主機端子係統由nRF2401射頻收發器,串行傳輸接口芯片和另一個ATmega 16L微控製器組成,其中,RS232串行通信接口芯片采用的是Maxim2IC公司的MAX233芯片,作用是將微控製器輸出的5V TTL/CMOS電平轉換為EIA/TIA-232-E電平,以便與電腦主機進行串行(RS232)通信。
1.3 軟件與算法設計
鼠標在人的操縱下移動,微加速度傳感器便會實時地輸出鼠標運動的加速度大小和方向,ADXL203傳感器的量程為±1.7gn ,電壓靈敏度為1000mV/gn,這個電壓信號經過差分放大5.0/1.7倍後,通過微控製器A/D轉換功能變成與加速度大小對應的數字信號,加速度經過兩次積分,便變成了鼠標移動的位移信號,然後,再經過編碼,並通過nRF2401射頻收發器將位移信號發射出去。
[page]
當加速度傳感器輸出電壓為a時,經A/D轉換得到的數字量大小為

式中[ ]表示取整數;a為加速度傳感器輸出的電壓大小,V。ATmega 16L單片機最大采樣速率可以達到15000次/秒,本文采用1000次/秒;即每1ms采樣一次,每25ms便向電腦報告一次相對的位移改變量,以保證屏幕上鼠標指針運動的精確和平滑,則每一次報告的位移改變量包含25次對加速度采樣的數據。可以采用近似算法來對加速度信號進行二次積分,得到位移信號。
編碼的目的是將X和Y方向的位移改變量,連同鼠標按鍵的實時信息,按照標準的Microsoft鼠(shu)標(biao)協(xie)議(yi)要(yao)求(qiu)的(de)格(ge)式(shi)進(jin)行(xing)編(bian)碼(ma),以(yi)便(bian)最(zui)後(hou)發(fa)送(song)到(dao)主(zhu)機(ji)的(de)信(xin)息(xi)能(neng)夠(gou)被(bei)電(dian)腦(nao)正(zheng)確(que)識(shi)別(bie),從(cong)而(er)使(shi)電(dian)腦(nao)能(neng)正(zheng)確(que)處(chu)理(li)發(fa)送(song)給(gei)它(ta)的(de)位(wei)移(yi)信(xin)號(hao),來(lai)正(zheng)確(que)控(kong)製(zhi)鼠(shu)標(biao)光(guang)標(biao)的(de)移(yi)動(dong)等(deng)動(dong)作(zuo)。表(biao)1表示的即是標準的鼠標協議規定的三字節數據包格式,第1個字節記錄的是左右按鍵的信息和鼠標X,Y位移的最高2個字位的數據,按鍵按下時,對應的位置1,否則,置0;第2和第3個字節分別記錄X和Y方向位移的低6位數據。位移值的範圍取-127~+127,再大的位移改變量會自動溢出。

表1 Microsoft標準鼠標協議數據包格式
2 具體設計方案
2.1 鼠標原理
光學鼠標的核心是一個低分辨率迷你攝像機, 稱為傳感器。瀏覽LED照亮表麵,光從表麵反射回來,通過透鏡采集。大多數鼠標製造商采用可視的紅色LED,有些製造商還生產采用紅外線LED的鼠標。
當(dang)鼠(shu)標(biao)移(yi)動(dong)時(shi),傳(chuan)感(gan)器(qi)會(hui)連(lian)續(xu)拍(pai)攝(she)物(wu)體(ti)表(biao)麵(mian),並(bing)利(li)用(yong)數(shu)字(zi)信(xin)號(hao)處(chu)理(li)來(lai)比(bi)較(jiao)各(ge)個(ge)影(ying)像(xiang),以(yi)決(jue)定(ding)移(yi)動(dong)的(de)距(ju)離(li)和(he)方(fang)向(xiang)。產(chan)生(sheng)的(de)結(jie)果(guo)會(hui)傳(chuan)回(hui)計(ji)算(suan)機(ji),而(er)屏(ping)幕(mu)上(shang)的(de)光(guang)標(biao)會(hui)根(gen)據(ju)這(zhe)些(xie)結(jie)果(guo)來(lai)移(yi)動(dong)。雖(sui)然(ran)光(guang)學(xue)鼠(shu)標(biao)傳(chuan)感(gan)器(qi)幾(ji)乎(hu)可(ke)以(yi)在(zai)任(ren)何(he)一(yi)種(zhong)物(wu)體(ti)表(biao)麵(mian)上(shang)移(yi)動(dong),但(dan)仍(reng)有(you)一(yi)些(xie)表(biao)麵(mian)是(shi)鼠(shu)標(biao)傳(chuan)感(gan)器(qi)無(wu)法(fa)瀏(liu)覽(lan)的(de),例(li)如(ru)鏡(jing)麵(mian)、玻璃表麵、光滑表麵、雜誌及全像攝影表麵。
根據圖1,鼠標可劃分為以下幾個功能部分:
1)位移檢測單元--X、Y雙軸加速度傳感器;
2)按鍵檢測單元;
3)單片機(MCU);
4)藍牙發射芯片;
5)藍牙收發芯片--做接收器(RX);
6)帶USB接口的單片機(USB MCU)。

圖1 基於加速度傳感器無線鼠標的描述
[page]
鼠標具體的工作原理為:鼠標內的單片機實時監測加速度傳感器的移動和按鍵狀態,當鼠標器的狀態發生變化時,單片機讀出按鍵狀態並及時得到當前X/Y坐標移動的位置;接著單片機就將變化的數據按照約定的通信協議將數據打包通過無線收發技術發送到接收端,接收端通過單片機解碼把符合鼠標USB協議的數據包送至PC主機的USB端口;PC中的鼠標驅動程序接收到端口的數據包後將其解碼再傳送給相應的應用軟件,從而完成鼠標器的檢測和控製過程。
2.2 發射端
加(jia)速(su)度(du)傳(chuan)感(gan)器(qi)采(cai)集(ji)加(jia)速(su)度(du)信(xin)號(hao),單(dan)片(pian)機(ji)通(tong)過(guo)軟(ruan)件(jian)實(shi)現(xian)對(dui)加(jia)速(su)度(du)信(xin)號(hao)的(de)二(er)重(zhong)積(ji)分(fen)而(er)轉(zhuan)換(huan)為(wei)位(wei)移(yi)信(xin)號(hao),經(jing)編(bian)碼(ma)處(chu)理(li)至(zhi)藍(lan)牙(ya)發(fa)射(she)芯(xin)片(pian),通(tong)過(guo)天(tian)線(xian)將(jiang)數(shu)據(ju)發(fa)射(she)出(chu)去(qu)。
2.2.1 加速度傳感器電路
采用ADI的低成本、低功耗雙軸單片加速度傳感器 ,其可測量加速度範圍至少在 ±2g 以上 ,可以測量動態加速度(比如振動)和靜態加速度(比如重力加速度),其輸出的占空比是和加速度的大小成一定的線性關係,並且可以直接被單片機(MCU)采樣而不需模數轉換(ADC)。工作周期則可以簡單地通過RSET來調節 ,範圍在0. 5m s到10m s之間。帶寬可以通過調節XFLT和管腳上的電容Cx和Cy來確定, 本方案中選用Cx=Cy= 0.10μF, 故F-3db=50Hz,需要注意的是,加速度傳感器在平動時會在相應的方向產生與加速度相關的輸出,在轉動的時候也是如此 ,本方案中我們假設鼠標在水平麵使用 ,因此我們隻需要一片加速度傳感器就可以解決問題 ,加速度的大小可以通過 T1/ T2 = 11% 3A+ 50%這個線性比例關係獲得 其中 T1表示工作周期中高電平部分的長度 , T2表示整個工作周期的長度 , T1/ T2就是輸出占空比的大小,A 是加速度大小 ,而加速度的方向可以通過其正負性來判定。
2.2.2 占空比輸出解碼
對於每一個軸,傳感器的輸出電路把模擬信號轉變成占空比調製的數字信號,這樣就可以通過MCU 的定時/計數器解碼獲得加速度信息,其大小可以通過下式計算得到:
![]()
由於每個器件存在差異,其 0g輸出和靈敏性會因為溫度、噪聲等原因而不同,為實現高精度測量,0g的偏移量和比例因子必須按照實際測量所得。本方案在TA=25℃,VDD=3V,RSET=125KΩ,中測得:
![]()
為了實現高精度測量,考慮到T2易受溫度漂移的影響,必須周期性地更新T2的平均值。一種新的改進型脈寬調製(PWM)解碼方法是通過占空比調製在X軸和Y軸使用相同的三角形參考波 ,使得每個周期中 T1的中點達到同步 ,這種方法能加快數據傳輸時間,也稱之為高速解碼,X軸和Y軸的占空比輸出如圖2所示。

圖2 X軸和Y軸的占空比輸出
單片機軟件編程實現獲取加速度信息的流程圖如圖3所示。

圖3 ADXL202E高速解碼技術流程圖
[page]
2.2.3 軟件實現獲取位移信號
ruheshixiangaojingqueduqieyiyubianchengdeerzhongjifensuanfashibajiasuduxinhaozhuanhuanweiweiyixinhaodeguanjiansuozai,yongjifendianlulaishixianerzhongjifendewuchajiaoda,yinciniyongruanjianbianchenglaishixianerzhongjifendesuanfa ,並且先在 matlab環境下用動態係統的simulink模型模擬 FFT、辛普生公式等不同的積分算法 ,來進行算法的比較與選擇 ,通過加速度傳感器鼠標的 simulink模型對實際位移和軟件實現的位移信號進行比較,誤差控製在在0.5%以內,滿足鼠標設計要求。
2.2.4 無線鼠標按鍵
鼠標按鍵采用標準開關,每個開關直接連到ATmega16 的通用輸入輸出(GPIO)口, GPIO被bei配pei置zhi成cheng輸shu入ru引yin腳jiao,每mei個ge引yin腳jiao可ke以yi單dan獨du地di選xuan擇ze上shang拉la電dian阻zu,單dan片pian機ji檢jian測ce按an鍵jian操cao作zuo,軟ruan件jian進jin行xing按an鍵jian去qu抖dou處chu理li和he實shi現xian噪zao聲sheng抑yi製zhi功gong能neng,然ran後hou通tong過guo藍lan牙ya芯xin片pian發fa射she出chu按an鍵jian信xin息xi。
2.2.5 藍牙模塊發射芯片
nRF2402是單片2.4 ~2.5GHz射頻發射芯片, 發射器包含頻率合成器、功放、晶體振蕩器和調製器 ,輸出功率和信道選擇很容易通過3-線接口編程實現, 在輸 出功率為-5dBm時電流消耗僅10mA ,內置的ShockBurst技術以及休眠模式用來降低發送數據的電流消耗 ,以延長電池使用壽命 ,並且向pc發送的數據包也應盡可能少(取采樣速率為100采樣點/秒)。ShockBurst技術使用片內先入先出堆棧(FIFO)低速處理數據(10Kbps)而高速發送數據(1Mbps)。
該設計需要一個16MHz的晶體振蕩器和一個外部的EPROM用來固件存儲。固件將使用ShockBurst技術從鼠標發送RF數據包。其中固件必須完成下列任務:
- 裝載地址(ADDR)和有效載荷(PAYLOAD);
- 計算循環冗餘檢查(CRC);
- 添加信息位(PRE);
- 使用ShockBurst技術發送數據包;
- 數據包發送完成回到休眠模式。
2.3 接收端
2.3.1 藍牙收發芯片
接收器是將nRF2401收發芯片配置成接收模式(RX),其性能類似發射芯片,但該芯片采用Duo2Ceiver同步雙通道接收技術,這樣就可以實現鼠標和鍵盤的無線控製(在此我們僅考慮鼠標的使用)。誤差控製其固件必須完成下列任務:
- 當nRF2401作為ShockBurst的接收器時,設置正確的地址和接收到的RF數據包的有效載荷長度;
- 激活RX,並設CE為高;
- 等待200μs後,nRF2401處於等待接收數據狀態;
- 當有效數據包正確的ADDR和CRC信息接收到後,nRF2401去除數據包中的附加信息、地址和循環冗餘檢查位;
- nRF2401通知MCU使DR1設置為高;
- MCU設置CE為低也可能不設置為低 使芯片處於低電流模式;
- MCU以一定的速率記錄有效載荷信息;
當得到有效載荷後nRF2402設置DR1為低。如果CE為高則準備接收新的數據包 ,如果CE為低,則重新開始起始序列。
[page]
2.3.2 PCB天線設計
為實現2.4GHz低功耗射頻器件nRF2401和nRF2402 的小尺寸、易製造和低成本特點,在PCB上選用1/4波長單極天線是一個理想的解決方案。但是如同其他天線一樣 , 1/4 波長單極天線的增益會由於殼體材料、與接地麵(ground p lane)接地麵的尺寸以及PCB天線的寬度和厚度等參數的改變而發生變化,因此單極PCB天線的長度必須的改變而發生變化,因此單極PCB天線的長度必須優化。在本方案中,天線采用標準1.6mm材料,其相對介電常數為4.4,天線的寬度W=1.5 mm,通過計算可得到單極天線周圍物質的介電常數為3.16,從而在該條件下波長為 68.9mm。在PCB基底上選用印製1/4波長單極天線的長度L=17.2 mm ,為了使得天線在 2.4GHz更容易諧振,天線的長度可適當延長,本方案中選天線長度L =22mm的類“┓”型設計,是PCB天線製作較為合理的一種方法,大大節省了PCB板的麵積,同時在規定PCB板麵積的條件下應保證天線的開口端和接地麵之間的距離d盡可能大,實現信號高精度、高增益的準確發射和接收。
2.3.3 帶USB接口的單片機
USB設備具有即插即用、熱插拔等優勢 ,鼠標采用USB接口必將成為一種趨勢,因此我們采用帶USB收發器的單片機CY7C637xx係列。該係列是采用高性能8位精簡指令(RISC)結構,集成了USB串行接口引擎(SIE)的單片機 ,其內置了時鍾振蕩器、計時器、可編程電流驅動以及在每個I/O口線上的上拉電阻,可以用極少量的外部元件和簡單的固件編程實現高性能低成本的人機交互設備(HID)。
軟件部分對接收的RF數據包進行譯碼,並經過處理轉換為符合鼠標USB協議的數據包格式送到PC機,以及完成為實現鼠標功能所需的固件的編寫。當USB器件第一次連到總線,總線供電,D-的上拉電阻報告集線器連接一低速(1.5Mbps)USB器件,主機識別這個USB器件,總線重啟。主機接收到器件的描述符後賦予器件一個新的地址,這樣器件和主機通過這個新的地址進行數據通信。
2.4 節能考慮
單片機可通過軟件選擇省電方式:閑置方式停止CPU的工作 ,而SRAM、定時 /計數器、SPI口及中斷係統繼續工作;diaodianfangshibaoliujicunqideneirong,dantingzhijingzhen,zhongzhixinpiandeqitagongneng,zhizhixiayiciwaibuzhongduanhuoyingjianfuwei。lanyaxinpianzetongguopeizhiteshujicunqi,keshixinpiangongzuozaiShockBurst無線方式,並支持休眠模式和掉電模式,可實現數據的超低功耗傳輸,因此,對於用電池供電的鼠標器發射端無疑延長了其使用時間。
3 結語
本文詳細討論了基於微加速度傳感器的MEMS無線鼠標的軟件、硬件設計和係統構成,並給出了Matlab環境下係統的simulink模型和算法,模擬的結果證明:無線鼠標的設計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設計技術,能為進一步研究多維多功能的MEMS輸(shu)入(ru)設(she)備(bei)打(da)下(xia)很(hen)好(hao)的(de)基(ji)礎(chu)。本(ben)文(wen)選(xuan)擇(ze)硬(ying)件(jian)時(shi),充(chong)分(fen)考(kao)慮(lv)了(le)係(xi)統(tong)向(xiang)多(duo)維(wei)和(he)多(duo)功(gong)能(neng)擴(kuo)展(zhan)的(de)可(ke)能(neng)性(xing),可(ke)以(yi)在(zai)此(ci)二(er)維(wei)鼠(shu)標(biao)的(de)基(ji)礎(chu)上(shang)再(zai)添(tian)加(jia)一(yi)些(xie)器(qi)件(jian),構(gou)成(cheng)功(gong)能(neng)更(geng)多(duo)更(geng)完(wan)善(shan)的(de)MEMS輸入設備,例如:可以再添加一個微加速度傳感器來感測Z軸的加速度,從而實現三維鼠標,可以實現對三維立體旋轉等的控製;也可以利用nRF2401射(she)頻(pin)收(shou)發(fa)器(qi)內(nei)置(zhi)的(de)多(duo)點(dian)通(tong)信(xin)控(kong)製(zhi)的(de)特(te)性(xing),再(zai)多(duo)增(zeng)加(jia)幾(ji)個(ge)接(jie)收(shou)模(mo)塊(kuai),可(ke)以(yi)同(tong)時(shi)控(kong)製(zhi)多(duo)台(tai)主(zhu)機(ji),或(huo)多(duo)增(zeng)加(jia)幾(ji)個(ge)發(fa)射(she)模(mo)塊(kuai),用(yong)幾(ji)個(ge)輸(shu)入(ru)設(she)備(bei)來(lai)控(kong)製(zhi)同(tong)一(yi)台(tai)主(zhu)機(ji),以(yi)適(shi)應(ying)不(bu)同(tong)應(ying)用(yong)場(chang)合(he)的(de)需(xu)要(yao)。
另外,基於MEMS技術的無線鼠標很容易向三維空間使用拓展,這樣就能為很多場合,尤其是作演講時提供很大的方便,具有很大的應用價值。
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall



