在過(guò)去的十年中,物聯(lián)網(wǎng)應(yīng)用規(guī)模呈指數(shù)增長(zhǎng)。大多數(shù)物聯(lián)網(wǎng)應(yīng)用都涉及在可能沒(méi)有電源的位置測(cè)量物理數(shù)值。 增裝電源線通常是行不通的,因此,電池是首選供電方案,并且無(wú)線數(shù)據(jù)傳輸是必選。物聯(lián)網(wǎng)相關(guān)應(yīng)用至少需要一個(gè)傳感器獲取數(shù)據(jù)和一個(gè)傳輸媒介發(fā)送數(shù)據(jù)。電源需要給數(shù)據(jù)傳輸媒介和傳感器供電。在設(shè)計(jì)這種類應(yīng)用時(shí),需要在這個(gè)方面做出權(quán)衡和取舍:是最大限度延長(zhǎng)電池續(xù)航時(shí)間還是提高數(shù)據(jù)傳輸頻率?
應(yīng)用設(shè)計(jì)者可用一個(gè)在市場(chǎng)上有售的重要工具來(lái)解決這個(gè)折衷難題。這個(gè)工具是一個(gè)精密的計(jì)算單元,可以執(zhí)行參數(shù)測(cè)量和數(shù)據(jù)傳輸任務(wù),效果和能效都很好,這樣的計(jì)算單元通常是針對(duì)低功耗設(shè)計(jì)的通用微控制器。對(duì)于低功耗應(yīng)用,無(wú)線數(shù)據(jù)傳輸比其它處理任務(wù)更重要,因此,物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)策略是,如果其它處理任務(wù)允許降低通信速度,則可以將計(jì)算單元轉(zhuǎn)移到物聯(lián)網(wǎng)端。
本文旨在于介紹創(chuàng)新傳感器在降低產(chǎn)品功耗方面取得的新進(jìn)展。意法半導(dǎo)體的新型慣性模塊LSM6DSOX允許將算法處理過(guò)程全部或部分移至傳感器的定制低功耗環(huán)境。這種方法具有廣泛的可配置性,保證廣泛的應(yīng)用范圍。本文結(jié)構(gòu)如下:第一章介紹一個(gè)創(chuàng)新的嵌入式算法,并結(jié)合應(yīng)用案例說(shuō)明其優(yōu)勢(shì)。然后用兩個(gè)章節(jié)專門介紹機(jī)器學(xué)習(xí)處理。最后一章介紹一個(gè)好用的定制支持軟件,用戶可以根據(jù)需求快速配置軟件,創(chuàng)建新應(yīng)用。
嵌入式算法方案
如前一章所述,簡(jiǎn)單的物聯(lián)網(wǎng)應(yīng)用模型包括發(fā)射器/接收器、計(jì)算單元、執(zhí)行器或傳感器和電池。
以智能手環(huán)為例,智能手環(huán)能夠識(shí)別用戶活動(dòng),并輸出相關(guān)活動(dòng)數(shù)據(jù):用戶步行多遠(yuǎn),乘車多長(zhǎng)時(shí)間等。當(dāng)然,智能手環(huán)應(yīng)具有翻腕顯示日期和時(shí)間的功能。藍(lán)牙低功耗系統(tǒng)芯片是執(zhí)行傳輸和控制的關(guān)鍵組件。該解決方案嵌入了完整的藍(lán)牙網(wǎng)絡(luò)處理器和運(yùn)行應(yīng)用程序的應(yīng)用處理器。應(yīng)用處理器包括低功耗微控制器、用戶程序NVM存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器、編程存儲(chǔ)器(NVM鏡像)以及通信接口(SPI,I2C等)。從下面給出的系統(tǒng)示例可以大致估算出該解決方案的功率預(yù)算。這款內(nèi)置微控制器的“智能”藍(lán)牙模塊通常具有不同的功耗模式,下面列出了最常見的模式:
睡眠模式:此模式用于關(guān)閉大多數(shù)內(nèi)部模塊或使其處于低功耗狀態(tài),最大程度地降低功耗。從此模式返回到正常工作模式需要一些時(shí)間(0.5-2 ms)。該模式電流消耗在0.5-2 μA之間。
微控制器工作模式:射頻發(fā)射器/接收器關(guān)閉,微控制器正常工作。 此模式的電流消耗在1-3 mA之間。
射頻收發(fā)模式:設(shè)備處于通信連接狀態(tài),功耗為3-20 mA。
我們討論一下智能手環(huán)檢測(cè)用戶活動(dòng)的用例。假設(shè)智能藍(lán)牙模塊中的微控制器通過(guò)I2C/SPI接口連接慣性模塊,傳感器數(shù)據(jù)輸出數(shù)據(jù)速率配置為25Hz。每當(dāng)嵌入式16 MHz時(shí)鐘域生成樣本時(shí),微控制器就會(huì)退出睡眠模式,讀取傳感器數(shù)據(jù)并執(zhí)行活動(dòng)識(shí)別算法。高質(zhì)量的活動(dòng)識(shí)別算法用例平均需要4 ms的處理時(shí)間。藍(lán)牙傳輸是間歇性的,取決于用戶要求(一天一次)。
圖1:微控制器從睡眠到喚醒的時(shí)序
圖1顯示了微控制器運(yùn)行算法時(shí)的占空比時(shí)序。Tstart是微控制器的喚醒時(shí)間,Talgo是算法的執(zhí)行時(shí)間,Todr是傳感器兩次讀取操作的間隔。
下面是總平均電流ITOT的基本計(jì)算公式,其中包含各種主要電流消耗參數(shù):
ITOT = IBUS + ISLEEP + falgo * IUCORE * ( Tstart/2 + Talgo )
IBUS 是接口總線讀取操作消耗的電流;SPI總線的讀取電流應(yīng)小于1 μA,I2C總線約在2-5 μA之間。射頻是間歇性傳輸,所以功耗可以忽略不計(jì)??紤]到每個(gè)參數(shù)取值取其聲明范圍的中間值,最后得到的ITOT為230 μA。
嵌入式算法是經(jīng)過(guò)重新配置的可以實(shí)現(xiàn)“活動(dòng)識(shí)別”,工作電流小于8 μA。這里所說(shuō)的嵌入式算法與在微控制器上運(yùn)行的算法在性能和質(zhì)量上完全相同。嵌入式解決方案的顯著優(yōu)勢(shì)是在傳感器內(nèi)部生成可用數(shù)據(jù),因此不存在IBUS功耗。此外,嵌入式解決方案完全沒(méi)有微控制器安全退出睡眠狀態(tài)所需的Tstart時(shí)間,當(dāng)Tstart和IBUS兩項(xiàng)參數(shù)均為零時(shí),ITOT估算值是200 μA,這意味著,使用相同公式falgo*IUCORE*Talgo計(jì)算,算法從微控制器遷移到傳感器使功耗降至二十五分之一。
因?yàn)橐夥ò雽?dǎo)體軟件庫(kù)和客戶需求是已知的,并且是合并在一起的,所以,我們的策略是收集最常見的用例,然后將其分為兩類。第一類是由非常適合使用有限狀態(tài)機(jī)的算法組成,第二類基于需要統(tǒng)計(jì)分析(基于模式分析)并且可以通過(guò)決策網(wǎng)(樹)有效實(shí)現(xiàn)的應(yīng)用。針對(duì)這兩大類應(yīng)用,我們開發(fā)出一個(gè)覆蓋現(xiàn)有算法的“元命令”集,并確保算法具有廣泛的可重新配置性,以處理新的自定義需求。最后一步是算法分析,目的是找到最佳的低功耗且有效的算法定制邏輯。在不影響算法性能的情況下,按照特定應(yīng)用需求簡(jiǎn)化算法。下面的兩個(gè)章節(jié)介紹這兩個(gè)模塊和元數(shù)據(jù)。
機(jī)器學(xué)處理(MLP)
有限狀態(tài)機(jī)是利用本身固有的演繹推理特性:從假設(shè)開始,檢驗(yàn)達(dá)到特定邏輯狀態(tài)的概率。對(duì)于運(yùn)動(dòng)檢測(cè)算法,演繹推理是確定一系列事件是否滿足“規(guī)則”。這種方法適用于大多數(shù)手勢(shì)檢測(cè)算法,當(dāng)然,不能全部適用。例如,手機(jī)舉起到放下的手勢(shì)算法可以完全基于以下事實(shí):手機(jī)加速度計(jì)檢測(cè)到的重力主要是在同一個(gè)軸上,并在一個(gè)時(shí)間序列后,檢測(cè)到的重力方向?qū)?huì)變成相反方向。修改一些參數(shù)就可以更改手勢(shì)定義,這些參數(shù)包括軸定義、閾值和序列持續(xù)時(shí)間。步行檢測(cè)等運(yùn)動(dòng)算法幾乎不可能通過(guò)簡(jiǎn)單的狀態(tài)機(jī)來(lái)定義,因?yàn)樽兞繑?shù)量會(huì)急劇增加,傳感器定位、頻率、地形和個(gè)人行為導(dǎo)致感應(yīng)信號(hào)變化很大。從上一個(gè)示例中,可以得出一個(gè)更具一般性的概念:雖然手機(jī)舉起到放下的手勢(shì)統(tǒng)計(jì)方差在一個(gè)人群中是較明顯的,但是可以進(jìn)行演繹推理應(yīng)用設(shè)計(jì);而步行動(dòng)作會(huì)引起廣泛的統(tǒng)計(jì)方差,演繹推理方法應(yīng)該棄用,而采用歸納推理方法。
機(jī)器學(xué)習(xí)處理的基本原理是允許在芯片上執(zhí)行數(shù)據(jù)驅(qū)動(dòng)型算法,開發(fā)從輸入模式構(gòu)建模型的能力。在過(guò)去的十年中,互聯(lián)網(wǎng)和物聯(lián)網(wǎng)爆炸式增長(zhǎng),大量信息產(chǎn)生。 隨著數(shù)據(jù)量急劇增加,數(shù)據(jù)管理工具也被開發(fā)出來(lái),使數(shù)據(jù)開始有應(yīng)用價(jià)值。MLP解決方案被認(rèn)為是適合在慣性傳感器上執(zhí)行數(shù)據(jù)驅(qū)動(dòng)算法。MLP具有很高的可重新配置性,在慣性傳感器領(lǐng)域達(dá)到了預(yù)期效果,可以在超低功耗環(huán)境執(zhí)行算法,適用于耗電量大的產(chǎn)品,例如,物聯(lián)網(wǎng)算法。
數(shù)據(jù)挖掘是機(jī)器學(xué)習(xí)的一個(gè)重要分支:“數(shù)據(jù)挖掘是一個(gè)綜合機(jī)器學(xué)習(xí)、模式識(shí)別和統(tǒng)計(jì)學(xué)的跨學(xué)科領(lǐng)域,其目的是發(fā)現(xiàn)知識(shí)。
數(shù)據(jù)挖掘工具最后生成一個(gè)決策樹,應(yīng)用設(shè)計(jì)是從一個(gè)數(shù)據(jù)模式集合開始,以在MLP內(nèi)核上加載決策樹結(jié)束。用戶可以用支持軟件管理整個(gè)應(yīng)用設(shè)計(jì)過(guò)程,我們將在下一章介紹支持軟件,本章介紹MLP內(nèi)核背后的基本模塊。
圖4是機(jī)器學(xué)習(xí)處理內(nèi)核的整體結(jié)構(gòu)圖。
圖4:MLP內(nèi)核整體結(jié)構(gòu)圖
從圖中不難看出軟件層和硬件層之間的邊界。該應(yīng)用設(shè)計(jì)從傳感器數(shù)據(jù)模式開始,模式是描述MLP內(nèi)核在運(yùn)行時(shí)必須理解的知識(shí)。以活動(dòng)識(shí)別算法為例,MLP從涉及要識(shí)別的活動(dòng)(步行,跑步,運(yùn)動(dòng)的車輛,無(wú)運(yùn)動(dòng)等)的模式開始運(yùn)行,目的是直接從傳感器數(shù)據(jù)推出當(dāng)前活動(dòng)的結(jié)果。最多可以將3個(gè)傳感器的數(shù)據(jù)配置為算法輸入。陀螺儀和加速度計(jì)模塊位于傳感器內(nèi)部,外部傳感器(例如磁力計(jì))的數(shù)據(jù)可以通過(guò)嵌入式I2C控制器讀取。輸入傳感器數(shù)據(jù)由物理傳感器的軸和數(shù)值組成(表VI。)。
表I. MLP的輸入類型
要想調(diào)理輸入數(shù)據(jù),還有多個(gè)可配置濾波器可用,如下表所示(表VII)。
表II. 內(nèi)核中的濾波器類型
原始數(shù)據(jù)和過(guò)濾數(shù)據(jù)都可以設(shè)為特征模塊的輸入,特征模塊執(zhí)行數(shù)據(jù)的統(tǒng)計(jì)計(jì)算,輸出可以配置成多達(dá)19個(gè)不同的統(tǒng)計(jì)特征。表VIII中列出了可用特征。主要特征集分為觸發(fā)式和窗口式兩類,前者是按照特征事件計(jì)算的結(jié)果,后者是按照固定時(shí)窗間隔統(tǒng)計(jì)的結(jié)果。盡管所有特征計(jì)算結(jié)果可以是窗口式或觸發(fā)式特征集,取決于用戶配置,但只有這些特征的子集才可以生成觸發(fā)信號(hào)。
表III:MLP內(nèi)核的統(tǒng)計(jì)特征
時(shí)鐘特征是
在特征配置結(jié)束時(shí),軟件工具(下一章介紹)輸出一個(gè)配置文件和一個(gè)ARFF文件。配置文件安裝在慣性單元上用于配置MLP,ARFF文件用于數(shù)據(jù)挖掘工具,是與MLP處理器芯片匹配的。數(shù)據(jù)挖掘工具組建ARFF文件,針對(duì)特定應(yīng)用案例優(yōu)化(或“確定”)選擇最佳的特征集,并輸出決策樹及相關(guān)統(tǒng)計(jì)性能。
在數(shù)據(jù)挖掘工具處理和反饋后,可以重新處理數(shù)據(jù)并優(yōu)化特征集。
當(dāng)統(tǒng)計(jì)性能符合期望時(shí),可以通過(guò)意法半導(dǎo)體軟件工具生成的配置文件將決策樹加載到MLP內(nèi)核上。
支持軟件
意法半導(dǎo)體開發(fā)出一個(gè)使基于統(tǒng)計(jì)學(xué)/機(jī)器學(xué)習(xí)的方法適合編程的工具,有了這個(gè)工具,設(shè)備配置過(guò)程變得輕松快捷。
這個(gè)機(jī)器學(xué)習(xí)處理配置工具是一個(gè)擴(kuò)展版的Unico GUI圖形用戶界面軟件(意法半導(dǎo)體所有MEMS傳感器演示板通用)。Unico軟件連接基于STM32微控制器的主板,實(shí)現(xiàn)MEMS傳感器與PC GUI之間的通信。該軟件以圖形和數(shù)字形式顯示傳感器輸出,并允許用戶保存或全面管理來(lái)自設(shè)備的數(shù)據(jù)。
Unico軟件允許訪問(wèn)MEMS傳感器寄存器,可以快速配置寄存器,并可以直接在設(shè)備上輕松測(cè)試配置??梢詫?dāng)前寄存器的配置保存為文本文件,并可以從現(xiàn)有文件中加載配置。這樣,可以在幾秒鐘內(nèi)重新設(shè)置傳感器。
基于統(tǒng)計(jì)/機(jī)器學(xué)習(xí)的算法要求收集數(shù)據(jù)日志。使用Unico GUI可以做到這一點(diǎn)。每個(gè)數(shù)據(jù)日志都必須關(guān)聯(lián)預(yù)期結(jié)果(例如,靜止,步行,跑步等)。該工具收集這些數(shù)據(jù)模式用于計(jì)算某些特征。
圖8:數(shù)據(jù)模式表
該工具可為原始數(shù)據(jù)選擇濾波器,選擇用過(guò)濾數(shù)據(jù)計(jì)算哪些特征,計(jì)算結(jié)果特征將是決策樹的屬性。幾個(gè)步驟后,該工具將生成一個(gè)屬性關(guān)系文件(ARFF)。
圖9:配置表
ARFF文件是決策樹生成過(guò)程的入口。決策樹可以由不同的機(jī)器學(xué)習(xí)工具生成。 懷卡托大學(xué)開發(fā)的軟件Weka能夠從屬性關(guān)系文件開始生成決策樹。Weka工具可以評(píng)估哪些屬性適合決策樹。通過(guò)更改Weka中所有可用參數(shù),可以實(shí)現(xiàn)不同的決策樹配置。
圖10:在Weka里的屬性視圖
圖6:Weka中的決策樹生成
在決策樹生成后,可以將其上傳到意法半導(dǎo)體的軟件工具,完成MEMS傳感器的寄存器配置。
通過(guò)訪問(wèn)傳感器寄存器,Unico GUI可以讀取決策樹輸出狀態(tài)。
應(yīng)用案例
從第二部分介紹的示例開始,我們做了一些電流消耗測(cè)量,選擇了一個(gè)活動(dòng)識(shí)別算法作為示例。該算法的性能在模式數(shù)據(jù)庫(kù)中經(jīng)過(guò)明確評(píng)估,而且在普通通用微控制器上運(yùn)行時(shí)電流消耗約為數(shù)百微安。利用上一章介紹的支持軟件,可以輕松地配置MLP內(nèi)核,運(yùn)行該活動(dòng)識(shí)別算法。
表IV:電流要求
表IX 總結(jié)了在Cortex-M3 上運(yùn)行活動(dòng)識(shí)別算法的電流要求,以及在LSM6DSOx MLP上運(yùn)行同一算法增加的電流需求。
結(jié)論
世界網(wǎng)絡(luò)化程度越來(lái)越高:聯(lián)網(wǎng)設(shè)備可以交換大量數(shù)據(jù)。物聯(lián)網(wǎng)應(yīng)用依賴于三個(gè)關(guān)鍵模塊:感知、智能和通信。本文介紹了一種高度可配置的嵌入在慣性傳感器中的數(shù)字模塊。數(shù)字模塊為傳感器增加了智能,可以大幅降低系統(tǒng)級(jí)能耗。為了快速開發(fā)應(yīng)用原型,隨硬件一起提供了數(shù)字模塊配置支持軟件。上一章的應(yīng)用案例清楚地表明,數(shù)字模塊可大幅降低電流消耗。智能傳感器是賦能電池續(xù)航能力至關(guān)重要的新應(yīng)用的關(guān)鍵技術(shù)。
責(zé)任編輯:gt
-
電源
+關(guān)注
關(guān)注
184文章
17484瀏覽量
249143 -
傳感器
+關(guān)注
關(guān)注
2545文章
50445瀏覽量
751031 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44061瀏覽量
370191
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論