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.

[参考译文] DS110DF410:DS110DF410 SMBus 主模式:通过 EEPROM 配置寄存器 0xFF 和 0x00

Guru**** 2914580 points

Other Parts Discussed in Thread: DS110DF410

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1633420/ds110df410-ds110df410-smbus-master-mode-register-0xff-and-0x00-configuration-via-eeprom

部件号: DS110DF410

尊敬的 TI 团队:

我们当前正在配置 DS110DF410 指定 SMBus 主模式 EEPROM 来完成校准。 编程指南 ( SNLA323 ) 和寄存器映射指南 ( SNLA245 ):

  1. 寄存器 0xFF(通道选择): PER SNLA323(表 17) 我们明白这一点 寄存器 0xFF 必须用于选择目标通道/页面。 但数据表显示这一点 0xFF 是易失性控制寄存器、不是 EEPROM 可加载寄存器空间的一部分。

    • 问题: 在 SMBus 主模式下、我们如何正确地结构 EEPROM 数据映像以在写入特定于通道的参数之前包含通道选择 (0xFF)? 重定时器是否支持直接从 EEPROM 序列执行 0xFF 写入?

  2. 寄存器 0x00(重定时器复位/控制): 两个参数 SNLA245(表 15) 进行寄存器映射、但是 寄存器 0x00 因为此表中缺少了。 我们需要为启动时的重定时器控制/复位提供特定值。

    • 问题: 寄存器 0x00 是否可用于 EEPROM 加载? 如果是、要将其包含在各个通道配置的 EEPROM 映像中、需要什么正确的映射/寻址?  SNLA323_Table 17.png

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

    尊敬的 Veeramanikandan:

    编程指南重点介绍了如何 使用外部 SMBus 控制器(即 SMBus 从模式)配置 DS110DF410。  EEPROM 配置不会像编程指南中那样进行时序控制。  例如、CDR 复位和释放等步骤与 EEPROM 配置无关。  EEPROM 配置只允许对 EEPROM 中包含的寄存器字段进行一次性配置(在寄存器映射中标记为“Y")“)。

    您可以使用 SigCon Architect GUI 来配置寄存器并生成 EEPROM 映像。

    关于您的问题:

    如前所述、SNLA245 是 DS110DF410 EEPROM 结构的主要基准。  您也可以参考 SNLA244。  尽管 SNLA244 针对 25G 重定时器、但 EEPROM 结构是相同的、因此可能还有一些额外的有价值示例。

    [报价 userid=“688930" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1633420/ds110df410-ds110df410-smbus-master-mode-register-0xff-and-0x00-configuration-via-eeprom

    寄存器 0xFF(通道选择): PER SNLA323(表 17) 我们明白这一点 寄存器 0xFF 必须用于选择目标通道/页面。 但数据表显示这一点 0xFF 是易失性控制寄存器、不是 EEPROM 可加载寄存器空间的一部分。

    • 问题: 在 SMBus 主模式下、我们如何正确地结构 EEPROM 数据映像以在写入特定于通道的参数之前包含通道选择 (0xFF)? 重定时器是否支持直接从 EEPROM 序列执行 0xFF 写入?

    [/报价]

    在 SMBus 主模式下、重定时器在读取 EEPROM 时不通过寄存器 0xFF 实现通道配置。  根据通道寄存器数据读取通道配置。  SNLA245 中的表 15 是一个很好的示例。

    [报价 userid=“688930" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1633420/ds110df410-ds110df410-smbus-master-mode-register-0xff-and-0x00-configuration-via-eeprom

    寄存器 0x00(重定时器复位/控制): 两个参数 SNLA245(表 15) 进行寄存器映射、但是 寄存器 0x00 因为此表中缺少了。 我们需要为启动时的重定时器控制/复位提供特定值。

    • 问题: 寄存器 0x00 是否可用于 EEPROM 加载? 如果是、要将其包含在各个通道配置的 EEPROM 映像中、需要什么正确的映射/寻址?

    [/报价]

    否、寄存器 0x00 不可通过 EEPROM 进行配置。  请参阅寄存器映射中的 EEPROM 列。

    谢谢、

    Drew

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

    您好、Drew、

    感谢您提供有关 SMBus 主模式的指导。

    我们目前正在对 SGMII 接口上的链路建立问题进行故障排除。 当 EEPROM 加载显示成功时、DONE 引脚置为低电平、并且状态 LED 处于活动状态。 我们无法在处理器之间建立链路。

    系统架构:

    我们在背板上使用对称信号路径:

      路径 A:处理器 1 (T2080)→重定时器→ 背板

      路径 B:背板→重定时器→ 处理器 2 (T2080)

      协议:SGMII(1.25Gbps 波特率/1Gbps 吞吐量)

      配置源:通过 SigCon Architect GUI 生成的.hex 文件、存储在 256Kbit EEPROM 中。

    问题:

    尽管 EEPROM 加载成功、但我们仍然无法在处理器之间建立链路。 SGMII 接口不会在重定时器路径上执行“ ping “操作。

    信息请求:

      寄存器验证: 是否有特定程序从重定时器读回活动寄存器值以验证 EEPROM 数据是否正确映射到内部寄存器?

    使用处理器读取重定时器寄存器、 可以正确访问控制/共享寄存器、但可以观察到所有通道寄存器均为零(使用 0xFF→0x04/0x0C 读取通道寄存器)。

      配置 :我已附上当前寄存器配置的详细信息。 是、任何专门与 SGMII 速率协商相关的参数或任何设置都针对 1.25Gbps SGMII 信号进行了错误配置。

      基准配置 :如果可能,请共享一个经过验证的参考.hex 或.cfg 文件,该文件针对 SGMII (1.25Gbps) 操作进行了优化。

    期待您的反馈和技术指导。

    此致、

    Veeramanikandan S.

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

    尊敬的 Drew:  

    加载 EEPROM 文件后、重定时器将从主模式切换到从模式。 在从模式条件下、手动修改上述寄存器、并从重定时器读取通道寄存器的默认值。

    0x04→0x41(自清除)
    0xFF→0x0c(通道选择)
    0x00→0x04(复位通道寄存器)

    默认通道寄存器值(后置通道复位):
        0 1  2  3  4  5  6  7  8  9  a  b c  d  e  f   
    00:00 00 直流 A5 00 00 00 00 00 00 第 69 章,我是你的女人  
    10:3A 20 a0 30 00 10 7a 36 40 23 00 03 24 00 E9 55
    20:00 00 00 40 00 00 3f 84 40 30 00 72 80 00 06  
    30:00 20 11 88 bf 1f 31 1f 00 A5 00 00 80 00    
    40:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90   
    50:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5   
    60:00 00 00 00 00 00 00 20 00 0A 44 00 00 00 00 00   
    70:03 20 00 00 00 00 b0 C8 57 5d 69 75 D5 99 96 A5
    80:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90  
    90:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5   
    A0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90   
    b0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5   
    C0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90   
    d0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5  
    E0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90  
    F0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5

    在这些条件下、使用验证并确认 SGMII 链路正常工作 AN-SNLA323 的表 39 中的 CDR 旁路设置

    使用相同的配置、寄存器 0x1E 已修改为 0x29 (重定时器模式)、并且数据已验证并确认可正常运行。

    在默认模式下、寄存器 0x1E 设置为 0xE9、表明器件默认处于静音模式。 是否应该修改寄存器 0x1E 以启用重定时器输出?

    我们用于重定时器配置的方法是否正确? 请分享您的任何意见或建议

    主模式:  
    ===========
    使用 SigCon Architect 应用程序、应用了寄存器更新(包括原始和重定时器数据)、并生成了相应的.hex 文件。

    问题: 使用将生成的十六进制文件重新加载到应用程序中 '从十六进制文件加载' 选项和 '从插槽更新到设备' 但是、当通道寄存器被读回时、它们与写入的值不匹配。

    验证生成的十六进制文件是否有特定步骤? 此外、必须以 1.25Gbps 的速率为主模式配置修改哪些特定寄存器?


    加载 EEPROM 和 EEPROM→重计时器(所有 DONE_Low)后、通道寄存器在读回时不会反映加载的数据。

    您能否建议使用特定的方法从重定时器写入或读回 EEPROM 数据或文件生成来解决此问题?

    在从模式下验证的 SGMII 接口吞吐量无法在主模式下复制。 请建议一个使主模式正常工作的解决方案。

    等待您的回复。  

    此致、
    Veeramanikandan S.