上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top

昨夜からBK1088制御ソフトを作成中です。



とりあえず、BK1088のデータシートとこちらのページを参考にしてI2CでデバイスIDを読んでLCDに表示するソフトを作ってみたのですが、うまくいっていないようで、0000表示となっています。





問題がハードなのかソフトなのかはI2Cの波形を見ればすぐわかるのですが、いま帰省中で手元にオシロがないのでそうもいきません。戻ってからということにしました。



動かないソフトをアップしても意味がないので、ソースアップも動いてからにします。











なお、ネットで検索したところBK1088のレジスタ設定値がこの中国語ページにあるらしいです。ここにあるFM用設定らしいところを抜粋してデータシートと照らし合わせました。



code UINT16 HW_Reg[]=
{
0x8000,//0   デバイスID
0x1080,     チップID
0x0281,     Power Configration ※bit0 = Power ON
0x0000,     Channel   
0x60C0,     Systen Configuration1
0x37DA,//5   System Configuration2 ※バンドとチャンネル間隔
0x086E,     Systen Configuration3
0x0901,     Test1 ※AM/FMの切り替えはここらしい
0x9C90,     Test2 ※AFC関係?
0x17A0,     Status1 ※AFC/SNRリード
0x402B,//10  Status2 ※Seek状態、RSSIリード
0x0040,     Read Channel ※現在のチャネル 
0x0000,     RDS1
0x0000,     RDS2
0x0000,     RDS3
0x0000,//15  RDS4
0x7B11,     Boot Confirutation1 ※リザーブ機能?
0x0800,     Boot Confirutation2 ※リザーブ機能?
0x4000,     Boot Confirutation3 ※リザーブ機能?
0x4144,     Boot Confirutation4 ※リザーブ機能(リセット値と違う)
0x829A,//20  Boot Confirutation5 ※ミュート設定らしい
0x7812,     Boot Confirutation6 ※リザーブ機能(リセット値と違う)
0x43BB,     Boot Confirutation7 ※リザーブ機能(リセット値と違う)
0x0B41,     Boot Confirutation8 ※リザーブ機能(リセット値と違う)
0x143C,     Boot Confirutation9 ※リザーブ機能(リセット値と違う)
0x000E,//25  Boot Confirutation10 ※リザーブ機能(リセット値と違う)
0x0000,     Boot Confirutation11 ※リザーブ機能?
0x48D4,     Analog Configuration1 ※リザーブ機能?
0x0000,     Analog Configuration2 ※Clock Divider
0x0200,     Analog Configuration3 ※Clock Divider control
0x80AA,//30  ※以下(0x1E~0x28)はテスト用レジスタで設定不要らしい
0x0000,
0x0EF7,
0x0600,
0x0000,
0x7000,//35
0x0880,
0x8D83,
0x8000,
0x0000,
0x4400//40
};



どうやらこれだけ設定すれば良いみたいです。これならI2Cさえちゃんと動けばそう大変でもないかな。



あとは変な順番がなければ良いのですが。





それではまたです。




2013.01.02 Wed l ラジオ l コメント (2) トラックバック (0) l top

コメント

No title
Hello! Thank you for visiting my Blog.
Please check my code in the URL below, as reference.

http://crystal-radio.blogzine.jp/blog/files/BK1088_AMtest.txt

This source code includes I2C routine and register setting for BK1088. It seems to be working.
If able, may I ask about more information regarding your trouble?
What address of register in BK1088 causes the problem when you write?
2013.05.13 Mon l Blog owner. URL l 編集
No title
Hello,
I very much like the progress you have made with BK1088, I am trying to implement something like it for Arduino but im having trouble at the moment when i2c hangs if i write some registers
2013.05.12 Sun l Shaun. URL l 編集

コメントの投稿












トラックバック

トラックバック URL
http://diyelec.blog.fc2.com/tb.php/253-244b94c5
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。