【概要】
イーサネットモジュール内蔵のPIC18F67J60を使ってインターネットラジオ
を試作してみました。
マイクロチップ社のTCP/IPスタックに内蔵されている「Internet Radio App」を
使うことで意外と簡単に動かすことができました。
「Shoutcast」と呼ばれる方式のインターネットラジオから、ストリーミング方式で
音のデータをMP3かWAV形式でダウンロードして再生しています。
128kHzサンプリングのMP3の音楽などを受信して聴いていると、結構良い音で
聴くことができます。
ラジオステーションの追加変更も、プログラムのデータを変更することで自由に
できます。
外観は下記のようになっています。
【内部構成】
このインターネットラジオの全体構成は下図のようになっていて、マイクロチップ
のインターネットラジオのデモプログラムを参考にして製作しました。
大きく、PIC本体、MP3デコーダ部、グラフィック液晶表示器で構成されています。
インターネットラジオをストリーミングで連続してデータを受信しますので、PIC本体
内蔵のRAMだけでは不足するため、外付けでSPIインターフェースのRAMを追加
しています。
操作面のスイッチとしては、3つ用意していて下記の操作が可能となっています。
SW0: 機能選択(ラジオステーションの選択、音量、低音ブースト を巡回)
SW1: ステーション選択時はNext、音量と低音時はアップ
SW2: ステーション選択時はPrev、音量と低音時はダウン
表示にはグラフィックの液晶表示器を使って、できるだけたくさんの文字表示が
できるようにしました。
これでラジオ局名の表示も、音楽の曲名表示も自動でダウンロードし、
十分の文字数で表示することができます。表示例を下図に示します。
【回路図】
上記構成で製作した回路図が下図のようになります。
PIC18F67J60を中心にして、右上がLAN関連の回路、左側がグラフィックの
液晶表示器と操作スイッチ類、下側にMP3のサブ基板、右下がSPI接続の
RAMとなっています。
このSPI接続のRAMが特殊部品で、AMI Semiconductor社のもので1個で
32kバイトの容量のものです。
(2009/1/21)
このSRAMはマイクロチップ社からコンパチ品がリリースされました。
「23K256」という型番で置き換えができます。パッケージはDIP、SOIC
TQFPの3種類がありますので個々に適当なものを選択して下さい。
ここで使っているのはSOICですので「23K256-I/SN」となります。
関連のウェブページは下記となります。
「マイクロチップ社 23K256のページ」
MP3のサブ基板の回路は下記となっています。
ほぼデータシートの推奨回路どおりとなっています。ヘッドフォン用のジャックも
この基板に実装しています。
クリスタル発振子の周波数はこの回路図と異なり、倍の24.576MHzを使って
います。この周波数がデフォルトになっているので、クロック関連の設定が
省略できます。
R10の抵抗はアナロググランドとデジタルグランドのジャンパ線です。
このVS1011eの使い方は、別ページを参照して下さい。
【プログラムの製作】
プログラムは、マイクロチップ社のフリーの「TCP/IPスタック」に含まれている
「Internet Radio App」を改造して作成しています。
特に元のプログラムでは表示器にOSDのOLEDタイプを使っていますので、これは
今回使った液晶表示器とは異なりますので、表示に関する部分はすべて
作り直しが必要です。
しかし、ネットワーク関連と、MP3デコーダに関する部分は、I/Oピンの設定変更
だけで動かすことができました。
特にRAMに同じものが入手できましたので、これで改造がかなり楽にできました。
TCP/IPスタック Ver4.50に対応させたプログラムは下記となります。
★★★ インターネットラジオプログラム1式