ワンチップでできてしまうDSPラジオがうまく動いたのに気を良くして、I2Cで制御するDSPラジオに挑戦してみた。
PICで制御するので、周波数が直読できる。これは、アナログのラジオを作っていたことからすると画期的。
周波数カウンターを使えばできないことはないが、ドリフト等を考慮するとスマートではない。
PLLかDDSで周波数を管理できればスマートだが、自分で組むと大規模な回路になってしまう。
その点、このチップはワンチップでできてしまうことがすごい。
LCDの化粧板をプリンターで出力し、LCD窓をカッターで切り取る。
スイッチやロータリーエンコーダーの文字は透明のシート(のり付き)もプリンターで印刷する。
このブルーだと、透けて地のアルミが見えてくるので、色が沈んでしまう。黒とかの方が隠蔽がうまくいくようだ。
ラジオモジュール(I2C)[BK1088-102BC-1.5V]
これが心臓部のDSPチップだ。中波、短波、FMとその復調器、ステレオアンプまでが詰まっている。
デザインの象徴的なのがこのバーアンテナ。中波と短波(?)に用いる。アルミケースの影響を受けないように、アクリル板で持ち上げたが、こんなに離さなくても良いかもしれない。もちろん、市販のバーアンテナでも構わない。2球スパーラジオで自作したものと、同じ手法で作っている。外形は10mm。内径8mmでシオヤ無線で売っていたフェライトコアを入れて350uH程を得ている。もっとも、このDSPチップは共振させていないのか、インダクタンスはラフで構わないようだ。この辺りの理屈がよくわからない。短波もこのバーアンテナを使うのであろうか???。外部アンテナ接続用として、リンクコイルが巻いてある。これをRCAコネクターに出してある。(奥のコネクター)
手前のRCAコネクターはFM用のアンテナ端子だ。FMはシールドが効いて、アンテナを着けないと全く受信できない。
サイドの大きな丸穴はスピーカーの穴だ。左右にあり一応ステレオになっている。ヒメロン(これは、商品名らしい)でもあれば貼るのだが、適当な布が無いので穴が開いたままになってしまった。
音量のLCD表示のプログラムを最後に追加した。ちょっとスマートではないが、一応表示されるようになった。それまでは、デバックのためレジスター05の内容を表示するようにしてあった。こうすることで、色んなことがわかって助かった。
別の角度からもう一枚。
左手前のRCAコネクターは、FM用のアンテナ端子。シールドしたおかげ?でNACK5ですら、アンテナを付けないと入ってこない。
奥のRCAコネクターは短波・中波用に外部アンテナが接続できるようにした。バーアンテナにリンクコイルを巻いている。
シールドケースに組み込む前のカット。基板のグランドも銅テープで強化している。効果の程は??、確認していないのでよくわからない。効いているかもしれない。
トロイダルコアはEMI対策用のものだ。コモンモードの対策で信号線とアース線を一緒に巻き込んでいる。
I2C、スピーカー、電源にそれぞれ1個づつ使っている。中波帯からすると、もっと巻き込んだ方が良いかもしれない。多分インダクタンスが不足していると思う。また、このコアの効果も確認していないので、効いているかは定かではない。気休めかもしれない。カブリがひどい時にこの辺りがいじれるように、予めコアを入れておいた。幸い、シールドが効いたのか、コアが効いたのか、カブリが問題ないレベルに低減されているのでこのままにしようと思う。
シールド板は0.3mm厚の両面基板だ。以前、秋月で売っていたものだ。 銅板よりも腰があって加工しやすい。ただし、両面が導通していないことを認識しておく必要がある。 シールドにとって、浮いていることが良い場合とそうでない場合があるからだ。
蓋もネジ4点で接続されている。 これも、要注意だ。高い周波数の場合、この蓋が、アンテナになってしまうことがある。 浮いているので、輻射もしくは漏れが生じる。 必要に応じて、蓋とケース本体を銅テープでつなぐ。 高い周波数のシールドケースだと、ガスケットのような接続部品が間に入れてある。 場合によっては、ここまで必要だ。
セラミックコンデンサーがバーアンテナ間にパラに入っている(緑ぽい色)。これは、モジュールについていたチップコンデンサーが、端子を半田付けした時に取れてなくなってしまったので、外付けで対応した。表面張力?でチップコンが飲み込まれてどっかに行ってしまった。これも小さい。aitendoの資料によるとこれは15pF。
ケースを開けたところ。写真下のフロントパネルとの接続線は結構長くなってしまった。
モジュールとバーアンテナ、RCAコネクターあたりの様子だ。RCAはむき出しだから、ノイズが入り込む余地が残っているが、今のところスペースの関係でこのままだ。
CPUのPIC18F26K22が見える。結構窮屈な実装になってしまった。6pinのコネクタはPICKit3との接続用だ。
写真左上にスピーカーがある。これは、携帯電話機から取り外したジャンク品だ。アクリルパイプで前室を作っている。それなりに、音量を得ることができている。LM386でも付ければさらに音量が得られるであろうが、電源の問題とDSPワンチップにこだわって内蔵のAmpのみで使っている。
ミニコンポに使われている高効率のスピカーと使うと、部屋で聴くには十分な音量が得られる。音も非常に良い。
かなりアクロバチックな実装になってしまった。結果的にフロントケースとベース側を組み合わせるとクリアランスが殆ど無い。
充電回路だが、絶縁テープが貼ってある。これもフロントケース側の基板とのクリアランスが充分でないために、安全を見て貼っている。
以下のサイトのソースコードを参考に成せていただいた。貴重な情報を提供いただき感謝、感謝です。
【参考にしたサイト】
http://crystal-radio.blogzine.jp/blog/2013/01/aitendodspic_be.html
http://elm-chan.org/docs/tec/te04.html
http://sky.geocities.jp/home_iwamoto/P16F145x/P16_L02a.htm
【回路図】
ポートに余裕があるので、贅沢に使っています。以前のものとは、ポートが若干異なっています。
【開発環境】
Mikro C PRO v5.8.0
【プログラム】
プロジェクトファイルとHEXファイルを公開します。プログラムは得意ではないので、冗長なところ、おかしなところがあるかもしれませんが、一応動いたものをおいています。
プログラムソース・HEX一式
「20140303.zip」をダウンロード
【課題】
スピーカから「ピー」という高い音が出ています。スピーカではほぼ問題ありませんが、イヤフォンで聴くと気になります。(若い人はもっと気になるかもしれません!)
音量に関係なく出ます。ブレッドボードの時から変化がありません、どちらも出ます。今のところ、追求していないので、よくわかりません。
【製作の経過】
ここに、記載があります。「pockyの木工ライフ」
- I2C制御DSPラジオ(BK1088) 12(取り敢えず、完成)(2014.03.03)
- I2C制御DSPラジオ(BK1088) 11(2014.02.09)
- I2C制御DSPラジオ(BK1088) 10(2014.02.02)
- I2C制御DSPラジオ(BK1088) 9(2014.01.26)
- I2C制御DSPラジオ(BK1088) 8(2014.01.19)
- I2C制御DSPラジオ(BK1088) 7(2014.01.13)
- I2C制御DSPラジオ(BK1088) 6(2013.12.15)
- I2C制御DSPラジオ(BK1088) 5(2013.11.04)
- I2C制御DSPラジオ(BK1088) 4(2013.10.27)
- I2C制御DSPラジオ(BK1088) 3(2013.10.23)
- I2C制御DSPラジオ(BK1088) 2(2013.10.22)
- I2C制御DSPラジオ(BK1088)(2013.10.20)
- DSPラジオ(2013.09.08)
【データシート】
BK1088データシート(pdf)