By GRL Team on Aug 10, 2022

如何顺利通过USB 3.2 Gen1接收端测试?数据连接层训练及回环模式是关键

   

Granite River Labs
陈海Sea Chen

 

USB 3.2 Gen1的回环模式(Loopback mode)是USB 3.2 Gen1数据连接层(Link Layer)中的一种模式,主要用于USB 3.2主机(Host)或设备(Device)的接收端误码率测试。

在实际测试中,如何让待测物顺利进入回环模式是USB 3.2 Gen1接收端测试(Receiver Test)是否能顺利通过的关键,因此本文将为大家介绍USB 3.2 Gen1的工作模式,并说明在USB 3.2 Gen1测试中,测试仪器如何让待测物进入回环模式。

 

USB 3.2的数据连接层训练及链路训练状态机(LTSSM)

 

1. 工作状态

LTSSM的全名为Link Training and Status State Machine,主要用于控制链路的连接状态和链路的电源管理。包括U0-U3四种工作状态:

  • U0状态表示的是超高速连接处于允许状态,就是正常的工作状态,数据包正在发送或数据连接处于空闲状态。
  • U1表示的是低功耗数据连接状态,此时没有数据包发送,超高速数据连接可以处于非允许状态以节省功耗。
  • U2也是一种低功耗状态(能进一步节省功耗,但是如果退出该状态则需要更长的等待时间)。
  • U3为数据连接中止,设备被以挂起的状态(可进一步节省功耗)。

当主机(Host)正常辨识到USB 3.2设备,然后操作主机进入睡眠或者重启动作的过程中,即可抓取到以下U0-U3的不同状态。(下图截至LeCroy USB 3.2协议分析)

图1: LeCroy USB 3.2协议分析–状态U0-U3

2. 连接状态

USB 3.2 Revision 1.0规范中,可以看到LTSSM链路训练状态机流程图(图2)中有四种连接状态,分别为RX.Detect,Polling,Recovery以及Host Reset;以下先简单介绍一下这四种连接状态。

图2: LTSSM链路训练状态机流程图

  • Rx.Detect:表示当连接接电后,主机和设备能够互相辨识到双方的存在,一但辨识到,双方将开始进入初始化训练程序。
  • Polling(轮询):表示主机和设备在训练初始化发送端和接收端以及进行同步,准备进行数据包的发送。
  • Recovery(数据恢复):主要是当前连接发现当前系统要从低功耗状态切换出来或者当前没有用工作在U0状态,而需要重新进行训练和配置的时候进行恢复连接。
  • Host Reset(重置):表示连接允许下行端口重新设置上行端口。

图二中还有另外两个连接状态,Loopback和Compliance Mode,被引进来用于误码率测试以及发送端标准测试;其它两种状态为SS.Inactive和SS.Disabled,分别为连接出现错误而处于不可操作的状态、以及连接工作在非超高速模式且可能处于USB 2.0模式的状态;从图中还可以看出,从连接上电到正常工作(这状态类似于我们将平时用的USB 3.2U盘,从插入笔记型电脑到能够正常开始读取数据的过程)需要经历三个阶段:Rx.Detect、Polling、U0。其中Polling过程会对连接上的终端设备进行相关初始化设置,从Rx.Detect到U0的过程需要经历的步骤如下图:

图3: Rx.Detect到U0子程序步骤

在Rx.Detect阶段,连接上的主机或设备开始识别远端是否有终端,如果有终端,则连接上的终端均开始发送特定规格的Polling.LFPS码(低频周期突发信号,周期在20ns到100ms之间),LFPS信号是一个非常关键的信号,通过不同特征的LFPS信号可以实现主机或设备在安装不同的状态之间进行切换,不同特征的LFPS信号主要表现为时序上的不同,如tBurst和tRepeat参数。不同要求的LFPS信号参数如图4所示(来源:USB3规范)。

图4: LFPS信号定义

经过特定时间的Polling.LFPS后,首先进入Polling.RxEQ的端口开始发送设置好的TSEQ码进行接收端的均衡器设置,然后再藉由TS1/TS2(Training Sequence,训练码)进行其它相关参数的设置,最后透过发送Idle码进行使用,完成整个连接的初始化,进入U0工作状态。图五为LeCroy USB 3.2分析仪对连接初始化过程的分析结果,我们可从该图获得连接初始化过程中详细的训练码序列及时序关系。

图5:连接初始化过程 

 

接收机比特错误率测试

当需要对连接上的主机或设备进行比特错误率测试时,待测物需要进入到图6中的回环模式(Loopback mode)

图6: Loopback training

且根据USB 3.2规范,如果需要进入回环模式,应该有一个Loopback master和一个Loopback slave,而Loopback master就是请求Loopback的端口,Loopback slave端口则会传送从Loopback master处接收到的符号。Loopback master需要保持进入U0的初始化顺序不变,这时只需将训练码TS2第五个symbol的Bit2设置为Loopback模式即可,如图7所示:

图7: Gen1/Gen2 Link Configuration

 

如何进入回环模式

进入回环模式最常见的方法是通过信号源或者数位码型产生器作为Loopback master,发送特定码型序列给待测物(Loopback slave),强制其进入回环模式,期间Loopback master应发送必要的SKPs有效8b/10b数据,Loopback slave应该重传接收到的10-bit符号,或在必要时进行信道信号极性翻转(Lane polarity inversion),以及适时插入或者去除SKP有序集。图8为使用安立知MX183000A的USB Link Training进行Loopback训练时发送的数位码型产生器和参数设置。

图8: LTSSM Setting via Anristu MX183000A

  成功进入到Loopback mode之后,USB Link Training界面应该显示如图9,连接状态处于Loopback.Active,LTSSM状态机所打印的具体训练日志如图10。

图9: USB Link Training via Anristu MX183000A

图10: LTSSM训练日志

 

结论

本文介绍了USB 3.2 Gen1工作模式、连接初始化过程、链路训练状态机(LTSSM)工作流程、LFPS信号定义和Loopback配置,并实际使用LeCroy USB 3.2协议分析仪查看连接状态,以及安立知LTSSM的具体配置和MX18300A USB Link Training成功进入回环模式的状态。Loopback模式是USB认证测试中很重要的一环,因此作者希望各位读者可以透过本篇文章更了解Loopback的作动与方法,让您的产品在实际进行接收端测试时可以更顺利,规避相关问题。

 

参考文献:

  • USB-IF, Universal Serial Bus USB3.2 Specification, Revision 1.1, June 2022

作者介绍

GRL上海测试工程师陈海Sea Chen

拥有7年的测试经验,目前主要负责USB2、USB3相关技术的产品认证测试,亦熟悉PCIE,SATA等总线测试。

联系我们了解更多

本文件中规格特性及其说明若有修改恕不另行通知。

发布日期 2022/8/10 AN-220810-TW

Published by GRL Team Aug 10, 2022

Related Post