微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 胡为东系列文章之五--USB 3.0物理层测试中的一致性

胡为东系列文章之五--USB 3.0物理层测试中的一致性

时间:01-12 来源:互联网 点击:


LTSSM(Link Training and Status State Machine)主要用于控制链路的链接状态和链路的电源管理。U0-U3为四种和工作相关的状态,U0状态表示的是超高速链接处于使能状态,数据包正在收发或者链路处于空闲状态;U1表示的是低功耗链路状态,此时没有数据包收发,超高速链路可以处于非使能状态以节省功耗;U2也是一种低功耗状态(能进一步节省功耗,但是如果要退出该状态则需要更长的等待时间);U3为链路终止状态(可进一步的节省功耗);Rx.Detect、Polling、Recovery以及Hot Reset为四种链接状态,Rx.Detect状态表示当链路上电后,host和device能够相互识别到双方的存在,一旦识别,双方将开始进入初始化训练程序;Polling状态表示host和device在训练初始化发送端和接收端以及进行同步,准备进行数据包的发送;Recovery主要是当链路发现当前系统要从低功耗状态切换出来或

图1 USB3.0 LTSSM的状态机流程图

者当前没有工作在U0状态而需要重新进行训练和配置的时候进行链路恢复;Hot Reset表示链路允许下行端口重新设置上行端口;另外两种链路状态为Loopback和Comliance,分别用于误码率测试和发送端一致性测试;还有其它两种状态为SS.Inactive和SS.Disabled,分别为链路出现错误的状态和链路工作在非超高速状态或者链路工作USB2.0状态。

从上图1中可以看出,从链路上电开始到正常工作(类似于将USB3.0的U盘插到笔记本的USB3.0接口上到能够正常开始读取数据)需要经历三个阶段:Rx.Detect、Polling、U0,其中Polling过程会对链路上的终端设备进行相关的初始化设置,从Rx.Detect到U0的过程需要经历的子过程步骤如下:

图2 Rx.Detect到U0状态需要经历的子状态

在Rx.Detect状态,链路上的host或者device开始识别远端是否有端接,如果有端接,则链路上的终端均开始发送特定规格的Polling.LFPS码(低频周期突发信号,周期在20ns到100ns之间),LFPS信号是一个非常关键的信号,通过不同特征的LFPS信号可以实现host或者device在多种状态之间进行切换,不同特征的LFPS信号主要表现为时序上的不同,如tBurst和tRepeat参数,不同要求的LFPS信号参数如下图3所示;经过特定时间的Polling.LFPS握手后,开始发送定制好的TSEQ码进行接收端的均衡器设置,然后再通过TS1/TS2(Training Sequence,训练码)码进行其它相关参数的设置,最后通过发送Idle码进行握手,完成整个链路的初始化,进入U0正常工作状态。如下图4、图5所示,图5为用力科的USB3.0协议分析仪对链路初始化过程的分析结果,从该图上可详细了解到初始化过程的训练码序列及其时序关系。

图3 LFPS信号及其主要参数


图4 USB3.0链路终端从相互识别到进入正常工作状态的初始化过程

图5 用力科的协议分析仪对链路初始化过程的分析结果

当需要对链路上的host或者device进行发射机一致性测试或者误码率测试时,则需要设置被测DUT进入上图4中所示的一致性模式(compliance mode)或者环回模式(loopback mode)。

根据USB3.0规范,如果需要进入一致性模式,则需要接收端保持低阻抗模式、且需要给被测DUT发送Ping.LFPS,(Ping.LFPS的参数tBurst和tRepeat不同于Polling.LFPS,见图3),接收端每接收到一个Ping.LFPS会切换一次一致性码型;而如果需要进入环回模式,则需要保持进入U0的初始化顺序不变,只需要将训练码TS2的第五个symbol的Bit2设置为Loopback模式即可,如下图6所示:

图6 TS2(同TS1)的第5个symbol(共16个symbol)中的Loopback设置

此外,从上图4中可看出,发送Polling.LFPS和TS2时,链路的终端之间是需要进行握手(handshake)的。

对于一些芯片级测试工程师来说,设置芯片进入一致性测试模式或者环回模式也许会比较容易,但是对于很多系统级用户来说,有时就会比较困难,而且如果用户自己设置器件进入一致性测试模式或者环回模式再进行测试,效率会比较低,因为需要不停的进行手动切换。比如说做发射机物理层一致性测试时,需要不停的切换码型,如果靠手动切换,则会花费很多时间。因此,为了提高测试的效率,测试设备供应商都提供了相应的办法来自动让DUT进入一致性测试模式或者环回模式来自动化完成发射机一致性测试或者接收机误码率测试。

二、发射机一致性测试如何让DUT进入一致性模式

1、用户通过软件或者借助其它的USB3.0设备等办法诱使DUT进入一致性测试模式,手动切换一致性测试码型(CP0-CP1-CP2-CP3-CP4-CP5-CP6-CP7-CP8)。

2、通过信号源或者码型发生器定制Polling.LFPS码型让DUT进入一致性测试模式,并根据

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top