2023-02-08 22:01 — asano
カテゴリー:
VCOが動いたので残りの部分を作っていきます。
MC145106には10.24MHzの基準クロックを与えるのが一般的です。内部ではこれを1/1024または1/2048に分周して10kHzあるいは5kHzを作ります。一方VCOからの入力は1/N(Nは2~511)に分周します。この両者を位相比較器に入れてVCOにフィードバックすることでN×10kHzあるいはN×5kHzの周波数を得ます。
この10.24MHzの水晶を秋葉原で探したのですが見つけられず、手に入った20.48MHzのOSCを74HC390で1/2に分周して供給しています。
VCOの出力もMC145106に入力するわけですが、直結すると前述の式の通りで最大で511×10kHz = 5.11MHzにしかなりません。実際にはMC145106のスペック上は4MHzまでです。これでは目標の25MHzにまったく届きません。
そこでVCOの出力を74HC390で1/10に分周してから入力します。こうすることでVCOの1/10がN×10kHzになるので、VCO自体からはN×100kHzの出力が得られます。
フィードバックをかけて動かす前にオープンループで動作させてみます。
VCOをVRによる手動制御のまま上下させて位相比較器の出力を確認しておきます。
位相比較器の出力はVCOの周波数が低すぎるときH、高すぎるときLを出力するのでそのままではVCOに入力できません。LPFを通して平滑にする必要があります。とりあえず簡単なRCフィルタを通しておきます。
VRを回してVCOの周波数をNで決まる周波数より上下に変化させてフィルタの出力を見ます。試してみるとほぼ0~5Vフルスイングしていました。これがもし狭いとVCOのレンジを使いきれず出力可能な周波数のレンジが狭くなってしまうのでまずは一安心です。
ここまで動いたらVCOをVRからループフィルタに切り替えてPLLとして動かしてみます。
結果は...... Nによりますね。例えばN=32(3.2MHz)はきれいに出ますが、N=64(6.4MHz)だと酷いジッタで周波数が満足に測定できません。ロックする範囲が狭いのかというとそう単純でもなくN=256が比較的綺麗に出たりします。
ジッタが大きいということはVCOの入力に問題がありそうです。ノイズが多いのか、そもそもフィルタがよろしくないのか
あちこち波形の確認などしているとどうもGNDが揺れているようなのです。
これは比較的安定しているN=32です。上のCH1はVCOの出力ですがリンギングがひどい上によく見るとジッタもありますね。下のCH2は基板左上の電源供給部を基準にした74HC4046のGNDです。1.6VP-Pって......
ついいつものマイコン回路の要領で電源引き回しが一筆書きになっていて(秋月B基板サイズで10MHz程度ならほぼ問題にはなりません)、しかもちょうどこの74HC4046が末端になってしまっています。これはさすがにマズいだろうということで、GNDをメッシュ状に補強しました。
GNDはだいぶ改善しましたが、状況はあまり変わりませんでした。
とりあえずフィルタを実験しやすい差し替え式にしよう。
Add new comment