AN-1077: ADXL345 快速入门指南 (Rev. 0) PDF

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