AN-1078: ADXL346快速入门指南 (Rev. 0) PDF

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