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 无论如何设置,在/DRDY 为低的时候,读到的数值始终为0

Other Parts Discussed in Thread: ADS1255, ADS1256EVM-PDK, ADS1256

电路:

单片机:STM32F373

通信接口:SPI3,速率2Mbps

初始化代码:

读取AD值代码:

读取结果,发回的AD值始终为0

测试二:读取地址为00H-0AH的寄存器值

代码:

返回值:

00H-0AH: 32 01 00 03 E0 00 30 75 00 00 00

最后三位为:FSC,值为0,根据公式:

这可能是导致读取AD值始终为0的原因。

 

但是,什么原因导致校准后的FSC0

  • 您好,
    如果您不执行校准操作,AD转换正常吗
  • 不执行校准,读到的AD值是0xFFFFFF
    寄存器值:32 01 00 03 E0 00 00 B0 00 00 00
  • 基准电压您设置的是多少?AIN0和AIN1管脚,您输入的信号幅值范围分别是什么
    如果输入信号满足AD的要求范围,您可以附上您读取转换结果的时序图吗
  • 基准电压由LT1019产生,实测2.5V
    放大倍数1
    输入测试:
    1.不连接
    2.将S-接GND,S+接可变电阻的可变端,电压从0~5V变化,输出结果均为0,无一例外,偶尔会变成0xFFFFFF
  • 1.不连接
    您这里的不连接是指悬空吗?不建议悬空,输入管脚悬空状态下输入信号是未知的,建议将输入管脚连接至固定有效电平来测试读AD转换结果
    2.将S-接GND,S+接可变电阻的可变端,电压从0~5V变化
    Buffer Enabled 或者说Buffer on的状态下,模拟输入管脚的电压输入范围是AGND ~ AVDD-2.0V,即0 ~ 3V,因此3 V至5V的输入电压超出了信号范围。
    如上建议AIN0和AIN1管脚输入固定的电平,读取AD转换结果,您是使用的RDATA还是RDATAC?请附上您读取转换结果的时序图,看时序是否存在问题
  • 将S-接地,S+给1V电压。依然读出的是0
    另外,这两天做了如下测试:
    1.将FSC寄存器写为0x2EE14C(参考手册,2.5Hz理想值),读回来是0x2EE14C,但是读取AD转换结果RDATA依然返回00 00 00
    2.换了一块新的ADS1255,依然是一样的现象(说明更大可能是电路或者程序的问题)
    3.将芯片上的数字地和模拟地就近连接,以避免产生压差,依然没有改善。
    芯片寄存器可以正常读写,而且所改变的采样率是生效的(有指示LED),就是读到的AD值始终是0,初始化后读取的FSC一直是0
    到底是什么原因,导致SELFCAL没有正常完成?
    感觉无计可施,生无可恋了。。。
  • 贵公司有ADS1256EVM-PDK 评估板,但好像没有针对ADS1255的?
    能否给我一个能够正常读到AD转换结果的示例,用什么单片机都无所谓,我需要了解:
    1.初始化程序,执行步骤
    2.读取初始化后FSC值(正常自校正后,是多少?)
    3.读取ADC值的操作
  • 我的建议是先不要使用AD的校准功能,能够正确读取AD转换结果后,再使用

    下面是TMS320C5500 的ADS1256的sample code,ADS1256与ADS1255区别不大,大概看了下好像是模拟输入接口数与GPIO口数的区别,您可以参考下:

    ADS1256-C5509A-CCS3v1.zip

  • 昨晚把电路从原理图,PCB,焊接好的板子,仔细检查了一遍,终于发现问题:焊板子的时候,把R51焊成一个0.1uF的电容!!!

    今早换掉,一切问题解决!

    电路原理图没错!

    初始化程序没错!

    读取程序没错!

    焊错一个元件,折腾了接近两周,总结一下吧:

    1.ADS1255的模拟电源,模拟地,参考电压和参考地,是决定ADC正常与否的关键,需要从原理,PCB和真实的板子上去确认。原理图上看的没错,但是焊出来的板子,是否真的跟设计的一致,是需要确认的。我一开始没有往这想,直到我换了一片ADS1255,问题依旧,就开始认为我的板子有问题。

    2.认真读手册。(这点我一开始就做的可以)

    3.不要轻易怀疑一个成熟的芯片,是不是坏了,尤其是还有部分功能正常的情况下(通信、读写寄存器一直正常)

    4.注意3.3V和5V的电平匹配,如果单片机是5V的话。

    5.重视电平时序,必要的延时

    6.这么小的板子,第一次用的时候,一定要引出信号测试针,以便调试!

  • 很高兴您的问题得到解决,感谢您的反馈
    是的,做设计必须每一步都得认真仔细
  • 感谢TI工程师的快速反应和帮助!
    不好意思,给你们添麻烦啦!
x 出现错误。请重试或与管理员联系。