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.

[参考译文] AM2634:DP83822 中的自举电阻器值

Guru**** 2553450 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1523290/am2634-bootstrap-resistor-value-in-dp83822

器件型号:AM2634
主题:SysConfig 中讨论的其他器件

工具/软件:

尊敬的 TI:

我在我们自己的定制电路板上开发以太网、以便 ping 使用 phy 的 2 IPS  DP83822  我使用的是版本 10.2.00.13、因此我使用的是示例代码  enet_cpsw_rawhttpserver_am263x-cc_r5fss0-0_nortos_ti-arm-clang。

我们的自举电阻器设置如下所示:

  PHY-0 PHY-1
  右侧 RL 右侧 RL
RX_ERR 打开 打开 打开 打开
         
RX_DV 2.49. 打开 2.49. 打开
         
CRS 13k 1.96k 13k 1.96k
         
COL 打开 1.96k 打开 打开
         
RX_D3 10K 2.49k 10K 2.49k
         
RX_D0 打开 打开 2.49. 打开
         
LED 打开 打开 打开 打开
         
RX_D1 打开 打开 打开 打开
         
RX_D2 打开 打开 打开 打开

检查基准时钟后、我们得到 3MHz - 5MHz  

以下是 SysConfig 配置:

    

    

我们无法使用上述配置 ping IPS 您能说我需要做些什么、我们使用下面的配置作为自举电阻器。

e2e.ti.com/.../SNLR053-1.xls

1.您能否解释一下我需要为 Phy 地址 1 和 3 的自举电阻器设置的电阻值是多少?

2.我需要在 SysConfig 配置中设置的内容。

您的回答非常受欢迎  

谢谢您、

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

    尊敬的 Akash:

    我已在这里请我们的 PHY 团队提供帮助。

    此致、
    Shaunak

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

    尊敬的 Akash:

    strap 配置表设置:

    PHY0 地址= 0x0
    PHY1 地址= 0x3
    RMII 启用、50m 基准时钟 (XI) 输入

    [报价 userid=“611198" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1523290/am2634-bootstrap-resistor-value-in-dp83822

    检查基准时钟后、我们得到 3MHz - 5MHz  

    [/报价]

    这是 PHY 的 XI 上的基准时钟吗? PHY 在 XI 上需要 50m 输入时钟、具有配置 (strap) 表配置。
    还请确认寄存器是否可访问。

    谢谢你
    Evan

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

    尊敬的 Akash:

    以下是另一个线程中列出的要求的自举值:

    要求 数据值 带状电缆 消耗量 PU 值 PD 值
    PHY1 地址 0x00 COL 1. 打开 1.96k
    RX_D0 1. 打开 打开
    RX_D1 1. 打开 打开
    RX_D2 1. 打开 打开
    RX_D3 1. 打开 打开
    PHY2 地址 0x11 COL 4. 打开 打开
    RX_D0 4. 2.49k 打开
    RX_D1 1. 打开 打开
    RX_D2 1. 打开 打开
    RX_D3 1. 打开 打开
    运行模式 100Base-TX、全双工、自动 MDIX RX_D3 1. 打开 打开
    RX_D0 1 或 4 OPEN (1) 或 2.49k (4) 打开
    LED_0 4. 打开 打开
    LED0 配置 闪烁 TX/RX 活动 CRS 2. 13k 1.96k
    LED1 配置 亮起表示速度为 100Mbps
    MAC 配置 RMII 主模式 RX_DV 3. 5.76k

    2.49k

    一个阐释:PHY 是用于 RMII 主模式还是从模式? 如果是从模式、请将 RX_DV 更改为模式 4 (2.49k pu //开路 PD)。

    我不清楚您最近使用的配置生成的 strap 配置值、请遵循数据表中针对 PU//PU/ PD 的建议以阐明模式设置。

    如果我将以下电阻器用于自举电阻器、我们将获得 phy REF 时钟为 50MHz。 [/报价]

    这是 PHY 的输出参考时钟 RX_D3?

    关于超时问题、这可能是 MAC 和 PHY 输入时钟引脚上存在一些 PPM 偏移造成的。 PPM 偏移可能导致缓冲区欠运转/溢出问题、从而偶尔导致数据包丢失。 执行 ping 操作后、请共享寄存器 0x17 的读数来确认这一点。

    您还可以使用 0x17[1:0]=“11"增加“增加 RMII 缓冲区弹性、以实现更大的 PPM 偏移容差。

    谢谢您、
    Evan

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

    尊敬的 Evan:

    感谢您的支持!!! 正如您提到我们在定制板中尝试的上述电阻器一样、我们将获得 50MHz 参考时钟

    我们导入了示例代码  Enet_cpsw_tcpclient  RTOS 工程用于在 2 个不同端口上 ping 2ip、我在评估板中进行了测试、它正在使用 DP83826 IC。

    我们将使调试日志变为活跃的 2 和 3

    因此、根据我在 SysConfig 中配置为 phy 2 地址 2 和 3。  

    手动配置 MAC 端口、

      在自动分配中、我们无法 ping 任何 IP  

    下面是我分配并尝试 ping 的静态 IP

    因此、在这种情况下、我可以 ping 通 IP 地址 192.168.1.202 但不包括  192.168.1.203。

    你能解释为什么 phy 2 和 phy 3 是活的,你能给理由吗? 还是正常?

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

    尊敬的 Akash:

    如果是“PHY",“,我、我不清楚 is alive “对应于 strap 配置的 PHY 地址 — 与 AM2x 团队进行检查以进行确认。

    假设 MAC 能够识别两个 PHY 的 MDIO 总线、则 202 子网的 ping 故障可能是 SysConfig RMII 配置问题。

    由于其中一个 PHY 用于 ping、我建议使用该参考在发生故障的 PHY 上验证 RMII 配置、并确认发生故障的 PHY 上的 PHY 地址 strap / syscfg 设置是否正确。

    谢谢您、
    Evan

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

    尊敬的 Evan:

    如上所述、 RMII 缓冲区弹性我尝试在该结构中配置“11"</s>“

    // 0x0017 是 RCSR 寄存器
    //位[1:0]= 11 (0x3)=> 10 位弹性缓冲区


    pRegAccessApi->EnetPhy_rmwReg(pRegAccessApi->pargs,
                                               0x0017、// RCSR 寄存器
                                               0x0003、//屏蔽位[1:0]
                                               0x0003);//将 10 位容差的位设置为“11"</s>“

    typedef 结构

       int32_t (* EnetPhy_readReg)(void * pargs、uint32_t reg、uint16_t * val);

       int32_t (* EnetPhy_writeReg)(void * pargs、uint32_t reg、uint16_t val);

       int32_t (* EnetPhy_rmwReg)(void * pargs、uint32_t reg、uint16_t 掩码、
              uint16_t val);

       int32_t (* EnetPhy_readExtReg)(void * pargs、uint32_t reg、
              uint16_t * val);

       int32_t (* EnetPhy_writeExtReg)(void * pargs、uint32_t reg、
               uint16_t val);

       /*!需要传递给上述回调的参数*/
         Void* Pargs;

    } Phy_Reg、AccessCb_t

    我无法增加  接收弹性缓冲器  您能提供这个的示例代码吗?

     

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

    尊敬的 Akash:

    写入寄存器 0x17 的此函数调用看起来正确、我不清楚为什么它不生效。

    但是、由于您能够 ping 通其中一个 PHY、我怀疑不需要此寄存器配置。 相反、我们应重点关注工作/故障 PHY 之间的 syscfg 和 PHY 地址配置。 除了不同的 PHY 地址配置 (strap) 之外、请告诉我您是否能够识别工作 PHY 配置和失败 PHY 配置之间的任何差异。

    谢谢您、
    Evan

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

    尊敬的 Evan:

    很抱歉后期重放、我使用的电阻值与您在另一个定制电路板上建议的值相同 我们能够将 phy 0 和 phy 3 设为活动状态的时间。   

    我们将示例代码用作  enet_cpsw_tcpclient。



    我刚刚在 SysConfig phy 中配置了 —  0 和 3、现在发生了 ethenet ping、因此在这里我们观察到了 2 件事情


    1. 如果我在第一个实例中配置 RMII2 ,我们可以 ping 通第一个 IP

       

    2.如果我在第二个实例中配置 RMII2 ,我们可以 ping 第二个 IP

        

    您能说为什么会发生这种情况吗?

    下面我附加了我的 example.syscfg 以供您参考。您能否说出发生超时问题的原因?

     e2e.ti.com/.../4214.example.syscfg.zip

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

    尊敬的 Akash:

    请分享原理图 — 我想查看 AM263 与每个 PHY 之间的 RMII 连接。

    我会标记 MCU 团队来帮助查看 syscfg 中的 RMII。

    谢谢您、
    Evan

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

    尊敬的 Evan:

    我得到了这个问题并解决了 sysconifg 导致的问题。如果您配置 PIN 、它没有反映在 pinmux.c 文件中、因此我在论坛中提交了一个票证、我解决了这个问题。因此、现在我能够在调试过程中同时在闪存中 ping 两个 IP。

      

    所以我仍然面对着 请求超时  问题您能说问题是不是?

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

    尊敬的 AK:

    很高兴知道其他 Pinmux RMII 问题解决了此问题、您现在可以 Ping。  请求超时问题不会直接导致 AM26x 出现问题、这也可能是网络设置导致的。

    在您的应用程序中、您能否在表达式窗口中打开 lwip_stats(在停止 R5F 内核后)并查看 ICMP 是否有任何数据包丢弃? 如果 ICMP 数据包在 AM26x 端丢弃、您将能够在此处看到。 您可以参阅: https://dev.ti.com/tirex/explore/node?node=A__AEIJm0rwIeU.2P1OBWwlaA__AM26X-ACADEMY__t0CaxbG__LATEST 以获取检查 lwip_stats 的步骤。 此外、检查 CPSW 统计信息并查看 MAC 端口级别是否有任何数据包丢弃(请参阅同一页面以了解步骤)。

    如果我们在 CPSW 或 LwIP 端没有看到任何数据包丢弃、那么我认为丢弃数据包是 AM26x 范围之外的某些问题导致的。

    此致、
    Shaunak

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

    尊敬的 Evan:

    根据我们之前的讨论、我观察到我正在调试代码、并且在请求超时时监控我暂停了代码、我正在检查问题发生的位置、因此每次我有超时、都会看到此部件停止运行。

    我在表达式 LWIP_STATS 中观察到、这里我观察到数据包丢弃为 0。 模式



    但在 Etharp 中,它显示了一些下降。



    我认为我们的服务器意味着硬件正在发送数据、我们的驱动程序代码是 Struk/halt、在请求超时的某个位置、然后在一段时间后开始发送数据包。

    因为每次调试时、我都会观察到每当请求超时发生时、暂停我的代码、然后在时停止  TimerP_getCountPriv() 此功能。    这只是我的观察。


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

    尊敬的 AK:

    在 lwip_stats 中、我确实看到了一些 ARP 协议错误数据包。 您能否检查发送到 AM26x 的 ARP 数据包(可能是通过 Wireshark 发送?)

    ARP 协议错误确实会导致 ICMP 超时。  ICMP(Internet 控制消息协议)依靠 ARP(地址解析协议)将 IP 地址映射到本地网络中的 MAC 地址。  如果 ARP 未能将 IP 地址解析为相应的 MAC 地址、ICMP 回应请求(如 ping)将失败、从而导致超时。  

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    1.在这里我们直接连接我们的以太网 PC -> MCU 没有中间

    我在 Wireshark 中观察到 ARP 协议错误数据包、下面附上了这些错误数据包。



    下面我仅过滤了 ARP 协议。







    您能说它的解决方案是什么吗  

    1.我有一个问题是根据上面提到的这一主题焊接了自举电阻器、因此如果我们更改电阻器、我们的请求超时误差是否会解决?

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

    尊敬的 TI 团队:

    这已经有一段时间了,所以你可以给一些关于上述主题的建议。 Yoru 的评论对我们很有帮助。

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

    尊敬的 AK:

    我们的专家是 OOO、请期待下周中旬收到回复。

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

    尊敬的 AK:

    您能说这款产品的解决方案是什么吗 

    根据针对 ARP 数据包进行过滤的 Wireshark 屏幕截图、我没有看到任何 ARP 错误数据包、实际上、对于每个寻找 IP 地址的 ARP 请求、MCU 都以相关的 MAC 地址进行响应。 可能有一些防火墙阻止从外部世界到 PC 的数据包(您也可以检查此情况以确保没有数据包被丢弃或链路中没有大量流量过载)。 为避免 PC 开销、请尝试使用 Linux PC 进行一次测试  

    [quote userid=“611198" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1523290/am2634-bootstrap-resistor-value-in-dp83822/5906206 我有一个问题是根据上面提到的这个主题焊接了自举电阻器、因此如果我们更改电阻器、我们的请求超时错误是否会解决?

    这也可能是由于信号完整性或时序问题造成的。 对于 RMII 模式、如果 PHY 链路已建立并且能够从 MAC 和链路伙伴发送/接收、我不希望配置 (strap) 有所作为。  这可能是具有时序延迟的 RGMII 模式下的原因、但 RMII 模式没有通过搭接实现的这种配置

    此致、
    Shaunak