ADALM2000による実習:PLLの基礎

目的

今回は、フェーズ・ロック・ループ(PLL)を取り上げます。PLLは、信号の変調/復調(主に周波数/位相の変調)、同期処理、クロック・データ・リカバリ、周波数の逓倍/合成といった様々な用途で活用されています。今回の実習では、PLLの基本を押さえるために、簡単な回路を実際に構築し、その動作を確認することにします。

背景

図1は、PLLの基本的な構成を表したものです。ご覧のように、PLLはフィードバック回路として実現されます。この構成により、入力されるリファレンス信号とVCO(Voltage Controlled Oscillator:電圧制御発振器)の出力信号の位相差を調整/ロックする動作が実現されます。VCOは、出力周波数が入力制御電圧の関数として表される発振器です。一般に、PLLのようなフィードバック・ループでVCOを使用する場合、電圧と周波数の関係を決める伝達関数は少なくとも単調性を備えていなければなりません。VCOの中でも、電圧‐周波数特性が線形であるものは、V/Fコンバータ(VFC:Voltage-to-Frequency Converter)と呼ばれます。また、フィードバック・ループの中には分周器が配置されています。一般的には、その分周比Nとしては整数が用いられます。Nの値が1である場合、VCOの出力と位相検出器の入力が直接接続されたのと同じ状態になります。つまり、分周器を使用していない場合と等価です。

図1. PLLの基本的な構成
図1. PLLの基本的な構成

PLLについては、これまで多くの文献などで広く論じられてきました。非常に複雑な内容になるので、本稿では深く掘り下げることはできません。ご興味のある方は、稿末に示した参考資料「Tutorial MT-086: Fundamentals of Phase Locked Loops (PLLs)(チュートリアル MT-086「PLLの基礎」)」などを参考になさってください。これまでと同様に、以下では実習ベースで解説を進めていくことにします。

準備するもの

  • アクティブ・ラーニング・モジュール「ADALM2000
  • ソルダーレス・ブレッドボード
  • ジャンパ線
  • 抵抗:2.2kΩ(1 個)、47kΩ(1 個)、10kΩ(1 個)
  • コンデンサ:4.7nF(1 個、印字は「472」)、100nF(1 個、印字は「101」)
  • CMOS アレイ:「CD4007」(1 個)
  • NMOS トランジスタ:「ZVN2110A」(2 個)
  • PMOS トランジスタ:「ZVP2110A」(2 個)
  • VFC IC:「AD654」(1 個)
  • 電池:9V(1 個、コネクタ付き)

ステップ1の説明

まずはVFCの動作を確認しておきましょう。ここでは、AD654(VFC IC)を使用して構成したVFC回路を例にとります。図2に示したVFC回路をソルダーレス・ブレッドボードに実装してください。その際には、ブレッドボードの片端に寄せて回路を構成するようにしてください。空いたスペースは、次のステップでPLLのその他の構成要素を実装する際に使用します。図2の回路において、制御電圧は抵抗R1とコンデンサC1で構成される単極のローパス・フィルタ(LPF)を介して印加されます。このLPFは、図1で使われているLPFに相当します。

図2. VFC回路
図2. VFC回路

ハードウェアの設定

ADALM2000の5Vの固定電源(VP)をオンにしてください。また、9Vの電池も回路に接続してください。更に、任意波形ジェネレータ(AWG1)の出力を図2のVINに接続します。ここでは、AWG1をDCソースとして使用します。その出力電圧は2.5Vに設定してください。続いて、オシロスコープのチャンネル1(1+)を図2の回路の出力VSQRに接続します。もう一方の入力(1-)はグラウンドに接続しましょう。

図3. 図2の回路を実装したブレッドボード
図3. 図2の回路を実装したブレッドボード

手順

AWG1のDCオフセット制御機能を使用し、VINの電圧を1V~4Vの範囲で変化させます。同時に、VFC回路の出力VSQRの周波数を観測してください。信号の表示にはソフトウェア・パッケージ「Scopy」を使用します。オシロスコープの制御画面上で測定機能を使用し、周波数の値を取得してください。このVFC回路の公称出力周波数は、図2の抵抗RTとコンデンサCTの値を使用した以下の式によって決まります。

数式 1

例えば、VINが2.5V(1V~4Vの範囲の中央値)で、RTとCTの値は図のとおりであるとします。その場合、出力周波数は(2.5/(10×10kΩ×100pF))により、約250kHzと計算されます。オシロスコープによる実測値がこの値とほぼ一致することを確認してください(図4)。一致しない場合には、回路の接続と部品の値を確認しましょう。

図4. VFC回路の出力
図4. VFC回路の出力

ステップ2の説明

続いて、PLLの残りの要素を追加します。ここでは、2022年10月の記事「ADALM2000による実習:トランスファ・ゲートを利用したXOR/XNOR回路」で紹介したXOR回路を位相検出器として使用します。まずは図5に示したXOR回路をブレッドボードに追加してください。続いて図6のようにXOR回路をVFC回路に接続し、PLLを完成させます。なお、回路を追加する際には、5Vの電源を必ずオフにすると共に、9Vの電池も取り外してください。ブレッドボードは最終的に図7のようなものになります。

図5. XOR回路。位相検出器として使用します。
図5. XOR回路。位相検出器として使用します。
図6. PLL全体の回路図
図6. PLL全体の回路図

ハードウェアの設定

5Vの固定電源を投入し、9Vの電池を回路に接続します。AWG1の出力を、図6の回路のFREFに接続してください。AWG1は、ピークtoピークの振幅が5V、オフセットが2.5Vの矩形波(振幅範囲は0V~5V)を生成するように設定します。周波数については、ステップ1でVINを2.5Vにしたときの測定値(約250kHzだったはずです)に設定します。オシロスコープのチャンネル1(1+)をFREFに接続し、チャンネル2(2+)を出力VSQRに接続します。各チャンネルのもう一方(1-と2-)はグラウンドに接続しましょう。オシロスコープは、チャンネル1(FREF)の立上がりエッジでトリガするように設定してください。

図7. 図6の回路を実装したブレッドボード
図7. 図6の回路を実装したブレッドボード

手順

AD654の4番ピンに印加される制御電圧が2.5Vになるようにリファレンス入力FREFの周波数が設定されているとします。その場合、VSQRで観測される出力周波数は、リファレンス入力FREFの周波数と等しい値でロックされるはずです。オシロスコープの画面には、図8のような信号が表示されます。ご覧のように、2つの矩形波は安定していて(つまり互いにロックされていて)、VSQRの位相がFREFに対して約90°ずれています。位相検出器であるXOR回路の出力はLPFに入力されます。LPFを通過後の信号は、2つの入力の位相が90°ずれている場合、出力範囲の中央値(つまり約2.5V)になるはずです。

図8. FREFとVSQRの信号波形
図8. FREFとVSQRの信号波形

次に、リファレンス入力FREFの周波数を少しずつ増減させて、PLLがロックする最小周波数と最大周波数を調べてみましょう。周波数を変化させている間は、FREFとVSQRの相対的な位相差に注意してください。AD654の4番ピンに現れるDC制御電圧を測定し、ステップ1でVFC回路のDC制御電圧を変化させたときの測定値と比較してください。

続いて、オシロスコープのチャンネル2をXOR回路の出力(図6のC点)に接続します。XOR回路のA点(VSQR)とB点(FREF)の2つの入力で観測される矩形波を比較してください。PLLが最小周波数と最大周波数でロックする場合と、その中央値の周波数でロックする場合を比較すると、C点の波形はどのように変化しているでしょうか。

ステップ3の説明

図6の簡単なPLL回路では、出力信号は入力信号と比べて位相がずれているだけなので、あまり面白くありません。図1のように、VFC回路(VCO)の出力から位相検出器の入力へのフィードバック・パスにデジタル分周器ブロックを挿入すると、出力信号の周波数は入力信号の周波数の複数倍になります。図9に示すように、XOR回路のA点までの経路に任意のデジタル分周器ICを追加してください。分周器ICとしては、例えば「CD4020」、「CD4040」、「CD4060」あるいは「SN7490」などを使用できます。

図9. 周波数の逓倍を実現するPLL回路
図9. 周波数の逓倍を実現するPLL回路

挿入した分周器の分周比Nに応じ、リファレンス入力FREFの周波数を変更する必要があります。例えば、Nが8である場合、FREFの周波数を元の250kHzから31.25kHz(250/8)に変更します。位相検出器であるXOR回路の出力には、パルス信号が現れます。その周波数も1/8になります。

参考資料

Tutorial MT-086: Fundamentals of Phase Locked Loops (PLLs)(チュートリアル MT-086「PLLの基礎」)」Analog Devices、2009年

問題

PLLを利用するアプリケーションの例をいくつか挙げてください。

答えはStudentZoneで確認できます。

著者

Antoniu Miclaus

Antoniu Miclaus

Antoniu Miclausは、アナログ・デバイセズのシニア・ソフトウェア・エンジニアです。Linuxやno-OSドライバを対象とした組み込みソフトウェアを担当。それ以外に、アナログ・デバイセズのアカデミック・プログラムやQAオートメーション、プロセス・マネージメントにも携わっています。2017年2月から、ルーマニアのクルジュナポカで勤務。クルジュナポカ技術大学で電子工学と通信工学の学士号、バベシュボヨイ大学でソフトウェア・エンジニアリングの修士号を取得しています。

Doug Mercer

Doug Mercer

Doug Mercerは、1977年にレンセラー工科大学で電気電子工学の学士号を取得しました。同年にアナログ・デバイセズに入社して以来、直接または間接的に30種以上のデータ・コンバータ製品の開発に携わりました。また、13件の特許を保有しています。1995年にはアナログ・デバイセズのフェローに任命されました。2009年にフルタイム勤務からは退きましたが、名誉フェローとして仕事を続けており、Active Learning Programにもかかわっています。2016年に、レンセラー工科大学 電気/コンピュータ/システム・エンジニアリング学部のEngineer in Residenceに指名されました。