高性能なPLL発振器って? 2019.4.2

すこし前にこんな投稿をいただきました。


Si5340はジッタが90fsと優秀です。
他と比較すると、簡単な水晶発振回路だと1.5ps、ジッタクリーナにつかったSi5317で300fs、
DAI4392やDAC9038SにつかったSi514で250fsです。それらに比べるとおよそ1/3程度に精度が向上しています。

どういう用途に使うかですが、ASRC(非同期サンプルレートコンバータ)あたりが面白いかな?

もうすこし調べてみましょう

データシートの最初のページにはまずはアプリケーションが書いてあります。
Si5340は複数のクロック出力が得られることから、それらの用途らしいものが書いてありますが、
あまりピンとこないな〜。でも、SRCとDAIを搭載する場合は、このSI5340だけですべてのクロックがつくれそうです。




IC内部の構造は下記のようになっています。Si5340では基準となるクロック入力が4つ、
クロック出力は4つとなっています。
 

パッケージがすこし小さい(QFP44)

さて、まずはどんなものを使ってみたいとは思いますが、いかんせんパッケージが小さいようです。
0.5mmピッチのQFP44です。こんなものは変換基板がなければつかうことができません。


パッケージが小さいです。

ICはDIGIKEYあたりで調達できますが、またまた変換基板を探す必要があります。

変換基板はどうしよう?

変換基板の在庫が多いaitenndoさんのHPでQFP44で探してみると、これがヒットしました。最大QFP144までつかえるようですが、
ちょっと難があって、Si5340裏面のパッド用の穴がありません。どうしようかな?

AITENDOさんのこの変換基板がつかえそうですが・・・Si5340の裏面半田用のパッド穴がありません。

変換基板をどうするかは、すこし悩みそうです。

変換基板はQFNでした 2019.4.4

変換基板を勘違いしていました。


といことでamazonでQFN44で検索してヒットしたもので、早く届きそうなものを入手しました。

これが早くとどきそうです。ちゃんと注文はできたのだけど、さきほどみたら在庫切れになっていました。
ちゃんと、とどくかな?

部品到着 2019.4.9

注文していた部品がamazonとDIGIKEYから到着しました。


変換基板はQFN44とQFN48の兼用になっています。表裏でパターンが異なっています。


Si5340です。結構大きめのパッケージです。

まずはデータを揃えましょう!

Si5340を動かすにはデータシートは必須ですが、本体のマニュアルにはコントロールの方法が書いてありません。
いちいち、ネットで探すのも面倒なので関連しそうなファイルをダウンロードして保管しておきましょう。
Silicon Labのサイトから”Si5340/41”で検索して、とりあえずところかまわずダウンロードです。

Si5340D-B-GM.pdf

AN947.pdf へのリンク
AN1006-Si534x-8x-RevB-RevD-Differences.pdf
an1035-timing-solutions-12g-sdi.pdf へのリンク
an1093-achieving-low-jitter-using-an-oscillator-reference.pdf
ClockBuilder-Pro-README.pdf
PB-1507101-Si5347-46-45-44-42-41-40-v1.0-datasheet-release.pdf
si534x-8x-9x-recommended-crystals-rm.pdf
Si534x-Applications-Notice-Part-Per-Trillion-Frequency-Offset.pdf
Si5341-40-D-DataSheet.pdf
ug286-clockbuilderpro-dongle.pdf


あ!
これも必要そうです。でも、上のリストと同じような名前のものだけど違うのかな?
Si5341-40-D-RM.pdf

ClockBuilder PROが必要〜 2019.4.15

とりあえずデータシートとリファレンスマニュアルを印刷しておきました。時間のあるときに眺めて、どうやって使うかを勉強していきましょう。
いずれもPDFファイルなので、画面上で見ることができるのですが、やはり印刷してあるほうが読みやすいです。これも年かな〜。

マニュアル類はデータシートとリファレンスで約150ページです。

でもマニュアルをみていても、よくわからないです。情報がかなり欠落している感じです。
というのも、この手の素子をつかうにはマニュアルをみて定数を設定するというより、専用のアプリソフトを動かして必要な情報を得るというのが
一般的なようです。そこで、必要になるのが「ClockBuilder PRO」というソフトのようです。
ということで、SiliconLabのWEBサイトからソフトをダウンロードです。
このソフトの容量は55MB程度なので、ダウンロードならびにインストールにはさほど時間がかかりません。

最新バージョン?

さっそくインストールしましたが、バージョンの日付は2019/4になっています。ひょっとしてダウンロードした日付がでているだけかと思いましたが、
この日付のバージョンのようです。ということは、つい最近バージョンが変わったということですね。

かなり最近のバージョンをインストールすることができました。

動かしてみましょう!

うごかすと、このような画面がでてきます。ここからCreate New Projectを選択して各種の設定を行っていきます。

これが起動時の画面です。

入力は入力からはじまって、出力周波数の設定をそれぞれの画面ですすめるだけのようです。これは簡単です。

この画面は入力クロックの設定です。

最後には、レジスターマップを表示させることができます。すなわち、ここで表示されたデータを素子に書き込むということなのでしょう。
しかし、書き込む量は結構多いです。だいだい300データくらいは書き込む必要があります。もっとも、デフォルトの値もあるので、
実質必要なのは数10程度でしょうが、まあ何がデフォルトで何が書き込み必要かを区別するのは大変ですから、
すべてを書き込むことになるのでしょう。


レジスターマップを得ることができます。これを書き込めばいいのでしょう。


実際に動かしてみましょう!

まずは、ICのピンに加える信号線を書き下しておきます。これにもとづいて配線をしていくわけですが、
書いていて色々と気づきました。
・GNDピンがない・・・・どうやらGND PADがすべてのGNDのようです。ということはGND PADの半田付けが
 不十分だとまったく動かないということですね。十分に半田付けをしなくっちゃ。
・SCKはどこ?・・・・・SCLK(pin14)がSCKのようです。

動作電圧は3.3Vと1.8Vが必要です。3.3Vはいいとして1.8Vはどうやってつくるかな?簡単にLM317あたりで作りましょう。

まずはICの周辺の配線をイメージします。

次は、いよいよ半田づけです。
0.5mmピッチのQFN44ですが、半田付け自体はさほど難しくはないのですが、なにが神経をつかうかといえば、
ICの位置あわせです。これがすこしでもずれた状態で半田付けを開始してしまうと、リカバリーが大変です。

 
  まずは表面の半田付け。そして裏面の半田付けです。

裏面の半田付けが終わったら、導通しているか一応確認です。Si5340のクロック入力端子は内部でプルダウンされているので、
その入力端子とGND PAD間での抵抗を測定しました。測定したところ「9.8kΩ」とでたので、GND PADの半田付けは大丈夫そうです。

まずはICのピンマップつくりです。 2019.4.16

変換基板にのせて配線をするのですが、変換基板のピンだしが2列になっているので、ボケ〜と配線をしてしまううと
絶対にピンを間違えてしまいます。そういったことを防ぐために、事前にエクセルでピン配置を書いておきます。
こうすれば、かなりミスをする確率がすくなくなります。


エクセルでピン配置を事前に書いておくと、配線時のミスがすくなくなります。


半田付けするぞ!


まずは変換基板の裏面側にできる限りのパスコンを集中配置しておきます。あとは、GND PADからGND線を出せるように
変換基板のあまりの端子にGNDを接続しておきました。


変換基板の裏面側の様子です。

変換基板を小さ目の基板にのせて、評価用のボードを仕上げます。ICの消費電力は約0.5Wに昇るので
RasPi用に買っておいた小さい放熱板の貼り付けることにしました。

まずはこんな感じで評価用の基板を作りました。水晶発振器は49.152MHzのものを仮につけています。

この評価基板をどのように使うかですが、電源としては3.3Vと1.8Vの2系統が必要になります。
そこで、1.8VのレギュレータがのっているDAC4497-2.1を流用するのが便利そうです。DAC4497-2.1には
3.3Vのレギュレターも搭載されていますし、またLCDものっているので各種のチェックが簡単にできそうです。


DAC4497-2.1と接続して評価することにしました。

さて、プログラムを書いていきましょう!

まずは入力のクロックは49.152MHzですが、出力は10MHzに設定したレジスタマップを作成します。
そして、そのデータをSi5340にI2C通信で書き込むプログラムを作成しました。
これで、無事10MHzの出力がでればOKなはずです。
まずはプログラムをコンパイルしてPICに書き込み電源ON!

まずはI2Cエラーとかは発生しないので、SI5340との通信は問題ないようです。
そして恐る恐るSi5340の入力端子にオシロのプローブに接続します。

動きました!

無事に10MHzの出力が得られていることが確認できました。
一発で動くとは思っていませんでしたが、結構嬉しい瞬間です。


恐る恐る出力端子にオシロのプローブを接続です。


無事出力が確認できました。


出力も計算どおりの10MHzです。


高周波対応のオシロで波形を確認です。ダンピング抵抗もないので
リンギングが残っています。

いろいろと試してみましょう! 
2019.4.18

SI5340は基準となる発振子に外付けのクリスタルが使えます。
ということで、秋月で48MHzの水晶振動子を調達してとりつけてみました。もちろん、
ソフトウエアの設定は変更します。

動かない〜・・・
外付けの水晶振動子に換えたのはいいのですが、全然動きません。
おかしいな〜。

単純にクリスタルをつけましたが動かないです。

動かない原因としては、用いる水晶振動子のタイプがデータシートに記されているものと
違うこともあるでしょうが、ちょっと腑に落ちないです。念のために外付けでさらに負荷キャパシターを
追加してみましたが、それでもうまく動かないです。
こりゃすこし宿題が発生してしまいました。


負荷キャパシタを追加してみましたが、動かないです・・・・

ここは気を取り直して、もとの49.152MHzの発振器の出力を供給することで動作の確認を行いましょう。

複数の周波数の発生

Si5340の特徴としては、最大4つの出力を出すことができます。
ということで、それを確認してみました。
OUT0に1.6MHz、OUT1に1.5MHzと互いに中途半端な値を入れてみました。


2つの異なる周波数を入れて出力させてみましょう。

それぞれの出力から異なった周波数がでていることが確認できました。
これなら、たとえば48kHz系と44.1kHzのマスタークロックの両方の出力を得ることができそうです。
意外の便利な発振器かもしれません。

2つの異なる周波数を同時に得ることができます。

基板もそろそろ考えていきましょう 2019.4.19

まずは想定される部品をSTDサイズの基板に配置していきます。
意外と必要になる部品が多いので、結構密度が高くなります。
すべてチップ部品にすればいいのですが、入手性がわるいので
抵抗がフィルムコンデンサはリード品が使えるようにしました。これらが結構面積をとります。

まずは必要になりそうな部品を載せてみました。

(つづく?)