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.

[参考译文] J784S4XEVM:如何配置用于10G XFI 的时钟

Guru**** 2479025 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi

器件型号:J784S4XEVM

工具与软件:

您好!

我要在 XFI 上使用10G、因为我要使用156.25MHz 的时钟频率。 建议使用外部时钟并使用 SerDes 2的通道2作为 XFI。 是否也可以从内部时钟获取156.25MHz 也是一种很好的方法。

这是我到目前为止所做的:  

  • 。  k3-j784s4-exp1-exp2-usxgmii.dts 、我已将速度从5000更改为10000:
    • &main_cpsw0_port1{
      状态="正常";
      PHY 模式="usxgmii";
      MAC-ADDRESS =[00 00 00 00];
      phys =<&phy_gmii_sel_cpsw0 1>、<&serdes2_usxgmii_link>;
      PHY-names ="portmode"、"SerDes-phy";
      固定链接{
      速度=<10000>;
      全双工;
      };
      };
  • 还在  k3-j784s4-exp1-exp2-usxgmii.dts ,我检查了 serdes2 lane2被分配,正如我看到它被默认分配:  
    • &SerDes_ln_ctrl{
      空闲状态= 、 、
      、 、
      、 、
      、 、
      、 、
      、 ;
      };
  • 。  k3-j784s4-evm.dts 、我为 serdes2添加了一个节点、该节点包含我要使用的频率(156.25MHz):  
    • &serdes2_refclk {
      时钟频率=<156250000>;
      };*
  • 。  k3-j784s4-main.dtsi ,我复制了什么存在的 SerDes 为 serdes2 :  
    •  /{
      SERDES2_REFCLK:SERDES-REFCLK{
      #clock-Cells =<0>;
      Compatible ="固定时钟";
      };
      };
  • 还在  k3-j784s4-main.dtsi、 我用&serdes2_refclk 替换了 &serdes_refclk、并将状态切换为"oke":  
    • SerDes_fiz2:wiz@5020000 {
      兼容="ti、j784s4-wiz-10g";
      #address-cells =<1>;
      #size-cells =<1>;
      电源域=<&K3_PDS 406 TI_SCI_PD_Exclusive>;
      时钟=<&K3_CLKS 406 2>、<&K3_CLKS 406 6>、<&K3_CLKS 406 5>、<&serdes2_REFCLK>;
      时钟名称="fck"、"core_ref_clk"、"core_ref1_clk"、"ext_ref_clk";
      num-channels =<4>;
      #reset-cells =<1>;
      #clock-Cells =<1>;
      范围=<0x05020000 0x0 0x05020000 0x00010000>;

      分配的时钟数=<&K3_CLKS 406 6>;
      Assigned-clock-parents =<&K3_CLKS 406 10>;

      状态="正常";

  • 还在  k3-j784s4-main.dtsi 我还明白我需要使用&serdes2_refclk 在 assigned-clock-parents 中,但我不明白使用哪个 PLL :
    • Serdes2: SerDes@5020000 {
      兼容="ti、j721e-SerDes-10g";
      REG =<0x05020000 0x00010000>;
      reg-names ="torrent_phy";
      重置=<&SerDes_wiz2 0>;
      reset-names ="torrent_reset";
      Clocks =<&SerDes_wiz2 TI_wiz_PLL0_REFCLK>、
      <&SerDes_wiz2 TI_wiz_PHY_EN_REFCLK>;
      时钟名称="REFCLK"、"phy_en_REFCLK";
      分配的时钟=<&SerDes_wiz2 TI_wiz_PLL0_REFCLK>、
      <&SerDes_wiz2 TI_wiz_PLL1_REFCLK>、
      <&SerDes_wiz2 TI_wiz_REFCLK_DIG>;
      ASSIGNED-CLOCKDNED =<&K3_CLKS 406 6>
      <&K3_CLKS 406 6>
      <&K3_CLKS 406 6>;
      #address-cells =<1>;
      #size-cells =<0>;
      #clock-Cells =<1>;

      状态="已禁用";
      };
      };

以下是我的问题:  

  • 按照我刚才公开的方法、剩余的任务是在"assigned-clock-parents"字段中以红色分配&serdes2_refclk、这是正确的方法吗?
  • 我们是否需要单独激活外部时钟? 我想应该在 u-boot 源码中激活它、您对它的激活过程有什么看法吗?

谢谢!  

此致、

Wissam

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

    尊敬的 Wissam:

    首先、请在此处浏览 Foundational_Components 文档:https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/10_00_00_08/exports/docs/linux/SerDes/Kernel/SERDES/SR2001/SERDES.html Kernel_Drivers

    您所做的就是修改外部时钟、而156.25MHz 时钟则是内部时钟。

    您需要将"<&K3_CLKS 406 6>"设置为156.25、方法是将其父级更改为"<&K3_CLKS 406 9>"、可以按如下方式将其配置为156.25MHz;

    Still in k3-j784s4-main.dtsi, I replaced &serdes_refclk by &serdes2_refclk and switched the status to "okay" : 
    serdes_wiz2: wiz@5020000 {
    compatible = "ti,j784s4-wiz-10g";
    #address-cells = <1>;
    #size-cells = <1>;
    power-domains = <&k3_pds 406 TI_SCI_PD_EXCLUSIVE>;
    clocks = <&k3_clks 406 2>, <&k3_clks 406 6>, <&k3_clks 406 5>, <&serdes_refclk>;
    clock-names = "fck", "core_ref_clk", "core_ref1_clk", "ext_ref_clk";
    num-lanes = <4>;
    #reset-cells = <1>;
    #clock-cells = <1>;
    ranges = <0x05020000 0x0 0x05020000 0x00010000>;
    
    assigned-clocks = <&k3_clks 406 6>;
    assigned-clock-parents = <&k3_clks 406 9>;
    
    status = "okay";

    这应该可行、并将其中一个参考时钟的父时钟设置为156.25MHz。

    请通过运行"k3conf 转储时钟406"并查看时钟 ID 9实际上是156.25MHz、而时钟 ID 5是100MHz 来验证这一点

    此致、
    Tanmay

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

    您好、Tanmey、

    感谢您的答复、我已设置 Assigned-clock-paradents =<&K3_CLKS 406 9>、如上所述、但它仍然不工作。 当我运行 "k3conf 转储时钟406"时、时钟 ID 5确实是100MHz、但我没有找到时钟 ID 9的值156.25MHz:  

    是否有其它配置将156.25MHz 分配给时钟 ID 9?

    谢谢!

     

    此致、

    Wissam

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

    您好!

    我曾有机会进行这方面的工作,对于我们使用10GB 与 XFI 的案例,我对如何初始化时钟和交换机端口感到困惑。

    我知道以太网接口应该在中初始化  k3-j784s4-exp1-exp2-usxgmii.dts 但我们也在使用 ethfw、其中的核心 R5F MCU2_0用作服务器。 我看到 CPSW9G 交换机,串行器/解串器时钟和 PHY 是由核心 R5F MCU2_0配置的,这要归功于本指南:以太网固件:移植指南

    在这种情况下、我应该在 R5F 侧进行时钟/开关配置吗? 我想、如果在2个不同的位置配置它、可能会产生问题。

    谢谢!

    此致、

    Wissam

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

    尊敬的 Wissam:

    如果使用 ethfw、"k3-j784s4-exp1-exp2-usxgmii.dts"不是要使用的器件树。 您应该使用"arch/arm64/boot/dts/ti/k3-j784s4-evm-virt-mac-client.dtso"来将 CPSW 与 ethfw 配合使用。

    在这种情况下、时钟和串行器/解串器的配置应从 Ethfw 进行。

    此致、
    Tanmay

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

    您好、Tanmay,

    我尝试在 ethfw 中进行配置。 为此、我尝试了使用 以太网固件:移植指南。 根据我的理解,我需要遵循以下步骤:  

    1.以太网端口配置:在 Board_j784s4_evm.c 中,我将端口1和2归因于 USXGMII 10G 并 在 findportcfg 中称为 gEthFw_macPortCfg

    在 pdk/packages/ti/board/sdc/j784s4_evm/board_ethernet_config.c 中 src:

    2. SerDes 配置:在 Board_j784s4_evm.c 中,我调用函数 Board_serdesCfgUsxgmii 而不是 Board_serdesCfgQsgmii ,我把 SerDes 2的时钟设置为156.25MHz :

    在 pdk/packages/ti/board/microsoft/j784s4_evm/board_SerDes_cfg.c 中 src、我选择了156.25MHz 的内部时钟和10p3125G 的链接速率

    在这些配置之后,似乎仍然存在问题,因为内核 R5F 无法再正确引导,这些是我从 A72 UART 获得的用于 R5F 的唯一日志:  

    R5F UART 也会显示一个错误:

     

    我注意到该错误出现、尤其是在将 SerDes 初始化为 USXGMII 后。

    在此基础上、我的问题是如何针对 XFI/USXGMII 10G 初始化串行器/解串器2。

    谢谢!

    此致、

    Wissam

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

    您好、Sudheer:  

    非常感谢您的答复。 下面是我的更新:

    信息: 在 TRM 中,我们看到只有 Serdes2信道2和信道3与 XFI 10G 兼容。 因此、硬件团队决定直接在 EVM 底部的串行器/解串器2通道2上连接一根10G 电缆、这意味着我们移除了 Qenet 子卡。

    • 在知道我们要使用串行器/解串器2通道2的情况下、我从 TRM 中了解到串行器/解串器2通道2与 Enet 端口 1相关、因此我成功地对端口1进行了初始化。 我们可以看到寄存器的值为5、这是 USXGMII/XFI 的预期值:  

    • 然后、在 board_SerDes_cfg.c 中、我像这样初始化了 laneNum 和 laneMask。 我提供了 laneNum =  Board_SERDES_SGMII_ENET1_LANE_NUM、 laneMask = Board_SERDES_SGMII_ENET1_LANE_MASK、board_SERDES_SGMII_ENET1_LANE_NUM  中的值定义为2U 这是正确的做法吗? 下面是屏幕截图 :  

     然后、我想从串行器/解串器寄存器中检查选择了哪个、理想情况下与时钟频率相关。 我想看看              如上所示、在地址0x001040A8处的 SERDES2_LN2_CTRL_LANE_FUNC_SEL、但该值始终为0、我找不到检查频率的方法。

    • 我还调查了为什么 R5F 不能正确引导,实际上似乎 R5F 卡在 while 循环中试图找到链接的端口:  

    基于此问题、按照您提到的方式、似乎找不到 USXGMII PHY。 我想这也可能来自串行器/解串器配置、因为如果初始化不正确、我们可能会预期 USXGMII PHY 位于错误的串行器/解串器上。 这就是检查串行器/解串器配置和寄存器也会有用的原因。

    谢谢!

    此致、

    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5558661 #5558661"]鉴于我们要使用串行器/解串器2通道2、我从 TRM 了解到串行器/解串器2通道2与 Enet 端口1有关、 因此我成功地将端口1初始化。 我们可以看到寄存器的值是5 ,这是 USXGMII/XFI 的预期值: [/报价]

    是的、端口1为 XFI/USXGMII。

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5558661 #5558661"]然后、在 board_SerDes_cfg.c 中、我初始化了 laneNum 和 laneMask、如下所示。 我提供了 laneNum =  Board_SERDES_SGMII_ENET1_LANE_NUM、 laneMask = Board_SERDES_SGMII_ENET1_LANE_MASK、board_SERDES_SGMII_ENET1_LANE_NUM  中的值定义为2U 这是正确的做法吗? 以下是屏幕截图 

    可以启用串行器/解串器的通道2。

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5558661 #5558661"]然后我想从串行器/解串器寄存器中查看选择了哪个寄存器、最好是与时钟频率相关的寄存器。 我想看看              地址为0x001040A8的 SERDES2_LN2_CTRL_LANE_FUNC_SEL、但如上所示、该值始终为0、我找不到检查频率的方法。[/QUOT]

    串行器/解串器通道 CTRL 不提供有关串行器/解串器时钟的信息。
    它提供为串行器/解串器通道选择的 IP。 对于 SERDES2_LN2应为1
    您能否检查"Board_SERDES_LANE_SELECT_CPSW"的值是否为1以选择 SEDES2 LN2 (即端口1)上的 IP2。 如果为0表示 IP1、即端口7。

    我还调查了 R5F 为何无法正确引导、实际上 R5F 似乎卡在 while 循环中、试图查找链接的端口

    是的、在端口建立链路之前、将通过协商 PHY 和 MAC 来解决该问题。
    嗜酸性粒细胞模式基于 MAC 端口配置、其中 PHY ADDR 为无效、即 MAC2MAC 连接类型。 PHY 已自举并针对 USXGMII 模式启用。

    请检查您的 PHY 是否支持自动协商? 此外、串行器/解串器时钟配置为156.25MHz。

    此致、
    Sudheer

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

    您好!

    对于串行器/解串器配置、我检查了  Board_SERDES_LANE_SELECT_CPSW 的值、实际上它被设置为1、而结构参数 serdesLaneEnableParams.phyInstanceNum 像预期的那样设置为1。

    该程序显然考虑了156.25MHz 的 SerDes 频率、  

    但我不  像预期那样看到寄存器 SERDES2_LN2_CTRL_LANE_FUNC_SEL 为1、因此我想未选择串行器/解串器2通道2。

     

    是否可以对选择 Serdes2 lane2进行其他更改?

    谢谢!

    此致、

    Wissam

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

    大家好,我有一个来自硬件团队的反馈有关连接到串行器/解串器的 PHY 的自动协商,下面是答案:  

    我们没有 PHY 组件(如在 Base-T PHY 中)、我们有一个支持 XFI 的 SFP 模块。 因此,无需协商;只要比特率在9.95Gb/s 到10.5Gb/s 之间,它就会将电 XFI 转换为光学信号

     

    黑盒模块的基准是 LGC220A。

    此致、

    Wissam

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

    您好!

    串行器/解 串器配置会调用 CSL_serdesIPSelect() API 来进行串行器/解串器通道选择。 它将配置串行器/解串器通道控制。

    此外、请确保未从 u-boot 和 Linux 配置 SerDES2。

    此外、 请分享您使用的 SDK 版本的详细信息?

    此致、
    Sudheer

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

    您好!  

    我试图在下面的屏幕截图中注释该循环,其中代码被卡住试图找到一个 Phy :

    结果,代码完成初始化,调度程序启动,我们进入空闲任务,但我有几个失败:  

    另外、我不明白为什么 MAC 端口1要搜索 PHY (即使我们采用了吸引人的.phyaddress = ENETPHY_INVALID_PHYADRRESS)

    我可以仔细检查代码是否转到  CSL_serdesIPSelect (),因为 SERDES2_LN2_CTRL_LANE_FUNC_SEL 仍然为0。

    我正在使用 CCS 的调试器在引导完成后执行代码、所以我认为 ethfw 的 Serdes 配置应该从 u-boot 中擦除其中一个、但我不确定。 我仍然可以从 u-boot 停用它,你能确认我可以从哪个文件做它吗?

    我正在使用 SDK RTOS ti-processor-sdk-rtos-j784s4-evm-09_01_00_06和 SDK Linux ti-processor-sdk-linux-j784s4-evm-08_06_01_02。

    此致、

    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5566535 #5566535"]我正在使用 SDK RTOS ti-processor-sdk-rtos-j784s4-evm-09_01_00_06和 SDK Linux ti-processor-sdk-linux-j784s4-evm-08_06_01_02 。

    针对 XFI/USXGMII 的 SerDes2通道配置的 SDK 9.1存在问题。 请在 pdk/packages/ti/CSL/pdk lib/serdes_cd/v3/csl_serdes3.c 文件中进行以下更改、然后重新编译 src 库。



     注意:
    1. 9.1 SDK ETHFW 与8.6 Linux ETHFW 客户端不兼容。 请同时迁移 Linux SDK 9.1。
    2.上述通道选择问题已在9.2 SDK 中解决。

    此致、
    Sudheer

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

    您好!

    感谢您的答复、

    • 您是否建议将 SDK RTOS 升级到  ti-processor-sdk-rtos-j784s4-evm-10_00_00_05、并将  SDK Linux 升级到 ti-processor-sdk-linux-adas-j784s4-evm-10_00_00_08?
    • 是否使用2个 SDK 10测试了 XFI 10G?

    如果您判断 SDK RTOS  ti-processor-sdk-rtos-j784s4-evm-09_02_00_05和 SDK Linux  ti-processor-sdk-linux-adas-j784s4-evm-09_01_00_06更准确、则我们可以使用它。 此外、您是否建议安装等效的 SDK 版本、例如 SDK RTOS 9.2和 SDK Linux 9.2或 SDK RTOS 9.1和 SDK Linux 9.1?

    此外、我不清楚为什么需要升级 SDK Linux、这是因为在以前的 SDK Linux 中、串行器/解串器是从 u-boot 中选择的吗?

    谢谢!

    此致、
    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5568705 #5568705"]
    • 您是否建议将 SDK RTOS 升级到  ti-processor-sdk-rtos-j784s4-evm-10_00_00_05、并将  SDK Linux 升级到 ti-processor-sdk-linux-adas-j784s4-evm-10_00_00_08?
    • 是否使用2个 SDK 10测试了 XFI 10G?
    [报价]

    是的、它在10.0中进行了测试

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5568705 #5568705"]如果您判断 SDK RTOS  ti-processor-sdk-rtos-j784s4-evm-09_02_00_05和 SDK Linux ti-processor-sdk-linux-adas-j784s4-evm-09_01_00_06 更准确、则可以使用此函数

    9.1遇到上述问题的原因、我们无法从 SerDes2验证 XFI、但我们可以从 SerDes1验证。
    此外、根据上述更改、您也可以在串行器/解串器2上验证。

    所有 SDK 都适用于 XFI/USXGMII、我们需要根据需要进行串行器/解串器配置和时钟。  

    此外、您是否建议安装等效的 SDK 版本、例如 SDK RTOS 9.2和 SDK Linux 9.2或 SDK RTOS 9.1和 SDK Linux 9.1?

    是的、这就是 TI 如何在 TI EVM 上评估 SDK 的方式。

    此外、我还不清楚为什么需要升级 SDK Linux、这是因为在以前的 SDK Linux 中、串行器/解串器是从 u-boot 中选择的吗?

    而不是串行器/解串器配置、每个 SDK 都对驱动程序进行了一些增强并修复了错误。
    此外、如果要在 MCU2_0核心和 Linux A72客户端上将 CPSW9G 与 ETHFW 服务器一起使用 、则还需要将 Linux SDK 迁移到最新版本、以用于客户端和服务器通信、因为协议已从8.6修改为9.1。

    此致、
    Sudheer

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

    您好!

    谢谢,我升级了我的 SDK Linux,现在这是我的设置:  

    • TI-PROCESSOR-SDK-RTOS-j784s4-evm-09_01_00_06及您的更改

    • TI-PROCESSOR-SDK-LINUX-ADAS-j784s4-EVM-09_01_00_06

    由于这一点,我可以从寄存器看到 Serdes2 lane2被选中:  

    请注意、此寄存器值首先更改而不应用上述更改、然后我仍然应用它以进行同步。

    我还检查了用于 Serdes2 lane2 (TISCI_DEV_SERDES_10G2_CORE_REF_CLK)的时钟频率、并得到了156250000

    我还看到端口1 10G 已启动:  

    现在我们有:  

    • CTRL_MMR_CFG0_CPSW2_ENET1_CTRL_PROXY = 0x5、这意味着为 USXGMII/XFI 设置端口1
    • CTRL_MMR_CFG0_SERDES2_LN2_CTRL = 0x1、这意味着选择了 Serdes2 lane2
    • 根据来自 Linux 的信息、将 TISCI_DEV_SERDES_10G2_CORE_REF_CLK 设置为156250000

    但 ping 仍然不成功、因为我尝试从外部10G PC ping R5F。

    我是否需要执行/检查其他操作才能执行 Ping 操作?

    我还有一个来自硬件团队的问题:  

    我们是否可以将 SERDES 配置为生成和检查测试模式(如 PRBS31)、以便排除任何硬件/连接问题?

    我们可以连接面向 SERDES 的 BER 测试仪以监控任何错误。

    谢谢!

    此致、

    Wissam

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

    您好!

    我是否需要执行/检查其他操作才能 ping?

    您能否通过转储来自10G 端口的任何 Tx 或 Rx 正常帧的 CPSW 统计数据进行检查。
    请参阅常见问题解答、并集成补丁以转储 CPSW 统计信息。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1220277/faq-tda4vm-how-to-get-cpsw-ethernet-statistics-on-tda4-dra8-devices

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5569330 #5569330"]

    我还有一个来自硬件团队的问题:  

    我们是否可以将 SERDES 配置为生成和检查测试模式(如 PRBS31)、以便排除任何硬件/连接问题?

    我们可以连接面向 SERDES 的 BER 测试仪以监控任何错误。

    [报价]

    您能否发布有关此问题的新问题、将由 H/W 专家解答。

    此致、
    Sudheer

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

    您好!

    我试着检查以太网端口的统计数据,我看不到任何端口上的任何流量。 我曾在 CCS 上尝试过、我也曾尝试应用补丁并通过 A72执行、但我也看不到任何内容。

    为了确保我们使用 XGMII、我停用了  Cpsw_isPortLinkUp 中的标志 CPSW_SGMII:

    我检查了 地址0x0C00 0074处的寄存器 XGMII1_LINK、寄存器值为1、表示 XGMII1已启动。

    之后、当我从 PC 执行 ping 操作时、仍然看不到任何流量。

    我告诉我的硬件团队发布新的问题。

    谢谢!

    此致、

    Wissam

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

    您好!

    请您与我们分享这些统计数据。

    另外、您能分享 SerDes PLL 锁状态地址:0x0502e000吗?

    此致、
    Sudheer

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

    您好!

    很抱歉,我有一个年终假期。 新年快乐,祝你好运。

    在这里你可以看到统计的屏幕截图:

    和你所问的寄存器的值:

    我还尝试断开并重新连接我的10G PC。 当我断开它时、这个寄存器的值为0x00、当我重新连接它时、该值变为0x01:

    谢谢!

    此致、

    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5588424 #5588424"]

    和你所问的寄存器的值:

    [报价]

    从上述串行器/解串器 PLL 锁定寄存器、PLL 被锁定、即时钟被配置。

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5588424 #5588424"]

    我还尝试断开并重新连接我的10G PC。 当我断开它时、这个寄存器的值为0x00、当我重新连接它时、该值变为0x01:

    [报价]

    从上面看来、连接电缆时端口1 XGMII 链路已接通。

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5588424 #5588424"]

    在这里你可以看到统计的屏幕截图:

    [报价]

    您将无法使用 GEL 脚本或读取 CPSW 寄存器来正确获取统计信息、因为默认情况下、ETHFW 会运行一个任务来读取 CPSW 统计信息。  

    请使用以下常见问题解答中分享的补丁来收集 CPSW 统计信息。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1220277/faq-tda4vm-how-to-get-cpsw-ethernet-statistics-on-tda4-dra8-devices

    另外、默认情况下、MAC 端口1配置为仅 MAC 端口并映射到 A72客户端。
    如果要从 MCU2_0 ETHFW 中使用、则需要通过在下面添加注释以形成"ethfw/apps/app_remoteswitchcfg_server/concerto .mak"文件来禁用仅 MAC 端口支持、并重新编译 ETHFW。


    根据端口链路接通状态、您使用的是来自串行器/解串器2通道2的端口1。

    此致、
    Sudheer

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

    您好!

    我应用了你提到的补丁,下面是统计:

    我还按照您建议添加了"ENABLE_MAC_ONLY_PORTS"的注释。 这条线在 Concerto.mak 的3个不同的位置存在,所以我评论了他们所有,并重建 ethfw :

    我确实选择使用端口1、因为它连接到串行器/解串器2通道2、我如上所示为 USXGMII 配置了端口2。

    谢谢!

    此致、
    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5590095 #5590095"]

    我应用了你提到的补丁,下面是统计:

    [报价]

    从上述统计信息来看、似乎只发生了来自 CPSW 端口1的 Tx、但没有 Rx 数据包。

    您能否检查 PHY 端(如果 PHY 可用)或对等端(如果是 MAC2MAC 连接)。

    我也按照您建议的那样添加了"enable_MAC_ONLY_PORTS"。 这条线在 Concerto.mak 的3个不同的位置存在,所以我评论了所有的地方,并重建了 ethfw :[/报价]

    可以禁用仅来自服务器的 MAC。

    此致、
    Sudheer

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

    您好!

    我们对硬件进行了一些测试:  

    • 我们尝试从 R5F 发送 UDP 帧并对电路板本身进行了循环、如下面所示。 其目的是检查 Jacinto 是否可以接收发送到 SFP 输出端的帧。 它似乎可以正常工作、因为现在我们可以根据下面的统计数据在端口1上看到 Rx 帧。 此外、Tx 帧数与 Rx 帧数相同。

     

    • 然后、我们想在另一端使用 PC 测试设置、但从 PC 发送 ping 时、从板的统计信息中看不到任何 Rx 帧。 我们还从板发送 UDS 数据包。 在分析 PC 端的统计数据时、我们可以观察到绿灯、这意味着链路已建立、但我们看不到任何数据包到达。 在电路板侧、从 PC 执行 ping 操作时未看到任何 Rx 数据包。

    我们认为、从电路板上取出的数据格式可能与从 PC 上取出的数据格式不同、或者激活了 FEC、自动求和或强调功能。

    我们是否有任何设置要更改以与10G PC 通信、或者 您是否有更多寄存器建议(例如检查 FEC、自动协商状态或强调)?

    如果您对我们的测试设置有任何建议、我们也处于开放状态。

    谢谢!

    此致、

    Wissam

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

    您好!

    [报价 userid="621619" url="~/support/processors-group/processors/f/processors-forum/1428207/j784s4xevm-how-to-configurate-the-clock-to-use-for-10g-xfi/5595128 #5595128"]

    • 我们尝试从 R5F 发送 UDP 帧并对电路板本身进行了循环、如下面所示。 其目的是检查 Jacinto 是否可以接收发送到 SFP 输出端的帧。 它似乎可以正常工作、因为现在我们可以根据下面的统计数据在端口1上看到 Rx 帧。 此外、Tx 帧数与 Rx 帧数相同。
    [报价]

    CPSW 侧没有问题。

    然后、我们希望在另一端使用 PC 测试设置、但从 PC 发送 ping 时、我们看不到来自主板统计数据的任何 Rx 帧

    您是否尝试过在 SFP 之后和 SFP 板之前循环从 PC 发送的数据? 如果经过测试、您是否接收到相同的传输数据?

    USXGMII 单链路由 TI 以及少量其他客户在 MAC2MAC 连接模式下进行测试。

    此致、
    Sudheer

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

    您好!

    我们尝试在 SFP 之后和 SFP 板之前将 PC 连接到另一台 PC、我们看到两台 PC 之间的 ping 操作正常。 这就是我们认为 PC 和该电路板之间可能存在兼容性问题的原因。

    谢谢!

    此致、

    Wissam

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

    您好!

    您在板上配置 USXGMII 模式下的 CPSW 端口。
    如果 SFP 板支持 USXGMII、理想情况下应该能正常工作。

    您能否确认一下、您的硬件原理图是否已由 TI 硬件团队审查? 如果没有、请创建新的硬件原理图检查 TT、并检查硬件团队的反馈。

    此致、
    Sudheer

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

    您好!

    标签在此处创建: J784S4XEVM:如何从 SERDES 生成测试模式(PRBS)? -处理器论坛-处理器- TI E2E 支持论坛

    谢谢!

    此致、

    Wissam

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

    您好!

    在此处创建票证: J784S4XEVM:如何从 SERDES 生成测试模式(PRBS)? -处理器论坛-处理器- TI E2E 支持论坛。[/QUOT]

    这项任务分配给 SerDes IP 专家。

    让我们从他那里得到反馈。

    此致、
    Sudheer

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

    您好!

    谢谢你。 我还有一个问题、我知道您和您的客户端在 MAC2MAC 中测试了10G 连接、您的其中一个客户端是否测试了与另一个器件(而不是 Jacinto)的 MAC2MAC 连接?

    谢谢!

    此致、

    Wissam

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

    您好!

    谢谢。 我还有一个问题、我知道您和您的客户端在 MAC2MAC 中测试了10G 连接、您的一个客户端是否测试了 MAC2MAC 与另一个设备(而不是 Jacinto)的连接?

    是的、很少有 Marvel 交换机连接到 CPSW9G 以实现10G 链路速度。

    此致、
    Sudheer