こんにちは、
LX2160Aの**リファレンス・マニュアル**でSerDes 1レーンの番号付けに矛盾があることに気づきました。
セクション26.1.4(SerDes オプション)、文字を使用する場合、SerDes 1 レーンの番号付けが逆になります: レーン H = 0 -> レーン A = 7。
fdekeers_0-1789391391196.pngfdekeers_0-1789391391196.png
セクション26.4.1.19(SerDes Lane m RX 一般制御レジスタ 1 (LNARGCR1 - LNHRGCR1)) のテキストには、文字番号が増加すると記載されています: Lane A = 0 -> Lane H = 7。
fdekeers_1-1789391514092.pngfdekeers_1-1789391514092.png
汎用制御レジスタ1のレジスタEXT_REC_CLK_SELを設定したいのですが、正しいレーンのアドレスオフセットはこの番号付けに依存します。どちらが正しいか確認してもらえますか?
よろしくお願いいたします。
こんにちは、
この一見矛盾する点は、2つのセクションが異なる「変数」を使用していることを理解することで解消される。
SerDes 1の場合、RM は物理層の観点からレーン番号を割り当てます。
| 手紙 | レーン番号(プロトコル表) |
|---|---|
| H | 0 |
| G | 1 |
| F | 2 |
| E | 3 |
| D | 4 |
| C | 5 |
| B | 6 |
| A | 7 |
これは意図的なものであり、文書に記載されているとおり正しいものです。NXP TSは以前のCASEでこれを明確に確認しています:「SerDes1はレーンの順序が逆です。」LS1046Aに関して同様の疑問が提起された際、LX2160Aにも同じ方式が適用されることが確認された。AN13022 アプリケーションノートも同じH/0 ...A/7列ヘッダーを使用しています。
オフセット式 848h + (a × 100h) では、 レジスタ名の文字インデックス として a 使用します。ここで、A=0、B=1、…、H=7 です。
| Register name | a (文字索引) |
オフセット |
|---|---|---|
| LN A RGCR1 | 0 | 0x848 |
| LN B RGCR1 | 1 | 0x948 |
| LN E RGCR1 | 4 | 0xC48 |
| LN F RGCR1 | 5 | 0xD48 |
| LN H RGCR1 | 7 | 0xF48 |
これはAN13022によって相互に確認されており、そこには正確に「LNmRGCR1(レーンAの場合はオフセット0x0848、レーンBの場合は0x0948、レーンEの場合は0x0C48、レーンFの場合は0x0D48)」と記載されています。 ―すべてA=0…H=7の文字インデックス式と一致している。
LNHRGCR1 、レーンAの場合はLNARGCR1を使用します。848h + (letter_index × 100h)を使用して計算します。ここで、A=0、B=1、…、H=7 です。例えば、レーンH(SerDes 1の最初のレーン、プロトコルテーブルのレーン番号0)でEXT_REC_CLK_SEL設定するには、次のようにします。
848h + 7 × 100h = 0xF48よろしくお願いします。