• ベストアンサー

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

  • マイコンのステート数

    こんばんわ。今、マイコンを勉強しています。 使用しているマイコンはATC-80ZIIです。 マイコンでプログラムを組んで実行した時にかかる時間(実行時間)を計算で求める方法を調べています。実行時間を求める方法はステート数にクロック周期(クロック周波数の逆数)をかけるという事は知っているのですが、各命令に対してかかるステート数がわかりません。例えば00HをAレジスタに転送する場合、(LD A,00H)のステート数は7らしいです。本に載っていると思って調べてみたんですが見つからなかったのでここに質問しました。どこかに表とかに一覧で載っていないでしょうか? よろしくお願いします。

  • マイコンのクロックを測定する回路について

    マイコンのクロックを16MHzの水晶振動子で与えています。 この周波数を測定する回路を作るのですが、水晶の両端から信号を取り出そうとすると、普通のバッファではクロックに影響を与えてしまい、マイコンが誤動作することがあると聞きました。 マイコンに影響を与えないで、クロック周波数を見るのにはどんなインタフェースでクロック端子に当たればいいのでしょうか?

  • 共振周波数について

    ご質問させていただきます。 ある文献に、”RLC回路の共振周波数は1周波数しかないが、 ダイポールアンテナなどの共振周波数は、整数倍の周波数も 共振周波数となりうる”とありました。 例えば、マイコンなどが組み込まれている回路においては、 共振周波数は、1周波数しかないのでしょうか。 それとも、回路パターンがアンテナとなって、ダイポールのように 整数倍に共振周波数ができるのでしょうか。 どなたか教えていただけると幸いです。

  • 最近、H8マイコンを使い始めました。

    最近、H8マイコンを使い始めました。 わからないことがいくつかあるので質問したいと思います。 使っているものは、H8/3048です。 マイコンは出来上がったのですがマイコンにプログラムを書き込むためにパソコンとつなぐために何のケーブルを買えばいいのでしょうか? また、CDがXPまでになっていますがWindows7でマイコンにプログラムを書き込むためにはどうすればいいのでしょうか? マイコン初心者なので基本的な質問ですいませんが教えてください。

  • クロック周波数

    はじめまして。初心者ですが質問させてください。 一定時間プログラムを止めておく関数にSleep()があると思うのですがカッコ内にはいるのは1000分の1秒単位です。もっと小さい単位でプログラムを止めておきたいと考えています。 具体的には、CPUのクロック周波数の時間だけプログラムを止めておきたいのですがどのようにすればよいでしょうか? 現在は関係のないfor(h=0;h<t;t++){}といったプログラムをはさむことで時間を制御(プログラムを止めている)しています。 どなたか知恵を貸していただけないでしょうか?よろしくお願いします。

  • マイコンのXTAL(出力端子)を他の回路へ利用

    SHマイコンなどで、XTAL(出力端子)とEXTAL(入力端子)に水晶発振子を接続して動作させたりしますが、このXTAL(出力端子)を例えば同一周波数のクロック入力が必要な別の素子まで配線を伸ばしていって使用しても良いものでしょうか?別の素子までの距離は5cm程度です。

  • クロック周波数と制御装置

    わからなくなりましたのでご存知の方教えていただけませんでしょうか。 クロック周波数について調べるとCPU内で一定の間隔でクロック信号を発信し、それに合わせてパソコン内の各回路は協調して動作していますと説明があります。 クロック周波数という場合は、CPU内部の回路が協調して動作するようにテンポを刻むものでCPUスペックを図るものでしょうか? それとも、CPUのクロック周波数は、各装置(入力装置、出力装置、記憶装置)の制御をしているのでしょうか? 制御装置とクロック周波数が分からなくなってきましたのでどなたか教えていただけませんでしょうか。

  • マイコンの1サイクルの処理時間について

    周波数8MHzののマイコンで、1命令(1サイクル)の処理時間を計算しています。 某サイトで、以下のような計算式があったのですが、×4している理由が分かりません。 1サイクル実行時間=4/クロック発振子の周波数 1サイクルの実行時間にはかならず4クロック要するのでしょうか? 素人質問で申し訳ありません。

  • XGA出力のドットクロック周波数

    PCをモニタに繋いだ時の質問です。 PCの外部出力XGAの時に、モニタ側の画面調整項目に「ドットクロック周波数」という項目が出ます。数値が「1344」となってますが、これは何を意味するのでしょうか?XGAなら「1024」かと思ったのですが違うのでしょうか?この「1344」という数字がどういう計算で算出されたものか教えて下さい。

  • CPUのクロック周波数が1クロック何秒になるかについて

    簡単な問題なのかもしれませんが、 質問させていただきます。 私の通っている学校で課題が出されたのですが、 CPUのクロック周波数が例えば4、0Ghzだったとき、1クロックが 何秒になるかってどうやって計算すれば分かるでしょうか? また、小数点ではなく整数で出してくれと言われたのですが・・・ 分かる方いらっしゃったら是非回答お願いします! 初心者にも分かるように説明していただければ幸せこの上ないです。

専門家に質問してみよう