最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

windows USB 设备驱动开发-ConnEx 测试 USB Type C 系统

业界 admin 4浏览 0评论

ConnEx可以自动测试系统、设备、使用 USB Type-C 连接器的扩展坞及其与 Windows 操作系统的互操作性的。 可以测试属于以下类别之一的硬件:

  • 系统:台式机、笔记本电脑、平板电脑、服务器或手机运行具有公开 USB Type-C 端口的 Windows 操作系统版本的 SKU;
  • 扩展坞:公开多个端口的任何 USB Type-C 设备;
  • 设备:具有可连接到系统或扩展坞的 Type-C 端口的任何 USB 设备。 此类别包括传统的 USB 设备,以及支持 USB Type-C 规范中定义的附件和备用模式的设备;
规范和过程

MUTT Connection Exerciser Type-C (USB Type-C ConnEx) 硬件板是 Arduino 开发板的自定义防护板。 防护板提供四对一交换机,用于自动执行 USB 类型 C 方案的互操作性测试。

硬件要求

若要使用 USB Type-C ConnEx 版本 2 执行 USB Type-C 互操作性测试过程,需要:

  • 受测系统 (SUT):至少具有一个公开的 Type-C USB 端口的台式机、笔记本电脑、平板电脑、服务器或手机;
  • USB Type-C ConnEx:该设备有一个公 USB Type-C 端口, (标记为 J1) SUT 连接到。 该设备还有另外四个 USB 端口, (标记为 J2、 J3、 J4、 J6) 设备可以连接到这些端口,作为外围设备连接到 SUT。 设备监视从 SUT 中提取的安培数和电压。 可以从 MCCI 购买必要的硬件;
  • 外围 USB 设备:具有可连接到 SUT 的 USB 类型 C 端口的任何 USB 设备。 此类别包括传统的 USB 设备和支持 USB Type-C 规范中定义的附件和备用模式的其他设备;
  • Micro-USB 到 USB A 电缆: 你将使用此电缆将 USB Type-C ConnEx 连接到电脑进行电源和通信 ,如果你的 SUT 有 USB A 端口,你将在这里连接它;
  • 代理控制器:如果 SUT 没有 USB A 端口,可以使用代理来控制 USB Type-C ConnEx 以运行测试。 代理控制器应是辅助台式电脑或笔记本电脑。代理控制器将 (与移动 SUT) 通信到微控制器,以使用辅助 USB 端口加载固件;
旧版本的硬件要求

若要使用 USB Type-C ConnEx 版本 2 执行 USB Type-C 互操作性测试过程,需要:

  • 受测系统 (SUT):至少具有一个公开的 Type-C USB 端口的台式机、笔记本电脑、平板电脑、服务器或手机。
  • Arduino Mega 2560 R3: Arduino Mega 2560 R3 用作测试设置的微控制器。

  • Arduino Mega 2560 R3 微控制器的电源适配器。
  • USB Type-C ConnEx

防护板有一个公 USB Type-C 端口, (标记为 J1) SUT 连接到。 防护板还有另外四个 USB 端口, (标记为 J2、 J3、 J4、 J6) 设备可以连接到这些端口,作为外围设备连接到 SUT。 防护板监视从 SUT 中读取的安培数和电压。 可以从 MCCI 或 JJG Technologies 购买此开发板。

  • USB A 到 B 电缆: 你将使用此电缆将电脑连接到微控制器,以便更新微控制器上的固件以运行测试。
  • 外围 USB 设备: 具有可连接到 SUT 的 USB 类型 C 端口的任何 USB 设备。 此类别包括传统的 USB 设备和支持 USB Type-C 规范中定义的附件和备用模式的其他设备。
  • USB 充电器: 支持 USB Type-C 当前要求和可选的 USB 电源传送的 USB 类型 C。 还需要适用于 J6 的 USB Micro-B 充电器。
  • 代理控制器: USB Type-C ConnEx 可以通过使用代理运行测试来控制。

代理控制器可以是以下实体之一:

辅助台式电脑或笔记本电脑:

代理控制器与移动 SUT(微控制器)通信以加载固件:

使用辅助 USB 端口进行 SUT:

使用 3.5 毫米音频插孔进行 SUT:

在此设置中,需要DTMF 防护,用于在具有单个 USB Type-C 端口的 SUT 上运行测试。 在固件的初始闪存完成后,DTMF 提供通过音频插孔从单端口设备控制防护层的功能。

用于将 DTMF 防护板连接到 SUT 的 4 引脚公对公音频电缆。 这允许 SUT 在测试期间控制 USB Type-C 防护板。

软件要求

请确保满足以下要求:

  • SUT 必须具有要用来测试互操作性的 Windows 操作系统版本;
  • 代理控制器必须Windows 10运行;
  • 在 代理控制器上下载并安装最新的 MUTT 软件包。 包是一套工具,用于通过 USB Type-C ConnEx 运行测试。 它包括用于更新固件、在外围端口之间切换以及发送用于模拟测试用例的请求的实用工具。 它还包含测试驱动程序包,用于测试总线、其控制器和连接到总线的设备的功能;
  • 对于基于 UCSI 的系统,我们强烈建议使用一些其他设置进行测试,以帮助发现 UCSI 固件 bug。 此设置将使 UCSI 固件问题可发现,强烈建议仅用于测试目的。 请参阅此博客文章中的 调试 USCI 固件故障 ;
  • 安装测试工具需要提升的命令窗口;

若要打开提升的命令窗口,用户必须是代理控制器上的 管理员 组的成员。 若要打开提升的命令提示符窗口,请创建用于 Cmd.exe 的桌面快捷方式,选择并按住 (或右键单击) Cmd.exe 快捷方式,然后选择“ 以管理员身份运行”。

USB Type-C ConnEx 工具

下面是 MUTT 软件包中特定于 USB Type-C ConnEx 的工具


最新版本入门

请遵循此过程来设置测试环境。配置将类似于此映像。 请注意,连接到电脑时,设备上的 Micro-USB 端口提供对 USB Type-C ConnEx 的控制。

在这些步骤中,你将连接硬件部分、更新微控制器上的固件并验证安装。

1.将 micro-usb 插入 ConnEx 的背面,将 USB A 插入代理控制器 (SUT(如果可用) )。

2.使用 USB Type-C ConnEx 固件更新设备。

  • 打开提升的命令提示符窗口。
  • 导航到 MUTT 软件包的位置,例如 C:\Program Files (x86) \USBTest\<arch>。
  • 运行以下命令:ConnExUtil.exe –UpdateFirmware

3.使用设备背面连接的 USB Type-C 电缆插入 SUT。

4.将外设连接到标记为 J2、J3、J4、J6 的 USB 端口。

5.确保代理控制器上的设备管理器识别设备 (SUT如果可用)。

旧版本入门

请遵循此过程来设置测试环境。

配置应与此映像类似。 请注意,连接到电脑时,微控制器上的 USB Type-C 端口提供对 USB Type-C ConnEx 的控制。

在这些步骤中,你将连接硬件部分、更新微控制器上的固件并验证安装。 当连接到手机或平板电脑的音频端口时,DTMF 防护板提供对 USB Type-C ConnEx 的控制。

1.将微控制器连接到 USB Type-C 防护板。

如果 USB Type-C ConnEx 未组装,请继续执行步骤 1。 如果 USB Type-C ConnEx 已组装,请继续执行步骤 2。必须仔细执行此步骤,因为针脚容易弯曲。

a.通过确保各板相互对齐,将 USB Type-C 防护板的引脚与微控制器上的接收器对齐。

b.轻轻地将两块板压在一起。 注意不要弯曲防护罩上的针脚。

组装的单元应类似于下图:

2.通过使用连接到代理控制器的 USB B () 或外部电源适配器,从连接的微控制器为 USB Type-C ConnEx 供电。 液晶显示器类似于下图:

五秒钟后,液晶显示器会显示电流和电压。

如果未看到如上图所示的显示,请确保已正确组装单元。

3.使用 USB Type-C ConnEx 固件更新微控制器。

  • 打开提升的命令提示符窗口。
  • 导航到 MUTT 软件包的位置,例如 C:\Program Files (x86) \USBTest\<arch>。
  • 运行以下命令:MuttUtil.exe –UpdateTabFirmware

4.将 SUT 插入到外接 USB Type-C 端口, (屏蔽上标记为 J1) 。

谨慎 连接 SUT 时 ,J1 连接器需要额外的支持。 连接器不够坚固,无法承受设备或本身的重量。

5.将外设连接到标记为 J2、J3、J4、J6 的 USB 端口。

连接到 USB Type-C ConnEx 的外围设备图片。

将代理控制器连接到微控制器。

  • 如果代理控制器是台式电脑或笔记本电脑,请通过 USB 建立连接。 将微控制器上的 USB Type-B 端口连接到代理控制器上的 USB 端口,如上图所示。
  • 如果代理控制器是移动 SUT,请使用音频端口建立连接。 对于此连接,需要 DTMF 防护板。

a.将 DTMF 防护板连接到组装的单元,如下图所示:

b.使用 4 针公头对公音频电缆将防护板的音频端口连接到 SUT 上的音频端口。

设置应类似于下图:

7.确保代理控制器上的设备管理器识别 USB Type-C ConnEx。

a.右键单击任务栏中的“开始”按钮,然后选择“设备管理器”。

b.展开 (COM & LPT) 节点的 端口,并记下微控制器使用的 COM 端口。 在此示例中,它连接到 COM 4。

ConnExUtil.exe

下面是 ConnExUtil.exe 支持的用于控制 USB Type-C ConnEx 板的命令行选项。


示例命令
连接到端口

connexutil.exe /setport 1

或者,使用印在开发板上的端口名称:

connexutil.exe /setport 1

断开所有端口的连接

connexutil.exe /setport 0

循环访问所有端口

for %p in (1 2 3 4)
do (
    connexutil.exe /setport %p
    echo Confirm device on port %p
    pause
)
用于控制 USB Type-C ConnEx 板的脚本

这些脚本使用 ConnExUtil.exe 支持的控制接口,通过命令行使用 USB Type-C ConnEx 运行顺序和压力类型测试。 所有这些脚本都支持可选的命令行参数 音频 ,以指示 USB Type-C ConnEx 板通过 3.5 毫米音频接口连接。 默认情况下,他们只会尝试使用 USB 连接的板。

简单连接和断开连接顺序:CXLOOP.Cmd(1-4)  每个端口连接 SUT 并断开 SUT 的连接,并在每个端口上暂停,提示测试人员验证该端口上的连接。

随机连接和断开连接循环:CXSTRESS.Cmd

在无限循环中,在 0.0-5.0 秒的随机间隔内,随机连接和断开每个端口之间的 SUT。 连接到 USB Type-C 端口时,它将在该端口上随机启用或禁用 SuperSpeed 连接,并随机指示开发板以 0 - 999 毫秒的随机间隔在该端口上快速断开连接。

命令行参数 C 导致脚本仅在 USB 类型 C 端口和断开连接状态之间切换。 数字命令行参数将开关之间的最大随机间隔从默认值 5.0 秒重置为以秒为单位的输入值。 参数可以按任意顺序传递。

长时间运行的功率测量:CXPOWER.Cmd

每隔 2 秒将 USB Type-C ConnEx 报告的安培数和电压保存到输出文件 power.csv。 数据的格式设置为逗号分隔变量,如下所示:

index,time,volts,amps

index 是 ConnExUtil.exe /list 命令提供的设备索引,因此可以同时监视多个设备。

time 是原始时间戳(以秒为单位)。

伏特 和 安培 记录到 2 个小数位数。

捕获完成后,可将此数据发布到图表中,显示随时间推移的功耗,例如电池充电周期的功耗。 数字命令行参数将默认测量间隔 2 秒重置为输入值(以秒为单位)。

关于测试用例

USB Type-C 互操作性测试过程分为两个部分:功能测试 (FT) 和压力测试 (ST) 。 每个测试部分描述测试用例,并标识应用于测试的类别。 产品必须针对整个适用类别进行测试。 某些测试用例包含指向相关提示和提示的链接,以获取其他信息。 本部分重点介绍 USB 类型 C 功能和体验。 USB 类型 C 解决方案可能包含其他 USB 组件,例如 USB 集线器或 USB 控制器。 USB-IF 的 xHCI 互操作性测试过程 和 Windows 硬件认证工具包中介绍了 USB 集线器和控制器的详细测试。

这些测试用例基于用于 控制 USB Type-C ConnEx 板的 ConnExUtil 命令和示例脚本脚本。 测试用例引用脚本。 根据测试方案的要求自定义脚本。

  • 设备枚举:确认设备枚举的核心方面是否正常工作。
  • 备用模式协商:确认支持的备用模式。
  • 充电和供电 (PD) :确认使用 USB 类型 C 充电。
  • 角色交换:确认角色交换。

压力测试部分介绍压力和边缘案例方案的过程,这些方案在一段时间内测试设备稳定性。 压力测试需要自定义设备 (SuperMUTT) 进行旧版 USB 验证, (非 USB 类型 C) 。 可通过即将推出的 USB Type-C 测试设备实现其他测试和自动化。

  • 设备枚举:确认设备枚举的核心方面是否正常工作。
  • 充电和供电 (PD) :确认使用 USB 类型 C 充电。
FT 案例 1:设备枚举

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
FT 案例 2:备用模式协商

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
FT 案例 3:充电和供电 (PD)

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
  8. 将 USB Type-C ConnEx 连接到端口 J2。ConnExUtil.exe /setPort 2
  9. 如果 SUT 包含多个 USB 类型 C 端口,请使用 USB 类型 C 电缆连接同一系统上的两个 USB 类型 C 端口。确认 SUT 不会 (自身) 充电。确认电源的 LCD 读数符合壁式适配器的预期。
  10. 将连接到 J3 的 USB Type-C 充电器替换为其他制造商提供的另一个 USB Type-C 充电器。确认设备正在接收最新消息。
FT 案例 4:角色交换

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
  8. 将 USB Type-C ConnEx 连接到端口 J2。确认角色交换。 LCD 屏幕上显示的 Amperage 指示电源角色。 如果 J1 是电源接收器,则为 +ve;如果 J1 是电源,则为 -ve。
  9. 执行必要的步骤来交换数据角色,并确认每个系统的当前角色已更改。
ST 案例 1:设备枚举

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXSTRESS。CMD 12 小时。按 Ctrl-C 终止脚本。
  7. 执行 FT 案例 1:设备枚举中所述的步骤。
ST 案例 2:充电和供电 (PD)

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXSTRESS。CMD 12 小时。 .按 Ctrl-C 终止脚本。
  7. 执行 FT 案例 3:充电和供电 (PD) 中所述的步骤。
其他测试资源

以下功能测试可针对 USB 类型 C 进行改编,以改进传统的 USB 方案。

以下压力测试可以改编自 SuperMUTT 测试文档,以扩展 USB 方案。


验证测试结果,确认充电和电源

USB Type-C ConnEx 上的板载 LCD 显示 (伏特、安培和方向) 。 确认它符合插入并主动启用 USB Type-C ConnEx 的电源的期望。

确认桌面设备上的设备添加
  1. 确定设备连接到的 USB 主机控制器。
  2. 确保新设备显示在 设备管理器 中的正确节点下。
  3. 对于连接到 USB 3.0 端口的 USB 3.0 集线器,预期会看到两个集线器设备:一个以 SuperSpeed 枚举,另一个高速枚举。
确认桌面设备上的设备删除
  1. 在 设备管理器 中标识你的设备。
  2. 执行测试步骤,将设备从系统中删除。
  3. 确认设备不再存在于设备管理器中。
  4. 对于 USB 3.0 集线器,检查两个设备(SuperSpeed 和配套集线器)是否已删除。 在这种情况下,删除设备失败可能是设备故障,应该调查所有涉及的组件,以诊断出适当的根本原因。
确认设备功能
  1. 如果设备是 USB 集线器,请确保集线器下游的设备正常运行。 验证其他设备是否可以连接到中心上的可用端口。
  2. 如果设备是 HID 设备,请测试其功能。 确保 USB 键盘键入、USB 鼠标移动光标,并且游戏设备在游戏控制器的控制面板中正常运行。
  3. USB 音频设备必须播放和/或录制声音。
  4. 存储设备必须可访问,并且应该能够复制大小为 200MB 或更大的文件。
  5. 如果设备具有多种功能(例如扫描 & 打印),请确保同时测试扫描和打印功能。
  6. 如果设备是 USB 类型 C 设备,请确认适用的 USB 和备用模式是否正常工作。

ConnEx可以自动测试系统、设备、使用 USB Type-C 连接器的扩展坞及其与 Windows 操作系统的互操作性的。 可以测试属于以下类别之一的硬件:

  • 系统:台式机、笔记本电脑、平板电脑、服务器或手机运行具有公开 USB Type-C 端口的 Windows 操作系统版本的 SKU;
  • 扩展坞:公开多个端口的任何 USB Type-C 设备;
  • 设备:具有可连接到系统或扩展坞的 Type-C 端口的任何 USB 设备。 此类别包括传统的 USB 设备,以及支持 USB Type-C 规范中定义的附件和备用模式的设备;
规范和过程

MUTT Connection Exerciser Type-C (USB Type-C ConnEx) 硬件板是 Arduino 开发板的自定义防护板。 防护板提供四对一交换机,用于自动执行 USB 类型 C 方案的互操作性测试。

硬件要求

若要使用 USB Type-C ConnEx 版本 2 执行 USB Type-C 互操作性测试过程,需要:

  • 受测系统 (SUT):至少具有一个公开的 Type-C USB 端口的台式机、笔记本电脑、平板电脑、服务器或手机;
  • USB Type-C ConnEx:该设备有一个公 USB Type-C 端口, (标记为 J1) SUT 连接到。 该设备还有另外四个 USB 端口, (标记为 J2、 J3、 J4、 J6) 设备可以连接到这些端口,作为外围设备连接到 SUT。 设备监视从 SUT 中提取的安培数和电压。 可以从 MCCI 购买必要的硬件;
  • 外围 USB 设备:具有可连接到 SUT 的 USB 类型 C 端口的任何 USB 设备。 此类别包括传统的 USB 设备和支持 USB Type-C 规范中定义的附件和备用模式的其他设备;
  • Micro-USB 到 USB A 电缆: 你将使用此电缆将 USB Type-C ConnEx 连接到电脑进行电源和通信 ,如果你的 SUT 有 USB A 端口,你将在这里连接它;
  • 代理控制器:如果 SUT 没有 USB A 端口,可以使用代理来控制 USB Type-C ConnEx 以运行测试。 代理控制器应是辅助台式电脑或笔记本电脑。代理控制器将 (与移动 SUT) 通信到微控制器,以使用辅助 USB 端口加载固件;
旧版本的硬件要求

若要使用 USB Type-C ConnEx 版本 2 执行 USB Type-C 互操作性测试过程,需要:

  • 受测系统 (SUT):至少具有一个公开的 Type-C USB 端口的台式机、笔记本电脑、平板电脑、服务器或手机。
  • Arduino Mega 2560 R3: Arduino Mega 2560 R3 用作测试设置的微控制器。

  • Arduino Mega 2560 R3 微控制器的电源适配器。
  • USB Type-C ConnEx

防护板有一个公 USB Type-C 端口, (标记为 J1) SUT 连接到。 防护板还有另外四个 USB 端口, (标记为 J2、 J3、 J4、 J6) 设备可以连接到这些端口,作为外围设备连接到 SUT。 防护板监视从 SUT 中读取的安培数和电压。 可以从 MCCI 或 JJG Technologies 购买此开发板。

  • USB A 到 B 电缆: 你将使用此电缆将电脑连接到微控制器,以便更新微控制器上的固件以运行测试。
  • 外围 USB 设备: 具有可连接到 SUT 的 USB 类型 C 端口的任何 USB 设备。 此类别包括传统的 USB 设备和支持 USB Type-C 规范中定义的附件和备用模式的其他设备。
  • USB 充电器: 支持 USB Type-C 当前要求和可选的 USB 电源传送的 USB 类型 C。 还需要适用于 J6 的 USB Micro-B 充电器。
  • 代理控制器: USB Type-C ConnEx 可以通过使用代理运行测试来控制。

代理控制器可以是以下实体之一:

辅助台式电脑或笔记本电脑:

代理控制器与移动 SUT(微控制器)通信以加载固件:

使用辅助 USB 端口进行 SUT:

使用 3.5 毫米音频插孔进行 SUT:

在此设置中,需要DTMF 防护,用于在具有单个 USB Type-C 端口的 SUT 上运行测试。 在固件的初始闪存完成后,DTMF 提供通过音频插孔从单端口设备控制防护层的功能。

用于将 DTMF 防护板连接到 SUT 的 4 引脚公对公音频电缆。 这允许 SUT 在测试期间控制 USB Type-C 防护板。

软件要求

请确保满足以下要求:

  • SUT 必须具有要用来测试互操作性的 Windows 操作系统版本;
  • 代理控制器必须Windows 10运行;
  • 在 代理控制器上下载并安装最新的 MUTT 软件包。 包是一套工具,用于通过 USB Type-C ConnEx 运行测试。 它包括用于更新固件、在外围端口之间切换以及发送用于模拟测试用例的请求的实用工具。 它还包含测试驱动程序包,用于测试总线、其控制器和连接到总线的设备的功能;
  • 对于基于 UCSI 的系统,我们强烈建议使用一些其他设置进行测试,以帮助发现 UCSI 固件 bug。 此设置将使 UCSI 固件问题可发现,强烈建议仅用于测试目的。 请参阅此博客文章中的 调试 USCI 固件故障 ;
  • 安装测试工具需要提升的命令窗口;

若要打开提升的命令窗口,用户必须是代理控制器上的 管理员 组的成员。 若要打开提升的命令提示符窗口,请创建用于 Cmd.exe 的桌面快捷方式,选择并按住 (或右键单击) Cmd.exe 快捷方式,然后选择“ 以管理员身份运行”。

USB Type-C ConnEx 工具

下面是 MUTT 软件包中特定于 USB Type-C ConnEx 的工具


最新版本入门

请遵循此过程来设置测试环境。配置将类似于此映像。 请注意,连接到电脑时,设备上的 Micro-USB 端口提供对 USB Type-C ConnEx 的控制。

在这些步骤中,你将连接硬件部分、更新微控制器上的固件并验证安装。

1.将 micro-usb 插入 ConnEx 的背面,将 USB A 插入代理控制器 (SUT(如果可用) )。

2.使用 USB Type-C ConnEx 固件更新设备。

  • 打开提升的命令提示符窗口。
  • 导航到 MUTT 软件包的位置,例如 C:\Program Files (x86) \USBTest\<arch>。
  • 运行以下命令:ConnExUtil.exe –UpdateFirmware

3.使用设备背面连接的 USB Type-C 电缆插入 SUT。

4.将外设连接到标记为 J2、J3、J4、J6 的 USB 端口。

5.确保代理控制器上的设备管理器识别设备 (SUT如果可用)。

旧版本入门

请遵循此过程来设置测试环境。

配置应与此映像类似。 请注意,连接到电脑时,微控制器上的 USB Type-C 端口提供对 USB Type-C ConnEx 的控制。

在这些步骤中,你将连接硬件部分、更新微控制器上的固件并验证安装。 当连接到手机或平板电脑的音频端口时,DTMF 防护板提供对 USB Type-C ConnEx 的控制。

1.将微控制器连接到 USB Type-C 防护板。

如果 USB Type-C ConnEx 未组装,请继续执行步骤 1。 如果 USB Type-C ConnEx 已组装,请继续执行步骤 2。必须仔细执行此步骤,因为针脚容易弯曲。

a.通过确保各板相互对齐,将 USB Type-C 防护板的引脚与微控制器上的接收器对齐。

b.轻轻地将两块板压在一起。 注意不要弯曲防护罩上的针脚。

组装的单元应类似于下图:

2.通过使用连接到代理控制器的 USB B () 或外部电源适配器,从连接的微控制器为 USB Type-C ConnEx 供电。 液晶显示器类似于下图:

五秒钟后,液晶显示器会显示电流和电压。

如果未看到如上图所示的显示,请确保已正确组装单元。

3.使用 USB Type-C ConnEx 固件更新微控制器。

  • 打开提升的命令提示符窗口。
  • 导航到 MUTT 软件包的位置,例如 C:\Program Files (x86) \USBTest\<arch>。
  • 运行以下命令:MuttUtil.exe –UpdateTabFirmware

4.将 SUT 插入到外接 USB Type-C 端口, (屏蔽上标记为 J1) 。

谨慎 连接 SUT 时 ,J1 连接器需要额外的支持。 连接器不够坚固,无法承受设备或本身的重量。

5.将外设连接到标记为 J2、J3、J4、J6 的 USB 端口。

连接到 USB Type-C ConnEx 的外围设备图片。

将代理控制器连接到微控制器。

  • 如果代理控制器是台式电脑或笔记本电脑,请通过 USB 建立连接。 将微控制器上的 USB Type-B 端口连接到代理控制器上的 USB 端口,如上图所示。
  • 如果代理控制器是移动 SUT,请使用音频端口建立连接。 对于此连接,需要 DTMF 防护板。

a.将 DTMF 防护板连接到组装的单元,如下图所示:

b.使用 4 针公头对公音频电缆将防护板的音频端口连接到 SUT 上的音频端口。

设置应类似于下图:

7.确保代理控制器上的设备管理器识别 USB Type-C ConnEx。

a.右键单击任务栏中的“开始”按钮,然后选择“设备管理器”。

b.展开 (COM & LPT) 节点的 端口,并记下微控制器使用的 COM 端口。 在此示例中,它连接到 COM 4。

ConnExUtil.exe

下面是 ConnExUtil.exe 支持的用于控制 USB Type-C ConnEx 板的命令行选项。


示例命令
连接到端口

connexutil.exe /setport 1

或者,使用印在开发板上的端口名称:

connexutil.exe /setport 1

断开所有端口的连接

connexutil.exe /setport 0

循环访问所有端口

for %p in (1 2 3 4)
do (
    connexutil.exe /setport %p
    echo Confirm device on port %p
    pause
)
用于控制 USB Type-C ConnEx 板的脚本

这些脚本使用 ConnExUtil.exe 支持的控制接口,通过命令行使用 USB Type-C ConnEx 运行顺序和压力类型测试。 所有这些脚本都支持可选的命令行参数 音频 ,以指示 USB Type-C ConnEx 板通过 3.5 毫米音频接口连接。 默认情况下,他们只会尝试使用 USB 连接的板。

简单连接和断开连接顺序:CXLOOP.Cmd(1-4)  每个端口连接 SUT 并断开 SUT 的连接,并在每个端口上暂停,提示测试人员验证该端口上的连接。

随机连接和断开连接循环:CXSTRESS.Cmd

在无限循环中,在 0.0-5.0 秒的随机间隔内,随机连接和断开每个端口之间的 SUT。 连接到 USB Type-C 端口时,它将在该端口上随机启用或禁用 SuperSpeed 连接,并随机指示开发板以 0 - 999 毫秒的随机间隔在该端口上快速断开连接。

命令行参数 C 导致脚本仅在 USB 类型 C 端口和断开连接状态之间切换。 数字命令行参数将开关之间的最大随机间隔从默认值 5.0 秒重置为以秒为单位的输入值。 参数可以按任意顺序传递。

长时间运行的功率测量:CXPOWER.Cmd

每隔 2 秒将 USB Type-C ConnEx 报告的安培数和电压保存到输出文件 power.csv。 数据的格式设置为逗号分隔变量,如下所示:

index,time,volts,amps

index 是 ConnExUtil.exe /list 命令提供的设备索引,因此可以同时监视多个设备。

time 是原始时间戳(以秒为单位)。

伏特 和 安培 记录到 2 个小数位数。

捕获完成后,可将此数据发布到图表中,显示随时间推移的功耗,例如电池充电周期的功耗。 数字命令行参数将默认测量间隔 2 秒重置为输入值(以秒为单位)。

关于测试用例

USB Type-C 互操作性测试过程分为两个部分:功能测试 (FT) 和压力测试 (ST) 。 每个测试部分描述测试用例,并标识应用于测试的类别。 产品必须针对整个适用类别进行测试。 某些测试用例包含指向相关提示和提示的链接,以获取其他信息。 本部分重点介绍 USB 类型 C 功能和体验。 USB 类型 C 解决方案可能包含其他 USB 组件,例如 USB 集线器或 USB 控制器。 USB-IF 的 xHCI 互操作性测试过程 和 Windows 硬件认证工具包中介绍了 USB 集线器和控制器的详细测试。

这些测试用例基于用于 控制 USB Type-C ConnEx 板的 ConnExUtil 命令和示例脚本脚本。 测试用例引用脚本。 根据测试方案的要求自定义脚本。

  • 设备枚举:确认设备枚举的核心方面是否正常工作。
  • 备用模式协商:确认支持的备用模式。
  • 充电和供电 (PD) :确认使用 USB 类型 C 充电。
  • 角色交换:确认角色交换。

压力测试部分介绍压力和边缘案例方案的过程,这些方案在一段时间内测试设备稳定性。 压力测试需要自定义设备 (SuperMUTT) 进行旧版 USB 验证, (非 USB 类型 C) 。 可通过即将推出的 USB Type-C 测试设备实现其他测试和自动化。

  • 设备枚举:确认设备枚举的核心方面是否正常工作。
  • 充电和供电 (PD) :确认使用 USB 类型 C 充电。
FT 案例 1:设备枚举

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
FT 案例 2:备用模式协商

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
FT 案例 3:充电和供电 (PD)

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
  8. 将 USB Type-C ConnEx 连接到端口 J2。ConnExUtil.exe /setPort 2
  9. 如果 SUT 包含多个 USB 类型 C 端口,请使用 USB 类型 C 电缆连接同一系统上的两个 USB 类型 C 端口。确认 SUT 不会 (自身) 充电。确认电源的 LCD 读数符合壁式适配器的预期。
  10. 将连接到 J3 的 USB Type-C 充电器替换为其他制造商提供的另一个 USB Type-C 充电器。确认设备正在接收最新消息。
FT 案例 4:角色交换

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXLOOP。CMD 脚本。 脚本暂停时,确认新激活的外围设备可正常运行。
  7. 反转 USB Type-C 电缆的方向,并重复步骤 5 - 7。
  8. 将 USB Type-C ConnEx 连接到端口 J2。确认角色交换。 LCD 屏幕上显示的 Amperage 指示电源角色。 如果 J1 是电源接收器,则为 +ve;如果 J1 是电源,则为 -ve。
  9. 执行必要的步骤来交换数据角色,并确认每个系统的当前角色已更改。
ST 案例 1:设备枚举

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXSTRESS。CMD 12 小时。按 Ctrl-C 终止脚本。
  7. 执行 FT 案例 1:设备枚举中所述的步骤。
ST 案例 2:充电和供电 (PD)

  1. 关闭 SUT 电源。
  2. 将 SUT 连接到 USB Type-C ConnEx 上标记为 J1 的端口。
  3. 将代理控制器连接到 USB Type-C ConnEx。
  4. 将外设连接到 USB Type-C ConnEx。
  5. 打开 SUT 并登录到 Windows。
  6. 在提升的命令提示符下,运行 CXSTRESS。CMD 12 小时。 .按 Ctrl-C 终止脚本。
  7. 执行 FT 案例 3:充电和供电 (PD) 中所述的步骤。
其他测试资源

以下功能测试可针对 USB 类型 C 进行改编,以改进传统的 USB 方案。

以下压力测试可以改编自 SuperMUTT 测试文档,以扩展 USB 方案。


验证测试结果,确认充电和电源

USB Type-C ConnEx 上的板载 LCD 显示 (伏特、安培和方向) 。 确认它符合插入并主动启用 USB Type-C ConnEx 的电源的期望。

确认桌面设备上的设备添加
  1. 确定设备连接到的 USB 主机控制器。
  2. 确保新设备显示在 设备管理器 中的正确节点下。
  3. 对于连接到 USB 3.0 端口的 USB 3.0 集线器,预期会看到两个集线器设备:一个以 SuperSpeed 枚举,另一个高速枚举。
确认桌面设备上的设备删除
  1. 在 设备管理器 中标识你的设备。
  2. 执行测试步骤,将设备从系统中删除。
  3. 确认设备不再存在于设备管理器中。
  4. 对于 USB 3.0 集线器,检查两个设备(SuperSpeed 和配套集线器)是否已删除。 在这种情况下,删除设备失败可能是设备故障,应该调查所有涉及的组件,以诊断出适当的根本原因。
确认设备功能
  1. 如果设备是 USB 集线器,请确保集线器下游的设备正常运行。 验证其他设备是否可以连接到中心上的可用端口。
  2. 如果设备是 HID 设备,请测试其功能。 确保 USB 键盘键入、USB 鼠标移动光标,并且游戏设备在游戏控制器的控制面板中正常运行。
  3. USB 音频设备必须播放和/或录制声音。
  4. 存储设备必须可访问,并且应该能够复制大小为 200MB 或更大的文件。
  5. 如果设备具有多种功能(例如扫描 & 打印),请确保同时测试扫描和打印功能。
  6. 如果设备是 USB 类型 C 设备,请确认适用的 USB 和备用模式是否正常工作。
发布评论

评论列表 (0)

  1. 暂无评论