ホーム フォーラム Texas Instruments マイコン C2000 TBCLK開始タイミングが毎回変わる件

このトピックには2件の返信が含まれ、2人の参加者がいます。5 年、 6 ヶ月前 amatsu1 さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #6224 返信

    amatsu1
    参加者

    TBCLK開始タイミングが毎回変わる件

    デバイス型番:TMS320F28027

    いつも大変お世話になっております。

    現在TMS320F28027を使用し、HRPWMでPWM制御をしておりますが、
    以下のような問題がございます。

    ①GOIO0がLow→HighでXINT1_ISR割り込みを掛け、その先頭で
    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;
    としてPWMクロックを開始しているのですが、Duty Highのタイミングが毎回異なってしまいます。

    ②また、Duty HighのタイミングがGOIO0がLow→Highから大きくズレる場合、Dutyの70%でPWMの計算を開始している仕様にも関わらず、
     それよりも早いタイミングでDuty計算が確定してしまいます。(添付の赤丸部分)

    大変恐れ入りますが、原因につきまして何卒ご教示をお願い致します。

    #6228 返信
    Yojiro
    Yojiro
    従業員

    amatsu1さん

    Reset解除または電源投入後の初回のGPIO0 Low→Highで、毎回タイミングが異なるのでしょうか。
    それとも、継続した動作(リセットなどが入らない)において、TBCLKSYNCによるPWM停止→再動作を繰り返すような処理で発生しているものでしょうか。

    後者の場合、TBCLKSYNCを0に設定することで、カウンタ(TBCTR)のカウントアップは停止しますが、値は保持されたままになります。TBCLKSYNCを1に変更する前に、TBCTRへ0を設定していただけますでしょうか。

    ご確認のほど、よろしくお願いいたします。

    #6229 返信

    amatsu1
    参加者

    大変お世話になっております。

    ご推察の通り、後者でございます。

    TBCTR=0により問題解決致しました。
    早急なご対応、誠にありがとうございました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)