首页 > 其他分享 >教程 | USB-IF USBCV软件工具使用指南

教程 | USB-IF USBCV软件工具使用指南

时间:2024-08-07 09:55:51浏览次数:10  
标签:USBCV Chapter9 USB CVTest HID 测试 Test 使用指南

一. 概述

CVTest 是基于 USBCV 软件工具的合规性测试,可以验证设备是否符合 USB 规范和标准。USBCV 则是 USB-IF 提供的一款免费 USB 装置测试软体,简要做 USB2.0 及 USB3.0 装置相关测试。本文将基于 NXP LPC5516 HID 类键盘简要讲解 USBCV 中公有 USB 请求测试及 HID 类测试步骤,说明测试相关注意事项及 LPC5516 HID 类键盘为通过 CVTest 需要修改的程序,为需要通过 CVTest 的用户提供一个参考。

二. Chapter9 Test 

Chapter9 Test 是 CVTest 的公有 USB 请求测试。在 USB 标准第 9 章定义了枚举期间主机送到外设的所有请求,以及外设响应的数据格式,Chapter9 Test 可以证明枚举代码正确性,建议所有设备均通过此测试。以下为 Chapter9 Test 测试步骤:

1. 将待测 HID 类设备连接至主机 USB 上,打开 CVTest 软件图标(下载链接:https://www.usb.org/document-library/usb3cv)。

2. 打开弹出以下界面,选择待测主机驱动器,点击 Continue(电脑连接的某些非测试目标的 USB 设备可能导致 USBCV 无法发现主机驱动器, 所以测试时应保证系统 USB 设备尽量少)。

3. 弹出窗口,继续选择 Continue。(进入 CVTest 后测试协议栈会替代系统自身的 USB 协议栈导致 USB 设备不可用,因此 USB 鼠标等无法使用,如果依然能使用说明驱动没有正确替换) 

4. 进入测试主页,选择测试类别 Chapter9 Test(本例为使用的 USB 协议为 USB2.0,因此选择 Chapter9 Test[USB 2 devices],用户根据自身情况选择 USB2.0 或 USB3.0),点击左下角 Run 开始测试。

5. 本例使用测试平台为 NXP LPC5516 HID 类键盘,如果此待测设备下载的程序是 USB SDK 默认例程来直接进行测试(如 dev_composite_hid_mouse_hid_keyboard 例程),会出现测试失败。 

6. 需要将 USB SDK 默认例程(如 dev_composite_hid_mouse_hid_keyboard 例程)中设备一致性测试开启,设置测试模式的宏为 1。

7. 此例中使用的是高速 USB2.0,因此将 SDK 默认低速 USB 改为高速 USB,并将 SDK 中循环的函数停止,方便测试。 

8. 编译下载后重新进入 Chapter9 Test[USB 2 devices] 测试页,点击 RUN,此时将会弹出 USB2.0 设备选择,根据 PID 与 VID 选择待测设备(本例中 PID = 00A0、VID = 1FC9)

9. 具体 PID、VID 值可在 USB SDK 例程如图所示位置找到: 

10. 开始自动执行测试,全部测试项完成后将提示可以继续进行其他测试,此处直接点击 OK 即可。 

11. 弹出测试结果。当该测试类别下全部测试项均通过,会提示测试通过(已通过的测试其背景色将被标注为绿色,未通过项其背景色被标注为红色) 

三. HID Test

HID 类设备还需进行的测试项为 HID Test,因此需要在通过 Chapter9 Test 基础上进行 HID Test,SDK 代码相关修改如上 Chapter9 Test。HID Test 测试步骤如下:

1. 在通过 Chapter9 Test 后点击 HID Test,点击 RUN,选择待测设备。

2. 在通过 Chapter9 Test 测试的 SDK 代码中中未获取 HID 描述符,因此会出现如下错误。 

3. 需要在测试( dev_composite_hid_mouse_hid_keyboard )代码中添加获取 HID 描述符请求,重新编译下载后进行重测。 

4. 此时可以通过 HIDTest 测试 

备注:上述测试中 Chapter9 Test 的 Remote Wakeup Test 被跳过,若需要这部分的测试通过报告,可以使用 usb_suspend_resume_device_hid_mouse 例程进行测试,其修改内容参考该文档 NXP LPC5516 在 USB CVTest 的一致性测试 - 大大通(简体站) (wpgdadatong.com.cn) 

四. 总结

本文介绍了关于 HID 类设备 CVTest 需要进行的两种兼容性测试,详细介绍基于 NXP LPC5516 的测试步骤及代码需要修改之处,其他 MCU 如需通过测试可根据本文参考。 

欢迎登录大大通,解锁更多原厂方案、技术干货!

标签:USBCV,Chapter9,USB,CVTest,HID,测试,Test,使用指南
From: https://blog.csdn.net/wpgddt/article/details/140954664

相关文章

  • USB基础知识总结
    USB基础知识总结USB基本概念介绍USB(UniversalSerialBus,通用串行总线)是1995年英特尔和微软等公司联合倡导发起的一种新的**PC串行通信协议。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的。其最大特点是支持热插拔和即插......
  • 基于深度学习网络的USB摄像头实时视频采集与火焰检测matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印) 将usb摄像头对准一个播放火焰的显示器,然后进行识别,识别结果如下:    本课题中,使用的USB摄像头为:   2.算法运行软件版本MATLAB2022a 3.部分核心程序(完整版代码包含详细中文注释和操作步骤视频) 程序中包......
  • 高性能USB转串口适配器,让USB和串行接口轻松实现双向通信!
    多功能数字接口转发器,让USB和串行接口轻松实现双向通信!高性能USB转串口适配器,助力你的嵌入式程序开发!USB转串口适配器可编程开发板TYPE接口是一种多功能的数字接口物理层协议转发器,可以转换USB接口和串行接口之间的双向通信。它支持多种嵌入式程序开发,并可以自由制定转发透传逻......
  • 强大的USB协议分析工具
    2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力。今天来给大家介绍一个USB协议分析软件LeCroyUSBAdvisor,软件安装包下载连接如下:链接:https://pan.baidu.com/s/12qBCOjuy4i8kr1MHjBrfYQ提取码:2rpx这个软件对于USB协议学习有很大帮助,下面就给大......
  • USB通讯架构及数据模型
    注意:(1)一个usb设备由一个或者多个接口组成;(2)每一个接口为usb设备的一个功能,比如上面的usb设备由两个接口,一个可用于鼠标,一个可用于键盘;(3)每个接口占用usb设备的多个端口资源;(4)windows通过一组管道(pipes)与usb设备的某个接口的端点进行数据交互实现某种功能;(5)usb设备最多具有16个......
  • USB协议基础篇
    初次接触USB的同学,可能会被里面各种名词给搞晕,下面就来梳理一下这些知识,希望能帮助大家理解USB。一,从最常见的名词说起1.1什么是USB这个我就不多解释了,直译就是通用串行总线。再不明白的就百度。1.2USB协议版本USB1.0/1.1(low/fullspeed),传输速率最大为12MbpsUSB2......
  • 《DNK210使用指南 -CanMV版 V1.0》第十七章 machine.WDT类实验
    第十七章machine.WDT类实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正......
  • USB 端点和管道的区别
    在USB体系架构中,经常会混用USB端点和USB管道的概念,包括本人也经常混用。但严格来说它们是两个不同的概念,具体表现在:端点是USB设备端的概念,是真实的特理设备上的概念,其特性是通过端点描述符来描述的。而管道是USB主机端的上软件的概念,其概据USB的设备端点信息建立的数据软件数据......
  • windows xusb21.sys驱动对虚拟手柄个数限制
    由于windows授权限制,云游戏服务器上的windows版本多数为server2019部分游戏用到了手柄,调研后基于https://github.com/nefarius/ViGEmBus来魔改虚拟出84个手柄(一个容器只跑一个游戏,一个游戏独立使用4个手柄,一台云游戏服务器预开21个容器,所以理论至少需要能创建84个手柄)但是实......
  • Windows不支持用USB连接多部手机
    上下文一开始我以为是我的USB坏了,但我发现换数据线也不好解决。我感觉每次好像在我连接两部手机后就会出问题。然后我又发现驱动名称叫libusbk,经过一番搜索后,我在隔壁libusb发现问题所在。解释Windows的WinUSB不支持连接多部手机。连接多部手机后会导致无法再连接手机。消息来......