在將電子基礎(chǔ)設(shè)施轉(zhuǎn)變?yōu)?a target="_blank">物聯(lián)網(wǎng) (IoT) 的過程中,傳感器正成為無處不在的元素。傳感器將提供用于管理和控制汽車、家庭、工作場所、工廠車間以及介于兩者之間的任何地方的電子系統(tǒng)的數(shù)據(jù)。傳感器不僅在其范圍內(nèi),而且在其功能上都在擴(kuò)展。當(dāng)多個傳感器位于同一位置時,可以創(chuàng)建令人興奮的新功能,并且可以交換和增強(qiáng)單個測量值。在這些類型的設(shè)計中,傳感器可以實(shí)現(xiàn)高級功能,通常被稱為傳感器“融合”,從而提供新的創(chuàng)新功能。
傳感器融合算法已經(jīng)在化學(xué)過程控制系統(tǒng)中實(shí)施了幾十年,所以這個概念并不是什么新鮮事。大多數(shù)化學(xué)過程控制系統(tǒng)需要各種傳感器讀數(shù)來確定值、流速或設(shè)置的正確設(shè)置。您不會考慮在沒有感應(yīng)壓力、溫度和體積的情況下管理化學(xué)過程,對吧?(還記得 PV = nRT 嗎?)
很容易要求您的新傳感器融合設(shè)計包含各種傳感器,以便您的新算法擁有它需要的所有數(shù)據(jù);但在某些時候,您的 MCU 將需要連接到所有這些傳感器,同時以您的算法所需的速率提供數(shù)據(jù)。哦,順便說一句,您需要保留大量 MCU 計算能力,因此處理器不會為實(shí)時管理所有傳感器數(shù)據(jù)而煩惱。
幸運(yùn)的是,MCU 制造商一直在擴(kuò)展其 MCU 外設(shè)的功能,因此設(shè)計可以使用多個接口的全部功能,而不會給處理器帶來大量開銷。本文將著眼于傳感器融合設(shè)計的示例實(shí)現(xiàn),以說明如何為每個傳感器選擇正確的外設(shè)對您的設(shè)計成功至關(guān)重要。
示例設(shè)計
我們將在未來幾年看到的一種更常見的傳感器融合設(shè)計將用于跟蹤和記錄感興趣對象周圍的環(huán)境。感興趣的對象可以是運(yùn)輸中的包裹、停放的汽車、移動中的自行車或院子里的狗。顯然,傳感器日志和任何傳感器融合算法都將尋找特定的環(huán)境測量值,但我們可以在示例設(shè)計中包含一些流行的測量值。假設(shè)我們要提供溫度、濕度、振動、壓力和加速度。讓我們還添加一個捕獲聲音的要求,以涵蓋使用語音命令或需要捕獲環(huán)境噪聲的情況,也許是為了驗(yàn)證是否符合噪聲水平的工業(yè)標(biāo)準(zhǔn)。
我們的示例設(shè)計的簡化框圖如圖 1 所示。關(guān)鍵設(shè)計目標(biāo)是找到用于每個傳感器的最佳 MCU 接口,這種連接可以以傳感器融合算法所需的速率提供傳感器數(shù)據(jù)。在我們的示例設(shè)計中,低功耗也是一個關(guān)鍵要求,因?yàn)榧僭O(shè)電池運(yùn)行。因此,在有限的功率下獲得最多的數(shù)據(jù)和最多的處理能力將是我們的主要設(shè)計目標(biāo)。
?
圖 1:環(huán)境監(jiān)測傳感器簡化框圖。
音頻、溫度、壓力、加速度、振動和濕度傳感器都直接連接到 MCU。無線連接,可能是低功耗短距離標(biāo)準(zhǔn),例如低功耗藍(lán)牙,允許傳感器通過聚合單元向云端提供數(shù)據(jù)??梢酝ㄟ^從云端下載 MCU 代碼更新來進(jìn)行算法增強(qiáng)或維護(hù)更新。這些更新可用于延長傳感器壽命或針對不同條件或不斷變化的要求重新分配傳感器任務(wù)。
每個傳感器對速度、延遲、功率和測量頻率都有不同的限制。主要的設(shè)計任務(wù)是優(yōu)化這些接口,以在最佳時間和盡可能少的功耗為融合算法提供所需的數(shù)據(jù)。確定最佳連接的第一步是區(qū)分低速連接和高性能連接要求。
低速連接
許多傳感器不需要高速連接,因此可能使用較舊的低速串行接口,例如 UART。在我們的示例設(shè)計中,我們將假設(shè)壓力傳感器使用 UART 風(fēng)格的接口,并且每秒只進(jìn)行幾次通信。該速率通常足以跟蹤長期和突然的壓力變化。使用 UART 接口會給設(shè)計帶來一個可能不直觀的設(shè)計問題。由于頻率較低,您可能期望功率要求也較低。不幸的是,您可能會遇到這樣的情況,因?yàn)閭鬏旑l率較低,UART 需要長時間保持開啟。只要 UART 處于活動狀態(tài),就會消耗功率。
在我們的示例設(shè)計中,我們需要一個節(jié)能的 UART 外設(shè),它在活動時消耗的電量很少,并且在不需要時可以輕松關(guān)閉。現(xiàn)在,一些 MCU 包含具有這些特性的專用低功耗 UART,下圖 2 中STMicroelectronics所示的低功耗 UART 顯示了 UART 的節(jié)能能力。
?
圖 2:STM32L 低功耗 UART 框圖。(意法半導(dǎo)體提供)
典型的 UART 功能——發(fā)送數(shù)據(jù)寄存器、接收數(shù)據(jù)寄存器、控制寄存器、波特率選擇和整體控制單元——在框圖中都很明顯,但不容易發(fā)現(xiàn)的是,即使在 MCU 的情況下,UART 也可以運(yùn)行處于低功耗停止模式。UART 可以等待傳入的數(shù)據(jù)幀并通過中斷將 MCU 從停止模式中喚醒。然后,如果 UART 數(shù)據(jù)是傳感器融合算法中的重要元素,CPU 可以將數(shù)據(jù)移動到內(nèi)存或立即開始處理。由于低功耗UART外設(shè)可以在CPU處于停止模式時接收數(shù)據(jù),因此傳輸過程中所需的電量大大減少,從而大大提高了我們的電源效率。當(dāng)您需要連接到 MCU 的低速串行接口時,請尋找類似的低功耗特性。
高性能連接
在某些傳感器應(yīng)用中,頻繁或以高數(shù)據(jù)速率訪問傳感器數(shù)據(jù)很重要。在我們的示例設(shè)計中,音頻傳感器需要最高帶寬。其他類型的傳感器,例如光、溫度、壓力和位置,很少變化,因此可以以低得多的速率進(jìn)行監(jiān)控。大多數(shù) MCU 上提供的高速接口有多種選擇,其中 SPI、QSPI 和 I2C 是流行的選擇。例如,Atmel SAM4S4A MCU支持具有多個通道的 SPI 和 I2C。該器件的另一個功能是即使在極低功耗模式下也可以保留 SRAM,因此傳感器數(shù)據(jù)包在存儲在 SRAM 中時不會丟失。當(dāng)?shù)凸氖亲钪匾膯栴}時,請尋找此功能。
許多 MCU 支持流行的 I2S 音頻接口,這通常是音頻處理應(yīng)用的明顯選擇。然而,現(xiàn)代音頻編解碼器通常支持多個接口,因此您可以為您的應(yīng)用程序選擇一個合適的接口。Texas Instruments TLV320AIC3254立體聲音頻編解碼器(圖 3)支持 I2S、I2C 和 SPI,因此您有多種接口選項。
?
圖 3:Texas Instruments 的音頻編解碼器支持多種串行接口。(德州儀器提供)
當(dāng)您的應(yīng)用程序正在流式傳輸音頻數(shù)據(jù)時,I2S 接口是一個很好的選擇。假設(shè)在我們的示例中,傳感器需要不頻繁地測量音頻電平和頻率(可能最多每秒一次),以測試環(huán)境是否符合工廠車間員工的聲音暴露法規(guī)。在不丟失任何數(shù)據(jù)且不干擾其他測量的情況下捕獲幾分之一秒的聲音非常重要。在這種情況下,I2S 接口是一個不錯的選擇,它允許獨(dú)立于其他 I2C 或 SPI 端口進(jìn)行操作。
I2S 的使用還可以讓我們最大限度地減少功耗,因?yàn)樗鼉H在音頻捕獲期間打開。通常 I2S 可以與 DMA 結(jié)合使用,以便 CPU 可以處于低功耗模式,直到數(shù)據(jù)全部被捕獲并準(zhǔn)備好處理?;蛘?,CPU 可以在捕獲數(shù)據(jù)的同時處理數(shù)據(jù)。如果音頻功能的總“開啟時間”減少,這可能最終會降低功率??紤]在您的設(shè)計中比較這兩種方法,并根據(jù)您的要求選擇效率最高的一種。
不要忘記模擬
盡管許多傳感器使用串行接口,但不要忘記簡單的模數(shù)轉(zhuǎn)換器 (ADC) 可用于許多傳感器應(yīng)用。一些 ADC 可以獨(dú)立于 CPU 運(yùn)行,這使得在進(jìn)行轉(zhuǎn)換時可以輕松地將 CPU 置于低功耗模式。例如,STM32F4 MCU 有一個 ADC,可以使用直接內(nèi)存訪問 (DMA) 控制器將捕獲的數(shù)據(jù)直接移動到內(nèi)存中。ADC 也可以通過定時器計數(shù)器模塊啟動,這樣就可以在沒有 CPU 干預(yù)的情況下輕松進(jìn)行定期測量。這些啟動觸發(fā)信號如圖 4 中 STM32F4 ADC 框圖的底部所示。
?
圖 4:STMicroelectronics STM32F4 MCU ADC 框圖。(意法半導(dǎo)體提供)
為了進(jìn)一步提高效率,模擬看門狗功能允許非常精確地監(jiān)控一個、部分或所有選定通道的轉(zhuǎn)換電壓。當(dāng)轉(zhuǎn)換后的電壓超出編程閾值時會產(chǎn)生中斷。這在我們的示例環(huán)境監(jiān)控設(shè)計中特別有用,因?yàn)?CPU 不需要處于活動狀態(tài),除非測量值偏離“安全”區(qū)域。這降低了功耗并允許 CPU 專注于關(guān)鍵處理要求。
結(jié)論
對于傳感器融合設(shè)計,減少 CPU 開銷的高效接口至關(guān)重要。釋放 CPU 以便它可以使用算法處理各種傳感器數(shù)據(jù),這些算法結(jié)合或融合數(shù)據(jù)以識別重要事件,從而創(chuàng)建智能傳感器融合設(shè)備。這些智能設(shè)備將成為不斷擴(kuò)大的物聯(lián)網(wǎng)環(huán)境中的關(guān)鍵要素。
評論