话不多说,转来的帖子(原帖链接:http://ezchina.analog.com/message/13602#13602 ),内容好不好直接见下文!想要直接下载附件的可在原帖中下载,这里就不传了哈。
物理安装
ADXL345是三轴加速度计。检测轴如图1所示。当ADXL345沿检测轴正向加速时,它对正加速度进行检测。在检测重力时用户需要注意,当检测轴的方向与重力的方向相反时检测到的是正加速度。图2所示为输出对重力的响应。ADXL345采用3mm×5mm×1mm、14引脚小型超薄塑料封装。推荐的印制电路板焊盘图形请参考ADXL345数据手册。
电气连接
ADXL345通过I2C或SPI(3线式或4线式模式)进行通信。图3所示为推荐的4线式SPI模式的电气连接。注意,当使用3线式SPI模式时可断开SDO引脚。图4所示为推荐的I2C模式电气连接。器件的7位I2C地址是0x53,紧随其后的是R/W位 。用户通过SDO/ALTADDRESS引脚连接到VDDI/O引脚来选择I2C的替代地址。此配置下的7位I2C地址是0x1D,紧随其后的是R/W位。有关电源去耦的详情请参考ADXL345数据手册。
通信接口
表1列出了主机处理器通过SPI与ADXL345通信的典型配置。这些设置通常位于控制寄存器中。关于时序规范和命令序列请参考ADXL345数据手册。
对于I2C通信,处理器设置和时序规范以及命令序列请参考ADXL345数据手册和《UM10204I2C总线规范和用户手 册》03版(2007年6月19日)。 有时在开始下一个设计阶段前确认通信序列的有效性是很重要的。这可以通过读取DEVID寄存器(地址0x00)实现。这是一个只读寄存器,其内容为0xE5。如果从DEVID寄存器中读取的数据不是0xE5,这说明物理连接或命令序列不正确。初始化图5所示为最小初始化序列。ADXL345在启动序列期间工作在100 Hz ODR,在INT1引脚上有DATA_READY中断。设置其它中断或使用FIFO时,建议所使用的寄存器在POWER_CTL和INT_ENABLE寄存器之前进行设置。有关ADXL345的其它操作模式FIFO的详情请参考ADXL345数据手册和AN-1025应用笔记。
读取输出数据
DATA_READY中断信号表明数据寄存器中的三轴加速度数据已被更新。当新数据就绪时它会被置为高电平。(通过DATA_FORMAT寄存器,中断信号可设置为由低电平变为高电平。详情请参见ADXL345数据手册。)利用低-高跃迁来触发中断服务列程 。可从DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1寄存器中读取数据。为了确保数据的一致性,推荐使用多字节读取从ADXL345获取数据。图7所示为4线式SPI读序列实例。
数据格式
ADXL345为16位数据格式。从数据寄存器中获取加速度数据后,用户必须对数据进行重建。DATAX0是X轴加速度的低字节寄存器,DATAX1是高字节寄存器。在13位模式下 ,高4位是符号位(见图6) 。注意,可通过DATA_FORMAT寄存器设置其它数据格式。详情请参见ADXL345数据手册。
在13位模式下,1 LSB代表3.9 mg。
使用自测功能
ADXL345提供自测功能支持对器件的机电测试,无需外部机械激励。图8为推荐的自测序列。注意,当进行自测序列时,ADXL345应放置在稳定的环境中。
使用偏移寄存器
ADXL345具有偏移寄存器,可进行偏移校准。偏移寄存器的数据格式是8位、二进制补码。偏移寄存器的分辨率为15.6 mg/LSB。如果偏移校准的精度必须高于15.6 mg/LSB,需要在处理器中进行校准。偏移寄存器将写入到寄存器的值相加来测试加速度。例如,如果偏移为+156 mg,那么应该往偏移寄存器写入−156 mg。图9所示为典型偏移校准序列。 对于这个校准程序,当施加0g输入时X/Y轴误差为零,当施加1g输入时X/Y轴误差为零。如果能在校准时旋转ADXL345就可以达到更高精度。