2023-06-12 23:42 — asano
カテゴリー:
また間があいてしまいましたが、PLLの実験再開しました。
とはいえこれまで動かしていたボードは、(1) Nの設定変更がかなり面倒くさい、(2) VCOとしてリングオシレータも試してみたいが基板の空き面積がギリギリ、といった問題があります。そこで新たに別な実験基板を作ってみました。
秋月のBタイプ基板を縦に使っています。
上部の空きエリアにはループフィルタとVCOをサブ基板で載せ替えられるようにする予定です。これでVCOをいろいろ試せるようになるはずです。
一方Nの変更はシリアルポート経由でターミナルから変更できるようになります。
コントローラにはAtmelのATmega164P-20PUを載せています。はっきり言ってATmegaは過剰なんですが、いろいろ試したくなるかもしれないのでポート数の多いこれを選択しました。場合によってはスタンドアロンでLEDとキーを付けることもあるかも。下の6ピンコネクタは書き換え用です。
PLLのICとしてはその3で取り上げたMC145157P2を使いました。
R, N両カウンタとも3~16383の任意の値が設定できるのでかなり自由度は高いですね。基準クロックはマイコンのクロックと兼用で8MHzにしています。上限は22MHzなので当初の予定の25MHzには足りませんが妥協すれば外部に分周器を入れなくてすみます。
分周比の設定がシリアルになってピン数に余裕があるためか、分周器の出力(=位相比較器の入力)が外部に出ているのが実験には地味にありがたいかもしれません。
実験用にD/Aコンバータも用意しました。MC145157の右にあるMCP4922-E/Pがそうです。
VCOの特性を見るのがメインの目的ですが、74LS624のRNGの制御にも使えるかなと思っています。
マイコンのピン数には余裕があるのでPLLとD/Aは別ピンに割り当ててます。どちらもシリアルなので大したことはありません。
PLLのN, RカウンタとD/Aの設定が出来れば当面の実験はできるので、これらをシリアルコマンドで設定するプログラムを作成することにします。
Rカウンタの出力を早速利用して分周比が設定されているか確認してみたのですが何故か動作しません。マイコン→PLL間の信号を確認してみても特に問題はなさそうです。
このMC145157の使用例はググってみてもあまりありませんが、1つ見つかってプログラムを見ると何故かPLLのカウンタ設定時に30μsのウエイトを入れています。
データシートによれば30ns程度でよくウエイト無しでも十分に満たせると思ったのですが......
どうもデータシートが間違っていたようですね。試しにウエイト入れてみたらあっさり動作しました。
D/Aコンバータの方は一発で動いています。
次はVCOのサブ基板を作ってから可変レンジの測定の予定です。
Add new comment