声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。
一、基础配置
测量范围-200g-200g,分辨率为12位,
V
s
、
V
D
D
I
/
O
V_s、V_{DDI/O}
Vs、VDDI/O范围为1.6V-3.5V
1.1 引脚配置和功能说明
引脚功能比较简单,主要是几个电源引脚(
V
s
、
V
D
D
I
/
O
、
G
N
D
V_s、V_{DDI/O}、GND
Vs、VDDI/O、GND)、SPI接口和两个中断接口。
1.2 三种工作模式
ADXL372有三种工作模式:①连续测量模式;②低功耗冲击检测的瞬时接通模式;③唤醒模式,用于有限带宽的低重力加速度的活动检测。
1.2.1 连续测量
测量模式为ADXL372的默认工作模式。在此模式下,连续读取加速度数据,此模式下操作ADXL372时,本数据表中描述的所有功能都可用。
1.2.2 瞬时开启模式
即时开启模式使极低的功率冲击检测。在这种模式下,加速度计持续监测环境。当检测到超过内部阈值的事件时,设备切换到测量模式记录事件。
目标默认阈值是10g到15g,但它可以变化。如果默认阈值过低,寄存器选项允许将阈值增加到30g到40g的目标。
为了节省电力,在加速度计切换到正常工作状态之前,没有新的数字加速度数据可读取。但是,所有的寄存器都有正常的读/写功能。
1.2.3 唤醒模式
唤醒模式是理想的简单检测存在或不运动,在极低的功耗。唤醒模式对于实现低g运动激活的开/关开关特别有用,允许系统的其余部分断电,直到检测到持续的活动。在唤醒模式下,设备断电的持续时间等于唤醒定时器,由时序寄存器中的WAKEUP_RATE位设置,然后打开的持续时间等于滤波器沉淀时间(参见滤波器沉淀时间部分)。
如果检测到运动,加速度计可以根据设备配置以多种方式自主响应,例如:
- 切换到全带宽测量模式
- 向微控制器发出中断信号
- 唤醒下游电路
在唤醒模式下,所有寄存器和FIFO都具有正常的读/写功能,并且可以以降低的唤醒速率从数据寄存器读取实时数据。然而,在唤醒模式期间,没有新的数据存储在FIFO中,并且在唤醒模式中没有可用的中断。
1.3 滤波器
1.3.1 低通抗混叠滤波器
在没有抗混叠滤波器的情况下,频率超过ODR混叠一半或折叠到测量带宽的输入信号可能导致测量不准确。为了减轻这种不准确性,在ADC的输入端提供了一个四极低通滤波器。过滤带宽由用户可选,默认带宽为200hz。最大带宽最多限制为ODR的一半,以确保不违反Nyquist标准。
1.3.2 低通抗混叠滤波器
高通滤波器是一阶无限脉冲响应(IIR)滤波器。下表列出了可用的−3dB频率,用户可选择,取决于输出数据速率。高通和低通滤波器可以同时用于设置带通选项。
1.3.3 数据输出速率(ODR)
ADXL372可以选择400hz、800hz、1600hz、3200hz或6400hz的加速度数据数据速率。用户可选择ODR,默认为400hz。如果用户选择的抗混叠滤波器带宽大于ODR的一半,则设备默认带宽为ODR的一半。增加或减少ODR会相应地增加或减少电流消耗。
1.4 中断
1.4.1 活动中断和非活动中断
当检测到活动和不活动时,分别设置活动位和非活动位。
1.4.2 数据准备中断
DATA_RDY位在有新的有效数据可用时设置,在没有新数据可用时清除。
在读取任何数据寄存器时,DATA_RDY位都不设置。如果在读取寄存器之前DATA_RDY = 0,并且在读取寄存器期间有新数据可用,则DATA_RDY保持0直到读取完成,然后才设置为1。
如果在读取寄存器之前DATA_RDY = 1,则在读取寄存器开始时将其清除。
如果在读取寄存器之前DATA_RDY = 1,并且在读取寄存器期间有新数据可用,则在读取寄存器开始时将DATA_RDY清除为0,并在整个读取过程中保持0。
当读取完成时,DATA_RDY设置为1。
1.4.3 FIFO中断
①当FIFO中存储的样本数量等于或超过FIFO_SAMPLES中指定的数量时,设置FIFO_FULL位(寄存器0x39与FIFO_CTL寄存器中的位0一起)。当从FIFO读取足够的样本时,FIFO_FULL位自动清除,使得剩余的样本数量低于指定的数量。
FIFO采样数设置为0,表示设置Watermark中断。为了避免意外触发这个中断,FIFO_SAMPLES寄存器的默认值是0x80。
②当FIFO输出缓冲区中至少有一个有效数据可用时,设置FIFO_RDY位。当FIFO中没有有效数据可用时,该位被清除。在FIFO触发模式下,只有在检测到活动中断后才设置,并且围绕事件的数据保存在FIFO中。
③当FIFO溢出或溢出时设置FIFO_OVR位,这样新数据取代未读数据,这可能表明尚未清空的完整FIFO或由缓慢的SPI事务引起的时钟错误。如果将FIFO配置为最旧保存模式,则溢出事件表示没有足够的空间可用于新的样本。当FIFO和STATUS寄存器的内容都被读取时,fif_ovr位被清除。当FIFO被禁用时,它也被清除。
1.5 自检
自检功能通过SELF_TEST寄存器中的ST位启用,寄存器0x40。使用自检功能的建议步骤如下:
- 将设备置于测量模式。
- 确保启用了低通活动过滤器。
- 通过在SELF_TEST寄存器(寄存器0x40)中设置ST位来进行自检。
大约300毫秒后,读取自检状态位ST_DONE和USER_ST,以检查通过或失败的情况。
二、 串行通信
2.1 SPI
SPI模式为:CPHA = CPOL = 0。即CLK空闲时为低,在CLK第一边沿(上升沿)读取数据。
ADXL372支持最高10MHz的SCLK频率。连接ADXL372进行SPI通信,接线如下图所示。
读寄存器和写寄存器的命令结构分别如图40和图41所示。
读和写寄存器命令支持多字节(突发)读/写访问。多字节读和写命令的波形图分别如图42和图43所示。
2.2 IIC
关于IIC的介绍数据手册没有给出过多的介绍,只是给出了几个时序图,不过能从图中看出基本的配置需求,如果使用IIC通信,按照该图的时序进行编写代码即可。
注意:IIC设备地址为0x53.
三、寄存器
在此只介绍部分重要的寄存器,一些用不到的就不介绍了,感兴趣的小伙伴可以自己去看一下数据手册。
3.1 状态寄存器
DATA_RDY位是数据准备位,若是三个轴的数据已经准备好了,则该位置1,表示数据已准备完成,现在可以读取加速度数据。
3.2 X轴数据寄存器
由于数据是12位的,所有由两个寄存器组成,第一个寄存器保存数据的高八位,第二个寄存器的前四位保存数据的低四位。
Y轴和Z轴的数据寄存器和X轴一样,所以在这就不详细介绍了。
3.3 最高峰值数据寄存器
峰值数据寄存器包含自该寄存器最后一次读取以来记录的最高幅度样本对应的加速度数据。数据被左对齐并格式化为两个补码。
该寄存器的数据格式和加速度数据寄存器的格式一样,在这就不再过多介绍了。
3.4 偏移寄存器
偏移寄存器由四位组成,并提供用户集。这些寄存器的比例因子如图下图所示。
读取寄存器的值之后,就可以根据上图的对应关系将各轴的偏移值对应起来,注意,各轴的偏移值不一样。
3.5 高通滤波器设置寄存器
注意,虽然设置了寄存器的值,但是高通滤波的频率会随着ODR的不同而变化,所以在此要注意ODR的值。
3.6 中断引脚函数映射寄存器
INT1_MAP和INT2_MAP寄存器分别配置INT1和INT2中断引脚。位[6:0]选择哪个函数在引脚上产生中断。如果它对应的位被设置为1,则该函数在INTx引脚上产生中断。
bit7配置引脚是工作在高电平(bit7低电平)还是低电平(bit7高电平)模式。关于这句话,我的理解是:如果bit7设置为0,那么在产生中断时INT1,引脚为高电平;如果bit7设置为1,那么在产生中断时INT1,引脚为低电平。
每个引脚可以同时选择任意数量的功能。如果选择了多个函数,则需要将它们的条件组合在一起以确定INTx引脚状态。每个函数的状态可以通过读取状态寄存器来确定。如果没有中断映射到INTx引脚,则引脚保持在高阻抗状态。
3.7 外部定时控制寄存器
3.8 测量控制寄存器
3.9 电源控制寄存器
3.10 自检寄存器
四、 往期回顾
课题学习(一)----静态测量
课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
课题学习(四)----四元数解法
课题学习(五)----阅读论文《抗差自适应滤波的导向钻具动态姿态测量方法》
课题学习(六)----安装误差校准、实验方法
课题学习(七)----粘滑运动的动态算法
课题学习(八)----卡尔曼滤波动态求解倾角、方位角
课题学习(九)----阅读《导向钻井工具姿态动态测量的自适应滤波方法》论文笔记
课题学习(十)----阅读《基于数据融合的近钻头井眼轨迹参数动态测量方法》论文笔记
课题学习(十一)----阅读《Attitude Determination with Magnetometers and Accelerometers to Use in Satellite》
课题学习(十二)----阅读《Extension of a Two-Step Calibration Methodology to Include Nonorthogonal Sensor Axes》
课题学习(十三)----阅读《Calibration of Strapdown Magnetometers in Magnetic Field Domain》论文笔记
课题学习(十四)----三轴加速度计+三轴陀螺仪传感器-ICM20602
课题学习(十五)----阅读《测斜仪旋转姿态测量信号处理方法》论文
课题学习(十六)----阅读《Continuous Wellbore Surveying While Drilling Utilizing MEMS Gyroscopes Based…》论文
课题学习(十七)----姿态更新的四元数算法总结
课题学习(十八)----捷联测试电路设计与代码实现(基于MPU6050和QMC5883L)
课题学习(十九)----Allan方差:陀螺仪噪声分析
课题学习(二十)----阅读《近钻头井斜动态测量重力加速度信号提取方法研究》论文
课题学习(二十一)----姿态更新的四元数算法推导
课题学习(二十二)—《A Double-Stage Kalman Filter for Orientation Tracking With an Integrated Processor …》