Eタイル・トランシーバーPHYユーザーガイド

ID 683723
日付 12/09/2021
Public
ドキュメント目次

C. 信号検出アルゴリズム

このセクションでは、信号検出アルゴリズムについて詳しく説明します。例を示して、有効な信号がレシーバーに存在しているかどうかを判別した上で、アダプテーションを使用してリンクを調整し、許容可能なパフォーマンスを達成する方法を説明します。これは、あくまでも一例ですので、実装の具体的な内容は、システムに合わせて変更する必要が生じる場合もあります。

サポートされる物理チャネルは、CEI-28 VSR、CAUI-4チップ - モジュール間接続、およびCEI-56 VSR (PAM4) です。アプリケーションによっては、他の物理チャネルを使用することも可能です。

レシーバーチャネルは、有効な信号が存在するようになった場合は、着信信号に自律的に適合し、ロックする必要があります。「自律的に」とは、ダウンストリーム処理や上位プロトコル層からの支援や情報がないことを意味します。つまり、ベースとなる情報は、トランシーバー自体によって使用できる情報や、トランシーバーを介して使用できる情報のみということです。

無効な信号とは、着信信号が有効になっていない状況です。代表的な例を次に挙げます。

  • モジュールのプラグが外れている
  • モジュールのファイバーが抜かれている
  • ファイバーで信号が受信されない
  • ファイバーで受信した信号が不良

レシーバーのアダプテーションは、トランスミッター・パスを中断せずに完了します。また、PMAアナログリセットは、トランスミッターを中断するため、使用されません。

アダプテーションの結果、BERは許容範囲になります。次に例を示します。

  • CEI-28 VSR: BER 1x10-15
  • CEI-56 VSR: BER 1x10-6

アダプテーションが完了するまでの時間は次のとおりです。

  • 約100ms (NRZの場合)
  • 約4s (PAM4の場合)

アダプテーションは、プロセスを通して低電力モードで動作できるようにする必要があります。信号品質が維持される条件は、ダイ温度の変動が毎分3°Cを超えないことと、継続アダプテーションがイネーブルされていることです。

このプロセスがデッドロックして回復不能な状態になることはありません。

図 152. 信号検出アルゴリズムのフローチャート

Valid信号

信号をValidにするためには、次の両方の条件を満たす必要があります。

  • rx_freqlocked_1ms: rx_is_lockedtodataのフィルタリング済みバージョン。「フィルタリング済み」の意味は、ロックが失われたらすぐにデアサートすること、また rx_is_lockedtodata を連続してアサートし、rx_freqlocked_1ms がアサートする少なくとも1ミリ秒前はデアサートしないことが必要であるということです。
  • アイはOK: Avalon® メモリーマップド・インターフェイスを介したトランシーバーからの読み出しが必要です。また、許容可能なしきい値150 (NRZ) または25 (PAM4) と値を比較します。こうしたユニットは段階的に表現されます。アイのしきい値はアプリケーションに依存するため、システム検証によって判断する必要があります。NRZ/PAM4のアイの高さの読み出し を参照してください。

アルゴリズムの任意の時点で、上述の有効な条件が満たされない場合、アダプテーション完了ステータスはFalseになります。また、1回限りの継続アダプテーションを発行し、継続アダプテーションが停止すると、フローは初期アダプテーション・ステージに戻ります。

初期アダプテーション・ステージ

テストフローの開始時には、信号がなかったり、無効な信号が存在したりする可能性を想定しています。初期アダプテーションが実行されるまでは、確実にロックを達成する方法はありません。そのため、初期アダプテーションのプロセスが繰り返しトリガーされ、その間、上述の定義のとおり有効な信号を待機します。

有効な信号が最初に検出されたときは、アダプテーションが最適でない場合があります。例えば、最初のアダプテーション・プロセス中に信号が現れた場合などです。したがって、2回目の初期アダプテーションが、この最初の検出の後に実行されます。

2回目の初期アダプテーションの後も信号がまだ有効になっていれば、その部分のテストフローは完了です。完了すると、システムレベル、またはダウンストリームのデータパスに対して通知 (信号または割り込み) が行われます。

このステージの主な動作は次の2つです。

  • アイの高さの読み出しによるアイOKのチェック (所要時間: 50µs未満)
  • 初期アダプテーションの開始 (通常、初期アダプテーションを開始してから初期アダプテーションが始動するまでに680μsかかります。ただし、3msかかることもあります)

初期アダプテーションの完了時間は変動します。そのため、ループの終了条件が満たされない場合は、アルゴリズムによって固定のタイミングでループが実行され、新たに初期アダプテーションを40ms (余裕を持たせて選択) ごとにトリガーします。

まれに、多くのトランシーバー・チャネルが初期アダプテーション・ループにあり、その多くがバス上で応答するのに長時間かかる場合、すべてのチャネルへの対応が時間内にできない場合があります。その場合は、ループの完了に時間がかかります。完了した後は、通常どおり続行されます。

この場合の平均完了時間は100msになります。通常は、80msから120msの間です。

PAM4の場合、実測完了時間は、0.5のエフォートの場合、約1.5秒です。

注: 平均完了時間は、信号が存在することを前提としています。信号がない場合は、この平均完了時間は適用されず、完了にはさらに時間がかかる場合があります。

継続的なアダプテーション・ステージ

温度変化 (仕様内) があっても良好なレシーバーのイコライゼーションを維持するために、信号が有効な間は、トラフィックに影響を与えない継続的なアダプテーション・プロセス (継続アダプテーション) が実行されます。

継続アダプテーションは、1回につき約1秒で完了します。また、継続モードでは自動的に繰り返されます。

このモードで信号が除去され、その状態で複数の継続アダプテーション動作を実行すると、レシーバーのイコライゼーションが徐々に悪い状態になります。この状態では、初期アダプテーションを再実行しても回復できず、デッドロックに陥る可能性があります。これは、このアルゴリズムでは回復できません。

これを防ぐために、アルゴリズムにより rx_freqlocked_1ms 信号を監視し、直ちに初期アダプテーション・ステージに戻ります。それにより、初期アダプテーションを発行し、継続アダプテーションを効果的に停止させます。さらに、アイOKのステータスを1秒ごとにポーリングします。基準を満たさなくなると、初期アダプテーション・ステージに戻ります。

このように、多くても1回、または2回の継続アダプテーション動作が、無効な信号に対して実行されます。これだけでは、トランシーバーが不良ステートになることはありません。

内部シリアル・ループバック

内部シリアル・ループバックは、LPMでは使用できません。しかしながら、内部シリアル・ループバックと非内部シリアル・ループバックを切り替えて、毎回適切なアダプテーションを実行できる機能が必要です。

内部シリアル・ループバックは、内部シリアル・ループバックの設定後にRXイコライゼーションのリセット が必要です。このRXイコライゼーション・リセットは、トランスミッターには影響しません。

アダプテーション・アルゴリズムは、内部シリアル・ループバックをコンフィグレーションする前に終了してください。また、内部シリアル・ループバックをディスエーブルして LPMをイネーブルした後に再起動してください。