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.

ADS1255: AN1输入浮电问题

Part Number: ADS1255

这边采用ADS1255作为数据采集,由于芯片描述内部有buffer且输入阻抗为80M,因此输入信号未在外部加buffer,然后发现输入信号采用2个5M电阻分压测试电压不准,撤掉输入信号后用外部万用表直接测量AINCOM和AIN1之间电压,发现有1.2V左右的浮电(考虑万用表输入阻抗10M欧,这个浮电带载能力比较强)。 芯片配置为STATUS=0x02(使用buffer),MUX=0x18(AIN1为+,AINCOM为-),ADCON=0x00(放大倍数1),采样率采用5/100SPS均有浮电。AINCOM接地,AIN1原电路为输入信号采用2个5M分压,AIN1和AINCOM之间的RC滤波去掉和不去掉均有浮电。请问这个浮电是怎么来的,另外对于单端输入超过5V的信号,是否不能直接采用外部高阻值电阻分压后直接输入给AIN1而必须用外部高精度运放做buffer处理后输入?

  • 您好,

    这个输入阻抗是指的差分输入阻抗,80MΩ是指在 fCLKIN = 7.68MHz,数据速率是在≤ 50SPS情况下的值。

    您是否验证了寄存器写入后可以正确读出来?我想确认下您的寄存器值已正确配置进去;

    您可以附上您测量输入端有浮电时的电路图吗?特别是模拟输入端处的电路;

    另外对于单端输入超过5V的信号,是否不能直接采用外部高阻值电阻分压后直接输入给AIN1而必须用外部高精度运放做buffer处理后输入?

    输入超过5V的话,一个是ADC在buffer on时不满足模拟信号输入范围,buffer on时输入范围到 AVDD − 2.0V,另一个是输入阻抗低,如果信号源阻抗比较高的话,输入至ADC的模拟信号幅值会衰减。

  •  电路图请参考这个,寄存器可以正确读出。如果去掉图中的R19,然后将R16改成0欧姆,此时测量AIN的电压值ADC输出的读数是正确的。如果R16和R19都断开,直接测量C30两端的电压就是1.2V左右,连接上R16和R19,AIN接采样电压,ADC输出结果也是偏差很大,AIN的电压对ADC值影响很小,主要是浮电电压起主要作用。C30尝试加大或者移除均有问题。

  • 另外AIN的输入电压测试值为2.5V,可以满足AVDD(5V)-2V的要求,虽然输入是采用5M的分压,会影响到ADC的模拟信号赋值,但是如果是80M的输入阻抗的话,ADC输出值衰减是合理的,但不至于主要受浮电影响。

  • 您是在悬空AIN1和AINCOM管脚时测量其差分电压存在1.2V电压是吗?我想这样测量是没有意义的,模拟输入管脚在没有输入时测量其电压相当于测量的外界电磁干扰耦合进的电压。

    连接上R16和R19,AIN接采样电压,ADC输出结果也是偏差很大,AIN的电压对ADC值影响很小,主要是浮电电压起主要作用。

    我认为这里ADC输出结果偏差很大是因为模拟输入信号的内阻太大的缘故造成的,ADC若使用的数据速率比较大的话,其差分输入阻抗是很小的,在默认30KSPS时是10MΩ,因此测量会存在很大的偏差。

  • 这个应该不是干扰导致的,更换了不同芯片和做了屏蔽处理,电压值都是1.2V左右。 输入阻抗芯片80M输入阻抗,外部5M分压,此时分压起主导作用的是分压电路,但是我外部加1V或者2.5V,测量结果仍在1.2V这就有问题了,如果没有这个浮电,输入阻抗误差可以通过MCU做软件校准就可以了,之前采用其他的ADC如CS1237这么做就是OK的。因此如果有机会可以测测看是否官方demo也是这个问题或者请教一下SE,谢谢!

  • 但是我外部加1V或者2.5V,测量结果仍在1.2V这就有问题了

    您的意思是说,在连接R16和R19时,AIN不管是接采样电压1V还是2.5V,在电容C30两端测量的电压都是1.2V吗?如果是这样的话,检查下AIN1和AINCOM管脚是否还连接了其他地方?

  • 确认没有连接到其他地方。AIN接不同电压只对adc结果产生几十mv级别轻微影响。电压直接接c30就是基本准确。

  • 我想这个还是与信号源的阻抗和ADC的输入阻抗有关。使用R16和R19分压时使得信号源阻抗比较大,而ADC的输入阻抗又比较小,使得ADC采集电压不正确。

    对于信号源阻抗比较大或者输入阻抗比较小的情况,建议使用电压跟随器进行阻抗转换一下,电压跟随器输入阻抗比较大而输出阻抗比较小可以解决这个问题。

  • 如果是说通过加buffer的方法那么就不用上论坛咨询了,现在是测试和datasheet理论计算是不符合的,80M的输入阻抗其实已经是比较大的数值

  • 在连接R16和R19时,AIN不管是接采样电压1V还是2.5V,在电容C30两端测量的电压都是1.2V吗?同时您确认将DATA RATE设置在≤ 50SPS?

  •    不是buffer的问题,在输入增加同相放大的运放再输入,测量输入信号电压和ADC值(只取20位),发现并没有线性的关系,应该是输入还是叠加了浮电。尝试更换输入滤波RC值或者参考电压RC值均无效,示波器抓取供电,参考电压和输入电压,没有发现异常纹波。

  • 感谢您进一步反馈!

    表格中万用表一列是什么值,测量的哪里的值?

    ADC值是十进制数表示的输出code 吗?最后一列是什么值?表格中的值是在什么条件下测出的呢

  • 万用表测量点就是U12/U11之间的电压。ADC值是十进制输出的code(只读取20bit的值转换)。最后一列是万用表值除以ADC值,如果是线性的话,比值应该是一个用于校准的常数。

  • 万用表测量值换算为电压是多少?您可以测量下ADC输入管脚处的电压值吗?看下和期望值是否一致?基准电压是多少,我想看下输入与输出之间的差别