TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS8686S: 读取值为实际值一半,是什么原因导致?

Part Number:ADS8686S

你好,

ADS8686S使用SPI串行通讯,软件模式;SDOA单线数据,终端配置±5V量程,刚开开始运行均正常,校准系数都对,突然code值变为一半;改变输入值也成比例变化,录波波形也正常,幅值也是一半,DFT值也是按设计量程也是一半;读寄存器回复也是对应软件下发对应量程地址。

当把寄存器改为±2.5V时、code值和设计的±5V量程一致,显示值都是对的;当配置成±10V时,仿真看此时量程像是±20V量程对应。

请帮忙看下可能原因,谢谢!

Amy Luo:

您好,

是在什么都不变的情况下,输出code值变为一半吗?感觉像是您漏读了转换结果的MSB位数据,请注意CS下降沿输出转换结果的MSB位,随后的SCLK上升沿输出后续转换结果位。

建议您用示波器或者逻辑分析仪捕获下下面FIgure 7-30波形图,看下是ADC本来输出值就减半,还是主控端读取时漏读最高位造成的输出值减半?

,

Chu Allen:

你好,

现在的现象是我们通过软件配置的量程和AD转换出来的数据是不对的,比如软件配置的通道量程是5V,配置5V再读出来寄存器也是5V,但是AD转换的数据是按照10V量程转换的。我们也试了设置成10V,实际就是按照20V量程转换的。

按我的理解,丢失MSB也不会正好是一半,

如果真是MSB丢失,MSB是符号位,如何会出现转换值正好是一半的?这点如何理解呢?

,

Amy Luo:

Chu Allen said:如果真是MSB丢失,MSB是符号位,如何会出现转换值正好是一半的?

嗯嗯您说的对,ADS8686S 输出code格式是二进制补码形式。很抱歉 我想当然为二进制格式了。

现在我怀疑您是不是输出code转输出电压过程有误。您可以举一个例子吗?比如说输入模拟电压是多少?输出code是多少?范围配置是多少?怎样计算的输出电压?

正常情况下,如果范围配置5V量程,那么 LSB=[5V -(-5V)]/2^16,输出电压就是输出code乘以LSB

如果您是这样计算的,那么请确认下输入电压是否为期望的输入电压,建议实际测量一下。

,

Amy Luo:

Chu Allen said:突然code值变为一半

您说突然减半,那重新上电后是否恢复呢?有没有可能芯片已经损坏?用同样的程序测试另一块电路板,输出正常吗?

,

Chu Allen:

软件复位不能恢复,重新上电可以恢复正常,不是一直出现,有一定概率出现,随机的。目前仍在查找原因。硬件模式下是OK的。

,

Amy Luo:

您测试几块板子是这种情况,有没有可能这块板子管脚存在虚焊造成的?

在软件模式下有些管脚不使用是否做了正确的连接?

出现这种现象后,您读取寄存器配置是否与之前相比有改变?

,

Chu Allen:

你好,

上面的问题我们都测试确认过,比如当我设置寄存器的范围为±5V时,当我进AD的电压为5V左右时,按理论采集值就应该是32000左右,但是实际采集值是16000,寄存器配置读出来没有问题,就是我设置的±5V。

并且我们还试了增加采样电压值,当我加的电压超过10V,也能采样,加13V按我们理解应该溢出,但是实际采样值就是按照设置量程的两倍±10来转换的,采样值21000多、没有溢出。

,

Amy Luo:

也就是说不止一块板子是这种情况?如果是这样的话,硬件方面的原因小,很可能是软件方面的问题。

您输入负的电压测量code是多少?也是减半吗?因为输入负的电压,输出code最高位是1,这样容易检查输出code的高位部分是否丢失

,

Amy Luo:

将输出 code转换为电压的各种范围下的LSB datasheet已给出,如下截图,自己不要计算错了:

,

Chu Allen:

您好,计算没有问题。

当设置所有通道的量程为5V时(设置完回读输入范围寄寄存器0x04,0x05,0x06,0x07的值均为0xAA),当通过继保仪施加交流电压7V,通过示波器监视输入电压波形如下:

按照正常来说,输入已经超过量程范围,采样应该溢出,但是实际采样值是按照10V量程转换的,并未溢出,采样原始数据波形如下:

当采样异常(采样值为理论值一半)时,读取VCC和ALDO通道的值基本一致

还有什么原因会导致这个问题呢?

,

Amy Luo:

HW_RNGSEL[1:0]管脚是怎样连接的,请确保在软件模式下为低电平不变化;

看功能框图AVDD和ALDO是在9:1 MUX处输入的,没有经过PGA,这样看难道是PGA出现问题了?建议您附上原理图,我看下原理图;

您测试的每块板子都有这个现象吗?对于测试电路板出现这种现象的比例是多少?

,

Amy Luo:

您这个寄存器配置的是什么?这个与范围和通带频率有关:

,

Chu Allen:

HW_RNGSEL[1:0]管脚接到AGND的。不是一直出现这种现象,是随机出现的。

,

Chu Allen:

这个现在配置的是15K

,

Amy Luo:

Chu Allen said:当采样异常(采样值为理论值一半)时,读取VCC和ALDO通道的值基本一致

也就是采用异常时,读取VCC和ALDO 的值都是正确的?如果是这样的话,感觉像是前端PGA+LPF+ADC driver这段信号链中出问题了,不知道是不是物料的问题,您可以确认下物料来源吗?所使用物料最终购货渠道来源是TI吗?

或者您可以在TI 官网订购几片芯片以验证吗?即在 ADS8686S 产品首页右上角点击“立即订购”网页会自动滑动到购买处,如下截图所示:

ADS8686S 产品首页链接:https://www.ti.com.cn/product/cn/ADS8686S

赞(0)
未经允许不得转载:TI中文支持网 » ADS8686S: 读取值为实际值一半,是什么原因导致?
分享到: 更多 (0)