私はSocketCanが初めてです。仮想缶を使用していますが、SocketCAN が CAN ID に基づいて優先順位付けを行うかどうかを知りたいです。私の質問は、仮想缶を使用しているため、データを送信してから、送信されたデータをすぐに受信することです。負荷を作成しようとすると、CAN ID の低い CAN フレームがキューでより長く待機し、優先度の高いフレームの後に受信されることが予想されます。では、SocketCAN はこの優先順位付けを管理していますか?
1 に答える
1
SocketCAN は、実際の CAN インターフェイスでアービトレーションを処理します。これは、時間によってトリガーされ、ビットレートがあります。アービトレーションは、優先度の高いメッセージが転送の途中で優先度の低いメッセージを中断できるようにし、優先度の低いメッセージを強制的に待機させるために必要です。
vcan インターフェイスはタイム トリガーではなく、リアルタイム ハードウェア、ビット レート、マルチタスク システムでのメッセージ衝突の可能性がないため、アービトレーションは必要ありません。vcan メッセージは、プロセッサがビットをカウントできる速度で「送信」および「受信」されます。
于 2016-10-13T16:22:51.237 に答える