主题中讨论的其他器件: DP83822EVM、 USB-2-MDIO
我已将 TI PHY 和 Broadcom PHY 配置为光纤、禁用 A/N、100Mbps、全双工。
它们相互连接、以传输虚拟数据、我希望能够成功地立即实现。
以相同方式将两个 TI PHY 连接在一起是成功的、以供参考。
据我所知、这两个器件都在传输4B5B 代码、数据都是 NRZI。
什么是不兼容?
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 PHY 和 Broadcom PHY 配置为光纤、禁用 A/N、100Mbps、全双工。
它们相互连接、以传输虚拟数据、我希望能够成功地立即实现。
以相同方式将两个 TI PHY 连接在一起是成功的、以供参考。
据我所知、这两个器件都在传输4B5B 代码、数据都是 NRZI。
什么是不兼容?
我有两个完全相同的测试板。 每个电路板都具有我们的传统 PHY (Broadcom 5241)和 TI PHY DP83822IF 等。 我有一个 FPGA 在开发板上。 我有一个传输虚拟数据的 Verilog 模块。 我通过 POF 将每个板上的 TI PHY 连接在一起(使用 Broadcom AFBR-5972EZ 收发器)。 我已经在两个 TI PHY 之间建立了链路、并且我将成功发送和接收。 我们通过将两个电路板上的 Broadcom PHY 连接在一起来证明了这一点。 但是、当我将 TI PHY 连接到 Broadcom PHY 时、我将同时从两个 PHY 传输数据、但两个 PHY 都没有接收数据。
我有另一个用于初始化 PHY 的 Verilog 模块。 我可以使用 SALEAE 分析器确认设置。 这有点笨拙。 但我在发运途中准备了一个 LaunchPad、因此我可以改用 USB MDIO 工具。 这将使查询 PHY 变得更容易。
以下是我在 TI PHY 连接在一起时从分析器获取的 TI PHY 寄存器值:
寄存器地址[0x00] | 数据[0x2100] |
寄存器地址[0x01] | 数据[0x7849] |
寄存器地址[0x02] | 数据[0x2800] |
寄存器地址[0x03] | 数据[0xAAD0] |
寄存器地址[0x04] | 数据[0xA5E9] |
寄存器地址[0x05] | 数据[0x0000] |
寄存器地址[0x06] | 数据[0x0005] |
寄存器地址[0x07] | 数据[0x2001] |
寄存器地址[0x08] | 数据[0x0000] |
寄存器地址[0x09] | 数据[0x0000] |
寄存器地址[0x0A] | 数据[0x4000] |
寄存器地址[0x0B] | 数据[0x1000] |
寄存器地址[0x0C] | 数据[0x0000] |
寄存器地址[0x0D] | 数据[0x0000] |
寄存器地址[0x0E] | 数据[0x0000] |
寄存器地址[0x0F] | 数据[0x0000] |
寄存器地址[0x10] | 数据[0x0004] |
寄存器地址[0x11] | 数据[0x0108] |
寄存器地址[0x12] | 数据[0x0000] |
寄存器地址[0x13] | 数据[0x0000] |
寄存器地址[0x14] | 数据[0x0000] |
寄存器地址[0x15] | 数据[0x0000] |
寄存器地址[0x16] | 数据[0x0100] |
寄存器地址[0x17] | 数据[0x0041] |
寄存器地址[0x18] | 数据[0x0400] |
寄存器地址[0x19] | 数据[0x0021] |
寄存器地址[0x1A] | 数据[0xA000] |
寄存器地址[0x1B] | 数据[0x807D] |
寄存器地址[0x1C] | 数据[0x05EE] |
寄存器地址[0x1D] | 数据[0x0000] |
寄存器地址[0x1E] | 数据[0x0002] |
寄存器地址[0x1F] | 数据[0x0000] |
尊敬的 Craig:
感谢您共享寄存器转储。 PHY 配置看起来不错。
假设 Broadcom PHY 支持相同的强制速度配置、则有一点奇怪、那就是存在链路问题。
您是否在100M 内强制实施背对背 Broadcom PHY 的情况下进行了测试? 如果此操作失败、则问题似乎与 Broadcom 端隔离。
您能否与我分享一份原理图/方框图、以便我仔细检查连接和搭接? (发送电子邮件至 e-mayhew@ti.com 进行私人共享)
谢谢!
埃文
尊敬的 Craig:
请尝试此配置:
- 0x19[15]='1'(启用自动 MDIX)
- 0x40[13]='1'(备用100M 光纤力配置)
我怀疑不兼容的 SFP 模块是导致 TI 和 Broadcom PHY 之间光纤链路问题的原因。 我找不到 SFP 模块 U9的数据表、您是否看到过 U9和 U10之间连接的任何情况?
此外、您能帮助我了解 LVPECL <-> LVDS 逻辑转换吗? 对于 Broadcom PHY、我看到只有一个 MDI 对连接到转换器、但DP83822的两个 MDI 对都具有转换功能。
谢谢!
埃文
您好、Evan:
我无法设置自动 MDIX 启用。 是因为我禁用了自动协商功能吗? 我可以在启用自动协商的情况下重试。
但我成功地设置备用100M 光纤力配置。 不幸的是、我还没有说话。
U9和 U10是同一器件–AFBR-5972EZ。 我将通过电子邮件向您发送数据表。
该收发器使用 LVDS 电平输入/输出。
我要做的是将板1上的 U9链接到板2上的 U10。
我们经验证的生产电路是 Broadcom PHY。 该器件使用 LVPECL。 PECL 的电压摆幅比 LVDS 宽。 收发器期望较小的电压摆幅。 但在另一个方向上、我们使用电压转换器(U8)将电压提升至 PHY 预期的 PECL 电平。 早在6-7年前开始使用 AFR-5972EZ 时、我们就在该电路上与 Broadcom 合作。
我们不确定 TI PHY、因此我们使用电阻器来实现电压电平转换。 我可以通过电子邮件将决定的来源发送给您。
尊敬的 Craig:
您正在使用什么协议? 如果您不希望在没有媒体/协议转换的情况下与交换机建立链路很简单、那么这可能会更有效地利用我们的时间通过当前拥有的电路板在 PHY 级别进行调试。
您是否确信 Broadcom 和 TI PHY 之间的 MDI 终端方案是兼容的? 由于 DP83822 <-> 5241之间在任一 PHY 的接收端都看不到数据包、因此我怀疑问题出在 MDI 连接。
谢谢!
埃文
您好、Evan:
我们开发了这种类似以太网的简单协议、实质上负责从主控制器传输 I/O 命令以及向主控制器进行反馈。 我们将其称为 SDL、用于采样数据或简单数据链路。 我们不使用 MDIX 或自动协商。 我基本上将 PHY 设置为100Mbps、全双工和光纤。 我有一个介质转换器 RJ45到 POF。 我只是想知道这将是多么困难的工作(如果我们能使它工作)。 我同意使用我得到的东西进行调试会更高效。
我完全不相信我的这些终止方案是正确的。 实际上、该区域缺少一些电阻器-原理图显示它们需要进行手工焊接。 也许第一步是使电路板与原理图一致。 尽管我想知道它为什么能与 TI PHY <-> TI PHY 配合使用。 我在和你一起。 我怀疑 MDI 连接了。 它与连接的两个 TI PHY 是否实现了足够的平衡?
您好、Evan:
我又回到了这项调试工作。 尽管我认为它已恢复为连接两个 TI PHY 的调试。 我曾尝试调整端接电阻器、以便更好地与原理图匹配、但现在无法正常工作。
我可以重复执行以下操作、两个板将进行通信:
如果我对两个电路板进行下电上电、它们将无法通信。 当电路板通信时、我已经能够检查寄存器0x1中的位2是否为高电平、从而表明已建立有效链路。
我已经使 USB-2-MDIO 工具正常工作。 我可以接入电路板上任何 PHY 的 MDIO/MDC 线路。
此外、我现在还购买了 DP83822EVM。 它具有一个 RJ45以太网接口。 我还有一个介质转换器、可以从 RJ45连接到我们使用的多功能链路 POF 连接。
我想在这里开始调试、因为我想如果我解决了这个问题、可能会使将 TI PHY 连接到 Broadcom PHY 的另一个问题更容易解决。
这是您可以帮助我的东西吗?
使用 EVM 上的 USB-2-MDIO 工具、我为寄存器0x1获得0x786d、因为 EVM 上启用了自动协商。 拔下以太网电缆并检查寄存器0x1、现在变为0x7849、位2再次变为低电平、因为没有链路(自动协商也为低电平)。 此外、LED D4在连接时亮起、在未连接时熄灭。 D4是链路/活动指示。 我能够使用直通电缆和交叉电缆获得链路。 我怀疑这是用于我的自动 MDIX 功能。 我在838板上没有收到 LED 指示。 但 EVM 不会发送。 到目前为止、这似乎是值得一看的。
您好、Evan:
感谢确认行为。 有道理。
我看到 EVM 上的链路 LED 和0x1 bit 2为高电平、因此我已建立链路。 838板上的 PHY 正在发送信号、但没有接收信号。 我可以通过838板上的 LED 看到这个、我可以从 FPGA 的 Chipscope 中看到。 我不确定用于查看 EVM 上活动的最简单方法。 使用 USB-2-MDIO 更改 LED 模式? 那么、 无论哪种情况下都无法进行通信-但我怀疑是因为我不是从 EVM 传输? 是否有一种我可以将其置于类似于环回合理的模式? 我在 Rx/TX 线路上还没有示波器探针、主要是因为我无法使用焊接的探针访问端接电阻器。
以下是我对您的设置的当前理解、如果有错误、请更正我:
您是否可以在主机端发送/检查数据包? 如果是、我们可以通过一些环回测试来隔离信号链故障的位置。
从定制板 DP83822开始:
-写入0x0[14]='1'以启用 MII 环回。
-从主机发送的任何数据都应立即通过 DP83822 MII 无错误地环回。
-类似的测试可以通过模拟环回(0x16[3]='1')来完成,以验证内部 PHY 信号链。
下面介绍与 DP83822EVM 的连接:
-在 DP83822EVM 上写入0x16[4]="1"以启用反向环回。
-从主机发送的任何数据都应先经过自定义板 DP83822和 DP83822EVM 的完整内部信号链、然后再环回。
我怀疑后一项测试将由于终端不兼容而失败。 如果是、下一步是系统探测链以进行调试、并确定可能需要哪些端接修改。
谢谢!
埃文
仅供参考、星期二、我得到了一些结果。 遗憾的是、我只有一个探针可以正常工作。 找不到另一个探针的特殊导联。
探测 LVP_RDM/LVP_RDP: 713mV 摆幅
VIN = MDI 100BASE-FX 接收器输入摆幅220至1800mV (Vpk-pk)
探测 LVP_TDM/LVP_TDP: 摆幅1550mV
VOD = MDI 100BASE-FX 发送器摆幅900至1100mV (典型值1000mV) Vpk-pk
尊敬的 Craig:
输出摆幅很奇怪、我认为它更接近9-1.1V 的数据表规格、尤其是在 PHY 侧进行了探测。
您是否可以在连接到 DP83822时探测 Broadcom PHY 的输入并检查摆动电平?
线路驱动器摆幅也可以通过0x403进行调整。 尽管我仍然不清楚 TI <-> Broadcom PHY 方案之间的链路的摆幅电平应该是多少、但如果可能、请迭代 swing 值0x403[11:8]以查看链路是否受影响。
DP83822光纤还有一个更快速的软件检查-在连接到 Broadcom PHY 时、请尝试写入0x1F = 0x4000、然后再检查链路状态。
谢谢!
埃文
我们是否要在转至 Broadcom PHY 之前先获得 TI PHY 终端? 现在、我在定制板上、TI PHY 通过介质转换器连接到 EVM。
是的、这听起来不错、我很好奇 TI 接收端与 Broadcom 方案的电压电平是多少、但目前从 EVM 转向定制电路板似乎更高效。
使用 USB-2-MDIO 会遇到哪些问题? 您的笔记本电脑是否检测到串行端口、并且寄存器读/写失败?
谢谢!
埃文
尊敬的 Craig:
感谢大家快速分享示波器截图。 参阅之前分享的 Pericom 应用手册、您能否帮助确认是否发生违反 LVDS 规格的情况?
我想总结定制板<-> DP83822EVM 启动的当前状态、如果您同意、请告诉我:
-连接在电路板之间,但数据传输/吞吐量测试失败。
如果是这种情况、我们可以在软件端进行一些摆幅调整、看看我们是否可以得到适用于链路+吞吐量测试的摆幅值。
对于定制板和 DP83822EVM、请通过 FX 摆幅寄存器0x403[11:8]的值进行迭代、并注意是否有吞吐量测试成功。
谢谢!
埃文
Evan、
下面是我使用的过程。 如果您有不同的想法、请告诉我。 很遗憾、我没有注意到任何影响。 使用定制电路板上的 LED 和 Chipscope 从 EVM 查找 RX 数据。
尊敬的 Craig:
此过程看起来不错、很遗憾听到它没有影响。
由于最终目标是 TI <-> Broadcom PHY 通信、我不确定是否建议进行硬件更改以帮助 TI <-> TI PHY 通信、因为两者都是 LVDS、不需要转换。
如果可以、我将回到验证 TI <->Broadcom 之间的转换方案。
除了 Pericom 应用手册外、您是否有关于如何选择终止值的更多背景信息?
以下是我目前对所采用的方案的怀疑:
-应用手册中的 LVDS 到 LVPECL 方案如图6所示,但 DP83822侧参考的方案如图5所示:
-假设 LVDS <-> LVPECL 转换发生在 TI PHY TX 端、因此不清楚为什么在 Broadcom RX 端(U8)上使用另一个电压转换器
我们在这种类型的转换方面没有太多经验、因为最常见的应用是背对背 PHY -请帮助确认您有哪些资源可以进行验证。
谢谢!
埃文
至于 TI PHY 到 TI PHY、我正在考虑返回到电阻器、因为它们是在手动添加并联电阻之前放置的(在原理图中注明)。 这是一个成功的例子、因为这两个器件正在发送和接收数据。 我并不是说这是最终电路、但这让我更加接近了。 Pericom 推出的这种方案正是我们的硬件设计师想要尝试的。 我想它所做的只是混淆这个问题。 因为现在我根据规定或多或少地匹配了电阻、所以它无法正常工作。 我不需要实施 Pericom 电路。
除非您有更好的建议、否则我将 TI PHY 设置为 TI PHY 的下一步是将电阻器恢复到之前的值。 在接下来的调试练习中、我想浏览故障排除指南应用手册 snla437。 具体来说、是使用第2.6和2.7节中的一些测试。 我希望能够显而易见、为了获得最佳质量、需要做哪些电阻变化。 我还可以进行0x0430摆幅电平调整、以便再次进行迭代。
至于 TI PHY 到 Broadcom PHY、我同意。 下面我们继续进行故障排除。
我还认为很奇怪、对于 Broadcom PHY 电路、我们仅在 RX 对上使用电平转换器(电压转换器)。 我们经验证的生产电路是 Broadcom PHY。 该器件使用 LVPECL。 PECL 的电压摆幅比 LVDS 宽。 收发器期望较小的电压摆幅。 但在另一个方向上、我们使用电压转换器(U8)将电压提升至 PHY 预期的 PECL 电平。 早在6-7年前开始使用 AFR-5972EZ 时、我们就在该电路上与 Broadcom 合作。 我想您可以说这是 AFBR-5972EZ 的特性造成的?
我们可能会发现转换器并不必要、但我想使用此电路进行调试、主要是因为此电路可以正常工作并正在生产中。 我认为我应该从这个练习中学到足够多的知识、或许我可以去掉翻译工具、但我会再留些时间。
这是该原理图。 我可以探测各种位置。 您可以圈出感兴趣的探测区域吗?
Broadcom 5241规格:
我有一个仍然在我们身边的人直接参与了这个电路。 我邀请了他和他的 Broadcom FAE 联系人。