2377294_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2377294_ja-JP

2377294_ja-JP

S32K3 EMIOSに関するいくつかの質問

サポートチームの皆様へ


eMIOSに関して、いくつか技術的な質問があります。

1. XチャネルとGチャネルの両方にCNTレジスタがあります。なぜ両方のチャネルがOPWFMBをサポートしているのに、GチャネルだけがOPWMCBをサポートしているのですか?

2. Emios0_Ch3 を DOAC モードに設定し、「フラグ イベントは B マッチ時のみ発生する」ようにしました。

このチャネルの割り込みコールバック関数内で、デューティサイクルを変更します。

しかし、出力はデューティサイクル500の波形が5つ、続いてデューティサイクル1000の波形が4つ、というように循環する。

133行目でデューティサイクルを1000に、137行目で500に設定しましたが、動作は変わりません。

Jason22_3-1780646049744.png

デューティサイクルを他の値に変更すると、次のようなパターンが見られるようです。

デューティサイクルが大きい波形は、予想よりも1回少ない回数(5回ではなく4回)で現れるのに対し、デューティサイクルが小さい波形は、予想どおり5回現れる。

この問題はOPWMTモードおよびOPWMBモードでは発生しません。

3. MCRレジスタのGPREは、OPWFMBモードの波形周波数に影響を与えないのでしょうか?

他の条件が変わらない状態で、Emios_Mcl のこのパラメータを変更しても、OPWFMB モード (Emios0_Ch0) の出力周波数は変化しません。

Jason22_1-1780645731247.png

4.リファレンス・マニュアルによると:

「eMIOSはGCP出力信号をMCU CP(Cn[UCPRE] + 1)で割って、MCU内部カウンタのクロックイネーブルを生成します。」OPWFMB周波数がGPREの影響を受けないのはなぜですか?

Cn[UCPRE]の機能は何ですか?

Jason22_2-1780645775635.png

上記の質問にお答えいただければ大変ありがたいです。


よろしくお願いいたします。

Re: several questions about S32K3 EMIOS

こんにちは、@Jason22

1.どちらのチャネルタイプにも内部カウンタが含まれていますが、これは内部構造が同じであることを意味するものではありません。以下は一般的な比較です。

  • タイプG(7チャネル):フル機能搭載。内部カウンターを搭載していますが、このカウンターは他のチャネルと共有することはできません。
  • タイプX(15チャネル):内部カウンターを搭載しており、そのMC/MCBカウンターバスは他のチャネルと共有して使用できます。

2. S32M27x/S32K3 – eMIOS 使用法に記載されている DAOC サンプル プロジェクトを参照してください。この例には、ドライバの制限事項に関する情報が含まれており、適切な使用方法に関する有益なガイダンスが提供されています。

3. クロック分周器の値は、eMIOSインスタンスの入力クロック周波数を分周するプリスケーラとして機能します。これは、そのインスタンス内のすべてのチャネルで使用される基本時間分解能を実質的に決定するものです。

  • 分周器の値を大きくすると、クロック周波数が低下し、タイマー周期が長くなり、結果として出力信号の周波数が低下します。
  • 分周器の値を小さくすると、クロック周波数が上昇し、タイマー周期が短縮され、結果として出力信号の周波数が高くなります。

BR、VaneB

Re: several questions about S32K3 EMIOSこんにちは、 @VaneBさん

質問にお答えいただき、誠にありがとうございました。
「eMIOSはGCP出力信号をMCU CP(Cn [UCPRE]+1)で割って、MCU内部カウンタのクロックイネーブルを生成する」という点について、まだいくつか疑問があります。実際のテストでは、C2_n [UCPRECLK] が 0 の場合、プリスケールされたクロックの周波数は、(Cn [UCPRE]+1) ではなく、GCP を (C2_n [UCEXTPRE]+1) で割った値に等しいことがわかりました。この文は Emios_Pwm_Ip_HwAccess で見つけました。h (RTD700): "ビットフィールド UCPRE は使用されません。代わりに、値はC2のUCEXTPREを使用して制御されます。リファレンスマニュアルには「C2_n [UCEXTPRE]の最下位2ビットはUCPREを反映している」と記載されている。リファレンスマニュアルにはUCPREが何度も登場しているのを見かけますが、ドライバコードの中でUCPREが使われている箇所が見当たりません。
UCPREは何のために使われるのか説明していただけますか?

よろしくお願いします
Re: several questions about S32K3 EMIOS

こんにちは、@Jason22

関連する以下のThreadをご参照ください。参考になるかもしれません。

PWMキャプチャクロックの周波数分割問題

Tags (1)
No ratings
Version history
Last update:
3 weeks ago
Updated by: