一种初始化通用串行总线设备的方法及系统的制作方法

文档序号:6575648阅读:161来源:国知局
专利名称:一种初始化通用串行总线设备的方法及系统的制作方法
技术领域
本发明涉及通用串行总线(USB, Universal Serial Band)设备初始化技术,特别 涉及一种初始化USB设备的方法及系统。
背景技术
USB接口是目前计算机上最常用的标准接口 。计算机的外部设备,如USB键盘、 USB鼠标、数码相机、移动硬盘、USB密钥(USB Key)卡等通过USB接口与计算机进行通信。 其中,上述外部设备(以下简称为USB设备)的主要功能通过其包含的智能卡芯片或智 能卡芯片模块来提供,以信息安全设备USB Key为例,将支持公开密钥体系(PKI, Public Keylnfrastructure)的智能卡与智能卡读卡器结合在一起,用以提高USB Key使用的安全 性能。 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设备的初始化时间、提高工作效率。 本发明的另一 目的在于提出一种初始化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设备初始化进程已完成的对话框中,包含所述计算 机USB接口标识。 所述初始化程序通过发送循环查询消息或注册Windows设备消息来监测是否有 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集线器相连的USB设备的初始化进程完成后,通知用户所述USB设备初始化进程已完 成,关闭所述USB设备与初始化装置的连接。 由上述的技术方案可见,本发明提供的一种初始化USB设备的方法及系统,启动 初始化装置中的初始化程序,初始化程序监测是否有USB设备插入,如果有,为监测到的 USB设备创建线程并初始化线程对应的USB设备,否则,继续进行监测;检测所述USB设备 是否已完成初始化,如果是,通知用户所述USB设备初始化进程已完成,关闭所述USB设备 与初始化装置的连接。由于通知中标识了已完成初始化进程的所述USB设备,用户可以根 据该标识将对应的USB设备拔出,插入新的USB设备,不需要等待所有的USB设备都完成初 始化后,才拔下USB设备,因而有效提高了初始化速度以及工作效率、降低了批量USB设备 的初始化时间。


图1为本发明初始化USB设备的系统结构示意图;
图2为本发明初始化USB设备的方法流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对 本发明作进一步地详细描述。 本发明提供的初始化USB设备的方法,通过初始化程序监测到USB设备插入,为监 测到的每个USB设备创建初始化线程并对其进行初始化,在检测到USB设备已完成初始化 时,发送标识该USB设备初始化进程完成的通知消息。 图1为本发明初始化USB设备的系统结构示意图,参见图l,该系统包括运行于 初始化装置中的初始化程序、以及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接口 ,与初始化装置 相连的一侧具有一个USB接口 。 实际应用中,如果初始化装置中设置有多个USB接口 ,则可以与多个USB集线器相连。 初始化装置可以是个人计算机(PC, Personal Computer)、工控机、个人数字助理 (PDA, Personal Digital Assistant)、或运行嵌入式操作系统的专用设备。
通知用户所述USB设备初始化进程已完成的方式可以通过在初始化装置的显示 屏上弹出一个对话框,对话框中包含已完成初始化进程的USB设备标识,提醒用户该USB设 备已完成初始化,例如,通过预先设置计算机USB接口标识并通知用户,通知的方式可以是 在相应计算机USB接口处贴上标识标签,初始化设备在检测到所述USB设备已完成初始化 时,记录插入USB设备的计算机USB接口标识,在弹出的用以告知所述USB设备初始化进程 已完成的对话框中,包含所述计算机USB接口标识;或者是通过在USB集线器(或USB设 备)上设置发光二极管(LED, Light EmittingDiode),控制LED的发光状态为亮、灭、或闪 烁,以表明(显示)USB设备的初始化已完成在初始化程序监测到USB设备并创建线程并 进行初始化时,设置USB集线器(或USB设备)中的LED为亮、灭、或闪烁等预先设置的状 态,在初始化完成后,再设置USB集线器(或USB设备)中的LED为与初始化时相区别的状 态,例如,初始化时LED状态为亮,则可以设置初始化完成后的LED状态为灭或闪烁。如何 设置LED状态,可参见相关技术文献,在此不再赘述。需要说明的是,如果在USB集线器中 设置LED,则该LED状态变化时,表明与该USB集线器相连接的所有USB设备已完成初始化。 相应地,对于与初始化装置相连的USB集线器,只有初始化装置检测到与USB集线器相连接 的所有USB设备已完成初始化时,才弹出携带标识的对话框。 初始化程序对插入USB集线器以及USB设备进行监测,为现有技术,例如,初始化 程序可以通过循环查询消息的方式,也可以是通过注册Windows设备消息的方式来监测 USB集线器或USB设备的插入。本实施例中,通过注册Windows设备消息(Register Device Notification函数)来实现。具体可参见相关技术文献,在此不再赘述。
由上述实施例可见,通过初始化程序为USB设备创建线程并对其进行初始化,检 测所述USB设备是否已完成初始化,如果是,发送标识所述USB设备初始化进程完成的通知 消息,关闭所述USB设备与初始化装置的连接。由于通知消息标识了已完成初始化进程的 所述USB设备,用户可以根据该标识将对应的USB设备拔出,插入新的USB设备,不需要等 待所有的USB设备都完成初始化后,才拔下USB设备,因而有效提高了初始化速度以及工作 效率、降低了批量USB设备的初始化时间。进一步地,通过设置与初始化装置相连的UCB集 线器,初始化装置可以并行初始化USB设备,进一步降低了USB设备的初始化时间;而且,可 以在当前USB集线器上的USB设备进行初始化的同时,将其它待初始化的USB设备连接到 另一 USB集线器以备在当前USB集线器上的USB设备初始化完成后,及时将该另一 USB集 线器连接至初始化装置,从而提高工作效率;同时,进行初始化操作的工作人员不需要关注 初始化装置以及初始化程序,只需根据提示通知或设备显示的状态进行操作,操作简单。
以下以安装有Windows操作系统的个人计算机为例,对本发明初始化USB设备的 方法进行详细说明。 图2为本发明初始化USB设备的方法流程示意图,以连接有USB集线器进行初始 化为例,参见图2,将连接有待初始化USB设备的USB集线器连接至个人计算机,启动个人计 算机中的初始化程序,该流程包括 步骤201,个人计算机中的初始化程序监测是否有USB设备插入,如果有,执行步骤202,否则,继续进行监测。 本步骤中,通过USB接口将待初始化的USB设备与USB集线器连接,并将该USB集 线器接入个人计算机,启动计算机初始化程序。 初始化程序首先监测到USB集线器插入,然后监测到USB集线器上的USB设备。
初始化程序可以通过发送循环查询消息,或者是通过发送注册Windows设备消息 的方式来监测USB集线器或USB设备的插入。本实施例中,通过注册Windows设备消息 (Register Device Notification函数)来实现。 对于个人计算机设置有多个USB接口的情况,初始化程序监测到多个相连的USB 集线器,再监测到与每个USB集线器相连的USB设备。 步骤202,初始化程序为监测到的USB设备分别创建线程并初始化线程对应的USB 设备。 本步骤中,初始化程序为监测到的USB集线器上的每个USB设备分别创建一个线 程并初始化该线程对应的USB设备。本实施例中,通过调用USB设备的应用程序接口 (API, Application Program Interface)函数来初始化USB设备,其具体流程可参见相关技术文 献,在此不再赘述。 实际应用中,在为USB设备创建线程前,初始化程序还可以对USB设备是否已经进 行过初始化进行检查,避免对已初始化的USB设备再执行初始化流程,以提高初始化效率、 减少初始化的资源开销,检查的方法可以通过判断USB设备中是否已生成初始化后的某些 默认文件、目录。具体来说,如果初始化程序检查到某一USB设备中已存在预先设置的默认 文件、目录,则确定该USB设备已进行初始化,结束该流程,或者,提示是否再需要对该USB 设备进行初始化,如果需要,则为该USB设备创建线程。 当然,初始化程序在确定USB设备还未进行初始化后,还可以对个人计算机的可 用资源进行检测,如果检测到个人计算机的可用资源不足时,按照预先设定的策略对监测 到的USB设备进行排队处理,并在检测到个人计算机的可用资源满足预先设定的初始化要 求时,为排队的USB设备创建线程。 在初始化程序对USB设备进行初始化的过程中,还可以设置初始化状态标识,用 以表示该USB集线器上的USB设备的初始化状态,标识的方式可以是在个人计算机显示屏 上弹出一个对话框,告知USB设备初始化的状态(正在初始化或初始化已完成)或初始化 进程,或者是通过在USB集线器(或USB设备)中设置LED,在初始化程序为USB设备创建 线程并进行初始化时,设置USB集线器(或USB设备)中的LED为亮、灭、或闪烁等预先设 置的状态,在初始化完成后,再设置USB集线器(或USB设备)中的LED为与初始化时相区 别的状态。 步骤203,检测USB集线器上的所有USB设备是否已完成初始化,如果是,发送初始 化进程完成通知消息,切断USB集线器与个人计算机的连接。 本步骤中,由于初始化程序几乎同时为USB集线器上的所有USB设备创建线程并 初始化,各USB设备所需初始化时间大致相同,因而,大大縮短了初始化所需的时间。初始 化程序在检测到USB集线器上的已完成初始化的USB设备个数与创建的线程个数相同时, 发送初始化进程完成通知消息,发送初始化进程完成通知消息的方式如前所述,在此不再 赘述。
关闭USB集线器与个人计算机的连接包括关闭USB集线器与个人计算机的物理连 接、以及释放初始化占用的资源,可以通过软件方式,例如,关闭USB集线器(USB设备)在 初始化装置上的设备句柄,或者是向USB集线器发送重置(Reset)指令实现;也可以通过软 件操作相应USB设备与个人计算机之间的电子开关的方式实现。 本步骤中,工作人员根据个人计算机显示屏上弹出的对话框,或LED显示的状态 为初始化进程完成时,拔下USB集线器。 步骤204,插入其它连接有待初始化USB设备的USB集线器,返回执行步骤201。
本步骤中,可以在当前USB集线器上的USB设备初始化的过程中,将其它待初始化 的USB设备预先连接至下一 USB集线器,以在接收到初始化完成通知后,可以及时拔下当前 USB集线器,插入下一 USB集线器,从而提高工作效率。 实际应用中,对于USB设备直接与计算机相连的情形,在启动初始化装置中的初 始化程序后,初始化程序监测是否有USB设备插入,如果有,为监测到的USB设备创建线程 并初始化线程对应的USB设备,否则,继续进行监测;检测所述USB设备是否已完成初始化, 如果是,发送标识所述USB设备初始化进程完成的通知消息,关闭所述USB设备与初始化装 置的连接。其中的具体流程与图2相类似,在此不再赘述。 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保 护范围之内。
权利要求
一种初始化通用串行总线USB设备的方法,其特征在于,启动初始化装置中的初始化程序,该方法包括初始化程序监测是否有USB设备插入,如果有,为监测到的USB设备创建线程并初始化线程对应的USB设备,否则,继续进行监测;检测所述USB设备是否已完成初始化,如果是,通知用户所述USB设备初始化进程已完成,关闭所述USB设备与初始化装置的连接。
2. 如权利要求1所述的方法,其特征在于,在所述为监测到的USB设备创建线程的步骤 前,进一步包括初始化程序判断插入的USB设备中是否已存在初始化后的默认文件或目录,如果否, 执行所述为监测到的USB设备创建线程的步骤;如果是,则发送USB设备初始化进程完成的 通知消息。
3. 如权利要求1所述的方法,其特征在于,所述为监测到的USB设备创建线程的步骤包括检测初始化装置的可用资源是否满足预先设定的初始化要求,如果满足,为所述监测 到的USB设备创建线程;如果不满足,按照预先设定的策略对监测到的USB设备进行排队处 理,并在检测到初始化装置的可用资源满足所述初始化要求时,为排队的USB设备创建线 程。
4. 如权利要求l所述的方法,其特征在于,所述通知用户所述USB设备初始化进程已完 成包括在初始化装置显示屏上设置弹出的用以显示所述USB设备初始化进程已完成的对 话框、或,在USB集线器或USB设备上设置发光二极管,控制发光二极管的发光状态以显示 所述USB设备初始化进程已完成。
5. 如权利要求4所述的方法,其特征在于,所述在初始化装置显示屏上设置弹出的用 以显示所述USB设备初始化进程已完成的对话框包括预先设置计算机USB接口标识并通 知用户,在检测到所述USB设备已完成初始化时,在弹出的用以显示所述USB设备初始化进 程已完成的对话框中,包含所述计算机USB接口标识。
6. 如权利要求1至5任一项所述的方法,其特征在于,所述初始化程序通过发送循环查 询消息或注册Windows设备消息来监测是否有USB设备插入。
7. 如权利要求1至5所述的方法,其特征在于,待初始化的所述多个USB设备预先连接 到USB集线器上,再将USB集线器连接至初始化装置。
8. 如权利要求1至6任一项所述的方法,其特征在于,所述关闭所述USB设备与初始化 装置的连接包括关闭所述USB设备在初始化装置上的设备句柄、以及释放初始化占用的 资源。
9. 如权利要求1至6所述的方法,其特征在于,通过软件方式关闭,或通过软件操作相 应USB设备与初始化装置之间的电子开关的方式关闭所述USB设备与初始化装置的连接。
10. 如权利要求1至6任一项所述的方法,其特征在于,所述初始化装置包括个人计算 机、工控机、个人数字助理、或运行嵌入式操作系统的专用设备。
11. 一种初始化通用串行总线USB设备的系统,包括初始化装置,其特征在于,该系统 包括运行于初始化装置中的初始化程序、以及USB设备,其中,USB设备,通过USB接口与初始化装置相连;运行于初始化装置中的初始化程序,在监测到有USB设备插入时,为监测到的USB设备 创建线程并进行初始化,在所述USB设备的初始化进程完成后,通知用户所述USB设备初始 化进程已完成,关闭所述USB设备与初始化装置的连接。
12.如权利要求11所述的系统,其特征在于,该系统进一步包括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设备的初始化时间。
文档编号G06F13/10GK101694641SQ20091009377
公开日2010年4月14日 申请日期2009年9月28日 优先权日2009年9月28日
发明者孙吉平, 韩勇 申请人:北京深思洛克软件技术股份有限公司;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1