高精度のRFテストに最適なDDS方式の信号発生器、Raspberry Piを利用して実現

概要

RF信号を扱うハードウェアのテストを行うにあたっては、様々な事柄について考察しなければなりません。なかでも十分な配慮が必要なものとしては信号源が挙げられます。その種のテストには、構成(コンフィギュレーション)が可能で、キャリブレーションを実施済みの信頼できる信号源が必須となるでしょう。本稿では、RF信号の合成/発生が可能な信号源の例として、アナログ・デバイセズのiC製品群を組み合わせたソリューションを紹介します。その制御には、シングルボード・コンピュータ「Raspberry pi」を利用することにします。このシステムを使用すれば、出力電力が0dbm~-40dbm、周波数がDC~5.5GHzのシングルトーンを出力することができます。なお、このシステムはアーキテクチャとしてDDS(Direct Digital Synthesis)を採用しています。出力電力の周波数特性については、キャリブレーションを適用して補正できるようにします。それにより、動作周波数範囲の全体にわたって、所望の出力電力レベルに対し、±0.5dbの精度を実現します。

はじめに

従来、RF対応の信号発生器はPLL(フェーズ・ロック・ループ)シンセサイザをベースとして構成されていました1。特に、マイクロ波に対応する信号発生器の多くは、そのような構成を採用していました。PLLを使用すれば、周波数の低いリファレンス信号を基にして周波数の高い安定した信号を生成することができます。図1に示したのがPLLの基本的なモデルです。ご覧のように、出力周波数を生成するVCO(電圧制御発振器)、入力されるリファレンス信号と出力信号を分周した信号の周波数/位相を比較する誤差検出器、フィードバック経路に配置された周波数分周器などから構成されています。分周器の出力信号の周波数/位相が、リファレンス信号の周波数/位相と一致しているときに、このループはロックされている状態になります2~5

図1. PLLの基本的なモデル
図1. PLLの基本的なモデル

PLLを使用する周波数シンセサイザは高い性能を発揮します。しかし、アプリケーションによっては、アーキテクチャとしてDDSを採用した周波数シンセサイザの方が適していることがあります。図2に示したのが、DDSをベースとする一般的な信号発生器の構成例です。図中の位相アキュムレータは、チューニング・ワードが入力されたら出力ランプ信号の傾きを判定します。アキュムレータの上位ビットは、振幅‐正弦波コンバータを経てD/Aコンバータ(DAC)に送られます。DDSのアーキテクチャには、PLLに勝る明らかなメリットがあります。例えば、DDSを構成するデジタル方式の位相アキュムレータは、出力周波数のチューニング向けのものとして、PLLベースのシンセサイザよりもはるかに高い分解能を実現できます。

図2. DDSをベースとする一般的な信号発生器
図2. DDSをベースとする一般的な信号発生器

また、PLLのスイッチング時間は、フィードバック・ループのセトリング時間とVCOの応答時間の関数で表されます。その時間は、デジタル処理に伴う遅延だけによって制限されるDDSと比べて、本質的に長くなります。実装面積で比較しても、DDSベースの周波数シンセサイザの方が小さくなります。このことは、RF対応のハードウェアに関連する様々な問題を回避でき、システムの設計がより容易になるということを意味します6

以下では、まず信号発生器のリファレンス設計「CN0511」について解説します。この回路はDDSのアーキテクチャを採用しており、周波数がDC~5.5GHzの正弦波を生成することができます。次に、CN0511で使用しているベクトル信号発生器のアーキテクチャとその仕様について説明します。その上で、システムのクロッキングについて解説を加えます。具体的には、リファレンス・クロックに関する要件を明らかにすると共に、クロック管理ユニットとベクトル信号発生器の接続方法について説明します。続いて、電源のアーキテクチャとシステムのレイアウトについて解説します。これらは、システム全体として高い電力効率と許容できるレベルの放熱性を得るための重要な要素になります。更に、ソフトウェアによるシステムの柔軟な制御方法と出力電力のキャリブレーション方法について解説します。最後に、キャリブレーション後の出力電力、システムの位相ノイズ、熱性能など、システムの性能評価の結果を紹介して本稿を締めくくることにします。

1. システム・レベルのアーキテクチャ、設計時に検討すべき事柄

まずは、本稿で紹介するシステムのアーキテクチャについて説明します。特に、設計を行う際に検討すべき事柄について詳しく説明することにします。

1.1. システム・レベルの設計

図3に、CN0511のブロック図を示しました。この回路は、正弦波信号用の完全な発生器として機能します。DDSのアーキテクチャをベースとしており、周波数がDC~5.5GHzの信号を生成できます。図中のベクトル信号発生器「AD9166」の中核を成すのは、クワッドスイッチのアーキテクチャを採用した高速DACです。それだけでなく、同ICは出力アンプなども内蔵しています。それにより、動作周波数範囲の全体にわたり極めて高い歪み性能が実現されます。なお、出力の終端は50Ωにマッチングされています。

CN0511のボードには、リファレンス発振器とPLLを含むクロック・ソリューションが実装されています。そのため、外部クロック源は不要です。また、必要な電力はすべてRaspberry Piから供給します。その電力を基に、非常に高い電源電圧変動除去比(PSRR)を備えたレギュレータとパッシブ・フィルタを使って必要な電源電圧を生成します。各電源用のコンポーネントは、RF性能に対する影響を最小限に抑えられるように選定されています。

図3. CN0511のブロック図。Raspberry Piを利用し、RF信号を合成/生成します。
図3. CN0511のブロック図。Raspberry Piを利用し、RF信号を合成/生成します。
図4. AD9166の機能ブロック図。CN0511で採用しているベクトル信号発生器です。
図4. AD9166の機能ブロック図。CN0511で採用しているベクトル信号発生器です。
図5. ADF4372のブロック図
図5. ADF4372のブロック図

図3に示したアーキテクチャは、レーダー、自動テスト、任意波形発生器など、様々なアプリケーションに適用できます。本稿では、シングルトーンの信号を発生するために使用します。以下では、CN0511で使用している主なICについて説明します。

1.2. ベクトル信号発生器

上述したように、この設計ではベクトル信号発生器としてAD9166を採用しています。このICは、DC~9GHzの出力に対応可能です。図4に示すように、同ICには6GSPS(1×ノンリターン・ゼロ・モード)のDAC、JESD204Bに対応する8レーン/2.5Gbpsのデータ用インターフェース、複数の数値制御発振器(NCO:Numerically Controlled Oscillator)を備えるDDSが集積されています。また、インターポレーション・フィルタ、反転sinc補償機能、デジタル・ミキサーを含む構成可能性に優れたデジタル・データ・パスが実現されています。そのため、高い柔軟性で周波数プランニングを行うことが可能です。

AD9166のDACでは、48ビットのプログラムが可能なモジュラスNCOを使用することができます。それにより、非常に精度の高いデジタル処理によって信号の周波数シフト(43μHzの周波数分解能)を実現することが可能です。このDAC用のNCOは、周波数を設定するためのチューニング・ワードを迅速に更新します。その書き込み用のインターフェースとしては、100MHzで動作するSPI(Serial Peripheral Interface)だけを使用します。このSPIを使用することで、AD9166が内蔵する様々な機能ブロックの構成や監視も行えます。なお、JESD204Bに対応するレーンは、この設計では使用していません。AD9166は、NCOオンリー・モードで動作させます。

AD9166は、50Ωでマッチングしたシングルエンドの出力用RFアンプを集積しています。そのため、RF出力のための複雑なインターフェース回路を設計する必要はありません。表1に、様々な条件下におけるAD9166の主な仕様と性能についてまとめておきます。

表1. aD9166の主な仕様
パラメータ 条件
平坦な帯域 DC~9GHz  
SFDR –83 dBc 51MHzのトーンの場合
  –66 dBc 451MHzのトーンの場合
  –38 dBc 4051MHzのトーンの場合
消費電力 約4W 5000MHzのトーンの場合
位相ノイズ –134.8 dBc/Hz 3600MHzのトーン、10kHzのオフセット
パッケージ 324ボールのBGA(15mm×15mm)  

1.3. システムのクロック

このシステムでは、VCOを内蔵する広帯域対応のPLLシンセサイ ザ「ADF4372」を使用しています(図5)。同ICに外付けのループ・フィルタを組み合わせて、周波数リファレンスの信号を入力することにより、フラクショナルNまたはインテジャーNのPLLシンセサイザを構成することができます。VCOの出力周波数を1/2/4/8/16/32/64分周する回路に接続することで、RF8xピンから62.5MHzという周波数の低いRF出力を得ることも可能です。

ADF4372のクロック品質と、AD9166のクロック入力用インターフェースは、AC性能に直接的な影響を及ぼします。ADF4372の位相ノイズやスペクトル成分(スプリアス)は、出力信号を直接変調します。同ICでは、最適な整数境界スプリアスと位相ノイズ性能を達成するために、シングルエンドのリファレンス入力信号を使用します(図6)。それを逓倍することで、AD9166用のクロックを生成します。

図6. ADF4372とAD9166の接続
図6. ADF4372とAD9166の接続

1.4. 電源のアーキテクチャ

図7に、CN0511のパワー・ツリーを示しました。ご覧のように、スイッチング・レギュレータとして「LTM8045」 、「LTM4622」、「ADP5073」を使用しています。そのため、システムの負荷条件によっては90%の効率を得ることができます。最大限の位相ノイズ性能を達成するために、DAC、アンプ、PLL、VCOに対する給電には、非常に高いノイズ性能とPSRR性能を備えるLDO(低ドロップ・アウト)レギュレータを採用しています。具体的には、「ADM7150」 、「ADM7154」 、「ADP1761」などを採用しています。

AD9166に対しては正しいシーケンスで給電し、内部回路の損傷を防がなければなりません。そのために電源シーケンサIC「LTC2928」を使用しています。同ICを使えば、最大4つの電圧レールを監視/管理することができます。パワー・オンの時間を個別に制御すると共に、低電圧と過電圧の監視/報告といった監視機能を利用することが可能です。

1.5. プリント基板の構成

CN0511のアプリケーションでは、高い出力周波数と最大限の性能を実現しなければなりません。そのためには、プリント回路基板の材料の選択が非常に重要になります。図8に、推奨されるプリント基板の構成を示しました。RF信号用のパターンを設ける層には、誘電体材料としてRogers製の「RO4350」を使用します。それにより、3GHz以上の信号の減衰量を最小限に抑えます。また、RF出力のシグナル・インテグリティを最大限に保つことが可能になります。

図7. システムのパワー・ツリー
図7. システムのパワー・ツリー
図8. 推奨されるプリント基板の断面/層構成
図8. 推奨されるプリント基板の断面/層構成

熱性能は、プリント基板の設計と動作環境に直接的に関連づけられます。熱性能を高めるためには、プリント基板のサーマル・パッドにサーマル・ビアを使用します。

2. ソフトウェア・アーキテクチャとキャリブレーション

ここまでで、ハードウェアについてひととおり説明することができました。ここからは、ソフトウェア・アーキテクチャとキャリブレーションについて説明していきます。

2.1. ソフトウェア制御

信号発生器に限らず、測定機能を実現するデバイスとしては柔軟性が高く容易に制御できるものが望ましいはずです。CN0511は、Kuiper Linuxのイメージが書き込まれた1枚のSDカードをRaspberry Piに挿し込むだけで制御できます。つまり、プラグ&プレイで使用できるものだと見なせます。Kuiper Linuxのイメージには、CN0511の制御に必要なすべてのソフトウェアが含まれています。出力電力と周波数は2つの方法で変更することが可能です。1つは、PyADI-IIOモジュールを使用してコードを記述する方法です。もう1つは、IIO OscilloscopeのGUI(Graphical User Interface)を使用して、所望の出力を得るための入力設定を行う方法です。

PyADI-IIOは、アナログ・デバイセズのハードウェア向けにPythonを抽象化するモジュールです。産業用のI/O(IIO:Industrial Input/Output)ドライバを搭載する製品に対応しています。PyADI-IIOは、ハードウェアを制御するための簡素かつ使いやすいPythonのメソッドと属性を提供します。ローカルまたはリモートで実行できる非常にシンプルなPythonのコードを記述することよって、ボードを制御することが可能です。何らかのデバイスのテストを行うために任意の周波数掃引を行いたい場合、シンプルなforループを記述し、適切な遅延時間を設定することで必要な処理を実現できます。

一方のIIO Oscilloscopeは、クロスプラットフォーム性を備えるGUIアプリケーションです。ユーザが入力したとおりの振幅と周波数で出力電力を得ることができます。

PyADI-IIOまたはIIO Oscilloscopeを使用すれば、PLL ICとベクトル信号発生器ICがそれぞれ1つずつ備えるジャンクション温度用のセンサーの出力を取得することができます。図9は、これら2つのソフトウェア・モジュールと、CN0511と通信する必要のあるその他のコンポーネント(libAD9166、LibIIO、Linuxカーネル)の関係を表したものです。libAD9166も出力電力の正確な制御に必要なライブラリであり、Kuiper Linuxのイメージにプリインストールされています。このライブラリはCN0511専用のもので、キャリブレーション済みの電力を出力するために必要なC++コードが含まれています。なお、キャリブレーションを実現するための理論については後述します。

図9. 各ソフトウェア・コンポーネントの関係。PyADI-IIO、IIO Oscilloscopeに加え、CN0511と通信する必要のあるソフトウェアを示してあります。
図9. 各ソフトウェア・コンポーネントの関係。PyADI-IIO、IIO Oscilloscopeに加え、CN0511と通信する必要のあるソフトウェアを示してあります。

2.2. 出力電力のキャリブレーション

信号発生器のアプリケーションにおいて、帯域内の平坦性は重要なパラメータです。CN0511において、出力電力の周波数特性は主にベクトル信号発生器の出力によって決まります。周波数が高くなるにつれ、出力インピーダンスはDC値から低下していきます。この変化は、負荷におけるインピーダンス・ミスマッチと相まって、出力電力に直接的な影響を与えます。また、予測が可能なsinc特性のロールオフも、出力電力の周波数応答に影響を及ぼします。ここで図10をご覧ください。これは、キャリブレーションを実施する前の出力電力の測定値を、周波数を横軸としてプロットしたものです。このような望ましくない結果を補正できるようにするために、出力電力の周波数特性に対するキャリブレーションの機能をソフトウェアによって実装しました。

出力電力の補正は、AD9166の2つのレジスタを使用することによって実現できます。1つはIoutfs_reg(アドレス0x42と0x41)です。これは、フルスケール電流の値を設定する10ビットのレジスタです。もう1つはIout_reg(アドレス0x14Eと0x14F)です。こちらは16ビットのレジスタであり、フルスケール電流の設定に使用します。これら2つのレジスタは、AD9166のアンプの入力となるDACの出力電流の値を制御します(図3)。

Ioutfs_regは、出力電力のダイナミック・レンジとして約10dBmを提供します。これは、図10に示した望ましくない特性を調整するには十分な値です。

図10. 出力電力と周波数の関係。出力電力に対するキャリブレーションを実行する前の状態です。
図10. 出力電力と周波数の関係。出力電力に対するキャリブレーションを実行する前の状態です。

CN0511のボードをいくつか用意して測定を行ったところ、オフセットが異なるだけで、図10と同様の形状の特性を示すことがわかりました。このことを考慮し、2つのキャリブレーション・ルーチンを開発することにしました。1つ目のキャリブレーション・ルーチンは1度だけ実行します。それにより、周波数応答の形状全体を補正して平坦性を得るために必要なパラメータの値を取得します。2つ目のキャリブレーション・ルーチンは各ボード間のオフセットを補正するためのものです。こちらは、各ボードの出荷テストを行う際に実行します。どちらのキャリブレーション・ルーチンも、出力の測定、計算、計算に基づくレジスタの調整という一連の処理を実行します。

図11は、1つ目のキャリブレーション・ルーチンによる処理の内容を表したものです。まず、図10の応答全体を複数の周波数区間に分割します。各周波数区間内の曲線は、fMIN[x]からfMAX[x]までの線分で近似することができます。ここで、xは各区間に対応するインデックス(x ∈ [0, 31])であり、正の整数値となります。実際の設計では、31個の周波数区間に分割しました。ただ、図11(a)では、説明を簡素化するために3つの区間だけを示しています。各区間については、2つの定数を取得する必要があります。1つは、図11(b)に対応するオフセット補正用のOffset_correctionです。もう1つは、図11(c)に対応するゲイン補正用のGain_correctionです。各区間のトラッキングを行うために、fMIN[x]の値も保存しておく必要があります。

図11. 1つ目のキャリブレーション・ルーチンで行う処理。実際の処理を簡素化して視覚的に示しています。まず、周波数応答を複数のセグメントに分割します(a)。続いて、各セグメントのオフセットを補正します(b)。最後に各セグメントの傾きを補正します(c)。
図11. 1つ目のキャリブレーション・ルーチンで行う処理。実際の処理を簡素化して視覚的に示しています。まず、周波数応答を複数のセグメントに分割します(a)。続いて、各セグメントのオフセットを補正します(b)。最後に各セグメントの傾きを補正します(c)。

図12(a)は、1つ目のキャリブレーション・ルーチンの動作を示したものです。コードを模した記述により、フローチャートとして表現しています。このアルゴリズムを実行するには、出力電力を測定するために非常に精度の高いスペクトラム・アナライザを用意しなければなりません。例えば、Keysight Technologiesの「E5052B」やRohde & Schwarzの「R&S FSUP」といった装置を使用します。1つ目のキャリブレーション・ルーチンで得られたパラメータの値は、図12(b)に示した2つ目のキャリブレーション・ルーチンで使用します。

図12. コードを模した記述で表したキャリブレーション・ルーチンのフローチャート。(a)は1度だけ実行される1つ目のキャリブレーション・ルーチン、(b)はCN0511の各ボードに適用する2つ目のキャリブレーション・ルーチンを表しています。
図12. コードを模した記述で表したキャリブレーション・ルーチンのフローチャート。(a)は1度だけ実行される1つ目のキャリブレーション・ルーチン、(b)はCN0511の各ボードに適用する2つ目のキャリブレーション・ルーチンを表しています。

図12(b)に示した2つ目のキャリブレーション・ルーチンは、出荷テストの際、各ボードに対して実行されます。その結果として、各区間のOffset_correctionには同じ定数が加えられます。2つ目のルーチンを実行した後には、変更されたOffset_correction[x]の値、Gain_correction[x]の値、fMIN[x]の値が各区間に対応する形でEEPROMに保存されます。これらのパラメータは、ボードを動作させる際、ソフトウェアによって使用されます。 

キャリブレーション後の出力電力を設定するには、ソフトウェアによって以下の式に基づく計算が行われます。これによって得られるのは、Ioutfs_regレジスタの値です。この値を使用して、周波数fxにおける出力電力の調整を行います。ここで、fxはxに対応する区間に含まれる周波数であり(fx ∈ [fmin[x], fmax[x]])、正の実数です。fMIN[x]はxに対応する区間の最低周波数です。

数式 1

上の式からわかるように、出力の補正を行うには、各区間に対応する3つのパラメータの値をボード上に保存しておく必要があります。すなわち、xに対応する区間については、Offset_correction[x]、Gain_correction[x]、fMIN[x]の3つが必要だということです。

3. システムの性能

最後に、構築したシステムの性能を評価した結果を示します。

3.1. キャリブレーション後の出力電力

図13は、CN0511にキャリブレーションを適用した後に出力電力がどのようになるのかを示したものです。出力電力のレベルにかかわらず、広帯域にわたって平坦性が得られるように補償されていることがわかります。0dBm~-40dBmのいずれの出力電力においても、DC~5.5GHzの帯域全体にわたり±0.5dBmの精度が得られています。

図13. キャリブレーション後の出力電力と周波数の関係
図13. キャリブレーション後の出力電力と周波数の関係

3.2. 位相ノイズ

先述したように、ADF4372のクロック品質とAD9166のクロック入力用インターフェースは、位相ノイズ性能に直接的な影響を及ぼします。周波数軸上のオフセット位置におけるクロック源の位相ノイズとスプリアスは、出力信号にそのまま現れます。図14は、単側波帯(SSB:Single-side Band)の位相ノイズの測定値と、周波数オフセットの関係を示したものです。プロットしたデータは、出力電力をすべてフルスケールに設定した状態で測定しました。システムのリファレンス・クロックの生成には、ボードに実装されたVCXO(電圧制御水晶発振器)を使用しました。周波数が122.88MHzでCMOSベースのデバイスです。

図14. システムの位相ノイズ性能
図14. システムの位相ノイズ性能

3.3. 熱性能

AD9166は、アプリケーションの種類や構成によっては4W近い電力を消費する可能性があります。そこで、同ICはエクスポーズド・ダイ・パッケージを採用しています。それにより、ダイを直接冷却し、熱抵抗を低減します。ファンを備える機械的なヒート・シンクを使用すれば、パッケージの熱を放散することができます。ヒート・シンクを取り付けた状態で、周囲温度が25°Cの場合に最も温度が高くなったICはLTM4622でした。その温度は約60.6°Cでした。

まとめ

本稿では、高いRF周波数に対応し、優れた歪み性能とノイズ性能が得られる信号発生器を紹介しました。本稿で説明したとおり、そのシステムでは、高速に動作するDACをベースとするDDSのアーキテクチャ(ベクトル信号発生器)を採用しています。また、低コストのPLLシンセサイザも組み合わせています。このシステムは、シンプルなPLLベースのソリューションに勝る複数のメリットを備えています。例えば、設計が簡素である、歪みが小さい、チューニング用の分解能が高い、ほぼ瞬時の周波数ホッピングを実現できる、位相ノイズが小さい、振幅変調に対応できるといった具合です。

DDSベースのアーキテクチャを採用していることからは、次のようなメリットが得られます。すなわち、出力電力の調整/キャリブレーションが行えることと、出力周波数のきめ細かいチューニングが可能であることです。また、システムにキャリブレーション・ルーチンを追加することによって、±0.5dBmの精度と0dBm~-40dBmのダイナミック・レンジを実現できます。DC~5.5GHzの出力リファレンス・トーンが得られることから、実験用の機器としてはほぼ完璧なソリューションだと言えます。

謝辞

本稿の執筆にあたり技術的な支援を提供してくれたアナログ・デバイセズの全技術者に感謝します。

参考資料

1Paul R. Gray、Paul J. Hurst、Stephen H. Lewis、Robert G. Meyer「Analysis and Design of Analog Integrated Circuits(アナログICの分析と設計)」Wiley、2009年1月

2Mike Curtin、Paul O'Brien「Phase-Locked Loops for High Frequency Receivers and Transmitters - Part 3(高周波レシーバー/トランスミッタ向けのPLL - Part 3)」Analog Dialogue、Vol. 33、No. 3、1999年7月

3VCO Designers Handbook(VCO設計者のためのハンドブック)、Mini-Circuits Corporation、1996年

4Leon W. Couch「Digital and Analog Communications Systems(デジタル/アナログ通信システム)」Macmillan Publishing Company、1990年

5Peter Vizmuller「RF Design Guide(RF回路の設計ガイド)」Artech House、1995年

6Jim Surber、Leo McHugh「アナログPLLとの比較で知る、シングルチップDDSならではの魅力」Analog Dialogue, 30、No. 3、1996年7月

EVAL-CN0511-RPIZ User Guide(EVAL-CN0511-RPIZのユーザ・ガイド)、Analog Devices、2023年1月

著者

Erbe Reyta

Erbe D. Reyta

Erbe D. Reytaは、アナログ・デバイセズのハードウェア・アプリケーション・エンジニアです。2011年からCircuits from the Lab®を担当。主に高精度のシステム・ハードウェアを開発しています。フィリピン大学ディリマン校で電子/通信工学の学士号、マニラ市立大学でコンピュータ工学の修士号を取得しました。

Valentin Beleca

Valentin Beleca

Valentin Belecaは、アナログ・デバイセズのシステム・インテクレーション・エンジニアです。プリント回路基板の設計を担当しています。2021年11月にルーマニアのクルジュ・ナポカで就業を開始。クルジュ・ナポカ工科大学で電子工学/電気通信工学の学士号を取得しています。現在は同大学でIC/システムに関する修士号の取得にも取り組んでいます。

Mihai Bancisor

Mihai Bancisor

Mihai Bancisorは、アナログ・デバイセズのシステム・インテグレーション・エンジニアリング・マネージャです。カスタマー・オフィス・ソリューション・グループに所属しています。主に、ソフトウェア無線とシステム・オン・モジュールを担当。勤続年数は11年です。クルジュ・ナポカ工科大学で応用電子工学の理学学士号と工学修士号を取得しました。