我需要建立一个平台来记录一些传感器数据。并且可能稍后对这些记录的数据进行一些计算。
Raspberry Pi 似乎是一个有趣(而且便宜!)的设备。
我有一个可以以 800 Hz 采样的陀螺仪,相当于每 1.25 ms 采样一次。陀螺仪有一个内置的 FIFO,可以存储 32 个样本。这意味着 FIFO 必须至少每 32 * 1.25 = 40 ms 清空一次,否则样本将被丢弃。
所以我的问题是:我能否 100% 确定我的内核驱动程序能够在指定时间内从该 FIFO 中提取数据?
陀螺仪通过 i2c 与主机通信,如果这会使事情变得更简单,它还可以在“几乎满”事件上触发中断引脚。但是,如果我可以在驱动程序中有一个循环来定期检索数据,那将是最简单的。
我可以忍受将数据存储在内核空间中,并且不经常将其移动到用户空间(没有时间限制)。
我也可以接受以较低的采样率对陀螺仪进行采样(400 或 200 Hz 是可以接受的)。
这是关于股票内核的,而不是特殊的实时内核,因为树莓派目前似乎不支持这种内核。