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.

[参考译文] TLK1.0031万:如何知道芯片是否已正确初始化/配置

Guru**** 2463050 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/593975/tlk10031-how-to-know-if-the-chip-is-initialized-configured-correctly

部件号:TLK1.0031万
主题中讨论的其他部件: TLK1.0002万TLK1.0232万TLK1.0034万

您好,

通电后,我如何知道芯片是否在正确状态下工作? 目前,芯片不响应远端10Gb以太网卡。 我需要弄清楚TLK1.0031万是否工作正常。 寻求帮助。

是否有任何有关如何初始化TLK1.0031万的说明?

非常感谢!  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下是我的初始化步骤
    // 1.重置设备(写断言reset_N引脚长度大于1us)
    // 2.通过将1'b0写入07.0000 12位来禁用自动协商
    // 3. 0x1E.0001 = 0x0302
    // 4. 0x1E.0002 = 0x831c
    // 5. 01.0096 = 0x0000;将16'h0000写入01.0096 ,禁用链路训练
    // 6.0x1E.8020 = 0x03FF;这允许手动配置通常通过KR培训配置的链路设置。
    // 7. 0x1E.0004 = 0xd500。
    // 8. 0x1E.000E = ox0008;通过将1'B1写入位3来重置数据路径。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Yaoting,

    对于XAUI至SFI/XFI操作,您需要将设备配置为10GBASE-KR模式,并禁用特定于背板以太网的功能,如第73条自动协商和10G链路培训。 为此,请按照以下步骤操作:

    1. 重置设备(将1写入0x1E.0000位15或断言RESET_N引脚)
    2. 确保参考时钟选择(156.25 MHz或312.5 MHz)正确–这是通过寄存器0x1E.001D位12 (默认为156.25 MHz)完成的。
    3. 通过将1'b0写入07.0000 12位来禁用自动协商
    4. 通过将16'h0000写入01.0096 来禁用链路培训
    5. 将16'h03FF写入0x1E.8020。 这允许手动配置通常通过KR培训配置的链路设置。
    6. 根据链路条件,您可能需要更改默认配置0x1E.0003和0x1E.0004。 对于光纤连接,我们通常建议将HS_ENTRACK (0x1E.0004位15)更改为1'B1,将HS_EQPRE (0x1E.0004位14:12)更改为3'B101。 这可能是一个起点,但您可能需要进行一些BER测试以优化值。
    7. 通过将1'B1写入0x1E.000E位3来重置数据路径。

    此时应正确配置设备。 请按照上述步骤操作,强制设备进入10GBASE-KR模式,另一方面,您需要调整SERDES设置(HS_SERDES_CONTINT_2& 3,因为设备与光学模块连接)。

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

    您好,Luis,

    看起来我就像按照你的程序所要求的那样做了。 能否帮助我了解初始化步骤?

    以下是我的初始化步骤
    // 1. 重置设备(写断言reset_N引脚长度大于1us)
    // 2. 07.0000 = 0x1000;禁用自动协商  
    // 3. 0x1E.0001 = 0x0302
    // 4. 0x1E.0002 = 0x831c
    // 5. 01.0096 = 0x0000;禁用链接培训
    // 6. 0x1E.8020 = 0x03FF;  
    // 7. 0x1E.0004 = 0xd500。  
    // 8. 0x1E.000E = ox0008;发出数据路径重置  

    非常感谢。

    Yaoting

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

    // 1. 重置设备(写断言reset_N引脚长度大于1us)
    // 2. 07.0000 = 0x2000;禁用自动协商,您有0x1000
    // 3. 01.0096 = 0x0000;禁用链接培训
    // 4. 0x1E.8020 = 0x03FF;
    // 5. 0x1E.0004 = 0xd500。 //您应该调整参数,例如EQPRE,Swing,ENTRACK,CDRMULT for SFF (HS_SERDES_CONTRAT_2&3)
    // 6. 0x1E.000E = 0x0008;发出数据路径重置

    此致,
    路易斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Luis,
    按照您的步骤操作不起作用。 有没有方法可以验证TLK1.0031万是否正常工作?
    感谢您的帮助。

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

    您好,Yaoting,

    请告诉我这些寄存器的值(使用我建议的过程配置设备后):

    Channel_status_1

    hs_error_counter

    LS_LNX0_ERROR_counter

    LS_LN1_ERROR_counter

    LS_LN2_ERROR_counter

    LS_LN3_ERROR_counter

    LS_STATUS_1

    HS_STATUS_1

    PCS_STATUS_1

    an_control

    LT_train_control

    另一方面,您可以在高速端执行环回,并启用内部PRBS以再次检查设备的工作情况。

    此致,

    路易斯

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

    谢谢你,路易斯。

    以下是我们获得的寄存器值:

    通道状态1                                    0x150 (十六进制)       

    HS_错误_计数                                   器0xFFFF (十六进制)         

    LS_LN0_错误_计数                          器0xFFFd (十六进制)        

    LS_LN1_ERROR_counter                          0xFFFd (十六进制)        

    LS_LN2_ERROR_counter                          0xFFFd (十六进制)        

    LS_LN3_ERROR_counter                          0xFFFd (十六进制)        

    LS_STATUS_1                                                   0x8002 (十六进制)     

    HS_STATUS_1                                                  0x0 (十六进制)            

    PCS_STATUS_1                                                0x2 (十六进制)            

    AN_CONTROL                                                  0x2000 (十六进制)     

    LT_train_control                                     0x0 (十六进制)

    Yaoting

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

    好的,请尝试以下操作:

    // 1. 重置设备(写断言reset_N引脚长度大于1us)

    // 2. 07.0000 = 0x2000;禁用自动协商,您有0x1000

    // 3. 01.0096 = 0x0000;禁用链接培训

    // 4. 0x000B = 0x3D18;启用内部PRBS生成器/验证器和深度远程环回

    // 5. 0x1E.8020 = 0x03FF;

    // 6. 0x1E.0004 = 0xd500。 //您应该调整参数,例如EQPRE,Swing,ENTRACK,CDRMULT for SFF (HS_SERDES_CONTRAT_2&3)

    // 7. 0x1E.000E = 0x0008;发出数据路径重置

    数据在高速端接收SERDES引脚(HSR*P/N)上接受,遍历整个接收数据路径通过整个传输数据路径返回,并通过高速端发送SERDES引脚(HSTX*P/N)发出。 OUE*P/N引脚上的低速侧输出仍可用于监控,应正确端接。 在英寸×P/N上的低速侧输入应该是电动怠速(浮动)。

    请尝试此"设置",通过光缆将HSTX连接到HSRX。

    谢谢!

    路易斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    LS_STATUS_1 0x8002 (十六进制)--> 0x8003
    HS_STATUS_1 0x0 (十六进制)--> 0x8
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,我按照你的建议做了。接下来该怎么办? 我们应该检查什么?
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请告诉我这些登记册的状况:
    Channel_status_1 0x150 (十六进制)

    hs_error_counter 0xFFFF (十六进制)

    LS_LNX0_ERROR_counter 0xFFFd (十六进制)

    LS_LN1_ERROR_counter 0xFFFd (十六进制)

    LS_LN2_ERROR_counter 0xFFFd (十六进制)

    LS_LN3_ERROR_counter 0xFFFd (十六进制)

    LS_STATUS_1 0x8002 (十六进制)

    HS_STATUS_1 0x0 (十六进制)

    PCS_STATUS_1 0x2 (十六进制)

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

    您好,Luis,

    设置回送后,以下是寄存器结果。 它们都是一样的。

    通道状态1                                    0x140 (十六进制)       

    HS_错误_计数                                   器0xFFFF (十六进制)         

    LS_LN0_错误_计数                          器0xFFFd (十六进制)        

    LS_LN1_ERROR_counter                          0xFFFd (十六进制)        

    LS_LN2_ERROR_counter                          0xFFFd (十六进制)        

    LS_LN3_ERROR_counter                          0xFFFd (十六进制)        

    LS_STATUS_1                                                   0x8000 (十六进制)     

    期待您的进一步帮助!

    Yaoting

    HS_STATUS_1                                                  0x1 (十六进制)            

    PCS_STATUS_1                                                0x2 (十六进制)       

     

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

    您好,Yaoting,

    请尝试以下项的不同组合:

    HS_ENTRACK
    HS_EQPRE
    hs_peak_disable
    HS_H1CDRMODE

    此致,

    路易斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Luis,
    请确认以下设置
    hs_entRACK ="1"
    HS_EQPRE=???
    hs_peak_disable="1"
    HS_H1CDRMODE="1"
    1e.0004中的REST位设置如何?
    顺便说一下,此处的光标是什么意思?

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

    Yaoting,

    随附了这些参数(ENTRACK,PEAD_DISABLE,CDRMODE等)的说明。

    遗憾的是,当设备与光学模块连接时,链路培训被禁用,这会自动扫描所有这些参数以获得最佳值组合以降低BER, 因此,用户需要根据其系统手动执行此过程。

    请查看本文档,了解设备均衡的多个参数。

    作为起点,我们建议关注以下方面:

    HS_ENTRACK

    HS_EQPRE

    hs_peak_disable

    HS_H1CDRMODE

    e2e.ti.com/.../TLK10xxx-SerDes-Overview.ppt

    此致,

    路易斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Luis,
    从TLK1.0031万 HS输出到光纤收发器输入的印刷电路板(FR4)上的差分迹线长度为7 mm 输出。 在我们的另一个系统中,我们使用TLK1.0002万芯片。 它基于相同的PCB设计,运行良好。 您是否认为它仍可能是波形中的模拟问题?
    根据我们的PCB情况,您能否就1e.0004中的这些位设置提供一些建议?
    非常感谢。

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

    您是否尝试过系统的不同设置? 由于链路培训不适用于10GBASE-R,因此用户应该扫描这些寄存器的不同值,因此很难为每个系统建议一个值组合。

    谢谢!
    路易斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试了一次更改。 这是一样的。 我有没有办法知道它是否有效?
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Yaoting,

    您是否使用不同的值执行了测试? 不幸的是,均衡是手动的,用户应该尝试不同的组合,我知道这个过程是详尽的,但在禁用链接训练的情况下,这是唯一的解决方案。

    谢谢!

    路易斯

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

    您好,Luis,

    我会在弄清楚这些设置的真正含义后再尝试,以便做出合理的组合。

    据我所知,您要求我这样做,因为您认为线眼图可能是一个问题,但是, 正如我之前提到的, 我们有 另一个系统使用您的TLK1.0002万芯片。 它的PCB布局设计与我们现在在HS末端对TLK1.0031万所做的设计相同。我们之前从未提到过调整波形的问题,而是默认值。 效果很好。 它们都以10Gb/s工作 您认为这是新TLK1.0031万故障的问题吗? 期待您的帮助来澄清我的困惑。  

    无论如何,我会听从你的意见。 谢谢

    Yaoting

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Luis,
    我希望您确认以下设置,
    hs_entRACK=1
    hs_peak_disable=0 (“1”表示小于6Gb/s)
    HS_H1CDRMODE =1 (7 mm 长迹线是否满足短通道?)
    以上三种情况看起来就像是他们没有其他选择。 我对吗?
    我只需要更改的是改变波形振幅的HS_EQPRE,对吧?

    我会要求您检查我的原理图设计。 我不知道如何提供pdf文件。 可以帮帮我吗?
    谢谢

    Yaoting
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Luis,
    在数据表第57页的表7-13中,对于bit[1]设置,它表示:
    ' HS参考时钟选择。
    1=选择REFCLK_0_P/N作为HS SIDE SerDes宏的时钟参考(默认1'b0)
    0=选择REFCLK_1_P/N作为HS SIDE SerDes宏的时钟参考"
    哪个是开机设置,选择REFCLK_1_P/N或选择REFCLK_0_P/N?

    谢谢

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

    是的,您说得对,请尝试以这些设置作为起点。 对于EQPRE:
    设置000 (1/9光标振幅)对应于最大均衡量,应用于长(高损耗)通道。
    设置110 (13/9光标振幅)对应于最小均衡量,应用于短(低损耗)通道。
    HS_Swing控制发射器的振幅。

    TLK1.0031万数据表似乎有一个拼写错误,正确的值如下所示:
    通道HS参考时钟选择。 仅在REFCLK_SEL引脚为低电平时适用。
    0=选择REFCLK_0_P/N作为信道x HS侧串行器宏的时钟参考(默认1'b0)
    1=选择REFCLK_1_P/N作为信道x HS SIDE SerDes宏的时钟参考

    谢谢!
    路易斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以通过电子邮件将原理图发送给我

    omar.moran@ti.com

    此致,
    路易斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    什么是register=0x1E.8020? 数据表中没有说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    注册0x1E.8020。 此寄存器允许手动设置链接培训的某些设置。
    VS_SERDES_CFG_OVERRIDE_CTRL默认值:0x0200
    0x1E.MDIO配置值进入8020.15 的LS_PLL_Mult_OVERRIDE PLL_Mult值(默认值为1'b0)
    0x1E.MDIO配置值进入8020.14 的LS_RATE_OVERRIDE覆盖速率值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.13 HS_PLL_Mult_OVERRIDE PLL_Mult值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.12 HS_RATE_OVERRIDE覆盖速率值(默认为1'b0)
    0x1E.MDIO配置值(默认值为1'b0)的8020.10 HS_BUSWIDTH_OVERRIDE忽略BUSWIDTH值进入Copperfield
    0x1E.MDIO配置值进入Copperfield的8020.9 HS_FIRUPT_OVERRIDE FIRUPT值(默认值为1'B1)
    0x1E.MDIO配置值进入Copperfield的8020.8 HS_ENRX_Override覆盖ENRX值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.7 HS_AZCAL_OVERRIDE AZCAL值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.6 HS_ENTRACK_OVERRIDE ENTRACK值(默认值为1'b0)
    0x1E.EPIO HS_EQHLD_OVERRIDE使用8020.5 配置的值覆盖进入Copperfield的EQHLD值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.4 HS_TWCRF_OVERRIDE TWCRF值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.3 HS_TWPOST2_OVERRIDE TWPOST2值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.2 HS_TWPOST_OVERRIDE TWPOST值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.1 HS_TWPRE_OVERRIDE值(默认值为1'b0)
    0x1E.MDIO配置值进入Copperfield的8020.0 HS_swing_override覆盖挥杆值(默认值为1'b0)

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是R/W寄存器吗? 我给它写了一个“3FF”,但读回的值全部为“0”。
    其设置是否至关重要? 这可能是问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../TI-KeyTowrite in Reserved Registers用户需要将密钥文件复制到本地TLK文件夹中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那是什么? 如何操作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Luis,
    我仍然被困在那里。
    在您的数据表第32页中,它表示:“德州仪器(TI)的参考代码可用于LAM和LAS模块,以便于集成
    。" 在哪里可以获得这些代码?
    我正在考虑让芯片在10G模式下工作,以验证芯片是否良好。
    谢谢

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

    请让我请求此代码。 同时,您将找到一个包含TLK1.0002万的LAM/LAS行为(FIL 22)的文档,该设备非常相似。

    e2e.ti.com/.../TLK1.0002万-Overview-and-Debug-Procedure-_2800_rev-3_2900_-_2800_10_2900_.ppt</s>2800 290028002900

    谢谢!

    路易斯

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

    您好,Yaoting,

    我附上了TLK1.0232万的参考设计软件包,这是TLK1.0031万的双通道版本。  解压缩后它看起来像一个可执行文件,但这只是为了让您同意条款和条件。  如果您运行该文件,它将在您的计算机上安装参考代码和文档。

    e2e.ti.com/.../TI_5F00_LANE_5F00_ALIGN_5F00_REF_5F00_DESIGN_5F00_V04.zip

    此致,

    路易斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Luis。
    我发现有几种环回描述,浅环回,深环回,PMA环回和PCS环回。 但我在数据表中找不到有关它们的详细描述。 你能给我更多关于他们的说明吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Yaoting,

    请查看TLK1.0034万数据表。 每种环回都有详细的描述。

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

    您好,Luis,

    TLK1.0031万中似乎没有本地深环回,是不是? 如果我要进行本地深度环回,是否有其他方法可以替代?

    谢谢

    Yaoting

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

    您好,Yaoting,

    TLK1.0031万是TLK1.0232万的单通道版本–它只是一个封装自旋,因此寄存器应该相同。 请查看TLK1.0232万的寄存器映射。 通过寄存器0x1E.000b位[1]启用深度本地回送。

    e2e.ti.com/.../TLK1.0232万_5F00_REGMAP_5F00_v8.pdf

    此致,

    路易斯