« 2m用クリスタルコンバーター | トップページ | 2m用クリスタルコンバーター その後 »

2021/01/31

Si5351Aを使ってみる

みなさんから周回遅れもいいとこだが、Si5351Aを使ってみた。Arudinoを使ったものは、ネットのスケッチを入れると難なく、動作した。ではということで、PICに移植してみた。

PICは8pinのPIC12F1822を使う。8pinだと部品感覚で使うことができるし、3V動作も可能なので便利だ。ツールはMikroC PRO。有料だから今は流行らないかもしれない。今でも定期的にバージョンアップしているので、それなりにユーザーがいるのだろう。

Img_2256

Pic_si5153

I2Cで躓いいて、放ったらかしになっていた。仕方がないの、ロジアナを持ち出して、様子を見る。Si5351Aのアドレスは0x60だが、MikoroC PROのI2Cの関数を使う場合は、0xC0を設定しないとダメらしい。ビットの送信順が頭から詰めるのか?。

ロジアナを見て気がついた。やはり、道具は大事だ。

Img_2260

周波数設定は難解だ。特に100MHzを超えると面倒だ、DIVBY4を使って、それらしい出力を得るが、もっといい方法があるのか、分解能の設定が上手くない。人様のプログラムも難解だし、どうしたものか。とりあえず、今日はここまでだ。

 

 

|

« 2m用クリスタルコンバーター | トップページ | 2m用クリスタルコンバーター その後 »

電子工作」カテゴリの記事

コメント

こんにちは。

Si5351のI2Cアドレスは0x60ですが、8ビットではなくて7ビットなのです。

I2CバスでSi5351にコマンドやデータを送る際、最初にアドレスを送るのですが、まずアドレスを1ビット左シフトし、Si5351にデータを書き込む場合空いたLSBに0を、Si5351からデータを読み込むときには1を加えて送信します。

ですのでプログラムを書く時、Si5351にデータを書き込むための最初の送信は0xC0になるというわけです。

詳しくはSi5351A/B/C-BデータシートRev.1.3の18~19ページに記載されていますのでご参考まで。

投稿: ぶんきゅう | 2021/02/02 12:13

ぶんきゅうさん、そうなんですよ。
Arudinoのスケッチは、ちゃんと処理しているようで、0x60を設定しているのですが、直接I2Cのバイト送信するときは、意識する必要があるんですね。

オシロを見て信号が出ていることは、確認したのですが、原因がわからずでした。
ロジアナを見ると、アドレスを送信しているにも拘らずSi5351Aから、NAKが返っていることで気がつきました。やれやれ、です。

周波数設定も難易度が高く、ぶんきゅうさんのサイトも読み返しているのですが、難解でもがいています(笑

投稿: JK1LSE | 2021/02/02 12:35

他のI2Cデバイスも同じような手順です。
アドレスの表記は確かに混乱を招きますよね。

周波数設定については基本同じですが、Si5351のハードリビジョンがBになってからブログの記事の方法に少し変更加えています。多分いつかどこかで改めて紹介するかもしれません。

ご質問ありましたらDMでもメールでもお気軽に^^

投稿: ぶんきゅう | 2021/02/02 12:58

なるほど。I2Cのアドレスは7bitなんですね。調べると色々ヒットしました。
秋月のペラ紙には、親切に0xC0の表記になっていました。やっと理解できました。
もう少し、悩んでみます。また教えて下さい。よろしくおねがいします。

投稿: JK1LSE | 2021/02/02 13:24

コメントを書く



(ウェブ上には掲載しません)




« 2m用クリスタルコンバーター | トップページ | 2m用クリスタルコンバーター その後 »