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