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.

[参考译文] 66AK2G12:sRIO 通信期间串行器/解串器寄存器值应用的时序

Guru**** 2650625 points

Other Parts Discussed in Thread: 66AK2G12

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1587083/66ak2g12-timing-of-serdes-register-value-application-during-srio-communication

器件型号: 66AK2G12

大家好!

相关问题 KeyStone II 架构串行器/解串器 (SerDes)
第 17.2.2 节 Lane_004–004 处的寄存器

SIGDET_OVR_O_1_0设置为时0x0、当设置为0x2时、在期间的哪个点 SRIO 通信 分配的值是否会TXDRV_ATT_IN_OVR_O_3_0反映在信号中?

此外、在使用过程中、我们按如下所示进行初始化。 但是、当我们在以下实施示例中“读取串行器/解串器设置“时、显示的串行器/解串器设置值TXDRV_ATT_IN_OVR_O_3_0 = 0x8(对应于)SIGDET_OVR_O_1_0 = 0x0
0xCSIGDET_OVR_O_1_0 = 0x2不读回值(对应于)。

实现示例:

  • 在 SerDes 配置函数中、使用以下值进行初始化:

    设置SIGDET_OVR_O_1_00x0并分配 TXDRV_ATT_IN_OVR_O_3_0 = 0x8
    设置SIGDET_OVR_O_1_00x2并分配 TXDRV_ATT_IN_OVR_O_3_0 = 0xC
    }
  • 读取 SerDes 设置
  • 启动 sRIO 链路建立
  • 启动 sRIO 通信

此致、

ITO

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

    ITO

    我将查看有关此主题的可用信息。  

    ——保罗

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

    ITO

    66AK2G12 没有 SRIO 接口。  您能提供更多详细信息吗?

    ——保罗  

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

    您好、Paul:

    感谢您的答复。

    我的客户使用的是 66AK2H06DAAW24。
    您是否有关于 SRIO 接口的任何信息?

    此致、

    ITO

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

    ITO

    器件产品文件夹中提供了 sRIO 用户指南: 适用于 KeyStone 器件的串行 RapidIO (SRIO) 用户指南(修订版 C)

    我没有任何可以帮助回答您最初问题的信息。  

    ——保罗  

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

    尊敬的 LTO:

    我想推荐以下与 Keystone-2 架构 SRIO 相关的文档:

    1.  KeyStone II 架构 — 串行器/解串器 (SerDes):  https://www.ti.com/lit/ug/spruho3a/spruho3a.pdf?

    2.  KeyStone I 和 II 器件上的 SerDes 链路调试 : https://www.ti.com/lit/an/sprac37/sprac37.pdf?

    根据第 17.2.2 节、 004 (LANE_004) 时的寄存器字段说明如下:

    SIGDET_OVR_O_1_0 覆盖信号检测输出(LANE_004 内的 2 位字段)。

    TXDRV_ATT_IN_OVR_O_3_0 是 LANE_004 中的单个实时 TX 振幅控制字段、其值在写入寄存器(通道处于活动状态)后立即对发送信号生效。

    如果始终读回 0x8、则意味着稍后的 0xC 写入从不会实际更新该字段或被后续串行器/解串器初始化代码覆盖。

    您能否确认在写入 TXDRV_ATT_IN_OVR_O_3_0 之前清除了位[28:25] ?  有时、不正确的屏蔽会阻止更新字段。

    &您还可以参考 SDK 中提供的配置设置。  

    路径:pdk_k2hk_4_0_16/packages/ti/csl/ip/serdes_sb src  

    此致、

    Betsy Varughese.

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

    尊敬的 Varughese:

    感谢您的帮助、

    您能否确认在写入 TXDRV_ATT_IN_OVR_O_3_0 之前清除位[28:25] ?  有时、不正确的掩码会阻止更新字段。

    在写入寄存器之前、我们使用公司的宏来格式化数据、然后执行寄存器写入。
    具体而言、我们将位 28:25 清零、将其修改为 0xC、然后写入上述寄存器。
    我们不会写入位 28:25、然后将其清除为零、然后写入 0xC。

    如果您始终读回 0x8、则表示稍后的 0xC 写入从不会实际更新该字段或被后续串行器/解串器初始化代码覆盖。

    我们也考虑过这一点,但我们认为没有地方会被覆盖。

    此致、

    ITO

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

    尊敬的 Varughese:

    Lane_004 的设置如下所示。 配置值如下:

    第一次写入:0x78001084
    第二次写入:0x7C001084(此处,位 28:25 更改为 0xC)
    寄存器读取:0x78001084(它不会变为 0xC)

    第二次写入和寄存器读取之间不会被其他值覆盖。
    顺便说一下、SIGDET_OVR_O_1_0 的正确行为是什么—它是否应该以特定的方式反映信号或寄存器值?

    此致、

    ITO

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

    尊敬的 Ito:

    感谢您分享详细信息。

    SIGDET_OVR_O_1_0 的正确行为是什么?它是否应以特定方式反映信号或寄存器值?

    根据我的理解、SIGDET_OVR_O_1_0  用于复位 RX 阶段并强制重新校准。  该信号指示通道看到有效的传入串行器/解串器信号。 覆盖位决定 SIGDET 输出是否反映真实输入信号、或是否通过软件强制设置为某个值。

    链接:  https://www.ti.com/lit/an/sprac37/sprac37.pdf?