サポートチームの皆様へ
eMIOSに関して、いくつか技術的な質問があります。
1. XチャネルとGチャネルの両方にCNTレジスタがあります。なぜ両方のチャネルがOPWFMBをサポートしているのに、GチャネルだけがOPWMCBをサポートしているのですか?
2. Emios0_Ch3 を DOAC モードに設定し、「フラグ イベントは B マッチ時のみ発生する」ようにしました。
このチャネルの割り込みコールバック関数内で、デューティサイクルを変更します。
しかし、出力はデューティサイクル500の波形が5つ、続いてデューティサイクル1000の波形が4つ、というように循環する。
133行目でデューティサイクルを1000に、137行目で500に設定しましたが、動作は変わりません。
デューティサイクルを他の値に変更すると、次のようなパターンが見られるようです。
デューティサイクルが大きい波形は、予想よりも1回少ない回数(5回ではなく4回)で現れるのに対し、デューティサイクルが小さい波形は、予想どおり5回現れる。
この問題はOPWMTモードおよびOPWMBモードでは発生しません。
3. MCRレジスタのGPREは、OPWFMBモードの波形周波数に影響を与えないのでしょうか?
他の条件が変わらない状態で、Emios_Mcl のこのパラメータを変更しても、OPWFMB モード (Emios0_Ch0) の出力周波数は変化しません。
4.リファレンス・マニュアルによると:
「eMIOSはGCP出力信号をMCU CP(Cn[UCPRE] + 1)で割って、MCU内部カウンタのクロックイネーブルを生成します。」OPWFMB周波数がGPREの影響を受けないのはなぜですか?
Cn[UCPRE]の機能は何ですか?
上記の質問にお答えいただければ大変ありがたいです。
よろしくお願いいたします。
こんにちは、@Jason22
1.どちらのチャネルタイプにも内部カウンタが含まれていますが、これは内部構造が同じであることを意味するものではありません。以下は一般的な比較です。
2. S32M27x/S32K3 – eMIOS 使用法に記載されている DAOC サンプル プロジェクトを参照してください。この例には、ドライバの制限事項に関する情報が含まれており、適切な使用方法に関する有益なガイダンスが提供されています。
3. クロック分周器の値は、eMIOSインスタンスの入力クロック周波数を分周するプリスケーラとして機能します。これは、そのインスタンス内のすべてのチャネルで使用される基本時間分解能を実質的に決定するものです。
BR、VaneB
こんにちは、@Jason22
関連する以下のThreadをご参照ください。参考になるかもしれません。