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

AM335x连接AD芯片的问题

ti工程师,您好

我们的产品开发现在有一个需求,使用AM445X系列cpu直接通过类似spi接口来连接ad芯片采集数据,cpu要跑linux内核

因为外部不想加fpga或者cpld做粘合,所以想问一下,有什么办法能让cpu直接操作ad采集,同时又要保证采样率的准确和稳定性

能挂载一个ad芯片就够用,采样率不超过200khz

之前考虑过一个方案是edma+spi控制器的方式自主读ad数据,不知道是否可行

请给我们一个建议

Jian Zhou:

目前Linux下的SPI驱动就是EDMA方式驱动的,因此直接用SPI挂载一个高速AD采样芯片就可以。

luo qi:

回复 Jian Zhou:

感谢您的回复

还有个疑问,spi控制器里我没看到如何控制2次spi间隔的方法,比如40us发送一次申请

不知道您有什么建议么

Jian Zhou:

回复 luo qi:

具体是想怎么控制数据发送呢?应用层控制还是驱动层控制?

luo qi:

回复 Jian Zhou:

40us的采集间隔靠驱动或者应用层是不是对cpu来说负荷太大了?

我想edma能不能和spi配合起来实现40us间隔的信号采集,直接放到内存里,攒够一定量的数据后,然后cpu根据edma中断来处理数据

Jian Zhou:

回复 luo qi:

这个只能优化底层驱动,也要看看用层跑的程序多不多。

luo qi:

回复 Jian Zhou:

其实我有点疑问,比如操作系统上运行一个录音程序,那么音频信息如何进入cpu呢?

如果要cpu控制音频采集那就太不合理了,应该有类似于dma的方式直接把音频数据存储到ddr里的方法吧?

Jian Zhou:

回复 luo qi:

这种底层驱动的话,如果是数据采集功能,一般还是会用EDMA方式传输的。

实际上,Linux SDK的驱动层,SPI和MCASP(audio)还都是EDMA传输方式,请参考:

http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.11_Features_and_Performance_Guide#Device_Driver_List

luo qi:

回复 Jian Zhou:

好的,感谢回复,我试一下

稍后来结贴报告

leo chen:

回复 Jian Zhou:

200K速度不低了,用dma模式试试吧

赞(0)
未经允许不得转载:TI中文支持网 » AM335x连接AD芯片的问题
分享到: 更多 (0)