USB 3.0 批量生产测试

缘由

早期我们的 USB 接口测试不区分 1.x、2.0、3.0,统一采用对接入的 U 盘进行数据读写并校验的方法。为了区分不同的接口还需要在 U 盘预先创立不同的标识文件,让测试程序识别,用于报告哪个接口通过或失败。

后来改进了创建标识文件的方案,直接识别插入的 U 盘,不区分哪个是哪个,除了问题再让维修人员进一步排查。毕竟,出问题概率很低。

但现在发现 USB 3.0 接口可能存在一种情况,其部分差分线损坏了,依然能够识别到接入的 U 盘。这样当前测试方案就无法覆盖 3.0 接口的所有功能了。

原理

USB 3.0 的接口比 USB 2.0 接口多了 5 根线,这 5 根线分别是 Shield、SSRX 和 SSTX,即是屏蔽地、超速发送差分对和接收差分对。

当一个 2.0 U 盘插入 3.0 接口时,总线工作在 2.0(highspeed)模式,这五根线即使已损坏也不影响 2.0 U 盘的工作。所以需要确认是D+/D-传递数据还是SSRX+/-和SSTX+/-传递数据。

板卡(HOST)通过检测其 Tx 差分对来辨别是否接入 3.0 的设备。

要求

测试需要覆盖 USB 3.0 接口的所有管脚功能,不能以 2.0 的标准去测试 3.0 的接口。

方案一

采用 3.0 U 盘接入 3.0 接口,系统识别接入的 U 盘设备,确认工作在 3.0(superspeed)模式下。可以验证高速差分对 Rx 工作正常。

USB 3.0 批量生产测试_第1张图片


上图可以看到,同样的一个 USB 3.0 接口,分别接入 2.0 和 3.0 U 盘,使用 lsusb 命令得到不同的结果。由于采用不同的总线协议,U 盘设备挂载到不同的总线里去了。

基于广州创龙的 570x 板卡验证,拆除 USB 3.0 接口中 Tx 差分对串联的电容,也就是让 Tx 差分对无法工作,依然能够得出上图的识别结果。

问题:当USB 3.0 接口的高速 Tx 差分对断开时,系统依然能够识别到 3.0 U 盘。待改进。

方案二

采用 3.0 U 盘接入 3.0 接口,分别对 U 盘进行数据写入与读出,并统计速率。速率均高于 2.0 标准,可以确认 Tx、Rx 高速差分对工作正常。可以使用 Fio 工具进行速率测试。

问题:速率统计需要读写大量数据才能真实反映,耗时长。另外速率受较多其他因素影响,存在一定的波动。这对于批量测试来说难以接受。待改进。

参考

https://blog.csdn.net/zoosenpin/article/details/31735727
https://blog.csdn.net/cescf4/article/details/8601457

2020年7月24日

你可能感兴趣的:(嵌入式硬件测试)