AKC6955

どういう物か?

ラジオをDSPを使ってデジタル信号処理で復調する中国製のICです。深圳市迪斯普科技有限公司によって製造されています。
データシート(和訳、aitendo様ありがとうございます!) は、→のM6955の販売ページにあるリンクから(随時アップデートがされそうなので) http://www.aitendo.com/product/7012 。 後、メーカサイトはこちらです(簡体中文) http://www.disipur.com/down/html/?4.html

受信可能な帯域は、長波・中波・短波と中国の地上アナログを含んだVHF帯(56〜225MHz)です。スピーカー・ヘッドフォン用のアンプを内蔵していますが、スピーカーを鳴らすには少し力不足です。

初期化など

 基本的に、このICは邪悪(笑)なので、以下のシーケンスをしないと何も動きません。RVOの基準電圧すら出ず、p_onを'1'にしてもI2CのACKだけ返してくる。

① p_on(IC5ピン)を'H'にする
② 50ms位(いい加減)Waitする
③ I2Cを経由してデバイスアドレス:レジスタ=0x20:0x00 に0xc0を書き込んで、 ICをパワーセーブモードから叩き起こし・MUTEを解除する

 こんな感じです。後、I2Cには制限があります(次項に書く)

I2C

このICのI2Cは、100KHzでは動きません(多分、バスマスタ側のスルーレート制御が有効になってないと無理)。なので、400KHz近くで通信することが必要です。
後、SCLとSDAにはプルアップが必要です。実験で決めた値だと2.2KΩくらいですが、ケースバイケースで。

選局

選局は以下のようなシーケンスで行う必要があります。

① レジスタ0x00のbit6でAMかFMかを選択する

② レジスタ0x01でバンドを指定する
③ 選局したい周波数とバンド、AMを選ぶ場合にはレジスタ0x16のビット7(mode3k_f)からch値を逆算して、CH値をレジスタ0x03(下位8BIT)->レジスタ0x02(上位5BIT)の順番で設定する
④ レジスタ0x00のbit5とbit4をクリアする
⑤ 大体1ms?待つ
⑥ レジスタ0x00のbit5を'1'にセットする
⑦ 大体1ms?待つ
⑧ レジスタ0x00のbit5を'0'にクリアする(ここがわからずにハマったので注意)
⑨ 8ms待つ
⑩ 選局が終わったかどうかはレジスタ0x14のbit6 (stc)が'1'になったかどうかで見ます。

スキャン

 スキャンが可能です。  以下のシーケンスで行います

① レジスタ0x14のbit6が'1'かどうかを確認する(念のために)
② レジスタ0x00のbit3でスキャン方向を設定する
③ レジスタ0x00のbit4を'0'でクリアする
④ レジスタ0x00のbit4に'1'をセットする
⑤ スキャンは0x00のbit4を'0'にクリアすると中断できます。
⑥ スキャンの完了には62.5msかそれ以上かかります。レジスタ0x14のbit6(stc)が'1'になったら、スキャンは終了です。

M6955

このICを比較的簡単に組み立てられるように、aitendoがM6955 と言うモジュールを売り出しています。(販売サイト http://www.aitendo.com/product/7012)