我需要建立一个记录一些传感器数据的平台。以后可能会对这些记录的数据做一些计算。
树莓派看起来很有趣(而且很便宜!)这个装置。
我有一个陀螺仪,可以在800赫兹采样,相当于每1.25毫秒一个样品。陀螺仪有一个内置FIFO,可以存储32个样本.这意味着FIFO必须至少每32 * 1.25 = 40毫秒清空一次,否则样品将被丢弃。
所以我的问题是:我能百分之百地确定我的内核驱动程序能够在指定的时间内从这个FIFO中提取数据吗?
陀螺仪通过i2c与主机通信,如果这样做更简单的话,它还可以在“几乎满”的-event上触发一个中断引脚。但是,如果我可以在驱动程序中有一个循环,定期检索数据,这将是最简单的。
我可以接受将数据存储在内核空间中,并将其更频繁地移动到用户空间(没有时间限制)。
我也可以在较低的采样率(400或200 Hz是可接受的)的陀螺仪采样。
这是关于股票内核,而不是特殊的实时内核,因为这似乎是目前不支持Raspberry Pi。
发布于 2013-02-02 11:49:16
您将需要一个实时linux环境来缩短时间:
你可以在树莓Pi:http://diy.powet.eu/2012/07/25/raspberry-pi-xenomai/上试试Xenomai。
然而,沿着这个博客:http://linuxcnc.mah.priv.at/rpi/rpi-rtperf.html (死了,我找不到它的回退或google缓存)
似乎他正在从股票内核中获得可重复的+/- 20S定时。由于你的时间分辨率是1250秒,如果你愿意在蓝月YMMV中丢失一个样本的话,你可能对股票内核没问题。
我还没有测试,但我自己,但我一直在阅读,试图驾驶一个ws2811的控制器与覆盆子Pi,这看起来是最有希望的。
还有RT补丁:Page。
它至少有一个pi版本:https://github.com/licaon-kter/raspi-rt
然而,当我深入观察这片土地时,我遇到了一群反对意见的人。
你最好的选择是阅读MS计时器,记录或点亮LED,如果你错过了一段时间,然后尝试一些解决方案。黑客很开心..。
https://stackoverflow.com/questions/14499643
复制相似问题