器件型号:BEAGLEBN
工具/软件:Linux
您好!
我正在使用 BeagleBone Black Rev C 的 PRU0读取 ads8860,而 PRU1正在执行计时器以获得500kHz 采样率,因此我将代码从 Derek Moloy 示例(exploringbeaglebone.com/.../ )调整到 mcp3008,再调整到该 ADC (ads8860), 但我要使用 erros 获取许多样本。
在多次测试之后,我发现了这个问题,例如当我在模拟输入中具有恒定电压时,如3、3V,我应该得到43253 (16位分辨率,Vref=5V)或与所有样本接近的东西,但我有许多样本,包括43261、43317、43512、... 所有这些误差样本的值都是原始值的+8、+16、+24、+32、...+256或-256。 因此、我的结论是、我的软件正在移动或丢失样本的低有效位、并且在第一个误差之后、误差百分比开始增加。 我在23k256存储器(SPI)中进行了相同的通信、读取了一个值(15-1111)的地址、软件读取了很多14 (1110)和12 (1100)。
有 PRUADC.p 和 PRUClock.p 以及 PRUADC.c 用于与 ads8860进行通信。
我们将提供任何帮助、如果您想了解有关此方面的更多信息、请说。
此致、
David