1ms未満の間隔でメモリがプリロードされたペイロードを使用してネイティブイーサネットフレームを作成する

1ms未満の間隔でメモリがプリロードされたペイロードを使用してネイティブイーサネットフレームを作成する

メモリにプリロードされたペイロードを使用してネイティブイーサネットフレームを作成したいと思います。イーサネットフレーム(10〜60個のフルフレーム)は、例外なく1ms間隔で生成する必要があります。

私はこれをするために何を選びますか?私の興味は、そのようなアプリケーションのリアルタイム要件です。中断を最小限に抑える必要があり、プロセスに実行専用コアが必要ですか? Linux/ソフトウェアがオプションでない場合、代替はFPGAです。

潜在的な解決策を聞くことを楽しみにしています。

答え1

1msの場合、いくつかのイーサネットフレームを生成するのに十分ですが、一般的なLinuxシステムでは、一時停止が発生しないことを期待することはできません。プロセスを高い優先順位に設定しても、常に1msの期限を設定することはできないようです。

リアルタイムLinuxリアルタイムオペレーティングシステムとLinuxを組み合わせます。 Linuxは、リアルタイムスケジューラでリアルタイムではなく優先順位タスクとして実行されます。

RTLinuxの経験が不足しているので、具体的なアドバイスをすることはできませんが、イーサネットドライバが含まれているため、ユースケースに適しているようです。

答え2

非常に難解なディストリビューションを使用しない限り、LinuxまたはUNIXシステムの一般的な派生はライブではありません。例外なく1ミリ秒などの時間を見ている場合は、他の場所、つまりリアルタイムオペレーティングシステムを見てください。 Linuxでは、誰が何をするように努めても、最善を尽くす必要があります。 CPU、I/O、またはその他のリソースに対する競合がある場合、プロセスは引き続き実行されますが、1〜2ビットをスキップしたり、予想より遅くなることがあります。 1ms間隔で速くなりました。これは異常ではありません。これは意図的に設計されています。

関連情報