中心議題:
- 加速度傳感器的性能特點
- 如何配置傳感器來實現(xiàn)特定的應(yīng)用
- 雙中斷配置檢測跌落
- 高通濾波器消除干擾
- 6D模塊檢測空間狀態(tài)
- 單/雙擊加速識別
隨著蘋果iPhone和任天堂Wii游戲機(jī)的流行,加速度傳感器在消費類電子設(shè)備中得到了廣泛的應(yīng)用。例如,筆記本中的跌落保護(hù)、MP4/手機(jī)中的屏幕自動翻轉(zhuǎn)、輕敲手機(jī)掛斷電話以及手機(jī)“翻轉(zhuǎn)靜音”等等。這些應(yīng)用改變了傳統(tǒng)設(shè)備與用戶之間的交互方式,使產(chǎn)品有了更好的用戶體驗。
意法半導(dǎo)體(ST)的微機(jī)械加速度傳感器不僅能夠輸出加速度的數(shù)值,同時集成了很多的功能模塊,可以實現(xiàn)上述的應(yīng)用。我們將以LIS35DE和LIS331DLH芯片內(nèi)部的功能模塊作為線索,介紹加速度傳感器的性能特點,并介紹如何配置傳感器的功能模塊來實現(xiàn)特定的應(yīng)用。
雙中斷配置
跌落保護(hù)對于配置了硬盤的便攜式設(shè)備來說非常重要。該功能在高檔筆記本電腦中的應(yīng)用已經(jīng)非常普遍。三軸加速度傳感器LIS35DE、LIS33DE和LIS331DLH/M/F均能通過中斷管腳并對加速度門檻寄存器進(jìn)行設(shè)置來實現(xiàn)跌落保護(hù)功能。其中,加速度門檻寄存器是用來設(shè)置門檻加速度的寄存器,而中斷設(shè)置寄存器是用來設(shè)置中斷輸出的條件和中斷源判定的寄存器。下面以自由落體檢測為例說明檢測原理和中斷配置方法。
物體如果處于靜止?fàn)顟B(tài),就只受重力加速度的影響,而且物體三個軸上的重力加速度矢量和為1g。
物體如果處于自由落體狀態(tài),理論上在物體的X軸、Y軸和Z軸三個軸上的加速度均為零。而在實際情況中,由于空氣阻力和下落旋轉(zhuǎn)時產(chǎn)生的離心力,三個軸上的加速度矢量和應(yīng)是某一個較小的數(shù)值。
靜止時,物體在三個軸上的加速度不可能同時小于577mg。當(dāng)然,這是一個理論上的上限參考值??紤]到加速度傳感器在0g時的誤差和溫度變化對測量精度的影響,為防止誤觸發(fā),可以將這個門檻值設(shè)定為360mg。如果三個軸上的加速度同時小于360mg,我們就可以認(rèn)為物體處于自由落體狀態(tài),可以觸發(fā)中斷。
需要注意的是,這個門檻值是一個絕對值,并且門檻值對X軸、Y軸和Z軸三個軸都是有效的,因此,我們可以設(shè)置加速度在某一軸上超過門檻值就產(chǎn)生中斷(“或”的關(guān)系)或者加速度在三個軸上都超過門檻值才產(chǎn)生中斷(“與”的關(guān)系)。這樣,在做跌落保護(hù)時,應(yīng)該選擇“與”的關(guān)系作為跌落的判定條件。
LIS35DE和LIS331DLH/M/F能夠提供兩個中斷配置寄存器以及互相獨立的中斷配置寄存器與加速度門檻寄存器。一個中斷信號用于跌落檢測的同時,另一個中斷可以用來設(shè)置為喚醒,即當(dāng)加速度大于設(shè)定的門檻值時,就會產(chǎn)生喚醒中斷。除了上述兩個功能外,還可以把中斷設(shè)定為數(shù)據(jù)更新通知和敲擊檢測等功能。
高通濾波器
iPhone3.0集成了一個新的功能,即只需要晃動手機(jī)就可以取消剛才的操作。如果通過這樣一些簡單的動作來代替按鍵甚至做一些新應(yīng)用,例如搖色子游戲、切換音樂等,就可以使一些常用的功能變得有趣起來。如果采用上述中斷管腳寄存器實現(xiàn)這樣的功能,就會遇到一個問題———重力。
由于重力的存在,用戶不能簡單地在FF_WU_TSH1寄存器中設(shè)置統(tǒng)一的門檻值來作為晃動或者喚醒中斷的判定條件。為此,LIS35DE集成了高通濾波器,能夠濾除緩慢變化或不變的加速度(如重力加速度),并且可以選擇截止頻率,如表1所示。只有變化頻率高于截止頻率的加速度才能通過。
有了高通濾波器以后,通過晃動來切換手機(jī)播放的音樂就變得簡單。具體的原理是,檢測手機(jī)向左、向右晃動時加速度的變化軌跡,以此來定義切換歌曲的順序。當(dāng)向左晃動手機(jī)時(切換至上一首歌),在Y軸上會產(chǎn)生一個較大的加速度,并且加速度的方向是先負(fù)后正。反之,如果向右晃動手機(jī)(切換至下一首歌),在Y軸上的加速度是先正后負(fù)。
在這個應(yīng)用中,高通濾波器去除了重力加速度的影響。在一次有效晃動的時間范圍內(nèi)(如200ms),正向和負(fù)向的加速度都觸發(fā)了中斷,我們即可判定為一次有效晃動;再通過判斷正向加速度和負(fù)向加速度出現(xiàn)的先后順序,我們就可以確定晃動的方向。[page]
6D檢測
圖1 物體在三維空間中的狀態(tài)
在3維空間中,根據(jù)3個軸上正負(fù)方向的不同可以將物體的位置分為6種狀態(tài),分別是上下、左右、前后。如圖1所示。這種空間位置信息對于手持式設(shè)備是很有用的。它不僅能讓使用者了解當(dāng)前設(shè)備的空間狀態(tài),還能在此基礎(chǔ)上開發(fā)出一些新的應(yīng)用,如“翻轉(zhuǎn)靜音”等等。
LIS331DLF/M/H系列加速度傳感器集成6D檢測功能模塊。如果設(shè)備的空間位置發(fā)生了變化它能夠以中斷的形式通知系統(tǒng)。這種功能是靠檢測靜止時重力加速度在各個軸上的分量是否超過一定門檻值來實現(xiàn)的。它允許用戶自己設(shè)定這個門檻值,給用戶很大的靈活性。
XH/YH/ZH分別代表X/Y/Z軸的正方向。XL/YL/ZL分別代表X/Y/Z軸的負(fù)方向。當(dāng)檢測到的加速度在正方向大于門檻值的時候,XH/YH/ZH為1;當(dāng)檢測到的加速度在負(fù)方向小于門檻值的時候,XL/YL/ZL為1。通過讀取中斷狀態(tài)寄存器INTx_SRC,我們可以判定此時設(shè)備的狀態(tài)。
根據(jù)門檻值的不同,用戶可以更精確地定義某些狀態(tài)。以X軸/Y軸為例,為了較為精確地定義位置,可以將門檻值設(shè)置得高一些,這樣在X和Y軸之間會留下一些“死區(qū)”。在“死區(qū)”范圍內(nèi),傳感器不會觸發(fā)6D中斷。只有物體的實際位置更接近用戶定義的區(qū)域時,才會觸發(fā)中斷。這一功能在一些應(yīng)用中可以避免用戶的誤操作。
下面以翻轉(zhuǎn)手機(jī)實現(xiàn)靜音為例,說明檢測原理和6D檢測功能的設(shè)置。由于重力加速度始終存在,平放在桌子上的手機(jī)在Z軸負(fù)方向的(指向地心)加速度為1g,X軸和Y軸上沒有加速度(為零或者很小)。
當(dāng)需要靜音時,將手機(jī)翻轉(zhuǎn)過來,背面朝上放置于桌上。此時X軸和Y軸上仍然沒有加速度,但是重力加速度加在了Z軸的正方向上。通過檢測Z軸正負(fù)方向上的重力加速度,就可以知道手機(jī)當(dāng)前的狀態(tài)。這種方案需要不斷地檢測加速度值,因此占用系統(tǒng)的大量資源。
如果使用6D檢測功能,只需要等待來自Z軸正方向上的中斷就可以識別手機(jī)是否翻轉(zhuǎn),這極大地節(jié)約了系統(tǒng)資源。
單/雙擊識別
諾基亞8800CA手機(jī)除了有“翻轉(zhuǎn)靜音”的功能外,還有雙擊手機(jī)顯示時鐘的功能。其中敲擊的識別可以通過加速度傳感器來實現(xiàn)。LIS35DE集成了識別單擊或雙擊的功能模塊,通過寄存器設(shè)計就可以識別出單擊以及兩次單擊是否符合雙擊的條件。LIS35DE的單雙擊功能由地址為38h~3Fh的寄存器控制,如表2所示。
單擊識別的過程需要滿足兩個條件。一是敲擊產(chǎn)生的加速度值高于門檻值,二是加速度的值高于門檻值,小于CLICK_TimeLimit的數(shù)值要求。當(dāng)敲擊同時滿足這兩個條件時,就可以判定為一次單擊。而大于CLICK_TimeLimit的數(shù)值要求時,則不會有中斷產(chǎn)生。
在檢測出第一次單擊的基礎(chǔ)上,第二次單擊的識別必須滿足CLICK_Latency和CLICK_Windows設(shè)定的條件。只有第二次單擊落在CLICK_Windows時間段內(nèi),才是一次有效的雙擊,否則只能判定為兩次單擊。CLICK_Latency是用來設(shè)定第一次單擊被識別后的功能關(guān)閉時間的,它用來消除噪聲加速度,防止誤觸發(fā)。
而配合CTRL_REG3(22h)寄存器來設(shè)定中斷信號,是通過檢測中斷管腳1或2的輸出狀態(tài),再通過中斷通知的方式實現(xiàn)單雙擊功能的。
休眠模式
便攜類電子設(shè)備對電子元器件的功耗有比較高的要求,因此,意法半導(dǎo)體的LIS35DE可以設(shè)置兩種模式:正常工作模式(<0.5mA)和掉電模式(<1μA)。盡管LIS35DE在正常工作模式下只有小于0.5mA的消耗電流,但是為了獲得更長的待機(jī)時間,可以使LIS35DE進(jìn)入掉電模式來降低功耗。
這兩種工作模式對于大多數(shù)的應(yīng)用已經(jīng)足夠了,但是對于采用加速度傳感器實現(xiàn)喚醒的功能來說,這兩個工作模式就稍顯不足了。因為喚醒功能需要主處理器配置相應(yīng)的寄存器,把LIS35DE從掉電模式喚醒,并且還需要幾十毫秒的等待時間;與此同時,在待機(jī)時0.5mA的電流還是有些大。
例如,在使用加速度傳感器喚醒GPS(全球定位系統(tǒng))時,如果GPS處于靜止?fàn)顟B(tài),沒有加速度變化,GPS的主處理器就進(jìn)入待機(jī)模式;一旦有運動發(fā)生,加速度傳感器感知到加速度的變化,就可發(fā)出中斷信號來喚醒主處理器和LNA。在GPS待機(jī)時,加速度傳感器一直處于工作狀態(tài),不能進(jìn)入掉電模式,否則,加速度傳感器就需要其他器件將其喚醒。
在LIS331DLH/M/F加速度傳感器中,不但具有上述兩種模式,還具有低功耗模式。在該模式下,數(shù)據(jù)的輸出更新頻率可以設(shè)置為0.5Hz/1Hz/2Hz/5Hz,此時消耗電流僅為10μA~60μA,遠(yuǎn)遠(yuǎn)小于LIS35DE正常工作時0.5mA的電流。
在低功耗模式下,加速度傳感器仍然處于工作狀態(tài),但消耗很低的功耗。它不需要被其他器件喚醒。相反,還可以檢測設(shè)備的運動狀態(tài)并在特定條件下喚醒主處理器。這就極大地降低了系統(tǒng)待機(jī)功耗。該器件不但可用于PNS(便攜導(dǎo)航系統(tǒng))的智能運動檢測,還可用于手機(jī)屏幕的動態(tài)點亮應(yīng)用以及一些手機(jī)寵物游戲中。
總體說來,在加速度傳感器上有廣泛的產(chǎn)品組合,為不同的應(yīng)用集成了方便易用的功能模塊。每個功能模塊不僅針對特定的應(yīng)用簡化了軟件設(shè)計,而且功能模塊之間協(xié)調(diào)工作可以完成更復(fù)雜的應(yīng)用。