Beagleboneblack Beaglebone Black采样速率太慢,并给出错误的电压libpruio

Beagleboneblack Beaglebone Black采样速率太慢,并给出错误的电压libpruio,beagleboneblack,sampling,adc,Beagleboneblack,Sampling,Adc,说到这类事情,我几乎是个傻瓜,所以如果你们能帮我或者带我去一个地方学习我需要知道的东西,我会非常感激 基本上,我的问题是我正在使用libpruio库从电路板上连续采样模拟值。这里出了两个问题 第一个是,每当BB对电压进行采样时,连接到AIN引脚的导线的电压就会升高。我通过将示波器连接到引脚正在采样的同一根导线上观察到了这一点。我看到的是,每当BB开始采样时,整个信号(仅来自放大话筒的声波)都会向上移动0.8-0.9伏。这也反映在我从BB得到的值中,大约为30000(当它们应该为0时)。将引脚连接

说到这类事情,我几乎是个傻瓜,所以如果你们能帮我或者带我去一个地方学习我需要知道的东西,我会非常感激

基本上,我的问题是我正在使用libpruio库从电路板上连续采样模拟值。这里出了两个问题

第一个是,每当BB对电压进行采样时,连接到AIN引脚的导线的电压就会升高。我通过将示波器连接到引脚正在采样的同一根导线上观察到了这一点。我看到的是,每当BB开始采样时,整个信号(仅来自放大话筒的声波)都会向上移动0.8-0.9伏。这也反映在我从BB得到的值中,大约为30000(当它们应该为0时)。将引脚连接到地上会得到0,这是正确的,将其连接到1.8伏会得到65520,这也是正确的。也许这和信号微弱有关

第二个问题是,即使我以500khz-900khz的速率接收值,实际速率似乎在11khz左右。我的意思是,我每88us只得到一个新值,其余的值保持不变,直到下一个88us过去,当我得到一个新值时。这些时间对应于我在上一段中提到的电压上移。所以实际上我在示波器上看到的是,每当我用BB取样时,都会有一个锯波,频率是我前面提到的11khz

总之,每当BB采样时,它首先将引脚上的电压增加0.9伏,然后对该电压进行采样,然后在接下来的88秒内电压下降,同时BB将在周期开始时采集的样品吐回。我不要这个。我希望它不会显著影响电压,并在每次代码运行时都采集新样本

至于我正在使用的代码,它基本上是libpruio库中IO_输入示例的一个稍加修改的版本,其值存储在一个数组中以供以后使用,而不是立即打印

如果你们需要更多的信息,我很乐意把它贴在这里,但现在我想知道我是否遗漏了一些非常明显的信息

把销钉挂在地上会得到0,这是正确的,然后挂起来 高达1.8伏的电压让我感觉像65520,这也是 对的也许这和信号微弱有关

BBB和libpruio似乎工作正常。检查你的线路

关于采样率,io_输入示例使用io模式。如果需要精确计时,请使用MM模式或RB模式

你的目标不是很明确,所以我不能给出详细的建议。(一些代码也有助于理解您要做的事情。)