オーディオクラフト工房(198)

更新日:2015年11月17日


復活:トラ技のCPLD基板で周波数カウンタを作ろう
前回作製した正弦波発振器をオーディオ機器に接続して特性を確認するときに、発振器の出力周波数を確認したいと思うことがあります。そこでCPLD基板を使って周波数カウンタを作製しました。過去にも同様の周波数カウンタを製作したことがありますが、他のオーディオ機器とデザインを統一したかったので、今回新作としました。既にトランジスタ技術付録のCPL基板は過去のものとなっていますが、もし保管されている方がおられましたら参考にして頂けると幸いです。
今回製作した周波数カウンタは次の通りです。
1)周波数の表示は6桁の7セグメントLEDで行います。
2)計測ゲート時間は、1sec、100msec、10msecの3種類です。
3)99.9999MHzまで測定は可能ですが、そこまで測定したことはありません。
4)マイコンは使用せず、基本CPLD基板のみで構成しています。
全体の構成を記します。
(今回の製作のブロック図)
CPLD基板の構成は次のようになります。
(CPLD基板の内部構成)
CPLD基板の役割は大きく3つあります。
1)クロックを分周して計測ゲート時間を作り入力周波数をカウントするモジュール
2)カウント周波数をラッチするモジュール
3)7セグメントLEDを駆動制御するモジュール
過去に同様の製作をしていますので、参考にして下さい。
http://www.max.hi-ho.ne.jp/nonchansoft/cpld/smcnt1.htm
http://www.max.hi-ho.ne.jp/nonchansoft/cpld/fcounter1.htm
今回の製作も「Quartus II 9.1sp2 Web Edition」上でCPLDの開発を行っています。久しぶりの周波数カウンタですが、過去の製作をそのまま活かせると思って開発を進めました。しかしながら、どうしてもコンパイルが通らない部分がありました。当時は通ったはずですが、と思い調べますと私と同じ状況になった方を発見して参考にさせて頂きました。ちなみにこの方は当時の私の周波数カウンタを参考にして製作された、とのことでした。廻りまわって戻って来た感じです。作者の方にこの場をお借りして感謝申し上げます。
http://members2.jcom.home.ne.jp/issei_a/F-Counter/
(CPLD基板のインターフェイス仕様)
CPLDの内部構成を記します。
(CPLDの内部構成、クリックすれば見易い画像が出ます)
(CPLDのピン割付)
最初に完成した姿を見て頂きましょう。
(機能的にまとまった内部構成)
(重量感を出すためにおなじみの鉄板を入れてます)
全体の回路図です。
(周波数カウンタの回路図)
回路のポイントとしては、電源回路にDCフィルタを入れてノイズを防いでいます。前回製作した正弦波発振器からの信号を想定していますので、信号入力の部分はそれほど凝っておりません。従って、あまり小さな信号はカウント出来ないかもしれません。このあたりは各自で工夫して下さい。回路的には難しい部分はありませんので、理解して頂けると思います。7セグメントの表示内容について記します。
(計測ゲート時間:10msecの表示)
このモードでは99.9999MHzまでの表示が可能です。
(計測ゲート時間:100msecの表示)
このモードでは9.99999MHzまでの表示が可能です。
(計測ゲート時間:1secの表示)
このモードでは999.999kHzまでの表示が可能です。
どのモードでもカウンタ値がオーバーフローすると、OVERのLEDが点滅します。
完成した姿はこちらです。
(他オーディオ機器と統一されたデザイン)
(背面は電源ジャックのみ)
CPLD基板上の10MHzの水晶発振周波数の測定もこの通り。
(10MHzぴったりですね)
実際に正弦波発振器に接続してみましょう。
(最高周波数測定中)
(少しずらしても測定値はぴったりです)
(低周波もこの通り正確です)
これらの機器を使ってオーディオ回路の調整や確認がとてもスムーズに出来ると思います。まだまだオーディオネタは尽きませんね。これからも充実したオーディオ生活をやって行けそうです。次回の製作もご期待下さい。
CPLDソース一式はこちらです。
皆さんの製作の参考となりますように。

オーディオクラフト工房へ戻る