The World Leader in High Performance Signal Processing Solutions FPGA 時代の高速データ コンバータのクロッキング アナログ デバイセズ株式会社 アナログ デバイセズ株式会社石井聡
アジェンダ ミックスド シグナルのクロッキングの問題点 クロック ジッタの考え方と時間ドメインと周波数ドメイン ミックスド シグナルでのシステム クロッキングに対する適切な設計アプローチ 2
3 1. イントロダクション
ちょっと前までの論理回路同期クロッキングの概念 内蔵クロックバッファ CTS(Clock Tree Synthesis) などを利用して クロックが同期していればよかった F/F 間はセットアップ ホールドが満足していればよかった setup DATA hold CLK 同期 CLK ライン 4
近年の論理回路クロッキング問題点 クロック速度が高速になってきたので いままで無視できていたクロック ジッタが無視できなくなってきた! タイミング予測のうえでクロックの不確定性 (pk pk ジッタ ) が問題になってきている DATA setup hold CLK ジッタ量は上下で同じとしてある DATA setup hold CLK 5
近年のミックスド シグナルのクロッキングとデータ変換の問題点 取り扱うアナログ周波数が広帯域化 (Wideband) 高周波化 (High Frequency) している ADC を駆動するクロックのジッタ ( 純度の低さ ) により ADC の SNR( ダイナミック レンジ ) が低下してしまう! 論理回路を動作させるに十分なジッタ量よりもさらにシビアな ( 高純度 ) な低ジッタのクロックが必要 6
7 2. クロック ジッタ ( 時間軸 ) と SSB ノイズ ( 周波数軸 ) とを比較してみる
現代の高速クロッキングを実現するPLL(Phase Locked Loop) システム たとえば R = 4 1/R 分周器 位相比較器 (PFD) R = 4 より PFD = 5MHz たとえば N = 25 チャージポンプ 1/N 分周器 PLL IC 内部 125MHz を中心として 5MHz ステップを考える ループ フィルタ ここは VCO を制御する電圧 120 MHz N = 24 VCO ( 電圧制御発振器 ) クロック出力 N = 25 PFD = 5MHz 125MHz 130 MHz N = 26 基準周波数 f R 入力 8 たとえば f R = 20MHz PFD = 5MHz 125MHz N = 25
クロック ジッタが生じるしくみ PLL システムで発生する位相ノイズ (Phase Noise) PFD とチャージポンプ ループ フィルタ ここで位相比較ノイズが発生する VCO 制御電圧がノイズで変調される ジッタが発生する コンパレータ 論理ゲートのスレッショルド付近でスレッショルド レベルに影響を与えるサーマル ノイズ ( 熱雑音 Johnson Noise) サーマル ノイズによりスレッショルドが変化する 9
クロック ジッタの時間ドメインと周波数ドメインの相互関係 (Periodic Jitter 時間波形 ) クロック 1 周期の時間 1UI = 5ns (200MHz) Periodic ジッタ ( サイン波 ) のジッタ位相変動 (100us, 10kHz) d = 0.01rad としてみる 0.01rad = 16ps P-P @200MHz s t = sin(ωt + d sin pt) = sin ωt + d sin(ωt + pt) sin(ωt pt) 2 式変形は 6 節で示す 10 d は位相変移 (rad, 上記では 0.01rad) ω はクロックの角周波数 (rad/sec, 上記では 2π 200MHz [rad/sec]) p はジッタ変動の角周波数 (rad/sec, 上記では 2π 10kHz [rad/sec]) Periodic ジッタから random ジッタ & トータルジッタに話をすすめていく
クロック ジッタの時間ドメインと周波数ドメインの相互関係 (Periodic Jitter スペクトル ) CN 比 (Carrier Noise) 46dBc d = 0.01rad = 20 log d = 20 log 0. 005 2 = -46 db 10kHz SSB (Single Side Band) ノイズという s t = sin ωt + d 2 sin(ωt + pt) sin(ωt pt) 11
クロック ジッタの時間ドメインと周波数ドメインの相互関係 (Periodic Jitter から Random & Total Jitter へ ) ジッタ位相変動周期を個別サイン波の集合体として考えれば 各サイン波がサイドバンドとしてスペクトル上に出ていることになる ただしそれぞれ相関が無いので Root Sum Square で計算 (3 節であらためて説明 ) s t = sin(ωt + d 1 sin p 1 t + d 2 sin p 2 t + + d n sin p n t) 12
クロック分周とジッタと SSB ノイズ クロックを 2 分周すれば SSB ノイズは 1/2(-6dB) になる 実際のジッタ量自体は変わらないが 1 周期におけるジッタ占有率が減る ジッタ量は上下で同じ CN 比 -76dBc/Hz CN 比 -82dBc/Hz ADF4360-2 で 2000MHz を発生 ADF4360-2 で 2000MHz を発生させ 1/2 して 1000MHz を出力 13
14 3. 周波数ドメインからトータル時間ジッタを求める 目的は時間ジッタを知りたい
周波数ドメインから Total Jitter (rms) を求める 1 1Hz あたりの CN 比 -94.11dBc/Hz Δf = 10kHz 1 ノーマルマーカをセンターにもってくる 2 デルタマーカ ( ピークからの dbc; db Carrier 比 ) に切り替え 3 ノイズマーカ (1Hz あたりのノイズ電力 ) に切り替え 4 これで各点を測定 15
周波数ドメインから Total Jitter (rms) を求める 2 A N = ゾーンNの位相ノイズvsキャリア比 (CN 比 ) の積分値 dbc (A N の求め方は次のスライド ) 位相ノイズ (dbc/hz) 16 A1 ゾーン N での rms 位相ノイズ P N (rad) = 2 10 A N 10 ( ジッタの DSB 相関係数の関係でさらに 1~ 2 の不確定性あり ) ゾーン N での rms 時間ジッタ t JN (rad) = ( 不確定性については同上 ) Total Jitter (rms) = スペアナのノイズ フロアは充分に低くし A2 できるだけ広帯域で観測する A3 A4 積分値が飽和するあたりか ノイズフロアで積分を 10k 100k 1M 10M 100M 1G 打ち切る ( しかない ) 周波数オフセット (Hz) t 2 J1 + t 2 J2 + t 2 J3 1 2πf o 2 + t J4 2 10 A N 10
周波数ドメインから Total Jitter (rms) を求める 3 A N = 10 log( 10 P(k) 10) + 10 log( 測定スパン [Hz]) k (kはエリアn 内の測定ポイント数 ) 位相ノイズ (dbc/hz) もしくは簡略的に ( エリア A 1 であれば ) @10k P @100k A 1 = 10 log((100k 10k) 10P 10 + 10 10 2 ) 17 A1 スペアナのノイズ フロアは充分に低くし A2 できるだけ広帯域で観測する A3 A4 積分値が飽和するあたりか ノイズフロアで積分を 10k 100k 1M 10M 100M 1G 打ち切る ( しかない ) 周波数オフセット (Hz)
時間ジッタを直接測定するシステムの例 DSA70000 シリーズ MSO でジッタ解析しヒストグラムを表示 ジッタ解析のできる DSA70000 シリーズ MSO 18 Tektronix 様ご提供
得られた答えは rms 値 ではピークは? トータルジッタとしてはランダムな波形なので 正弦波のように PK = 2 rms にはならない ガウス分布とすると PK = 6 rms 程度まで考慮する ジッタ自体も ( 回路内部で自然に ) 帯域制限されているので この程度まで考慮すれば一般的には問題ない 19
20 4. AD 変換におけるジッタの影響
AD 変換におけるジッタの影響 1 本来精度は SNR( 信号対ノイズ比 ) で決まるが サンプリング タイミング誤差が電圧誤差になる サンプリング クロック 時間ジッタ トラックモード ホールドモード 21 ADC へのサンプリング クロック
SNR (db) ENOB ( 有効ビット数 ) AD 変換におけるジッタの影響 2 130 120 110 100 90 80 70 60 50 40 0.125 ps 0.25 ps 0.5 ps 1 ps 2 ps クロック ジッタ = t j (rms) 1 SNR = 20 log 10 2 p f t j t j = 2ps rms f in = 50MHz で 64dB =10bit 程度 Analog Input Analog Devices ADC Sampling Clock 16 BITS 14 BITS 12 BITS 10 BITS 30 1 10 100 1000 アナログ信号入力周波数 (MHz) 高速 高精度サンプリング実現には非常に低ジッタのクロックが必要 Digital Output SNR 22
ADIsimADC を利用した FFT シミュレーション ( ジッタ フリーの条件 ) SNR = 73.56 db アナログ デバイセズのサイトで検索! 23
ADIsimADC を利用した FFT シミュレーション ( ジッタ = 2ps rms) SNR = 60.27 db 24
ミックスド シグナル アプリケーションの一例高速ダウン サンプリングはジッタに厳しい! ナイキスト周波数範囲 fs/2 f ダウン サンプリング BPF した信号 185MHz fs 14bit 250Msps ADC AD9642 ENOB = 11.3bit ENOB = 10.5bit 15MHz t j (rms) = 1.5ps で ENOB 9 ビット程度! fs/2 ENOB = 9.7bit 15MHz f fs D/S でも規定している fin = 185MHz イメージが 15MHz ENOB = 8.8bit 実際はデジタル フィルタで改善はされるが 25
26 5. アナログ デバイセズのクロック ソリューション
AD9523-1 14 出力デュアル PLL クロック ジェネレータ PLL1 はジッタ クリーナ PLL2 で実周波数生成 s 以下のジッタ ( @122.88MHz) HSTL/LVPECL/LVDS/ CMOS 2 選択入力 自動スイッチ オーバ 自動ホールド オーバ シリアル ポートで設定 EEPROM 内蔵 ここのOSCは VCXO( 水晶振動子 ) AD9523-1 用途 : 高速 ADC や DAC のクロッキング LTE やマルチキャリア GSM 基地局 無線や光通信インフラ SONET, 10Gig Ether, 10G Fibre Channel 27
AD9548 DDS ベースネットワーク ( 網同期 ) クロック ジェネレータ / シンクロナイザ AD9548 28 参照周波数入力は 1Hz から 750MHz 最大出力周波数は 450MHz インテジャー 30bit フラクショナル 10bit の分周器 4 入力 / 4 出力あり シングル エンド 差動いずれか設定可能
ADF4351 VCO 内蔵広帯域 PLL シンセサイザ 出力周波数範囲 35MHz~ 4400MHz フラクショナル N インテジャー N の分周器両方を内蔵 低位相ノイズの VCO 内蔵 1/2/4/8/16/32/64 分周出力をプログラムで設定可能 ジッタ 0.3ps rms (typ) 3 線シリアル インターフェース ADF4351 29
ジッタ解析機能もある設計ツール ADIsimCLK LVPECL Driver Vs = 3.3V 0.1nF Parallel Transmission Line Zo = 100 ohms 100 0.1nF AD9511 でシミュレーションしてみた例 OUT0: Frequency: 250.000MHz Broadband Timing Jitter = 238fs rms SNR = 76.49dB ENOB = 12.75bits at IF Freq = 100MHz Integrated Phase Noise from 100kHz to 1.25MHz Timing Jitter = 14.5fs rms Phase Jitter EVM = 0.0023 %rms Phase Jitter = 0.001 degrees rms 200 200 Voltage (V) 4.0 3.5 3.0 2.5 2.0 1.5 1.0 500.0m OUT0 Output Waveform OUT0 /OUT0 0 0 1 2 3 4 5 6 7 8 9 10 Time (ns) SNR (db) 120 110 100 90 80 70 60 SNR from Jitter 50 1M 10M 100M 1G IF Frequency (Hz) Phase Noise (dbc/hz) -115-120 -125-130 -135-140 -145-150 -155 OUT0 Phase Noise -160 100 1k 10k 100k 1M 10M 100M 1G Frequency (Hz) 30
ソフトウエア無線 (SDR) システムの応用例 1000Mbps IQ MOD 400 6000MHz TX Path 16 500MHz DDR DAC GAIN 段 FMC Connector LVDS 1 ペア 14 50MHz Ref Clk 125MHz DDR AD9548 Clk Gen と同期 Input: 1 Hz - 750MHz Slave Clk In Sync In ADC 2 AD9523-1 Clk 分配 Output: 1 1000MHz VGA ADF4351 PLL 周波数シンセサイザ SPI SPI SPI 2 PLL 周波数シンセサイザ SPI Output: 35-4400MHz AD-FMCCOMMS1-EBZ 31 250MSPS RX Path IQ DEMOD 400 6000MHz
32 6. 理論式導出の補足
時間ジッタと SSB ノイズの式の導出過程 s t = sin(ωt + d sin pt) = sin ωt cos d sin pt + cos(ωt) sin(d sin pt) ここで ω はクロックの角周波数 d は periodic ジッタ位相変位 p は periodic ジッタ位相変動周波数 ここで d sin pt 1 なら s(t) = sin ωt + cos(ωt) dsin pt = sin ωt + d 2 sin(ωt + pt) sin(ωt pt) キャリア 上側側波帯 (USB) 成分 下側側波帯 (LSB) 成分 33 d の単位は radian Tj pk (peak 値 ) との関係は Tj pk = d ω = d 2πf
時間ジッタと SSB ノイズの式 ( 帯域をもった信号に拡張 すると ) s t = sin(ωt + d sin pt) の式を複数のジッタ位相変動周波数 p n に拡張すれば s t = sin(ωt + d n n sin p n t) となる 前のスライドと同じように式変形していけば s t = sin(ωt) d n + 2 sin ωt + p nt sin(ωt p n t) n 複数の位相ジッタの変動周波数 p n ごとにUSB, LSBのスペクトルが得られる このように任意のd n, p n に拡張すれば 任意のジッタ ( ランダムジッタも ) を式で表現でき そのスペクトル (SSBノイズ) との関連も理解できる なおこの式ではスライド16の ジッタの相関係数の関係でさらに 1~ 2の不確定性 については 相関係数 = 1 になるので 時間ジッタ量は 2の大きさになる 34
35 7. まとめと参考文献
まとめ クロック ジッタでミックスド システムの性能が低下 時間軸と周波数軸のそれぞれの波形の関係を理解し 適切にジッタ量をもとめる ジッタ量とアナログ周波数 ADC の SNR を事前に評価する 36
参考文献 ミックスド シグナル システムのクロック ジッタに関する Analog Devices の文献 AN-756 : サンプル化システムに及ぼすクロック位相ノイズとジッタの影響 AN-741 : 位相ノイズの知られざる特性 AN-1067 : 位相ノイズとジッタの電力スペクトル密度 : 理論 データ解析 実験結果 最新の位相ノイズの測定器 測定方法 RF ワールド No. 18 新コンセプト測定器の技術フィーチャー, CQ 出版社 37