我被赋予了以最高的速率(最高约300kSPS)将ADC样本放到嵌入式Linux计算机上的任务。我正在玩几个不同的平台(odroid,edison),但很容易就意识到在linux和时间内使用ADC构建的局限性(我相对来说是新手)。
现在我使用非常基本的交换缓冲区,PDB和USB连接,可靠地获得150kSPS的150kSPS。无论我的缓冲区大小,USB写入都需要2.5usec,因此任何更快的速度和ADC读取中断都会与USB发生冲突,我什么也得不到。
我的问题是:使用外部ADC芯片可以实现更快的速度吗?我看到Digikey和Mouser上的芯片广告600kSPS以及更高的SPI和甚至并行输出...但我的下跌就像瓶颈是用USB写的那么小。即使它可以(而且我相信它可以)每秒读取600k的值,你如何在不落后的情况下将它放到计算机上?
另外,这是为了长期收集所以我不能只存储所有内容并在收集结束后写下来。爱迪生有一个内置的微控制器,但尚未实现SPI。
修改 为了澄清,我的问题是天气有任何方法可以以编程方式快速地将大量数据放入我的嵌入式Linux设备中,或者在快速SPI设备和我不知道的计算器之间存在一些层。到目前为止,我的导师建议我1)学习为SPI设备编写设备驱动程序或2)用RT_PREEMPT重新编译图像。