要約
このアプリケーションノートは高速DA変換器(DAC)のセットアップおよびホールド時間を定義し、その正しい意味を明らかにします。多くの場合、高速DACではこれらのパラメータを「極性」付の値として仕様化しているため、データ遷移に関してその解釈には難しいものがあります。この記事で提示するアプリケーションはこの難問の解消に役立ちます。
はじめに
高速ディジタル-アナログ変換器(DAC)のディジタルタイミング要件を満たすことは最高の性能を得るために重要です。クロック周波数が高くなるに従い、データインタフェースのセットアップおよびホールド時間はシステム設計者にとって重大な関心事になります。このアプリケーションノートの目標はマキシムの高性能変換器ソリューションに関わるセットアップおよびホールド時間を完全に説明することです。
セットアップおよびホールド時間の定義
セットアップ時間(tS)はDACのクロック遷移に対してデータが有効なロジックレベルになければならない時点を規定します。他方、ホールド時間(tH)はデバイスによってデータが捕捉またはサンプルされた後でデータが変化してもよい時点を規定します。図1はクロック信号の立上りエッジを基準としたセットアップおよびホールド時間を示しています。個々のデバイスのクロック信号のアクティブエッジは立上り/立下りエッジであるか、またはユーザ選択可能ですが、補間および変調用のCMOS入力、デュアルDAの16ビット、500MspsのMAX5895の場合はユーザ選択可能です。
図1. クロック信号の立上りエッジを基準としたセットアップおよびホールド時間。
CMOS技術の設計によるディジタル回路は通常、電源レイルの中間電圧でスイッチします。したがって、時間基準マーカーは信号エッジの中点に位置しています。図1の波形位置はこのセットアップおよびホールド時間の標準的な状態を示しています。この設定の場合のパラメータは両方とも値が正になっています。セットアップまたはホールド時間の規定値が負の場合は混乱が起こります。
600Msps、16ビットDACのMAX5891はこの中位状態のケーススタディとして良い実例になります。このセットアップ時間は-1.5nsでホールド時間は2.6nsです。図2はMAX5891の最小セットアップ時間を示しています。実際には、データの遷移は捕捉用クロックが遷移した後で起こります。図3には同じデバイスの最小ホールド時間が示されています。
図2. MAX5891の最小セットアップ時間。
図3. MAX5891の最小ホールド時間。
これらのタイミング要件を満たすためにはデータソースの伝播遅延とジッタの仕様を解析する必要があります。伝播遅延はクロックの正しいタイミング要件を決定し、他方、ジッタの仕様によって得られるマージンが決まります。この関係を説明するために、伝播遅延が1.5nsのロジックゲートを考えてみましょう。ロジックゲートと同じクロック信号を用いると、図2に示すようにMAX5891はセットアップ時間の要件をちょうど満たします。この状態では温度ドリフト、クロックまたはデータジッタ、またはデバイスの個別ばらつきに対してマージンがありません。
セットアップおよびホールド時間を最適化するために使用する技術には2つあり、それはクロックを遅延させること、およびトレース長を合わせることです。データソースとDACの間にクロック遅延を加えると前例の伝播遅延問題を解決するために役立ちます。ディジタルソースとDACの入力端子の間のトレース長を調整すると、ジッタとドリフトの影響が個別ビットに及んで、次のクロックサイクルに影響することを防ぐことができます。この議論では複数のデータラインからなる高速ディジタルデータバスについて考えていることを忘れないでください。タイミング仕様はこれらのビットに対してすべて同時に満たされなければなりません。
結論
高周波データのクロッキングに関しては多くの課題があります。これらの課題を解決するためには回路設計またはシステムレベルの技術者が担当している信号チェーン内のあらゆるデバイスの仕様を完全に理解していることが必要です。チェーン内のどのようなデバイスに対しても要件を満たさないことがあると、システム性能が低下する結果となります。性能が損なわれると、それはDAC出力精度が低下するか、またはクロック周波数が制限されることになります。
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}