| 更新日:2007年2月10日 |
| 私の定番の部品屋は秋葉原が千石電商さんと秋月電子さん、日本橋はシリコンハウス共立さんとデジットさんです。この4店を抑えていれば大概の部品は揃いますね。近くに寄ったときは必ず物色をしております。今回どうしてもFMチューナー用のデジタル周波数表示を付けたくてプリスケーラのICを探しておりました。昔は色んなICがあったみたいですが、WEBで調べた部品を売っているところは全くありませんでした。多少諦めていたのですが、ひょんなことから富士通のプリスケーラICがシリコンハウスに品揃えがあることを知って大阪に立ち寄った際に早速の購入となった訳です。 実は高感度FMステレオチューナーアンプは電源ONでハムノイズが乗っており、常時聞くには少し違和感がありました。今回周波数表示を付けるにあたってそこの改造をまず行いました。電源の回路は皆さんの環境に合わせて頂くようあえて公開しておりませんが、ハムノイズを減らす工夫を紹介しておきます。(極めて一般的なことで申し訳ありません) 電源トランスから整流回路の後の電解コンデンサの容量は数百μFでは全く問題外であって少なくとも数千μFは必要です。(改造して4700uF+3300uFを追加しました) これでノイズはなかり減りますが完全ではありません。後はGNDラインを地道に選びながらノイズが減る配線にGNDを強化するしかないです。ハムノイズが満足するレベルに下がったので、やっと周波数表示を作る状態になった訳です。 |
| デジタル周波数表示の基本仕様を記します。 |
| 1)FMステレオチューナーアンプの受信周波数を3桁で表示します すいません今回はこれだけです。 |
| やっとのことで手に入れたプリスケーラICです。 |
![]() |
| (富士通のプリスケーラIC) |
| FMチューナーには少しオーバースペックですが、大変素晴らしいICで何の問題もなく使えました。分周比は1/64で使用します。このICの入力にFMチューナーの局発の周波数を入力して分周出力します。分周された信号は通常の周波数カウンタで読み込めるレベルになっていますので簡単に表示が可能となります。 |
![]() |
| (プリスケーラ回路) |
| 電源は5Vです。一応コイルを付けて電源ラインからのノイズを防止しています。この回路の電源は周波数表示用の電源としても使用します。 |
| まずは全体の構成を示します。 |
![]() |
| (デジタル周波数表示の構成) |
| バッファアンプから後の構成は今まで作ってきた周波数カウンタと基本構成は同じです。今回はFMチューナーですので中間周波数が10.7MHzで、ICの特性より下側スーパーヘテロダイン方式となっています。周波数カウンタ部では測定した周波数に10.7MHz分を加算して表示しています。プリスケーラで測定周波数を1/64にしていますので、最初はどうやって計測した周波数を表示したら良いのか考えていましたが、測定の基本クロックを1/64にすれば特別なことをしなくても簡単に表示出来ることがわかりました。 |
| 高感度FMステレオチューナーアンプ側のプリスケーラの実装状態です。省スペースに押し込んであります。バッファアンプから後は表示装置側に組み込んでいます。 |
![]() |
| (良く見えにくいですがちゃんと動作しています) |
| ここからはCPLDについて説明します。まずは内部回路を見て下さい。 |
![]() |
| (CPLD内部構成図) |
| 計測のクロックを1/64にしているのがポイントです。3桁表示にしている以外は今までの周波数カウンタと同じです。 |
| 今回も新しいモジュールのみ記します。 |
![]() |
| (1/64分周モジュールの入出力) |
![]() |
| (1/64分周モジュールのVHDLソース) |
![]() |
| (1/4分周モジュールの入出力) |
![]() |
| (1/4分周モジュールのVHDLソース) |
| 今更ですが、どちらのモジュールも分周比が違うだけで構成全く同じでした。 |
![]() ![]() ![]() |
| (加算モジュールの入出力) |
![]() |
| (加算0モジュールのVHDLソース) |
![]() |
| (加算1モジュールのVHDLソース) |
![]() |
| (加算7モジュールのVHDLモジュール) |
| これらのモジュールを使って計測データに107を加算します。 |
![]() |
| (3bitリングカウンタの入出力) |
![]() |
| (3bitリングカウンタのVHDLソース) |
![]() |
| (3to1セレクターモジュールの入出力) |
![]() |
| (3to1セレクータモジュールのVHDLソース) |
![]() |
| (ドットモジュールの入出力) |
![]() |
| (ドットモジュールのVHDLソース) |
| 簡単な話、小数点の表示をダイナミック点灯に合わせているだけです。 |
| ピン接続についてまとめます。 |
![]() |
| (デジタル周波数表示のピン接続) |
| 分周された周波数を正確に計測するために入力バッファ(アンプ)回路を設けます。 |
![]() |
| (入力バッファ回路) |
| CPLDとダイレクトに接続します。LEDの電流制限抵抗のみ付けます。 |
![]() |
| (7セグメント表示回路) |
| 大完成までの姿を見て下さい。 |
![]() ![]() |
| (今回はおしゃれなケースを使用します) |
| 7セグメントの表示を見えるようにするため、ケース前面のパネルをスモークのアクリル板で同じものを作っています。こうするとパネルに穴を開けて7セグメントを見えるようにするより大変見栄えが良くなります。 |
![]() |
| (内部は非常に簡単です) |
![]() ![]() |
| (かなり薄型に出来ました) |
| デジタル表示装置とFMステレオチューナーアンプとは3本線(5V、GND、信号)で接続します。私はステレオジャックを使いました。この場合電源を入れっぱなしで挿したり抜いたりすると確実に電源ラインがショートしますので、充分注意下さい。 |
![]() |
| (87.2MHzを安定して受信中です) |
![]() |
| (こんな感じでFM聞いてます) |
![]() |
| (GNDの内部配線です。苦労しました) |
| 周波数表示が可能となったことで受信ポイントの合わせ方がかなり簡単になりました。皆さんもこのデジタル周波数表示でノイズのない放送を楽しみましょう。 |
| 私と同じ製作をされる方、または勉強される方のために全ソースコードなどプログラム一式を公開いたします。フォルダごと圧縮しましたのでそのままもってって下さい。 |
| 全ソースコードはこちらです。 |
| いかがでしたか。これで私の受信装置の全てにデジタル周波数表示を付けることが出来ました。毎週快適な受信生活(?)を楽しんでおります。まだまだやること沢山あります。 |
| これからもますます楽しくなる「CPLDで遊ぼう!」をよろしくお願いいたします。 これからも「オーディオクラフト工房」もどんどん進化して行きます。 |