AN-1063:利用过采样技术改善ADXL345输出分辨率

AN-1063
应用笔记
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 Tsuzuki和Christopher Fisher
简介
ADI公司的 ADXL345三轴加速度计包括一个数字接口和内
置模数转换器(ADC)。ADXL345在所有g范围内(±2g、±4g、
±8g和±16g)具有3.9 mg/LSB的高分辨率,适合大多数应用。
在需要更高分辨率的应用中,可使用过采样技术来提高
ADXL345的分辨率。此应用笔记说明如何利用先进先出
(FIFO)缓冲器提高ADXL345的分辨率。
过采样原理
对来自加速度计的加速度信号进行数字信号处理的第一步
是模数转换。对于具有模拟输出的加速度计,加速度计的
信号通过外部ADC被数字化,其分辨率取决于应用的需求
和设计者的选择。相对于模拟输出加速度计,数字输出加
速度计(如ADXL345)具有一个内部ADC,且其分辨率已由
传感器设计决定。
过采样技术是使用比所需速率高得多的速率对模拟信号进
行采样来提高分辨率的技术。与数字滤波和抽取结合使
用,可产生更高的分辨率。甚至对于ADC分辨率已固定的
数字输出加速度计,仍可使用该技术以更高的分辨率对加
速度进行测量。过采样背后的原理是过采样信号中的总量
化噪声与以原速率采样的信号相同,但总量化噪声被分散
到了更高的带宽中。该过采样信号可以原始带宽滤波,减
少总量化噪声。总噪声降低以后,在保持原始信噪比
(SNR)的同时,信号可以更小的步进进行分辨。
表1所示为过采样系数,它决定ADXL345的输出数据速率
比应用中所需数据速率高多少。对于2倍或 1 LSB分辨率的
提高,过采样系数必须是4。而4倍或2 LSB分辨率的提高则
要求过采样系数为16。
表1. 过采样系数与分辨率的提高
过采样系数
4
16
SNR的提高
6
12
ADXL345的实现
ADXL345为具有数字接口的三轴加速度计。它包含一个13
位ADC和一个具有强大中断系统的32级FIFO(每轴)输出
缓冲器。当规定数量数据存储在FIFO中时,它将产生一个
中断信号。通过写入适当的寄存器,可对ADC的输出数据
速率进行配置。
由于FIFO具有可配置输出数据速率以及灵活的中断系统,
因此ADXL345非常适合于过采样技术。
输出数据速率设置
在对ADXL345使用过采样技术时,用户必须首先确定过采
样系数。根据分辨率提高所需的等级选择过采样系数:当
分辨率需要提高1 LSB时,选择过采样系数为4;当分辨率
需要提高2 LSB时,选择过采样系数为16。接下来,根据所
需数据速率选择传感器的输出数据速率。例如,若在应用
中所需数据速率为12.5 Hz,分辨率需要提高1 LSB,那么
ADXL345的数据速率可配置为50 Hz (12.5 Hz × 4)。输出数
据速率可在BW_RATE寄存器中进行设置。
FIFO设置
当存储在FIFO中的数据数量与过采样系数值相等时,应该
设 置 FIFO在 此 时 产 生 一 个 中 断 。 该 类 型 中 断 称 为 水 印
(WM)中断。FIFO既可以在FIFO模式下使用,也可以在流
模式下使用(更多信息,请参见ADXL345数据手册)。
产生WM与FIFO操作所需的数据量可由FIFO_CTL寄存器
设置。INT_ENABLE寄存器用于使能WM中断。INT_MAP
寄存器控制是否将WM中断分配到INT1引脚或INT2引脚。
关于此应用笔记中没有提到的使用FIFO的其它详细信息,
请参考ADXL345数据手册或AN-1025应用笔记,即《ADI
数字加速度计中先进先出(FIFO)缓冲器的使用》。
数据格式
分辨率的提高(用位数表示)
1.0
2.0
通过访问数据寄存器(每轴两个字节)可读取ADXL345的数
据。当在±2 g模式下使用右对齐数据时,加速度数据如表2
所表示(带有扩展符号位的10位数据字段用二进制补码表
示)。
Rev. 0 | Page 1 of 2
AN-1063
微处理器中的数据处理
噪声考虑因素
根据应用中所需的数据速率,配置ADXL345产生WM中断。
处理器基于对应于WM中断的过采样系数读取多种数据。
然后,数据必须经过数字滤波,并经过抽取获得所需分辨
率数据。简单、有效的滤波和抽取方法是求平均值。将所
有从ADXL345读取的数据相加,然后除以2或4,在分辨率
上就可以分别得到1 LSB或2 LSB的提高。(当过采样系数为4
时则除以2,当过采样系数为16时则除以4。)
过采样仅能改善ADC的量化误差。可通过噪声密度和用于
过采样的数字滤波器的性能计算ADXL345的输出噪声。
当ADXL345的输出数据速率为200 Hz且有16组数据存储在
FIFO中并产生水印中断时,过采样的时序图如图2所示。
表3为处理器内部过采样系数为4时数据处理过程的实例。
对于移动平均数的情况(16倍过采样可提高2 LSB),输出数
据速率为100Hz,图1所示为滤波器的增益响应。
ADXL345的噪声为白噪声,它在每个频率上的功率相同。
可通过以下方程计算输出噪声:
输出噪声(g rms) =


噪音密度 g /
Hz 
2
 

 
× 滤波增益 dB × ∆f Hz
0
在3.9 mg/LSB分辨率时,Data1为256 LSB。应当对应为1000
mg。Data2为257 LSB和约1004 mg,如此类推。当所有四个
数据相加且除以2以后,数据变成512 LSB,也就
–10
–20
GAIN (dB)
是在1.95mg/LSB分辨率下的1000mg。此表明分辨率有1 LSB
的提高。
值得注意的是,ADXL345的数据为二进制补码。当除以负
数时,移位的数据可能导致结果与实际数据不一致。
–30
–40
–60
0
5
10
15
30
20
25
FREQUENCY (Hz)
35
40
50
45
08859-001
–50
图1 移动平均数滤波器的增益响应
表2. ADXL345的数据格式(±2 g, 右对齐)1
D7
符号
1
D6
符号
0x33 (X)/0x35 (Y)/0x37 (Z)
D5
D4
D3
D2
符号
符号
符号
符号
D1
D9
D0
D8
D7
D7
D6
D6
0x32 (X)/0x34 (Y)/0x36 (Z)
D5
D4
D3
D2
D5
D4
D3
D2
D1
D1
D0
D0
DATA_FORMAT寄存器用于配置ADXL345的动态范围和数据格式。
80ms (16 SETS OF DATA × 5ms)
ADXL345 DATA
ACQUISITION
DATA ACQUISITION (16 SETS OF DATA)
DATA ACQUISITION (16 SETS OF DATA)
MICROCONTROLLER
OPERATION
READ DATA
DATA PROCESS
READ DATA
08859-002
VOLTAGE OF
INTx PIN WITH WM
DATA PROCESS
图2 过采样技术的时序图
表3. 过采样过程中的数据格式
Data1 (256 LSBs)
Data2 (257 LSBs)
Data3 (255 LSBs)
Data4 (256 LSBs)
Data1至Data4的和
将总和除以 2 (512 LSBs)
D15
0
0
0
0
0
0
D14
0
0
0
0
0
0
D13
0
0
0
0
0
0
D12
0
0
0
0
0
0
D11
0
0
0
0
0
0
D10
0
0
0
0
1
0
©2010 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
AN08859-0-3/10(0)
Rev. 0 | Page 2 of 2
D9
0
0
0
0
0
1
D8
1
1
0
1
0
0
D7
0
0
1
0
0
0
D6
0
0
1
0
0
0
D5
0
0
1
0
0
0
D4
0
0
1
0
0
0
D3
0
0
1
0
0
0
D2
0
0
1
0
0
0
D1
0
0
1
0
0
0
D0
0
1
1
0
0
0