《串行数据一致测试及调试系列》由会员分享,可在线阅读,更多相关《串行数据一致测试及调试系列(7页珍藏版)》请在金锄头文库上搜索。
1、深圳市共进电子有限公司曹跃林摘要)本文主要讨论了某款嵌入式产品中USB2.0主机接口的眼图测试。通过一 个测试案例展开了对USB2.0测试机理的探讨,对后续的嵌入式产品USB2.0主机 测试有一定的参考意义。关键词):嵌入式,USB2.0略缩语)USB IF: USB Implementers Forum, Inc.,、之一前言在高速串行技术如此广泛应用的今天,简单易用的USB堪称是PC平台上最成 功的I/O技术,普及率几乎100%。而且随着终端用户对于高速USB设备应用需 求的不断增加,越来越多的嵌入式通信类终端产品开始增加了 USB2.0主机接口 的设计以满足客户的应用需求。成熟的应用技术
2、由PC平台转向嵌入式平台的已 经成为一种趋势。为了满足USB2.0 一致性应用的需求,所有的USB2.0设计都必 须满足USB IF发布的USB2.0物理层一致性测试要求。相对于比较成熟的PC平 台USB2.0主机测试技术而言,基于通信类终端的嵌入式USB2.0主机的测试面 临更多的挑战。特别是进行二次开发的应用厂商而言,如何满足USB2.0物理层 一致性测试要求很大程度上需要原厂在测试模式以及测试封包方面提供更多的 支持。但应用需求的多样化导致了许多设计架构脱离了原厂的测试状态机控制范 畴,问题接踵而来。二 嵌入式USB2.0主机测试1产品USB部分原理及测试环境产品USB控制原理USB控制
3、主机采用某大型通讯类方案提供商的IAD解决方案,片内集成一个 USB2.0控制器,然后通过一个USB HUB中继对外提供2个高速主机接口。测试设备:示波器4Lecroy WavePro TSOOA*21,探头夹具Lecroy TF-USB-B-p电脑主机ThinkPad E5加测试软件口USB-IF HS Electrical Test T00I43USB Elo L In faeeLSB Host LnterTaceDUT_USB2. 0 功能框图p2测试中出现的问题0物理本次测试将主要验证产品上两个USB高速主机接口的眼图。对于USB2. 层的眼图测试,USB IF在USB2.0 SPEC
4、中有着明确的眼图模板定义如下:关于USB高速主机眼图测试的测试方法,USB IF在USB2.0 SPEC中也有清晰的 定义,USB2.0主机控制器必须支持规定的测试模式。对于眼图的测试则必须支 持Test Packet测试模式,连续发送规范的测试码流以测定眼图模板,上升下降 时间,传输抖动以及其他的一些AC指标。也就是说测试是基于原厂对于测试模 式的支持并提供相应的Firmware。准备测试前工程师和原厂沟通后顺利拿到了 测试Firmware和测试命令。原厂提供的测试方法是在上电启动之后进入CFE模 式然后下载和运行测试专用Image,这样就可以使用Test_Packet命令进行眼图 的测试了
5、。测试连接图示如下:一切看起来都是那么的顺利,但是当我们通过串口进行Test Packet命令下发之 后在两个主机接口却看不到信号波形出现。因为是第一次进行嵌入式USB的测 试,所以对于出现的问题是没有任何经验可以参考和借鉴的。从串口信息来看是 显示命令下发成功的,那问题到底出在哪里呢?只有从信号流向一步一步地查找 了。工程师首先测试了 USB HUB与CPU之间的Upstream接口,发现有相应的信 号波形出现。也就是说USB主机控制器已经执行了 Test Packet命令并发送了测 试码流,问题出现在了 USB Hub这里,它并没有向两个Down Stream Facing Port 转发
6、码流。而且原厂提供的命令也很奇怪,根据有PC主板测试经验的工程师的 意见,对于HUB的测试应该需要指定测试端口才对。而在测试命令中我们并没有 看到相应的指令而只有简单的Test Packet命令。在询问了原厂技术人员后问题 有了答案:(1)原来我们采用的方案只支持一个USB主机接口,所以在片上只集成一个USB 主机Controller,测试命令也是基于主机控制器类型的。而我们的板级应用是 采用了一个USB Hub与主机Controller中继来实现多端口应用的扩展,根本无 法进行 Hub Down Stream Facing Port 的测试。(2)并且原厂的测试是在CFE模式下通过下载运行特
7、定的测试程式来进行测试, 在这个阶段,并没有实现USB Hub的初始化以及配置字的操作,也就是说USB Hub 是不可控的无法进入测试模式的设定。我们的多USB主机端口的应用设计使得系 统架构中加入了 USB Hub进行中继,已经超出了原厂设计的USB测试状态机控制 范畴,导致了无法通过原厂提供的测试命令进行测试。再次和原厂技术支持讨论 新的测试程式的开发从时间说来看已经不实际了,客户非常关注并要求我们必须 尽快给到USB主机的测试报告。第一次进行嵌入式USB主机测试就遇到如此棘 手的问题,工程师们一时间束手无策。有没有另外的方法呢?3问题分析解决在和客户方面的资深工程师分析和讨论之后,我们有
8、了一个非常巧妙的解决 方案,当然还需要实际的测试来验证。USB专业测试人员都知道,USB IF针对 USB 一致性测试提供了一个专用测试工具(USB-IF HS Electrical Test Tool) 以方便开发者进行相关的USB测试。但这个工具只能运行在PC主机上,而我们 的嵌入式系统其实也是通过相应的底层命令来实现这个工具相关的测试功能。从 测试拓扑来看,我们目前的问题主要在于嵌入式控制主机无法实现对USB Hub 的控制和测试模式设定。从控制系统的角度来说,不管是嵌入式控制主机还是 PC主机都实现的是USB主机控制器的作用,也就是说我们可以使用PC主机替代 嵌入式控制主机,在一台装有
9、USB-IF HS Electrical Test Tool的PC上对产品 板级 USB Hub 进行 Down Stream Facing Port 的 Test Packet 测试了。当然,我 们首先要断开嵌入式控制主机与USB Hub之间的Up Stream Facing Port并飞线 与PC主机的USB接口连接。因为测试单扳本身提供5V供电,所以我们只需要飞 出D+/D-/GND三线即可。完成后的图示如下:USB Hub Up Stream Port线图/我们使用了一台装有 USB-IF HS Electrical Test Tool的 ThinkPad R51 作为控 制平台,在按
10、照上面的图示进行测试连接并将产品上电之后我们在测试工具中选 择了 Hub类测试并发现了板级的USB Hub。我们已经初步实现了之前关于控制系 统的设想,图示如下:在图示中的Port Control栏中选择Test Packet命令,在相应的Port栏中选择 我们需要测试的端口如1,示波器上出现了我们期待已久的信号波形(如下)。 按照Lecroy示波器USB2.0测试软件中的Step by Step,示波器很快就完成了 测试并输出了分析报告。有专业的分析工具就是不一样,我们根据测试报告中的 关键测试数据,优化了我们的电路设计使得主机接口的信号更加理想(图示如下, 本文中不对分析内容进行展开)。A
11、.45.2.-t。 # 岳.45 aooao-o-oq-o-erw 营一 F-mwfp三测试总结此次嵌入式USB2.0主机接口眼图的测试到此算是顺利完成了,重新回顾一下 我们的测试过程,感触颇深。可以说因为是第一次进行USB高速主机接口的测试, 前期的准备工作并不是很充分。但正是有这些突如其来的问题,让我们可以更加 深入的理解和分析USB技术的原理和测试方法,有很多的收获和经验和大家一起 分享:仔细和深入的解读产品的规范是我们顺利进行测试的基础和依据,例如此次的 USB2.0 SPEC。所有的设计和测试都是依据规范展开的,只有解读了规范,才能 保证理解USB2.0的内部架构和状态控制机,才能保
12、证测试的顺利进行。真正理解控制系统,此次测试的关键在于工程师首先理解的USB2.0 SPEC的同时 大胆进行了控制主机的假定替代。用归一化的方法来审视我们的控制系统以及层 次化系统功能层面是我们进行测试设计创新的保证。一套真正专业实用的分析设备和工具非常关键,此次使用的美国力科(Lecory) 的数字示波器和USB2.0分析软件对于我们高效的分析信号和准确的定位问题非 常关键。有了专业仪器厂商的支持才能确保产品的开发进度和质量。当然,USB主机信号质量的测试不仅仅是眼图部分,USB IF关于USB2.0 一致 性测试规范还有很多的测试项目需要完成。而且对于嵌入式USB测试而言,会面 临更多的挑战,希望本文可以给到从事嵌入式USB开发测试的工程师一些思路和 借鉴。参考文献1: Universal Serial Bus Specification Revision 2.0,USB IF2: USB2_OperatorsManual_RevD ,LeCroy Corporation