CN102023823B - 用于usb打印设备的通信控制方法和系统 - Google Patents

用于usb打印设备的通信控制方法和系统 Download PDF

Info

Publication number
CN102023823B
CN102023823B CN2009101765103A CN200910176510A CN102023823B CN 102023823 B CN102023823 B CN 102023823B CN 2009101765103 A CN2009101765103 A CN 2009101765103A CN 200910176510 A CN200910176510 A CN 200910176510A CN 102023823 B CN102023823 B CN 102023823B
Authority
CN
China
Prior art keywords
usb
logic function
printing device
equipment
main frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009101765103A
Other languages
English (en)
Other versions
CN102023823A (zh
Inventor
杨现刚
张新平
王春涛
车磊
许加波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong New Beiyang Information Technology Co Ltd
Original Assignee
Shandong New Beiyang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong New Beiyang Information Technology Co Ltd filed Critical Shandong New Beiyang Information Technology Co Ltd
Priority to CN2009101765103A priority Critical patent/CN102023823B/zh
Priority to PCT/CN2010/077119 priority patent/WO2011032517A1/zh
Publication of CN102023823A publication Critical patent/CN102023823A/zh
Application granted granted Critical
Publication of CN102023823B publication Critical patent/CN102023823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明提供了一种用于USB打印设备的通信控制方法,包括以下步骤:主机获取所接入的USB打印设备的多个逻辑功能;对应于每个逻辑功能在主机安装一个设备;设置每个安装的设备均占用独立的管道,用于传输与对应的逻辑功能相关的数据。本发明实现了USB打印设备的每个逻辑功能彼此独立运行、互不干扰。

Description

用于USB打印设备的通信控制方法和系统
技术领域
本发明涉及打印机领域,具体而言,涉及用于USB打印设备的通信控制方法和系统。
背景技术
通用串行总线USB(Universal Serial Bus)是当前最常用的计算机接口之一。USB体系包括:主机、设备及物理连接三部分。主机通常为计算机,设备在本文中为打印机,物理连接为USB连接电缆。
主机在与打印USB打印设备进行通信时,通过运行安装的客户软件来实现特定的功能。客户软件一般包括界面应用程序和USB打印设备驱动程序两部分。其中,界面应用程序负责和USB打印设备驱动程序进行接口,向用户提供可视化的操作以操纵安装的印设备;USB打印设备驱动程序与主机中操作系统提供的USB系统软件接口,启动USB数据传输。
USB打印设备驱动程序通常由主机中运行的操作系统提供,当使用由操作系统提供的USB打印设备类驱动程序时,其功能受到一定的限制,如USB打印设备类定义(USB Device Class Definitionfor Printing Devices)中规定主机(HOST)中的打印类设备驱动程序最多使用3个管道进行通信:一个缺省管道即0管道、一个批量输出管道及一个批量输入管道,即仅使用2个非0管道。其中,缺省管道用于建立通信,批量输出管道用于从主机发送打印数据,批量输入管道用于打印设备状态信息的返回。
在实现本发明过程中,发明人发现根据应用的需要,当前很多打印设备具有多种逻辑功能,如实时信息查询、自动状态返回、加密数据查询等,仅使用一个管道返回各种类型的数据会造成返回数据的辨识困难、甚至混乱。
发明内容
本发明旨在提供一种用于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打印设备的逻辑功能之间的数据传输通道的示意图;
图3示出了根据本发明一个实施例的打印设备枚举过程中主机上软件工作的流程图;
图4示出了根据本发明一个实施例的通信控制方法的流程图;
图5示出了根据本发明一个实施例的主机接收数据时的程序流程图;
图6示出了根据本发明一个实施例的主机实现某一逻辑功能时发送数据的程序流程图;
图7示出了根据本发明一个实施例的用于USB设备的通信控制系统的简化图;
图8示出了根据本发明一个实施例的USB打印设备的枚举过程的系统简化图;
图9示出了图8的USB打印设备枚举完成后实现打印设备多个逻辑功能的系统简化图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明一个实施例的用于USB打印设备的通信控制方法的流程图,包括以下步骤:
步骤S10,主机获取所接入的USB打印设备的多个逻辑功能;
步骤S20,对应于每个逻辑功能在主机安装一个设备;
步骤S30,设置每个安装的设备均占用独立的管道,用于传输与对应的逻辑功能相关的数据。
在上述的通信控制方法中,用户调用USB打印设备的逻辑功能时,每个逻辑功能的数据将通过占用独立的管道在USB打印设备与主机之间交换相应逻辑功能的数据,从而解决了现有技术中在使用操作系统提供的USB打印类设备驱动程序时仅使用一个管道返回各种类型的数据时造成返回数据的辨识困难问题。当能够建立多个管道时,上述的通信控制方法就能够同时使用多个逻辑功能,而各种不同类型的数据在各自不同的管道中通信时不会发生混乱。USB打印设备和与该打印设备相连的USB主机共同组成一个实现打印数据传输及多种逻辑功能数据交互的通信系统,在主机端仅需要初次使用时的一次软件安装,就实现了USB打印设备的每个逻辑功能彼此独立运行、互不干扰。
可选的,步骤S10具体包括:对主机检测到的USB打印设备进行枚举;在枚举过程中获取USB打印设备的设备描述和接口描述,根据设备描述确定该USB打印设备为打印设备;根据接口描述确定USB打印设备的逻辑功能。该获取逻辑功能的过程通常在USB打印设备接入主机后立即启动。
可选的,步骤S20具体包括:根据接口描述对每个逻辑功能配置主机中操作系统提供的与每个接口对应的USB打印类设备驱动程序;在主机的界面上对应于每个逻辑功能生成一个安装的设备,每个安装的设备分别调用与该逻辑功能对应的打印类设备驱动程序。这使得用户在界面上例如桌面或控制面板中调用该安装的设备时,就能使用该逻辑功能。
确认USB设备为打印设备的过程是:通过由USB打印设备响应主机的GET_DESCRIPTOR(device)请求而返回的设备描述符中的bDeviceClass字段确定该设备为打印设备;接口描述包含接口个数和接口的使用端点等信息,这些信息可以从配置描述符、接口描述符来获取。因此,确认USB打印设备逻辑功能的过程是:通过由USB打印设备响应主机的GET_DESCRIPTOR(configuration)请求而返回的配置描述符中的bNumInterfaces字段获取USB打印设备所支持的接口个数;从返回的接口描述符中的bInterfaceNumber字段获取接口号,用以区分不同的接口,由于每个接口对应于USB打印设备的一个逻辑功能,因此,可以通过接口号区别不同的逻辑功能;从返回的接口描述符中的bNumEndpoints字段获取相应接口使用的端点数量,一个接口配置2个端点,其中一个端点为输入端点、另一个端点为输出端点;每个接口均配置不同的端点,禁止端点共用。
可选的,步骤S30具体包括:每个安装的设备对应的USB打印类设备驱动程序分别配置不同的端点,USB打印设备的每个接口均配置不同的端点,设置每个安装设备对应的USB打印类设备驱动程序的配置端点分别与每个接口的配置端点一一对应,因此每个安装的设备均使用独立的管道进行通信,在通信过程中不同逻辑功能数据之间不存在干扰问题。
可选的,根据打印设备返回的接口描述符中的端点配置对每个逻辑功能所对应的要安装设备所使用的USB打印类设备驱动程序中的使用端点进行相应配置,从而在每个USB打印类设备驱动程序与USB打印设备的接口之间建立一一对应的一条输出管道和一条输入管道,输出管道用于从主机向打印设备发送数据,输入管道用于从打印设备向主机传输数据。在主机的界面上对应于每个逻辑功能生成一个安装的设备,每个安装设备的实现功能可以通过与对应逻辑功能的接口描述符中的接口描述字符串中获得。当要实施某一逻辑功能时,安装的设备通过调用已配置的USB打印类设备驱动程序即可进行通信,发送、查询相关信息。该方法在安装Windows操作系统的个人计算机上很容易实现。
图2示出了根据本发明一个实施例的主机上安装设备与USB打印设备的逻辑功能之间的数据传输通道的示意图,具体说明如下:
主机中安装设备一210与打印设备的逻辑功能一211对应,主机中安装设备二220与打印设备的逻辑功能二221对应,主机中安装设备三230与打印设备的逻辑功能三231对应。安装设备一210通过管道212向打印设备的逻辑功能一211发送关于逻辑功能一的请求指令,逻辑功能一通过管道213向安装设备一返回响应数据;安装设备二220通过管道222向打印设备的逻辑功能二221发送关于逻辑功能二的请求指令,逻辑功能二通过管道223向安装设备二返回响应数据;安装设备三230通过管道232向打印设备的逻辑功能三231发送关于逻辑功能三的请求指令,逻辑功能三通过管道233向安装设备三返回响应数据。每个安装设备与对应的逻辑功能之间分别使用各自的配置端点之间建立的不同管道进行数据传输,即管道m1、m2、x1、x2、y1、y2是各自独立的。
图3示出了根据本发明一个实施例的打印设备枚举过程中主机上软件工作的流程图,具体处理过程如下:
步骤S302,USB设备插入到主机的USB接口插座中,根据USB2.0规范,主机通过USB物理接口的信号变化实时检测到USB设备的插入操作。如果未有USB设备插入,则主机继续检测;如果有USB设备插入,则首先由主机中的USB主控制器驱动程序通过控制管道(管道0)进行配置,并向USB设备发出获取设备描述符的标准USB请求,USB设备响应主机发出的标准请求,并返回设备描述符。
步骤S304,主机根据USB设备返回的设备描述符,获取USB设备的类型,如打印机、扫描仪、存储设备等,及与设备相关的其它描述信息等。
步骤S306,如果USB设备是打印类设备,则主机继续配置;如果不是打印类设备,则主机通过其他USB设备安装步骤S310继续对设备进行配置。
步骤S308,主机向USB打印设备发送获取配置信息的标准USB请求,通过USB打印设备返回的配置描述符、接口描述符及端点描述符等接口描述信息中的接口个数n、每一个接口的接口配置、每一接口使用端点的端点配置等,由于每一个接口对应一个逻辑功能,从而确定USB设备的逻辑功能数等于接口数,每一个逻辑功能使用的端点为对应接口使用的端点。在主机上,对每一个逻辑功能安装一个对应的设备,安装设备总量为n个,每个设备配置2个不同的端点。当要调用USB打印设备的某一逻辑功能时,只要通过与该逻辑功能对应的已安装设备进行通信即可。
图4示出了根据本发明一个实施例的通信控制方法的流程图,包括以下步骤:
步骤S40,接受用户对USB打印设备的逻辑功能的调用;
步骤S50,根据所调用的逻辑功能的接口描述启用对应于所调用的逻辑功能的设备;
步骤S60,所启用的设备通过其独立的管道与USB打印设备进行通信,以传输与安装的设备相关的数据。
该实施例的通信控制方法提供了在主机上实施图1实施例的通信控制方法之后,如何进行通信的过程。在该通信过程中,每个逻辑功能的数据通过独立的管道在USB打印设备与主机之间交换,所以能够同时使用多种逻辑功能,而各种不同类型的数据在不同的管道中通信时不会发生混乱。
使用上述任一种通信控制方法,就可以解决当前的USB打印设备的逻辑功能较多所带来的上述问题。
可选的,多个逻辑功能包括:实时指令查询、自动状态返回(ASB)、和加密数据查询;分别对应安装的设备包括:设备1、设备2、和设备3;每个设备通过2个管道与每个逻辑功能之间进行通信。当前的USB打印设备通常具有上述的三种逻辑功能,根据USB 2.0规范,每个USB设备最多具有15非0管道,所以很容易实现该实施例的通信控制方法。
可选的,在上述任一种通信控制方法中,使用交叉表映射逻辑功能、安装的设备以及管道之间的一一对应关系。
图3的USB打印设备安装结束后,主机上可以生成下表所示的“设备-逻辑功能-管道”的交叉参考表:
设备    管道    传输数据    逻辑功能
Figure G2009101765103D00101
图5示出了根据本发明一个实施例的主机接收数据时的程序流程图,具体处理过程如下:
S502,主机从设备n接收到数据。从USB打印设备插入到主机的USB接口到主机完成USB打印设备的软件安装后,主机就可以和USB打印设备进行通信,USB打印设备也可以向主机发送数据,实现不同的逻辑功能。
S504,主机查询安装时生成的“设备-逻辑功能-管道”交叉参考表,根据设备号在设备一列中查找到该设备,如设备2;然后在设备2一行中,查找设备2对应的逻辑功能为自动状态返回,则从设备2接收的数据为自动状态返回信息。
S506,主机根据查找的逻辑功能进行对应处理,不同的逻辑功能其对数据的处理方法可能各不相同,由不同的客户软件对接收的信息进行解析,以实现不同逻辑功能。
图6示出了根据本发明一个实施例的主机实现某一逻辑功能时发送数据的程序流程图,具体处理过程如下:
S602,主机要对USB打印设备的某一逻辑功能发送数据,如实时指令查询,则主机要确定从哪一个已安装的设备发送数据。当从USB打印设备插入到主机的USB接口到主机完成USB打印设备的软件安装后,主机就可以和USB打印设备进行通信,USB打印设备也可以向主机发送数据,实现不同的逻辑功能。
S604,主机查询安装时生成的“设备-逻辑功能-管道”交叉参考表,查询该逻辑功能对应的设备号。在逻辑功能一列中查找到该逻辑功能,如逻辑功能1:实时指令查询;然后在逻辑功能1一行中,在设备列中查找到对应的设备,如设备1,在管道列中查找到使用的管道,如管道1。
S606,主机通过查找到的设备通过查找到的管道发送数据,如查找到的设备为设备1、查找到的管道为管道1,则通过管道1向打印设备发送关于实时指令查询的数据。
在主机对USB打印设备的枚举过程中,主机上安装的每一个设备的输出管道都可以发送打印数据,默认在设备1发送打印数据。当主机向USB打印设备发送打印数据时,通过设备1发送即可。
根据本发明的实施例还提供了一种用于USB打印设备的通信控制系统,包括:USB打印设备,其具有多个端点和多个逻辑功能;主机,其接入USB打印设备,并安装有多个设备,每个安装的设备对应于一个逻辑功能,且每个设备均设置独立的管道传输与对应的逻辑功能相关的数据。
在上述的通信控制系统中,用户调用USB打印设备的逻辑功能时,每个逻辑功能的数据将通过独立的管道在USB打印设备与主机之间交换,从而解决了现有技术中仅使用一个管道返回各种类型的数据而造成的返回数据辨识困难等问题。当能够建立多个管道时,上述的通信控制方法就能够同时使用多个逻辑功能,而各种不同类型的数据在不同的管道中通信时就不会发生混乱。USB打印设备和与该打印设备相连的USB主机共同组成一个实现打印数据传输及多种逻辑功能数据交互的通信系统,在主机端只需要初次使用时的一次软件安装,在每个逻辑功能的使用过程中独立运行、互不干扰。
可选的,在上述的通信控制系统中,USB打印设备的多个逻辑功能包括:实时指令查询、自动状态返回、和加密数据查询;分别对应安装的设备包括:设备1、设备2、和设备3;设备1、设备2、和设备3分别使用各自的2个管道与USB打印设备之间进行双向通信。当前的USB打印设备通常具有上述的三种逻辑功能或更多,根据USB 2.0规范,每个USB设备具有最多15个非0管道,所以很容易实现该实施例的通信控制方法。
图7示出了根据本发明一个实施例的用于USB设备的通信控制系统的简化图。系统100包括USB设备101和USB主机107,USB设备101通过USB总线106连接到USB主机107。USB设备为一个多功能的打印设备,而USB主机为一个运行操作系统的个人计算机(PC),如Windows操作系统。物理连接通过插口105、111之间的USB电缆进行通信。
主机107包括USB控制器112、处理器(CPU)113,及存储介质(未标示)。CPU运行存储在存储介质中的操作程序108。操作系统提供USB打印类设备驱动程序110、USB系统软件(图中未标示)等,客户程序109调用操作系统提供的USB打印类设备驱动程序110,而USB打印类设备驱动程序110向USB系统软件发出数据传输的请求,再由USB系统软件负责USB逻辑设备底层通信的配置及数据传输。
USB打印设备101包括:USB接口硬件104、运行USB驱动程序102及其它控制程序的处理器103,还包括未标示出来的存储器及与打印相关的打印部分等。处理器通过USB驱动程序管理USB接口硬件,如通信的建立、数据的传输等。符合USB规范2.0及以上要求的接口硬件可以提供多达16个端点(包括端点0),每个端点可以建立一个管道。
当通过USB插口105、111把电缆106连接后,主机中的USB控制器检测到设备事件,启动一个标准的USB枚举过程。
图8示出了根据本发明一个实施例的USB打印设备的枚举过程的系统简化图,该枚举过程的管理数据通过USB打印设备的端点0和主机进行交互。通过端点0,主机获取USB打印设备的设备配置信息,如弧线114所示,各种配置信息包括:设备描述符、配置描述符、接口描述符、端点描述符等。在主机中,根据设备描述符中的相关信息确认该USB设备为打印设备并选择设备驱动程序为打印类设备驱动程序;根据与接口相关的描述信息,对每个接口对应的USB打印类设备驱动程序进行配置,在主机的设备面板上为每个接口安装一个对应的设备,由于每个接口对应一个逻辑功能,因而可以实现USB打印设备的逻辑功能与主机中安装设备之间的一一对应关系。设备枚举完成后,就在USB主机和USB打印设备之间建立了一个如上表所示的“设备-逻辑功能-管道”交叉参考表
如图8所示,打印设备3个逻辑功能:逻辑功能1为实时指令查询、逻辑功能2为自动状态返回(automatic status back即ASBASB)、逻辑功能3为加密数据查询。在USB设备枚举完成后,每个逻辑功能与主机中安装设备之间建立各自的对应关系及传输通道,在图9中有清晰的表示。
图9示出了图8的USB打印设备枚举完成后实现打印设备多个逻辑功能的系统简化图。
如图9所示USB打印设备101共有3个逻辑功能,则在主机107内安装了3个设备,分别是设备1、设备2、设备3。USB打印设备的逻辑功能1对应主机的设备1,USB打印设备的逻辑功能2对应主机的设备2,USB打印设备的逻辑功能3对应主机的设备3。
主机中每个安装设备使用同一个USB打印类设备驱动程序,只不过其数据传输的管道各不相同,如图9中的USB打印类设备驱动程序1、2、3的虚线框表示为同一个USB打印类设备驱动程序110,只不过每个设备使用的管道是分别独立的,如USB打印类设备驱动程序1使用管道116发送逻辑功能1的请求指令、使用管道115接收打印设备的逻辑功能1的响应数据;USB打印类设备驱动程序2使用管道118发送逻辑功能2的请求指令、使用管道117接收打印设备的逻辑功能2的响应数据;USB打印类设备驱动程序3使用管道120发送逻辑功能3的请求指令、使用管道119接收打印设备的逻辑功能3的响应数据。主机进行通信时,设备1调用USB打印类设备驱动程序1、设备2调用USB设备类打印驱动程序2、设备3调用USB打印类设备驱动程序3通过相应的管道发送请求命令,再通过对应的管道接收对请求命令的响应信息。
本发明上述实施例提供了USB打印设备实现多个逻辑功能的通信方法及USB主机与USB打印设备组成的打印系统,解决了因USB打印类设备驱动程序中只能使用一个上行的状态数据管道、同时传输多种逻辑功能数据而造成数据种类无法分辨的不足,也克服了当前多个逻辑功能数据共享同一传输管道解决方案的缺点:或者因状态管道的频繁配置与切换而造成的通信中断与通信不稳定性,或者因对每一逻辑功能数据增加专门的标识而增加的软件处理复杂度,利用USB打印设备的空闲管道传输逻辑功能数据既保证了所有逻辑功能数据的独立传输又可实现逻辑功能数据的并行传输,既降低了软件处理的复杂度又保证了通信的稳定性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种用于USB打印设备的通信控制方法,其特征在于,包括以下步骤:
主机获取所接入的USB打印设备的多个逻辑功能;
对应于每个所述逻辑功能在所述主机安装一个设备;
设置每个安装的设备均占用独立的管道,用于传输与对应的所述逻辑功能相关的数据,其中,根据所述USB打印设备的多个逻辑功能安装有多个设备,每个安装的设备使用同一个USB打印类设备驱动程序,但传输数据的管道各不相同,其中,当调用所述USB打印设备的逻辑功能时,每个所述逻辑功能的数据通过占用独立的管道在所述USB打印设备与所述主机之间交换相应逻辑功能的数据,
其中,多个所述逻辑功能包括:实时指令查询、自动状态返回、和加密数据查询中的至少两个。
2.根据权利要求1所述的通信控制方法,其特征在于,主机获取所接入的USB打印设备的多个逻辑功能具体包括:
对所述主机检测到的所述USB打印设备进行枚举;
在枚举过程中获取所述USB打印设备的接口描述,根据所述接口描述确定所述USB设备的逻辑功能。
3.根据权利要求2所述的通信控制方法,其特征在于,对应于每个所述逻辑功能安装一个设备具体包括:
在所述主机的界面上对应于每个所述逻辑功能生成一个所述安装的设备,用于调用所述逻辑功能对应的打印类设备驱动程序。
4.根据权利要求1所述的通信控制方法,其特征在于,设置每个安装的设备均占用独立的管道具体包括:
每个安装的设备分别配置不同的端点,所述USB打印设备的每个接口均配置不同的端点,设置每个安装的设备的配置端点分别与每个接口的配置端点一一对应。
5.根据权利要求4所述的通信控制方法,其特征在于,
所述独立的管道包括一条输出管道和一条输入管道,所述输出管道用于所述安装设备向所述逻辑功能发送请求命令;所述输入管道用于传输所述逻辑功能对所述安装设备请求的响应。
6.根据权利要求5所述的通信控制方法,其特征在于,还包括以下步骤:
接受用户对USB打印设备的所述逻辑功能的调用;
根据所调用的逻辑功能启用对应于所调用的逻辑功能的设备;
所启用的设备通过其独立的管道与所述USB打印设备进行通信,以传输与所述安装的设备相关的数据。
7.根据权利要求1至6任一项所述的通信控制方法,其特征在于,使用交叉表映射所述逻辑功能、所述安装的设备以及所述管道之间的一一对应关系。
8.一种用于USB打印设备的通信控制系统,其特征在于,包括:
USB打印设备,其具有多个端点和多个逻辑功能;
主机,与所述USB打印设备连接,根据所述USB打印设备的多个逻辑功能安装有多个设备,每个安装的设备对应于一个所述逻辑功能,且每个设备均通过占用独立的管道传输与对应的所述逻辑功能相关的数据,其中,每个安装的设备使用同一个USB打印类设备驱动程序,但传输数据的管道各不相同,其中,当调用所述USB打印设备的逻辑功能时,每个所述逻辑功能的数据通过占用独立的管道在所述USB打印设备与所述主机之间交换相应逻辑功能的数据,
其中,多个所述逻辑功能包括:实时指令查询、自动状态返回、和加密数据查询中的至少两个。
CN2009101765103A 2009-09-21 2009-09-21 用于usb打印设备的通信控制方法和系统 Active CN102023823B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2009101765103A CN102023823B (zh) 2009-09-21 2009-09-21 用于usb打印设备的通信控制方法和系统
PCT/CN2010/077119 WO2011032517A1 (zh) 2009-09-21 2010-09-19 用于usb打印设备的通信控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101765103A CN102023823B (zh) 2009-09-21 2009-09-21 用于usb打印设备的通信控制方法和系统

Publications (2)

Publication Number Publication Date
CN102023823A CN102023823A (zh) 2011-04-20
CN102023823B true CN102023823B (zh) 2013-09-04

Family

ID=43758121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101765103A Active CN102023823B (zh) 2009-09-21 2009-09-21 用于usb打印设备的通信控制方法和系统

Country Status (2)

Country Link
CN (1) CN102023823B (zh)
WO (1) WO2011032517A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789373B (zh) * 2011-05-16 2015-09-02 山东新北洋信息技术股份有限公司 打印系统及其控制方法和打印机及其控制方法
CN105335661B (zh) * 2015-09-25 2018-04-03 北京北信源软件股份有限公司 基于usb接口粒度的usb设备监控方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704824B1 (en) * 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
US6813670B1 (en) * 2000-09-26 2004-11-02 Microsoft Corporation Automatic server-side plug-and-play without user intervention
US7529920B2 (en) * 2004-06-11 2009-05-05 Canon Kabushiki Kaisha Apparatus and method capable of executing plug and play installation processing operation upon acquiring one piece of device identification information including both printer and facsimile identification information
US20080276012A1 (en) * 2007-05-04 2008-11-06 Joe Mesa Driver Loading via a PnP Device

Also Published As

Publication number Publication date
WO2011032517A1 (zh) 2011-03-24
CN102023823A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
US8407367B2 (en) Unified connector architecture
EP2146286B1 (en) Converter and control system
CN104615572B (zh) 热插拔处理系统及方法
CN102598625B (zh) 利用通用即插即用在输入系统改变输入类型的方法和装置
CN101539897B (zh) 多计算机切换装置及其运行方法
CN115357535A (zh) 一种虚拟串口设计方法及装置
CN100459612C (zh) 一种通讯传输控制装置及实现通讯协议控制的方法
CN102023823B (zh) 用于usb打印设备的通信控制方法和系统
CN101699416B (zh) 主机与多卡座读卡器的通信方法和系统
CN101630158B (zh) 一种工业控制系统及其串行通信方法
US20070204070A1 (en) USB device, USB system and recording medium storing USB control program
EP1597678B1 (en) System and method for configuring and deploying input/output cards in a communications environment
JP4666589B2 (ja) Usbデバイス、usbシステム及びusb制御プログラム
CN105630718A (zh) 提供主机即时切换分享通用串行总线电子设备的电子装置
CN108055212B (zh) 一种兼容pse芯片的方法及装置
CN1767544B (zh) 信息处理系统的下位装置、下位装置用动作控制程序及动作控制方法
US6919878B2 (en) Keyboard/mouse switching controller
CN100508481C (zh) 自动分配通信端口地址的方法及其刀片式服务器系统
CN101320359A (zh) 串口设备控制电路及控制方法
CN100520727C (zh) 直立转接卡类型辨识方法及系统
US8239585B2 (en) Systems and methods for improved hardware device connectivity
CN2788463Y (zh) 一种通讯传输控制装置
CN218124727U (zh) 控制装置和控制系统
KR101340892B1 (ko) 62 키 이상의 엔키 롤오버가 가능한 유에스비 키보드 장치 및 n키 롤오버 기능 제공 방법
US6901460B2 (en) Competitive management system and method for external input/output devices and recording medium recording program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant