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.

[参考译文] DP83822I:中断问题

Guru**** 2747405 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/893985/dp83822i-interrupt-questions

器件型号:DP83822I

本帖子中、我有关于在运行时观察到的几个中断的问题

错误载波侦听中断(MISR1、位9)

  • 原因是什么?
  • 您能否确认读取 MISR1和读取 FCSCR 是清除中断的正确方法?

MDI 交叉更改中断(MISR2、位11)

  • 原因是什么?
  • 如何清除它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、您好!

    MDI 交叉更改中断是来自 PHY 的通知、即自动 MDIX 分辨率确定需要从 MDI 更改为 MDIX。 该中断在从状态寄存器中读取后应清除。

    错误载波定义为不以/S/.开头的载波事件数据包 /S/表示 Start_of _Packet 分界符;/S/=/K27.7/、用于划分数据序列的起始边界。

    要清除中断、请读取 MISR1寄存器并复位错误载波侦听计数器、请读取 FCSCR 寄存器。

    此致、
    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供信息。  唯一与观察结果不一致的数据点是如何清除 MDI 交叉更改中断(MISR2位11)。  读取寄存器不足以清除底层中断、或者由于某种原因、我们不断收到大量这些中断。 鉴于 MDI 状态不会改变多次、我不会期望这些中断中有多个。

    我们看到了与错误载波中断相关的类似行为、例如、我们一直在重新中断、直到我们添加了 FCSCR 的读取。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、您好!

     读取 MDI 交叉更改中断后是否清除过? 读取寄存器后、链路中断还是自动协商正在重新运行?

    此致、

    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Justin、

    MDI 交叉更改中断在读取后不会被清除--该中断每秒大约会达到5-10次。 该中断仅在电缆未连接(无链路)时才会持续发出。

    在寄存器被读取后、中的连接条件未被"改变"并且没有自动协商。

    还可以观察到、该中断也持续出现在器件复位后从未连接电缆的 PHY 上。

    谢谢、

    Paritosh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paritosh、

    如果中断未被清除、您如何能够确认每秒发生5-10次中断? 自动 MDI/MDIX 协议需要大约1-2秒才能完成、因此我不会期望交叉更改如此快速、如此频繁。 如果交叉更改中断被禁用、请确认没有检测到中断。  

    您能否提供有关 phy 配置的更多信息? 您是否正在使用自动协商或自动 MDI/MDIX 或强制速度和电缆连接?  

    此致、

    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Justin、

    正如您 在这里看到 的,以该速率发生的中断(请参阅“没有修补程序..”下的部分)。

    是否要查看驱动程序是否未读取 MISR2时是否继续发生中断?

    如果交叉改变中断被禁用、那么这个中断不会被检测到。 请 参阅此处

    DTS 中的 PHY 配置: https://e2e.ti.com/support/processors/f/791/p/888389/3285564#3285564

    我使用千兆以太网交换机进行测试。 不使用 Linux 工具强制执行速度和任何其他设置。 这些默认值与 SDK 6.02的驱动程序 dp83822.c 中的默认值相同,也可能是自动协商的默认值。

    我正在使用连接和断开电缆进行测试。  即使在测试中未使用且从未建立链路的 PHY (此器件具有4个 PHY)上也会持续发生交叉更改中断。

    请告诉我您需要的任何其他特定配置,我如何访问它?

    谢谢、
    Paritosh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paritosh、

    很抱歉、我需要我们设计团队的意见。 MDI 交叉更改中断将在链接器件之前切换、因为 MDI 解析正在进行中。 一旦建立了稳定链路、应在读取时清除中断、而不是再次触发中断。  

    此致、
    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Justin Lazaruk">一旦建立稳定的链路、应在读取时清除中断、而不是再次触发中断。  [/报价]

    当链路丢失时(例如电缆已拔出)、预期会发生什么情况?  观察结果是、我们会得到永无休止的中断。  这是预期的吗?  这不是所需的行为...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、您好!

    当电缆断开连接时、它将返回切换状态、任何导致链路中断的条件都将使中断切换。

    此致、
    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Justin、

    我正在尝试找出一种使用该中断的适当方法。  当我们没有链路时、至少需要禁用它、否则会产生中断泛洪。  但是、如果我在建立链路后等待启用它、我是否已经错过了此时的 MDIX 中断?  也许我甚至根本不能使用中断、只需读取作为链路中断一部分的状态即可?

    Brad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、您好!  

    我不相信这个中断的运行方式与预期的一样、所以我不确定有一个智能的方法来使用这个中断。 寄存器0x0B[5]将提供有关 PHY 是解析为 MDI 模式还是 MDIX 模式的信息。 在确定器件状态时、链路状态中断的行为将相同、而不会使中断管理器泛洪。

    此致、
    Justin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Justin、

    您是否有关于 MDI/MDIX 模式时序的更多详细信息?  这是否会在非常接近链路完成的位置发生?  我想知道、当我们获取链路中断时、是否可以简单地检查状态、

    谢谢、

    Brad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、您好!  

    自动 MDI/MDIX 将在自协商完成前解决。  

    此致、
    Justin