首页动态正文

驱动LSM6DS3TR-C实现高效运动检测与数据采集(2)----配置滤波器

工作模式

在LSM6DS3TR-C中,加速度计和陀螺仪可以独立地开启/关闭,并且可以拥有不同的ODR和功耗模式。 LSM6DS3TR-C有三种可用的操作模式: 

● 仅加速度计活动,陀螺仪处于断电状态 


(资料图)

● 仅陀螺仪活动,加速度计处于断电状态 

● 加速度计和陀螺仪传感器同时活动,ODR独立 

最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:6_15061293 。

视频教学

/video/BV19P411Q7fP/

样品申请

/vm/#

完整代码下载

/download/qq_24312945/87921267

设置加速度速率

设置加速度速率可以配置CTRL1_XL (10h)寄存器,ODR_XL [3:0]可以设置速率。 

参考例程序中对应的设置加速度速率程序函数,如下所示。

设置加速度速率代码如下所示。

设置速率为的波形如下所示. 

设置角速度速率

设置角速度速率可以配置CTRL2_G (11h))寄存器,ODR_G [3:0]可以设置速率。 

参考例程序中对应的设置角速度速率程序函数,如下所示。 

设置角速度速率代码如下所示。

设置速率为的波形如下所示。 

设置加速度量程选择

设置加速度量程可以配置CTRL1_XL (10h)寄存器的FS_XL,FS_XL [1:0]可以设置量程。 

参考例程序中对应的设置加速度量程程序函数,如下所示。 

设置速率为2g的波形如下所示。

设置角速度量程选择

设置角速度量程可以配置CTRL2_G (11h)寄存器的FS_G,FS_G [1:0]可以设置量程。 

参考例程序中对应的设置角速度量程程序函数,如下所示。 

设置陀螺仪量程为2000的波形如下所示。

设置加速度参数

加速度带宽这个设置是用来确定加速度计数据的更新速度的。更高的带宽允许更高的频率信号通过,这意味着加速度计可以更快地响应运动的变化。 这个设置特别适用于加速度计的输出数据速率(ODR)大于或等于的情况。这是因为在这种高数据速率下,可能需要更宽的带宽来确保加速度计能够准确地测量快速变化的运动。例如,在高速运动的跟踪或者高精度的导航应用中,这个设置可能会很有用。

参考例程序中对应的设置加速度带宽选择程序函数,如下所示。 

使用的函数如下。

对于CTRL1_XL (10h)配置,主要有如下1个函数。 

bw0_xl写入1,通过在CTRL1_XL寄存器中将BW0_XL位设置为1来将模拟滤波器的带宽设置为400 Hz。

对于CTRL8_XL(17h)配置,主要有如下4个函数。

((uint8_t) val & 0x10U) >> 4为(0x11 & 0x10)>> 4即ctrl8__composite写入1; 

ctrl8__xl = (uint8_t) val & 0x03U为(0x11 & 0x03)即ctrl8__xl写入1; 

ctrl8__xl_en = 1即lpf2_xl_en写入1; 

ctrl8__slope_xl_en = 0即hp_slope_xl_en写入0;

线性加速度滤波器寄存器在CTRL8_XL (17h)中,这些参数在CTRL8_XL寄存器中定义了加速度计的一些滤波器设置。以下是这些参数的区别: 

LPF2_XL_EN - 加速度计低通滤波器LPF2的选择。

HPCF_XL[1:0] - 加速度计LPF2和高通滤波器的配置和截止设置。 

HP_REF_MODE - 启用高通滤波器参考模式。默认值:0(0:禁用;1:启用(1))。启用后,必须丢弃第一个输出数据。 

INPUT_COMPOSITE - 复合滤波器输入选择。默认值:0(0:将ODR/2低通滤波器输出发送到复合滤波器(默认);1:将ODR/4低通滤波器输出发送到复合滤波器)。 

HP_SLOPE_XL_EN - 加速度计斜率滤波器/高通滤波器选择。 

LOW_PASS_ON_6D - 6D功能上的LPF2选择。 

降低采样率可以减少传感器生成的数据量,从而降低功耗和数据处理要求。这在某些应用场景中可能是有用的,特别是对于要求较低的数据更新率或对存储和传输资源有限的情况下。

模拟滤波器带宽的设置: 

当加速度计的采样率(ODR)大于等于1666 Hz时,可以通过在CTRL1_XL寄存器中将BW0_XL位设置为1来将模拟滤波器的带宽设置为400 Hz。 

数字低通滤波器LPF1的选择: 

LPF1数字低通滤波器提供两个输出,它们具有不同的截止频率。可以通过在CTRL1_XL寄存器的LPF1_BW_SEL位和CTRL8_XL寄存器的INPUT_COMPOSITE位来选择所需的LPF1输出。这些位的设置将确定LPF1输出的截止频率。

配置CTRL8_XL (17h)为LSM6DS3TRC_ACC_LOW_PASS_ODR_100 0xA8(1010 1000),流程图如下所示。

设置加速度的刷新速度为400Hz和高通滤波器的截止频率被设置为加速度计的输出数据速率的百分之一的波形如下所示。

陀螺仪带宽配置

陀螺仪的带宽 在LSM6DS3TR-C器件中,陀螺仪滤波链取决于所使用的连接方式。 陀螺仪滤波链配置如下图所示。陀螺仪数字链)。这是一个三级的级联滤波器:一个可选数字高通滤波器(HPF),一个可选数字低通滤波器(LPF1)和一个数字低通 过滤器(LPF2)。 

参考程序配置陀螺仪带宽代码如下所示。 

使用的函数如下。

对于CTRL7_G (16h)配置,主要有如下2个函数。 

((uint8_t)val & 0x30U) >> 4为(0xA8 & 0x30)>> 4即ctrl7__g写入10; 

((uint8_t)val & 0x80U) >> 7为(0xA8 & 0x80)>> 7即ctrl7__en_g写入1;

对于CTRL6_G (15h)配置,主要有如下1个函数。 (uint8_t)val & 0x03U为(0xA8 & 0x03)即ctrl6_写入00。

对于CTRL4_G (13h)配置,主要有如下1个函数。 ((uint8_t)val & 0x08U) >> 3为(0xA8 & 0x08)>> 3即ctrl4__sel_g写入1。

设置角速度控制寄存器可以配置CTRL7_G (16h),通过将CTRL7_G寄存器的HP_EN_G位设置为1,可以使能数字HP滤波器。同时G_HM_MODE默认情况下为0,即开启高性能模式。 数字高压滤波器截止频率可以通过CTRL7_G寄存器的HPM_G[1:0]字段来选择,如下表所示,这里选择配置为10,即260mHz。

这里关闭高性能操作模式以及打开陀螺仪数字HP滤波器,截止频率选择260 mHz的波形如下所示。

CTRL6_C寄存器主要用于配置陀螺仪的低通滤波器(LPF1)的带宽选择。通过修改FTYPE[1:0]的值,您可以选择不同的陀螺仪低通滤波器带宽。 

FTYPE[1:0] - 陀螺仪的低通滤波器 (LPF1) 带宽选择。表68显示了可选的带宽值。

设置FTYPE[1:0]为00波形如下所示。

"LPF1_SEL_G"参数用于启用或禁用陀螺仪的数字低通滤波器1(LPF1)。如果设为1,则该滤波器启用;如果设为0,则该滤波器禁用,这里需要对LPF1_SEL_G 配置为1打开。

使能低通滤波器波形如下所示。

总的配置流程如下所示。

陀螺仪初始化配置

相关阅读

精彩推荐