AN-1078: ADXL346快速入门指南

物理安装

ADXL346 是一款3轴加速度计,检测轴如图1所示。

Figure 1. Sensing Axes of ADXL346.

是一款3轴加速度计,检测轴如图1所示。

当ADXL346沿检测轴正向加速时,它对正加速度进行检测。检测重力时要注意,若检测轴的方向与重力的方向相反,则检测到的是正加速度。图2所示为输出对重力的响应。

Figure 2. Output Response vs. Orientation to Gravity.

图2 输出响应与相对于重力的方向的关系

ADXL346采用3 mm × 3 mm × 1 mm、16引脚小型超薄塑料封装。建议的印制电路板焊盘图形请参考ADXL346数据手册。

电气连接

ADXL346 通过 I2C 或SPI(3线式或4线式)进行通信。图3所示为推荐的4线式SPI模式电气连接。注意,当使用3线式SPI模式时可断开SDO引脚。

Figure 3. Recommended Connection for 4-Wire SPI Mode.

图3. 推荐的4线式SPI模式的连接

图4所示为推荐的 I2C 模式电气连接。该器件的7位 I2C 地址 是0x53,紧跟其后的是 R/W位。用户可以通过将SDO/ALT ADDRESS引脚连接到VDD I/O 引脚来选择I2C 的替代地址。该 配置的7位 I2C 地址是0x1D,紧跟其后的是 R/W 位。

Figure 4. Recommended Connection for I2C Mode.

图4. 推荐的 I2C 模式连接

有关电源去耦的详情,请参考ADXL346数据手册。

通信接口

表1列出了主机处理器通过SPI与ADXL346通信所需的典型配置。这些设置通常位于控制寄存器中。有关时序规范和命令序列,请参考ADXL346数据手册。

表1. SPI设置
处理器设置 描述
主机 ADXL346作为从机工作
SPI模式 时钟极性(CPOL) = 1
时钟相位(CPHA) = 1
位序 MSB优先模式

对于 I2C 通信,处理器设置和时序规范以及命令序列请参考 ADXL346 数据手册和《UM10204 I2C 总线规范和用户手册》 03版(2007年6月19日)。

有时在开始下一个设计阶段前确认通信序列的有效性是很重要的。这可以通过读取DEVID寄存器(地址0x00)实现。它是一个只读寄存器,其内容为0xE6。如果从DEVID寄存 器中读取的数据不是0xE6,这说明物理连接或命令序列不正确。

初始化

图5所示为最小初始化序列。ADXL346在此启动序列期间工作在100 Hz ODR,在INT1引脚上有DATA_READY中断。设置其它中断或使用FIFO时,建议所使用的寄存器在 POWER_CTL和INT_ENABLE寄存器之前进行设置。有关ADXL346的其它操作模式和FIFO的详情,请参考ADXL346数据手册和AN-1025应用笔记。

Figure 5. Minimum Initialization Sequence.

图5. 最小初始化序列

读取输出数据

DATA_READY中断信号表明数据寄存器中的3轴加速度数据已被更新。当新数据就绪时它会被置为高电平。(通过DATA_FORMAT寄存器,中断信号可设置为由低电平变为 高电平。详情请参见ADXL346数据手册。)利用低-高跃迁来触发对中断服务程序的操作。数据从 DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1寄存器中读取。为了确保数据的一致性,推荐使用多字节读取从ADXL346获取数据。图7所示为4线式SPI读序列实例。

数据格式

ADXL346采用16位数据格式。从数据寄存器中获取加速度数据后,用户必须对数据进行重建。DATAX0是X轴加速度的低字节寄存器,而DATAX1是高字节寄存器。在13位模式下,高4位是符号位(见图6)。注意,可通过DATA_FORMAT寄存器设置其它数据格式。详情请参见ADXL346数据手册。

Figure 6. Data Construction.

图6. 数据结构

Figure 7. Data Read Timing Sequence for 4-Wire SPI Connection.

图7. 4线式SPI连接的数据读取时序

ADXL346使用二进制补码数据格式。在13位模式下,1 LSB代表 3.9 mg.

表2. ADXL346输出数据格式
16位代码 (十六进制) 二进制补码表示 (十进制) 加速度 (mg)
0FFF 4095 +1599
0002 +2 +7.8
0001 +1 +3.9
0000 0 0
FFFF −1 −3.9
FFFE −2 −7.8
F000 −4095 −1600

使用自测功能

ADXL346提供自测功能来支持对器件的机电测试,无需外部机械激励。图8为推荐的自测序列。注意,当进行自测序列时,ADXL346应放置在稳定的环境中。

Figure 8. Self-Test Sequence.

图8. 自测序列

使用失调寄存器

ADXL346具有失调寄存器,可进行失调校准。失调寄存器的数据格式是8位二进制补码,分辨率为15.6 mg/LSB。如果失调校准的精度必须高于15.6 mg/LSB,则需要在处理器 中进行校准。失调寄存器会给测得的加速度增加写入的值。

Figure 9. Offset Calibration Sequence.

图9. 失调校准时序

对于这个校准程序,当施加0 g 输入时X/Y轴误差为零,而当施加1 g输入时Z轴误差为零。如果能在校准时旋转ADXL346,则可以达到更高精度。

作者

harvey-weinberg

Harvey Weinberg

Harvey Weinberg是ADI公司汽车事业部的技术专家。在过去的几年里,他一直从事与汽车相关的早期技术识别和开发工作,主要负责传感器方面的内容。他在ADI公司工作已有23年,曾先后任职MEMS惯性传感器应用工程部负责人和汽车事业部的系统应用工程经理。加入ADI公司之前,他曾担任过12年的电路和系统设计师,专门从事过程控制仪器仪表工作。他拥有加拿大蒙特利尔康考迪亚大学的电气工程学士学位。此外还拥有13项美国专利,范围涵盖了超声气流测量、惯性传感器应用和激光雷达系统等技术领域。