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事件是否真的影响数据的读取?
期待您的回复,谢谢!
Alice:
您好,
抱歉回复晚了,
请参考此贴回复ADS131E08: Read Data with RDATA command and the result is corruption – Data converters forum – Data converters – TI E2E support forums