インプットキャプチャによるパルス計測(RX66T)

はじめまして。togashiと申します。

追記:こちら解決いたしました。リプライにて原因記載しています。また初心者フォーラムと間違えての投稿、大変失礼いたしました。


RX66Tのインプットキャプチャにパルスを入力し、TGRを使用してパルス周期を算出していますが
この時の算出結果が入力したパルスの周期と合わず、投稿させていただきました。

開発環境は下記になります。
・統合開発環境:CS+,8,08.00
・スマートコンフィグレータ:2.13.0
・デバイス:RX66T(R5F566TEAxFP),HSBRX66T100Aを使用。PCLKC=160MHzに設定。
・インプットキャプチャ:MTU4、カウンタクロック=PCLK / 64、ノーマルモードタイマ、TGRB(立下りエッジでインプットキャプチャ)


動きとしては下記の流れになります。

  1. ファンクションジェネレータから80Hz(12.5ms),Duty50%,3.3VのクロックをP73(MTIOC4B)に入力。
  2. TGRBインプットキャプチャの割り込みで、MTU4.TGRB値を取得し周期算出。

この動きをデバッグで確認すると、MTU4.TGRB=26050となります。
MTU4のカウンタクロックはPCLK / 64 =2.5MHzなので、
周期[ms] = 26050 / 2.5 * 1000 =10.42 ms
となり、入力パルス80Hz(12.5ms)と差が生じます。


この原因が分からず、何か計算・設定等間違えがあるのでしょうか。
同様の内容をRX65Nで動作させたところ、実計測と算出結果が一致することは確認済みです。

Parents
  • togashiです。こちら解決しました。

    メインクロックの設定が間違っていたことが原因です。

    使用している水晶振動子が20MHzでしたが、周波数を24MHzに設定していました。
    メインクロックの周波数20MHz、PLL回路部の分周比1/2、逓倍比16.0に修正したところ計算結果が正常になりました。

Reply
  • togashiです。こちら解決しました。

    メインクロックの設定が間違っていたことが原因です。

    使用している水晶振動子が20MHzでしたが、周波数を24MHzに設定していました。
    メインクロックの周波数20MHz、PLL回路部の分周比1/2、逓倍比16.0に修正したところ計算結果が正常になりました。

Children
No Data