PWMについて

ある周期にてPWM出力をさせたいのですが、その際のコンペアレジスタ値について疑問があります。

例えばタイマーを使用して所望の周期で割り込みを発生させる等の動作をさせる場合、基本的には、

 所望の周期 * クロック数 = コンペアレジスタ値 - 1

という計算式でコンペアレジスタ値を設定すればよいと考えておりますが、V850ES/Jx3LのハードウェアマニュアルのP290を見ますと、TOPn1端子出力の周期について、

アクティブ周期⇒D10
周期⇒D00+1

となっております。

周期がD00+1となるのは理解しておりますが、アクティブ周期がD10+1とならないのはなぜでしょうか?

あるいはPWMの場合はアクティブ周期に関しては、

 所望の周期 * クロック数 = コンペアレジスタ値

という計算式となるのでしょうか?
Parents
  • スタッフのチョコです。

    コウ様のスレッドにコメントさせていただきます。


    > 所望の周期 * クロック数 = コンペアレジスタ値 - 1

    この式はおかしいのではないでしょうか。

    所望の周期 * カウント・クロック周波数 = コンペアレジスタ値 + 1

    が正しい式かと存じます。


    > 周期がD00+1となるのは理解しておりますが、アクティブ周期がD10+1とならないのはなぜでしょうか?


    これは,タイマPが,参照されているページの「図7-37」のタイミングにあるように,アクティブ期間の一致が16ビット・カウンタの値がTPnCCR1レジスタの設定値になるときに発生するような回路構成になっているからです。
    中の具体的な回路がどうなっているかはわかりませんが,意識してそのような回路にしているとお考えください。

    > 所望の周期 * クロック数 = コンペアレジスタ値

    考え方はそうなります。式はそのものは

    所望のアクティブ期間 * カウント・クロック周波数 = コンペアレジスタ値

    かと存じます。 

Reply
  • スタッフのチョコです。

    コウ様のスレッドにコメントさせていただきます。


    > 所望の周期 * クロック数 = コンペアレジスタ値 - 1

    この式はおかしいのではないでしょうか。

    所望の周期 * カウント・クロック周波数 = コンペアレジスタ値 + 1

    が正しい式かと存じます。


    > 周期がD00+1となるのは理解しておりますが、アクティブ周期がD10+1とならないのはなぜでしょうか?


    これは,タイマPが,参照されているページの「図7-37」のタイミングにあるように,アクティブ期間の一致が16ビット・カウンタの値がTPnCCR1レジスタの設定値になるときに発生するような回路構成になっているからです。
    中の具体的な回路がどうなっているかはわかりませんが,意識してそのような回路にしているとお考えください。

    > 所望の周期 * クロック数 = コンペアレジスタ値

    考え方はそうなります。式はそのものは

    所望のアクティブ期間 * カウント・クロック周波数 = コンペアレジスタ値

    かと存じます。 

Children
No Data