高速 ADC は GSPS のレンジに進み、FPGA(カスタム ASIC)へのデータ転送を選択するためのインターフェースは JESD204Bプロトコルを採用しています。RF スペクトルを高い周波数レンジでキャプチャするには、広帯域の RF ADC が必要です。より広い帯域幅をキャプチャし、より多くの設定構成可能な SDR(ソフトウェア定義無線)プラットフォームを可能にする、GSPS ADC が求められるのと共に、高速シリアル・インターフェース(この場合はJESD204B)が必要となっています。重要なのは、JESD204B 規格が層構造を持つ仕様であることを理解することです。仕様内の各層には固有の実行機能があります。アプリケーション層は JESD204B リンクの構成とデータ・マッピングが可能です。トランスポート層は、変換サンプルとフレーム化された非スクランブル・オクテットの間のマッピングを行います。スクランブル層は、これらのオクテットをオプションで取得し、スペクトル・ピークを広げることで EMI 効果を減少するために、これらをスクランブル化したり非スクランブル化したりします。スクランブル化はトランスミッタで行われ、非スクランブル化はレシーバーで行われます。データ・リンク層は、オプションでスクランブル化されたオクテットを 10 ビットの文字にコード化する場所です。また、この層は、レーン・アライメントのモニタリングおよび維持のために、制御文字の生成や検出も行います。物理層は、シリアライザ/デシリアライザ(SERDES)層で、ラインのレート速度で文字の送受信を行います。この層には、シリアライザ、ドライバ、レシーバー、クロック&データ再生が含まれます。図 1にJESD204Bの仕様におけるこれらの層配置を示します。仕様をよりよく理解するために各層を詳しく調べることは、ADC サンプルが 8B/10B のシリアル化ワードにどのようにマッピングされるのかを知る上で役に立ちます。
アプリケーション層
アプリケーション層では、特別なユーザ設定と、サンプル・データを代表的な JESD204B 仕様外にマッピングすることが可能です。これにより、インターフェースをより効率的に利用して消費電力削減などの利点を得ることができます。覚えておくべき重要な点は、トランスミッタ(ADC)とレシーバー(FPGA)はどちらもこれらの特別な設定となるよう構成されている必要があることです。データが適切に送信され解釈されるように、レシーバーとトランスミッタは同じ設定とする必要があります。アプリケーション層を一意の方法で設定することは、N'(サンプルあたりの送信ビット数)とは異なるサンプル・サイズでデータを渡す必要がある ADC にとっては利点となり得ます。これによって、レーン・レートを減らし全体的なリンク効率を向上するような形で、複数のサンプルを再パックできます。
トランスポート層
JESD204Bの仕様のトランスポート層を詳しく調べてみましょう。トランスポート層は ADC サンプルを受け取り、情報(パディング)を追加してニブル・グループ(通常 4 ビットの境界)を生成します。この情報は、テール・ビットまたは制御ビットの形となっており、送信されたデータに関する付加情報を提供します。トランスポート層はこれらのニブル・グループをフレームの形に整列します。注意すべき重要な点は、トランスポート層はサンプルを並列データとしてリンク層に送信することです。並列データ・バスの幅は、1 バイトは 8ビット、2 バイトは 16 ビットというように、フレーマのアーキテクチャによって決まります。この時点では、データ・フローはシリアライザには到達していません。
1 つの ADC は 1 つのレーン・リンクにも、複数レーンのリンクにもマップできます。この設定構成可能性は、レーン・レートの制限を満たすために複数レーンを使用することがサンプル・レートによって必要となるような、広帯域 RFアプリケーションで使用される GSPS ADC にとっては特に便利です。複数のコンバータを、同じデバイスの ADC の M 数に応じた複数のレーンにマップすることもできます。ADC は単一のレーン・リンクにマップすることも、レーン数 L からなる複数レーン・リンクにマップすることもできます。場合によっては 1 つの ADC が複数のレーンを必要とすることもあります。これは、与えられたADC の最大レーン・レートによって決まります。例えば、12 ビット 2.5GSPS の AD9625 の場合、レーン・レートの最大値は6.5Gbpsです。つまり、N'が16の場合、合計 8レーンが必要となります。場合によっては、レーン・レートはシステムの FPGAで制限されることもあります。GSPS ADC を RF アプリケーションで使用するユーザにとっては、コストが設計パラメータの 1つであるかもしれません。コストを下げるために、レーン・レートの低い FPGA を使用できます。例えば、14 ビット 1.0GSPSデュアルチャンネルの AD9680 は、最大レーン・レートが12.5Gbps です。AD9680 には 4 つの出力レーンがあり、デシメーションを使用してサンプル・レート、ひいてはレーン・レートを下げるよう設定できます。これには 2 つの目的があります。レーン・レートの低減と特定の RFアプリケーションに向けた帯域幅の選択です。
ここで、JESD204Bのパラメータに話を戻すと、パラメータN'は、JESD204Bのワード・サイズを定めます。コンバータのサンプル分解能は、4 ビットのニブルに分割されます。14 ビットのコンバータは 16 ビットのコンバータと同様、4 ニブルがありますが、12 ビットのコンバータの場合は 3 ニブルです。AD9625 の N'が12 に設定されている場合、必要なレーン数は半減でき、6.5Gbps未満のレーン・レートを維持するために必要なのは 6 レーンとなります。変換サンプル(S)は、4 ビットのニブル境界でJESD204B ワードにマップすることを推奨します。図 2 には、ADC サンプルのシリアル・レーンへのマッピングが示されています。JESD204B で実現可能な数多くのケースに対応できるようパラメータ化されています。
N'パラメータは、ニブルの数を 4 倍すると求まります。分解能が 8 ビット~16 ビットの範囲にあるコンバータで N'を 16 に設定することは、トランスミッタとレシーバーの両方にとって利点となります。これによって、同じトランスミッタとレシーバーが複数のコンバータを使用できるため、システム全体の設計が容易になります。空白のあるニブルには、JESD204B規格で定められているように、制御ビット(CS)またはテール・ビット(図 2 下部で TT と表示)の余地があります。N' = N + CS + T の関係式が満たされていることが必要です。制御ビットがある場合は、変換サイクルごとに LSB の後に追加されます。コンバータ数、フレームあたりのサンプル数、JESD204B のワード・サイズ、レーン数を計算するための最大レーン・レートを使用した後は、フレームあたりの送信オクテット数 F を定めることができます。このパラメータを決めるには、F = (M × S × N')/(8 × L)という式が使用できます。JESD204 のリンク・パラメータについての更に詳しい情報については、リンク・パラメータの詳細が記された参考資料 1 を参照してください。また、4 つのパートからなるオンライン・セミナー・シリーズが、トランスポート層を手始めに JESD204 規格の詳細を解説しています。
トランスポート層は、ADC からのデータを、所定デバイスに対して定義されたリンク設定パラメータに基づいてパックする方法を定めます。これらのパラメータは、初期レーン・アライメント・シーケンス(ILAS)の間に ADCから FPGAに送信されます。これらの設定は、リンク設定パラメータを定義するためにADC と FPGA のレジスタ値を設定する、シリアル・ポート・インターフェース(SPI)を通じて行われます。チェックサムがこれらのパラメータから生成されて送られるため、リンク設定パラメータが正常に受信されたことをレシーバー(FPGA)が検証できます。リンクを通じて送られたパラメータは、レシーバーの設定には使用されません。これらのパラメータは、リンク・パラメータが一致することを検証するためだけに使用されます。エラーが検出された場合、FPGA は、JESD204B の仕様のエラー通知で定義されている割込みによって、エラーを通知します。リンク設定パラメータの詳細については、本稿の末尾にある参考資料 1 を参照してください。
データ・リンク層
データ・リンク層は、並列フレーム化データ(ADC サンプル、制御ビット、テール・ビットを包含)を取り込み、物理層でシリアル化されオプションでスクランブル化できる 8B/10B ワードを出力します。8B/10B スキームでは一定のオーバーヘッドが追加されますが、DC バランスのとれた出力データと組み込みエラー・チェックが供給されます。データ・リンク層は、リンク確立プロセスを通じて JESD204B と同期します。リンクの確立には、次の 3 つの個別のフェーズがあります。
- コード・グループ同期(CGS)
- 初期レーン・アライメント・シーケンス(ILAS)
- ユーザ・データ
コード・グループ同期(CGS)の間、各レシーバー(FPGA)は、クロック&データ再生(CDR)手法を使用して、ADC から送信される入力データ・ストリーム内で K28.5 文字の位置を特定する必要があります。全てのリンク・レーンで特定の数の連続した K28.5 文字が検出されたら、レシーバー・ブロックは SYNC~信号をトランスミッタ・ブロックにデアサートします。JESD204A では、送信ブロックが SYNC~の変化をキャプチャし、所定数のフレーム・クロックの後、ILAS を開始します。JESD204B では、送信ブロックが SYNC~の変化をキャプチャし、次のローカル・マルチフレーム・クロック(LMFC)の境界でILAS を開始します。
ILAS の主な目的は、リンクの全てのレーンを整列すること、リンクのパラメータを検証すること、レシーバーに送られてくる次のデータ・ストリーム内のフレームおよびマルチフレームの境界の場所を確定することです。ILAS の間、データをレシーバーに送信する方法を指定するリンク・パラメータが、レシーバー(FPGA)に送信されます。ILAS は 4 個以上のマルチフレームで構成されています。各マルチフレームの最後の文字 はマルチフレーム・アライメント文字/A/です。1 番目、3 番目、4 番目のマルチフレームは、/R/文字で始まり/A/文字で終了します。アナログ・デバイセズの ADC の場合、それらの間のデータはランプ・データです。レシーバーは各レーンの最後の/A/を使用して、レシーバー内のマルチフレームの最後をアラインします。
2 番目のマルチフレームには、/R/文字と/Q/文字、およびそれに続くリンク・パラメータがあります。/Q/文字はその後のデータがリンク設定パラメータであることを示します。レシーバーが必要とする場合、ILAS には更にマルチフレームを追加することができます。最後の ILAS マルチフレームの最後の/A/文字の後に、ユーザ・データが開始されます。レーン間のスキュー管理が不要なシステムでは、ILAS をバイパスできます。ただし、トランスミッタとレシーバーの両方がこのモードをサポートしていることが必要です。
CGS と ILAS のフェーズが終了すると、トランスミッタはユーザ・データ(ADC からのサンプル)の送信を開始できます。このフェーズでは、ユーザ・データは、トランスミッタ(ADC)で定義されレシーバー(FPGA)に受け継がれたリンク・パラメータに従って、トランスミッタからレシーバーに送られます。このフェーズで、GSPS ADC でデジタル化された RF スペクトルの全帯域幅が送信されて処理されます。レシーバー・ブロックは、受信データを処理し、エラーがないかモニタします。エラーには、不正なランニング・ディスパリティ(8B/10B エラー)、ノット・イン・テーブル(8B/10B エラー)、予期しない制御文字、不正な ILAS、レーン間スキューなどがあります(注:8B/10B は、ランニング・ディスパリティが維持されて、レシーバーのクロック&データ再生回路に対し十分な出力遷移を確保しながらも出力データが DC バランスされるように設計されています)。これらのいずれかのエラーがあると、次のどちらかの方法でトランスミッタに通知されます。
- SYNC~アサーション − エラーごとに再同期(SYNC~をローに引き下げる)が要求されます。
- SYNC~通知 − エラーが発生すると、SYNC~はフレーム・クロックの周期でパルス状にハイになります。
初期レーン・アライメント・シーケンスの間、データ・リンク層は、レシーバーのレーンのアライメントを受け持ちます。レシーバーのレーンのアライメントは、/A/文字を配置することで行います。JESD204A および B の仕様では、/A/文字は少なくとも 17 オクテットごとに区切られている必要があります。これによって、大きなシステム・スキューの影響を軽減できます。JESD204Aおよび Bのシステムでは、スキューは次の 3 つの状況で定義されます。
- 1 つのトランスミッタ・ブロックと 1 つのレシーバー・ブロック
- 複数のトランスミッタ・ブロックと 1 つのレシーバー・ブロック
- 1 つのトランスミッタ・ブロックと複数のレシーバー・ブロック
ユーザ・データ・フェーズに近づくと、データ・リンク層の文字置換によってフレームとレーンのアライメントをモニタでき、必要に応じて修正できます。文字置換は、フレーム境界とマルチフレーム境界のどちらでも実行できます。フレームベースの文字置換とマルチフレームベースの文字置換の 2 つの場合があります。フレームベースの文字置換では、所定レーンのフレームの最後の文字が直前のフレームの最後の文字と同じ場合、トランスミッタはその文字を/F/文字に置き換えます。これは、スクランブルがイネーブルされ直前のフレームの最後の文字が0xFC である場合にも行われます。マルチフレームベースの文字置換では、所定レーンのマルチフレームの最後の文字が直前のフレームの最後の文字と同じ場合、トランスミッタはその文字を/A/文字に置き換えます。この場合、スクランブルがイネーブルされ直前のマルチフレームが 0x7C である場合にも文字置換が行われます。CGS、ILAS、ユーザ・データ・フェーズ、および文字置換の例を図 3 に示します。
レシーバーの文字置換においては、レシーバーは、トランスミッタで行われることと全く逆のことを行う必要があります。/F/文字が検出された場合、直前のフレームの最後の文字に置き換えられます。/A/文字が検出された場合は、直前のマルチフレームの最後の文字に置き換えられます。スクランブルがイネーブルされている場合、/F/文字は0xFCに置き換えられ、/A/文字は0x7Cに置き換えられます。レシーバーがエラーを 2 つ続けて検出した場合、レシーバーは、レーンを再度アラインすることができます。ただし、この操作が行われるとデータは破損します。表 1 に、JESD204 の制御文字の簡単なリストを示します。制御文字の詳細については、参考資料 3を参照してください。
制御文字 | 制御記号 | 8 ビット値 | 10 ビット値、RD = −1 | 10 ビット値、RD = +1 | 説明 |
/R/ | K28.0 | 000 11100 | 001111 0100 | 110000 1011 | マルチフレームの開始 |
/A/ | K28.3 | 011 11100 | 001111 0011 | 110000 1100 | レーン・アライメント |
/Q/ | K28.4 | 100 11100 | 001111 0010 | 110000 1101 | リンク構成データの開始 |
/K/ | K28.5 | 101 11100 | 001111 1010 | 110000 0101 | グループ同期 |
/F/ | K28.7 | 111 11100 | 001111 1000 | 110000 0111 | フレーム・アライメント |
オプションでデータをスクランブルできますが、スクランブルは最初のオクテットが ILASの後に続くまでは開始されない点に注意しておくことが重要です。つまり、CGSとILASはスクランブルされません。スクランブルは、トランスミッタとレシーバー間の高速シリアル・レーンでのスペクトル・ピーク・エミッションを減少することを目的に、オプションで実行できます。このことは、一部のシステム設計において、特定のデータ・パターンが与えられたシステムでの動作周波数に有害なスペクトルを生成する可能性がある場合に、利点となる場合があります。スクランブル・ブロックは、1 + x14 + x15という多項式で表される自己同期スクランブル・パターンを使用します(図 4 のブロック図を参照)。データは、8B/10B エンコーダに先立ってスクランブルされ、デコード後にレシーバーでスクランブル解除されます。スクランブル・パターンは自己同期なので、入出力の2 つのシフト・レジスタが同じ初期設定値に設定されていてはなりません。同じ初期設定の場合は、スクランブルが機能しません。スクランブル解除は、常に 2 オクテット分のデータ後にスクランブラをキャッチ・アップし自己同期するような形で行われます。全てのシステムが必ずしもデータ・ストリームのスクランブルを必要とするわけではないので、この層をバイパスする機能があることが必要です。
物理層
物理層でデータがシリアル化され、8B/10B でコード化されたデータはライン・レート速度で送受信されます。物理層には、シリアライザ/デシリアライザ(SERDES)ブロック、ドライバ、レシーバー、CDR があります。これらのブロックは、データ転送レートが非常に高いため、多くの場合カスタム・セルを使用して設計されます。JESD204 および JESD204A はどちらも最大3.125Gbps の速度に対応します。JESD204B 仕様は、次の 3 通りの速度グレードに対応します。速度グレード 1 は、最大3.125Gbps に対応し、OIF-SxI5-0.10 仕様に基づいています。速度グレード 2 は、最大 6.375Gbps に対応し、CEI-6G-SR 仕様に基づいています。3 番目の速度グレードは、最大 12.5Gbps に対応し、CEI-11G-SR 仕様に基づいています。表 2 に、この 3 つの速度グレードごとに、物理層の仕様の一部の概略を示します。
パラメータ | OIF-Sx15-01.0 | CEI-6G-SR | CEI-11G-SR |
ライン・レート(Gbps) | ≤3.125 | ≤6.375 | ≤12.5 |
出力差動電圧(mVppd) | 500(最小値) 1000(最大値) |
400(最小値) 750(最大値) |
360(最小値) 770(最大値) |
出力の立上がり/立下がり時間(ps) | >50 | >30 | >24 |
出力の合計ジッタ(pp UI) | 0.35 | 0.30 | 0.30 |
表 2 には、JESD204B 規格の物理層の信号のライン・レート、差動電圧、立上がり/立下がり時間、合計ジッタが、各速度グレードに従って示されています。速度グレードが高くなると、高いスルー・レートを維持しやすくするために信号振幅は減少します。そのため、開いたデータ・アイが維持されて適切な信号伝送を行うことができます。こうした高速信号の立上がりエッジと立下がりエッジは高速であるため、ボード・レベルの設計に厳しい制約が生じます。広帯域 RFシステムを設計する者にとって、このことは既知であるはずです。しかし、高速デジタルでの 1 つの主要な相違点は、帯域幅が広いことです。代表的なRF システムの信号帯域幅は最大で動作 RF 周波数の 10%程度です。こうした高速シリアル・レーン・レートでは、システム設計で考慮すべき帯域幅は、通常、レーン・レートの3倍から5倍です。レーン・レートが 5Gbps であれば、信号の帯域幅は7.5GHz~12.5GHz となります。これほどの帯域幅では、信号の完全性を適切に維持することと、信号の完全性の測定方法を理解することが重要です。
シリアル差動インターフェースでは、アイ・ダイアグラムが信号の完全性の一般的な尺度となります。図 5 に、最大 3.125Gbpsで動作する JESD204 のトランスミッタ・アイ・ダイアグラム・マスクを示します。表 3 には、タイミング、電圧レベル、インピーダンス、リターン損失の詳細を示します。信号は、常に、図のベージュの部分には入らずに白い領域になくてはなりません。この表は、トランスミッタがアイ・ダイアグラムを満たすための条件を定めています。JESD204B 仕様の他の 2 つの速度グレードについても同様のアイ・ダイアグラム・マスクがあります。これらの詳細は、CEI-6G-SR および CEI-11G-SR の物理層仕様に定められています。アイ・ダイアグラム・マスクの詳細については、物理層測定について説明した参考資料 2 を参照してください。
パラメータ | 値 | 単位 |
XT1 | 0.175 | UI |
XT2 | 0.45 | UI |
YT1 | 0.50 | UI |
YT | 0.25 | UI |
DJ | 0.17 | pp UI |
TJ | 0.35 | pp UI |
まとめ
JESD204Bを採用する設計の数が日々増加し、通信、計測器、防衛&宇宙など多くの市場分野にわたっています。これらの市場分野を広帯域 RF設計を採用するシステムの方向に推し進める原動力は GSPS ADC であり、それには JESD204B シリアル・インターフェスが必要となります。JESD204Bのシリアライズ/デシリアライズを行う機能を持つトランシーバーを備えた FPGA がその数を増しつつあり、それと共に価格も下がっています。JESD204Bインターフェースの利用が一般的になるのに伴って、JESD204B仕様の各層について理解することが重要となっています。ここで説明したように、仕様内の各層にはそれぞれ固有の実行機能があります。設定とデータ・マッピングはアプリケーション層の機能ですが、トランスポート層では変換サンプルと非スクランブル・オクテットとのマッピングを行います。スクランブルは、スペクトル・ピークを拡散させて EMI の影響を低減するために行うこともできます。データ・リンク層では、オプションでスクランブルされたオクテットが 8B/10B 文字にコード化され、また、レーン・アライメントのモニタリングや維持のために制御文字の検出や生成が行われます。データの送受信を行う物理層は、ドライバ、レシーバー、クロック&データ再生回路で構成されています。本稿では、システム設計者が次の設計において JESD204B を取り込むための準備ができるよう、JESD204B の各層の理解を深めることを目的としました。