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.

[参考译文] TCI6638K2K:为什么 HyperLink0和 HyperLink1 SerDes 配置相互冲突?

Guru**** 2553450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608402/tci6638k2k-why-hyperlink0-and-hyperlink1-serdes-configuration-conflict-with-each-other

器件型号:TCI6638K2K

我根据 STK 例程初始化超链接、首先初始化 Hyperlink0、然后初始化 Hyperlink1、但问题发生:

1. Hyperlink0初始化成功;

2. 然后初始化 Hyperlink1、当 Hyperlink1 SerDesPLL 使能被执行时、将导致 Hyperlink0出现 lerror 和 rerror、但 Hyperlink1初始化成功;

交换两个超链接的初始顺序时、结果相同。 第一个初始超链接将出现错误。

两个超链接外设具有不同的寄存器地址和独立串行器/解串器通道、为什么会出现上述现象?

 

我使用"STK_20150216\K2_STK_DSP\超链接"示例项目。  

感谢你的帮助!

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

    我已通知工厂团队。 反馈将发布在此处。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    人工置顶 μ A
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否对 SerDes 配置进行了修改? 如果是、您是否尝试使用默认值运行?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复!

    我的超链接串行器/解串器速率为10GHz、参考时钟为156.25MHZ。  我尝试将速率从3.125更改为12.5GHZ、但不起作用。

    官方示例项目首先配置 hyperlink0,然后配置 hyperlink1,现在我更改了此顺序。 新订单为:

    1.我同时配置 Hyperlink0和 Hyperlink1、但我只是更改了寄存器的某些值、但不启用 serdersPLL;

    2.在两个超链接配置完成后,我执行 SerDesPLL 同时启用两个超链接(表示尽可能接近);

    根据上述时序配置、可以成功初始化超链接。

    为什么会发生这种现象?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否说明您使用的 PDK 的版本? 我们的交付产品没有 STK_20150216等版本号。 对于 Keystone2、它们通常命名如下:pdk_keystone2_3_01_01_04。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的 PDK 版本是3.01.03.06
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议从工作配置开始、然后在测试之间尽可能少地进行更改。 这里处理超链接的人认为、在启用任一超链接端口之前、您应该启用 SerDes。 就 PDK 版本而言、超链接相关项不应在3.1.3.6和3.1.4.7 (当前版本)之间发生更改。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的帮助、我将以这种方式对其进行测试并对结果进行反馈!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在两个启用了 μ,的超链接外设之前启用了 SerDesPLL、但 PLL 无法锁定,也无法建立超链接连接。
    下面是我现在使用的代码、它可以工作。

    … 配置超级链接寄存器........

    CSL_HyperlinkSerdesllEnable (CSL_Hyperlink_0_SERDES_CFG_REGS);
    CSL_HyperlinkSerdesllEnable (CSL_Hyperlink_1_SERDES_CFG_REGS);

    while (CSL_SERDES_STATUS_PLL_NOT LOCKED = K2_SerdesPLLGetStatus (CSL_超链接_0_SERDES_CFG_REGS));
    //gpHyperlinkRess[0]->CTL 是 Hyperlink0控制寄存器(0x04偏移量)
    gpHyperLinkRegs[0]->CTL &&μ~(CSL_VUsr_CTL_serial_stop_mask|CSL_VUsr_CTL_reset_mask);

    while (CSL_SERDES_STATUS_PLL_NOT LOCKED = K2_SerdesPLLGetStatus (CSL_超链接_1_SERDES_CFG_REGS));
    gpHyperLinkRegs[1]->CTL &&μ~(CSL_VUsr_CTL_serial_stop_mask |CSL_VUsr_CTL_reset_mask);

    我能不能有您的电子邮件地址,我会向您发送一个示例项目,我现在使用该项目。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该小组建议尝试使用3.1.4.7 PDK。 从一个驱动程序示例程序开始、这个程序起作用、然后开始修改。