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.

ADS1256: 8通道依次采样,数据不正确

Part Number: ADS1256

SPI总线速度1.40625MB/S,基于STM32的HAL库下,对八通道输入同一道方波,方波频率20HZ、40HZ、60HZ时,会出现只有部分通道采样的数据能显示波形,输入其他频率的方波时,会存在采样到的数据显示的波形占空比与输入方波的占空比不相同,这种情况是属于寄存器配置不正确吗

  • 您好,

    您使用同样的配置,仅对一个通道的方波信号采集,采集结果正确吗?

    ADS1256内部仅集成了一路ADC,8路模拟输入是通过 Multiplexer多路复用器实现的,因此在对8路信号进行依次采样时,每采集一个sample都需要配置MUX reg来改变选通的通道,如下Figure 19所示读取时序图:

  • 您好

    仅配置单通道,数据采样正确,符合输入的模拟信号波形

    在切换通道时,参考说明手册中描述,30K采样点时,需要DRDY引脚信号出现五次低电平之后数据可用,但实际使用时,等待五次低电平后依然出现数据错误的情况

  • 仅配置单通道,数据采样正确,符合输入的模拟信号波形

    这说明应该不是寄存器配置问题,这应该是切换通道时时序出现了问题。

    在切换通道时,参考说明手册中描述,30K采样点时,需要DRDY引脚信号出现五次低电平之后数据可用,但实际使用时,等待五次低电平后依然出现数据错误的情况

    这里不是指“DRDY引脚信号出现五次低电平之后数据可用”,当设置30KSPS时,其实际DRDY周期是(1/30K)*5,因此您仅需检测到一个DRDY低电平后读取数据。

  • 您好,更改DRDY的检测代码后,未出现预期的效果,您是否可以帮助我检查一下我的寄存器配置

    在等待DRDY为低时,

    写入STATUS寄存器为0x04,使高位在前,使用自校准,不使用缓冲

    写入ADCON寄存器为0x00,放大倍数1倍

    写入DRATE寄存器为0xF0,数据速度为30K

    写入IO寄存器为0x00,引脚控制为0

    再次等待低电平,写入0xf0,使其自校准

    之后进行采样数据读取,等待DRDY低电平,写入0x51,0x00,0x08,0xfc,0x00,0x03,而后读取三字节数据,再次等待DRDY低电平,写入0x51,0x00,0x18,0xfc,0x00,0x03,而后读取三字节数据并记录为0号通道转化值,重复完成全部8通道读取

    读写采用STM32F446单片机的硬件SPI,速率为1.40625MBit/S

    感谢您的帮助

  • 关于寄存器配置,我明天会具体看下。另外我找到下面链接有 ADS1256 example code,您可以先看下是否有帮助:

    http://www.tide.ti.com/dcp/Examples/c5500.xml

  • 您将 RDATAC (03h)命令改为 RDATA (01h)命令结果怎样?在切换通道的应用中应该不可以使用RDATAC命令

  • 您好,非常感谢您的帮助,RDATAC (03h)与RDATA (01h)均尝试过,数据读取均不符合预期值

  • 您是否验证了寄存器读写正确,即寄存器写入后可以正确读出写入值?

    如果寄存器写入没问题,建议用示波器测量下读取时序图,看波形图是否存在问题

  • 请问寄存器读取,是否是对芯片写入要访问的寄存器,然后再读取即可,可能是漏看了某部分说明手册。

    您昨天提供的网站,我这边是无法打开,请问是否是属于那种外网

  • 寄存器写入使用WREG命令,读取寄存器使用RREG命令,在datasheet 36页有寄存器读写命令说明;

    这个可能是TI 内网,我下载下来一个附在下面,您看下是否有帮助:

    1643.ADS1256-C5509A-CCS3v1.zip

x 出现错误。请重试或与管理员联系。