Community Translation - Calculating PWM Period and Duty Cycle in FX3 – KBA226759

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

cross mob
keni_4440091
Level 7
Level 7
500 replies posted 100 solutions authored 50 solutions authored

Hi

I want to translate KBA226759, please confirm to my work.

Regards,

Nino

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Nino-san

Confirm to work this KBA.

Thanks

Jenna

Jenna Jo
0 Likes

タイトル: FX3PWM周期とデューティーサイクルを計算する — KBA226759

バージョン 4

chaitanyav_41 2019/03/25 2:01 に作成。ChaitanyaV_61 2019/08/13 0:17 に変更。

Author: SrinathS_16         Version: **

質問:

FX3PWM周期およびデューティーサイクルはどうやって要求値に設定するのか?

回答:

gpioConfig.period およびgpioConfig.thresholdパラメータは、タイマー刻みの観点からPWM周期およびPWM閾値を定義します。FX3 SDKから来るGpioComplexAppの例では、これらのパラメータは403.2MHzSYS_CLK周波数に対して計算されます。また、複雑なGPIOクロックはSYS_CLK/2に設定されるGPIO高速クロックから動作するように設定されます。gpioConfig.period およびgpioConfig.thresholdパラメータはPWM周期とデューティーサイクルを適切な値に設定するために調整する事が可能です。

下記の断片コードは値を計算しています:

gpioClock.clkSrc = CY_U3P_SYS_CLK; // GPIOクロックはSYS_CLKから派生します

gpioClock.fastClkDiv = 2;          // GPIO高速クロックはSYS_CLK/2で構成されます 

gpioConfig.timerMode = CY_U3P_GPIO_TIMER_HIGH_FREQ;     // PWM生成用にGPIO高速クロックを使用

gpioConfig.period = 20160;                      // 周期を20160タイマー刻みに設定

gpioConfig.threshold = 10080;        //閾値をデューティーサイクルに適した値に設定。この例では50%に設定されています  

計算:

  • SYS_CLK 周波数= 403.2 MHz
  • GPIO高速クロック周波数 = (SYS_CLK 周波数)/2 = 201.6 MHz
  • 1クロック周期= 1/(GPIO高速クロック周波数) = (1/201.6) µs
  • gpioConfig.period = (希望するPWM波形周期/1クロック周期)

257 閲覧 カテゴリ: USB: SuperSpeed Peripherals タグ: pwm, fx3, fx3 gpio, ss_usb, duty cycle

0 Likes