AudiocommのDSP Radio

Audiocomm RAD-F6228M-WがAmazonで半額に近い金額でセールされていた。

RAD-F6228M-W
RAD-F6228M-W

操作性がよくないとかレビューに書かれていたが、小生にはこの機能で十分満足。内蔵のRadiochipは定評のあるSi4734 を使っているので、即ゲット。入手して1日目はその感度のよさや、音の良さにおとなしくしていたが、2日目分解

Si-4734 Module
Si-4734 Module

基板は2重になっていて、LCDとSi4734のコントローラのMCUは下の段に。 48PINのMCUらしきものが見つかり、MCUの刻印を読み取ろうとしたが、よくわからなかった。EDIG7207AあるいはFDIG7207Aか?Webでサーチしたがそれらしきものは検索できなかった。オリジナルのMPUかもしれない。
MCU基板
MCU基板

AMのバーアンテナはとても小さいものが使われていたが、こんな小さなものでも十分に感度があるので驚きだ。

バーアンテナ
バーアンテナ

PIC18F26K22によるBK1088 DSPラジオ

BK1088 のラジオはこれで何作目になるだろうか?と言っても、完成したラジオが形として存在するわけではなく、ブレッドボードの段階で、完成したとして、次のMPUに交代しているわけです。今回は何とか満足できたので、ラジオの形になるかもしれません。 ソースコードは「pockyの木工ライフ」さんの素晴らしい力作を使用させていただきました。pockyさんはMikroCProを使用されていますが、無償版だと2kbの制限があり、コンパイルが出来ませんでした。それで、ある程度使用経験のあるMPLAB XのXC8でコンパイルしてみましたが、エラーが山のように吐き出され、前途多難でしたが、MikroCはライブラリが非常に豊富で、XC8はそれらが貧弱だという違いがありました。MikroCのI2Cのライブラリーのソースを探し回りましたが、全く見つからず、公開されていないということがわかりました。結局I2CのライブラリはPIC用に作製された「ソフトウエア開発・サーバ管理のメモ帳」というページの「PIC microcontroller用I2C汎用ライブラリ」を参照させていただきました。(PIC12FとPIC16F用だということですが、PIC18Fでも問題なく動きました。ただし、PIC18F26K22の2つ使える1個目だけです。)

一度に全部を完成させるのは難しいので、まずはI2C LCDだけ表示を完成させ、その次はBK1088 だけ完成させ、と順を追っていきうまくいきました。

BK1088+P18F26K22
BK1088+P18F26K22

FM/AM/SWともちゃんと動作しました。最初ロータリーエンコーダーが動かなかったのですが、Interruptルーチンの手直しが必要でした。
pockyさんのMikroCProでのhexファイルは16kb。今回のXC8でのhexファイルは18kbですので矢張り、MikroCProのほうが最適化がされているようです。XC8も有料Versionはちゃんと最適化がされるようですが、今のところ最適化が気になるようなProgramingもできないので、無償版で制限なく使えるので暫くはこれで行こうかと思っています。
コンパイル時に排出されるメッセージの一部です。
Memory Summary:
Program space used 19FDh ( 6653) of 10000h bytes ( 10.2%)
Data space used 110h ( 272) of F38h bytes ( 7.0%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 400h bytes ( 0.0%)
ID Location space used 8h ( 8) of 8h bytes (100.0%)
Data stack space used 0h ( 0) of 8CCh bytes ( 0.0%)

ProgramスペースはPIC18F26K22のわずか10%程度、dataスペースは7%しか使っていないようです。

以下ソースコードです。6個のテキストファイルです。
const.c
i2c-lcdlib-strawberry1602b.c
i2c-lcdlib-strawberry1602b.h
i2c-lib.c
i2c-lib.h
main.c

 

BK1088のAM受信について

BK1088の説明書によるとAMのフェライトバーアンテナのインダクタンスは160-600 µH の広い範囲に対応すると書いてあったが、試しに現在付けてあるバーアンテナの巻線の位置を変えてみた。これまでは始点と終点をBK1088のAMIとRFGに接続していたが、この状態ではおそらく600 µH以上。あまり感度がよくない。特に810KHz以上はノイズが凄い。

そこで、1/6位のところでタップが出ているが、そのタップと終点をAMIとRFGに接続した。おそらくインダクタンスは120~160μHくらい。(インダクタンスメータで測ったわけではないので推測)すると低い594KHzから1422KHzまで全域がかなりクリアに聞こえた。594KHz,693KHz,810KHz,954KHzはノイズもほとんどない、それ以上の周波数域もほぼ問題なく、ラジオ日本の1422KHzはノイズは多いが、明らかに定番の6955より受信感度は良いようだ。
(自作のLCメータで測定したら始点、終点間が1200μH、タップ、終点間が120μHでした。どうも小さいインダクタンスのほうが良いようです。SWに関しては説明がないが、どこかのサイトで同じフェライトバーアンテナにSW用のコイルを巻いて、MPUで切り替えているのを見た覚えがあるが、やってみようかな?)

Maple(STM32)でBK1088

数年前にeBAYで購入したArduino互換のLeafLab社のMapleでBK1088 を動かしてみた。互換機のほとんどがそうだが、IDE環境が古いので多くの場合、ArduinoUNO等で動いていたスケッチはそのままでは動かない。Mapleの場合はWire.hのwriteをsendにreadをreceiveにする必要があったり、DefalutのPinが変わったりで、すんなりとはいかない。また、portのpullupが、設定ではうまくいかず、抵抗でpullupしないとうまくいかなかったりする。オープンドレインではないのかな?

I2Cで制御するBK1088はうまくいったが、I2CLiquidCrystal.hがmapleではどうもうまくいかない。結局LCDをパラレルに変更して動いた。ラジオはFM専用にしてボタンで切り替える方式にした。通常なら Up,Down2つのボタンだが、1個で順番に選択しているが、実用的にはこれで十分。

MAPLE+BK1088
MAPLE+BK1088

スケッチです。
BK1088_MAPLE

ArduinoでBK1088ラジオ(2)

前回の記事BK1088をArduinoで制御で決め打ちしかできなかったものを、ロータリーエンコーダで選局できるようになったので、ソースを公開します。このソースのほとんどは鉱石ラジオと料理とさんもへあるさんのコードを参照させていただきました。BK1088 特有の初期化ルーチンは若干コード容量が増えますが、ArduinoUNOでも十分収まっています。ロータリーエンコーダは10KΩを介して100nFでチャタリングを防止しましたが、それほど効果が感じられません。FMの音質は良いのですが、AMはかなりノイジーでした。
ロータリーエンコーダでの選局時少しバックラッシュがあり、その周波数を一度行き過ぎて、戻ると正常に受信できるようですが、一応実用レベルだと思います。なぜか、割り込みの反応が少し遅いように感じます。割り込みではなく、直接エンコーダーを読み取ると非常に素直に反応しますが、その場合はラジオにノイズが入ってしまい、使い物になりません。(これをいつか改良したいと思います)

Bk1088 Arduino
Bk1088 Arduino

Arduinoはブレッドボード上にすでに移動して、clockを12MHzに変更し(16MHzの場合は5逓倍の東京FM80.0MHzが聞こえない場合があるため)、5V-3.3Vの変換もなくしました。Li-ion電池の3.7Vで動いています。

スケッチです。TXT文が開きます。
Arduino_BK1088

DSPラジオ(5) AitendoのDSPラジオAKIT-6955V2D

AitendoのDSPラジオM6955DのMWのスキャンが10kHzステップで、日本の放送局には合っていないことは前に書いたが、Aitendoからその対処と思われる新しいMPUが売られていたので、買ってきた。製品版は”最強版!DSPラジオキット(表示器付)[AKIT-6955V2D] ”と銘打って型番も変更になっている。使われているMPUも型番が変わって(MC96F6432Q)MCU6951-55となり(NEW)とマークされている。以前は190円だったが今回はなぜか490円と300円も値上げされている。

早速入れ替え作業に取り掛かる。まず、液晶その他の熱の養生のためアルミホイルや鉄板(実際には猫缶の空き缶)をかぶせて、ホットガンでMPUを外す。

熱の養生
熱の養生

新しいMUPは税別で490円なので前の価格からすると2.6倍以上になっている。

新しい?MPU
新しい?MPU

入れ替え完了
入れ替え完了

さて、入れ替えていそいそと電源オン!まずはMWを選択し、スキャンキーを押してみると、従来通りの10KHzステップ。それでおもむろに再度MWキーを押して再度スキャンキーを押すと今度は9KHzステップで登録している。写真のようにNHK第2放送も693KHzで登録され、クリアに受信できた。 やっと、普通のラジオになったと喜んだ・・・・・・・・・・・

と思ったが。

FMやSWを選択して、またMWに戻ってくると、あれ?

なんだ??? さっきMWでスキャンして登録した局がほとんど選択できない。たった2局NHK第一放送と第二放送のみが残っているだけ。MWだけ選択状態の場合は問題ないが、いったん他のバンドを選択するとダメなんだ。メモリー上にしか登録していず、MPUのeeprom(エミュレータ)にちゃんと書いてないんだろうな。FMは問題ないようだが、Signal Strengthの非常に低い局まで登録しているので、ちゃんと聞こえる局まで何十回もUp,Downキーを押す必要がある。thresholdが低すぎるんだろう。

これで解決してるのか?またまた、チャイナ品質か!出荷する前にテストしていないのか。あるいはaitendoは知っててこれを販売しているのか。

こんな品質のソフトで中国はよく月探査船を送ったものだ。たぶんトラブル続きなんだろうな。まともに観測なんかできていないに違いない。

スキャンして登録したMWの曲をUp、Downキーで選択することは、前のVersion同様できないが、ロータリーエンコーダでの選択は9KHzステップでできるので、ほんのわずかだが進歩したが、その分が300円とは法外な価格だ。熱によって壊れてしまうというリスクを冒してまで取り替えた労苦も無駄だった。本来バグの修復だから無料で提供して当たり前と思えるが・・・中華思想か!

このMPU、MC96F6432Qの開発ツールが欲しいが、MCUのリンクを探したらKEIL社http://www.keil.com/のツールが使えるとか。ここにあった。http://www.abov.co.kr/kor2/product/info/view.php?dev=mc96f6432。C51のEvaluationのC開発環境でAitendoが公表していた(今はLinkが消えている)CODEをCompileしてみた。ProjectはLoadできたがBuildするとメモリー不足で中断されてしまう。MC96F6432のSampleCODEはCompileできるので、おそらくEvaluationではない製品版を購入する必要があるのかな?

LINK時このようなERRORが出る。”* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 256DH BYTE (467%) *”

 

 

 

 

300円ラジオ

Aitendoのセールで売っていた300円の名刺ラジオ。モノラルなので、買わないと決めていたのに、全てがキットになっていたのでついつい買ってしまった。使っているIC BK1079 は90円で売っている。早速作ってみた。

300円ラジオ
300円ラジオ

説明書に表記のない部品や、パターンカットやパターンショートの必要はあったが、完成。さて電源を入れるとLEDは点灯するが少し暗い。イヤフォンを差し込むと、LEDが消えてしまう? と回路を見るとICとイヤフォンが直結している。これはだめだろう。とパターンをカットして330uのコンデンサーを入れる。今度は大丈夫だろうと思ったが。イアフォンからはノイズも聞こえない。なんだこれ!と早速ゴミ箱行きか。と思ったが思いなおして、真面目に修復してみよう。組み上げているとき不思議に思ったのが、電池の+電極から電源スイッチを通してVDDに抵抗が入っている。??電源に抵抗?とキットの説明書には記載がなかったが抵抗のPADがあり、キットの抵抗器は100Ωが一本余っていたので、それを入れるんだろうと入れたが・・・。やはりこれはおかしいので、そのPADにキットには入っていない 0Ωを入れて、電源を入れたら、イアフォンからザーッとノイズが。 SCAN+ボタンを何度か押すと、非常にクリアにFM放送が入った。モノラルのせいか音に広がりはないが、音質が非常にいい。低音域も非常にいい音だ。このICモノラルなのがもったいない。この音質でステレオだったら、抜群だが!(なら90円では売ってないかも)DSPラジオはいろいろ作ってみたが音質の良さはぴか一だ(モノラルだからかもしれない)。ただ、感度はあまりよくなく、クリアに聞こえるのはNHK-FM(82.5MHz)と東京FM(80MHz)のみだった。

BK1079と同じメーカと思えるBK1088 を今、格闘しているがなかなか難しいICだ。I2Cのシーケンスが通常のDSPラジオとは違うみたいでいまだに電源オンにできないでいる。BK1088もBK1079 と同じ回路を持っていれば高音質がステレオで得られそうだ。頑張って鳴らしてみよう。