• ベストアンサー

4MHzから1Hzへのカウンタを用いた分周について

4bitカウンタを従列接続することによって、4MHzの水晶発振器の出力を1Hzまで分周する回路をつくれ という問題がありますが、実現方法がわかりません。 4×10^6個のパルスを分周することになると思いますが、4bitカウンタでは2^16ごと周波数が落ちていくので、1Hzきっちりにはならない気がします。 何か勘違いをしていますでしょうか? よろしくお願いします。

  • g47040
  • お礼率55% (125/226)

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

  • ベストアンサー
noname#178894
noname#178894
回答No.2

別にデジタルなので、4MHz(4000000)は2進数では1111010000100100000000です。 11 11 01 00 00 10 01 00 00 00 00 4Bitカウンタで1つ1つ桁上がりさせ、 1秒ピッタリのときの各桁の出力でビットをセットして、 その時にリセットする回路では簡単すぎますか?

g47040
質問者

補足

おっしゃる通りだと思います。 しかしながら、私、デジタル回路には不慣れなもので、 4Bitカウンタで1つ1つ桁上がりさせ、 1秒ピッタリのときの各桁の出力でビットをセット すると、どうして 11 11 01 00 00 10 01 00 00 00 00 となるのかわかりません。 詳しく教えて頂けると助かります。

その他の回答 (1)

  • inara1
  • ベストアンサー率78% (652/834)
回答No.1

できますよ。4bitカウンタといてっても、16進のもの(バイナリカウンタ)だけでなく、10進(BCDカウンタ)のものもあります。4MHz を16進カウンタで1/4の周波数(1MHz)に落として、それを10進カウンタ6個で 1/10^6 に落とせば 1Hz が作れます。 CMOSロジック(74HCシリーズなど)のカウンタを使うのなら回路図を紹介します。同期式の回路ですか、それとも非同期式ですか?

g47040
質問者

補足

説明足らずでした。 問題によると、10進カウンタではなくて、16進カウンタを縦列接続して作るようです。 CMOSは使っていなくて、Xilinxのシミュレータ上で行っています。 ちなみに、CB4CEという16進カウンタのマクロです。

関連するQ&A

  • カウンタを用いた分周器について

    16MHzの水晶を用いて発振回路を作りました。 これをカウンタIC(4020B)を用いて1/512に分周したいのですが、どのように接続すればいいのでしょうか? 特性的に無理かも知れませんが、基本的な接続方法をお願いします。

  • PLL(Phase locked loop)についてぜひ教えてください。

    以前に「n逓倍器」について多くのアドバイスをいただき、ありがとうございました。 結局、水晶振動子で安定した周波数出力をし、PLLを使ってn倍の逓倍器を作ろうと決めました。 ICはMC14060を使おうと思っています。 このICは14ビットのバイナリカウンタで、発振器も内蔵しており、水晶振動子を接続することで、14ビットの範囲で任意に分周させて出力が出来るようです。(この時点で間違っていたらすいません。。) それで、100Hz程度の正弦波をPLLに入力させようとしているので、一般的な水晶振動子では周波数が高すぎる(数MHzを多く見かけました)ため、分周して出力させようと考えました。 水晶振動子を調べると0.032768MHzという水晶振動子を見つけたのですが、それを14ビットで分周すると・・・ 0.032768(MHz)×(1/2の14乗)=2Hzとなるので十分だと考えました。 そこで質問があるのですが、水晶振動子の出力を分周させて低めの周波数(数Hz~数KHzぐらい)で出力させようとするときは、高めの周波数(数MHz~数十MHz)の水晶振動子を値の大きなビットで分周させてつくったほうが良いのでしょうか?それとも、あらかじめ低い周波数(私が見つけた水晶振動子程度)の水晶振動子を値の小さなビットで分周させて出力させたほうが良いのでしょうか?? 「良いのでしょうか?」というのは波形が安定しているかどうか(歪みなどが無いか)という視点のみです。 また分周についてお知りの方は、14ビットでは欲しい周波数まで分周できないときは、直列に分周器をつなげる(例えば14ビット分周器を2個)ことでビット数を増やし、高い周波数の水晶振動子でも数Hzの周波数で出力させることが可能でしょうか?? 回路の初心者なのでどんなことでもアドバイスをいただければとても助かります。よろしくお願い致します。

  • クロックの分周(電子工作)

    水晶発振器の80MHzの出力から10MHzと10Hzを取り出そうと思っています。 80MHzの出力を74ALS163に通して10MHzを取り出すことには成功しました。(オシロで確認済み) しかしながらその10MHzを10Hzにするところで失敗します。74390を3つ使用おり、たまに正しい出力が出るのですが、時間がたつと出力が乱れて最終的に出なくなってしまいます。どのようにすればよいのかご教示いただけたら幸いです。よろしくお願いいたします。 (74390は74HC390を使うとたまに出力が出るのですが、74LS390では全く出力が出ません。) 水晶発振器のスペックは三田電波MTX-1625です。 http://www.mitadenpa.co.jp/tcxolist.htm#mtx

  • 精度の良い発振回路を作るには

    精度の良い発振回路を作るには シュミットトリガタイプのインバータ(TC4584)を用いた発振回路から生成した信号(最大500kHz)をカウンタIC(TC4020)で1/256に分周させて周波数表示器に入力しています。 発振回路は http://www.piclist.com/images/www/hobby_elec/ckt13_2.htm に示してあるのと同様の回路となっており フィードバック抵抗を可変のものにしてパルス幅を変化させることができるようにしてあります。(可変抵抗は100MΩを使用、コンデンサは100pFを使用) ただ、この回路では高周波領域(100kHz以上)において周波数表示が不安定となります。発振回路においてパルス幅が安定しないため不安定となっていると考えます。コンデンサの値を変化させてみましたがそんなに効果はありませんでした。 分周回路はそのままで発振回路が安定した出力が得られるようにしたいのですがどのようにすればよいでしょうか?ご教示願います。

  • 3MHzの発振器を探しています/矩形波を正弦波に

    FM変調で信号伝送を行おうと思ってます。切実に悩んでます! 直流電圧(入力信号)1~4Vの入力で周波数を変化させて正弦波を出力できるVCO回路を探しています。 発振周波数は3MHz付近で入力信号に応じて変わってほしいです。 当初、VCOのICを利用しようと考えたのですが、どのICも矩形波出力でしたのであきらめていました。 そこでバリキャップダイオードを使ってクラップ(コルピッツ)発振回路を組もうと思っていたのですが、LC発振は外部の影響ですぐに発振が止まったり不安定になるということを聞きました・・。 ですので、やはりICで出ているVCOを利用した方がよいのではないかと思い始めています。 外部に接続したコンデンサによって矩形パルスの周波数を調節できるパルスICが存在するようなので、その矩形波をなんとか正弦波に変換したいのです。(コンデンサはバリキャップダイオードに置換して電圧制御させる) そこで以下の方法のいずれかで実現できないでしょうか?? ・矩形波入力に同期して正弦波を出力してくれるICは存在しますでしょうか? ・矩形波から基本波を出すとして、フィルタ回路が考えられますが、今回はFM変調に用いますから、矩形波は3MHz付近で上下に変動するわけです。変動幅のある矩形波をすべてきれいな正弦波にフィルタすることは可能なんでしょうか? あるいは・・ もしかしたらそんな苦労せずとも、3MHz付近で電圧制御できる正弦発振ICは存在するのでしょうか? 長くなって申し訳ないですが、どうか知恵ください。よろしくお願いします!m(__)m

  • 20MHzの水晶発振器の出力を3逓倍して60MHzにしたいのです。

    20MHzの水晶発振器の出力を3逓倍して60MHzにしたいのです。 無線機の発振を簡単に3逓倍する方法はありませんか? 出来れば回路図等があるHPなどもお教え頂ければ助かります。

  • 分周回路について

    25MHzを分周して、8個のLEDを点滅させようとしています。 8個それぞれ違う速さで点滅させたいのですが、 とりあえず、1個は1秒間に1回点滅させたいと思っています。 何bitあれば実現できるのでしょうか。 一応ネットで「分周回路」で検索し調べてはいるのですが、どなたか教えていただけませんでしょうか。 よろしくお願いします。

  • 水晶発振子の誤差の調べ方

    水晶発振子の個体別の誤差を調べたいのですが、どの様な方法がありますか?周波数は10MHz~20MHz位です。カウンターの様なモノで調べようとしたのですが、水晶より精度の良いカウンターでなければならない?はっきり言ってわかりません。よろしくお願い致します。

  • PLLでのクロック分周について

    現在Quartus 8.1でFPGAを開発しているものです。 FPGAボード上の水晶発振器のクロック48MHzをメガファンクションの ALTPLLで100KHz(0.1MHz)と30KHz(0.03MHz)を作って使用したいと考えているのですが、赤い英文字で 「cannot implement the requested PLL Cause Post divider max count exceeded」 と出てしまいます。 (周波数下げすぎ?) そのまま無視して進めていくと何となく100KHzの周波数のPLL出力クロックは出来ているのですが、このまま利用すると何かジッタ等の問題があるのでしょうか? また、もしダメな場合、どのように48MHzから100KHzと30KHzのクロックを作ればよいのでしょうか?

  • Xilinx ISE 分周波形シミュレーション

    50MHzを分周して1MHz,1KHz,200Hzなどの信号を作るとします。 カウンタを使ってそれぞれの信号を作ったのですがきちんと分周されているのかシミュレートしたいと思います。 TestBenchWaveFormを選択し、SimulateBehavioralModelを実行し、波形を確認したのですが200Hzの信号に対し、50MHzが速すぎるので200Hzの信号の立ち上がりが確認できません。 スケール([1000][ns]とか書いてあるところ)を変えてもあまり変化がみられないのですが、200Hz信号を確認したい場合どうすればよいのでしょうか?