傳感器正在成為電子基礎設施向物聯網(IoT)轉變的無處不在的元素。傳感器將提供用于管理和控制汽車,家庭,工作場所,工廠車間以及兩者之間的電子系統的數據。傳感器不僅在擴展范圍,而且在擴展能力方面。當多個傳感器位于同一位置時,可以創建令人興奮的新功能,并且可以交換和增強單個測量。在這些類型的設計中,傳感器可以實現高級功能,通常被稱為傳感器“融合”,提供新的和創新的功能。
傳感器融合算法已經在化學過程控制系統中實施了數十年,所以這個概念并不是新的。大多數化學過程控制系統需要各種傳感器讀數來確定值,流速或設置的正確設置。你不會考慮在沒有感應壓力,溫度和體積的情況下管理化學過程,對吧? (還記得PV = nRT嗎?)
很容易要求你的新傳感器融合設計包含各種傳感器,這樣你的新算法就能擁有它需要的所有數據;但在某些時候,您的MCU需要連接到所有這些傳感器,同時以您的算法所需的速率提供數據。哦,順便說一下,您需要保留大量的MCU計算能力,因此處理器不會受到實時管理所有傳感器數據的困擾。
幸運的是,MCU制造商一直在擴展其MCU外設的功能,因此設計可以使用多個接口的全部功能,而不會給處理器帶來大量開銷。本文將介紹傳感器融合設計的示例實現,以說明為每個傳感器選擇合適的外設對于設計的成功至關重要。
示例設計
我們將在未來幾年內看到的一種更常見的傳感器融合設計將用于跟蹤和記錄感興趣對象周圍的環境。感興趣的對象可以是運輸中的包裹,停放的汽車,移動中的自行車或院子里的狗。顯然,傳感器日志和任何傳感器融合算法都將尋找特定的環境測量,但我們的示例設計中可能包含一些常用的測量。我們假設我們想要提供溫度,濕度,振動,壓力和加速度。我們還添加了捕獲聲音的要求,以涵蓋使用語音命令或需要捕獲環境噪聲的情況,或許可以驗證噪聲級別的工業標準是否得到遵守。這些類型的讀數變化足以為我們提供一些設計挑戰,因此我們可以探索對于高效傳感器融合設計至關重要的特定MCU功能。
我們的示例設計的簡化框圖如圖所示。圖1.關鍵設計目標是找到用于每個傳感器的最佳MCU接口,這種連接可以傳感器融合算法所需的速率提供傳感器數據。在我們的示例設計中,由于假設電池工作,因此低功耗也是關鍵要求。因此,在有限功率下獲得最多數據和最多處理能力將是我們的主要設計目標。
圖1:環境監測傳感器簡化框圖。
音頻,溫度,壓力,加速度,振動和濕度傳感器都直接連接到MCU。無線連接(可能是低功耗短距離標準,例如藍牙低功耗)允許傳感器通過聚合單元向云提供數據。可以通過從云下載MCU代碼更新來進行算法增強或維護更新。這些更新可用于延長傳感器壽命或針對不同條件或不斷變化的要求重新設置傳感器。
每個傳感器對速度,延遲,功率和測量頻率都有不同的約束。主要的設計任務是優化這些接口,以便在最佳時間和盡可能少的功耗下為融合算法提供所需的數據。確定最佳連接的第一步是分離出低速連接和高性能連接要求。
低速連接
許多傳感器不需要高速連接連接因此可以使用較舊的低速串行接口,例如UART。在我們的示例設計中,我們假設壓力傳感器使用UART風格的接口,并且每秒只進行幾次通信。這個速度通常足以跟蹤長期和突然的壓力變化。使用UART接口可能會給設計帶來一個可能非直觀的設計問題。由于頻率較低,您可能還希望功率要求較低。不幸的是,你可能遇到這樣的情況,因為傳輸頻率很低,UART需要保持很長時間。只要UART處于活動狀態,功耗就會消耗殆盡。
我們的示例設計需要的是一個節能的UART外設,在激活時使用很少的功率,并且可以很容易地關閉它。不需要。現在,有幾種MCU包含具有這些特性的專用低功耗UART,STMicroelectronics的圖2所示的低功耗UART顯示了UART的功效如何。
圖2:STM32L低功耗UART框圖。 (由STMicroelectronics提供)
典型的UART功能 - 發送數據寄存器,接收數據寄存器,控制寄存器,波特率選擇和整體控制單元 - 在程序框圖中都很明顯,但不是容易發現,即使MCU處于低功耗停止模式,UART也能運行。 UART可以等待輸入數據幀,并通過中斷將MCU從停止模式喚醒。如果UART數據是傳感器融合算法中的重要元素,則CPU可以將數據移動到存儲器或立即開始處理。由于低功耗UART外設可以在CPU處于停止模式時接收數據,因此傳輸過程中所需的功率大大減少,這大大提高了我們的功率效率。當您需要連接到MCU的低速串行接口時,請尋找類似的低功耗特性。
高性能連接
在某些傳感器應用中,頻繁或以高數據速率訪問傳感器數據非常重要。在我們的示例設計中,音頻傳感器需要最高帶寬。其他類型的傳感器,例如光,溫度,壓力和位置,不經常改變,因此可以以低得多的速率進行監測。大多數MCU提供的高速接口有多種選擇,SPI,QSPI和I2C作為流行的選擇。例如,Atmel SAM4S4A MCU支持多通道SPI和I2C。該器件的另一個功能是即使在極低功耗模式下也可以保留SRAM,這樣傳感器數據包在存儲在SRAM中時不會丟失。當低功耗是最重要的考慮因素時,尋找這種能力。
許多MCU支持流行的I2S音頻接口,而且這通常是音頻處理應用的明顯選擇。現代音頻編解碼器通常支持多個接口,因此您可以選擇適合您應用的接口。德州儀器TLV320AIC3254立體聲音頻編解碼器(圖3)支持I2S,I2C和SPI,因此您可以選擇多種接口選項。
圖3 :德州儀器(TI)的音頻編解碼器具有多種串行接口支持。 (由Texas Instruments提供)
當您的應用程序傳輸音頻數據時,I2S接口是一個很好的選擇。讓我們假設在我們的示例中,傳感器需要不經常測量音頻電平和頻率(可能最多每秒一次),以測試環境是否符合工廠車間勞動力的聲音暴露規定。在不丟失任何數據且不干擾其他測量的情況下捕獲一秒鐘的聲音是很重要的。在這種情況下,I2S接口是一個不錯的選擇,并允許從其他I2C或SPI端口獨立操作。
使用I2S還可以使我們最小化功耗,因為它僅在音頻捕獲期間開啟期。通常I2S可以與DMA結合使用,這樣CPU就可以進入低功耗模式,直到數據全部被捕獲并準備好處理。或者,CPU可以在捕獲數據時處理數據。如果音頻功能的總“接通時間”減少,則可能最終降低功率。考慮在設計中比較這兩種方法,并根據您的要求選擇效率最高的方法。
不要忘記模擬
盡管許多傳感器使用串行接口,但不要忘記簡單的模數轉換器(ADC)可用于許多傳感器應用。有些ADC可以獨立于CPU運行,這樣可以在轉換過程中輕松將CPU置于低功耗模式。例如,STM32F4 MCU有一個ADC,可以使用直接存儲器訪問(DMA)控制器將捕獲的數據直接傳輸到存儲器。 ADC也可以通過定時器計數器模塊啟動,因此無需CPU干預即可輕松進行定期測量。這些啟動觸發信號如圖4中STM32F4 ADC框圖底部所示。
圖4:STMicroelectronics STM32F4 MCU ADC框圖。 (由STMicroelectronics提供)
為了進一步提高效率,模擬看門狗功能可以非常精確地監控一個,部分或全部所選通道的轉換電壓。當轉換電壓超出編程閾值時,會產生中斷。這在我們的示例環境監測設計中特別有用,因為除非測量偏離“安全”區域,否則CPU不需要處于活動狀態。這樣可以降低功耗,并使CPU能夠專注于關鍵處理要求。
結論
對于傳感器融合設計,降低CPU開銷的高效接口至關重要。釋放CPU以便它可以處理各種傳感器數據,其中算法可以組合或融合數據以識別重要事件,從而創建智能傳感器融合設備。這些智能設備將成為不斷擴展的物聯網環境中的關鍵元素。
-
傳感器
+關注
關注
2548文章
50693瀏覽量
752035 -
處理器
+關注
關注
68文章
19167瀏覽量
229153 -
mcu
+關注
關注
146文章
17000瀏覽量
350321
發布評論請先 登錄
相關推薦
評論