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.0232万:通道开关功能不能正常工作

Guru**** 2465890 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/592110/tlk10232-channel-switch-function-doesn-t-work-well

部件号:TLK1.0232万

大家好,

我在5个月前发布了主题,得到了如下答案,但在我的客户主板中不起作用。 我是否可以再次检查这些命令是否真的足够使用MDIO进行信道切换?

您能否向我发送一个EVM宏,以便在9小时内将CHA HS连接到CHB LS? 我现在有一个EVM,明天早上就可以检查它了。

我必须在明天下午与客户会面以澄清此问题(如果我们无法在本周末内解决此问题,我可能需要高度上报此问题)

//数据开关TX的设置(LSB=>HSA方向)
至Ch-A phy地址;  
将1'b0写入0x1E.0017位12 (DST_PIN_SW_EN)
写入2'B10至0x1E.0018位15:14 (DST_DATA_SRC_SEL[1:0])//从低速CHB到高速CHA选择数据

//数据开关RX的设置(HS=>LS方向)
至ChA-A Ch-B phy地址;  
将1'b0写入0x1E.0019位12 (DSR_PIN_SW_EN)
将2'B11写入0x1E.001A位15:14 (DSR_DATA_SRC_SEL[1:0])

我的客户希望按以下方式将LSS切换到CHA HS。 他们将使用10G-KR模式。 他们计划在CHA HS上连接SFP+模块,以便在执行上述切换命令之前发送以下推荐信息。

pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x0000 WR_DATA:0x8610
pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x001D WR_DATA:0x0000
pa:0b0万 DA:0b0.0111万 (0x07) REG_AD:0x0000 WR_DATA:0x2000
pa:0b0万 DA:0b0.0001万 (0x01) REG_AD:0x0096 WR_DATA:0x0000
pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x8020 WR_DATA:0x03FF
pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x0004 WR_DATA:0xD500
pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x000E WR_DATA:0x0008

pa:0b0.0001万 DA:0b1.111万 (0x1E) REG_AD:0x001D WR_DATA:0x0000
pa:0b0.0001万 DA:0b0.0111万 (0x07) REG_AD:0x0000 WR_DATA:0x2000
pa:0b0.0001万 DA:0b0.0001万 (0x01) REG_AD:0x0096 WR_DATA:0x0000
pa:0b0.0001万 DA:0b1.111万 (0x1E) REG_AD:0x8020 WR_DATA:0x03FF
pa:0b0.0001万 DA:0b1.111万 (0x1E) REG_AD:0x0004 WR_DATA:0xD500
pa:0b0.0001万 DA:0b1.111万 (0x1E) REG_AD:0x000E WR_DATA:0x0008

发送这些命令后,它们无法读取 DATA_SWITCH_STATUS寄存器(读取值始终为0x0000)。

此致,

Takashi Onawa

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

    您好,Takashi:

    根据他们的应用,客户正在与SFP+光学模块连接,因此他们需要调整一些参数以优化TLK与传输路径(通道A)光学模块之间的链路。 因此,首先他们应该验证路径LSA ==> HSA,

    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x0000 WR_DATA:0x8610 //重置
    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x001D WR_DATA:0x0000 //时钟选择
    pa:0b0万 DA:0b0.0111万 (0x07) REG_AD:0x0000 WR_DATA:0x2000 //禁用自动协商
    PA:0b0万 DA:0b0.0001万 (0x01) REG_AD:0x0096 WR_DATA:0x0000 //禁用链接培训
    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x8020 WR_DATA:0x03FF //手动调整参数,而不是链接培训

    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x0003 WR_DATA:0xA848// HS_SERDES_CONTINT_2默认值
    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x0004 WR_DATA:0xD500 // HS_SERDES_CONTINT_3默认值


    ***由于设备与光学模块连接,因此,诸如HS_Swing,HS_ENTRACK,HS_EQPRE,HS_CDRFMULT,HS_CDRTHR, 应根据每个系统(交流电损耗,迹线长度,电缆等)更改HS_PEAK禁用以优化链路。***


    PA:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x000E WR_DATA:0x0008 //一旦设置所需的配置,将重置数据路径

    此时设备已配置,因此用户需要尝试HS_SERDES_CONTINT_2和3的不同设置,以避免BER。 请通过HS_ERROR_counter监控错误。
    获得HS_SERDES_CONTINT_2&3的最佳设置后,配置交换机数据源:

    //数据交换机TX的设置(LSB=>HSA方向)配置通道A
    //至Ch-A phy地址;
    将1'b0写入0x1E.0017位12 (DST_PIN_SW_EN)
    写入2'B10至0x1E.0018位15:14 (DST_DATA_SRC_SEL[1:0])//从低速CHB到高速CHA选择数据

    //数据交换机RX (HSA=>LSB方向)的设置配置通道B
    //至ChA-A Ch-B phy地址;
    将1'b0写入0x1E.0019位12 (DSR_PIN_SW_EN)
    写入2'B11至0x1E.001A位15:14 (DSR_DATA_SRC_SEL[1:0])//从备用通道HS输入中选择数据

    //重新重置数据路径
    pa:0b0万 DA:0b1.111万 (0x1E) REG_AD:0x000E WR_DATA:0x0008 //数据路径重置一个所需的配置已设置

    //监控 通道A和B中的DATA_SWITCH_STATUS

    请尝试此配置,并告诉我您的结果。

    此致,
    Luis Omar Moran
    高速接口
    SWAT团队

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

    你好,Lui-San,

    感谢您的快速响应,今天我正在现场调试切换顺序,让我提供反馈。
    我明天还需要参加调试,因此请在9小时内回答以下问题。

    今天我有两个话题。
    1.仔细检查切换顺序
    2. LS_ALIGIN_STATUS通过条件

    [仔细检查切换顺序]
    不幸的是,您提到的顺序今天不起作用。 在发送Data pass reset命令后,交换机通过似乎被清除并恢复为默认值。 DST和DSR控制寄存器是绝对写入的,但发出 数据通过重置 将初始化DATA_SWITCH_STATUS寄存器的读取值。 请在您的环境中使用EVM进行检查。 我可以在办公桌上看到相同的行为。

    然后,我们是否需要在写入DST和DSR设置后发出数据通过重置?

    此外,当我们从SFP+上拔下光缆时,数据传输设置已初始化。 他们不希望发生此类意外的信道更改,是否无法使用MDIO设置完全修复连接信道?

    我们怀疑这些注册表可能与此行为对应,因此,如果您向我们提供任何其他解释以澄清此问题,则此注册表将非常适用。

    DST_DATA_SW_MODE[1:0]x
    DSR_DATA_SW_MODE[1:0]
    DST_OFF_SEL
    DSR_OFF_SEL


    [LS_ALIGIN_STATUS通过条件]

    我们无法在其主板上看到LS_ALGN_STATUS通过条件。 根据我的理解,如果连接的XGXS设备(例如FPGA)向TLK1.0232万正确输出字符,则此位应为1。 这种理解是否正确?

    另外,当LS侧不正常时,HS侧输出的是哪种信号?

    此致,

    Takashi Onawa

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

    1.那么,我们是否需要在写入DST和DSR设置后发出数据通过重置?
    不需要,在设置高级配置后,将执行数据路径重置。
    由于设备与SFP+光学模块连接,请验证:

    PIN设置(10GBASE-KR)
    -确保ST输入引脚为低电平
    -确保MODE_SEL_INPUT为低电平
    -确保PRBSEN输入引脚为低电平
    -确保REFCLK_SEL输入针脚为低电平

    重置设备
    -发出硬复位或软复位(声明的RESET_N至少为10us或将0x8610写入0x1E.0000)

    REFCLK输入频率和选择
    -156.25Mhz或312.5MHz至0x1E.001D

    禁用自动协商
    -将0x2000写入07.0000

    禁用链接训练
    -将0x0000写入01.0096

    手动链接设置,而不是链接培训
    -将0x03FF写入0x1E.8020

    调整链接设置
    -根据链路条件,您可能需要更改默认配置0x1E.0003和0x1E.0004。 对于光纤连接,我们通常建议将HS_ENTRACK (0x1E.0004位15)更改为1'B1,将HS_EQPRE (0x1E.0004位14:12)更改为3'B101。 这可能是一个起点,但您可能需要进行一些BER测试以优化值。

    数据路径重置
    -通过将1'B1写入0x1E.000E位3来重置数据路径。

    等待1000毫秒

    对通道B重复上述步骤


    ***此时应正确配置设备***

    要使用TLK1.0232万中的数据交换机功能,请在相应模式下初始配置设备后执行以下步骤(在此情况下为10GBASE-KR)

    (两个通道)
    清除初始数据开关状态
    -读取DATA_SWITCH_STATUS以清除0x1E.001B

    通道A (传输路径)
    低速CHB至高速CHA
    -写入2b'10到0x1E.0018位[15:14]

    通道B (接收路径)
    高速CHA至低速CHB
    -写入2b'11到0x1E.001A位[15:14]

    传输数据开关状态(两个通道)
    -读取验证DST_SW_done (1'B1) 0x1E.001B位[10]
    -读取验证0x1E.001B位[15:12]值,以匹配通过0x1E.0018位选择的数据源[15:14]

    接收数据开关状态(两个通道)
    -读取验证DSR_SW_done (1'B1) 0x1E.001B位[2]
    -读取验证0x1E.001B位[7:4]值以匹配通过0x1E.001A位选择的数据源[15:14]


    2.为建立LS链路,应输入哪种信号?
    该设备接受LS端,CML信号中的8b/10编码。

    3.我们始终可以在两个通道的PMA和PCS状态中看到TX故障。
    请验证设备是否配置为10GBASE-KR模式。 由于该设备与光学模块(10GBASE-R)连接,因此与相同物理编码子层连接,然后与10GBASE-KR连接,因此只能在第45条模式下访问这些寄存器,并且设备地址字段设置为0x03 (DEVADD [4:0]= 5'b0.0011万)。 仅在KR模式下有效。


    我希望这对我有所帮助,请告诉我您的结果。

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

    你好,Lui-San,

    感谢您的评论。 原因是,我们将TLK1.0232万设置为10G-KR模式,然后

    该设置与您指示的完全相同。

    关于2,TLK1.0232万是Bch端的8b/10b代码的原因,但我们从未看到过对齐和同步位的断言。

    Channel_status_1

    - LS_ALIGIN_STATUS

    LS_STATUS_1

    - LS_CH_SYNC_STATUS

    我认为应该声明这些位以确保LS链路,但 我要再次检查我的理解是否正确吗?

    另外, 在TLK1.0232万上的LS上链接时需要哪种代码序列?

    关于3,我们正在10G-KR模式下进行调试。

    请告诉我应该推荐哪个CH寄存器 ,以确认它是否正常工作。

    我们正在检查4个寄存器以确保正常运行。 但每个信道都有相同的寄存器, 我的客户正在使用开关功能。  我不确定交换块在TLK1.0232万中的位置,因此我们对应将哪个CH寄存器引用到检查行状态感到困惑。

    Channel_status_1
    LS_STATUS_1
    PMA_STATUS_1
    PCS_STATUS_1

    此致,

    Takashi Onawa

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

    1.对于注册channel_status_1,请尝试强制重新调整通道(写入1b'1到0x1E.000c位[2]),只要数据符合XAUI规范。 另一方面,对于LS_CH_sync_status,请验证您是否正在通过注册LS_STATUS_CFG读取所选的通道(00=Lane0,01=Lane1,10=Lane2,11=Lane3)。

    2.为确保链接正常,请验证链接是否仅在一个通道中正常。 在没有数据开关的情况下配置通道A或B,正确配置后,验证LS_STATUS_1,CHANGE_STATUS_1,HS_ERROR计数器。 然后,如果信道工作正常(没有错误,状态条件正常),请继续进行信道A和B的数据开关配置。我建议这样做来调试问题,我希望信道正常(A或B),然后继续执行数据开关。

    仅此序列:
    重置设备
    -发出硬复位或软复位(声明的RESET_N至少为10us或将0x8610写入0x1E.0000)

    REFCLK输入频率和选择
    -156.25Mhz或312.5MHz至0x1E.001D

    禁用自动协商
    -将0x2000写入07.0000

    禁用链接训练
    -将0x0000写入01.0096

    手动链接设置,而不是链接培训
    -将0x03FF写入0x1E.8020

    调整链接设置************* 关键点,每个系统都不同,因此您应该调整HS_SERDES_CONTINT_2和3
    -根据链路条件,您可能需要更改默认配置0x1E.0003和0x1E.0004。 对于光纤连接,我们通常建议将HS_ENTRACK (0x1E.0004位15)更改为1'B1,将HS_EQPRE (0x1E.0004位14:12)更改为3'B101。 这可能是一个起点,但您可能需要进行一些BER测试以优化值。

    数据路径重置
    -通过将1'B1写入0x1E.000E位3来重置数据路径。

    等待1000毫秒

    3.数据开关块不是内置的低速或高速侧,基本上,该块在每一侧都是独立的。 因此,对于传输路径(LSINB ==>HSOUTA验证通道A中的数据交换机),对于接收路径(HSRXA ==>LSOUTB验证通道B中的数据交换机)。


    Channel_status_1 Channel A & B,由于此寄存器包括低速和高速,因此,请检查CHB的低速和CHA的高速,我的意思是,在通道B中,您应验证LS_align_status,LS_PLL_LOCK,在通道A中检查HS_LOS,HS_AZ_Done,HS_AGC_Locked等
    LS_STATUS_1通道B
    PCS_STATUS_1通道A
    HS_错误计数器通道A

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

    你好,Lui-San,

    幸运的是,我们可以使用您提到的设置通过LSA建立到HSB的链接。未正确链接的原因是XAUI源。 修复FPGA代码后,我们最终看到断言 的LS_align_status位。

    感谢您抽出宝贵的时间。
    您能否仔细检查以下每个状态是否与您预期的一样,以防万一?

    通道A (使用高压侧)
    Channel_status_1 0x00F 1C03
    PMA_STATUS_1 0x0.1万6
    PMA_STATUS_2 0x008 B000
    PCS_STATUS_1 0x0.1万6
    PCS_STATUS_2 0x0.88万1

    通道B (使用低侧)
    Channel_status_1 0x00F 7003
    LS_STATUS_1 0x015 C143

    因此,我们了解应参考CHA的PMA和PCS状态,以便在案例中正确检查操作(LSB至HSA切换)。  

    1.[切换初始化问题]
    但是,交换机被任意初始化的问题尚未解决。 当TLK1.0232万由于某些原因(如OPT电缆拔下)而出现“Local fault (本地故障)”时,似乎会出现此问题。

    因此,我们猜测数据切换控制中的"开关闭"功能与此问题相关。 我们正在查找用于禁用ON_OFF功能的寄存器,并访问了下面的寄存器。

    dst_force_sel[4:0]
    DSR_FORM_SEL[4:0]

    事实上,我们通过设置注册表成功地解决了这个问题。

    通道A
    0x0017 2014
    0x0018 AC20 (可能不需要)
    0x0019 2512
    0x001A 6C20 (可能不需要)
    通道B
    0x0017 2018
    0x0018 CC20 (可能不需要)
    0x0019 2518
    0x001A EC20 (可能不需要)

    我们意识到这些寄存器可以唯一地强制开关设置,这种理解是否正确?

    请告诉我是否有使用此寄存器的注释。  

    此致,

    Takashi Onawa

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

    我的客户需要尽快修复他们的软件。

    你能否就上述问题给我任何评论?

    我们特别想知道下面的登记簿是如何运作的,以及我们的理解是否正确。

    dst_force_sel[4:0]
    DSR_FORM_SEL[4:0]

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

    DST_FORT_SEL[4:0]处理手动数据开关控制。 基本上,此保留寄存器有2种行为:

    1.当DST_FORT_SEL[4]为1'B1时,EN[3:0]值等于DST_FORT_SEL[3:0]。
    2.当dst_force_sel[4]为1'b0时,将通过数据开关控制逻辑设置EN[3:0]值。

    我希望这能有所帮助。

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

    我阅读了完整的手册并设置了注册表,但我不理解下面的两点。
    答 为什么隐藏此寄存器? 尽管强制开关设置看起来非常有用。
    B. 以下手动切换和正常切换之间有何区别?

    /setting for data Switch TX (LSB=>HSA Direction)配置通道A
    //至Ch-A phy地址;
    将1'b0写入0x1E.0017位12 (DST_PIN_SW_EN)
    写入2'B10至0x1E.0018位15:14 (DST_DATA_SRC_SEL[1:0])//从低速CHB到高速CHA选择数据

    //数据交换机RX (HSA=>LSB方向)的设置配置通道B
    //至ChA-A Ch-B phy地址;
    将1'b0写入0x1E.0019位12 (DSR_PIN_SW_EN)
    写入2'B11至0x1E.001A位15:14 (DSR_DATA_SRC_SEL[1:0])//从备用通道HS输入中选择数据

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

    答 我同意,我们需要修复数据表,因为需要更新多个信息以避免用户"缺少"。
    B. TLK1.0232万使用“智能交换”逻辑,这是“正常”交换。 当数据路径被切换时,它将等待当前数据包完成,然后在空闲状态下等待新路径开始数据包。 这样,我们绝不会传输损坏/损坏的数据包。 手动切换只会执行即时切换,并可能导致数据损坏。

    此致,
    路易斯