• PHY强制模式下的协商能力


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 weixin_44554615 2024-03-26 22:04 采纳率: 50% 浏览 4 首页/ 开放平台 / PHY强制模式下的协商能力 物联网嵌入式硬件信息与通信 PHY设置强制模式,百兆全双工的时候一定要设置协商能力吗?此时对端设备如果速率双工都是自协商模式下,根据标准两端是如何进行信号交互的,是指根据识别本端PHY强制百兆模式的码流,还是说也会参考本端通告的协商能力? 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-26 22:04
      关注

      weixin_44554615 晚上好🌙🌙🌙
      本答案参考ChatGPT-3.5

      当PHY设置为强制模式,对于百兆全双工的设置,不一定需要设置协商能力。因为强制模式指示PHY节点在特定的速率和双工模式下工作,不会主动与对端设备进行协商。

      但是,如果对端设备设置为自协商模式,即能够支持协商能力,那么信号交互将会参考本端通告的协商能力。

      根据相关标准,当一端设备设置为强制模式,而另一端设备设置为自协商模式时,信号交互的方式通常如下:

      1. 自协商设备发送一个协商请求给对端设备。
      2. 强制设备接收到协商请求后,会忽略该请求,继续以强制模式发送信号。
      3. 自协商设备会根据接收到的强制信号,判断对端设备是处于强制模式,并进行相应的配置和设置。

      因此,一般情况下,强制模式和自协商模式之间可以进行兼容。

      解决方案:

      1. 如果你的对端设备也是设置在强制模式下,并且你不需要进行速率和双工模式的自动协商,那么你可以不设置协商能力,直接将PHY设置为强制模式。
      2. 如果你的对端设备设置在自协商模式下,那么你可以将PHY设置为强制模式,并且设置适当的协商能力。这样,当对端设备发送协商请求时,你的设备可以根据协商能力进行信号交互和配置。

      示例代码:

      // 设置PHY为强制模式
      phy_set_mode(FORCED_MODE);
      
      // 如果对端设备支持协商能力
      if (remote_supports_negotiation()) {
          // 设置协商能力
          phy_set_negotiation_capability(NEGOTIATION_ENABLED);
      }
      

      请注意,具体的设置方法和代码实现可能因不同的硬件平台和软件框架而有所差异,以上仅提供了一个示例。在实际应用中,应根据具体情况进行相应的设置和配置。

      展开全部

      评论
    • CSDN-Ada助手 CSDN-AI 官方账号 2024-03-28 00:26
      关注

      【相关推荐】



      • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7528127
      • 除此之外, 这篇博客: PHY自动协商原理中的 一、以太网端口工作模式: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
        • 以太网口的两端工作模式(10M半双工、10M全双工、100M半双工、100M全双工、自协商)必须设置一致。

        • 如果一端是固定模式(无论是10M、100M),另外一端是自协商模式,即便能够协商成功,自协商的那一端也将只能工作在半双工模式。

        • 如果一端工作在全双工模式,另外一端工作在半双工模式(包括自协商出来的半双工,也一样处理),Ping是没有问题的,流量小的时候也没有任何问题,流量达到约15%以上时,就会出现冲突、错包,最终影响了工作性能!

        • 对于两端工作模式都是自协商,最后协商成的结果是“两端都支持的工作模式中优先级最高的那一类”。

        • 如果A端自协商,B端设置为100M全双工,A协商为100M半双工后,再强制将B改为10M全双工,A端也会马上向下协商到10M半双工;如果A端自协商,B端设置为10M全双工,A协商为10M半双工后,再强制将B改为100M全双工,会出现协商不成功,连接不上!这个时候,如果插拔一下网线,又会重新协商在100M半双工。


      如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    springboot 多线程实现
    代码随想录 | Day 56 - LeetCode 583. 两个字符串的删除操作、LeetCode 72. 编辑距离
    如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)
    STL系列文章
    计算机毕业设计之java+ssm基于web的轻型卡车零部件销售平台
    android: android:onClick=“@{() -> listener.onItemClick(viewModel)}“
    前端练手3D爱心
    Matplotlib绘图基础
    shell脚本学习笔记07
    Fill(填充)和Polygon(覆铜)盖油问题
  • 原文地址:https://ask.csdn.net/questions/8079480