AN-1077 应用笔记 One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com ADXL345快速入门指南 作者:Tomoaki Tusuzki 物理安装 AZ ADXL345是三轴加速度计。检测轴如图1所示。 当ADXL345沿检测轴正向加速时,它对正加速度进行检 测。在检测重力时用户需要注意,当检测轴的方向与重力 AY 的方向相反时检测到的是正加速度。图2所示为输出对重 力的响应。 ADXL345采用3 mm × 5 mm × 1 mm、14引脚小型超薄塑料 封装。推荐的印制电路板焊盘图形请参考ADXL345数据手 AX 图1. ADXL345的检测轴 XOUT = +1g YOUT = 0g ZOUT = 0g TOP TOP XOUT = 0g YOUT = +1g ZOUT = 0g XOUT = –1g YOUT = 0g ZOUT = 0g XOUT = 0g YOUT = 0g ZOUT = +1g 图2. 输出响应与重力方向的关系 Rev. 0 | Page 1 of 8 XOUT = 0g YOUT = 0g ZOUT = –1g 09119-002 TOP XOUT = 0g YOUT = –1g ZOUT = 0g TOP GRAVITY 09119-001 册。 AN-1077 目录 物理安装 ............................................................................................1 读取输出数据 .................................................................................4 电气连接 ...................................................................................3 数据格式 ............................................................................................4 通信接口 ...................................................................................3 使用自测功能 ...................................................................................5 初始化 .......................................................................................3 使用偏移寄存器...............................................................................6 Rev. 0 | Page 2 of 8 AN-1077 电气连接 通信接口 ADXL345通过I2C或SPI(3线式或4线式模式)进行通信。图3 所示为推荐的4线式SPI模式的电气连接。注意,当使用3线 式SPI模式时可断开SDO引脚。 表1列出了主机处理器通过SPI与ADXL345通信的典型配 置。这些设置通常位于控制寄存器中。关于时序规范和命 令序列请参考ADXL345数据手册。 图4所示为推荐的I2C模式电气连接。器件的7位I2C地址是 0x53, 紧 随 其 后 的 是 R/W位 。 用 户 通 过 将 SDO/ALT ADDRESS引脚连接到VDDI/O引脚来选择I2C的替代地址。此 配置下的7位I2C地址是0x1D,紧随其后的是R/W位。有关 电源去耦的详情请参考ADXL345数据手册。 表1. SPI设置 VDD I/O CS 对于I2C通信,处理器设置和时序规范以及命令序列请参考 ADXL345数据手册和《UM10204I 2 C总线规范和用户手 册》03版(2007年6月19日)。 有时在开始下一个设计阶段前确认通信序列的有效性是很 重要的。这可以通过读取DEVID寄存器(地址0x00)实现。 这是一个只读寄存器,其内容为0xE5。如果从DEVID寄存 器中读取的数据不是0xE5,这说明物理连接或命令序列不 正确。 CIO VDD I/O ADXL345 PROCESSOR D OUT CS SDA/SDI/SDIO D OUT SCL/SCLK D OUT SDO/ALT ADDRESS D IN INT1 D IN INT2 D IN 09119-003 VS 初始化 图3. 推荐的4线式SPI模式的连接 VS 图5所示为最小初始化序列。ADXL345在启动序列期间工 作在100 Hz ODR,在INT1引脚上有DATA_READY中断。 设 置 其 它 中 断 或 使 用FIFO时 , 建 议 所 使 用 的 寄 存 器 在 POWER_CTL和INT_ENABLE寄存器之前进行设置。有关 ADXL345的其它操作模式和FIFO的详情请参考ADXL345数 据手册和AN-1025应用笔记。 VDD I/O VDD I/O CS CIO VS 位序 描述 ADXL345作为从机工作 时钟极性 (CPOL) = 1 时钟极性 (CPHA) = 1 MSB优先模式 VDD I/O RP RP PROCESSOR ADXL345 CS SDA/SDI/SDIO SCL/SCLK SDO/ALT ADDRESS INT1 INT2 D IN D IN 09119-004 D IN/OUT D OUT 图4. 推荐的I 2C模式的连接 START VS = ON VDD I/O = ON WAIT 1.1ms INITIALIZE COMMAND SEQUENCE END STEP REGISTER ADDRESS REGISTER NAME DATA DESCRIPTION 1 0x31 DATA_FORMAT 0x0B ±16g, 13-BIT MODE 2 0x2D POWER_CTL 0x08 START MEASUREMENT 3 0x2E INT_ENABLE 0x80 ENABLE DATA_READY INTERRUPT. 图5. 最小初始化序列 Rev. 0 | Page 3 of 8 09119-005 VS 处理器设置 主机 SPI 模式 AN-1077 ADXL345使用二进制补码数据格式。在13位模式下,1 LSB 代表3.9 mg。 读取输出数据 DATA_READY中断信号表明数据寄存器中的三轴加速度 数据已被更新。当新数据就绪时它会被置为高电平。(通过 DATA_FORMAT寄存器,中断信号可设置为由低电平变为 高电平。详情请参见ADXL345数据手册。)利用低-高跃迁 来 触 发 中 断 服 务 例 程 。 可 从 DATAX0、 DATAX1、 DATAY0、DATAY1、DATAZ0和DATAZ1寄存器中读取数 据。为了确保数据的一致性,推荐使用多字节读取从 ADXL345获取数据。图7所示为4线式SPI读序列实例。 表2. ADXL345输出数据格式 16位代码 (十六进制) 0FFF … 0002 0001 0000 FFFF FFFE … F000 ADXL345为16位数据格式。从数据寄存器中获取加速度数 据后,用户必须对数据进行重建。DATAX0是X轴加速度 的低字节寄存器,DATAX1是高字节寄存器。在13位模式 下 , 高 4位 是 符 号 位 ( 见 图 6) 。 注 意 , 可 通 过 DATA_FORMAT寄存器设置其它数据格式。详情请参见 ADXL345数据手册。 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 SIGN SIGN SIGN SIGN D11 D10 D15 D14 D13 D12 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 DATAX0 DATAY0 DATAZ0 DATAX1 DATAY1 DATAZ1 加速度(mg) +1599 … +7.8 +3.9 0 −3.9 −7.8 … −1600 09119-007 数据格式 二进制补码表示 (十进制) 4095 … +2 +1 0 −1 −2 … −4095 图6. 数据结构 INT1 PIN CS SCLK SDI DATAX1 DATAZ1 09119-006 DATAX0 SDO 0xF2 图7. 4线式SPI连接的数据读取时序 Rev. 0 | Page 4 of 8 AN-1077 使用自测功能 ADXL345提供自测功能支持对器件的机电测试,无需外部 机械激励。图8为推荐的自测序列。注意,当进行自测序 列时,ADXL345应放置在稳定的环境中。 START VS = ON VDD I/O = ON WAIT 1.1ms INITIAL COMMAND SEQUENCE WAIT 1.1ms TAKE 100 DATA POINTS AND AVERAGE ACTIVATE SELF-TEST STEP REGISTER ADDRESS REGISTER NAME DATA DESCRIPTION 1 0x31 DATA_FORMAT 0x0B ±16g, 13-BIT MODE 2 0x2D POWER_CTL 0x08 START MEASUREMENT 3 0x2E INT_ENABLE 0x80 ENABLE DATA_READY INTERRUPT WHEN AT ODR = 100Hz (WAIT TIME DEPENDS ON ODR SETTLING AND 1.1ms + 1/ODR) IT IS TO MINIMIZE THE EFFECT OF NOISE STEP REGISTER ADDRESS REGISTER NAME 1 0x31 DATA_FORMAT 0x8B DATA WAIT 1.1ms INACTIVATE SELF-TEST CALCULATE SELF-TEST DELTA AND COMPARE IT TO DATASHEET LIMITS SELF-TEST ON, ±16g, 13-BIT MODE IT IS TO MINIMIZE THE EFFECT OF NOISE STEP REGISTER ADDRESS REGISTER NAME 1 0x31 DATA_FORMAT 0x0B DATA DESCRIPTION SELF-TEST OFF, ±16g, 13-BIT MODE 09119-008 TAKE 100 DATA POINTS AND AVERAGE DESCRIPTION END 图8. 自测序列 Rev. 0 | Page 5 of 8 AN-1077 使用偏移寄存器 ADXL345具有偏移寄存器,可进行偏移校准。偏移寄存器 的数据格式是8位、二进制补码。偏移寄存器的分辨率为 15.6 mg/LSB。如果偏移校准的精度必须高于15.6 mg/LSB, 需要在处理器中进行校准。偏移寄存器将写入到寄存器的 值相加来测试加速度。例如,如果偏移为+156 mg,那么 应该往偏移寄存器写入−156 mg。图9所示为典型偏移校准 序列。 对于这个校准程序,当施加0g输入时X/Y轴误差为零,当 施 加 1g输 入 时 X/Y轴 误 差 为 零 。 如 果 能 在 校 准 时 旋 转 ADXL345就可以达到更高精度。 START PLACE SENSOR IN X = 0g, Y = 0g, Z = +1g ORIENTATION VS = ON VDD I/O = ON INITIALIZE COMMAND SEQUENCE WAIT 11.1ms TAKE 100 DATA POINTS AND AVERAGE CALCULATE CALIBRATION VALUE WRITE TO OFSTx REGISTERS END STEP 1 2 3 REGISTER ADDRESS 0x31 0x2D 0x2E REGISTER NAME DATA_FORMAT POWER_CTL INT_ENABLE DATA 0x0B 0x08 0x80 DESCRIPTION ±16g, 13-BIT MODE START MEASUREMENT ENABLE DATA_READY INTERRUPT WHEN AT ODR = 100Hz (WAIT TIME DEPENDS ON ODR SETTLING AND 1.1ms + 1/ODR) IT IS TO MINIMIZE THE EFFECT OF NOISE X_CALIB = –(OUTPUT (X) ÷ 4) Y_CALIB = –(OUTPUT (Y) ÷ 4) Z_CALIB = –((OUTPUT (Z) – 256) ÷ 4) STEP 1 2 3 REGISTER ADDRESS 0x1E 0x1F 0x20 REGISTER NAME OFSTX OFSTY OFSTZ 图9. 偏移校准序列 Rev. 0 | Page 6 of 8 DATA X_CALIB Y_CALIB Z_CALIB DESCRIPTION X_CALIB TO BE 8 BIT Y_CALIB TO BE 8 BIT Z_CALIB TO BE 8 BIT 09119-009 WAIT 1.1ms AN-1077 注释 Rev. 0 | Page 7 of 8 AN-1077 注释 ©2010 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. AN09119-0-6/10(0) Rev. 0 | Page 8 of 8