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