一种USB设备及USB设备驱动初始化的方法与流程

文档序号:13943837阅读:761来源:国知局

本发明涉及人机接口设备技术领域,尤其涉及一种usb设备及usb设备驱动初始化的方法。



背景技术:

现有计算机在连接有usb设备时,首先需要对usb设备进行初始化过程,才能进行通信,而这种usb设备的驱动文件需要单独安装的文件在电脑中实现驱动初始化,在完成设备驱动初始化以后,才能与这种带usb设备进行通信,完成相关计算机程序指令。

人机接口设备(humaninterfacedevice,hid)类别是windows最早支持的usb类别。由其名称可以了解hid设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。这些设备兼容到电脑上时,一般需要进行设备驱动初始化,在设备驱动初始化以后,可以通过主设备连接一个hid设备或者多个hid设备。

对于很多带usb接头的hid设备来完成主设备上的使用,一般提前将驱动文件安装在电脑上,然后再通过usb接口连接到电脑上,包括打印机、显示屏等等设备,初始化过程都是提前完成的。

现有的hid设备通过类似带有usb接口的usb设备来作为hid设备来存在,这种usb设备即hid设备起到连接主设备和节点设备的作用,如图1中所示的基于usb设备(hid设备)连接主设备和节点设备的结构示意图,比如作为hid设备(也即usb设备)连接鼠标实现在电脑的操作,或者打印机需要相应的usb设备(hid设备)来支持与电脑通信等。这种usb设备即hid设备中的基本单元包括:usb接口、以及处理器和存储器、通信模块等,其整个hid设备(usb设备)使用一个linux或其他嵌入式芯片作为与上位机的总连接点,然后通过linux或其他嵌入式芯片对上位机进行模拟设备,或者模拟为标准hid设备、声卡、蓝牙音箱、键盘、鼠标、触摸框或其他自定义驱动的设备。然后所有的数据都通过linux芯片(即处理器)来处理。然后linux芯片再连接其他设备,比如存储器,比如通信模块(如wifi等)。对此次中hid设备(usb设备)来说,所有数据都要走linux芯片,对linux芯片要求比较高,linux芯片还需要外挂ddr来作为系统的ram。这种hid设备存在成本高、且整个hid设备都需要处理器来作为参与者,造成性能的能耗也较高。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种usb设备及usb设备驱动初始化的方法,提供了一种低成本的usb设备作为hid设备使用,也基于该usb设备更方便自身的驱动初始化过程。

为了解决上述问题,本发明提出了一种usb设备,所述usb设备包括:

usb集线器、存储器、通信模块和微控制模块,其中:

usb集线器一端具有usb接口,基于所述usb接口可插入在上位机上,以及一端采用集线器分路分别连接着所述存储器、所述通信模块和所述微控制模块,所述存储器上存储着各功能模块设备所对应的驱动安装文件,所述各功能模块设备所对应的驱动安装文件用于在usb设备插入主设备后进行驱动安装。

所述存储器为:只读存储器rom、或者为随机存取存储器ram、或者为闪存flash存储器。

所述通信模块为与第三方设备通信的网卡,所述网卡为usb接口网卡、或者无线网卡。

所述微控制模块包括微控制处理器、和/或控制单元。

所述控制单元为按键控制器,或者为触摸控制屏、或者为指示灯。

相应的,本发明还提出了一种usb设备驱动初始化的方法,包括如下方法:

识别usb设备基于usb接口插入主设备后,主设备将usb设备上的功能模块设备枚举出,所述usb设备包括usb集线器、存储器、通信模块和微控制模块,其中:usb集线器一端具有usb接口,基于所述usb接口插入在主设备上,以及一端采用集线器分路分别连接着所述存储器、所述通信模块和所述微控制模块,所述功能模块设备包括:存储器、通信模块和微控制模块;

基于usb集线器解析存储器上的各功能模块设备所对应的驱动安装文件;

基于所述各功能模块设备所对应的驱动安装文件对所述各功能模块设备进行驱动安装。

所述基于usb集线器解析存储器上的各功能模块设备所对应的驱动安装文件包括:

判断所述通信模块和/或所述微控制模块是否在所述主设备上能正常运行,若判断所述通信模块和/或所述微控制模块在所述主设备上不能正常运行时,解析存储器上所述通信模块和/或所述微控制模块所对应的驱动安装文件。

所述基于usb集线器解析存储器上的各功能模块设备所对应的驱动安装文件包括:

解析存储器上所述存储器所对应的驱动安装文件。

所述方法还包括:

读取usb设备中是否存在配对信息,所述配对信息包括ssid和密码,所述ssid和密码用于通信模块实现与主设备外的第三方设备进行通信;

若读取到所述usb设备中的配对信息,则基于配对信息完成通信模块与所述第三方设备的通信链路建立;若未读取到所述usb设备中的配对信息,则向主设备提醒未写入配对信息。

相应的,本发明还提供了一种为处理装置提供通信连接的外围装置,所述处理装置包括内存、显示器和操作系统,所述操作系统具有至少一个预安装的通用驱动器,该通用驱动器提供了处理装置和标准外围装置之间通信的通用通信协议,所述外围装置包括内存,可执行软件代码存储在该内存中,以用于在处理装置上运行,所述可执行软件代码包括:

第一软件代码部分,该第一软件代码部分通过操作系统的预安装通用驱动器,建立外围装置和处理装置之间的通信工具;

第二软件代码部分,该第二软件代码部分通过外围装置,将处理装置连接至通信网络,所述外围装置包括收发器;以及

第三软件代码部分,该第三软件代码部分用于在通信工具上按指定路线在处理装置和通信网络之间发送数据;其中的第一软件代码部分用于使用通用通信协议,在处理装置和外围装置之间传输屏幕抓取数据,以及

输入装置,该输入装置与外围装置连接,并用于回应用户操作,来引发从处理装置至外围装置的数据传输,其中:

所述可执行软件代码供执行以上所述的方法。

在本发明实施例中,由于整体hid即usb设备采用usb集线器连接着存储器、通信模块和微控制处理器等,省去了处理器结构在hid设备中的运行,通过一个集线器,将处理能力更多的放到上位机上去处理,减轻设备内处理器的压力,在此过程中省去一个linux芯片,替换为一个微处理设备作为相应的辅助控制功能,而现有技术中所涉及的linux芯片必须搭配ddr作为ram,而本发明中可以用更低成本的存储器来实现(比如flash存储器),而且价格更加便宜。在功能上,能实现完成99%现有hid设备功能,且在性能上基本无差别。本发明所涉及的usb设备,通过usb集线器(usbhub)把usb设备上的各功能性模块连接到了电脑端或者主设备上,这样电脑就可以直接看到这些设备,从而可以控制这些设备,从而完成相应控制。之前所有网络传输数据都要通过linux芯片走,这样linux的处理器就得不断的处理这些信息。而本发明实施例中的方法直接通过网卡传出去,这样就不会要求微处理器具有相应的处理性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是现有技术中的基于usb设备(hid设备)连接主设备和节点设备的结构示意图;

图2是现有技术中的usb设备(hid设备)的结构示意图;

图3是本发明实施例中的usb设备第一实施例结构示意图;

图4是本发明实施例中的usb设备第二实施例结构示意图;

图5是本发明实施例中的usb设备第三实施例结构示意图;

图6是本发明实施例中的usb设备驱动初始化的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图3示出了本发明实施例中的usb设备第一实施例结构示意图,该usb设备包括:usb集线器、存储器、通信模块和微控制模块,其中:usb集线器一端具有usb接口,基于该usb接口可插入在上位机上(一般为电脑主机),以及一端采用集线器分路分别连接着存储器、通信模块和微控制模块。

具体实施过程中,该存储器可以为:只读存储器rom、为随机存取存储器ram、闪存flash存储器等等。这里的通信模块为与第三方设备通信的网卡,该网卡可以为usb接口网卡、或者无线网卡等等。该存储器上存储着各功能模块设备所对应的驱动安装文件,该各功能模块设备所对应的驱动安装文件用于在usb设备插入主设备后进行驱动安装。

具体实施过程中,该微控制模块可以包括微控制处理器、和/或控制单元的组合,即微控制模块上可以直接为按键控制器、触摸控制屏、指示灯等等,也可以是由微控制处理器与控制单元实现电路电路。

图4示出了本发明实施例中的usb设备第二实施例结构示意图,该usb设备作为hid设备可以接入各种不同的设备在主设备上,具体包括:usb集线器、存储器、通信模块和微控制处理器,其中:usb集线器一端具有usb接口,基于该usb接口可插入在上位机上(一般为电脑主机),以及一端采用集线器分路分别连接着存储器、通信模块和微控制处理器。

具体实施过程中,该存储器为:只读存储器rom、或者为随机存取存储器ram、或者为闪存flash存储器。采用flash存储器成本上更优。

具体实施过程中,该通信模块为与第三方设备通信的网卡,该网卡为usb接口网卡、或者无线网卡等等。无线网卡可以采用wifi技术实现。

具体实施过程中,该usb设备上还设有指示灯,该指示灯连接着微控制处理器。

具体实施过程中,该usb设备还设有控制模块,该控制模块连接着所述微控制处理器。该控制模块为按键控制器(即物理按键),或者为触摸控制屏(即通过触摸屏实现各种信息接收或者发出控制命令)。

具体的,图5示出了本发明实施例中的usb设备第三实施例结构示意图,具体包括:usb集线器、wifi网卡、flash(闪存)和微控制处理器,其中:usb集线器一端具有usb接口,基于该usb接口可插入在上位机上(一般为电脑主机),以及一端采用集线器分路分别连接着wifi网卡、flash和微控制处理器,微控制处理器连接着指示灯和按键。

具体实施过程中,本发明所涉及的usb设备中采用usb集线器将通信模块,存储器以及一个微控制处理器接在用户电脑上,即一个usb设备相当于三个独立设备使用,通过软件驱动方案来控制系统连接网络,在不影响用户正常上网的情况下,连接到特殊网络内,进行屏幕及其他数据的传输等。这里所指的特殊网络可以是接收端来实现接收传屏数据的传屏网络。将usb设备插入电脑后,然后软件确认驱动的安装,再通过windows的接口,控制相应的新插入的网卡连接指定的接收端网络,而接收端网络所涉及的ssid和密码存储可以设置在usb设备中的存储器上。

本发明实施例中的usb设备采用usb集线器将usb所涉及的运行功能都关联着mcu,由mcu来运行存储器、通信设备和各种控制处理模块等,而这里的usb设备将各种功能模块采用usbhub连接到了上位机(电脑等设备),由上位机来直接实现运行,对mcu需求大大降低了。

具体实施过程中,存储模块可以存储一些驱动软件和运行软件,这些驱动软件可以是usb设备中所涉及的各驱动软件,也可以存储外部设备的驱动软件,比如存储模块所涉及的驱动软件、通信设备所涉及的驱动软件、微控制处理器所涉及的驱动软件等,还可以存储比如所涉及的传屏软件,及接受传屏数据接收端的驱动软件,也可以存储配对的(服务集标识servicesetidentifier,ssid)和密码等等。配对信息是用来让wifi网卡连接指定的接收端网络,假定存在有4个接收端时,发射端就可以精确的连接到某个接收端上并将数据传输出去,并在屏幕上显示。

具体实施过程中,通信模块可以是一个wifi网卡,其可以直接连接到接收端的ap实现无线通信。

具体实施过程中,指示灯可以用来指示当前状态,当usb设备上电后微控制处理器可以控制指示灯进入闪烁状态,代表此时设备正在连接。然后在usb设备控制通信模块与第三方设备实现wifi连接成功后,可以将指示灯的状态改为常亮,此时可以基于按键投屏或者其他功能,用户点击按键后,会被usb设备中的微控制器处理器所获取到,整个usb设备所涉及的传屏软件程序控制开始传输屏幕,比如可以设置再按一次,停止传屏。

相应的,图6示出了本发明实施例中的usb设备驱动初始化的方法流程图,包括如下步骤:

s501、将usb设备基于usb接口插入到主设备;

本发明所涉及的usb设备为图3和图4中所涉及的usb设备。

s502、主设备识别usb设备插入主设备;

s503、usb设备进行设备初始化,并将usb设备中各功能模块设备参数发送给主设备;

s504、主设备同时枚举出usb设备中各功能模块设备;

主设备在识别usb设备基于usb接口插入主设备后,主设备将usb设备上的功能模块设备枚举出,该usb设备包括usb集线器、存储器、通信模块和微控制模块,其中:usb集线器一端具有usb接口,基于该usb接口插入在主设备上,以及一端采用集线器分路分别连接着存储器、通信模块和微控制模块,该功能模块设备包括:存储器、通信模块和微控制模块。那么主设备在usb设备插入后,可以识别出存储器功能设备、通信模块功能设备、微控制模块功能设备等。

s505、判断usb设备是否完成过驱动文件初始化过程,如果完成驱动初始化过程,则结束或者进入其他流程环节,如果未完成驱动初始化过程,则进入s506;

s506、基于usb集线器解析存储器上的各功能模块设备所对应的驱动安装文件;

具体实施过程中,如果存储模块需要进行驱动初始化过程,则主设备会将存储器所涉及的驱动安装文件解析出;如果通信模块需要进行驱动初始化过程,则需要将通信模块所涉及的驱动安装文件解析出;如果是微控制模块需要进行驱动初始化过程,则需要将微控制模块所涉及的驱动安装文件解析出。

一般来说,这三种功能模块设备都需要驱动初始化过程时,可以先对存储模块进行驱动安装,实现存储器的相应功能。

进而在判断通信模块、微控制模块等功能模块设备在主设备上是否能正常运行,若判断通信模块、微控制模块等在主设备上不能正常运行时,从而解析存储器上所述通信模块、微控制模块所对应的驱动安装文件。

s507、基于各功能模块设备所对应的驱动安装文件对所述各功能模块设备进行驱动安装;

s508、读取usb设备中是否存在配对信息,若读取到usb设备中的配对信息,则进入s509,若未读取到usb设备中的配对信息,则进入到s510;

具体实施过程中,这里的通信模块用于实现主设备与第三方设备间的通信,在usb设备插入主设备能完成相应的正常工作之后,其可以实现相应的功能性,一般在usb设备中预先写入了配对信息,该配对信息包括ssid和密码;该ssid和密码用于通信模块实现与主设备外的第三方设备(比如节点设备打印机、传屏设备等)进行通信,该配对信息可以存在于存储器上,也可以存在于微控制模块中的微控制处理器上。

该配对信息被主设备读取之后,usb设备可以基于配对信息建立起主设备与第三方设备间的信息通道,即实现主设备和第三方设备间的通信功能。

s509、基于配对信息完成通信模块与所述第三方设备的通信链路建立;

在s509完成主设备和第三方设备即节点设备的通信之后,可以基于信息通道启动相应程序来实现相应的功能和作用,比如远程打印、无线打印、无线传屏等。

s510、向主设备提醒未写入配对信息;

若主设备读取不到配置信息时,则会提醒用户该usb未写入配对信息,即通信模块无法与第三方设备建立起通信。

结束。

具体实施过程中,用户先将usb设备插入到电脑上,在插入电脑上后,电脑先运行着的usb设备中的存储器上的文件,在检测到微控制设备插入,则开始呼出界面,同时读取设备内的配置信息,控制通信设备连接指定的网络,并建立网络连接。usb设备内的软件检测通过通信设备建立的网络连接已经建立成功,则给微控制设备发送信息,让灯常亮。用户可以按下微控制设备控制的按键,或者在特定软件程序的界面上操作,开始传屏,整个系统开始截取屏幕并开始通过网络发送过去。

具体实施过程中,若将usb设备插入电脑后,电脑设备先枚举出相应的3个功能模块设备,即一个存储设备,一个网卡设备,一个微控制设备等,所对应于usb设备中的存储器、通信模块、微控制设备。电脑首先会显示出存储设备给用户,用户可以运行存储设备内的特定软件程序,特定软件程序可以确认通信设备与微控制设备是否工作正常,如果不正常,则加载两个设备的驱动,并使其能够正常工作。

在特定软件程序启动后,去读取之前配置好的配置信息,并使用这个配置信息使通信设备能正常联接到指定设备,并建立网络连接。特定软件程序检测通过通信设备建立的网络连接已经建立成功,则给微控制设备发送信息,让灯常亮。此时等待用户操作。

用户可以按下微控制设备控制的按键,或者在特定软件程序的界面上操作,开始传屏。主设备开始截取屏幕并开始通过网络发送过去。

基于此,针对本发明所涉及的usb设备及图5所示的方法,其所对应的一种为处理装置提供通信连接的外围装置,该处理装置包括内存、显示器和操作系统,所述操作系统具有至少一个预安装的通用驱动器,该通用驱动器提供了处理装置和标准外围装置之间通信的通用通信协议,所述外围装置包括内存,可执行软件代码存储在该内存中,以用于在处理装置上运行,所述可执行软件代码包括:第一软件代码部分,该第一软件代码部分通过操作系统的预安装通用驱动器,建立外围装置和处理装置之间的通信工具;第二软件代码部分,该第二软件代码部分通过外围装置,将处理装置连接至通信网络,所述外围装置包括收发器;以及第三软件代码部分,该第三软件代码部分用于在通信工具上按指定路线在处理装置和通信网络之间发送数据;其中的第一软件代码部分用于使用通用通信协议,在处理装置和外围装置之间传输屏幕抓取数据,以及输入装置,该输入装置与外围装置连接,并用于回应用户操作,来引发从处理装置至外围装置的数据传输,其中:这里的执行软件代码供执行如图5所述的方法。

综上,由于整体hid即usb设备采用usb集线器连接着存储器、通信模块和微控制处理器等,省去了处理器结构在hid设备中的运行,通过一个集线器,将处理能力更多的放到上位机上去处理,减轻设备内处理器的压力,在此过程中省去一个linux芯片,替换为一个微处理设备作为相应的辅助控制功能,而现有技术中所涉及的linux芯片必须搭配ddr作为ram,而本发明中可以用更低成本的存储器来实现(比如flash存储器),而且价格更加便宜。在功能上,能实现完成99%现有hid设备功能,且在性能上基本无差别。本发明所涉及的usb设备,通过usb集线器(usbhub)把usb设备上的各功能性模块连接到了电脑端或者主设备上,这样电脑就可以直接看到这些设备,从而可以控制这些设备,从而完成相应控制。之前所有网络传输数据都要通过linux芯片走,这样linux的处理器就得不断的处理这些信息。而本发明实施例中的方法直接通过网卡传出去,这样就不会要求微处理器具有相应的处理性能。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的usb设备及usb设备驱动初始化的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1