The World Leader in High Performance Signal Processing Solutions FPGA時代の 高速データ・コンバータの デジタル・データ転送(前編) アナログ・デバイセズ株式会社 アナログ・デバイセズ株式会社 石井 聡 アジェンダ 1. 高速信号は反射する 2. 反射のようすを観測できるTDR測定 3. 差動データ伝送 4. FPGAとのやりとり 5. 差動データ伝送の特性が良好な理由 6. 差動データ伝送のためのプリント基板 7. 差動伝送での終端 8. 関連する話題 2 Analog Devices Proprietary Information © その2 【後編】も 是非ご覧ください 3 近年のミックスド・シグナルのデータ転送の問題点 取り扱うアナログ信号、デジタル信号処理の高速化により転 送レートがかなり高速化 回路図とネットリストだけの情報でプリント基板のCAD設計 を依頼しても、まともに動かないミックスド・シグナル・シ ステム 基板上の信号の高速化によりEMC(与干渉、被干渉)の問題 が拡大 4 Analog Devices Proprietary Information © 1. 高速信号は反射する 5 終端不適切による多重反射トラブルの一例 本来あるべ きHレベル 2V/Div この例はシングル・エンド伝送の ケース例。差動伝送でも同じ 6 Analog Devices Proprietary Information © 1V/Div 終端不適切による多重反射トラブルの一例 本来あるべき Hレベル 信号 遷移点 ドライバIC側で再反射したものが再度、 伝達往復時間で、先端(レシーバIC)の 未整合の再々反射が観測されている 2V/Div 伝達往復時間で先端(レシーバ IC)の未整合による反射が観測 されている (このときドライバIC側で再反射している) 7 Analog Devices Proprietary Information © 1V/Div 電圧と電流が反射するのは特性インピーダンスと負 荷抵抗が一致してないから デジタル信号が 波として移動 進む波 (たとえば5V) 進む波 (たとえば0.1A) 同軸ケーブルで説明しているが基板のパターンも同じ 信号源 近端 負荷 遠端 (たとえば5V×0.41) デジタル信号が 波として反射 (たとえば0.1A×0.41) 厳密には電流は「密度波」です 8 反射して 戻る波 Analog Devices Proprietary Information © RL = 120Ωのと きに左記の0.41 電圧と電流が反射する率「反射係数」 デジタル信号が 波として移動 進む波 (たとえば5V) 進む波 (たとえば0.1A) 信号源 近端 負荷 遠端 (たとえば5V×0.41) デジタル信号が 波として反射 (たとえば0.1A×0.41) 反射して 戻る波 これを「反射 係数Γ」と呼ぶ 進む波と反射する波の 比率は電圧、電流ともども これを「ミスマッチ」と呼ぶ 9 (たとえばRL=120Ωなら0.41) Analog Devices Proprietary Information © 本来は負荷端(遠端)で終端する 整合終端 同軸ケーブルで説明しているが基板のパターンも同じ 信号源 近端 進む波 負荷 遠端 進む波 反射 なし 信号源 10 負荷端 Analog Devices Proprietary Information © 反射してこな い Γ=0 RS ≠ ZOだと近端でも再反射する(多重反射) 信号源のインピーダンスも異なっていると、反射して戻ってきた信号が またそこでも再反射してしまう(多重反射) 進む波 進む波 反射して 戻る波 反射して 戻る波 またまた反射して 進む波 終端時(本来の) 信号源波形 負荷端 (遠端波形) またまた反射して 進む波 反射して戻る波 最後は に落ち着く 11 Analog Devices Proprietary Information © Q「送り側(近端)終端はどうなの?」 A「ポイントtoポイントなら問題ありません」 基本は遠端終端 デジタル回路では5Vを送って5Vを受ける RL = Z0だと振幅が1/2になり、正しくレベルを伝えられない! 何とかならないか? ⇒ 「近端終端というものを聞いたが?」 RS = 「送端終端」つまり 「近端終端」でもポイントtoポイントの 場合は問題ない 近端に戻ってきたときの再反射が無いから 次のスライドでシミュレーション結果を示す ポイントtoマルチポイントの場合は問題あり 途中では波形は乱れている 12 Analog Devices Proprietary Information © NI Multisimで見てみる ①シミュレーション回路 送端(近端) 観測 負荷端(遠端) 観測 送端(近端) 終端 負荷端(遠端) 未終端相当 2mの50Ω同 軸ケーブルに 相当 13 Analog Devices Proprietary Information © NI Multisimで見てみる ②シミュレーション結果 送端(近端)観測 こちらは暴れているが… 負荷端(遠端)観測 こちらは暴れていない (負荷端は問題ない) 14 Analog Devices Proprietary Information © ADI高速ADC評価ボードでの例(これはダンピング 抵抗とも言えるが) ドライバIC 入力 ADC IC 出力 15 なおダンピング抵抗と近端終端は 物理的振る舞いは別のものなので注意 Analog Devices Proprietary Information © 2. 反射のようすと 特性インピーダンスを 観測できるTDR測定 16 反射を送信端(近端)で観測するのがTDR計測 デジタル信号が 波として移動 進む波 (たとえば5V) 進む波 (たとえば0.1A) 信号源 近端 負荷 遠端 (たとえば5V×0.41) デジタル信号が 波として反射 (たとえば0.1A×0.41) 信号源からステップ信号を入力し、反 射波形(信号源波形との合成)を近端 で観測することが「TDR測定」 17 反射して 戻る波 Analog Devices Proprietary Information © 負荷抵抗RL = 120Ωで あれば反射係数Γ = 0.41 実験で使用した同相/差動TDR用ステップ 信号発生回路 同相モード TDR用基板 差動モード TDR用基板 P板.com「パネルdeボード」サービスで実験治具購入可能 18 Analog Devices Proprietary Information © http://bit.ly/HjN2Dy 実際にTDR測定してみた例(実験系の説明) 信号源からステップ信号を入力 し、反射波形(信号源波形との 合成)を入力端で観測 50Ωの同軸 ケーブル1m 19 特性インピーダンスの 違いも測定できる Analog Devices Proprietary Information © 50Ωの 終端抵抗 (遠端) 75Ωの同軸 ケーブル2m 実際にTDR測定してみた例(結果) Z0 = 50Ωの1m同軸 ケーブル入力端 の波形 Z0 = 75Ωの同軸 ケーブルの入力 端での反射 遠端の負荷抵抗 RL = 50Ωからの 反射 20ns 2mに相当 10ns = 1m×2(往復)/2×108m/s 10ns 1mに相当 20 50mV/div Analog Devices Proprietary Information © 5ns/div 特性インピーダンス値の求め方など・・・ TDRに関する参考文献 石井 聡; 信号が正しく伝わる度合いがわかる!配線診断『TDR測定』 (3回短期集中連載), トランジスタ技術 2012年1月号~3月号, CQ 出版社 漆谷 正義; シンプルなTDR測定アダプタの製作, RFワールド, No. 13, CQ出版社 Selected Articles on Time Domain Reflectometry Applications, Application Note 75, Mar. 1966, Hewlett Packard テクトロニクス社でも多数あり http://www1.tek.com/ja/applications/design_analysis/time- domain-reflectometry.html 21 Analog Devices Proprietary Information © 【後編】のスライドでは・・・ ここで説明したTDRを 以降に説明する差動信号伝送に 同相TDR/差動TDRとして 適用する例を【後編】で示します 22 Analog Devices Proprietary Information © 3. 高速に安定して データ伝送するための 差動データ伝送 23 的確にデータ・コンバータと高速にデータ転送する 「難題」 グラウンド面AGND/DGND間の不連続(ベタで設計されている ことも多いが) 多数のビア内層ヌキでGNDが分断されることもある クロック・ラインはデジタル信号であり、アナログ信号である アナログ信号経路に影響を与えないこと デジタル信号経路から影響を受けないこと ジッタの少ない高純度な信号であること 24 Analog Devices Proprietary Information © アナログ POL 電源 アナログ 回路 差動 クロック・ライン デジタル 回路 スリット スリット スリット 基板からみた「的確に高速データ転送する難題」 デジタル POL 電源 スリット PS GND 差動 レシーバ PS GND 差動 ドライバ クロック ジェネレータ PLL Option サンプリング クロック 基準 クロック fs アナログ 入力 DATA AIN AMP ADC DSP/プロセッサ データ転送 ライン F/F レジスタ (ラッチ)Option FPGA CONTROL DIGITAL REF 電源 25 GND GND GND GND DIGITAL DIGITAL ここでグラウンド GND 不連続面が GND GND できることあり Analog Devices Proprietary Information © 電源 GND 的確にデータ・コンバータと高速にデータ転送する 「難題」(つづき) 十分なノイズ・マージン(アイの開口)をもってデータを転送 正しいタイミング・マージンをもってデータを転送 複数の転送レーンがあるのでやっかい EMC (与干渉、被干渉)の問題 差動伝送を活用することがベスト! 26 Analog Devices Proprietary Information © 差動伝送のメリット 低信号レベルでも高い信号純度で安定した伝送が可能 低消費電力も実現できる 同相モード・ノイズや同相モードのレベル変動の影響を受けに くい 低ジッタを実現できる 外部に余計な電磁界を放出しない、逆に外部電磁界からの影響 を受けにくい EMC問題に強い 理想的とも言える伝送方式 27 Analog Devices Proprietary Information © LVDSは差動+低レベルなので高速伝送には便利 ADC出力LVDSドライバ V+ V– V– V+ +3.3V) (+3.3V) (3.5mA) +1.2V 3.5k W 3.5k W 振幅レベルが かなり小さい! (3.5mA) 28 Analog Devices Proprietary Information © AD9514のLVDS 200Mbps 出力を測定 +信号ライン(CH1) ゼロV 1.2V 等しい振幅量(350mV) の逆相信号 -信号ライン(CH2) ゼロV 29 500mV/Div Analog Devices Proprietary Information © パラレルLVDS I/F 高速ADC(AD9642) Appendixにアナログ・デバイセズのLVDS I/FのADC群を掲載 30 Analog Devices Proprietary Information © シリアルLVDS I/F ADC AD9228 Quad, 12bit, 40/60MSPS 31 Analog Devices Proprietary Information © AD9228のLVDSデータ出力タイミングチャート サンプリング・クロック 出力クロック フレームクロック Data Out 32 Analog Devices Proprietary Information © 4. FPGAとのやりとり 33 Xilinx ISEでLVDSのInstantiate例 RTL (VHDL) 差動バッファ・コ ンポーネント UCF(User Constraint File) IBUFDS_i0 : IBUFDS generic map ( NET “RX_p" IOSTANDARD = LVDS_25; DIFF_TERM => FALSE, -- 差動終端Off NET “RX_n" IOSTANDARD = LVDS_25; IBUF_LOW_PWR => TRUE, -- LowPwr設定 NET “TX_p" IOSTANDARD = LVDS_25; IOSTANDARD => "DEFAULT") NET “TX_n" IOSTANDARD = LVDS_25; port map ( O => ToInternalOut, -- IBUF出力 もしくはRTLの I => RX_p, -- ポート+入力 generic_mapで直接記述 IB => RX_n -- ポート―入力 してもよい(以下) ); 差動バッファ・コ ンポーネント OBUFDS_i0 : OBUFDS 【generic mapでの記述方法】 generic map ( generic map ( IOSTANDARD => "DEFAULT", IOSTANDARD => “LVDS_25”, SLEW => "SLOW") -- スルーレート port map ( O => TX_p, -- ポート+出力 OB => TX_n, -- ポート―出力 I => FromInternalIn -- OBUF入力 ); Analog Devices Proprietary Information © 34 Altera Quartus IIでLVDSのInstantiate例 QCF(Quartus II Settings File) set_instance_assignment -name IO_STANDARD LVDS -to Rx set_instance_assignment -name IO_STANDARD LVDS -to Tx これでIOポート名Rx(とRxバー)のレシーバ・ペア、 Tx(とTxバー) のトランスミッタ・ペアが生成されます。各バー側の信号はツールが適 切なピンを割り当ててくれます ※ AlteraではRTL内にI/Oバッファの詳細を記述する必要はありません。 Assignment Editor 内のI/OStandardアサインメントを使用して、希望の I/O規格を割り当てることを推奨しています 35 Analog Devices Proprietary Information © FPGA→DACのLVDS I/Fタイミング最適化 高速DAC AD9780を例にしている I0 DATA Q0 I1 Q1 I2 DCLK_IN DATA<15:0> tHLD0 I DAC FF RETIMING AND DEMUX FF tHLD0 Q DAC DSS SAMPLE 1 HLD_DLY DSS SAMPLE 4 SAM DDCI FF SEEK DDSS SMP_DLY CLK CLOCK DISTRIBUTION DCO_P/N Data Sampling Signal (DSS) データを実際にラッチ するタイミングCK 前後にずらせる 36 SAMPLE 3 V1: 296mV V2: –228mV ΔV: –524mV 1 DSS Data Clock データをFPGAから 得るタイミングCK CH1 100mV Analog Devices Proprietary Information © 前後にずらせるので 最適なタイミング でラッチ可能 125ps/DIV 2.12ns A CH1 20GSPS IT 2.5ps/PT 06936-076 SET_DLY 06936-071 DCI_P/N SAMPLE 2 58mV コンバータICのBuilt In Self Test(BIST)機能 を有効に活用する ADコンバータ:AD9251やAD964xなどはビルトイン・セルフ テスト(BIST)機能をもっておりデータ転送品質を確認できる AD 変換 ブロック ランダム ナンバ ジェネレータ 37 FPGA 内部 ADC IC 内部 デジタル ドライバ アキュム レータ データ伝送 SPI I/F BIST Start & Stop Read Analog Devices Proprietary Information © デジタル レシーバ テスト用 プロセッサ アキュム レータ CLR/Read まとめ 信号は反射すること(多重反射も)を理解しておく 「終端」という概念を理解する 差動データ伝送(LVDSなど)をうまく活用する 転送タイミング・マージンは十分に評価する 後編では差動データ伝送に関することをより深く 38 Analog Devices Proprietary Information ©