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

ADS127L11: ADS127L11

Part Number:ADS127L11

技术参数里面提到这个adc的速度可以达到800K甚至1MSPS,我们用stm32H743单片机读取,单片机主频能达到400兆,SPI接口能到100兆, 但还是只能达到400ksps的传输速度. 改用DMA来读取, 有好多乱码,不可行.  请问怎样才能读到ADS127L11芯片所宣称的800KSPS的速度?

Amy Luo:

您好,

需要配置在 High-speed mode、Sinc4 Filter、OSR=16 模式下,即寄存器 CONFIG2 配置为 High-speed mode,寄存器 FILTER[4:0] 配置为01001 = sinc4, OSR = 16,在这种配置下,在连续转换模式下,DRDY信号频率应该是800KSPS。

,

biao xiang:

配置ADC输出速率800KSPS,这是很容易的事情。 但我问的是:当配置完成后,单片机或CPU如何高速读取数据。 目前我们用的100M速率的SPI,不支持读取这个ADC输出400KSPS以上的数据,我们用的是单次应答式读取ADS127L11的数据。有无办法用DMA连续读取?这样才能读取到800KSPS的全部数据。

,

Amy Luo:

biao xiang 说:,SPI接口能到100兆, 但还是只能达到400ksps的传输速度

在Frame Size为40bits时,800KSPS的数据速率,需要的SPI速率是800K*40bits,即32MHZ,SPI可以到100MHZ这是完全可以的,我不明白您说只能达到400ksps的传输速度具体是什么意思?还是说速率太高,设计的PCB走线不够好影响了信号的传输质量以至于主控端不能正确识别ADC发出的高低电平?

,

biao xiang:

你这种计算指的是连续传输,是我说的DMA连续传输。但问题是ADS127L11读取数据是应答式的,发一下收一个,再发一下再收一个,所以速度起不来。这就是为什么我在问,能不能启用连续传输的方式来解决这个问题。但是资料里面是不支持连续传输的。或者SPI的速度增加一倍到200兆,问题是我们找不着有这么高速度的SPI.

,

Amy Luo:

ADS127L11支持连续转换,在连续转换模式下不需要发送命令,主控端检测DRDY信号就可以,设置好转换速率,启动转换后DRDY信号就会以设置的转换速率来指示新的转换数据已完成,主控端在规定的转换周期内将转换结果接收了就可以,所以这里的SPI速率需满足转换周期的要求,以在转换周期内完成转换结果的读取,否则的话就会漏掉转换结果。

,

biao xiang:

Amy Luo 说:DRDY信号就会以设置的转换速率来指示新的转换数据已完成,主控端在规定的转换周期内将转换结果接收了就可以

我们的问题恰恰就是设置了800KSPS的时候,无法在规定的时间内取出数据,因为要等待DRDY,有时间间隙。只有在400ksps的时候,才能把所有数据全部取出。  请问TI公司的大牛,哪位工程师实现了800KSPS数据的全部读取?最好读取到单片机,CPU也可以。教教我们方法,不胜感激。

,

Amy Luo:

biao xiang 说:我们的问题恰恰就是设置了800KSPS的时候,无法在规定的时间内取出数据,因为要等待DRDY,有时间间隙。

您使用的SPI速率大于需要的SPI速率,为什么不能在规定的时间内取出数据?

因为您的SPI速率是100MHZ,而在ADC的速率为800KSPS时需要的SPI速率最大为32MHZ,您使用的SPI速率大于需要的SPI速率肯定要等DRDY,但是这并不影响ADC以设置的800KSPS进行转换数据,主控端需以设置的ADC转换周期来读取转换数据,可以不使用整个转换周期来读取转换数据(即此时的SPI速率较高,一个转换周期还没到就将转换数据读完了,此时就需要等DRDY),但是需在转换周期内读完,否则的话会漏掉DRDY,所以是需要等或者说等待DRDY的触发信号来读取AD转换结果的。

,

biao xiang:

时钟有那么快并不代表在什么工作模式下有那个传输能力,否则DMA就没有存在的必要了。别纸上谈兵,贵公司实现800KSPS数据采集试试。反正我们实战了很久,搞不定。

,

Amy Luo:

因为您需要的ADC的转换速率是800KSPS,所以使用DMA读取的话,也需要将DMA配置在800KSPS,否则的话读取的速度与AD转换的速度不匹配,读取结果就会不正确。具体怎样将DMA配置在800KSPS,建议您咨询所使用主控端厂家的技术支持。

赞(0)
未经允许不得转载:TI中文支持网 » ADS127L11: ADS127L11
分享到: 更多 (0)