微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1271似乎有记忆功能?求解惑

ADS1271似乎有记忆功能?求解惑

时间:10-02 整理:3721RD 点击:

是这样的,我采用了一片ADS1271,模式为高速SPI模式,我是采用上位机发送一个命令就采集1024个电压值,有一个问题就是每次采集的前面39值都是上次采集留下来的,例如我第一次ADC测量的是1V,那采样出来就是1024个1,如果我第二次把电压改为2v,采集的数据就变成了1,1,1,1,1,1,1,,,,(39个)...2.2.2.2.2.2.2.

看起来就想是ADC有记忆功能似的,例如我第三次把电压改为3V,采集的数据就变成了2,2,2,2,2,....(39个),......33333.我想问一下,这是为啥?

很奇怪的是, 为什么是 39 个, ADC 结果会在结果寄存器里, 也没有 39 个寄存器那么多.

所以我怀疑你的软件也可能有问题呢

您的测试结果很准确!ADS1271的确有“记忆”效应,这个“记忆”效应是内部的高阶FIR滤波器造成的,当模拟输入信号变化后,内部FIR滤波器的各级寄存器中还保存着前次采样的结果,因此造成这种效应,我们称之为“群延迟”(group delay)。ADS1271在高分辨率模式下的群延迟恰好是39个数据周期,因此你看到39个数据周期的延迟后输出才会跟随输入变化。如果您的设计不希望有这种延迟,建议采用内部滤波器为SINC类型的(但这种类型的sigma-delta ADC往往带宽较窄),或者逐次逼近型的ADC。

那我再问一下,如果我不更换芯片,是不是这个群延时是没办法消除的

是的,消除不了。不过,有个办法也许有用。这个器件转换速率比较高,如果你实际使用的采样率不高的话可以这样做:假定你实际需要1k采样,可以让它工作在39k(或40k)采样率,CPU每隔39个采样取一个采样,这样在软件里面就看不到这个延迟了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top