USB集线器、USB设备枚举异常检测方法及计算机存储介质与流程

文档序号:16693058发布日期:2019-01-22 19:07阅读:635来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
USB集线器、USB设备枚举异常检测方法及计算机存储介质与流程

本发明涉及usb技术领域,特别是涉及usb集线器、usb设备枚举异常检测方法及计算机存储介质。



背景技术:

usb作为一种通用总线,越来越受到大家的青睐。如今,usb已经发展到了usb3.2版本,越来越多具有不同功能的usb设备应运而生。

在开发usb设备的过程中,usb设备的枚举过程包括usb的热插拔识别、usb设备的唯一地址设置、usb主机通过usb请求获取usb设备的各配置信息、usb主机根据获取的配置信息去配置usb设备、以及usb设备进入至configured状态,此时usb设备就可以正常使用了。因此,usb设备开发测试最重要的一个环节就是usb设备的枚举过程。

在现有技术中,工程师在开发定位usb设备枚举异常的过程中,需要用到usb的协议分析仪,其分析过程如下:usb协议分析仪的一端连接usb待测设备,另一端连接usb主机控制器,即usb协议分析仪作为usb待测设备与usb主机控制器的中间装置;usb协议分析仪抓取usb待测设备上所有的数据包(例如协议层,链路层等等),并将数据输出至usb主机控制器,使用配套的解析软件对数据包进行解析,据以找出枚举失败的原因。

但是,现有技术利用usb协议分析仪抓取usb总线上的数据包,并通过人工比对usb官方组织提供的usb详细规范来分析usb枚举异常的方式,通常具有如下缺点:1)支持usb3.1的协议分析仪价格昂贵;2)一台协议分析仪只能抓取一个usb待测设备,不支持多个usb待测设备检测的协议抓取;3)枚举过程中有大量的数据包收发过程,都需要人工分析,产生巨大的重复劳动;4)人工检查会有遗漏,有些隐藏问题无法查出,留下安全隐患。

因此,在usb设备开发层出不穷的今天,如何节省劳动力自动化分析usb设备枚举异常成为本领域从业者亟需解决的技术问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供usb集线器、usb设备枚举异常检测方法及计算机存储介质,用于解决现有技术中usb枚举检测成本高,效率低等技术问题。

为实现上述目的及其他相关目的,本发明提供一种usb集线器,所述usb集线器一端连接usb主机设备且另一端连接一或多个usb待测设备;所述usb集线器包括枚举检测子模块,其包括:筛选备份模块,用于截取usb集线器的各数据流端口中用于实现枚举操作的特定端点的数据包,筛选在预设时间内未再截取到数据包的特定端点所对应的usb待测设备,并将筛选出的usb待测设备所发出或接收的数据包进行备份;分析上报模块,用于接收来自所述筛选备份模块的通知,据以对所述筛选备份模块备份的数据包进行分析并生成usb待测设备枚举成功或失败的分析结果信息;收发传输模块,接收来自所述分析上报模块的分析结果信息并传至外部显示设备。

于本发明的一实施例中,所述usb集线器还包括集线器子模块,其包括:集线器转发模块,用于建立usb主机设备与usb待测设备之间的通信连接并处理总线异常;集线器控制模块,连接usb主机设备的usb主机控制器,以供usb主机设备配置该usb集线器;电源模块,电性连接所述集线器转发模块及集线器控制模块以提供电源。

于本发明的一实施例中,所述集线器转发模块包括高速收发模块和超高速收发模块;所述集线器控制模块包括高速控制模块和超高速控制模块。

于本发明的一实施例中,所述分析上报模块梳理枚举流程,并根据usb协议规范检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理,据以判断usb待测设备枚举成功或失败。

于本发明的一实施例中,所述分析上报模块检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理的方式包括如下任一种方式或多种方式的组合:方式1)由usb主机设备发出请求,usb待测设备做出响应;分析上报模块检测usb待测设备做出响应的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式2)由usb待测设备向usb主机设备发送数据;分析上报模块检测usb待测设备发送的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式3)分析整个枚举流程,检测流程是否有错误或隐患,据以判断usb待测设备是否枚举成功。

于本发明的一实施例中,筛选备份模块截取各数据流端口中用于实现枚举操作的特定端点的数据包,其中,所述数据流端口包括连接usb主机设备的上行数据流端口以及连接usb待测设备的下行数据流端口。

为实现上述目的及其他相关目的,本发明提供一种usb设备枚举异常检测方法,其包括:截取各数据流端口中用于实现枚举操作的特定端点的数据包;筛选在预设时间内未再截取到数据包的特定端点所对应的usb待测设备;将筛选出的usb待测设备所发出或接收的数据包进行备份;对所述筛选备份模块备份的数据包进行分析并生成usb待测设备枚举成功或失败的分析结果信息;将所述分析结果信息传至外部显示设备。

于本发明的一实施例中,所述方法包括:对所述筛选备份模块备份的数据包进行分析的方式包括:梳理枚举流程并根据usb协议规范检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理,据以判断usb待测设备枚举成功或失败。

于本发明的一实施例中,检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理的方式包括如下任一种方式或多种方式的组合:方式1)由usb主机设备发出请求,usb待测设备做出响应;分析上报模块检测usb待测设备做出响应的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式2)由usb待测设备向usb主机设备发送数据;分析上报模块检测usb待测设备发送的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式3)分析整个枚举流程,检测流程是否有错误或隐患,据以判断usb待测设备是否枚举成功。

为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述usb设备枚举异常检测方法。

如上所述,本发明的usb集线器、usb设备枚举异常检测方法及计算机存储介质,具有以下有益效果:本发明兼容了普通集线器功能还增设枚举检测子模块,在不依赖昂贵的usb协议分析仪的基础上,能够自动执行枚举检测并判断枚举检测的结果,从而大大降低了工程师人工枚举检测带来的人力成本,还提升了枚举检测的效率,避免人为因素带来的错误或误差。此外,本发明的usb集线器采用串行接口输出,故便于大规模测试并记录问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

附图说明

图1显示为本发明一实施例中usb集线器的结构示意图。

图2显示为本发明一实施例中集线器子模块的结构示意图。

图3显示为本发明一实施例中usb集线器的结构示意图。

图4显示为本发明一实施例中usb集线器的结构示意图。

图5显示为本发明一实施例中usb设备枚举异常检测方法的流程示意图。

元件标号说明

2集线器子模块

21集线器转发模块

22集线器控制模块

23电源模块

3usb集线器

31usb3.1集线器转发模块

32usb3.1集线器控制模块

33usb2.0集线器转发模块

34usb2.0集线器控制模块

35vbus电源逻辑控制单元

36上行数据流端口

37下行数据流端口

401usb3.1集线器转发模块

402usb3.1集线器控制模块

403usb2.0集线器转发模块

404usb2.0集线器控制模块

405vbus电源逻辑控制单元

406上行数据流端口

407下行数据流端口

408筛选备份模块

409分析上报模块

410收发传输模块

s51~s55方法流程

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明提供usb集线器、usb设备枚举异常检测方法及计算机存储介质,应用于usb设备的枚举检测。本发明实现枚举检测并不依赖于昂贵的usb协议分析仪,大幅降低因工程师人工检测带来的成本,检测准确率高,且本发明通过串口输出结果的方式便于大规模枚举测试,因而大大提升了usb枚举检测的效率。

所述usb集线器也称为usbhub,是一种可将一个usb接口扩展为多个且可使这些接口同时使用的装置。所述usb集线器按照所属usb协议可分为usb2.0集线器、usb3.0集线器、usb3.1集线器,下文就usb集线器的结构,usb设备枚举异常检测方法的流程步骤,以及计算机存储介质分别做解释说明。

如图1所示,展示本发明一实施例中usb集线器的结构示意图。所述usb集线器下行连接多个usb待测设备,上行连接usb主机设备。所述usb集线器包括集线器子模块和枚举检测子模块,其中,所述集线器子模块用于建立usb主机设备与usb待测设备之间的通信连接,所述枚举检测子模块用于枚举usb待测设备。

于本发明的一实施例中,所述usb集线器设有多个未图示的下行数据流端口,用于接入usb待测设备,其实际接至usb集线器的集线器子模块。所述usb集线器还设有2个未图示的上行数据流端口,分别由枚举检测子模块和集线器子模块引出,且由上行数据流端口引出的连接线均接入usb主机设备。具体的,所述枚举检测子模块连接usb主机设备的串口模块,集线器子模块连接usb主机设备的usb主机控制器。而在usb主机设备侧则识别到一个usb集线器以及一或多个usb待测设备。本领域技术人员应当知晓的是,usb待测设备需要安装配套的驱动程序方能正常工作,该驱动程序主要用于将检测结果上报至该usb主机设备,usb主机设备则根据需要显示检测结果。

如图2所示,展示本发明一实施例中集线器子模块的结构示意图。所述集线器子模块2包括集线器转发模块21、集线器控制模块22、以及电源模块23。所述集线器转发模块21用于建立usb主机设备与usb待测设备之间的通信连接并处理总线异常,例如:总线异常检测,总线异常恢复,设备插拔检测等等。所述集线器控制模块22连接usb主机设备的usb主机控制器,以供usb主机设备配置该usb集线器,例如集线器支持特定状态,支持控制命令,使得usb主机设备可以配置该集线器,并且监控和控制每一个独立的数据流端口。所述电源模块23电性连接所述集线器转发模块21及集线器控制模块22以提供电源。其中,所述电源模块23例如为vbus电源,其通常设为5v电压。

以通用的usb3.1集线器为例,其结构如图3所示。所述usb3.1集线器3包括1个usb3.1集线器转发模块31,1个usb3.1集线器控制模块32,1个usb2.0集线器转发模块33,1个usb2.0集线器控制模块34,1个vbus电源逻辑控制单元35,1个用于连接usb主机设备的上行数据流端口36,以及多个用于连接usb待测设备的下行数据流端口37。

其中,vbus电源既为usb3.1集线器转发模块31和usb3.1集线器控制模块32供电,也为usb2.0集线器转发模块33和usb2.0集线器控制模块34供电。另外,usb3.1集线器转发模块31和usb3.1集线器控制模块32配合使用,usb2.0集线器转发模块33和usb2.0集线器控制模块34配合使用,两种集线器模块根据插入的usb待测设备的不同类型独立工作。

值得注意的是,usb协议通常要求usb集线器需具备向下兼容的功能,故本发明提供的usb集线器不仅支持超高速的集线器子模块,例如usb3.1集线器转发模块和usb3.1集线器控制模块,还可兼容普通的集线器子模块,例如usb2.0集线器转发模块和usb2.0集线器控制模块,有效提升集线器的兼容性,为用户提供不同的选择以增加用户体验度。

如图4所示,展示本发明一实施例中usb集线器的结构示意图。于本实施例中,仍以usb3.1集线器为例,所述usb3.1集线器包括usb3.1集线器转发模块401、usb3.1集线器控制模块402、usb2.0集线器转发模块403、usb2.0集线器控制模块404、vbus电源逻辑控制单元405、上行数据流端口406、下行数据流端口407;所述usb3.1集线器还包括筛选备份模块408、分析上报模块409及收发传输模块410。

所述筛选备份模块408用于截取usb集线器的各数据流端口中用于实现枚举操作的特定端点的数据包,筛选在预设时间内未再截取到数据包的特定端点所对应的usb待测设备,并将筛选出的usb待测设备所发出或接收的数据包进行备份;所述分析上报模块409用于接收来自所述筛选备份模块408的通知,据以对所述筛选备份模块408备份的数据包进行分析并生成usb待测设备枚举成功或失败的分析结果信息;所述收发传输模块410用于接收来自所述分析上报模块409的分析结果信息并传至外部显示设备。

需要说明的是,所述外部显示设备是指具有显示功能和信息传输功能的智能设备,例如笔记本电脑、pad电脑、台式电脑、移动终端等设备。在一实施例中,所述外部显示设备与所述usb主机设备为一体两用同一个设备。在另一实施例中,所述外部显示设备与所述usb主机设备为不同的两个设备,两种实施方式皆可,本发明对此不作限制。

具体而言,在上下数据包的收发过程中,筛选备份模块408截取每个数据流端口的特定端点0的数据,所述特定端点0是在枚举检测过程中处理usb请求的端点。其中,无论是上行数据包还是下行数据包,集线器子模块中的集线器转发模块都会根据传输事物包tp内的路由字段routestring确定该数据包被收发至哪个下行数据流端口。

若筛选备份模块408在预设时间内没有再抓取到某个数据流端口的特定端点0的数据包,则说明该数据流端口对应的usb待测设备被执行枚举检测,其枚举结果要么是成功了要么是失败了。所述预设时间例如可设为5秒,筛选备份模块408筛选出在5秒时间内未再截取到数据包的特定端点对应的usb待测设备。

筛选备份模块408筛选出usb待测设备后,将该些筛选出的usb待测设备所发出或接收到的数据包进行备份。例如将数据包备份至筛选备份模块408内部的flash存储器内,并按照预设的规则存放。优选的,筛选备份模块408通过并发枚举备份的方式存放数据包,从而大大提升备份和枚举检测的效率。当枚举检测过程停止且筛选备份模块408完成数据包备份时,则筛选备份模块408则通知分析上报模块409,而其自身便进入挂起状态。

所述分析上报模块409接收到来自筛选备份模块408的通知,从而开始对筛选备份模块408备份的数据包进行分析并生成usb待测设备枚举成功或失败的分析结果信息。具体的,所述分析上报模块409梳理枚举流程,并根据usb协议规范检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理,据以判断usb待测设备枚举成功或失败。

其中,所述分析上报模块409检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理的方式包括:方式1)由usb主机设备发出请求,usb待测设备做出响应;分析上报模块409检测usb待测设备做出响应的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式2)由usb待测设备向usb主机设备发送数据;分析上报模块409检测usb待测设备发送的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式3)分析整个枚举流程,检测流程是否有错误或隐患,据以判断usb待测设备是否枚举成功。

需要说明的是,所述分析上报模块409可采用上文3种检测方式中的任意一种检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理,也可采用3种方式两两组合的方式进行检测,当然还可同时采用该3种方式进行检测以得到最优最准确的检测结果。

待分析上报模块409分析并生成usb待测设备枚举成功或失败的分析结果信息后,即执行上报至收发传输模块410的操作。所述收发传输模块410将所述分析结果信息传输至外部显示设备,以通过外部显示设备显示枚举检测结果。

可选的,所述收发传输模块410例如为uart芯片,用于将枚举检测结果通过串口发送至外部显示设备。所述uart芯片,其全称为universalasynchronousreceiver/transmitter,意为通用异步收发传输器;uart芯片主要用于将要传输的资料在串行通信与并行通信之间做转换,是一种可以将并行输入信号转换成串行输出信号的芯片,uart芯片通常被集成于其他通讯接口的连结上。

综合上文中usb集线器的说明内容可知,本发明提供的usb集线器兼容了普通集线器功能还增设枚举检测子模块,在不依赖昂贵的usb协议分析仪的基础上,能够自动执行枚举检测并判断枚举检测的结果,从而大大降低了工程师人工枚举检测带来的人力成本,还提升了枚举检测的效率,避免人为因素带来的错误或误差。此外,本发明的usb集线器采用串行接口输出,故便于大规模测试并记录问题。

如图5所示,展示本发明一实施例中usb设备枚举异常检测方法的流程示意图。所述方法包括:

s51:截取各数据流端口中用于实现枚举操作的特定端点的数据包;

s52:筛选在预设时间内未再截取到数据包的特定端点所对应的usb待测设备;

s53:将筛选出的usb待测设备所发出或接收的数据包进行备份;

s54:对所述筛选备份模块备份的数据包进行分析并生成usb待测设备枚举成功或失败的分析结果信息;

s55:将所述分析结果信息传至外部显示设备。

对所述筛选备份模块备份的数据包进行分析的方式包括:梳理枚举流程并根据usb协议规范检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理,据以判断usb待测设备枚举成功或失败。

检测usb主机设备发出的请求以及usb待测设备发出的答复是否合理的方式包括:方式1)由usb主机设备发出请求,usb待测设备做出响应;分析上报模块检测usb待测设备做出响应的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式2)由usb待测设备向usb主机设备发送数据;分析上报模块检测usb待测设备发送的内容是否满足usb协议规范;若满足usb协议规范,则该usb待测设备枚举成功;若不满足usb协议规范,则该usb待测设备枚举失败;方式3)分析整个枚举流程,检测流程是否有错误或隐患,据以判断usb待测设备是否枚举成功。需要说明的是,usb设备枚举异常检测方法的实施方式与上文中usb集线器的实施方式类似,故不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本发明提供的usb集线器、usb设备枚举异常检测方法及计算机存储介质,兼容了普通集线器功能还增设枚举检测子模块,在不依赖昂贵的usb协议分析仪的基础上,能够自动执行枚举检测并判断枚举检测的结果,从而大大降低了工程师人工枚举检测带来的人力成本,还提升了枚举检测的效率,避免人为因素带来的错误或误差。此外,本发明的usb集线器采用串行接口输出,故便于大规模测试并记录问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 插入数据传输队列结构体的方法...
  • 智能电视外接存储设备类型的识...
  • 用于串行通信环境中的带外通信...
  • 一种IO请求的处理方法、系统...
  • 多网口驱动方法、装置及存储介...
  • 一种控制方法、控制装置、虚拟...
  • 数据访问方法及装置与流程
  • 实现数据被可靠写入芯片的方法...
  • 一种日志处理的方法、系统、设...
  • 一种固态硬盘磨损均衡的实现方...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

两个鬼故事我的拿手好戏笔画起名数理个体工商起名字大全英语信件格式声名鹊起什么意思女孩子起名葵注册建材公司起什么名字好父爱如山动漫海绵宝宝吧十一月四日风雨大作水命起什么名字好苗木公司起名异常的近义词有没有饭店起名的网站公司起名软件顶楼第一季荷月是几月蔬菜公司店名起名大全狗年娃娃起名大全2018党建工作思路科技公司起名大全最新两个字长江图电影冬天应该起什么名字ipodclassic3刘义庆双胎起名大全男宝宝1518姓名测试谁是被害者在线观看曾姓的起名工程公司起名大全字库少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化