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

更新日:2011年11月6日


究極のDSP-FMラジオを作ろう

久しぶりにFMラジオを製作します。今回はFMラジオの単独とします。前回かなり納得のAMラジオが出来たので、FMラジオも納得をいくものを作りたい、ということです。納得のFMラジオといえばSilicon Laboratories のICしかありませんよね。今回使うSi4703はhttp://www.aitendo.co.jp/ aitendo@shopping で購入することが出来ます。
究極のDSP-FMラジオを作ろうの基本仕様
1)FMラジオはSilicon Labs製 Si4703DSP処理のICチップを使います。
2)20局のプリセットが可能です。設定・削除が自由に出来ます。
3)設定データは外部EEPROM記憶して電源ONで前回の周波数になります。
4)アンプスピーカーを内蔵して手軽にラジオが楽しめます。
5)周波数表示は16文字2行のLCDモジュールを使用します。
6)受信周波数は76MHz〜108MHzに対応します。海外でもOKですね。
7)選局はマニュアル操作もありアナログ感覚で操作可能です。(但し受信範囲は日本国内の周波数76MHz〜90MHzとします)
8)将来的に外部からON/OFFをコントロール可能なように準備しています。
究極のDSP-FMラジオを作ろうの全体構成図
全体の構成図を示します。
(究極のDSP-FMラジオの構成図)
単純にFMチップをマイコンからコントロールしているだけです。以前作ったFM/AMラジオのFMラジオを単独化したものです。より手軽にFMラジオを楽しめるようにしています。
究極のDSP-FMラジオを作ろうのFMチップ
このICチップはQFNパッケージですが、通常のタイプと異なり、市販の変換基板ではんだ付け出来るものではありません。従って、究極のはんだ付けをすることになります。慣れれば結構簡単ですので、皆さんも拡大レンズを見ながら奮闘しましょう。
(究極のはんだ付け)
20pinの変換基板に裏向けにして両面テープで貼り付けて銅線をはんだ付けします。銅線は100Vなどの電源コードをばらして取り出したものを使います。端子間は0.5mmピッチですが、先の細いこてなら簡単です。こんな感じで取り出したらどうでしょう。
(変換基板への配線)
究極のDSP-FMラジオを作ろうの回路図
(FMラジオ部回路図)
このFMチップSi4703は水晶発振子を直接駆動出来るようになっていますが未だに制御方法が判らないので、外部発振としました。今回はマイコンも3.3Vで駆動していますので、FMチップとの親和性(?)は良好ですが、FMチップからデータ読み出しすることもなく、マイコンからの出力制御のみで動かしています。
(マイコン制御回路図)
基本構成は私の最近のラジオの製作と同じです。最近液晶モジュールを3.3V駆動に変更しましたところ、便利になっているものでDB0-DB3の配線が不要になっていますね。コントラスト調整はV0からGNDに抵抗値を調整して取り付けています。
(電源制御回路)
私の定番になりつつある電源回路です。大変重宝しています。
(ステレオアンプ回路)
このアンプICも大正解ですね。ヒスノイズは全く感じられませんし、周辺回路もコンパクトで使い勝手が大変良いです。
究極のDSP-FMラジオを作ろうのマイコンポート割付
(マイコンポート割付)
P30(外部割込み)は将来の拡張用です。タイマーやリモコン操作を予定しています。
究極のDSP-FMラジオを作ろうのモード操作
(モード操作一覧)
操作は最近のAMラジオと全く同じです。私のラジオ操作の定番です。
究極のDSP-FMラジオを作ろうの液晶表示
(液晶表示一覧)
既にプリセットされている放送局は私の生活環境のものですので、皆さんでアレンジして下さいね。
究極のDSP-FMラジオを作ろうのEEPROM割付
(EEPROM割付)
究極のDSP-FMラジオを作ろうのFMチップ制御
WEB上にはこのチップの製作記事が少ないので再度掲載しておきます。決して良好な制御方法ではありませんが、とりあえずこれだけすればラジオは受信出来るようになります。
マイコンからの制御は3線式とします。SEN、SDIO、GPIO3をLレベルに保ってDSPチップのリセット端子(RST)を立ち上げることで3線式制御になります。電源の立ち上げ方によっては正しくリセットが掛からない場合があるので、今回ソフトウェアからは2回リセットしています。
(初期設定のタイミング)
(3線式制御の設定)
(3線式制御の書込みタイミング)
SENをLレベルにした後、上位アドレス3bit、書込み読出し1bit、下位アドレス5bit、データ16bitの順にSCLKに同期してデータを書込みます。ここで理解に苦しんだのは全てのデータ書込み後SENをHレベルにした後、もうひとつSCLKを入れることです。
(書込みデータの並び)
このDSPチップの個別アドレスはA7-A4=0110Bになっています。このアドレスを送り込まなければなりません。書込み読出し制御ビットで書込みは「0」です。DSP制御にはA3-A0のレジスタアドレスを設定してデータを書込みます。
制御するレジスタは02hから05hの4つのみです。これだけでDSPチップを動かすことが出来ます。

(レジスタ02)
レジスタ02は電源ONの重要な制御があります。これ以外にはSTEREO/MONO切換えですが今回は使用していません。MUTEは制御しましたが効果のほどは・・・
(レジスタ03)
レジスタ03は周波数設定です。周波数自体の設定は同調周波数から76MHzまでの差分を設定することで行います。スーパーヘテロダインのイメージで考えると全く次元の違う制御ですね。

(レジスタ04)
レジスタ04で設定するのはデエンファシスの設定のみです。

(レジスタ05)
レジスタ05は周波数帯域と周波数間隔、音量設定です。音量は最大にしておきます。
以前の記事にも記載しましたが、受信周波数の設定は「周波数設定、DSPチップからの同調終了を待つ、同調をやめる」という制御を行わなければ受信が出来ないのです。今回DSPチップからの読出しをしていないので「DSPチップからの同調を待つ」という部分は「時間を待つ」ことで代用しました。
究極のDSP-FMラジオを作ろうの姿
(内部はシンプルです)
(FM受信回路、マイコン回路です)
(電源回路、アンプ回路です)
(ステレオスピーカー内蔵しています)
(AMラジオと並べて使用中)
両脇のナゾのスピーカーは近日公開予定です。ご期待下さい。
(表示はこんな感じになります)
究極のDSP-FMラジオを作ろうのマイコンソフト
ソースファイル一式はこちらからダウンロードして下さい。フォルダごと圧縮しています。全ファイルが入っています。ライタで書き込みする実行ファイルも含まれています
私の個人的見解としてはFMラジオの製作はこのようなIC使用が最適ですね。自作によくあるFM特有のヒスノイズが全く感じられないので大変重宝しています。調整が全く無しのもいいですよね。新しいICがどんどん出てきていますのでまずはその仕様書(当然英語)の理解は大変重要になります。
これからもオーディオクラフト工房はどんどん楽しくなっていきます。

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