infiniium オシロスコープ 高速シリアルデータ解析オプション · first order...
TRANSCRIPT
Infiniiumオシロスコープ高速シリアルデータ解析オプション
(High Speed Serial Data Analysis)使い方マニュアル
2010年3月アジレントテクノロジー株式会社
アプリケーションエンジニアリング部
お願い
下記の PDFの URLのみ、2014年 8月以降無効となります。
http://cp.literature.agilent.com/litweb/pdf/xxxxxx.pdf
新しい URLに読み替えて、ご利用下さい。
http://literature.cdn.keysight.com/litweb/pdf/xxxxxx.pdf
2
Agilent High Speed Serial Data Analysis(SDA)とは?
クロック・リカバリ機能アイパターン作成機能マスク・アンフォルド機能 8b10bデコード機能
を備えたシリアルのための解析ソフトです。
3
SDAの起動
オシロのメニュー画面からAnalyze>Serial Data…を選択。
4
Wizardを使って設定をする
Serial Data Wizard…をクリックしてWizardに従って設定します。
手動で直接設定する場合。慣れてきたら、こちらでも。
Nextをクリック。
5
Clock Recoveryの方式と対象を選択する
どの波形からクロックを計算させるか決める。
クロック・リカバリーの方式を選択する。
クロック・リカバリー方式一覧
6
PCI Express (1.0a)
FIbre Channel
FlexRay Receiver
FlexRay Transmitter
Embedded Clock。データにクロックが埋め込まれている。評価したい(アイにしたい)波形自身からクロックを抽出する場合。
評価したい(アイにしたい)波形Aとは別に、クロックまたはクロック相当の波形Bがあり、その波形Bからクロックを計算する場合。
規格で決められた特殊なクロックの計算方式
Clock Recoveryの方式の説明
Constant Frequency・・・最も簡単でオーソドックスな方式。データから平均してクロックを計算。メモリ長の制限なし。USB2.0など。
First Order PLL・・・Constantに対し、1次PLLのフィルタをかけたクロックの計算方式。高速な変動(ジッタ)に追随しすぎないようにした方式。かけるフィルタ帯域に依存して、ある程度のメモリ長が必要。
Second Order PLL・・・ Constantに対し2次PLLのフィルタをかけたクロックの計算方式。かけるフィルタ帯域に依存して、ある程度のメモリ長が必要。
Explicit Clock・・・波形Bが決めたスレッシュを通過した瞬間をクロック・タイミングとする。立ち上がりエッジ、立ち下りエッジ、両エッジに同期可能。また逓倍もできる。LVDS, DDR, XDR, HDMI, DVIなど。
Explicit Clock First Order・・・Explicit Clockに対し、1次のPLLフィルタをかける。Explicit Clock Second Order・・・Explicit Clockに対し、2次のPLLフィルタをかける。
p16を見ると理解しやすい
7
各Clock Recoveryの設定画面
Constant Fequency
設定の説明はp8
First Order PLL
Second Order PLL
波形のデータレート
PLLのLoop帯域幅。3dB落ちの周波数。直接帯域を入力するか、データレートから割る係数を入力する。デフォルトは1667。
Explicit Clock
どのチャネルからクロックを計算するか設定
逓倍する場合は何逓倍か入力
立ち上がりエッジか、立ち下りエッジか、両エッジかを選択
f
f
ダンピングファクタで形状が変わる
8
Wizardの続き(Constant Fequencyで)Data Rateの入力
Semi-AutomaticとManualの場合、Data Rateを入力。
Fully-AutomaticはData Rateの検出を完全にオシロに任せる方法。データ次第では間違えることも。3.00Gbpsなのに、1.50Gbpsと計算するかもしれない。
Semi-Automaticはこの近辺でData Rateを探しなさいという方法。例えば3.00Gbpsと指定して、結果は3.011Gbpsかもしれない。推奨。
Manualは完全に指定する場合。実際の波形が3.011Gbpsでも、3.00Gbpsと指定すると、オシロは3.00Gbpsで計算する。
9
スレッショルドの設定
オシロがクロック抽出対象の波形からクロックを計算する際の基準電圧を決める。基準電圧が変わると結果が異なるので、スレッシュの設定は重要。
クロック抽出対象波形の振幅の50%の電圧、あるいは特定の電圧を指定する。
Threshold Levelに基準電圧を指定する。Hysteresisについてはp18を参照。
10
TIEジッタの設定
アイパターンだけでなく、同時にジッタ(TIE)の結果も表示したい場合はここをチェック。
TIE(Time Interval Error)ジッタとはオシロが計算した理想クロック(recovered clock)のエッジと実際の波形のエッジのズレの事。
11
アイパターンの設定
アイパターン表示する場合はチェック
カラーグレード表示する場合はチェック。カラーグレードは色合いで頻度を表示する方法。
通常はBoth(左)。その他に遷移がなかったbitだけのアイ(中央)、遷移があったbitだけのアイ(右)を描かせることができる。
12
メモリ長などの設定
メモリ長、サンプリングレート、表示時間スケールの設定。通常デフォルトのままで良い。
設定完了。
13
結果
p10でTIEをOnにした場合、Measurementタブ内にTIE測定結果が表示される。
アイパターンの完成。オシロの計算した理想クロックのタイミングで、各bitを重ね合わせた結果です。
計算したクロックのエッジのタイミング
14
Wizardを使わない場合
Analyze>Serial Data…のSDAメニュー画面を呼び出します。
使用するClock recoveryのアルゴリズムを選択。各アルゴリズムについてはp6, 7を参考。
表示するアイはBothか、De-emphasisか、Transitionかを選択。通常はBoth。p11参照。
Clock Recoveryする基準の電圧を設定する。各設定方式についてはp17~19を参照。
アイパターンを表示する
オシロが計算したクロックを表示する。p16参照。
デコード表示する。p20参照。
15
Display Clock
アイパターン表示の後にDisplay Clockすると、カラーグレードのままなので、元に戻す必要がある。オシロのメニュー画面から、Setup>Display…を選択。Color GradeがONになっているので、チェックを外す。代わりにConnect Dotsをチェックする。もしInfinite persistenceがONなら、それも外す。
Color Gradeをuncheck。Connect Dotsをcheck。Infinite Persistenceをuncheck。
16
Display Clock(続き)
Contantの場合Dataから平均してClockを計算している。このようにData自身からClockを計算している。
黄色の方形波がオシロの計算したクロックです。このクロックの立ち上がりエッジが、アイを描く際の重ね合わせるタイミングになります。
Explicit Clockの場合。LVDSの例。緑色の波形(CLK)の立ち上がりエッジを7逓倍している。
緑色の波形(CLK)から計算したクロックで、黄色の波形(DATA)のアイを描いたり、ジッタを測定する。
Explicit Clockの場合。DDRの例。緑色の波形(DQS)の両エッジがクロック・タイミングになっている。緑色の波形(DQS)から計算したクロックで、紫色の波形(DQ)のアイを描く。
17
Thresholdsの設定
スレッシュの定義は5種類ある。波形振幅の相対値から定義する 10%-50%-90%, 20%-50%-80%とCustom%
電圧の絶対値から定義する Custom Level (Low,Mid,Up)とCustom Level/Hysteresis
20%-50%-80% Custom %
10%-50%-90%と20%-50%-90%はいずれも波形の50%を基準電圧とする。
50%
Middleに指定したい%を入力。
70%
70%の例
18
Thresholdsの設定 (続き)
Custom Level/Hysteresisは、Threshold levelが基準電圧となる。Hysteresisは、ここで設定した値以上のHysteresisを持ったエッジしか考慮しない。
Custom Levels(Low,Mid,Up)は、Middle levelが基準電圧となる。LowとUpperは、これらを通過したエッジしか考慮しない。
Threshold level
Hysteresis
考慮しない 考慮する
Middle level
考慮しない 考慮する
Lower level
Upper level
19
Thresholdsの設定 (続き)
Upper=1V, Middle=0V, Lower=-1Vの例
Upper=1V, Middle=500mV, Lower=-1Vの例
500mV
500mVを通過した所をクロックにしている。
1V
0V
-1V
1Vを通過しないから考慮しない
0Vを通過した所をクロックにしている
20
Decode機能を使う
Agilent SDAのデコード機能は8b10bコーディングを採用している波形をシンボル表示する。
Display Decodeにチェックを入れる
Protocolを選択する。汎用8b10bならGeneric 8b/10bを選択。
21
Decode機能を使う(続き)
SetupをクリックするとSearch設定画面に
SDAの8b10bデコード機能には検索およびトリガ機能も備わっています。
シンボルの表示形式を選択できる
Enable Searchingにチェックを入れると
22
Decode機能を使う(続き)
■Enable Searchingだけにチェック:波形を止めたあと、設定内容で検索。
■Enable SearchingとTrigger On
Searchにチェック:設定内容でトリガがかかる。
■さらにStop On Triggerにチェック:トリガがかかったら、オシロを止める。
最大連続した4つのシンボルで検索およびトリガが可能。
最大連続した4つのシンボルを設定可能。
検索あるいはトリガの内容をここから選択。左側がDコード、右側がKコード。右下のInvalid Codesとは存在しないはずのcodeの事。
23
Decode機能を使う(続き)
例1: D10.2 > D17.4 を検索(またはトリガ) 例2: Invalid codeでトリガ
24
Mask Test と Mask Unfold 機能
アイパターンに対しマスクテストを行う事ができます。Analyze>Mask Test…あるいは Analyze>Serial Data…のSDAメニュー画面から“Mask Test”をクリック。
25
Mask Test と Mask Unfold 機能(続き)
Enable Mask Testをチェックする。
テストしたいマスクをロードする(.mskファイル)。アプリの自動評価ソフトをご購入頂いた場合、アプリのマスクファイルが ¥¥C¥scope¥appsの各アプリフォルダ内に入っている。
マスクを自作したい場合は、Demo Maskフォルダ内のマスクをnotepadで開き、参照しながら作ってみて下さい。分からない場合はお問い合わせ下さい。
マスクを選択して、Load。
Mask違反があったらオシロを止めたい場合は、ここにチェックを入れます。
いつまでマスクテストを走らせるか?・Forever:永遠に。止める場合は手動で。・Waveforms:何回取り込みたいかを決める場合。・Unit Intervals:何UIテストしたいか決めたい場合。・Time:時間で指定したい場合。
通常はForeverにし、Stop on Failureにチェックを入れます。
26
Mask Test と Mask Unfold 機能
マスクをロードしたら、テストを始めます。オシロを止めて、一旦clear displayを押します。オシロ画面右下のStartボタンを押します。
(注)このstartボタンでなく、単にオシロを走らせてるだけではマスクテストはしていません。
27
Mask Test と Mask Unfold 機能
マスク違反発生
波形を補足した回数:Total waveforms→ 9回全部で何UIテストしたか:Total UI→ 72k UI
その中でマスクFailしたのは:Failed UI→ 6 UI
Mask Failしてオシロが止まったら、Unfold Real Time Eye…をクリックします。
28
Mask Test と Mask Unfold 機能
この画面が出ますので、”Position to first failure”をクリックし、Closeでこの画面を消します。
Navigationタブ内の ボタンをクリックすると、Mask Failした箇所に次々と移ります。
Restore Original Maskで一度だけアイパターンに戻す事が可能です。ただしその後再びUnfoldはできません。
29
Mask Test と Mask Unfold 機能
Mask Unfold機能と8b10bデコード機能を組み合わせることも可能です。(Unfoldした後に、SDAメニュー画面でDisplay decodeにチェックを入れます)どういうシンボルの時、波形が違反しやすいかチェックできます。