Monthly FB NEWS 月刊FBニュース 月刊FBニュースはアマチュア無線の電子WEBマガジン。ベテランから入門まで、楽しく役立つ情報が満載です。

新・エレクトロニクス工作室

第6回 Si5351Aを使ったVFOの実験ボード

JE1UCI 冨川寿夫

Si5351Aは内部でPLLと分周によって2.5kHz~200MHzを出力するという、「超」優れもののICです。しかも出力がCLK0~2と3つあります。完全に独立はしていませんが、異なる周波数が出力できます。つまり、受信機側と送信機側を分けて出力するような事ができます。ダブルスーパーの受信機の局発用に2つ、BFO用に1つという使い方もできそうです。

実はかなり前から入手していたのですが、暫く設定が面倒と思って放置していました。しかしDDSの次には試さなければという事で、まずは第一歩として写真1のような実験用のボードを作ってみました。これでどのように設定して、どのように出力するのかを確認して次のステップに進みたいと思います。


写真1 このように作った実験用ボード

Si5351Aについて

このICには、Si5351A~Cがあります。Si5351Aだけでもパッケージによって種類があり、機能が異なります。ここで使っているのはミニマムである10-MSOPのパッケージになります。このパッケージはIC単体でも入手できますが、面倒な事をパスするため写真2のような秋月電子のモジュールを使いました。このモジュールは、ICにクロック用25MHzのクリスタルを付けた8ピンのDIP ICタイプになります。一時期在庫なしで入手できなかったのですが、復活しているようです。IC単体で150円、モジュールでも500円とQRPな値段で入手できます。但し、このSi5351Aの設定はとても複雑で面倒で、付いている1枚の取説で理解できるものではありません。秋月電子のサイトからメーカのサイトに移ると、本の如くの膨大なデータシートをDLする事ができます。これでも理解できないのは私だけ?


写真2 使用した秋月電子のSi5351Aモジュール

Si5351A(10-MSOP)は図1のような構造となっています。PLLの発振回路が2つと分周回路が3つ入っていて、これをCPUから設定してCLK0~2を出力させます。PLLの発振回路と分周回路の接続もCPUから設定します。PLLの発振周波数には制限があり、600~900MHzを発振させる事が出来ます。これを6~1800分周して出力します。後述しますが、この設定がとても面倒です。出力する周波数が決まっても設定は何通りもあり、悩ましい限りです。どのような設定が良いのかは、まだ私には解っていません。その実験こそ、これから行おうとしている訳です。


図1 Si5351A(10-MSOP)の構造(メーカのデータシートより)

ところで素朴な疑問なのですが、秋月電子の取説には2.5kHz~200MHzが出力できると記載されています。しかしPLLの発振周波数が600~900MHzで分周回路が6~1800とすると、周波数は333.3kHz~150MHzになります。何かトリックがあるようにも思えるのですが、この相違が理解できません。簡単には理解できないICです。

実験

実験用のボードを作ろうとしているのですが、その実験のために写真3のように仮組をしました。右側に写っているのはBEACONのNo.2で作ったPIC/AVR開発用ボードです。この時点でソフトが動くところまでを確認しました。いきなりボードを組み立てるのは少々無謀と考えたからです。これでこの実験ボードが動くという、確認ができました。このような、実験のための実験が第一歩となります。


写真3 実験用のボードですが、そのための実験中

Si5351Aを使ってミニマムのシステムを考えるのであれば、8ピンのCPUで十分に使う事ができます。しかし発展性を先に考え、20ピンのCPUを使う事としました。実験という事もありますが、実はCPUに目いっぱい押し込むという作り方が苦手という事情もあります。

回路

図2のように、Si5351AとCPUの他にLCDとロータリーエンコーダを付けた回路としています。問題なのがSi5351Aは2.5~3.3Vという事で、5Vでは使えません。CPUは10MHzのクロックの場合、2.7~5.5Vの範囲で使えるAVRのTiny861Aを使っていますので問題はありません。しかし多少の幅はありますが、LCDは一般的に5V用と3.3V用と電圧が決まっています。これらを、どのように組み合わせて動かすかを考える必要があります。常識的に考えれば全てを3.3Vで動作させるのが一番簡単です。ところが、最近古いものの整理をしている関係もあり5VのLCDが余ってしまいました。5Vを使いたいのも事実でした。このタイプのLCDは制御線の本数が多いので、CPUと5Vで電圧を合わせるのが賢明です。そこでCPUとLCDは5Vで制御し、CPUとSi5351Aの間に秋月電子の「I2Cバス用双方向電圧レベル変換モジュール(PCA9306)」を入れました。これで制御電圧を3.3Vに変換し、Si5351AをI2Cで動かしました。このように少々面倒な使い方になってしまいました。


図2 回路図

図2の回路図では解りませんが、この変換モジュールにはプルアップ用の抵抗が付いています。これを有効にするために、ジャンパーは切らないでおきます。8ピンのDIPタイプになるように、足のハンダ付けをするだけにします。

電源入力は12Vを標準で使っています。3端子レギュレータで5Vと3.3Vに落としていますので、実際には9Vでも同じです。低損失の5Vレギュレータを使えば、6Vでも使えます。12Vでは電力的には少々モッタイナイのですが仕方ありません。

マイナーチェンジではありませんが、3.3Vで統一すれば図3で十分と思われます。このような回路で途中まで実験していました。最後は変更をしましたが、問題なく動いていました。このように最初から3.3Vで全てを動かす事も可能ですし、その方が賢いと思います。更にLCDもI2C仕様にしてしまう方法もあります。しかし、慣れない事をたくさん詰め込むと必ず失敗しますので、最初はこのような方法でSi5351Aの攻略という作戦でした。この数か月後に、この作戦は大成功だったと思いました。ここでI2C仕様の慣れないLCDを使ったら、恐らく沈没していたでしょう。実は「その2」として次のテストボードを作製したのですが、つくづく実感しました。


図3 3.3Vで統一すれば簡単

作製

図4の実装図を作製し、それからハンダ付け作業を始めました。図5がハンダ面になります。使用したのは秋月電子のBサイズのユニバーサル基板になります。Cサイズでは無理ですが、Bサイズだと余裕があります。出力のコネクタにはSMAを使いました。片側シールドメッシュ基板ではないので、穴をあけて一般用のコネクタをねじ止めしています。といっても、これは秋月電子で安売りをしている30円のコネクタを都合良く使っただけです。図5では上手く表せていませんが、SMAコネクタのアース間には銅のテープを貼っています。この先の写真5では解ると思います。


図4 実装図


図5 実装図のハンダ面

このようにして写真4の基板を作製しました。このハンダ面が写真5になります。このような目的ですので、Si5351Aのモジュールには8ピンのICソケットを使っています。もちろん高周波的には直接ハンダ付けする方が良いので、トランシーバ等にする場合は問題があります。しかし、ICソケットにしておく事で、モジュールのチェックも可能となります。I2Cの変換モジュールにもICソケットを使っています。


写真4 基板を作製


写真5 基板のハンダ面

LCDやSi5351A、AVRのTiny861A、I2Cの変換モジュールを実装する前に導通チェックを行い、次に電源に接続して電圧の確認を行います。良好であればこれらを実装し、テストボードで作ったソフトを入れて試験をします。動作が良好であれば、残りは仕上げです。

目的が実験ですので、写真6のようにユニバーサル基板をアクリル板に載せるだけの構造としました。これは秋月電子でB基板専用として売られているものです。もちろんアルミ板でも生基板を使っても良いと思います。そして写真7のように表示しました。基板上に表示できない部分は、写真8のように下側のアクリル板に表示しました。これで、取りあえずハード的には完成となります。この後で、最終的なの動作チェックを行いました。


写真6 アクリル板に載せた


写真7 このようにテプラで表示


写真8 アクリル板にも表示

ソフト

最初から想像していたのですが問題はソフトで、ICの設定方法です。周波数からICの設定を表示する計算用ソフトが用意されています。これを苦労してダウンロードして使ってみたのですが、スプリアスだらけの出力になってしまいました。確かに出力の周波数は合っていましたが、無線機関係では使いようのないスプリアスでした。

これならエクセルを使って自分で考えた方が早い、という事になります。そこで仕方なくエクセルで計算するシートを作製して、自分で設定を考えてみました。それを「ここ」に置いておきますので、参考にして下さい。図6のように黄色のセルに値を入れるようになっています。これはCLK1から50MHzを出力させる例です。テスト用のソフトも同じ設定になっています。秋月電子の説明書もメーカのデータシートもPLL側と分周側共にabcを使っています。これは紛らわしいので、分周器側はdefを使うようにしています。これで出た結果をSi5351Aのレジスタに書き込むのですが、データは多いしレジスタは細切れだし、設定が大変面倒なICだと思います。


図6 作ったエクセルのシート(黄色のセルに数字を入れる)

今のところですが、PLLで発振させた周波数を分周比で細かくするのではなく、この分周比は整数で固定にしておくのがスプリアス的には良さそうです。細かい周波数の制御は、PLLの発振周波数で行うようにしています。これ以上は初心者の私には説明ができません。

私的には、いつものようにBASCOMAVRでソフトを作っています。Si5351Aの電源投入時に行う初期設定を図7に示します。右側にデータシートから切り抜いたレジスタの内容を貼り付けていますので参考にして下さい。この内容の詳細を見ないと良く解らないと思いますが、サイズの都合もありますので・・・。図7下側の「Si5351_send」はサブルーチンから飛ぶサブルーチンです。I2CのスレーブアドレスhC0とReg番号とデータを送ります。このサブルーチンは次の周波数の設定でも使われます。


図7 Si5351Aの初期設定(一部はデータシートから)

周波数計算の部分を図8に示します。どのように計算しているかのメモを付けています。エクセルで計算した結果を、どのように反映させているのかが解ると思います。50.0~51.0MHzを1kHzステップで制御するソフトですが、1MHzの幅がある周波数の誤差が完璧には微調整できていません。もう少し厳密に作れるとは思います。


図8 設定周波数の計算

計算した周波数データをSi5351Aに書き込む部分を図9に示します。また、トータルのソフトはZipファイルにして「ここ」に置いてあります。多少は参考になるかと思いますが、上手なソフトではありませんので御承知おき願います。解凍してHEXファイルを書き込めば動作するはずです。ヒューズビットについてはCKDIV8のみ1、つまりクロックの8分周は行わないようにします。


図9 周波数データの書き込み

使用感

このICはクセが極めて強く、慣れないと相当に使いにくい感じでした。そのような意味で、最初にこのような実験ボードを作製したのは正解だったと思います。一気にトランシーバ等を考えるのは、ハードルがとても高くなると思います。

ハード的にもソフト的にもDDSの方がずっと簡単だと思いますが、まあ何にしても最初は慣れの問題もあるのでしょう。DDSは周波数が決まると設定も決まります。このICは周波数が決まっても、次に最良の設定を考えなくてはなりません。無線機に使うのであれば、スプリアスが少ない設定を探す必要があります。また、スムーズに思ったようなステップで周波数を変えなくてはなりません。どのようなCPUやソフトを使うのかは別として、このようなテストボードを先に作ってから先に進むのが良いと思います。その方が早く進めるでしょう。

もちろん、このような実験ボードは作って終わりではなく、これがスタートです。このような記事を書いていると一旦は終わりとなるのですが、こっそりと地味に続けたいと思います。

新・エレクトロニクス工作室 バックナンバー

2022年10月号トップへ戻る

次号は 12月 1日(木) に公開予定

サイトのご利用について

©2024 月刊FBニュース編集部 All Rights Reserved.