文章 ID: 000086010 内容类型: 故障排除 上次审核日期: 2020 年 03 月 23 日

为什么我的Nios® II简单插槽服务器 (RGMII) 设计示例在采用 MARVELL PHY 的 英特尔 FPGA Development Kits 上运行以太网链路时出现故障?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • 英特尔® Nios® II 嵌入式设计套件 (EDS)
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    由于软件构建工具Nios® II问题Nios® II简单套接字服务器 (RMII) 模板的默认设置并非针对 MARVELL PHY,这导致错误的 PHY 配置,从而导致以太网链路断开。

    在Nios® II SBT 17.1 版及更高版本中观察到此问题。

    解决方法

    要变通解决此问题,用户需要修改模板中的以下参数以启用 MARVELL PHY RGMII 配置。

    浏览 至项目目录:../software/<project_name>/tse_my_system.c

    步骤 1.取消注释下一个定义:

    /* 如果使用 Marvell phy 并且您想要 RGMII 模式,请取消注释此定义 */

    #define SET_MARVELL_RGMII_MODE //取消注释此定义以启用 RGMII

    #ifdef SET_MARVELL_RGMII_MODE

    #define ADDITIONAL_PHY_CFG 和marvell_cfg_rgmii

    #else

    #define ADDITIONAL_PHY_CFG 0

    #endif

    步骤 2.找到定义“ifdef DESCRIPTOR MEMORY BASE”,验证函数 TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO 中要声明为“ETH_TSE”而非“TSE_0_TSE”的 first 参数

    如下一个代码部分所示:

    #ifdef DESCRIPTOR_MEMORY_BASE

    alt_tse_system_info tse_mac_device[MAXNETS] = {

    TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(ETH_TSE、0、TSE_0_DMA_TX、TSE_0_DMA_RX、TSE_PHY_AUTO_ADDRESS、ADDITIONAL_PHY_CFG、DESCRIPTOR_MEMORY)

    };

    相关产品

    本文适用于 2 产品

    英特尔® Cyclone®
    英特尔® MAX® CPLD 和 FPGA

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。