タイマーRDのPWMデューティ比を0%設定

タイマーRD機能を使用してPWM出力を行っていますすが、

L期間の出力を設定でmデューティーを0%を出力設定する場合は

スレーブ >=(マスター+1)を設定するればよいのでしょうか。

例えば

マスターがTRDGRA0 = 0x063F;の場合

スレーブはTRDGRB0 は 0x0640を設定すればよいのでしょうか。

Parents
  • チョコです。

    RL78/G14(QB-R5F104LE-TB)で実際のTMRD0によるPWM出力を確認してみました。

    大きな流れを確認するために,PWM出力をCSIのマスタ受信のSI00に接続してサンプリングしながら,デューティを変化(TRDGRB0の値を大きくする)し,

    周期(TRDGRA0)より大きな値になるようにしました。TRDGRB0の値(実際にはバッファレジスタのTRDGRD0の値)を書き換えるごとにブレークしてサンプリングして確認しました。

     

    確認で使用したプロジェクトと結果のPDFをzipに圧縮して添付しておきます。

     

    RL78G14_TRD_PWM.zip

  • チョコです。

    プロジェクトの内容を少し変更しました。

    ・CSIの転送を割り込みからDTCに変更しました。

    ・TMRD0のデューティの初期値を+1して,周期+1になるように変更しました。

     

    割り込みより応答が速いので,サンプリングしたデータがよりきれいな間隔になりました。

     

     

    RL78G14_TRD_PWM 2.zip

Reply
  • チョコです。

    プロジェクトの内容を少し変更しました。

    ・CSIの転送を割り込みからDTCに変更しました。

    ・TMRD0のデューティの初期値を+1して,周期+1になるように変更しました。

     

    割り込みより応答が速いので,サンプリングしたデータがよりきれいな間隔になりました。

     

     

    RL78G14_TRD_PWM 2.zip

Children
  • チョコです。

    悪のりついでに,CSI00をスレーブ受信に設定し,TM00から方形波を出力させてSCK00に入力するようにしました。

    今度は,SCK00入力が定周期になるので,より正確なPWM出力のサンプリングが可能になります。

    (オシロスコープをもっていないので,何とかポートを使ってサンプリングしていますが,対象の信号が1つだけなら,CSIを使ってサンプリングすることで,必要なRAMの容量を少なくしています。サンプリング(受信)したMSBファーストのデータをビット表示表示すると分かり易いくなります。)

     

    5148.RL78G14_TRD_PWM.zip