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