TI中文支持网
TI专业的中文技术问题搜集分享网站

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

Part Number:ADS1256

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

Amy Luo:

您好,

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

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

,

Chu Huang:

您好

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

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

,

Amy Luo:

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

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

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

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

,

Chu Huang:

您好,更改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

感谢您的帮助

,

Amy Luo:

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

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

赞(0)
未经允许不得转载:TI中文支持网 » ADS1256: 8通道依次采样,数据不正确
分享到: 更多 (0)