qq_39832553 2023-05-10 09:34 采纳率: 0%
浏览 274
已结题

88e1111 RGMII转SGMII不通

88e1111工作在RGMII转SGMII模式下如下图

img


如果phy 连接phy可以ping 通,phy连接mac则不能ping通。但是如果交换机配置为1000base-x,88e1111强制1000M,也能通。但是交换机在sgmii模式下则不通。

  • 写回答

4条回答 默认 最新

  • qllaoda 2023-05-10 10:10
    关注

    要把KD5886的MII接口设置为PHY MODE,88E111接PHY能工作,说明88E111要求对面是PHY mode。
    确认一下交换机那个个MII接口能否设置为phy mode。
    小端口交换机独立的MII接口大多可以工作在phy mode,方便接到CPU的MAC上,用于路由方案之类的。

    评论 编辑记录
  • 百晓生2023 2023-05-10 12:50
    关注
    该回答引用ChatGPT
    根据您提供的情况,可能有以下原因:

    1. 88e1111的RGMII转SGMII配置可能不正确,以至于不能正确转换为SGMII模式。可能需要检查配置是否正确并重新设置。

    2. MAC或交换机的配置不正确,导致无法正确通信。可以尝试重新配置MAC和交换机。

    3. SGMII接口可能存在问题,例如物理连接不良或信号干扰等。可以通过更换连接线或重新设计线路来解决。

    请注意,可能还有其他原因导致这种情况发生,需要进行进一步的调试和分析。以下是88e1111的RGMII转SGMII代码,可以参考:


    // RGMII to SGMII Configuration
    gmii2rgmii_config_t gmii2rgmii_Config =
    {
    .tx_clk_pad_skew = 0x0,
    .rx_clk_pad_skew = 0x0,
    .tx_data_pad_skew = 0x0,
    .rx_data_pad_skew = 0x0,
    .rx_ctl_pad_skew = 0x0,
    .tx_ctl_pad_skew = 0x0,
    .tx_clk_dly = 0x0,
    .rx_clk_dly = 0x0,
    .tx_data_dly = 0x0,
    .rx_data_dly = 0x0,
    .tx_ctl_dly = 0x0,
    .rx_ctl_dly = 0x0,
    .tx_crossover = RGMII_TO_SGMII,
    .rx_crossover = SGMII_TO_RGMII,
    };
    GMII2RGMII_Config(pHandle,&gmii2rgmii_Config);


    希望这可以帮助您更好地解决这个问题。

    展开全部

    评论
  • 何時 2023-05-10 16:10
    关注

    需要确认的是两边的模式配对 是否能够对上
    需要确认硬件连接
    需要确认rgmii 2sgmii 是否已经成功

    评论
  • 极客智能体-在线 2023-05-12 02:20
    关注

    以下答案由GPT-3.5大模型与博主波罗歌共同编写:
    这个问题涉及到的知识点比较多,需要仔细分析。根据您提供的信息,我理解您的情况是这样的:

    您的系统中有一个88e1111的芯片,它的工作模式是RGMII转SGMII。

    您有两种测试方案:

    • 将88e1111的SGMII口连接到一个PHY,在PHY处可以ping通。
    • 将88e1111的SGMII口连接到MAC,在MAC处不能ping通。

    您还发现,当交换机的配置为1000base-x时,88e1111的SGMII口强制为1000M时,连接到MAC处也能够ping通。但是在SGMII模式下不行。

    针对这个问题,有几个可能的原因:

    1. 物理层连接问题

    交换机的配置为1000base-x时,88e1111的SGMII口改为了1000M,并且使用1000base-x自适应光模块与交换机相连。这意味着在1G速率下,您的物理层连接是没有问题的。但是在SGMII模式下,如果您使用的物理层接口配置有误,或者焊接有问题,就会导致MAC无法正常通信。您可以检查一下您的物理层连接是否正确。

    1. SGMII配置问题

    在RGMII转SGMII模式下,设置SGMII参数是至关重要的。您需要根据芯片手册正确设置对应的寄存器,以确保SGMII口能够正常工作。这些寄存器包括PHY_MODE控制寄存器、SGMII控制寄存器等等。您可以检查一下您的SGMII配置是否正确。

    1. MAC配置问题

    在MAC侧,您需要根据芯片手册正确配置寄存器,以使MAC能够正确地与SGMII口通信。这些寄存器包括MAC控制寄存器、PHY控制寄存器等等。您可以检查一下您的MAC配置是否正确。

    在这里给出一些可能有用的代码:

    SGMII配置:

    /* 设置SGMII寄存器 */
    #define SGMII_MODE_REG  0x10    // SGMII控制寄存器
    
    /* SGMII mode */
    #define SGMII_TX_CLK_DELAYED_MASK   0x8000  // TX时钟延迟控制
    #define SGMII_RX_CLK_DELAYED_MASK   0x4000  // RX时钟延迟控制
    #define SGMII_SPEED_1000            0x2000  // 1000M速率
    #define SGMII_SPEED_100             0x1000  // 100M速率
    #define SGMII_FULL_DUPLEX           0x0800  // 全双工
    #define SGMII_PREAMBLES             0x0400  // SGMII前导码控制
    #define SGMII_TX_EN                 0x0200  // SGMII TX使能
    #define SGMII_RX_EN                 0x0100  // SGMII RX使能
    #define SGMII_AN_EN                 0x0080  // SGMII AN功能使能
    #define SGMII_LINK_UP               0x0040  // SGMII连接状态
    #define SGMII_MODE_SGMII            0x0001  // SGMII模式
    
    #define SGMII_SPEED_BOTH (SGMII_SPEED_1000 | SGMII_SPEED_100)
    
    #define SGMII_DEF_CONF \
        SGMII_TX_CLK_DELAYED_MASK | SGMII_RX_CLK_DELAYED_MASK | \
        SGMII_SPEED_BOTH | SGMII_FULL_DUPLEX | SGMII_PREAMBLES | \
        SGMII_TX_EN | SGMII_RX_EN | SGMII_AN_EN | SGMII_MODE_SGMII
    
    writel(SGMII_DEF_CONF, SGMII_MODE_REG);
    

    MAC配置:

    /* 设置MAC寄存器 */
    #define MAC_CONFIG_REG 0x0   // MAC控制寄存器
    #define PHY_IF_SEL     0x80  // PHY接口选择
    #define FULL_DUPLEX    0x40  // 全双工
    #define PROMISCUOUS    0x20  // 接收所有帧
    #define CRC_CHECK      0x10  // CRC校验
    #define LOOPBACK       0x08  // 回环模式
    #define TX_ENABLE      0x04  // 传输使能
    #define RX_ENABLE      0x02  // 接收使能
    #define RESET          0x01  // 软件复位
    
    #define MAC_DEF_CONF \
        PHY_IF_SEL | FULL_DUPLEX | \
        CRC_CHECK | TX_ENABLE | RX_ENABLE
    
    writel(MAC_DEF_CONF, MAC_CONFIG_REG);
    

    希望这些信息可以对您有所帮助。如果问题仍然无法解决,请提供更多详细信息和代码,以便我们更好地帮助您。
    如果我的回答解决了您的问题,请采纳!

    展开全部

    评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月14日
  • 创建了问题 5月10日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部