首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 指定 / 打开指定端口USB设备的方法及装置

打开指定端口USB设备的方法及装置

阅读:1040发布:2020-05-28

专利汇可以提供打开指定端口USB设备的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了打开 指定 端口USB设备的方法和装置,涉及USB设备技术领域,为解决 现有技术 中USB端口号不固定的问题而发明。其中,打开指定端口USB设备的方法,包括:获取插入USB端口的USB设备的端口号;判断配置文件中与所述端口号对应的基于GUID的设备名称是否为空;如果不为空,根据所述配置文件中与所述端口号所对应的配置信息,打开所插设的USB设备。打开指定端口USB设备的装置,包括:USB端口单元、扫描单元、判断单元和打开单元。本发明通过上述打开指定端口USB设备的方法和装置,能够将USB端口和设备进行绑定,并对指定USB端口的USB设备进行读写操作,从而实现对特定端口USB设备的安全 访问 。,下面是打开指定端口USB设备的方法及装置专利的具体信息内容。

1.一种打开指定端口USB设备的方法,其特征在于,包括步骤:
获取插入USB端口的USB设备的端口号和USB设备的设备信息;
判断所述插入USB端口的USB设备的设备名称与配置文件中的设备名称是否一致;
如果一致,则将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里;
判断配置文件中与所述端口号对应的基于全局统一标识符GUID的设备名称是否为空;
如果不为空,根据所述配置文件中与所述端口号所对应的配置信息,打开所插设的USB设备。
2.根据权利要求1所述的打开指定端口USB设备的方法,其特征在于,
所述的设备信息包括:设备名称和设备状态。
3.根据权利要求1所述的打开指定端口USB设备的方法,其特征在于,所述根据所述配置文件中与所述端口号所对应的配置信息,打开所插设的USB设备的步骤包括:
输入所述USB端口的端口号;
根据配置文件中对应端口号的基于GUID的设备名称,在动态链接库中打开与所述端口号对应的USB设备。
4.一种打开指定端口USB设备的装置,其特征在于,包括:
USB端口单元,用于插入USB设备;
扫描单元,用于对所述USB设备进行扫描,获取所述USB端口单元的端口号和所述USB设备的设备信息,并将所述设备信息写入到配置信息单元;
配置信息单元,用于在判断所述USB设备的设备名称与配置文件中与所述端口号对应的设备名称一致时,将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里;
判断单元,用于判断配置文件中与所述端口号对应的基于全局统一标识符GUID的设备名称是否为空;
打开单元,用于在所述判断单元判断不为空时,根据所述配置信息单元中与所述端口号所对应的配置信息,打开所述USB端口单元中所插设的USB设备。
5.根据权利要求4所述的打开指定端口USB设备的装置,其特征在于,所述配置信息单元包括:
判断模,用于判断所述USB设备的设备名称与配置文件中与所述端口号对应的设备名称是否一致;
设备信息模块,用于在所述判断模块判断一致时,将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里。
6.根据权利要求4所述的打开指定端口USB设备的装置,其特征在于,
所述打开单元,用于根据所述配置信息单元中与所述端口号所对应的基于GUID的设备名称,在动态链接库中打开所述USB端口单元中所插设的USB设备。

说明书全文

技术领域

发明涉及USB设备应用领域,尤其涉及对指定USB端口的USB设备进行打开的方法及装置。

背景技术

现有对通用串行总线(Universal Serial Bus,USB)设备的访问是通过Windows驱动模式(Windows Driver Mode,WDM)结构的USB驱动系统实现的。WDM采用的是分层模型,可以通过编写少量的专用代码以及调用恰当的类驱动,完成大量常规性的任务。
所述WDM结构的USB驱动系统包括软件部分和硬件部分。如图1所示,其中软件部分包括应用程序、I/O管理器、USB设备驱动程序和USB总线驱动程序,应用程序通过I/O管理器与USB设备驱动程序和USB总线驱动程序相连;硬件部分包括USB主机控制器和USB设备。
应用程序不能直接访问USB设备,需要通过USB设备驱动程序和USB总线驱动程序与USB设备进行交互。
其中,USB设备驱动程序是建立在USB类驱动程序和通用主机控制驱动程序之上的程序。USB设备驱动程序实际上是指一系列控制硬件设备的函数,是操作系统中控制和连接硬件的关键模
USB总线驱动程序由操作系统提供,负责与实际的硬件打交道,实现烦琐的底层通信。USB设备驱动程序由设备开发者编写,不直接对实际的硬件进行操作,而是通过向USB总线驱动程序发送包含USB请求块(USB Request Block,URB)的I/O请求包(I/O Request Package,IRP)来实现对USB设备信息的发送和接收。
USB设备包含一些向主机软件提供一系列USB设备的特征和能的信息的设备描述符,用来配置设备和定位USB设备驱动程序。这些信息确保了主机以正确的方式访问设备。
其中,USB主机控制器用于管理主机和USB设备之间的数据传输,另外也负责管理USB资源,如带宽等。
USB驱动程序的工作原理如下:当应用程序对USB设备进行I/O操作时,它需调用Windows API函数,I/O管理器将此请求构造成一个合适的IRP并把它传递给USB设备驱动程序。USB设备驱动程序接收到这个IRP后,根据IRP中包含的具体操作代码构造相应URB,并把此URB放到一个新的IRP中,然后把它传递给USB总线驱动程序。USB总线驱动程序根据IRP中所含的URB执行相应的操作,通过识别IRP中的物理设备对象(PHP Data Objects,PDO)来区别是发送给哪一个设备的。
由于没有对具体的USB端口顺序号做具体规定,用户无法实现USB设备和USB端口号的对应访问,容易出现数据写入混乱的现象。例如,当生产USBKEY的时候,需要多道工序,为避免生产工序中数据写入混乱,各个工序写入的数据通过一个固定的USB端口写入,避免插入其它端口而写入错误的数据,即每一道工序的USBKEY必须插入到上道工序相应的USB端口中,实现数据的读写操作,这样可以更好的实现生产管理。由于现有技术中无法实现USB端口和USB设备的绑定,很可能会出现在下一道工序中,USB设备并不是插入到其在上一道工序中插入的接口,从而导致数据写入混乱。

发明内容

本发明所要解决的一个技术问题在于提供了一种打开指定端口USB设备的方法,能够对指定端口USB设备的数据进行读写操作,避免数据写入混乱的问题。
为解决上述技术问题,本发明打开指定端口USB设备的方法采用如下的技术方案:
一种打开指定端口USB设备的方法,包括步骤:
获取插入USB端口的USB设备的端口号和USB设备的设备信息;
判断所述插入USB端口的USB设备的设备名称与配置文件中的设备名称是否一致;
如果一致,则将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里;
判断配置文件中与所述端口号对应的基于GUID的设备名称是否为空;
如果不为空,根据所述配置文件中与所述端口号所对应的配置信息,打开所插设的USB设备。
其中,所述的设备信息包括:设备名称和设备状态。
所述根据所述配置文件中的与所述端口号所对应的配置信息,打开所插设的USB设备的步骤包括:
输入所述USB端口的端口号;
根据配置文件中对应端口号的基于GUID的设备名称,在动态链接库打开与所述端口号对应的USB设备。
本发明通过上述打开指定端口USB设备的方法,能够对指定端口的USB设备进行读写操作,从而避免数据写入混乱的问题,实现了对固定USB端口的安全访问。
本发明所要解决的另一个技术问题在于提供了一种打开指定端口USB设备的装置,能够对指定端口USB设备的数据进行读写操作,避免数据写入混乱的问题。
为解决上述技术问题,本发明打开指定端口USB设备的装置采用如下的技术方案:
一种打开指定端口USB设备的装置,包括:
USB端口单元,用于插入USB设备;
扫描单元,用于对所述USB设备进行扫描,获取所述USB端口单元的端口号和所述USB设备的设备信息,并将所述设备信息写入到配置信息单元;
配置信息单元,用于在判断所述USB设备的设备名称与配置文件中与所述端口号对应的设备名称一致时,将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里;
判断单元,用于判断配置文件中与所述端口号对应的基于GUID的设备名称是否为空;
打开单元,用于在所述判断单元判断不为空时,根据所述配置信息单元中与所述端口号所对应的配置信息,打开所述USB端口单元中所插设的USB设备。
所述配置信息单元包括:
判断模块,用于判断所述USB设备的设备名称与所述配置文件中与所述端口号对应的设备名称是否一致;
设备信息模块,用于在所述判断模块判断一致时,将所述USB设备的设备信息写入配置文件中相应端口号的配置信息里。
较佳的,所述打开单元,用于根据所述配置信息单元中与所述端口号所对应的基于GUID的设备名称,在动态链接库中打开所述USB端口单元中所插设的USB设备。
本发明所述的打开指定端口USB设备的装置,能够对指定端口的USB设备进行读写操作,从而避免数据写入混乱的问题,实现了对固定USB端口的安全访问。
附图说明
图1为现有技术中对USB设备进行访问的WDM结构的USB驱动系统结构示意图;
图2为本发明实施例打开指定端口USB设备的方法流程示意图;
图3为本发明实施例中USB实时扫描程序的运行界面;
图4为本发明实施例将所述USB设备与端口号进行绑定的方法流程示意图;
图5为本发明实施例中未写入配置信息的配置文件;
图6为本发明实施例中写入设备信息后的配置文件;
图7为本发明实施例打开所述USB端口中所插设的USB设备的方法流程示意图;
图8为本发明实施例打开指定端口USB设备的装置结构示意图。

具体实施方式

本发明提供了一种打开指定端口USB设备的方法,能够对指定端口USB设备进行读写操作,从而避免了访问USB设备时,容易产生数据写入混乱的问题。
下面结合附图及具体实施例做详细的说明。
如图2所示,打开指定端口USB设备的方法,包括以下步骤:
步骤201、获取插入USB设备的USB端口的端口号和USB设备的设备信息。
当在USB端口插入USB设备时,USB实时扫描程序启动。主机通过USB总线驱动程序打开USB主控制器,依次枚举主控制器和集线器,接着进行枚举USB设备。
当对USB设备进行枚举时,主机首先自动发出查询请求。USB设备回应这个请求,并送出USB设备的厂商号(VendorID,VID)和产品号(ProductID,PID)。然后由主机根据VID和PID装载相应的设备驱动程序,以完成枚举过程。枚举USB设备可以使主机获得关于当前USB设备的设备信息。所述的设备信息包括:所述USB设备的设备名称和设备状态。
USB实时扫描程序存储于计算机硬盘中,通过对上述过程进行实时监控,获取USB设备的设备信息。例如,当在USB主控制器24CD、Generic USB Hub的PORT6端口有USB设备插入时,USB实时扫描程序的运行界面如图3所示。从图3中,我们可以看出,在USB主控制器24CD、Generic USB Hub的PORT6端口有USB设备插入,设备状态显示为Device Connected;设备名称为USB Key。
步骤202、将所述USB设备与所述端口号进行绑定。
如图4所示,具体过程包括:
步骤2021、判断所述USB设备的设备名称与配置文件中的设备名称是否一致。
如果所述设备名称不一致,说明插入的不是同类配套设备,程序结束。
步骤2022、如果所述配置文件中的设备名称为空,需要对所述的USB设备进行配置,建立配置文件。
所述配置过程如下:启动USB实时扫描程序,获取所述USB设备的设备信息;所述的设备信息包括:所述USB设备的设备名称和设备状态。启动程序中的配置文件功能,打开配置文件,将所述USB设备的设备信息写入到所述配置文件与端口号对应的配置信息中,保存所述配置信息。对USB设备进行配置后,以后插入同类配套设备不需要进行配置。
配置文件存储于计算机硬盘中,为了方便,可以将配置文件与USB实时扫描程序存储于同一目录中。配置文件用于动态链接库与USB实时扫描程序进行数据交换。
本发明实施例中,配置文件为WINDOWS系统的标准配置文件类型。如图5或6所示,配置文件主要包括:DeviceInfo和Port。
DeviceInfo用于记录所需绑定USB设备的基本信息和当前插入的个数;
Port用于记录当前插入设备端口的信息。
其中,DeviceInfo包括三部分内容:
DeviceDesc,用于记录所要监控设备的设备名称;
DeviceDescLength,用于记录所要监控设备的基于全局唯一标识符(GUID)的设备名称长度;
PortUsedNumbers,用于记录当前插入的设备个数。
其中,Port包括两部分内容:PortStatus和PortUnicodeName。
PortStatus用于记录当前端口的设备状态;PortUnicodeName用于记录插入该端口的基于GUID的设备名称。
目前,所述的配置文件最大支持32个设备的同时插入。
步骤2023、如果所述USB设备的设备名称与配置文件中的设备名称一致,将所述USB设备的设备信息写入到配置文件中对应端口号的配置信息里。
如果所述的设备名称与配置文件中的设备名称一致,说明插入的是同类配套设备,只需将所述USB设备的设备信息写入到配置文件中对应端口号的配置信息里,就可以实现对USB设备和端口的绑定。例如,当经过判断,插入设备的设备名称与配置文件中的设备名称USB Key一致时,将所述USB设备的设备信息写入到配置文件中对应端口号的配置信息里后,所述的配置文件如图6所示。从图中可以看出,PORT6有USB设备插入,设备状态为Device Connected。
所述配置文件用于动态链接库与USB实时扫描程序进行数据交换。
步骤203、判断配置文件中与所述端口号对应的基于GUID的设备名称是否为空。
如果所述基于GUID的设备名称不为空,并且设备状态显示为Device Connected,说明插入的设备为受监控的同类配套设备,可以执行步骤204,对所述的USB设备进行打开。
步骤204、根据所述配置文件中与所述端口号所对应的配置信息,打开所述USB端口中所插设的USB设备。
如图7所示,所述步骤204的具体过程包括:
步骤2041、输入所述USB端口的端口号。
在应用层打开应用程序,输入相应USB设备的参数,一般输入的是USB设备的端口号。例如,当在USB实时扫描程序的运行界面中的结果是[Port6]Device Connected时,在应用层输入的USB端口号是USB6。
步骤2042、动态链接库打开与所述端口号对应的USB设备。
应用程序调用动态链接库,动态链接库解析出USB设备的端口号信息,根据配置文件中对应端口号的基于GUID的设备名称,通过打开设备函数Creatfile()打开USB设备并返回句柄。读写USB设备的过程与现有的读写方式相同,在此不做赘述。
当对绑定的两个或两个以上的USB设备同时进行操作时,在应用程序中同时输入USB设备的端口信息即可。
本发明实施例中,所述打开指定端口USB设备的方法,通过采用USB实时扫描程序,对与配置文件中设备名称相同的端口设备进行实时监控;通过将检测到的USB设备的设备信息写入相应端口的配置文件中,实现USB设备与端口的绑定;并可以通过动态链接库打开所述USB设备。
当USB端口插入非配套设备时,可以拒绝写入数据,或者通过选取重新配置功能,重新建立配置文件,重新将所述USB设备与端口进行绑定,进而可以通过USB实时扫描程序对其同类设备进行实时监控。本发明实施例可以实现同时对多个同类USB设备进行绑定,最多可以同时监控32个相同USB设备,避免了数据读写混乱的问题。
为了解决现有技术中,当对USB设备进行访问时,由于USB端口不固定容易产生的数据读写混乱的问题,本发明实施例提供了打开指定端口USB设备的装置,能够实现对固定端口USB设备特定数据的安全访问。
下面结合具体实施例打开指定端口USB设备的装置进行详细的描述。
如图8所示,所述装置包括:USB端口单元、扫描单元、配置信息单元、判断单元和打开单元。
其中,USB端口单元用于插入USB设备;扫描单元用于对所述USB设备进行扫描,获取所述USB端口单元的端口号和所述USB设备的设备信息,并将所述设备信息写入到配置信息单元;判断单元用于判断配置文件中与所述端口号对应的基于GUID的设备名称是否为空;打开单元用于根据所述配置信息单元中与所述端口号所对应的配置信息,打开所述USB端口单元中所插设的USB设备。
较佳地,所述打开单元,用于根据所述配置信息单元中与所述端口号所对应的基于GUID的设备名称,打开所述USB端口单元中所插设的USB设备。
本发明实施例中,扫描单元采用USB实时扫描程序。所述的设备信息包括:设备名称和设备状态。当在某一USB端口插入USB设备时,USB实时扫描程序启动;同时,主机枚举USB主控制器、集线器和USB设备。主机保存USB设备的端口信息和设备名称。USB实时扫描程序获取所述USB设备的端口号和设备名称,所述USB实时扫描程序的运行界面如图3所示。从图中可以看出,在PORT6端口有USB设备插入,设备状态信息为Device Connected;所述USB设备的设备名称为USB Key。
本发明实施例中所述的配置文件类型为WINDOWS系统的标准配置文件类型。配置文件保存在计算机硬盘上,为了打开方便,可以将其和USB实时扫描程序保存在同一目录中。
如图5或6所示,所述配置文件包括:DeviceInfo和Port。
DeviceInfo用于记录所需绑定设备的基本信息和当前插入的个数;
Port用于记录当前插入设备端口的信息。
其中,DeviceInfo包括三部分内容:DeviceDesc、DeviceDescLength和PortUsedNumbers。
DeviceDesc,用于记录所要监控设备的设备名称;
DeviceDescLength,用于记录所要监控设备的基于GUID的设备名称长度;
PortUsedNumbers,用于记录当前插入的设备个数。
其中,Port包括两部分内容:PortStatus和PortUnicodeName。
PortStatus用于记录当前端口的设备状态;PortUnicodeName用于记录插入该端口的基于GUID的设备名称。
目前,所述的配置文件最大支持32个设备的同时插入。
在应用层打开应用程序,输入USB设备的端口号。例如,如图3所示,当扫描单元扫描出USB设备的端口号为port6,设备状态为Device Connected时,在应用层输入USB设备的端口号USB6即可。本发明实施例中,打开单元采用动态链接库。动态链接库根据输入的端口信息,从配置文件中找到对应的基于GUID的设备名称,并根据所述基于GUID的设备名称打开所述的USB设备。下面的打开USB设备并对其读写和数据的返回与现有技术相同,在此不做赘述。
如图8所示,本发明实施例所述装置中,所述的配置信息单元用于判断所述USB设备的设备名称与所述配置信息中与所述端口号对应的设备名称是否一致,并保存USB设备的设备信息。
配置信息单元还包括:设备信息模块以及判断模块。
设备信息模块用于存储所述USB设备的设备信息,所述的设备信息包括设备名称、设备状态以及基于GUID的设备名称。
判断模块用于判断所述USB设备的设备名称与配置文件中的设备名称是否一致,如果一致,将USB设备的设备信息写入到配置文件中对应端口号的配置信息里。例如,当用USB实时扫描程序进行USB设备端口状态实时监控时,USB实时扫描程序打开所述端口的配置文件,将所述的USB设备的设备信息写入配置文件中。配置文件如图6所示。其中,USB设备的端口号为PORT6;设备状态为:Device Connected;设备名称为USB Key。
如果不一致,说明插入的不是同类配套设备,程序结束。
如果所述配置文件中的设备名称为空,需要对所述USB设备进行配置,将USB设备的设备信息写入配置文件中。
具体的配置过程如下:启动USB实时扫描程序,获取所述USB设备的设备信息;启动程序中的配置文件功能,将所述USB设备的设备信息写入到所述配置文件与端口号对应的配置信息中,保存所述配置信息。对USB设备进行配置后,以后插入同类配套设备不需要进行配置。
本发明实施例所述的打开指定端口USB设备的装置,实现了对指定USB端口和USB设备的绑定,并能够对固定端口USB设备进行安全访问和数据读写操作。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈