不可小看的新型智能慣性傳感器
MEMS傳感器正在涌入市場(chǎng),這些傳感器成本效益高,易于集成在場(chǎng)景感知解決方案中,提供有關(guān)其所處場(chǎng)景的重要信息。這種多用途感測技術(shù)有許多用例:MEMS傳感器在穿戴物聯(lián)網(wǎng)設備中用于檢測用戶(hù)活動(dòng)和手勢;工業(yè)MEMS傳感器在工廠(chǎng)維護和故障預測中發(fā)揮重要作用,有助于提高工廠(chǎng)生產(chǎn)效率;MEMS對車(chē)輛安全性和自動(dòng)駕駛發(fā)展至關(guān)重要。
本文引用地址:http://dyxdggzs.com/article/201912/407929.htm傳感器數據應用是許多應用場(chǎng)景的基礎,各種傳感器的大規模應用促使傳感器成本下降。成本降低使同一設備安裝多個(gè)同類(lèi)型傳感器成為可能,隨著(zhù)同類(lèi)型傳感器的數量增多,不同類(lèi)型的傳感器和傳感器總數也在不斷增長(cháng)。為了獲得更可靠的信息,實(shí)現更高質(zhì)量的應用,業(yè)內開(kāi)發(fā)出了傳感器數據融合技術(shù),提高了慣性模塊的應用規模,甚至為更多應用打開(kāi)了大門(mén)。
終端設備應用只有傳感器還不夠,還需要智能單元來(lái)處理信息和理解場(chǎng)景。應用處理器負責讀取數據和處理信息,隨著(zhù)傳感器數量增加,應用處理器的任務(wù)變得更加復雜。同樣,連接傳感器和應用處理器的總線(xiàn)也變得至關(guān)重要,大量的交換數據可能造成數據擁堵,總線(xiàn)性能下降。
最初,有人認為更快的總線(xiàn)和性能更高的處理器可以解決這些問(wèn)題。第二階段是“智能傳感器”一詞被濫用,把通用低功耗處理器從板上移到傳感器內部,做成一個(gè)系統級封裝解決方案,這種通過(guò)增加一個(gè)微控制器的方式有效增加傳感器數量的簡(jiǎn)單方法被稱(chēng)為“智能”。
在設計開(kāi)發(fā)LSM6DSOX時(shí),我們決定不走尋常路,將所有已知應用在概念上分為兩大類(lèi)別:一種是用歸納算法實(shí)現的效果更好的應用;另一種是用演繹算法實(shí)現的效果更符合預期的應用。分析實(shí)際數據模式同時(shí)保持最高統計性能,是我們評估最佳設計方案的方法標準。
最后,為了便于執行演繹算法,我們決定在慣性單元內嵌入一個(gè)有多達16個(gè)有限狀態(tài)機的數字模塊;針對歸納型算法,我們實(shí)現了一個(gè)機器學(xué)習模塊,該模塊能夠與現有人工智能工具互動(dòng),采用監督式機器學(xué)習方法,在傳感器內部對復雜計算進(jìn)行預處理,分類(lèi)器能夠分析實(shí)時(shí)數據,識別活動(dòng)和場(chǎng)景并進(jìn)行分類(lèi),參數和功能具有很高的可配置性。
這種傳感器數據分析專(zhuān)用智能技術(shù)可以執行復雜算法,把很大一部分計算負荷轉交給傳感器處理,使其它設備保持空閑狀態(tài)。通過(guò)這種方式,可以最大程度地降低功耗,減輕通信總線(xiàn)負擔,并最大程度地提高系統的整體能效。
傳感器僅在必要時(shí)才喚醒其它設備和應用處理器,通過(guò)這種方式,可以大幅降低功耗,我們認為,僅LSM6DSOX這些新功能就可以創(chuàng )造出新的應用。
I. 前言
在過(guò)去的十年中,物聯(lián)網(wǎng)應用規模呈指數增長(cháng)。大多數物聯(lián)網(wǎng)應用都涉及在可能沒(méi)有電源的位置測量物理數值。 增裝電源線(xiàn)通常是行不通的,因此,電池是首選供電方案,并且無(wú)線(xiàn)數據傳輸是必選。物聯(lián)網(wǎng)相關(guān)應用至少需要一個(gè)傳感器獲取數據和一個(gè)傳輸媒介發(fā)送數據。電源需要給數據傳輸媒介和傳感器供電。在設計這種類(lèi)應用時(shí),需要在這個(gè)方面做出權衡和取舍:是最大限度延長(cháng)電池續航時(shí)間還是提高數據傳輸頻率?
應用設計者可用一個(gè)在市場(chǎng)上有售的重要工具來(lái)解決這個(gè)折衷難題。這個(gè)工具是一個(gè)精密的計算單元,可以執行參數測量和數據傳輸任務(wù),效果和能效都很好,這樣的計算單元通常是針對低功耗設計的通用微控制器。對于低功耗應用,無(wú)線(xiàn)數據傳輸比其它處理任務(wù)更重要,因此,物聯(lián)網(wǎng)應用設計策略是,如果其它處理任務(wù)允許降低通信速度,則可以將計算單元轉移到物聯(lián)網(wǎng)端。
本文旨在于介紹創(chuàng )新傳感器在降低產(chǎn)品功耗方面取得的新進(jìn)展。意法半導體的新型慣性模塊LSM6DSOX允許將算法處理過(guò)程全部或部分移至傳感器的定制低功耗環(huán)境。這種方法具有廣泛的可配置性,保證廣泛的應用范圍。本文結構如下:第一章介紹一個(gè)創(chuàng )新的嵌入式算法,并結合應用案例說(shuō)明其優(yōu)勢。然后用兩個(gè)章節專(zhuān)門(mén)介紹機器學(xué)習處理。最后一章介紹一個(gè)好用的定制支持軟件,用戶(hù)可以根據需求快速配置軟件,創(chuàng )建新應用。
II. 嵌入式算法方案
如前一章所述,簡(jiǎn)單的物聯(lián)網(wǎng)應用模型包括發(fā)射器/接收器、計算單元、執行器或傳感器和電池。
以智能手環(huán)為例,智能手環(huán)能夠識別用戶(hù)活動(dòng),并輸出相關(guān)活動(dòng)數據:用戶(hù)步行多遠,乘車(chē)多長(cháng)時(shí)間等。當然,智能手環(huán)應具有翻腕顯示日期和時(shí)間的功能。藍牙低功耗系統芯片[4]是執行傳輸和控制的關(guān)鍵組件。該解決方案嵌入了完整的藍牙網(wǎng)絡(luò )處理器和運行應用程序的應用處理器。應用處理器包括低功耗微控制器、用戶(hù)程序NVM存儲器,數據存儲器、編程存儲器(NVM鏡像)以及通信接口(SPI,I2C等)。從下面給出的系統示例可以大致估算出該解決方案的功率預算。這款內置微控制器的“智能”藍牙模塊通常具有不同的功耗模式,下面列出了最常見(jiàn)的模式:
a) 睡眠模式:此模式用于關(guān)閉大多數內部模塊或使其處于低功耗狀態(tài),最大程度地降低功耗。從此模式返回到正常工作模式需要一些時(shí)間(0.5-2 ms)。該模式電流消耗在0.5-2 μA之間。
b) 微控制器工作模式:射頻發(fā)射器/接收器關(guān)閉,微控制器正常工作。 此模式的電流消耗在1-3 mA之間。
c) 射頻收發(fā)模式:設備處于通信連接狀態(tài),功耗為3-20 mA。
我們討論一下智能手環(huán)檢測用戶(hù)活動(dòng)的用例。假設智能藍牙模塊中的微控制器通過(guò)I2C/SPI接口連接慣性模塊,傳感器數據輸出數據速率配置為25 Hz。每當嵌入式16 MHz時(shí)鐘域生成樣本時(shí),微控制器就會(huì )退出睡眠模式,讀取傳感器數據并執行活動(dòng)識別算法。高質(zhì)量的活動(dòng)識別算法用例平均需要4 ms的處理時(shí)間。藍牙傳輸是間歇性的,取決于用戶(hù)要求(一天一次)。
圖1:微控制器從睡眠到喚醒的時(shí)序
圖1顯示了微控制器運行算法時(shí)的占空比時(shí)序。Tstart是微控制器的喚醒時(shí)間,Talgo是算法的執行時(shí)間,Todr是傳感器兩次讀取操作的間隔。
下面是總平均電流ITOT的基本計算公式,其中包含各種主要電流消耗參數:
I T O T = I B U S+I S L E E P+f a l g o*I U C O R E * ( Tst a r t / 2 + T a l g o )
IBUS 是接口總線(xiàn)讀取操作消耗的電流;SPI總線(xiàn)的讀取電流應小于1 μA,I2C總線(xiàn)約在2-5 μA之間。射頻是間歇性傳輸,所以功耗可以忽略不計??紤]到每個(gè)參數取值取其聲明范圍的中間值,最后得到的ITOT為230 μA。
嵌入式算法是經(jīng)過(guò)重新配置的可以實(shí)現“活動(dòng)識別”,工作電流小于8 μA。這里所說(shuō)的嵌入式算法與在微控制器上運行的算法在性能和質(zhì)量上完全相同。嵌入式解決方案的顯著(zhù)優(yōu)勢是在傳感器內部生成可用數據,因此不存在IBUS功耗。此外,嵌入式解決方案完全沒(méi)有微控制器安全退出睡眠狀態(tài)所需的Tstart時(shí)間,當Tstart和 I BUS 兩項參數均為零時(shí),ITOT估算值是200 μA,這意味著(zhù),使用相同公式 f algo *I UCORE*T alg o計算,算法從微控制器遷移到傳感器使功耗降至1/25。
因為意法半導體軟件庫和客戶(hù)需求是已知的,并且是合并在一起的,所以,我們的策略是收集最常見(jiàn)的用例,然后將其分為兩類(lèi)。第一類(lèi)是由非常適合使用有限狀態(tài)機的算法組成,第二類(lèi)基于需要統計分析(基于模式分析)并且可以通過(guò)決策網(wǎng)(樹(shù))有效實(shí)現的應用。針對這兩大類(lèi)應用,我們開(kāi)發(fā)出一個(gè)覆蓋現有算法的“元命令”集,并確保算法具有廣泛的可重新配置性,以處理新的自定義需求。最后一步是算法分析,目的是找到最佳的低功耗且有效的算法定制邏輯。在不影響算法性能的情況下,按照特定應用需求簡(jiǎn)化算法。下面的兩個(gè)章節介紹這兩個(gè)模塊和元數據。
III. 機器學(xué)處理(MLP)
有限狀態(tài)機是利用本身固有的演繹推理特性:從假設開(kāi)始,檢驗達到特定邏輯狀態(tài)的概率。對于運動(dòng)檢測算法,演繹推理是確定一系列事件是否滿(mǎn)足“規則”。這種方法適用于大多數手勢檢測算法,當然,不能全部適用。例如,手機舉起到放下的手勢算法可以完全基于以下事實(shí):手機加速度計檢測到的重力主要是在同一個(gè)軸上,并在一個(gè)時(shí)間序列后,檢測到的重力方向將會(huì )變成相反方向。修改一些參數就可以更改手勢定義,這些參數包括軸定義、閾值和序列持續時(shí)間。步行檢測等運動(dòng)算法幾乎不可能通過(guò)簡(jiǎn)單的狀態(tài)機來(lái)定義,因為變量數量會(huì )急劇增加,傳感器定位、頻率、地形和個(gè)人行為導致感應信號變化很大。從上一個(gè)示例中,可以得出一個(gè)更具一般性的概念:雖然手機舉起到放下的手勢統計方差在一個(gè)人群中是較明顯的,但是可以進(jìn)行演繹推理應用設計;而步行動(dòng)作會(huì )引起廣泛的統計方差,演繹推理方法應該棄用,而采用歸納推理方法。
機器學(xué)習處理的基本原理是允許在芯片上執行數據驅動(dòng)型算法,開(kāi)發(fā)從輸入模式構建模型的能力。在過(guò)去的十年中,互聯(lián)網(wǎng)和物聯(lián)網(wǎng)爆炸式增長(cháng),大量信息產(chǎn)生。 隨著(zhù)數據量急劇增加,數據管理工具也被開(kāi)發(fā)出來(lái),使數據開(kāi)始有應用價(jià)值。MLP解決方案被認為是適合在慣性傳感器上執行數據驅動(dòng)算法。MLP具有很高的可重新配置性,在慣性傳感器領(lǐng)域達到了預期效果,可以在超低功耗環(huán)境執行算法,適用于耗電量大的產(chǎn)品,例如,物聯(lián)網(wǎng)算法。
數據挖掘是機器學(xué)習的一個(gè)重要分支:“數據挖掘是一個(gè)綜合機器學(xué)習、模式識別和統計學(xué)的跨學(xué)科領(lǐng)域 [1-2],其目的是發(fā)現知識。
數據挖掘工具最后生成一個(gè)決策樹(shù),應用設計是從一個(gè)數據模式集合開(kāi)始,以在MLP內核上加載決策樹(shù)結束。用戶(hù)可以用支持軟件管理整個(gè)應用設計過(guò)程,我們將在下一章介紹支持軟件,本章介紹MLP內核背后的基本模塊。
圖4是機器學(xué)習處理內核的整體結構圖。
圖4:MLP內核整體結構圖
從圖中不難看出軟件層和硬件層之間的邊界。該應用設計從傳感器數據模式開(kāi)始,模式是描述MLP內核在運行時(shí)必須理解的知識。以活動(dòng)識別算法為例,MLP從涉及要識別的活動(dòng)(步行,跑步,運動(dòng)的車(chē)輛,無(wú)運動(dòng)等)的模式開(kāi)始運行,目的是直接從傳感器數據推出當前活動(dòng)的結果。最多可以將3個(gè)傳感器的數據配置為算法輸入。陀螺儀和加速度計模塊位于傳感器內部,外部傳感器(例如磁力計)的數據可以通過(guò)嵌入式I2C控制器讀取。輸入傳感器數據由物理傳感器的軸和數值組成(表I)。
表I. MLP的輸入類(lèi)型
可用輸入 | ||||
加速度計 | accX | accY | accZ | 軸 |
accV | accV2 | 幅值 | ||
陀螺儀 | GyX | gyY | gyZ | 軸 |
gyV | gyV2 | 幅值 | ||
外部傳感器 | magX | magY | magZ | 軸 |
magV | magV2 | 幅值 |
要想調理輸入數據,還有多個(gè)可配置濾波器可用,如表II所示。
表II. 內核中的濾波器類(lèi)型
階數 | 類(lèi)型 |
1 | 高通 |
普通IIR | |
2 | 帶通 |
普通IIR |
原始數據和過(guò)濾數據都可以設為特征模塊的輸入,特征模塊執行數據的統計計算,輸出可以配置成多達19個(gè)不同的統計特征。表III中列出了可用特征。主要特征集分為觸發(fā)式和窗口式兩類(lèi),前者是按照特征事件計算的結果,后者是按照固定時(shí)窗間隔統計的結果。盡管所有特征計算結果可以是窗口式或觸發(fā)式特征集,取決于用戶(hù)配置,但只有這些特征的子集才可以生成觸發(fā)信號。
表III:MLP內核的統計特征
特征 | 生成觸發(fā) |
平均值 | 否 |
方差 | 否 |
能量 | 否 |
峰到峰 | 否 |
過(guò)零 | 否 |
過(guò)零觸發(fā)生成 | 是 |
正過(guò)零 | 否 |
正過(guò)零觸發(fā)生成 | 是 |
負過(guò)零 | 否 |
負過(guò)零觸發(fā)生成 | 是 |
峰值檢波器 | 否 |
峰值檢波器觸發(fā)生成 | 是 |
正峰值檢波器 | 否 |
正峰值檢波器觸發(fā)生成 | 是 |
負峰值檢波器 | 否 |
負峰值檢波器觸發(fā)生成 | 是 |
最小值 | 否 |
最大值 | 否 |
時(shí)長(cháng) | 否 |
時(shí)鐘特征 | 是 |
在特征配置結束時(shí),軟件工具(下一章介紹)輸出一個(gè)配置文件和一個(gè)ARFF文件。配置文件安裝在慣性單元上用于配置MLP,ARFF文件用于數據挖掘工具,是與MLP處理器芯片匹配的。數據挖掘工具組建ARFF文件,針對特定應用案例優(yōu)化(或“確定”)選擇最佳的特征集,并輸出決策樹(shù)及相關(guān)統計性能。
在數據挖掘工具處理和反饋后,可以重新處理數據并優(yōu)化特征集。
當統計性能符合期望時(shí),可以通過(guò)意法半導體軟件工具生成的配置文件將決策樹(shù)加載到MLP內核上。
IV. 支持軟件
意法半導體開(kāi)發(fā)出一個(gè)使基于統計學(xué)/機器學(xué)習的方法適合編程的工具,有了這個(gè)工具,設備配置過(guò)程變得輕松快捷。
這個(gè)機器學(xué)習處理配置工具是一個(gè)擴展版的Unico GUI圖形用戶(hù)界面軟件(意法半導體所有MEMS傳感器演示板通用 [5])。Unico軟件連接基于STM32微控制器的主板[5-6],實(shí)現MEMS傳感器與PC GUI之間的通信。該軟件以圖形和數字形式顯示傳感器輸出,并允許用戶(hù)保存或全面管理來(lái)自設備的數據。
Unico軟件允許訪(fǎng)問(wèn)MEMS傳感器寄存器,可以快速配置寄存器,并可以直接在設備上輕松測試配置??梢詫斍凹拇嫫鞯呐渲帽4鏋槲谋疚募?,并可以從現有文件中加載配置。這樣,可以在幾秒鐘內重新設置傳感器。
基于統計/機器學(xué)習的算法要求收集數據日志。使用Unico GUI可以做到這一點(diǎn)。每個(gè)數據日志都必須關(guān)聯(lián)預期結果(例如,靜止,步行,跑步等)。該工具收集這些數據模式用于計算某些特征。
圖8:數據模式表
該工具可為原始數據選擇濾波器,選擇用過(guò)濾數據計算哪些特征,計算結果特征將是決策樹(shù)的屬性。幾個(gè)步驟后,該工具將生成一個(gè)屬性關(guān)系文件(ARFF)。
圖9:配置表
ARFF文件是決策樹(shù)生成過(guò)程的入口。決策樹(shù)可以由不同的機器學(xué)習工具生成。 懷卡托大學(xué)開(kāi)發(fā)的軟件Weka [7]能夠從屬性關(guān)系文件開(kāi)始生成決策樹(shù)。Weka工具可以評估哪些屬性適合決策樹(shù)。通過(guò)更改Weka中所有可用參數,可以實(shí)現不同的決策樹(shù)配置。
圖10:在Weka里的屬性視圖
圖6:Weka中的決策樹(shù)生成
在決策樹(shù)生成后,可以將其上傳到意法半導體的軟件工具,完成MEMS傳感器的寄存器配置。
通過(guò)訪(fǎng)問(wèn)傳感器寄存器,Unico GUI可以讀取決策樹(shù)輸出狀態(tài)。
V. 應用案例
從第二部分介紹的示例開(kāi)始,我們做了一些電流消耗測量,選擇了一個(gè)活動(dòng)識別算法作為示例。該算法的性能在模式數據庫中經(jīng)過(guò)明確評估,而且在普通通用微控制器上運行時(shí)電流消耗約為數百微安。利用上一章介紹的支持軟件,可以輕松地配置MLP內核,運行該活動(dòng)識別算法。
表IV:電流要求
電流 | 增加的電流消耗 |
電流平均值 /μA | |
LSM6DSOx的MLP內核 | 7 |
Cortex-M3 STM32L152RE@32MHz | 240 |
表IV 總結了在Cortex-M3 [8-10]上運行活動(dòng)識別算法的電流要求,以及在LSM6DSOx MLP上運行同一算法增加的電流需求。
VI. 結論
世界網(wǎng)絡(luò )化程度越來(lái)越高:聯(lián)網(wǎng)設備可以交換大量數據。物聯(lián)網(wǎng)應用依賴(lài)于三個(gè)關(guān)鍵模塊:感知、智能和通信。本文介紹了一種高度可配置的嵌入在慣性傳感器中的數字模塊。數字模塊為傳感器增加了智能,可以大幅降低系統級能耗。為了快速開(kāi)發(fā)應用原型,隨硬件一起提供了數字模塊配置支持軟件。上一章的應用案例清楚地表明,數字模塊可大幅降低電流消耗。智能傳感器是賦能電池續航能力至關(guān)重要的新應用的關(guān)鍵技術(shù)。
參考文獻
[1] S. Sumathi and S.N. Sivanandam: Introduction to Data Mining Principles, Studies in Computational Intelligence (SCI) 29, 1–20 (2006).
[2] V. Sze, Y. H. Chen, J. Einer, A. Suleiman and Z. Zhang, "Hardware for machine learning: Challenges and opportunities," 2017 IEEE Custom Integrated Circuits Conference (CICC), Austin, TX, 2017, pp. 1-8.
[3] V. Sze, "Designing Hardware for Machine Learning: The Important Role Played by Circuit Designers," in IEEE Solid-State Circuits Magazine, vol. 9, no. 4, pp. 46-54 , Fall 2017.
[4] STMicroelectronics, “Bluetooth? low energy wireless system-on-chip,” BlueNRG-2 datasheet, November 2017, [DocID030675 Rev 2].
[5] STMicroelectronics Analog Mems Sensor Application Team , Unico GUI User manual, Rev. 5 October 2016.
[6] STMicroelectronics Technical Staff, STEVAL-MKI109V3 Professional MEMS Tool motherboard for MEMS adapter boards, July 2016
[7] Ian H. Witten, Eibe Frank, and Mark A. Hall. 2011. Data Mining: Practical Machine Learning Tools and Techniques (3rd ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[8] STMicroelectronics, “Ultra-low-power 32-bit MCU ARM?-based Cortex-M3 with 512KB Flash, 80KB SRAM, 16KB EEPROM, LCD, USB, ADC, DAC,” STM32L151xE STM32L152xE datasheet, Rev. 9 August 2017.
[9] STMicroelectronics Technical Staff, STM32 Nucleo-64 boards, NUCLEO-XXXXRX NUCLEO-XXXXRX-P data brief, Rev. 10 December 2017.
[10] STMicroelectronics Technical Staff, Sensor and motion algorithm software expansion for STM32Cube , X-CUBE-MEMS1data brief, Rev. 10 November 2017.
評論