This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC128S022: IN0通道会影响其它通道读数的问题

Part Number: ADC128S022

TI FAE 您好!

电路情况:

VD是一个3V LDO供电,VA是参考电压源供电,VD和VA是同时上电。8个ADC通道分别接入可变电阻和精密电阻分压之后的信号。

问题:

IN0通道的电压会影响其它通道的读数,实测IN0通道在0.8V左右以上时,其它通道的读数会被拉得偏高一些,而IN0通道电压低于0.8V时,其它通道读数又会被拉得偏低一些,偏高或偏低的幅度约10LSB(ADC读数我们已经过了50次平均,连续读数也是稳定的。),而且IN0通道偏离0.8V越多,其它通道被拉偏得就越多。而IN1到IN7通道就不会互相影响。

我们用示波器和万用表测过电源,很稳定,没有什么问题。

我在TI的英文网站上搜到有个极为相似的问题,链接如下,但没看到最终是否解决,供您参考一下。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1030245/adc128s022-data-anomaly-on-in0?tisearch=e2e-sitesearch&keymatch=ADC128S022#

我们的情况只有稍许不同,以下是我们的原理图。

请帮看一下为什么会有这样的问题?

  • 您好,

    IN0通道对其他每个通道都有影响是吗?影响的程度是一样的吗?您有IN0对其他通道影响程度的对比表格数据吗?

    还有一点,IN0仅是对输出code有影响而对模拟输入端电压没有影响是吗?我在想是不是PCB 布局的问题,在前端输入PCB 走线处,IN0通道的信号会耦合到其他通道上。

    ADC128S022对信号源输出阻抗有要求,建议要小于100Ω,看您使用的分压电阻,这远大于100Ω。因此建议像下面截图典型应用中一样加运放buffer。

  • 实测IN0对其它通道的影响程度是一致的。

    IN0对其它通道的影响只有读数有影响,对其它通道的真实信号没影响。我们测的NTC信号是环境温度,接近是直流,应该不是通过PCB耦合的。

    我们确实为了节省成本省去了运放,不过只有0通道会影响其它通道,其它通道间不会互相影响,这个有点奇怪。

  • 有没有Pin to Pin兼容的,可以接高阻抗信号源的其它型号可以替换?

  • 感谢反馈,也许IN0通道真的有些问题,我向美国工程师确认下这个问题。

  • 有没有Pin to Pin兼容的,可以接高阻抗信号源的其它型号可以替换?

    在 ADC128S022 产品首页有三款产品与ADC128S022  pin to pin 兼容,但是也都需要信号源阻抗小于100Ω。

  • 好的,感谢!美国那边如果有更新,麻烦同步给我们一下。

  • 很抱歉昨天我有些事情没有来得及提交给美国工程师,今天我已提交,得到回复后我会同步到这里。

  • 美国工程师的回复:

    What is the application?  There is nothing different about CH0 compared to the others, they all have the same input structure.  If they swap out the NTC on another channel and replace it with a static 10K do they see the issue move to the new channel?

    美国的工程师应该是注意到在您的应用中IN0通道与其他IN1至IN7通道的输入不一样,所以产生了上面的疑问,您可以详细解释下吗?

  • 这个电路用于测量一台设备的7个点的温度,由于VA电路的参考电压不具有驱动能力,因此使用了另一个电源(VCC_ADC_3V3)作为热敏电阻NTC电路的偏置电源,但这个VCC_ADC_3V3是普通LDO输出的,因此精度达不到要求,所以我们需要测量VCC_ADC_3V3实际上是多少,因此0通道用0.1%的电阻分压来测量VCC_ADC_3V3的实际电压,有了VCC_ADC_3V3的实际电压值和各通道测得的实际NTC分压点电压值,就可以准确计算出实际NTC值,从而换算出精确的NTC测量点温度值。

    比如,IN0通道读数是Data0,ADC_INx(x=1 to 7)读数为Datax,对应通道待测的NTC阻值为Rx,可以列出关系式:(Data0*2)/(10k+Rx)=Datax/Rx,其中Data0和Datax都是已知数(ADC读数),只有Rx是未知道,从而算出Rx。

    我们在调查这个问题过程中,已经是把10k的NTC替换成普通的精密电阻了,才定位到这个问题是0通道会影响其它通道。

    我们也做过实验把ADC_IN0信号从ADC的0通道断开,飞到其它通道,发现问题并不会转移动其它通道。

  • 看了您的回复,我想说明的是ADC128S022 不能同时测量两个通道的值,因此VCC_ADC_3V3的测量和各通道实际NTC分压点电压值的测量并不是同时进行的,也就是说计算NTC分压点电压使用的VCC_ADC_3V3并不是您测量的VCC_ADC_3V3电压值,测量它们的值时存在一定的时间间隔,在这个间隔内VCC_ADC_3V3电压有可能波动或变化。

    我们在调查这个问题过程中,已经是把10k的NTC替换成普通的精密电阻了,才定位到这个问题是0通道会影响其它通道。

    您的意思是其他通道的NTC换成与通道0相同的分压电阻,测量结果仍有上述现象?

  • 我们之所以要测量VCC_ADC_3V0这个电压,是因为它是LDO产生的,会有一定误差,并不是指它是不稳定的。之所以这样设计电路,是为了消除这个误差。但是当前问题是在测量是发现的,还没到通过计算消除误差这一步。

    您的意思是其他通道的NTC换成与通道0相同的分压电阻,测量结果仍有上述现象?

    是的。

    其他通道换成10k电阻代替NTC电阻,读数基本是准的,怀疑是因为其它通道电压和ADC_IN0是相同的;

    测过其他通道换成2k电阻代替NTC电阻,读数会偏大;

    测过其他通道换成比10k更大的电阻代替NTC电阻,读数会偏小;

    感觉ADC_IN0通道会把其他通道的读数往更接近ADC_IN0的方向拉一点,我们也怀疑过是否外部电路导致的这个问题,我们把ADC_IN0通道串的电阻(如上原理图位号R1034)去掉,在焊盘上飞线接了个机械开关来代替这个电阻,发现开关断开时,这个问题就消失了,开关闭合时,问题就会出现。

    VCC_ADC_3V3

    更正一下,前面说的这个VCC_ADC_3V3是笔误,如截取的原理图,实际是VCC_ADC_3V0,是一个3V的电源。

     

    您手里有没有这个ADC的Demo板,方便做一下弱驱动能力信号源的这个问题的验证吗?

  • 测过其他通道换成2k电阻代替NTC电阻,读数会偏大;

    测过其他通道换成比10k更大的电阻代替NTC电阻,读数会偏小;

    这里是不是反了,NTC换成2K时,读数偏小;换成10K以上时,读数偏大?因为NTC处的电阻值越大,读数越大:

  • 感觉ADC_IN0通道会把其他通道的读数往更接近ADC_IN0的方向拉一点,

    哦哦,看到您这句话意识到没有反。

    我会将上述测试现象反馈给美国工程师的,看他是否有进一步的分析

    我手里没有Demo板,我问下美国的工程师,看他是否可以用Demo板验证下

  • 我们也怀疑过是否外部电路导致的这个问题,我们把ADC_IN0通道串的电阻(如上原理图位号R1034)去掉,在焊盘上飞线接了个机械开关来代替这个电阻,发现开关断开时,这个问题就消失了,开关闭合时,问题就会出现

    您的意思是还是IN0前端模拟输入处影响了其他(IN1至IN7)通道?而不是我之前怀疑的是ADC内部的原因?

    测过其他通道换成2k电阻代替NTC电阻,读数会偏大;

    测过其他通道换成比10k更大的电阻代替NTC电阻,读数会偏小;

    我再想可能不是IN0通道的影响,可能是信号源输出阻抗太大的缘故。您将IN1通道保持是两个10k电阻的分压,其他(IN0、IN2至IN7)通道NTC换成2K或10K以上电阻测量结果怎样?是否有偏大或偏小的现象?

    将NTC换成2K或10K以上电阻时,用示波器(而不是万用表)测量VCC_ADC_3V0 电压是否有变化?

  • 我们也怀疑过是否外部电路导致的这个问题,我们把ADC_IN0通道串的电阻(如上原理图位号R1034)去掉,在焊盘上飞线接了个机械开关来代替这个电阻,发现开关断开时,这个问题就消失了,开关闭合时,问题就会出现

    您的意思是还是IN0前端模拟输入处影响了其他(IN1至IN7)通道?而不是我之前怀疑的是ADC内部的原因?

    我不确定是ADC内部的靠近引脚的模拟电路还是内部其他模块带来的问题,我这个验证,只是确定是否是ADC_IN0会影响其他引脚。

    我再想可能不是IN0通道的影响,可能是信号源输出阻抗太大的缘故。您将IN1通道保持是两个10k电阻的分压,其他(IN0、IN2至IN7)通道NTC换成2K或10K以上电阻测量结果怎样?是否有偏大或偏小的现象?

    其他阻值我们测得少,有测过50k左右,也是会受IN0的影响;有测过直接外接电源到IN1-IN7,相当于是信号源输出电阻为0,是没有问题的,读数是正常的。应该说肯定和信号源内阻有关系。

    将NTC换成2K或10K以上电阻时,用示波器(而不是万用表)测量VCC_ADC_3V0 电压是否有变化?

    无变化。

  • 我们也怀疑过是否外部电路导致的这个问题,我们把ADC_IN0通道串的电阻(如上原理图位号R1034)去掉,在焊盘上飞线接了个机械开关来代替这个电阻,发现开关断开时,这个问题就消失了,开关闭合时,问题就会出现。

    根据您这个测试现象,像是IN0外部电路影响了其他通道,即在IN0信号源至ADC输入脚这段信号PCB走线影响了其他通道。所以您可以附上这部分的PCB layout 吗?

    有测过直接外接电源到IN1-IN7,相当于是信号源输出电阻为0,是没有问题的,读数是正常的。应该说肯定和信号源内阻有关系。

    我在想是不是外接的电源驱动能力强,所以不易受其他通道的影响。

    您将IN1通道保持是两个10k电阻的分压,其他(IN0、IN2至IN7)通道NTC换成2K或10K以上电阻测量结果怎样?是否有偏大或偏小的现象?

    您可以在此条件下进行测试吗?我想和您上面IN0的现象做下对比

  • 我们也怀疑过是否外部电路导致的这个问题,我们把ADC_IN0通道串的电阻(如上原理图位号R1034)去掉,在焊盘上飞线接了个机械开关来代替这个电阻,发现开关断开时,这个问题就消失了,开关闭合时,问题就会出现。

    根据您这个测试现象,像是IN0外部电路影响了其他通道,即在IN0信号源至ADC输入脚这段信号PCB走线影响了其他通道。所以您可以附上这部分的PCB layout 吗?

    局部PCB如下截图,R10304到芯片引脚的线很短,1mm左右。

    您将IN1通道保持是两个10k电阻的分压,其他(IN0、IN2至IN7)通道NTC换成2K或10K以上电阻测量结果怎样?是否有偏大或偏小的现象?

    您可以在此条件下进行测试吗?我想和您上面IN0的现象做下对比

    这个测过了,如下引用。

    我们也做过实验把ADC_IN0信号从ADC的0通道断开,飞到其它通道,发现问题并不会转移动其它通道。

    就是把原来接ADC IN0通道的信号,和ADC IN0断开,然后把这个信号飞线改接到其他通道(比如INx),然后测IN1-IN7,在各种阻值下的读数,是正常的,注:此时ADC的IN0通道是断开的,如果此时要读IN0通道,把IN0通道接了信号,那别的通道读数又受影响了。

  • 我们也做过实验把ADC_IN0信号从ADC的0通道断开,飞到其它通道,发现问题并不会转移动其它通道。

    您的意思是说将IN0通道的R1034和IN1通道的R1036两个0Ω电阻去掉,然后将一个0Ω电阻焊接在R1034的2焊盘和R1036的1焊盘上,如下截图中玫红色箭头所示两个焊盘短接起来,这样操作后IN0信号对其他通道的影响消失了,是这样吗?

    就是把原来接ADC IN0通道的信号,和ADC IN0断开,然后把这个信号飞线改接到其他通道(比如INx),然后测IN1-IN7,在各种阻值下的读数,是正常的,注:此时ADC的IN0通道是断开的,如果此时要读IN0通道,把IN0通道接了信号,那别的通道读数又受影响了。

    这样看不是IN0信号源及其走线的问题。

    有测过直接外接电源到IN1-IN7,相当于是信号源输出电阻为0,是没有问题的,读数是正常的。应该说肯定和信号源内阻有关系。

    您将IN0通道信号源换成外接电源或其他内阻小的信号源,对其他通道还有影响吗?此时其他通道保持您电路原有的信号源即NTC分压电路。

  • 您的意思是说将IN0通道的R1034和IN1通道的R1036两个0Ω电阻去掉,然后将一个0Ω电阻焊接在R1034的2焊盘和R1036的1焊盘上,如下截图中玫红色箭头所示两个焊盘短接起来,这样操作后IN0信号对其他通道的影响消失了,是这样吗?

    连接关系是您说的这样的连接关系,不过我们是将要验证的电路相关焊盘飞线飞出来,需要验证哪两个焊盘短接时,我们就把这两个焊盘的飞线拧一起连上,这样断开也方便,可以实时在线看测量数据的变化。

    应该不是走线的问题,因为我们是接近直流的信号,电压基本上是不变的,并且电流很小,应该不存在走线互相耦合的情况。

    您将IN0通道信号源换成外接电源或其他内阻小的信号源,对其他通道还有影响吗?此时其他通道保持您电路原有的信号源即NTC分压电路。

    这个实验做过,对其它通道还是有影响,我们也反向验证了将R1034增大到100k,发现IN0对其它通道的影响能稍减小一点点,比如将R1034为0欧时,IN0对其他通道影响11LSB的情况下,将R1034增大到100k后,IN0对其他通道影响能减小到9LSB。

  • 感谢反馈!

    也就是说:当其他通道信号源内阻较大时,不管IN0通道信号源的内阻大还是小,IN0都会对其他通道产生影响?但是当其他通道信号源内阻较小时,IN0通道不会对其他通道产生影响?

  • 也就是说:当其他通道信号源内阻较大时,不管IN0通道信号源的内阻大还是小,IN0都会对其他通道产生影响?但是当其他通道信号源内阻较小时,IN0通道不会对其他通道产生影响?

    是的,信号源内阻小时,所有通道都没有问题,信号源内阻大时,IN0会影响其他通道,其他通道不会互相影响也不影响IN0通道。我们正在评估修改方案,下轮改板不用IN0通道了。

  • 我想这可能是为什么 datasheet 写明要使用小于100Ω的信号源了。明白了这个现象后,我将咨询下美国的工程师,为什么IN0通道有这种现象以及有什么解决办法,有回复后我会同步到这里。