いくつかのセンサー データを記録するためのプラットフォームを構築する必要があります。そしておそらく後で、このログに記録されたデータに対していくつかの計算を行います。
Raspberry Pi は、このための興味深い (そして安価な!) デバイスのようです。
私は、1.25 ms ごとに 1 つのサンプルに相当する 800 Hz でサンプリングできるジャイロスコープを持っています。ジャイロスコープには、32 個のサンプルを保存できる FIFO が組み込まれています。これは、少なくとも 32 * 1.25 = 40 ミリ秒ごとに FIFO を空にする必要があることを意味します。そうしないと、サンプルがドロップされます。
私の質問は次のとおりです。指定された時間内に、カーネル ドライバーがこの FIFO からデータを抽出できることを 100% 確信できますか?
ジャイロスコープは i2c 経由でホストと通信し、「ほぼ満杯」のイベントで割り込みピンをトリガーすることもできます。しかし、一定の間隔でデータを取得するループをドライバーに入れることができれば、最も簡単です。
データをカーネル空間に保存して、ユーザー空間に移動する頻度を減らすことができます (時間の制約はありません)。
低いサンプル レート (400 または 200 Hz が許容範囲) でジャイロスコープをサンプリングすることもできます。
これはストック カーネルに関するものであり、特別なリアルタイム カーネルではなく、これは現在 Raspberry Pi ではサポートされていないようです。