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.

[参考译文] TLK10232:同步状态

Guru**** 2386610 points
Other Parts Discussed in Thread: TLK10232, TLK10232EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1132994/tlk10232-sync-status

器件型号:TLK10232

您好!

我们将 tlk10232作为双 SFI 应用的 phy 进行签名。 一个 SFI 通道与 SFP+ 10GBASE-SR 编译器连接、另一个通道与扩展范围 SFP+(10GBASE-ZR、80km)连接。 XAUI 两侧均连接到 Xilinx FPGA。 到目前为止、FPGA 设计仅控制从一个接口到另一个接口的传入流量。 XAUI IP 由 Xilinx 提供。

我们的测试装置包括一个通过短光纤链路连接到 SFP+基站 SR 的 Anritsu MT1000A 以太网测试仪、以及另一个 SFP+中75 km 的长光纤环回。 测试仪产生有效的以太网组帧、并且仅随机生成 有效载荷。 THA 为:测试仪 PRBS gen -> SFP+-> TLK10232.B -> FPGA -> TLK10232.A -> SFP+-> 75km 光纤环回-> SFP+-> TLK10232.A -> FPGA -> TLK10232.B -> SFP+->测试仪 PRBS 校验器。

我们在10G-KR 中配置了 TLK10232 (禁用自动协商和链路协商),并且,正如差动文章和应用手册所述,HS_ENTRACK (0x1E.0004位15)配置为1'B1,HS_EQPRE (0x1E.0004位14:12)配置为3'B101。 在这种设置下、我们看到在通道 A (采用光纤环回的通道)中从未进行过重编程(0x1E.0010)和同步(0x1E000F 位10始终为1'b0)的错误。

在对 HS 侧的 RX 执行密集测试程序后、我们得出结论:HS_PEAKDISABLE (0x1E0004位6)至1'B1、HS_ENTRACK 至1'b0、HS_EQPRE 至3'B101是更好的配置。 正如其他博文和 TLK10xxx 高速串行器/解串器概述 所指出的、这也是10G 应用中的可靠配置。

在这种配置下、错误消失了、但我们仍然有恒定的同步。 即使链路启动、如果我们打开光纤并再次关闭、通道也无法同步。

配置 HS RX 后、我们重点介绍了 TX。 使用环回、我们设置了 PRBS31测试模式生成和验证、如 TLK10232启动过程 所述。 测试完成后、我们可以看到、TWPRE、TWCRF、TWPOST1 y TWPOST2和 HS_Swing 的默认值设置为660mV、我们处于广域 OS 自由错误配置的中心。 但是、同步问题仍然存在。

此时、我们意识 到、尽管 SLLA351A 已说明、启动过程也会将伪 KR 随机测试模式的位 SYNC_STATUS_CHECK_DISABLE (0x1E.8021位4)设置为1'B1。 此模式将随机序列包装在有效的64/66B 块中、因此不应置位此位。

重点是、如果我们在正常操作中将 SYNC_STATUS_CHECK_DISABLE 设置为1'B1、同步问题似乎消失了、所有设计都正常工作。 问题是:SYNC_STATUS_CHECK_DISABLE 到底有什么作用? 和... SYNC_STATUS_CHECK_DISABLE = 1是否是有效的"生产"设置?

此致、

Daniel。

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

    重点是、如果我们在正常操作中将 SYNC_STATUS_CHECK_DISABLE 设置为1'B1、同步问题似乎消失了、所有设计都正常工作。 问题是:SYNC_STATUS_CHECK_DISABLE 到底有什么作用? 和... SYNC_STATUS_CHECK_DISABLE = 1是否是有效的"生产"设置?

    请参阅通道同步功能的说明。

    3.3通道同步块当并行数据被计时到并行至串行转换器中时、与并行数据相关的字节边界在数据的串行化中丢失。 当串行数据被接收并再次转换为并行格式时、需要一种方法来再次识别字节边界。 通常、这是通过使用同步模式来实现的。 这是1和0的唯一模式,不能作为有效数据的一部分出现,也不能是按定义的间隔重复出现的模式。 8B/10B 编码包含一个称为逗号(b’0011111’或 b’1100000’)的字符,逗号检测电路使用该字符将接收到的串行数据重新与其原始字节边界对齐。 TLK10232通道同步块检测 K28.5字符中的逗号模式、生成同步信号、将数据与其10位边界对齐以进行解码。 必须注意的是,逗号可以是 A (b’0011111),也可以是倒数(b’1100000’),具体取决于运行差异。 TLK10232解码器将检测这两种模式。 TLK10232按照图3-2的流程图所示为每通道执行通道同步。

    根据数据表、您需要为任务模式数据案例启用此同步功能、并且您只能在 PRBS 测试中禁用此同步功能。

    谢谢、

    Rodrigo Natal

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

    罗德里戈、您好!

    感谢你们的快速入门、但这并不能让我们清楚自己的想法。 我们的同步问题位于 HS 上、它可与64/66B 编码配合使用。 除非设置了 SYNC_STATUS_1 (0x1E.000f 位10)寄存器中的位 SYS_CHANGE_SYNC、否则当我们在光纤中进行环回时、该位永远不会上升。 我们的测试仪使用随机有效载荷生成真实的以太网流量。

    使用 SYNC_STATUS_CHECK_DISABLE 时、同步始终处于原状态(位 HS_CHANNEL 同步始终读取1'B1)、测试仪不会检测到任何错误。 因此、我们了解到、使用此设置、同步块是启用的、但稍后可能不会进行检查。 请告诉我们 SYNC_STATUS_CHECK_DISABLE 有什么作用、或者设置此位有什么影响?

    让我们感到困惑 的另一点是、在启动过程中、当选择 KR 伪随机测试模式时、如果链接优化应用手册明确指出仅在 PRBS 测试时设置此位、则还会设置 SYNC_STATUS_CHECK_DISABLE。 KR 伪随机测试模式生成有效的64/66B 块。 此测试模式是否也需要该位?

    此致、

    Daniel

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

    您能否提供 TLK 器件测试系统的方框图?

    谢谢、

    Rodrigo Natal

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

    罗德里戈、您好!

    我向您发送了我们已经做的几个测试场景。 请注意、绿色背景表示测试成功运行、红色背景没有成功运行。

    此致、

    Daniel

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

    Daniel、您好!

    感谢您提供各种测试用例的方框图。  您能否确认我在 FPGA 上注释的信号流是否正确?  为了便于讨论、我还列举了测试用例。

    我有几个与您的设置相关的问题。

    • 我的理解是否正确、Tc#1和 Tc#2之间的唯一区别是 CHA 上的环回布置?
    • 您能否说明本地 SFP+与远程 SFP+之间的区别?
    • 您当前使用的是 TLK10232EVM 还是系统中的器件?

    关于  SYNC_STATUS_CHECK_DISABLE、我已经进行了一些挖掘、认为我可以提供更多的清晰度。  该位控制通道同步是否是达到10G 链路上升状态的门控项目。  在典型运行期间、我不会期望有必要设置该位。  尽管我有一个假设、但这并不能完全清楚是什么标准会影响同步状态。  在典型的 XAUI 操作中、我的理解是 K28.5字符会定期发送。  在10G 链路上、我怀疑这些结果会产生64b/66B 编码的同步字符。  我想知道该同步字符是否用于设置 HS 同步状态。

    您是否知道您使用的测试模式是否偶尔插入同步数据?

    谢谢、

    Drew

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

    您好、Drew、

    是的、正确。 FPGA 仅将流量从一个 PHY 通道重定向到另一个 PHY 通道。

    回答您的问题...

    • 在 Tc#1中、我们使用75km 的光纤卷带进行环回。 我们还直接用奶嘴测试光纤、卷带正常。 在 Tc#2中、使用浅本地环回特性(0x1E.000b 位0至1'B1)在 TLK10232中进行环回。
    • 本地和远程是我们用来区分客户端(通常是短距离连接)和远程端(通常是几十公里)的命名。 了解使用的收发器类型也很有用。 在此设置中、本地侧具有 Finisar FTLX147D3BCV 10GBASE-LR、远程侧具有 Finisar FTLX6872MCC10GBASE-ZR (80km)。 每个收发器都经过单独测试、没有错误。
    • 否、未使用 TLK10232EVM。 我们使用自己的设计。

    要添加更多详细信息、即使我们缩短了环回的距离、同步问题在远程端实际上仍然存在。 当地方面似乎没有什么问题,但我们也看到了这方面的问题。

    当 CHA (远程侧)不同步时、LS 侧似乎也无法同步、当我们编码 PHY 浅本地环回时、LS 侧会自动到达 LS 侧的同步。 这使我们认为 LS 侧和 FPGA 能够正常工作。

    由于 TLK10232具有两个 XAUI (LS 侧)接口和10GBASE-R PCS (HS 侧)、它必须同步并校直 LS 侧和 HS 侧。 LS 同步和校直是通过在流量空闲时插入的/K/和/A/字符进行的。 通过沿64/66模块检查同步报头来实现 HS 同步。 据我所知,双方应能独立同步。

    在 Tc#1中、测试仪生成具有随机有效载荷的真实流量、这意味着该流是64/66B 编码的、具有可执行的空闲计数、并且以太网帧结构良好。 如果我们未设置 SYNC_STATUS_CHECK_DISABLE、则此设置无法将 HS 侧与光纤环回同步。 它似乎也会导致 LS 侧失去同步。

    在 Tc#3中、随机序列封装在64/66块中、因此它应该能够与该流同步、但同样、如果我们不设置 SYNC_STATUS_CHECK_DISABLE、同步永远不会被归档。 此外、启用此测试模式生成会将 HS 侧与 LS 侧发生的任何情况隔离开来、因此问题必须在 HS 侧。

    我们知道、在进行原始 PRBS31测试时、必须设置该位、因为 PRBS31不是64/66有效块、但... 为什么设置此功能允许我们的设置同步并正常工作?

    此致、

    Daniel

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

    Daniel、您好!

    感谢您的详细回答。

    您在远程侧观察同步问题比在本地侧观察同步问题似乎很奇怪、但我不确定这种情况下值得关注太多。  如果我错了、请纠正我的问题、但我假设这两者之间的主要区别是信号完整性。  我希望只要 TLK10232接收到清晰的眼图、远程和本地链路之间就不会有差异、

    关于同步、即使在有效负载包含足够的空闲计数和以太网帧时、也无法实现同步似乎特别奇怪。  遗憾的是、到目前为止、对于 TLK10232 HS 同步的确切组成、我还没有找到任何其他清晰的说明。  我本以为它对应 于10GBASE-R 系统中所需的任何同步。

    您可以尝试其他测试用例吗?  这种情况类似于 Tc#2、但应实现深度本地回路。  这可以通过将 0x1E.000b 位1设置为1'B1来实现。  我很想了解 HS 块在环回中的行为。

    谢谢、
    Drew

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

    您好、Drew、

    你是对的、这真的很奇怪。

    不幸的是、由于缺少仪器、我们无法分析眼睛。 必须使用测试模式生成/验证间接测试两个接口中的信号完整性、因此我们使用了 PRBS31测试模式。 设置正确的 RX 配置后、我们在远程侧使用光纤环回和 PRBS31测试模式来扫频参数 TWPRE、TWPOST1和 TWPOST2。 默认值已位于宽无错误区域的中心。 我们在每一个组合中都花了5分钟时间、以获得足够的结果信心。 因此、很显然、链路是完全均衡的。

    有关同步过程的更多信息。 我们还测试了在 CHA 中启用 FEC 功能。 只有当链路的另一对等端也具有此功能时、它才起作用、这在10GBASE-S/L/ER 中不是标准配置、但由于我们已经进行了环回、因此它是可以的。 这样做的原因是、正如数据表"3.10接收齿轮箱"部分中所述、当启用 FEC 时、会在 FEC 块中进行同步。 借助此功能使能、TLK10232能够进行同步存档、但更有趣的是、不会更正错误。

    正如您所建议的、我们已经测试了 Tc#2如何设置深度本地环回。 结果与原始 Tc#2相同。 一切都很好。 提到 AGC 无法锁定、但我们假设这是预期行为。

    是否有任何关于同步会发生什么情况的想法?

    此致、

    Dani

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

    Daniel、您好!

    您似乎已经完成了适当的测试、以确保信号完整性足够。

    遗憾的是、我对 SYNC 发生的情况没有清晰的了解。  我知道该器件过去已成功用于10G 链路、因此不清楚您的实现为何会出现同步问题。  一般而言、我认为使用具有适当空闲时间和格式良好的数据包的真实流量进行测试非常重要。

    深度本地回送工作似乎意味着有关从外部接收数据的事情可能会导致此问题、但我不确定这是否是正确的做法。

    "3.7前向纠错"部分说明了"在 FEC 运行期间在 RX FEC 块内处理帧对齐、并绕过 RX 齿轮箱同步收割台对齐。"  我想知道这是否解释了在启用 FEC 的情况下进行同步的原因。  没有校正任何错误、这一点非常有趣。

    另一个想法:您是否遇到过通道对齐问题?  您能否确认测试中是否已将 LS_OK_IN 置为有效?  第5.7节介绍了通道对齐的过程。

    另外、对于 Tc#1、您是否尝试使用 SFP 环回模块替换光纤环路?  只是想知道这是否会改变行为。

    谢谢、

    Drew