こんにちは、
私は S32K344 を使用しており、以前はPIT を使用して DMA 転送を定期的にトリガーしていました(具体的には、あるバッファーから別のバッファーにデータを移動していました)。この設定はうまく機能しました。
現在、 PIT を eMIOS に置き換えてDMAMUXを定期的にトリガーしようとしていますが、問題が発生しています。私は、OPWMB モードで eMIOS を使用してこれを実装し、周期的な信号を生成して、PIT と同様に DMAMUX をトリガーすることを期待しました。ただし、DMA 転送は行われていないようです。
デザインを明確にし、サポートを得るために、セットアップを再現する最小限のサンプル プロジェクトを作成しました。含まれるもの:
どなたか調べていただき、何が問題なのかを特定したり、eMIOS が DMAMUX を確実にトリガーするための正しい構成を提案していただければ幸いです。
こんにちは、
はい、フラグが設定されると DMA 要求が生成されます。フラグ設定時間は使用するモードによって異なるCAN。
OPWMB モードでは、これは BS1 一致 (後縁) または AS1/BS1 両方一致 (前縁/後縁) のいずれかになります。
OPWMT モードでは、フラグは AS2 マッチ時にのみ設定されます。AS1、BS1、または BS2 の一致はフラグに影響しません。SO、フラグ生成はエッジの配置に依存せず、PWM 期間にわたって自由に設定できます。
BR、ペトル
こんにちは、
今は動作しています。情報ありがとうございます!
eMIOS PWMを使用して DMA を定期的にトリガーする必要があります。現在の設定では、 25 µs 周期のOPWMB モードを使用しています。私の理解では、DMA 要求はフラグが設定されたときに生成され、これはPWM 期間の終了時に発生します。
ご確認いただけますでしょうか:
また、定期的な DMA トリガーの場合、 OPWMT モードの方がOPWMBよりも正確かどうかも検討しています。
たとえば、タイムベースを25 µs (つまり、1000 ティック)に設定し、 TRIGGR を1000 ティックでアクティブにするように設定した場合、 OPWMT はより優れた制御またはタイミング精度を提供しますか?
定期的な DMA トリガーに最適なモードについて、詳細な洞察や推奨事項を共有していただければ幸いです。
よろしくお願いいたします!
こんにちは、
eMIOS チャネルで DMA トリガーが完全に有効化されていませんでした。以下のコードを追加
BR、ペトル