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.

ADS131E08: 使用单次转换命令RDATA时出现数据损坏

Part Number: ADS131E08

你好,

我在使用ADS131E08采集数据时,出现数据突变的现象,使用的是RDATA单次转换指令。硬件接口为,电源AVDD = 3.3V,时钟使用芯片内部时钟2.048MHZ,单端信号输入(CH1~CH6)

使用的MCU是C2000 DSP280039, 我的软件配置过程如下:

1、初始化SPI,4MHz, 16bit,极性Polarity 0, phase 0;

2、按手册RESET时序复位ADS131e08;

3、发送SDATAC命令,发送STOP命令;

4、配置CONFGG1  0xD2h,即多数据回读,采样率16KSPS;

5、配置CONFGG3  0x40h,使用外部基准源(3V);

6、初始化8个通道寄存器配置  0x10h,CH1~CH6使能,CH7、CH8失能;

7、发送START指令;

8、切换SPI的SCLK频率为10Mhz;

我在15KHz的PWM中断函数中发送单次转换指令RDATA,并发出余下的216个SCLK去读取8个通道的数据,整个过程CS引脚一直拉低,由于中断频率15K与设置的ADS131E08的采样频率16K是异步的,所以会出现DRDY事件与读取数据时钟SCLK重叠的现象,而手册中说不会导致数据损坏,可实际测试出现了数据损坏。

使用示波器抓的波形:

1:SCLK ;2、DOUT (MISO);3、DIN (MOSI) ;4、DRDY

数据损坏出现在以下时刻

再次放大示波器的波形:

我的另一个同事做了相关数据错误的测试,他的测试方法是:

1、需要读取通道2数据的高8位(24位数据的高8位),因为通道2 的输入是固定电压1.5V左右,如果数据发生突变,则高8bit数据会发生变化;他与上述配置的不同点是:SPI极性Polarity 1, phase 0;

2、如果高8bit数据会发生变化,拉高CS引脚,通过这个抓取示波器波形。

数据正常时刻的波形:1:CS ;2、SCLK;3、DIN (SIMO) ;4、DOUT(SOMI)

通道2的正常数据高8位0011 1111

通道2异常时刻的数据高8位0111 111

最后:使用单次转换指令RDATA的情况下,DRDY事件是否真的影响数据的读取?

期待您的回复,谢谢!