(12)トラ技mbedでDSPラジオ(Si4735ライブラリ)

(12)DSPradio(Si4735 library)

概要

  • Si4735用のライブラリです。
  • Si4735はI2C接続のDSPラジオ(AM/FM)です。
  • 2つの付録基板での活用例です。
  • トランジスタ技術2014年2月号の付録基板(実験基板)
  • トランジスタ技術2014年3月号の付録基板(トラ技mbed)
  • 実験基板は表示機として使用します。LPC810は外しておきます。

/media/uploads/yasuyuki/dspradio.png

Si4735モジュール

  • ビット・トレード・ワンのSi4735モジュールを使用します。
  • 事前準備として、FMアンテナ用ハンダ・ジャンパーをショートします。
  • これによりイヤホン・ケーブルがFMアンテナを兼用します。
  • 端子のmbed風表記です。

/media/uploads/yasuyuki/si4735.png

ボタン操作方法

SW1BandFM/AMバンド切替
SW2Modeモード切替(Volume/Seek/Step/Region)
SW3UpVolumeUp/SeekUp/StepUp
SW4DownVolumeUp/SeekDown/StepDown
  • Volumeモードでボリュームを設定します。
  • Seekで自動チューニングします。
  • Stepで手動チューニングします。
  • Regionで居住地域を設定します。

ラジオ放送の仕様(spec.)

-日本米国EU
AMバンド531KHz~1602KHz530KHz~1710KHz522KHz~1602KHz
AMスペース9KHz10KHz9KHz
FMバンド76MHz~90MHz87.9MHz~107.9MHz87.5MHz~108MHz
FMスペース0.1MHz0.2MHz0.1MHz
FMデエンファシス50us75us50us
  • FM放送は音質改善のために、高音を強調(エンファシス)して送信しています。
  • FM受信側で高音を元に戻す(デエンファシス)必要があります。

Si4735関数

関数名用途引数戻り値
Si4735 radio(P0_5, P0_4, P1_19)インスタンス生成SDA, SCL, RST-
Si4735 radio(i2c, RST)インスタンス生成i2c, RST-
radio.getIntStatus()status取得関数voidchar status
radio.setProperty(0x4000,32)SetProperty設定関数short PROP, short PROPDvoid
radio.setVolume(32)Volume設定関数char vvoid
radio.getFMStatus()FM状況取得関数voidchar
radio.getAMStatus()AM状況取得関数voidchar
radio.setFMRadio(8000)FM周波数設定関数int fvoid
radio.setAMRadio(954)AM周波数設定関数int fvoid
radio.getFMRadio()FM周波数取得関数voidint f
radio.getAMRadio()AM周波数取得関数voidint f
radio.seekFMRadio(SEEK_UP)FMseek関数SEEK_UP/SEEK_DOWNvoid
radio.seekAMRadio(SEEK_UP)AMseek関数SEEK_UP/SEEK_DOWNvoid
radio.initFMRadio(fmin, fmax, spacing, deemphasis)FM初期化関数int, int, char, charvoid
radio.initAMRadio(fmin, fmax, spacing)AM初期化関数int, int, charvoid
radio.resetRadio()reset関数voidvoid
  • インスタンス生成はどちらかの方法で行います。i2cを継承することもできます。
  • Si4735コマンドの詳細はプログラミングガイドAN332を参照ください。
  • I2Cアドレス(7ビット)は0x11(プログラム上の表記は0x22)

Appendix(1) Si4735のポップノイズ対策

  • Si4735のLOUT/ROUT端子はデジタルとアナログ兼用のため、切替時にノイズを発生します。
  • そのためAM/FM切替時にポップノイズを発生します。
  • RESET信号に連動したアナログスイッチでノイズを回避します。

Appendix(2) Si4735の音割れ対策

  • アナログ出力の駆動能力には限界があります。
  • そのため大音量で音割れします。
  • オペアンプでバッファーし、駆動能力を補います。

Appendix(3) Si4735のFM受信ノイズ対策

  • Si4735-D60はデフォルトでデバッグ機能が有効です。
  • そのためFM受信時、定期的(約1秒間隔)に小さなノイズが入ります。
  • デバッグ機能を無効にすることでノイズを軽減します。

/media/uploads/yasuyuki/si4735.jpg

DSPラジオのメリット

  • デジタル処理のため、受信周波数の安定性がよい。アナログのようにふらつくことはありません。
  • 周波数の安定性がよいため、音質もよい。
  • 物理的な調整箇所がないため、経年変化がありません。アナログの場合、再調整が必要です。
  • 小型軽量です。

mbedソフトウェア

  • サンプルプログラムはmbed_RADIOです。
  • mbed_RADIO_LPC11U35_501.binを書き込みます。

トラ技mbedのプログラム書き込み方法

  1. ISPボタンを押しながらRESETをON/OFFします。
  2. PCにUSBストレージとして認識されます。
  3. firmware.binを削除します。
  4. バイナリファイルをコピーします。
  5. RESETを押します。

接続

  • Si4735の3.3Vをmbedの3.3Vに接続します。
  • Si4735のGNDをmbedのGNDに接続します。
  • Si4735のSCLをmbedのSCLに接続します。
  • Si4735のSDAをmbedのSDAに接続します。
  • I2Cデバイスを複数接続する必要があるため、I2Cハブを利用しています。

/media/uploads/yasuyuki/dspradio.jpg

著作権と免責事項

  • 個人利用に限定され、著作権者の許可なく商用利用できません。
  • 直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。


Please log in to post comments.