How to use DDS evaluation Board AD9910/PCBZ

Analog Devices社のAD9910は1 GSPS, 14ビットのDDS ICです.この評価ボードAD9910/PCBZは,定価$500 (日本では7万円弱,2009年12月現在) と低価格,最大400MHzまで正弦波出力可能,0.23Hzの周波数分解能,USB経由でPCから制御可能,内蔵(on board)水晶発振器で使用可能(電源を供給するだけで使える),などなど魅力満載です. VCOよりは高いですが,水晶発振器を基準にするので周波数安定度は格段に上ですし,何よりPCから正確に周波数を設定できるのは便利です. RFパワーアンプと組み合わせてAOMの駆動などに使えそうですが,その実力の程やいかに.ここでは動作に必要な周辺回路,位相ノイズ測定結果などを紹介します.

Contents

読むべき書類

AD9910/PCBZのデータシートは評価用ソフトウェアの使い方中心に書かれていて,これを読んだだけではちっとも使えるようになりません.使いこなすためにはAD9910のデータシートにも目を通すことが必須です.

以下の「準備編」では,簡単に使えるようにすることを目標に,AD9910とAD9910/PCBZのデータシートを補った情報を提供します.間違い等のご指摘は歓迎しますが,1次情報源はあくまでもデータシートですので,まずデータシートをしっかり読むようにしてください.

準備:電源編

AD9910/PCBZのデータシートp.3 "Requirements" によると,「最低でも1.8V, 3.3Vの独立なDC電源が必要」とありますが,位相ノイズを小さくしたい場合これでは不十分です.詳細は後述しますが,低ノイズ化のためには「ディジタル回路用の3.3V/1.8V電源とアナログ回路用の3.3V/1.8V電源を各1台」準備した方がいいでしょう.アナログ系とディジタル系のグラウンドはAD9910/PCBZの基板上で接続されています.そのためアナログ系とディジタル系の電源が絶縁されていない (GNDが共通) と,出力がAC電源周波数 (60 Hz) で変調され大きなノイズが出ることがあります.アナログ系とディジタル系は絶縁された電源を用意した方が安全です.一方,それぞれの1.8V系・3.3V系は,絶縁されていてもされていなくてもノイズ特性に大きな変化は見られませんでした.

AD9910のデータシートFigure 17, 18 (p. 15)およびp. 47を見ると,各電源に必要な電流を概算できます.

  • ディジタル系3.3 V (DVDD 3.3V):およそ30 mA以下 (USBポートの通信量により変動する)
  • ディジタル系1.8 V (DVDD 1.8V):CLOCK周波数により変動.最大で約230 mA (@1 GHz).
  • アナログ系3.3 V (AVDD 3.3V):DAC駆動に使われる.典型的には約28 mA消費
  • アナログ系1.8 V (AVDD 1.8V):内蔵PLLの駆動に使用.CLOCK周波数に依存し最大で約120 mA (@1 GHz).

内蔵PLLを使う場合,AVDD 1.8Vのノイズが出力の位相ノイズに顕著に効いてきます(詳細は位相ノイズ測定編を参照).できるだけノイズの少ない電源を用意すると良いでしょう.スイッチング電源でもいいかもしれませんが,それほど大きな電流が必要なわけではないので,ノイズを考えるとドロップ式の直流電源が無難だと思います.

準備:ハードウェア編

まずDDSを駆動するためのCLOCK供給方法を決めます.評価ボードのデフォルトは外部CLOCK (J1 CLK_INPUT端子に入力)となっていますので,ボード上の25MHz水晶発振器を使う場合改造が必要です.

外部CLOCKで使用する場合

(DDSの動作周波数) = (入力周波数) の場合,ボードの出荷時設定のままで使用可能です.例えば外部から1 GHzの信号を入力し,DDSを1 GSa/sで動作させる場合などです.必要な信号は0 dBm以上の正弦波 (single-ended) です. 外部からの入力信号をAD9910内蔵のPLLで逓倍する場合,後述のPLLループフィルタを設定する必要があります.

On board水晶発振器+内蔵PLLで使用する場合

  • ジャンパーW7を"XTAL"側(1-2をショート)に切り替える
  • C51, C52 のコンデンサを外す.鉛フリーはんだが使われているので,はんだごての温度は高めに設定すること.取り外したコンデンサは大事にとっておきましょう.
  • 0Ωのジャンパー (1005サイズ) を裏面R4, R11にハンダ付けする.ボード上で使われているはんだは鉛フリーはんだなので,有鉛はんだを使う場合は予備はんだをあらかじめ除去しておくとやりやすいです.ジャンパーがない場合は,リード線のあまりなどを切って使っても大丈夫です.
  • PLLを使うためにループフィルタを設定します(次節参照)

AD9910内蔵のPLLを使う場合 (外部CLOCK,On board水晶発振器いずれを使う場合も必要な設定)

AD9910/PCBZのデータシートには,内蔵PLLを使う場合のハードウェア設定方法が一切書かれていないので注意が必要です.適切なPLLループフィルタを設定しない限り,ソフトウェアをいくらいじっても動作しません.ボード表面,AD9910の1番ピン (●印) 付近のR37, C13, C15に適切なR, Cをハンダ付けします.ここも予備はんだはあらかじめ除去しておくとやりやすいでしょう.

具体的な定数の計算方法はAD9910データシートの式(4), (5), (6) (p. 27) にあります.例えばon boardの水晶発振器 (25 MHz) をN=40倍し,クロック周波数1 GHzで使う場合は次のような定数になります.

計算条件:Input 25 MHz, fclk = 1 GHz (N=40), VCO range 5 (Kv=850 MHz/V), Icp = 387 uA
Calc Actual value
fOL
[kHz]
φ margin
[deg]
R37
[Ω]
C13
[pF]
C15
[pF]
R37
[Ω]
C13
[pF]
C15
[pF]
fOL (act)
[kHz]
φ act
[deg]
50 45 46.11 166.6nF 34.5nF 47 150nF 33nF 53.16 43.98
200 45 176 12.4nF 1.895nF 160 12nF 1.8nF 229.52 50.28
300 45 276.68 4629.1 958.7 270 4700 1000 299.43 44.55
300 60 246.94 8017.9 620.18 240 8200 560 319.86 61.62
400 45 368.9 2603.9 539.28 360 2700 560 395.07 44.98
400 60 329.3 4510 348.85 330 4700 330 400.62 61.27
500 45 461.1 1666.5 345.14 470 1800 330 477.95 47.03
500 60 411.6 2886.4 223.27 430 2700 220 499.42 59.3
1000 45 922.3 416.62 86.28 910 390 82 1075.9 44.7
1000 60 823.1 721.61 55.82 820 680 56 1034.8 59.2
この表で私が試したのは緑色の部分のみです.その他はあくまでも参考値として使ってください.

上記以外の値にする場合次の手順で求めます.

  • DDSを駆動するCLOCK周波数に応じてVCOの発振レンジを決める(AD9910データシートp.26, Figure 33参照)
  • AD9910データシートのTable 1 (p.6) からVCO Gain (Kv [Hz/V]) を求める
  • PLLチャージポンプの電流値(Icp=Kd [A])を決める.AD9910/PCBZのデータシートp.7によると「CP currentを多くするとPLLのロックが早くかかるが,位相ノイズは増加する」とあります.実際のノイズ特性を見ながら適切な値を選択するのが良いかもしれません.
  • Loop filterのopen-loop bandwidth (fOL [Hz]),位相余裕(φ [rad])を決める
  • AD9910データシートの式(4)〜(6)を使ってR37[式(4)],C13[式(5)],C15[式(6)]を求める.Kv, Kd, fOL, φの単位に注意すること.

準備:ソフトウェア編

ソフトウェアのインストール

これはAD9910/PCBZのデータシートに詳しく書いてあります.データシートの記述にしたがって

  • 付属CD-ROMからソフトウェアをインストール
  • AD9910/PCBZとPCをUSBケーブルで接続し,AD9910/PCBZの電源を入れる
  • 画面の指示にしたがって「新しいハードウェアの検出ウィザード」を実行する (2回)
  • インストールされたソフトウェア(AD9910 Eval Software) を起動する
とします (Windows XPの場合).

位相ノイズ測定1:電源による違い

AD9910/PCBZには25 MHzの水晶発振器が搭載されているので,これをAD9910のPLLで40倍して1GHzを作りAD9910のclockとして使うと手軽です.ただし,その場合電源に注意を払う必要があります.ここでは様々な電源を使って位相ノイズの違いを見ていきます.以下ではAD9910のPLL loop filterをfOL=50kHz,φ=45°に設定し,100MHz, 0dBmの信号を出力しテストしています.スペアナは中心周波数100MHzで±1MHzのノイズを測定しました.以下に示す図はクリックすると拡大図が開きます.

図1
図1. ディジタル/アナログ系電源の切り分けによるノイズ削減(クリックで拡大図)

まずディジタル系(コネクタTB1, VCC_USB, DVDD_IO, DVDD)の電源とアナログ系(コネクタTB2, DAC_VDD, CLK_VDD)の電源を一緒にまとめた場合(図1赤線)と独立させた場合(図1緑線)の違いを見てみます. 赤と緑を比べると,赤は最大10dB程度ノイズが増えていることがわかります.したがってディジタル系とアナログ形は独立な電源とした方が良い結果が得られます.ここで,ディジタル系とアナログ系のGNDは絶縁しておいた方が良いようです.AD9910/PCBZ上では双方のGNDがインピーダンス0で接続されているため,電源側のGNDを不用意に接続するとGNDループに電流が流れ,出力が60Hzで強烈に変調される羽目になります(うまく接続すれば問題ないのかもしれませんが).なお,図1の青線は市販の電源(Agilent E3610A; 定価5万円程度)を使った場合の結果です.自作電源に比べると10dB程度ノイズが少ないですね.この違いはどこから生じるのでしょうか.この点を次に詳しく見ていきましょう.

先ほどの実験では,電源用のレギュレータとしてLM1086-3.3 (3.3V; National Semiconductor) および μPC2918(1.8V; ルネサス)を使っていました.LM1086のデータシートおよびμPC2918のデータシートによると,これらの出力雑音電圧はそれぞれ99μVRMS,50μVRMSとなっています(10Hz≦f≦100kHz).これはAgilent E3610Aの約14μVRMS(計算値)に比べやや大きめです.図1で見たような自作電源によるノイズの増加は,アナログ系,特にPLLを駆動する1.8V(電源コネクタTB2-4, CLK_VDD)のノイズ増加が原因です.1GHzのクロックを生成するためにAD9910内蔵のPLLを使っていますが,PLLは電源ノイズの影響を大きく受けます.トランジスタ技術2007年3月号p.136『2-6. VCOなどの高周波発振器用の低雑音電源』(CQ出版社)にもあるように,ローノイズ化のためにはPLLへ供給する電源のノイズ低減が必須です.

図2
図2. ローノイズレギュレータの効果

そこでアナログ系電源に使っているレギュレータICを変えてテストした結果が次の図2です.図の赤線はμPC2918を使った場合,緑線はREG103-A(可変電圧,Texas Instruments)を1.8Vに設定して供給した場合の結果です.μPC2918に比べ,REG103-Aでは100kHz〜400kHzあたりの位相ノイズが10dB程度減少しています.なお,後者ではアナログ3.3VにREG103-3.3を使っていますが,こちらはLM1086-3.3でも問題はありません.実際に試したところ,アナログ1.8Vのノイズ低減が一番効果的でした.

図2でアナログ1.8V系にTexas InstrumentsのREG103-Aを使い,位相ノイズを低減することに成功はしましたが,それでもまだAgilent E3610Aをアナログ1.8V電源として使った場合(桃色線)に比べ100kHz以下のところでノイズが10dBほど大きくなっています.やはり電源に5万円投資しないとこの性能は得られないのでしょうか…

図3
図3. ローノイズレギュレータの効果.
TPS73618を使った場合(青線).

実はそんなことはありません.固定電圧出力のREG103ではNoise Reduction (NR)端子に10nFを接続することでかなりの低ノイズ化が可能ですが,可変出力のREG103-AにはNR端子がありません.残念ながらREG103シリーズには固定1.8V出力の製品がないので,代わりに同じくTexas Instrumentsが出しているTPS73618 (TPS73618DCQG4, RSコンポーネンツで1個315円(2010.6月現在))を使ってみましょう.REG103GAAの1個714円(同じくRS, 2010年6月現在)に比べるとTPS73618はだいぶ安いですが,固定1.8V出力,NR端子付で,NR端子に10nFコンデンサを接続した場合のノイズは15.3μVRMS (カタログ値) とかなりローノイズです.このTPS73618 (NR端子に10nFのチップセラミックコンデンサ接続) を使った結果が図3の青線となります.E3610A (桃線)とほぼ同程度までノイズが抑えられていることがわかります.これで電源に5万円も投資せずに済みました(笑).なお,このテストで用いた電源の回路図はこちらからどうぞ.2回路内蔵のトランスを使い,ディジタル系とアナログ系を完全に独立にしています.ディジタル系電源は多少ノイズが多くても問題ないので,LM1086-3.3とμPC2918を使っています.各電源出力部には,念のためフェライトビーズを入れてみましたが,効果のほどはよくわかりません(未確認).

以上で見てきたように,AD9910内蔵のPLLを使う場合アナログ1.8Vの電源(CLK_VDD)にはローノイズレギュレータを使う方が無難です.ただし,これはあくまで内蔵PLLを使う場合の話です.内蔵PLLを使わず外部から直接1GHzのclock信号を供給した場合はuPC2918でも問題ありません.そのあたりはこちらで比較します.

位相ノイズ測定2:内蔵PLLのループフィルタカットオフ周波数による違い

図4
図4. PLL loopfilter カットオフ周波数による位相ノイズの違い

前節では電源によるノイズの違いをわかりやすく見るため,PLLループフィルタのカットオフ周波数fOLをわざと低めに設定していました.fOLの帯域を広げることで,さらに位相ノイズを抑えることが可能です.次にfOLを変えた場合の位相ノイズについて見てみましょう.

といってもこれは図4を見れば一目瞭然です.図4赤線がfOL=50kHzの場合,青線がfOL=500kHzの場合です.フィルタのパラメータは上の表の該当する値を使っています.fOL=500kHzの場合,0〜200kHzの位相ノイズが最大20dB抑制されています.副作用としてこちらに示すように300kHz以上ではノイズがわずかに増加していますが,全体的にはノイズ抑制効果の方が上回っています.

位相ノイズ測定3:内蔵PLL vs 外部CLOCK −DDS駆動方式による違い−

図5
図5. CLOCK供給方式による位相ノイズの違い.

位相ノイズ測定1では,内蔵PLLを駆動するための電源により生じる位相ノイズを詳しく調べました.内蔵PLLを使う場合はこのように電源に気をつかわなければなりませんが,外部からClock信号を直接供給する場合はもっと簡単に使用できます.この点を調べたのが図5です.図5赤線は内蔵PLLにて1GHzのクロック信号を生成した場合のノイズ (CLK_VDDはTPS73618使用),緑線(青に隠れて見づらいですが)は外部から1GHzを供給した場合 (CLK_VDDはuPC2918を使用) のノイズです.いずれも出力は100MHz, 0dBmとしています.外部クロックの供給源にはAgilentのシンセサイザN5181A (アカデミックプライスで70万円ぐらい) を使いました (1GHz, 0dBm出力).そしてN5181A自身のノイズ特性を測定したのが図5青線となります.緑線と青線が重なっていることからもわかりますが,外部クロックを基準にAD9910を使用した場合,たとえCLK_VDDにノイズの大きいレギュレータを使用したとしても,入力したクロック信号のノイズ特性をほぼそのままコピーした出力が得られています.つまり,AD9910の出力位相ノイズはクロック信号のノイズ特性をほぼそのまま反映するようです.したがって,位相ノイズを特に気にする用途で使う場合,スペクトル純度の高い基準信号を分配すれば良さそうです.

図6
図6. CLOCK供給方式による位相ノイズの違い:横軸logスケール.

とはいえ,同じ図をlogscaleにしたもの(図6)を見るとわかるように,双方のノイズは100kHz以下ではほぼ同じです(スペアナのSSBノイズかも??).100kHz以上の帯域では内蔵PLLを使うと10dBほどノイズが増えていますが,通常の用途ではこちらでも問題なさそうです.N5181AとAD9910/PCBZの10倍の価格差を考えれば,10dBのノイズ増加は価格分でしょうか.

その他気づいたこと

他の市販DDSとの位相ノイズ比較

まとめ