LSM6DSL 活動/不活動識別應用

關鍵字 :LSM6DSL
活動/非活動識別功能可減少系統功耗並開發新的智能應用程序。
開啟活動/不開啟活動識別功能後,一旦檢測到喚醒中斷事件,LSM6DSL設備就可以將加速度計的採樣率自動降低到12.5 Hz,從而增加加速度計的ODR和帶寬。

在LSM6DSL中,此功能可以擴展到陀螺儀,具有三個可能的選項:
•陀螺儀配置不變。
•陀螺儀進入睡眠模式;
•陀螺儀進入power down模式。


利用此功能,可以根據用戶的加速事件將系統有效地從低功耗切換為完整性能,反之亦然,從而確保了節能和靈活性。
開啟活動/非活動功能時允許的最大加速度計ODR(可通過CTRL1_XL寄存器的ODR_XL [3:0]位置)為3.3 kHz。
通過將INTERRUPTS_ENABLE位設置為1並配置TAP_CFG寄存器的INACT_EN位來啟用活動/不活動識別功能。



在LSM6DSL感測器中,可以使用斜率濾波器或high-pass數字濾波器來實現活動/不活動識別功能。可以使用TAP_CFG寄存器的SLOPE_FDS位置選擇要應用的濾波器:如果該位置為0(默認值),則使用斜率濾波器;否則,使用斜率濾波器。如果設置為1,則使用high-pass數字濾波器。
用戶可以通過一組專用寄存器根據期望的幅度和濾波數據的時序來完全編程此功能。
使用WAKE_UP_THS寄存器的WK_THS [5:0]位置定義。這6位元中的1 LSB的值取決於所選的加速度計full scale:1 LSB =(FS_XL)/(26)。
當一定數量的連續X,Y,Z濾波數據小於配置的閾值時,CTRL1_XL寄存器的ODR_XL [3:0]位被繞過(不活動),並且加速度計在內部設置為12.5 Hz,儘管CTRL1_XL保持不變。陀螺儀的行為根據TAP_CFG寄存器的INACT_EN位的配置而變化。待識別的不活動狀態的持續時間由WAKE_UP_DUR寄存器的SLEEP_DUR [3:0]位定義:1 LSB對應於512 / ODR_XL時間,其中ODR_XL是加速度計的輸出數據速率。

當檢測到不活動狀態時,將中斷設置為高電平1 / ODR_XL [s],然後自動將其置為無效。
當一個軸上的X,Y,Z濾波數據的單個樣本大於閾值時,將立即恢復CTRL1_XL寄存器設置(活動),並將陀螺儀恢復到先前的狀態。
當檢測到活動狀態時,將中斷設置為高電平1 / ODR_XL [s],然後自動將其置為無效。
一旦啟用了活動/不活動檢測功能,就可以通過將MD1_CFG寄存器的INT1_INACT_STATE位或MD2_CFG寄存器的INT2_INACT_STATE位設置為1來將狀態驅動到兩個中斷引腳。也可以通過讀取WAKE_UP_SRC寄存器的SLEEP_STATE_IA位進行檢查。

用於活動/不活動檢測的基本SW範例如下:


在此範例中,WAKE_UP_THS寄存器的WK_THS字段設置為000010b,因此活動/不活動閾值為62.5 mg(= 2 * FS_XL / 26)。
在不活動檢測之前,在WAKE_UP_DUR寄存器的SLEEP_DUR字段定義的時間段內,X,Y,Z斜率數據必須小於配置的閾值:此字段設置為0010b,對應於
4.92秒(= 2 * 512 / ODR_XL)。 經過這段時間後,加速度計ODR在內部設置為12.5 Hz,而陀螺儀在內部設置為power down模式。
如果一個軸的斜率數據大於閾值,則檢測到“活動”狀態,立即恢復CTRL1_XL寄存器設置,並打開陀螺儀。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能