10,USB 规范和验证

来源:互联网 发布:淘宝购物车结算是灰的 编辑:程序博客网 时间:2024/05/21 08:54


一些USB服从的标准被USB组织重点标记了。(获取更多详细的信息,请参考USB-IF Compliance Progarm)。包含下面的一些测试:

 USB 电服从性测试

 USB命令验证

 USB充电

USB电服从性

USB电服从性测试帮助我们决定USB线中的信号的质量的好坏。这个测试定义了收发器的电的门限,因此客户能够恰当的调试他们的USB PHY来调整这些参数。

 USB眼图

 接收器敏感度

 USB啁啾时序

 USB总线挂载/唤醒/重置 时序

取决于每次测试的结果,USB PHY可能(也可能不会)会调试参数来帮助提高时序,或者信号质量。获取更多的关于如何调试HSUSB PHY参数,请参考Tuning the USB Eye Diagram and Receiver Sensitivity80-NA648-1)。

由于高速模式和超速模式之间的电门限不同,所以也有一些单独的针对超速USB端口的测试情况。下面是一些附加的针对超速USB PHY的测试:

  低频率周期信号(LFPS)发送/接收 测试

  接收器抖动压力测试

 USB命令验证

 USBCV测试组件是可以从USB组织获取的工具,它用来确保设备能够恰当的对列在USB说           明的第9章节USB的场景进行响应。如果设备没有正确的处理请求,它应该被重新处理以保证USB协议在正常的操作期间执行正确的行为。

 下面是一些公共的测试case:

 设备描述符测试

 配置描述符测试

 接口描述符测试

 远程唤醒测试

 挂载/resume测试

 超速USB有一套扩展的标准USB请求;下面是他们其中的一些:

 超速端点伙伴描述符测试

 U1U2测试

 想要了解每个测试的细节,请参考包含在USB30CV工具中的文档。

USB充电器服合性

USB 电池充电1.2说明提到过用来决定不同的USB充电器的类型的检测算法。充电器检测阶段对于D+,D-信号有严格的时序要求,因为每个阶段的脉冲有一个定义的 最小/最大 时间

和电平。

 

USB设备模式功能验证

这部分描述QTI如何测试USB设备的功能

USB mass storage

Mass storage 在不同的平台被使能;然而,是使用最广泛的平台。

为了使能安卓上的mass storage功能:

  1,验证目标被用默认的USB composition启动了。

     查看8.4章节部分来获取每个平台默认的USB composition

     对于mass storage接口,主机驱动自动安装WindowsLinux主机机器。

 2,挂载一个备份文件到mass storage内核驱动。

    echo [块设备] > /sys/class/android_usb/android0/f_mass_storage/lun/file(单独的LUN

    主机上出现一个新的存储驱动或者介质,显示挂载在块设备中的内容

存储介质

一些不同的存储设备能够被挂载在mass storageLUN上。为了做基本的验证,使用一个外部的SD卡是最简单的方法。对于性能验证,使用RAM disk可以不必考虑来自其它硬件部分的性能开销。

1,创建一个想要的RAM磁盘大小的空文件

dd if=/dev/zero of=1G.img  bs=1M count=1000

2,将文件push到设备里

 adb push <path>/1G.img   /data

3,挂载RAM磁盘到mass storage驱动

  echo /data/1G.img > /sys/class/android_usb/android0/f_mass_storage/lun/file

为了使用一个外部的SD卡:

1,插入一个SD卡到设备。

2,捕获创建的块设备

<6>[ 1645.583877] mmc1: new high speed SD card at address 1234

<6>[ 1645.586112] mmcblk1: mmc1:1234 SA01G 972 MiB

<6>[ 1645.591330] mmcblk1: p1

3,挂载SD卡到mass storage驱动

echo /dev/block/mmcblk1 > /sys/class/android_usb/android0/f_mass_storage/lun/file

 

10.2.2媒体传输协议(MTP

通过UI界面来使能MTP是必要的,因为操作性依赖于媒体服务器,这个媒体服务器是通过framework层使能的。查看12.2章节,你如何使能MTP接口?来获得详细的说明。

默认的,在MTP接口使能后,内部的storage被自动挂载。

 

10.2.2.1 Windows Explorer浏览器/ Windows媒体播放器

MTPWindows本身支持,因为它是由Microsoft开发的协议。因此,Windows环境是用来测试和验证MTP接口最好的环境。

验证和测试MTP接口:

1,使用Windows Explorer(推荐方法),将文件从PC传输到便携设备。

2,开始Windows媒体播放器(仅限媒体文件)。MTP设备应该自动的被识别。

3,将想要的文件传到同步列表。

4,点击开始同步来开始拷贝文件。

 

10.2.3 RNDIS

使能RNDIS

有必要通过UI启用RNDIS接口,因为可操作性取决于网络框架来设置所需的路由以及启动dnsmasq等。查看12.2章节部分,你是怎么使能tethering接口的?来获取详细的信息。

 

运行iPerf测试时的注意事项

依赖于使用的传输(硬件vs软件),当运行性能指标测试的时候,建议的iPerf设置可能会不同。查看4.1.9来获得全面的RNDIS硬件vs.软件体系结构。

RNDIS本地回环

RNDIS本地回环是一个使用的术语。

该方法是验证RNDIS数据路径是否正确设置的好方法,但并不总是衡量性能的最佳方式。

 

当使用硬件路径(例如IPABAM2BAM等)时,QTI建议运行端对端测试来测量性能数字。 原因是因为在使用RNDIS本地环回时,未优化IPA软件来处理此类测试。RNDIS本地环回引入了可能有助于降低吞吐量的另一个软件层。 端到端测试显示出更好的性能数字。

 

10.2.3.1

iPerf是一种常用的测量网络接口上TCP / UDP吞吐量的工具。 它

实现客户机/服务器模型,其中客户端是负责生成IP的实体

数据包到服务器。 它根据传递的间隔测量吞吐量参数。

有关所使用命令的详细信息,请参阅USB RNDIS更改以提高吞吐量(80-P1074-1)。

 

0 0
原创粉丝点击