R8C/M1x PWM出力時のタイマRCの設定値について

PWM時の周期とdutyの設定ですが、たとえば
周期の設定では-1した値をtrcioaに書き込む
のでしょうか。
アプリケーションノートR01AN0356JJ0100では
そのようになっていますが。
dutyも同様でしょうか?
1ms周期の場合は、20MHz(50ns)にて20000を
セットしておりました。他のタイマと違って、
アンダーフロー型ではなかったもので。
  • toitecさん

    dutyも同じですよ。アプリケーションノートのPage9をご参照ください。

    APN R01AN0090JJ0110
    R8C/M12Aグループ タイマRC(PWMモード)

    by すと@kon
  • ハードウェアマニュアルR01UH0050JJ0200 P272
    コンペア一致によるカウンタクリアのタイミング
    には確かに「周期はn+1」とありますが、図15.30
    では上段の波形が「f1」となっているので、
    とらえ方によっては、「f1の1クロック遅れる」
    という認識もあり得ます。

    図の記述として、P271 図15.28 も同様です。

    trccnt レジスタの入力クロックが f1 なら納得
    できますが、f1以外の場合はどうなんでしょう?

    細かいことですいませんが、宜しくお願い致します。
  • toitecさん

    図15.30を例にすると、f1が数クロック入力されている中でコンペア一致が発生しています。このタイミングが実際にTRCCNTのカウントアップ要因のタイミングです。

    一方でコンペアマッチによるカウントクリアの判断タイミングは「カウントアップした結果」ではなく、「カウントアップ要因発生時」です。よって、TCNTはnから0に遷移し、0からnまでカウントする「n+1周期」となります。

    f1の1クロック遅れというのはコンペア一致信号の時間であり、コンペアマッチ周期に影響するものではありません。

    カウントソースがf2のケースで図示してみましたので、ご参照ください。

    by すと@kon


    --追記--
    カウントソースがf1に近ければ近いほど、また、ジェネラルレジスタ値が小さいほどf1の1クロック遅れの影響を受けるため、誤差は大きくなりますね…

    KUH4UZwKGRMyJw0A_A0404.jpg

  • trcgra~trcgrdに設定する値は、要求値-1で
    あることは間接的に確認できましたので納得は
    できました(TRCCLKに遅いクロックを供給して
    TRCCNTの値を高速に読み出し、nの値が十分な
    期間読み出せました)。
    ただ、ハードウェアマニュアルの図の記述には
    納得していません。ポイントは、一致している
    期間が長いことです、f1立ち上がりタイミング
    で一致検出しているなら、もっと手前で一致信
    号が出ているべきではないかと考えました。

    f4のタイムチャートまで作成して頂き恐縮です。
    マニュアルもサンプルも疑ってみる、悪いクセ
    です。