ADuCM3027/ADuCM3029中的SensorStrobe、超低功耗、時間同步傳感器數據采樣
簡介
本文引用地址:http://www.104case.com/article/201707/361492.htm與一個精確時間同步的傳感器精密采樣,是建筑健康監控、可穿戴式設備、環境檢測等各類無線傳感器網絡應用的要求。傳感器數據采樣由微控制器單元(MCU)支配。傳統方法是利用MCU上的軟件產生通用輸入/輸出(GPIO)脈沖,然后以特定間隔觸發傳感器收集數據。
傳統方法有兩個問題。一是涉及到相當大的軟件開銷,這會提高功耗。二是脈沖觸發取決于MCU軟件,因此可能隨著時間推移而發生漂移。
本應用筆記介紹ADI公司的SensorStrobe?機制,利用它可實現低功耗、一致、同步的傳感器數據采集。
ADuCM3027/ADuCM3029具備SensorStrobe機制。此機制支持與ADuCM3027/ADuCM3029 MCU相連的傳感器實現時間同步的數據采樣。
SensorStrobe解決了傳統軟件方法的問題,理由如下:
? 工作在休眠模式,功耗降低10倍以上。
? 設置之后無需軟件干預。
? 脈沖觸發機制獨立于軟件執行,即使在軟件執行期間也能產生連續觸發脈沖(且無漂移)。
本應用筆記使用一個示例設置,其中ADuCM3027/ADuCM3029 MCU連接到ADXL363加速度計,以證明利用SensorStrobe機制采集樣本數據時功耗降低超過10倍。將SensorStrobe機制與非SensorStrobe的軟件方法進行比較,這一降幅是很明顯的。
圖1.ADuCM3027/ADuCM3029和ADXL363連接圖
目錄
簡介1
修訂歷史2
SensorStrobe概述3
ADXL363特性3
系統描述5
MCU和ADXL363之間的接口5
數據傳輸序列6
軟件概述7
源代碼片段8
ADXL363 FIFO讀操作10
系統功耗分析11
功耗測量11
結語13
結構健康監控(SHM)13
醫療保健監護13
環境檢測13
修訂歷史
2017年3月—修訂版0:初始版
SENSORSTROBE概述
SensorStrobe是一種以高效率、低功耗、內在同步的方式進行傳感器采樣的機制。ADuCM3027/ADuCM3029支持這種機制。SensorStrobe可以在ADuCM3027/ADuCM3029的活動、靈活(Flexi?)和休眠三種功耗模式下使用。
SensorStrobe機制允許ADuCM3027/ADuCM3029處于休眠模式(750 nA),同時傳感器以固定間隔周期性收集數據。
SensorStrobe機制與ADXL363的外部觸發特性相結合,以最低可能功耗收集傳感器數據。
SensorStrobe是ADuCM3027/ADuCM3029中的實時時鐘(RTC)的一種報警功能。通過此機制,ADuCM3027/ADuCM3029為ADXL363加速度計提供外部觸發信號。觸發信號位于RTC1_SS1 (RTC SensorStrobe)引腳上,是通過ADuCM3027/ADuCM3029上的單一GPIO驅動出來的低頻時鐘源(32 kHz)的單周期、高電平脈沖。此脈沖是周期性的,確保傳感器采樣時間無變化,而其周期具有高度可配置性。
ADXL363特性
ADXL363是一款超低功耗、三傳感器器件,集三軸微機電系統(MEMS)加速度計、溫度傳感器和模數轉換器(ADC)輸入于一體,用于同步采樣外部信號。
ADXL363有一個512樣本先進先出(FIFO)緩沖器用以存儲傳感器數據。這種大FIFO可節省系統功耗。在ADXL363將數據自主記錄到FIFO緩沖器的同時,MCU可以處于休眠模式。
ADXL363配置為外部觸發模式。ADuCM3027/ADuCM3029在RTC_SS引腳上產生這些觸發脈沖。每個觸發脈沖到來時,ADXL363便收集并存儲數據到FIFO(最多512個樣本,每樣本兩個字節)緩沖器中。
對ADXL363進行編程,當FIFO緩沖器達到480樣本(每樣本兩個字節)的水印時,它便中斷并喚醒MCU。使用水印特性可以讓FIFO留下余地以供接收更多樣本,與此同時,MCU喚醒并開始清空FIFO緩沖器。
ADXL363支持通過串行外設接口(SPI)進行寄存器讀寫訪問。訪問可以是單字節或多字節訪問。實現FIFO緩沖器的目的是通過不限長度的多字節讀取來連續讀取連貫的樣本。因此,一個FIFO緩沖器讀指令便可清空FIFO緩沖器的全部內容。
而在其他加速度計中,每個讀指令只能檢索到一個樣本。此外,ADXL363 FIFO緩沖器還可以利用ADuCM3027/ADuCM3029直接存儲器訪問(DMA)控制器清空。
利用SPI接口的讀命令模式,ADuCM3027/ADuCM3029與ADXL363高效通信,通過減少SPI協議開銷來降低系統整體功耗。
圖2.數據序列圖
系統描述
我們構建了一個示例系統來說明使用SensorStrobe的優點。此系統包括一個EVAL-ADuCM3029 EZ-KIT萬用表和電流源表。這些系統器件串聯起來測量系統電流消耗。
圖3.電流測量的系統連接
MCU和ADXL363之間的接口
一步說明。
使能ADuCM3027 /ADuCM3029的SensorStrobe機制,并將ADuCM3027 /ADuCM3029置于休眠模式。觸發脈沖以128 Hz速率產生。
每收到一個脈沖,ADXL363便獲取樣本并將其存儲在FIFO緩沖器中。當達到FIFO上水印時,ADXL363便通過SYS_WAKE3 (P2_01)引腳中斷ADuCM3027 /ADuCM3029。
ADuCM3027 /ADuCM3029利用讀模式特性通過單個命令清空整個FIFO,使SPI協議開銷最小。DMA控制器可以清空FIFO緩沖器,進一步降低MCU的工作時間和系統電流消耗。
通過SensorStrobe,ADuCM3027/ADuCM3029即便在休眠模式下也能在GPIO43引腳上產生觸發脈沖。脈沖產生配置取決于RTC1寄存器和GPIO引腳復用。
在靈活模式下,DMA可以傳輸SPI數據,進一步降低系統功耗。
數據傳輸序列
MCU收集傳感器數據分兩個階段進行。圖4和圖5顯示了這些階段中的信號活動情況。
首先,RTC1_SS1引腳充當外部觸發信號,ADXL363收集樣本并存儲到FIFO緩沖器中。然后,ADXL363 FIFO緩沖器通過SPI讀取內容。
圖4.第一階段——數據采集階段:RTC_SS觸發ADXL363
圖5.第二階段——數據傳輸至MCU:通過SPI讀取ADXL363 FIFO
評論