Community translation - AURIX™ MCU: PWM signal generation using CCU6 – KBA236919

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
NXTY_Tamura
Level 5
Level 5
Distributor - NEXTY (Japan)
25 replies posted 100 sign-ins 10 solutions authored

Hi ,

I want to translate the following KBA236919 into Japanese, please confirm to my work.
https://community.infineon.com/t5/Knowledge-Base-Articles/AURIX-MCU-PWM-signal-generation-using-CCU6...

Best Regards,
Tamura Go.

0 Likes
1 Solution
NXTY_Tamura
Level 5
Level 5
Distributor - NEXTY (Japan)
25 replies posted 100 sign-ins 10 solutions authored

AURIX™ MCU: CCU6を用いたPWM信号の生成 - KBA236919
バージョン **

CCU6は高分解能16ビット・キャプチャ&コンペア・ユニット(CCU)で、主にACドライブ制御用のアプリケーション特化型モードを備えています。CCU6モジュールは、2つの同一カーネルで構成されています。CCU60とCCU61です。各カーネルは2つのタイマ、すなわちタイマT12とタイマT13を備えています。T12は3つのコンパレータからなり、センター・アラインまたはエッジ・アラインのいずれかである最大3つの同期PWM信号を生成することができます。

CCU61カーネルを使用して、デッドタイムのある3組のコンプリメンタリ・センターアラインPWM信号を生成するには、以下を実行します。

 1.CCU61_CLC.DISRビットをクリアしてCCU61カーネルを有効化。
 2.CCU61_TCTR0コントロール・レジスタでT12の入力クロック(T12CLK)と分周器のプリスケーラ値(T12PRE)を設定し、CCU61カーネルの周波数を構成。
 3.CCU61_TCTR0コントロール・レジスタで、T12のアップ・カウント方向(CDIR)を設定。
 4.CCU61_TCTR0コントロール・レジスタで、T12のセンター・アラインド動作モード(CTM)を設定。
 5.CCU61_T12PR ピリオド・レジスタに、T12 の周期値を設定。
 6.CCU61_CC6xSR (x = 0 - 2) レジスタで、チャンネル CC6x のシャドーコンペア値 (CCS) を設定。
 7.CCU61_T12DTC.DTEx (x = 0 - 2) ビットを設定し、T12の比較チャンネルCC6xのデッドタイム発生を有効化。
 8.選択された出力の受動状態から能動状態への切り替え間のプログラマブル遅延をCCU61_T12DTC.DTMビットフィールドで設定。
 9.CCU61_MCMCTR レジスタで、MCMPS から MCMP へのシャドウ転送 MCM_ST のトリガ要求ソースとして T12 周期の一致(カウントアップ中)を選択 (SWSEL)。
 10.CCU61_MCMCTRレジスタに、シャドー転送イベントの同期機構(SWSYN)を設定。
 11.マルチチャンネルPWMパターンシャドウ(MCMPS)ビットフィールドをCCU61_MCMOUTSレジスターで設定。
 12.CCU61_T12MSEL (x = 0 - 2) レジスタで、CC6x チャンネルの比較動作モード (MSEL6x) を構成。
 13.CC6xおよびCOUT6x出力のパッシブ状態を選択(x = 0 - 2)。
  - CCU61_CMPSTAT.CC6xPSビットをクリアすることで、CC6xSTが0の間、CC6x出力はパッシブ状態にな ります。
  - CCU61_CMPSTAT.COUT6xPSを設定すると、CC6xSTが1の間、COUT6x出力はパッシブ状態になります。
 14.CCU61_MODCTR.T12MODEN ビットフィールドで、T12で生成されるPWMパターンによる対応する出力信号の変調を有効化。
 15.CCU61_MODCTR.MCMEN ビットの設定により、MCMOUTビットフィールドに従って、マルチチャンネルパターンによる対応する出力信号の変調を有効化。
 16.CCU61_TCTR0.STE12 ビットを設定し、T12シャドー転送イベントが検出された場合に、T12期間値、比較値、パッシブ状態選択ビットおよびレベルのシャドー レジスタから実レジスタへの転送を有効化。
 17.ポート入出力制御レジスタ(例:P00_IOCR0とP00_IOCR4)を構成。CCU61に接続されたピンの詳細については、データシートを参照)。
 18.CCU61_TCTR4.T12RSビットを設定してタイマT12を開始。
 19.CCU61_TCTR4.T12STRビットを設定して、シャドー転送を有効化。

比較モードでは、CCU61_CC6xR(x = 0 - 2)レジスタが、T12の実際の比較レジスタになります。CCU61_CC6xR (x = 0 - 2)に格納された値は、T12のカウンター値と比較され(3チャンネルすべて並列)、SWによってのみ読み出すことが可能です。値の変更は、CCU61_CC6xSR(x = 0 - 2)レジスタからのシャドー・レジスタ転送によって行われ、対応するシャドー・レジスタはSWによって読み取りと書き込みが可能です。

計算例(Calculation Example)

周波数20kHz、デューティ・サイクル25%、50%、75%のセンター・アライメントPWM信号を生成するための正しいコンペア値を求めます。必要なデッドタイムは、各PWMペアで1msです。

fT12 = fCC6 = 100 MHz (CCU61_TCTR0.T12CLK = 0x0)、プリスケーラは無効 (CCU61_TCTR0.T12PRE = 0x0)、センターアライン・モードを選択 (CTM = 0x1) した場合、周期値 (CCU61_T12PR) は、以下の計算式で求めることが可能です。

Infineon_Team_0-1675242528952.png

センター・アライメント・モードを使用しているため、上記に基づいて、対応するデューティ・サイクルは以下のように計算できます。

Infineon_Team_1-1675242751293.png

Infineon_Team_2-1675242788724.png

有効にすると、各チャンネルのデッドタイム生成により、パワーステージでの短絡を回避できます。ティック単位のデッドタイム値は、次のように計算できます。

Infineon_Team_3-1675242851530.png

上記は、生成されたPWM信号を示しています。センターアライメントされたPWM信号はコンプリメンタリで、周波数は20kHz、デッドタイムは1チャネルあたり1msです。

Infineon_Team_4-1675242876135.png

図 1 生成された PWM 信号

変更したレジスタのリスト

・CCU61_CLC
・CCU61_TCTR0
・CCU61_T12PR
・CCU61_CC6xSR (x = 0 - 2)
・CCU61_T12DTC
・CCU61_MCMCTR
・CCU61_MCMOUTS
・CCU61_T12MSEL
・CCU61_CMPSTAT
・CCU61_MODCTR
・CCU61_TCTR4

注:リストアップされたすべてのレジスタは、インフィニオンの低レベルドライバパッケージ(.../Infra/Sfr)で見つけることができます。

注:このKBAは、以下のAURIX™ MCUシリーズに適用されます。

AURIX™ TC2xxシリーズ
AURIX™ TC3xxシリーズ

View solution in original post

0 Likes
3 Replies
IFX_Publisher2
Community Manager
Community Manager
Community Manager
25 likes received 1000 replies posted First like given

Hi Tamura san,

Confirm to work on this KBA.

Thanks,
Bindu

0 Likes
NXTY_Tamura
Level 5
Level 5
Distributor - NEXTY (Japan)
25 replies posted 100 sign-ins 10 solutions authored

AURIX™ MCU: CCU6を用いたPWM信号の生成 - KBA236919
バージョン **

CCU6は高分解能16ビット・キャプチャ&コンペア・ユニット(CCU)で、主にACドライブ制御用のアプリケーション特化型モードを備えています。CCU6モジュールは、2つの同一カーネルで構成されています。CCU60とCCU61です。各カーネルは2つのタイマ、すなわちタイマT12とタイマT13を備えています。T12は3つのコンパレータからなり、センター・アラインまたはエッジ・アラインのいずれかである最大3つの同期PWM信号を生成することができます。

CCU61カーネルを使用して、デッドタイムのある3組のコンプリメンタリ・センターアラインPWM信号を生成するには、以下を実行します。

 1.CCU61_CLC.DISRビットをクリアしてCCU61カーネルを有効化。
 2.CCU61_TCTR0コントロール・レジスタでT12の入力クロック(T12CLK)と分周器のプリスケーラ値(T12PRE)を設定し、CCU61カーネルの周波数を構成。
 3.CCU61_TCTR0コントロール・レジスタで、T12のアップ・カウント方向(CDIR)を設定。
 4.CCU61_TCTR0コントロール・レジスタで、T12のセンター・アラインド動作モード(CTM)を設定。
 5.CCU61_T12PR ピリオド・レジスタに、T12 の周期値を設定。
 6.CCU61_CC6xSR (x = 0 - 2) レジスタで、チャンネル CC6x のシャドーコンペア値 (CCS) を設定。
 7.CCU61_T12DTC.DTEx (x = 0 - 2) ビットを設定し、T12の比較チャンネルCC6xのデッドタイム発生を有効化。
 8.選択された出力の受動状態から能動状態への切り替え間のプログラマブル遅延をCCU61_T12DTC.DTMビットフィールドで設定。
 9.CCU61_MCMCTR レジスタで、MCMPS から MCMP へのシャドウ転送 MCM_ST のトリガ要求ソースとして T12 周期の一致(カウントアップ中)を選択 (SWSEL)。
 10.CCU61_MCMCTRレジスタに、シャドー転送イベントの同期機構(SWSYN)を設定。
 11.マルチチャンネルPWMパターンシャドウ(MCMPS)ビットフィールドをCCU61_MCMOUTSレジスターで設定。
 12.CCU61_T12MSEL (x = 0 - 2) レジスタで、CC6x チャンネルの比較動作モード (MSEL6x) を構成。
 13.CC6xおよびCOUT6x出力のパッシブ状態を選択(x = 0 - 2)。
  - CCU61_CMPSTAT.CC6xPSビットをクリアすることで、CC6xSTが0の間、CC6x出力はパッシブ状態にな ります。
  - CCU61_CMPSTAT.COUT6xPSを設定すると、CC6xSTが1の間、COUT6x出力はパッシブ状態になります。
 14.CCU61_MODCTR.T12MODEN ビットフィールドで、T12で生成されるPWMパターンによる対応する出力信号の変調を有効化。
 15.CCU61_MODCTR.MCMEN ビットの設定により、MCMOUTビットフィールドに従って、マルチチャンネルパターンによる対応する出力信号の変調を有効化。
 16.CCU61_TCTR0.STE12 ビットを設定し、T12シャドー転送イベントが検出された場合に、T12期間値、比較値、パッシブ状態選択ビットおよびレベルのシャドー レジスタから実レジスタへの転送を有効化。
 17.ポート入出力制御レジスタ(例:P00_IOCR0とP00_IOCR4)を構成。CCU61に接続されたピンの詳細については、データシートを参照)。
 18.CCU61_TCTR4.T12RSビットを設定してタイマT12を開始。
 19.CCU61_TCTR4.T12STRビットを設定して、シャドー転送を有効化。

比較モードでは、CCU61_CC6xR(x = 0 - 2)レジスタが、T12の実際の比較レジスタになります。CCU61_CC6xR (x = 0 - 2)に格納された値は、T12のカウンター値と比較され(3チャンネルすべて並列)、SWによってのみ読み出すことが可能です。値の変更は、CCU61_CC6xSR(x = 0 - 2)レジスタからのシャドー・レジスタ転送によって行われ、対応するシャドー・レジスタはSWによって読み取りと書き込みが可能です。

計算例(Calculation Example)

周波数20kHz、デューティ・サイクル25%、50%、75%のセンター・アライメントPWM信号を生成するための正しいコンペア値を求めます。必要なデッドタイムは、各PWMペアで1msです。

fT12 = fCC6 = 100 MHz (CCU61_TCTR0.T12CLK = 0x0)、プリスケーラは無効 (CCU61_TCTR0.T12PRE = 0x0)、センターアライン・モードを選択 (CTM = 0x1) した場合、周期値 (CCU61_T12PR) は、以下の計算式で求めることが可能です。

Infineon_Team_0-1675242528952.png

センター・アライメント・モードを使用しているため、上記に基づいて、対応するデューティ・サイクルは以下のように計算できます。

Infineon_Team_1-1675242751293.png

Infineon_Team_2-1675242788724.png

有効にすると、各チャンネルのデッドタイム生成により、パワーステージでの短絡を回避できます。ティック単位のデッドタイム値は、次のように計算できます。

Infineon_Team_3-1675242851530.png

上記は、生成されたPWM信号を示しています。センターアライメントされたPWM信号はコンプリメンタリで、周波数は20kHz、デッドタイムは1チャネルあたり1msです。

Infineon_Team_4-1675242876135.png

図 1 生成された PWM 信号

変更したレジスタのリスト

・CCU61_CLC
・CCU61_TCTR0
・CCU61_T12PR
・CCU61_CC6xSR (x = 0 - 2)
・CCU61_T12DTC
・CCU61_MCMCTR
・CCU61_MCMOUTS
・CCU61_T12MSEL
・CCU61_CMPSTAT
・CCU61_MODCTR
・CCU61_TCTR4

注:リストアップされたすべてのレジスタは、インフィニオンの低レベルドライバパッケージ(.../Infra/Sfr)で見つけることができます。

注:このKBAは、以下のAURIX™ MCUシリーズに適用されます。

AURIX™ TC2xxシリーズ
AURIX™ TC3xxシリーズ

0 Likes
IFX_Publisher2
Community Manager
Community Manager
Community Manager
25 likes received 1000 replies posted First like given

Hi,  Tamura Go. san,

Confirmed to receive this KBA.

Thank you for your contribution.

Thanks,
Bindu

0 Likes