• ベストアンサー

H8マイコンの出力周波数について

H8マイコン初心者からの質問です。 H8マイコンを用いてsin波を出力したいと考えているのですが、 どれぐらいの周波数まで出力可能なのでしょうか? (H8マイコンは種類がいくつかあり、クロック周波数もさまざまあります。 その中で、できるだけ高い周波数のsin波を出力したいと考えています。) 質問記述が曖昧ですが、ご回答いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • pyonmae
  • ベストアンサー率64% (40/62)
回答No.2

こんにちは。 sin波って事は、DA出力になるので、周波数の上限はH8よりDACの性能に依存すると思います。 また、求めるsin波のクオリティによっても異なってきます。 クオリティとは、sin波のタテヨコの分解能です。 タテの分解能は、DACのbit数、ヨコの分解能は、変換時間によって変わってきます。 めちゃくちゃざっくりとした例を、挙げてみたいと思います。 H8/3048を使用(16MHz動作、DAC内蔵) →この時点で、タテの分解能は8bit(256段階)と確定します。 ヨコの分解能は、とりあえず1周期360点(1°ずつ)としましょう。 データシートによると、変換時間は最大10μsecとの事ですが、モロモロの処理時間を考えて、ざっくり1サンプル20μsecかかるとしましょう。 すると、20(μsec) × 360(sample) = 7200(μsec) 1 / 7200(μsec) ≒ 139(Hz) この周波数で満足できるならこれでいいし、ダメなら、もっと高性能なDACを外付けするとか、ヨコの分解能を荒くしていくとか検討する必要があります。 ヨコを荒くすると、波形はどんどんタダの矩形波に近づいていきますので、妥協点を探しつつ検討して下さい。 蛇足ですが、こういう時間にシビアな処理は、ソフトでだらだら行うと、すぐにヨレヨレの波形になりがちですので、タイマをトリガにDMAするとか、極力ソフトを介在させずにやった方が良いと思います。 いっそ、波形生成の専用チップ(AD9913とか)でも使った方が、もしかしたら幸せになれるかもしれません。

H83048f
質問者

補足

詳しい内容本当にありがとうございます。 だいぶ幸せになりました。 もしよかったらですが、質問です。 これは別件なのですが、H8-3048f を用いて1MHzのM系列の信号を出力しようとしています。 端的にこれは可能でしょうか。

その他の回答 (2)

  • pyonmae
  • ベストアンサー率64% (40/62)
回答No.3

こんにちは。 M系列という言葉を初めて聞くのでアレなのですが、乱数的な何かという事ですかね・・・無知ですみません。 何にしても、1MHzって事は、1サンプルあたりに要求される変換時間はいくらで、それに対してH8のDACの変換時間ってなんぼだっけ? とか考えると、可能かどうか、すぐに答えは出るんじゃないでしょうか。 トンチンカンだったら、すみません。

H83048f
質問者

お礼

どうもありがとうございました。 H8の変換時間から考えると1MHzは難しいですね。(とゆうよりも無理なのでしょう。。 M系列信号は周期性をもった1,0の擬似ランダム信号です。 この信号をプログラムで作っていたので、波形として出力するにはマイコンが最適であると考え、H8を使おうとしていました。 しかし、DACの処理時間の限界もあるようですのであきらめようとおもいます。

  • misawajp
  • ベストアンサー率24% (918/3743)
回答No.1

ディジタル信号を扱う基本は 扱えるアナログ信号は、サンプリング周波数の1/2以下の周波数です 周期で言えば  サンプリング周期の2倍以上の周期の信号です それ以上の周波数成分を含まないように、入力・出力に低周波濾過フィルタを設置し不要周波数成分を除去します 出力を切り替えることのできる最短周期(数クロック分でしょう)の2倍以上の周期の正弦波が限度です

H83048f
質問者

お礼

ありがとうございまうす。 基本的にはサンプリング周波数の半分以下であるということですね。 本当にありがとうございます。

関連するQ&A

専門家に質問してみよう