工具与软件:
您好、TI 团队:
Q1: 您能否提供 Thold (align)/Tsetup (align)?的最大规格

Q2:您能否在波形下面提供时序规格?

此致!
王静坤
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好、TI 团队:
Q1: 您能否提供 Thold (align)/Tsetup (align)?的最大规格

Q2:您能否在波形下面提供时序规格?

此致!
王静坤
尊敬的 Wang:
1:Thold 和 Tsetup 的值是通过最低要求定义的。 最大可能值将取决于一些外部因素、因此无法定义。 只要这些值处于数据表第7.6节中列出的典型值2ns 的合理范围内、器件就应该能够正常运行。
2:您连接的波形显示了启用内部延迟时的 RGMII 发送时序行为。 出于上述相同原因、无法使用最大值来定义此处列出的变量 Thold (shift)和 Tsetup (shift)、但 Tsetup (shift)的最小值必须为2ns。
此致、
Vivaan
您好、Vivaan、
现在 MAC 设置为 "Internal Delay Disabled"(禁用内部延迟)。
TXCLK 为25MHz、 Tcys=40ns
以下是暂停波形:

下面是 Tsetup 波形:

"你以为你赢了吗?
问题3: 这些引脚(TX_CLK、TX_CTRL、TX_D[3:0]、RX_D[3:0]、RX_CLK、RX_CTRL)可接受的最大电压是多少?
VDDMAC+0.3V?

此时、VDDMAC 的电压为3.3V。
TX_CLK 具有较大的过冲和下冲。 因此、我们调整 SOC 的寄存器、以更改驱动强度以满足 Vmax<3.6V 和 Vmin>-0.3V 的要求。
但目前发生的问题是封装丢失。
如果我们增加 TX_CLK 的驱动强度、问题就会 消失。 但会发生过冲和下冲。
问题4: 根据 RGMII 输入时序、我们无法找到丢失封装的原因。
以下测试结果均满足 RGMII 输入时序要求。
Tcys=40ns
Thold=24.662ns
Tsetup= 14.851ns
您能告诉我们如何确认问题吗?
问题5: 您能给我们一些建议吗?
此致!
王京坤
尊敬的 Wang:
从波形来看、我们可以看到 Thold 和 Tsetup 的值均远远超出了2ns 的典型值。 这些值是合理的并符合规格。
正如您指出的那样、MAC 接口上的最大电压应该为 VDDMAC + 0.3。 您是否能够通过探测引脚上的确切电压来获得 VDDMAC 的3.3V 值? 如果不是、我建议您首先测量引脚、以排除 VDDMAC 可能略高于3.3V 的可能性。 VDDMAC 的绝对最大值和最小值(可在数据表的第7.3节中看到)分别为2.97V 和3.63V。 在这种情况下、电压过冲应在要求的规格范围内。
此外、您为测量电压过冲提供的波形看起来可能有一些混叠。 我还建议尝试获得更干净的波形信号以获得更准确的读数
此致、
Vivaan
您好、Vivaan、
您能否共享这两种情况下 TX 上时钟和数据信号的波形比较(无论是否调整电压过冲以满足3.6V 要求)。
-->请参考以下文档:"RGMII_LVS-20240906.xlsx" Input_Timing_Waveform
e2e.ti.com/.../RGMII_5F00_Input_5F00_Timing_5F00_Waveform_2D00_20240906.xlsx
将 TX_CLK 引脚设置从 x6驱动强度更改为较低、封装损耗率将随之提高:
6x 驱动器长度: 发送1034个数据包、接收1034个数据包、丢失0%
4x 驱动器长度: 发送1035个数据包、接收1035个数据包、丢失0%数据包
2倍驱动器长度: 传输1034个数据包、接收993个数据包、3%数据包丢失
1个驱动器长度: 传输965个数据包、接收0个数据包、100% 数据包丢失
您如何在降低驱动强度时诊断数据包丢失?
下面是测试设置。 测试期间主器件向从器件 ping。

SoC 可以监测发送和接收了多少个数据包。

此致!
王京坤
尊敬的 Wang:
我建议通过写入寄存器0x0000 = 0x6100来在主器件侧设置 MII 环回。 这样我们就能了解到数据包丢失是发生在 MII 接口还是更下游。 如果 MII 环回显示没有数据包丢失、您也可以尝试反向环 回以进一步隔离数据包丢失。 有关环回的更多信息、请参阅数据表的第8.3.1.5节。
我还想根据下表、确保将 MAC 配置为在 PHY 处于对齐模式时启用内部延迟、反之亦然。 这是满足 RGMII 时序限制的重要一步。

尊敬的 Wang:
感谢您提供这些信息。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5433390 #5433390"]寄存器(0x063C、0x063D、0x063E)是否计数以下注释的数据?[/QUOT]我可以在此处重新创建测试设置、根据我能够测量的内容、这些寄存器看起来附属于 MDI 侧、而不是 MAC。 是否可以通过将寄存器0x0000设置为0x6100来设置 MII 环回? 启用该环回后、MDI 侧不应看到任何数据包、因此寄存器只读为0x0000。 在测试环回时、MDI 侧是否连接到任何东西?
我还想确保将 MAC 配置为在 PHY 处于对齐模式时启用内部延迟
还请分享 MAC 和 PHY 使用的配置。 (移位或对齐)
此致、
Vivaan
您好、Vivaan、
我可以在此处重新创建测试设置、根据我能够测量的结果、这些寄存器似乎附属于 MDI 端、而不是 MAC。 是否可以通过将寄存器0x0000设置为0x6100来设置 MII 环回? 启用该环回后、MDI 侧不应看到任何数据包、因此寄存器只读为0x0000。 在测试环回时、MDI 侧是否连接到任何东西? [报价]1) 1)以下是我的测试步骤:
1.配置主机和从机 IP;
2.配置环回: phytool.sh 写入0x0000 0x6100
phytool.sh 写入0x0619 0x10043.读取寄存器: 0x063C、0x063D、0x063E、 确保值为0x0000
4. ping 开始;
2) 2)在测试环回时、MDI 侧是否连接到任何东西?
-->是的。 以下是测试设置:
3)。
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5435004 #5435004"]我还希望确保将 MAC 配置为在 PHY 处于对齐模式时启用内部延迟还请分享 MAC 和 PHY 使用的配置。 (移位或对齐)
[报价]-->我们正在确认。 我稍后会向您分享确认结果。
4) 4)与上述环回测试设置一样: 寄存器(0x063C、0x063D、0x063E)是否会对以下注释的数据进行计数?
此致!
王京坤
尊敬的 Wang:
寄存器0x063C、 0x063D 和0x063E 似乎计算 MDI 侧的数据流、而不是 MAC。 因此、它不会对回复中突出显示的注释中的数据包进行计数、而是对与从 PHY 相连的另一侧进行计数。 我可以在这里确认设置。 我正在尝试创建一个测试、通过该测试可以测量回送中的数据包数量、从而进一步隔离数据包丢失情况。 我会在周一的 EOD 回复结果。
此致、
Vivaan
尊敬的 Wang:
在数据表中提到寄存器在 MAC RX 引脚上读取的数据、但通过内部测试、我们已确定情况并非如此、我们将很快修复数据表。 但是、我尝试了执行数字环回、该环回使用 MAC RX 引脚的正确信息填充寄存器。 我建议尝试运行数字环回并检查这些寄存器、以查看传输的数据包数量是否与接收的数据包数量以及寄存器值相匹配。 这应该有助于我们缩小数据路径中发生数据包丢失的位置。
如果我们不连接从设备、它将无法进行 xMII 环回测试。
这些环回不需要 MDI 侧、因此它应该在未连接从器件的情况下进行环回。 您能详细说明一下这一点以及 MAC/PHY 的移位/对齐模式吗?
此致、
Vivaan
您好、Vivaan、
数字环回测试详细步骤如下:
1.读回 0x063C、0x063D、0x063E;
2. 写入0x0016 0x0104
写入0x0619 0x1555
写入0x0624 0x55BF
3. 读回 0x063C、0x063D 、0x063E ;
对吗?
如何确认封装损耗在何处?
正如您所解释的、我不知道如何进行 xMII 环回测试。 您能给我们详细的设置吗? 哪些寄存器用于检查传入数据?
这些环回不需要 MDI 侧、因此应在未连接从机的情况下执行环回。 能否详细说明这一点以及 MAC/PHY 的移位/对齐模式?[/QUOT]我不知道如何在没有从器件的情况下执行 xMII 环回测试。 您能告诉我 xMII 环回测试步骤吗?
此致!
王京坤
尊敬的 Wang:
我认为我们不需要通过寄存器写入来启用数据生成器。 我们可以按照以下步骤操作。 确保 MAC 此时没有主动传输数据包。
1. 按照这个顺序读取0x612、0x613、0x614。 这会清除寄存器0x063C、0x063D 、0x063E 。
2. 读回 0x063C、0x063D、0x063E;确保其读数为0
3.将寄存器0x0016写入0x0104。 这将启用数字环回。
4.从 MAC 向 PHY 发送特定数量的数据包。 这些数据包通过数字块、然后在 MAC 处路由和接收
5、 读回 0x063C、0x063D、0x063E。 如果未发生数据包丢失、则这些寄存器中的值应与 MAC 发送/接收的数据包数量相同
针对不同的驱动器优势执行上述步骤应该可以为我们提供更多信息。
由于数据包计数器不适用于 xMII 环回、因此让我们尝试执行上述数字环回以缩小问题范围。
此致、
Vivaan
尊敬的 Wang:
寄存器似乎记录了您发送的图片中数字块附近的数据。 由此、我们现在知道正在发送的数据已被 PHY 正确接收。 我认为丢包出现在到 MAC 的 RX 路径上
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5400579 #5400579"]rgmII_lss-20240906.xlsx Input_Timing_Waveform探测进入 MAC 接口的 RX 引脚(如之前提供的波形)对于验证 RX 引脚上的活动是否符合预期也很有用。
在编辑驱动强度时、除了来自 MAC 的 TX_CLK 之外、是否有任何其他参数被更改或影响? 修改此位应该只影响从 MAC 进行的传输、PHY 能够检测发送的所有数据包、因此该操作似乎没有问题。 数据包没有通过返回路径中的某个位置、这也是我认为探测 RX 数据/时钟引脚是个好主意的原因。
我建议使用链路伙伴向 PHY 发送数据包流、然后将数据包发送到 MAC。 在此期间、可以探测 RX 引脚、并可以读取寄存器0x063C-0x063E。 如果所有数据都存在于寄存器中、并且波形都在参数范围内、但 MAC 仍然没有接收到该数据、我们可以开始查看布局文件来调试潜在的问题。 S
此致、
Vivaan
您好、Vivaan、
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5458200 #5458200"]像之前提供的波形一样、探测 RX 引脚连接到 MAC 接口也有助于验证 RX 引脚上的活动是否符合预期。 [报价]
-->王:请参考文件:RGMII_RGMII_RGMII_ Output_Timing_Waveform-20241012.xlsx
e2e.ti.com/.../RGMII_5F00_Output_5F00_Timing_5F00_Waveform_2D00_20241012.xlsx
编辑驱动器强度时、除来自 MAC 的 TX_CLK 之外、是否有任何其他参数被更改或受到影响? 修改此位应该只影响从 MAC 进行的传输、PHY 能够检测发送的所有数据包、因此该操作似乎没有问题。 在返回路径中的某个位置数据包没有通过、这也是我认为探测 RX 数据/时钟引脚是个好主意的原因。
-->王: 我只改变了 TX_CLK 的驱动强度。 其他参数未更改。
尽管数字环回测试现在表明 RX 路径中发生了数据包丢失。
但现在我们发现有两种对策可以解决这个问题:
对策_1 : 增加驱动强度, 但发生过冲问题,超过 PHY 的最大要求。
对策2 :PHY 启用内部延迟并更改 MAC 的 TX_CLK 输出 (反转更改为正常)(不增加 TX_CLK 驱动强度)
下面是两个输出设置中 MAC 的 TX_CLK 输出波形:(下面是 ping 开始时的第一个数据)
反相输出: 在 CLK 下降沿后、MAC 输出 D[0-3]/CTRL
正常输出: 在 CLK 上升 沿之后 MAC 输出 D[0-3]/CTRL

为什么环回测试显示问题发生在 RX 路径中、但 TX 路径对策可以解决该问题、我们对此感到非常困惑。
此致!
Wang
尊敬的 Wang:
由于这些新信息、我认为 TX_CLK 驱动强度不是原因。 我认为这一点与我先前关于移位/对齐模式的问题密切相关。 数据没有丢失,而是更难破解。
您能否详细说明这一点以及 MAC/PHY 的移位/对齐模式?
MAC 和 PHY 需要具有互补模式、才能使通信正常运行。 我想最初可能存在 RGMII 延迟不匹配、 表现为数据包丢失。 这也解释了为何添加内部延迟有助于通过添加时钟偏差来纠正不匹配并实现更准确的数据采样、从而帮助解决数据包丢失问题。 我认为、答复中所列的反措施2是正确的做法。
此致、
Vivaan
尊敬的 Wang:
RGMII 时序是确保不会发生数据包丢失所必须满足的一个重要指标。 我认为、数据的发送与之前的 TX_CLK 同时进行、因此未正确采样。 通过引入内部延迟、PHY 可确保数据和时钟的上升沿不会同时发生、从而为建立和保持时间留出一些空间。 如需更 详细的说明、请单击此处。
在数字环回测试中、我们看到数据包正被 PHY 接收、但并未被 MAC 接收回。 这除了您提供的 RX 波形之外、还表明 PHY 正在接收和发送数据、因此数据包必须在 PHY 离开 RX 路径后"丢失"。
修改前我没有发现任何不符合 PHY 要求的行为。
我认为时间要求被违反了。 数据和时钟信号同时切换、在某些情况下、它无法为正确采样提供足够的设置/保持时间。 不过、正如您提到过的、在 PHY 上启用内部延迟应该考虑这一点。
此致、
Vivaan
您好、Vivaan、
RGMII 计时是确保不会发生数据包丢失所必须满足的一个重要指标。 我认为、数据的发送与之前的 TX_CLK 同时进行、因此未正确采样。 通过引入内部延迟、PHY 可确保数据和时钟的上升沿不会同时发生、从而为建立和保持时间留出一些空间。 有关更 详细的说明、请参见此处。
PHY 还支持禁用内部延迟。 您能否从下面的波形解释导致问题的潜在原因。


在数字环回测试中、我们看到数据包正在被 PHY 接收、但并未被 MAC 接收。 因此、除了您提供的 RX 波形之外、数据还通过 PHY 接收和传输、因此数据包必须在 PHY 离开 RX 路径后"丢失"。[/QUOT]我们可以看到 PHY 100%接收了数据包。 我想测试结果表明 TX 路径没有问题。
我们真的无法理解此回送测试结果与对策之间的关系。
此致!
Wang
尊敬的 Wang:
让我们分别看一下 TX 和 RX 通道。
TX 通道将数据从 MAC 输送到 PHY。 正如 本链接中所述、也是我在上一个回复中提到的、MAC 和 PHY Rx 和 TX 通道的配置必须是互补的、也就是说、如果 MAC 处于移位模式、PHY 必须处于对齐模式、反之亦然。 由于数字环回测试确认数据路径的 TX 部分按预期运行、因为我们能够看到 PHY 100%接收到数据包。 这意味着 MAC 和 PHY 的 TX 路径的设置是互补的。
现在看看 RX 路径、这是导致数据包丢失的问题所在。 这是因为 MAC 和 PHY 不处于互补模式。 MAC 和 PHY 必须处于"对齐"模式、这就是并非所有数据都被正确采样的原因。 在此配置中、MAC 预计数据线与时钟相比具有较小的延迟。 通过将 PHY 更改为移位(延迟)模式、我们纠正了 PHY 和 MAC RX 通道的这种配置、这种配置具有内置延迟来格式化数据、这类似于 MAC 预期的。
PHY 还支持禁用内部延迟
是的、PHY 支持这两种配置、允许与不同的 MAC 接口配合使用。 同样、下面的链接应更详细地说明此行为。
此致、
Vivaan
您好、Vivaan、
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5465719 #5465719"]
TX 通道将数据从 MAC 输送到 PHY。 正如 本链接中所述、也是我在上一个回复中提到的、MAC 和 PHY Rx 和 TX 通道的配置必须是互补的、也就是说、如果 MAC 处于移位模式、PHY 必须处于对齐模式、反之亦然。 由于数字环回测试确认数据路径的 TX 部分按预期运行、因为我们能够看到 PHY 100%接收到数据包。 这意味着 MAC 和 PHY 的 TX 路径的设置是互补的。
现在看看 RX 路径、这是导致数据包丢失的问题所在。 这是因为 MAC 和 PHY 不处于互补模式。 MAC 和 PHY 必须处于"对齐"模式、这就是并非所有数据都被正确采样的原因。 在此配置中、MAC 预计数据线与时钟相比具有较小的延迟。 通过将 PHY 更改为移位(延迟)模式、我们纠正了 PHY 和 MAC RX 通道的这种配置、这种配置具有内置延迟来格式化数据、这类似于 MAC 预期的。
[报价]作为回答、 我们应该在 RX 路径中有一个对策。 但现在我们针对 TX 路径采取一种对策来解决该问题。
我们无法理解此回送测试结果与对策之间的关系。
环回测试指示 RX 路径上的问题
. TX 路径的对策。
你能理解吗?
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5465719 #5465719"]
是的、PHY 支持这两种配置、允许与不同的 MAC 接口配合使用。 同样、下面的链接应更详细地说明此行为。
[报价]我知道 PHY 和 MAC 配置。

目前、PHY 配置为对齐模式。 MAC 似乎处于移位模式(TX_CLK 反相、CLK 下降沿后 TX_EN/数据输出)。

对策: PHY 配置为 移位模式。 MAC 似乎处于 对齐模式(TX_CLK 正常、CLK 上升沿之后输出 TX_EN/数据)。

两者似乎都符合要求。 为什么它有这个问题?
此致!
Wang
尊敬的 Wang:
很抱歉混淆了。 我不认为"反转"和"正常"模式指的是"移位"和"对齐"模式。 如前所述、反转模式只是使数据与下降沿对齐、而正常模式保持数据在上升沿。 移位和对齐是指时钟和数据线之间的延迟、与反相/正常不同。
您是否尝试过在反相模式下测试 MAC、在移位模式下测试 PHY? 这应该有助于我们更好地了解 MAC 上正常模式与反向模式的功能。
我们应该在 RX 路径中有一个对策。 但现在我们针对 TX 路径采取对策来解决问题
使 PHY 使用移位模式还会改变 RX 路径的行为、而不仅仅是 TX。
我认为 MAC 配置为开启"对齐"模式、但我们可以进行检查以确保。 使用的是哪种 MAC? 您是否有任何关于 MAC 接口的文档可以向我们指明正确的方向?
此致、
Vivaan
您好、Vivaan、
您是否尝试过在反相模式下测试 MAC 以及在移位模式下测试 PHY? 这应该有助于我们更好地了解 MAC 上正常模式与反向模式的功能。
在这种情况下 、它无法执行 Ping 操作。
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5468815 #5468815"]我认为 MAC 配置为处于"align"模式、但我们可以进行检查以确保。 使用的是哪种 MAC? 您是否有任何有关 MAC 接口的文档可以指明我们的正确方向?MAC 位于 SoC 中。 我不能直接共享文档、而我需要查阅 以太网控制器的电气特性:

此致!
王京坤
尊敬的 Wang:
对于速度为100Mbps 的 RGMII、仅在上升沿采样数据、而在上升沿和下降沿采样数据的速度为1000Mbps。 这就是为什么链路不能在反相模式下工作的原因、因为器件 DP83TC814适用于100Mbps 速度。 在正常模式下使用它、数据采样应该正确。
此外、从提供的屏幕截图中可以看出、与 TX 路径不同、我未看到 RX 路径的延迟规格或配置值。 这让我相信 MAC 接口的 RX 端始终处于"对齐"模式。 这也解释了在移位模式下使用 PHY 可解决该问题的原因。
此致、
Vivaan
您好、Vivaan、
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5470495 #5470495"]对于以100Mbps 速度使用的 RGMII、数据仅在上升沿采样、而不是在上升沿和下降沿采样1000Mbps 速度。 这就是为什么链路不能在反相模式下工作的原因、因为器件 DP83TC814适用于100Mbps 速度。 在正常模式下使用它、数据采样应该正确。 [报价]-->我认为、在这种模式下(MAC:反相模式; PHY:移位模式)、 TX_CTRL 信号无法正确采样。
MAC 在 TX_CLK 上升沿之前输出 TX_CTRL;
PHY 在 TX_CLK 上升沿之后需要 TX_CTRL。
因此链路将无法正常工作。
但在低于模式下、 我找不到任何计时问题。 您能找出这个问题吗?

-->我更新了时间:

在数据表中、 移位和对齐中 TX 时序的主要区别是 TX_CTRL:
对齐模式: TX_CLK 上升沿之前的 TX_CTRL
在 TX_CLK 上升沿之后移位模式:TX_CTRL
TX_D9[3:0]是相同的。 (在 TX_CLK 上升沿之后)
对吗?

使 PHY 使用移位模式也会改变 RX 路径的行为、而不仅仅是改变 TX.
-->您能解释一下如何改变 RX 路径的行为吗?
如何理解以下 RGMII 发送编码?

在整个传输过程中、 TX_CTRL 保持高电平。 则意味着传输错误传播是什么??

此致!
Wang
尊敬的 Wang:
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5474662 #5474662"]但是在以下模式下、 我找不到任何计时问题。 您是否能找到问题?正如我之前的注释所述、PHY 需要数据位于上升沿、而不是下降沿。 在此模式下、数据与时钟的下降沿同步、因此不会正确采样数据。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5474662 #5474662"]MAC 在 TX_CLK 上升沿之前输出 TX_CTRL;
PHY 在 TX_CLK 上升沿之后需要 TX_CTRL。
因此链路将无法正常工作。
[报价]虽然这个配置也不起作用、但这是因为同样的原因、PHY 期望数据与上升沿同步、但在反相模式下、它与下降沿同步。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5474662 #5474662"]我更新了时序:
[报价]即使在更新的时序中、MAC 侧也没有 RX 延迟配置。 这意味着 MAC 期望 PHY 端出现延迟、从而解决了最初的问题。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5474662 #5474662"]在数据表中、 移位和对齐中 TX 时序的主要区别是 TX_CTRL:
对齐模式: TX_CLK 上升沿之前的 TX_CTRL
在 TX_CLK 上升沿之后移位模式:TX_CTRL
TX_D9[3:0]是相同的。 (在 TX_CLK 上升沿之后)
对吗?
[报价]否 移位模式和对齐模式之间的区别在于、在移位模式下、时钟(TX_CLK/RX_CLK)和数据线路(TX_D/RX_D)之间引入了延迟、而在对齐模式下、数据和时钟应与时钟同步。 这是否写在814数据表中的某个位置? 我不能找到任何类似的东西。 我建议阅读我在之前评论中也提供的以下链接、详细了解移位和对齐模式。 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1096129/faq-rgmii-timing---align-and-shift-mode
您能解释一下如何更改 RX 路径的行为吗?
将 PHY 更改为移位模式已经在更改 RX 和 TX 路径。 不需要额外步骤、只需采取启用移位模式的电流对策。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5474662 #5474662"]如何理解以下 RGMII 发送编码?
[报价]正常运行时、我们希望 TX_CTRL 在时钟的上升沿为高电平、在下降沿为低电平。 如果在下降沿为高电平、则表示存在发送错误。 但是、在共享波形中、它标记为 TX_DV、而不是 TX_CTRL。 是否正在探测正确的引脚? 产生此波形时器件处于何种配置?
此致、
Vivaan
您好、Vivaan
即使在更新的时序中、MAC 侧也没有 RX 延迟配置。 这意味着 MAC 期望 PHY 端出现延迟、这正是解决原始问题的方法。[/QUOT]--> MAC 以太网具有用于设置 TX 路径和 RX 路径延迟的寄存器。
将 PHY 更改为移位模式已经在更改 RX 和 TX 路径。 不需要额外步骤、只需采取启用移位模式的电流对策。 [报价]我们需要知道当 TX 路径从对齐模式更改为移位模式时 RX 路径的详细变化。
[/quote]如果下降沿偏高、则表明存在传输错误。关于 TX_CTRL 编码, 数据表定义与 RGMII 版本2.0不同。
我认为以下几点是正确的
TX_CTRL 在时钟的上升沿为高电平、在下降沿为低电平、这会指示发送错误传播。
TX_CTRL 在时钟的上升沿为高电平、 在下降沿为高电平、这将指示正常数据传输。
TI 数据表中的定义:
TX_CTRL 在时钟的上升 沿为高电平、在下降沿为高电平、这会指示发送错误传播。 2.
它的定义似乎相反。 你可以检查一下吗?
[报价 userid="564615" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5476208 #5476208"]但是、在共享波形中、它被标记为 TX_DV 而非 TX_CTRL。 是否正在探测正确的引脚? 此波形出现时器件处于何种配置?[/QUOT]
--> 波形上的标签写错了。 即 TX_CTRL。 探测 PIN_29。 在 ping 模式下测试波形。
我们可以找到移位模式下 TX 路径的时序要求。 我们可以参考 RGMII V2.0的规格吗?
此致!
Wang
[/quote][/quote]
尊敬的 Wang:
MAC 以太网具有用于设置 TX 路径和 RX 路径延迟的寄存器
我有点困惑、因为下面的图片引用在 TX 表格下方的"注意"中显示、延迟设置为0x10、并且处于反向或正常模式。 在 RX 表下面、它只提到了反相模式、而没有提到延迟。 无论如何、即使 MAC 具有 RX 的延迟配置、它看起来不像启用了。
[报价 userid="493884" url="~/support/interface-group/interface/f/interface-forum/1408793/dp83tc814s-q1-rgmii-input-timing-issue/5477094 #5477094"]我们需要了解 TX 路径从对齐模式更改为移位模式时 RX 路径的详细变化[/QUOT]RX 路径不受 TX 路径变化的影响。 移位和对齐模式可以使用寄存器0x0602在两条路径上独立使用、也可以通过自举进行配置。
PHY 端如何添加延迟? 是否将寄存器0x0602写入 某个值?
我假设延迟被添加到 RX 侧。 在这些情况下、唯一发生变化的是时钟和数据线之间的延迟
它似乎是反向定义的。 您可以开一张支票吗?
是的、您的理解是正确的。 我已经在内部向团队进行了检查、数据表上好像有错误。 我们将在下一个版本中纠正此问题、但是目前、两个边沿的 TX_CTRL 都为高电平表示传输无错误。
我们能否参考 RGMII V2.0的规范?
有。 移位模式的规格应与对齐模式相同、但看起来上面标准中突出显示的规格与数据表上的规格相同、因此应该很好。
让我们退一步来看一下完整的设置
假设 PCB 布线和长度匹配并且没有引入延迟、我们可以实现以下配置
| 美国 否 | PHY 模式 | MAC 模式 |
| 1. | Rx 对齐 | RX 移位 |
| 2. | RX 漂移 | Rx 对齐 |
| 3. | Tx 对齐 | TX 移位 |
| 4. | TX 移位 | Tx 对齐 |
据我所知、由于将 PHY 从 RX 对齐更改为 RX 移位固定数据包丢失、MAC 必须处于 RX 对齐模式、这会为我们提供上表中所列的配置2。 是仅激活 RX 移位模式还是同时激活 RX 和 TX 模式来解决数据包丢失问题?
此致、
Vivaan
您好、Vivaan、
在网站上的信息,它似乎引起了一些混乱。 因此我创建了一个要管理的文件。
您可以向我提供文档中的反馈。
现在您可以查看以下文档:Ethernet_Loss_Package_Issue_ 20241025.xlsx"
e2e.ti.com/.../Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241025.xlsx
此致!
王京坤
尊敬的 Wang:
下面是我提供的更新的文档
e2e.ti.com/.../7455.Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241025.xlsx
此致、
Vivaan
Hhi Vivaan、ć
更新了以下文档:
e2e.ti.com/.../Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241028.xlsx
您是否可以使用突出显示的字体来显示您的答复?
此致!
Wang
尊敬的 Wang:
e2e.ti.com/.../Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241028-_2800_1_2900_.xlsx
此致、
Vivaan
尊敬的 Vivaan:
e2e.ti.com/.../Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241101.xlsx
此致!
Wang
尊敬的 Wang:
e2e.ti.com/.../5621.Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241101.xlsx
此致、
Vivaan
您好、Vivaan
e2e.ti.com/.../5621.Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241105.xlsx
此致!
Wang
尊敬的 Wang:
"我是你的女人,我是你的女人。"
e2e.ti.com/.../5556.Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241105.xlsx
此致、
Vivaan
您好、Vivaan
e2e.ti.com/.../Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241108.xlsx
此致!
Wang
尊敬的 Wang:
测试设置随附注释
e2e.ti.com/.../4520.Ethernet_5F00_Loss_5F00_Package_5F00_Issue_5F00_20241108.xlsx
此致、
Vivaan
尊敬的 Vivaan:
我们已从 SOC 获得确认结果。 它具有用于记录接收数据包的寄存器。
我们尝试使用 ping、寄存器记录可以在收到数据包后增加。
但使用上述方法(0x624=0x5552;0x619=0x1005)、 寄存器无法记录任何内容。
以下波形在进行寄存器设置后生成。 (0x624=0x5552;0x619=0x1005)
你可以检查一下吗?

此致!
王京坤
Hhi Vivaan、ć
您是否测试过此设置的延迟和无延迟设置? 结果是否相同?
有。 结果是相同的。
但使用 ping 方法、 MAC 可以记录数据包。
使用 方法(0x624=0x5552;0x619=0x1005)、 一个数据包的时间约为136us。
它是否可以增加一个数据包的时间?
另一个问题是、MAC 制造商想知道 在设置(0x624=0x5552;0x619=0x1005)下究竟发送了什么测试模式?
此致!
王京坤