在usb主机和usb装置之间通信的方法和设备的制作方法

文档序号:7662728阅读:238来源:国知局
专利名称:在usb主机和usb装置之间通信的方法和设备的制作方法
技术领域
本发明的方面涉及一种通用串行总线(USB)通信方法,更具体地讲,涉 及一种USB主机和USB装置之间的接口 。
背景技术
通用串行总线(USB)是开发用来对将计算机外围设备连接到计算机的接 口进行标准化的串行端口。计算机外围设备的例子包括鼠标、键盘、打印机、 调制解调器或扬声器。USB使得装置的安装和移除容易且快速,因此被广泛 用作当前PC标准器件。图1是示出一般USB通信方法的框图。 一般USB系统包括USB主机和 USB装置。USB主机(以下称为主机)通常是PC, USB装置(以下称为装置) 通常是具有USB接口的外围设备。主机包括客户机软件(SW)、 USB系统SW 和USB总线接口 。装置包括Function、USB逻辑装置和USB总线接口 。Function 是接口的集合,每一接口提供用于USB装置的功能性。主机和装置经由USB 线缆彼此连接。客户机SW是实际使用USB装置的Function的USB主机的一部份。现 在将描述由客户机SW使用USB装置的Function产生的所有数据的流程。客 户机SW使用USB装置的Function产生的数据经由系统SW、主机控制器和 USB线缆被发送到装置的USB总线接口 。数据从USB总线接口经由USB逻 辑装置被发送到Function。 USB装置的Function处理由USB主机的客户机 SW发送的数据。USB装置的Function发送到USB主机的客户机SW的数据 按照与由客户机SW发送的数据的顺序相反的顺序流动。USB装置根据USB装置提供的Function的类型可属于特定USB类。例 如,USB装置可属于打印机类、大存储装置类或人机接口装置(HID)类。在
USB主机的客户机SW和USB装置的Function之间发送的数据的实质和形式 取决于USB装置所属的USB类的类型,并且在USB类规范(USB class specification)中被定义。客户机SW与存在于比客户机SW更低级别中的USB 系统SW交换在USB类规范中定义的数据。相似地,包括在USB装置中的 Function与USB逻辑装置交换在USB类规范中定义的凄丈据。数据经由USB 线缆被物理传输。然而,在逻辑意义上,数据在USB主机的客户机SW和 USB装置的Function之间被发送和接收。这种传输采用的路径被称为管道, 并且USB装置中管道的一端^C称为端点(endpoint)。当USB装置经由USB线缆连接到USB主机时,点查(enumeration)发生。 点查是一种处理,在该处理中,USB主机确定USB装置的端点的类型和数目、 产品的类型(例如,外围装置)等。在该处理中,主机将地址分配给装置,并且 从装置接收装置描述符和配置描述符,以准备发送和接收数据。在USB主机 的USB系统SW和USB装置的USB逻辑装置(即,端点O)之间发送和接收 数据期间执行此处理。在此处理中发送和接收的数据被称为建立数据(setup data)。用于发送和接收建立数据的逻辑传输路径被称为默认管道。因此,在USB主机的客户机SW和USB装置的Function之间发送和接 收的数据以及在USB主机的USB系统SW和USB逻辑装置之间发送和接收 的建立数据经由管道被逻辑传输,但是经由USB线缆被物理传输。由于USB 线缆的物理限制,当USB主机和USB装置在彼此大约5米内时,它们能够 彼此通信。因此,用户应仅使用临近主机的装置。发明内容本发明的方面提供一种在不受限于USB主机和USB装置之间的距离的 情况下,在通用串行总线(USB)主机和USB装置之间执行数据的发送和接收 的方法和设备。根据本发明的一方面,提供一种USB主机与USB装置通信的方法。该 方法包括:一 使用由USB系统软件输出的数据产生具有在除了 USB网络之外 的网络中使用的格式的包;以及将产生的包经由网络发送给USB装置。根据本发明的另一方面,数据可以是建立数据或由USB主机的客户机软 件发送给USB装置的Function的数据中的至少一个。根据本发明的另一方面,包可以是关于传输类型的信息、端点的地址、
关于传输方向的信息或装置地址中的至少 一个。根据本发明的另一方面,数据包括指示USB主机处于挂起状态的信息或 用于重置USB装置的信息中的至少一个。根据本发明的另一方面,网络可以是无线LAN、以太网和令牌环中的至 少一个。根据本发明的另一方面,提供一种计算机可读记录介质。计算机可读记 录介质在其上记录有用于执行上述通信方法的程序。根据本发明的另 一方面,提供一种USB主机与USB装置通信的方法。 该方法包括经由网络从USB装置接收在除了 USB网络之外的网络中使用 的包;从接收的包提取USB系统软件可识别的数据;以及将提取的数据发送 给USB系统软件。根据本发明的另一方面,提供一种与USB装置通信的USB主机。该USB 主机包括网络协议单元,经由除了 USB网络之外的网络将包发送给USB 装置并从USB装置接收包;和主机接口单元,使用由USB系统软件输出的 数据产生将由网络协议单元发送的包的净荷,从由网络协议单元接收的包的 净荷提取USB系统软件可识别的数据,并将提取的数据发送给USB系统软 件。根据本发明的另 一方面,数据是建立数据或者在USB主机的客户机软件 和USB装置的Function之间发送和接收的数据中的至少一个。根据本发明的另一方面,提供一种USB装置与USB主机通信的方法。 该方法包括:使用由USB逻辑装置输出的数据产生具有在除了 USB网络之 外的网络中使用的格式的包;和将该产生的包经由网络发送给USB主机。根据本发明的另一方面,提供一种USB装置与USB主机通信的方法。 该方法包括经由网络从USB主机接收在除了 USB网络之外的网络中使用 的包;从接收的包提取USB逻辑装置可识别的数据;和将提取的数据发送给 USB逻辑装置。根据本发明的另一方面,提供一种与USB主机通信的USB装置。该USB 装置包括网络协议单元,经由网络将包发送给USB主机并从USB主机接 收包;和主机接口单元,使用由USB逻辑装置输出的数据产生将由网络协议 单元发送的包的净荷,从由网络协议单元接收的包的净荷提取USB逻辑装置 可识别的数据,并将提取的数据发送给USB逻辑装置。
将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分 通过描述将是清楚的,或者可以经过本发明的实施而得知。


通过下面结合附图对实施例进行的描述,本发明的这些和/或其他方面和优点将会变得清楚和更易于理解,其中 图1是示出一般USB通信方法的框图;图2是根据本发明实施例的USB主机和USB装置的结构的框图;图3是根据本发明实施例的USB主机向USB装置发送数据的处理的流程图;图4是根据本发明实施例的USB主机从USB装置接收数据的处理的流程图;图5是本发明实施例的USB装置从USB主机接收数据的处理的流程图; 图6是本发明实施例的USB装置向USB主机发送数据的处理的流程图;和图7示出根据本发明实施例的在USB装置和USB主机之间传输的包的 结构。
具体实施方式
现将详细描述参照本发明的实施例,其示例在附图中表示,其中,相同 的标号始终表示相同的部件。以下通过参考附图描述实施例以解释本发明。图2是根据本发明实施例的通用串行总线(USB)主机250和USB装置280 的结构的框图。USB主机250和USB装置280不需要包括任何USB总线接 口 。代替地,USB主机250和USB装置280经由网络206(代替USB线缆) 相互通信。USB主机250包括主机接口单元203和网络协议单元205 。主机接口单 元203接收由USB主机250的客户机SW 201发送给USB装置280的Function 211的数据,接收由USB系统SW 202发送给USB装置280的USB逻辑装 置210的lt据(即,建立&据),并且产生网络包的净荷。通常,在USB系统中主机和装置之间进行数据发送和接收的USB通信 (USB traffic)包括特定信息。该信息被客户机SW 201、 USB系统SW 202、Function 211和逻辑装置210参照。该信息的例子包括关于传输类型的信息、端点的地址、关于传输方向的信息、装置的地址等。传输类型的例子包括成批类型(bulk type)、同步类型、中断类型和控制类型。传输方向的例子包括向内方向和向外方向。在USB规范中描述了细节,因此将省略详细描述。根据传统技术,当包括在主机中的主机控制器使用从USB系统软件接收的数据产生具有使用USB线缆发送的格式(下文中,链路层格式)的包时,其插入上述信息。然而,根据本发明实施例的USB主机250不需要包括任何主机控制器,因此主机接口单元203起到主机控制器的作用。由主机接口单元203产生的网络包的净荷包括关于传输类型的信息、端点的地址、关于传输方向的信息、装置的地址等。主机接口单元203还可起到根集线器(root hub)的作用。根集线器最初包括在主机控制器中,并且使用电信号将例如挂起信号或端口重置信号的信号发送给装置。挂起信号指示主机挂起。端口重置信号用于重置装置。USB主机250不需要任何主机控制器,因此不能使用电信号将挂起信号或端口重置信号发送给USB装置280。因此,主机接口单元203产生与挂起信号或端口重置信号相应的网络包的净荷。将由USB装置280的装置接口单元209解析包括此净荷的包。另外,主机接口单元203从自USB装置280接收的包的净荷提取USB系统软件202可识别的数据,并且将提取的数据发送给USB系统软件202。提取的数据是建立数据或在客户机软件210和Function 211之间发送和接收的凝:据中的至少一个。这里使用"至少一个"是包括的意义;因此,提取的数据可以是建立数据、在客户机软件201和Function 211之间发送/接收的数据、或者建立数据和发送/接收的数据两者。客户枳i软件201、 USB系统软件202、 Function 211和USB逻辑装置210与传统USB系统中的这些相同,因此不会解析网络的净荷格式。为此,主机接口单元203从包中提取必要数据,并且将提取的数据发送给USB系统软件202。 USB系统软件202按照与传统USB系统软件和主^W空制器通信相同的方式与主机接口单元203通信。除了关于传输类型的信息、端点的地址、关于传输方向的信息、装置的地址等之外,由主机接口 203从网络协议单元205接收的网络包的净荷还可包括指示USB主机250接收先前包成功或失败的信 台网络协议单元205使用由主机接口单元203产生的净荷产生将在网络 206中使用的包,并经由网络206将该包发送给USB装置280。网络206可 以是无线LAN、以太网、令牌环等中的至少一个。网络协议单元205根据网 络206的类型(例如互联网协议(IP)、网间包交换(IPX)协议或X.25协议)使用 合适的协议来发送包。USB装置280包括装置接口单元209和网络协议单元207。装置接口单 元209使用USB逻辑装置210发送给USB总线接口的数据产生将发送给网 络协议单元207的包的净荷,从由网络协议单元207接收的包的净荷提取可 由USB逻辑装置210识别的数据,并将提取的数据发送给逻辑装置210。与 主机接口单元203类似,在装置接口单元209和USB逻辑装置210之间发送 和接收的数据是建立数据、在客户机软件201和Function 211之间发送和接 收的数据或者与挂起信号或端口重置信号相应的数据中的至少一个。由装置接口单元209处理的网络包的净荷包括关于传输类型的信息、端 点的地址、关于传输方向的信息、装置的地址等。除了前述信息之外,将被 发送给USB主机250的包的净荷还可包括指示USB主才几250接收先前包成 功或失败的信息。网络协议单元207执行与USB主机250的网络协议单元205的功能相同 的功能。网络协议单元207使用由装置接口单元209产生的净荷产生网络包, 并且将该网络包经由网络206发送给USB主机250。另外,网络协议单元207 产生来自USB主机250的网络包,并将网络包的净荷发送给网络接口单元 209。主机接口单元203和装置接口单元209可以被实现为硬件或者软件。图 3是根据本发明实施例的USB主机250向USB装置280发送数据的处理的流 程图。尽管参照图2中显示的USB主机250和USB主机280描述了图3中 显示的处理,本发明的其他方面可使用主机和装置的任何排列采用图3中显 示的处理。在操作310,主机接口单元203接收由USB系统软件202输出的数据。 在传统USB系统中,该数据由主机控制器接收。USB主机250不需要具有任 何主机控制器,因此与主机控制器接收数据的传统USB系统不大相同,主机 接口单元203从USB系统软件202接收数据。由USB系统软件202发送给主机接口单元203的数据可以是在USB主 机250的USB系统软件202与USB装置250的USB逻辑装置210之间发送
和接收的数据,也就是,建立数据或者在USB类规范中定义的数据,即在 USB主机250的客户机软件和USB装置280的Function 211之间发送和接收 的数据。由USB系统软件202发送给主机接口单元203的数据还可以是指示 USB主机处于挂起状态的信息或者包括用于重置USB装置280的信息的数 据。在操作320,主机接口单元203使用从USB系统软件202接收的数据产 生将经由网络发送的包的净荷。净荷可包括关于传输类型的信息、端点的地 址、关于传输方向的信息、装置的地址等。在操作330, USB主机250的网络协议单元205产生具有在网络中使用 的格式的包。在操作340, USB主机250的网络协议单元205根据网络协议 将产生的包发送给USB装置。图4是根据本发明实施例的USB主机250从USB装置280接收数据的 处理的流程图。在操作410, USB主机250的网络协议单元205经由网络从 USB装置280接收包,并将接收的包的净荷发送给主积4妄口单元203。在操作420,主机接口单元203分析接收的包的净荷,并且从净荷提取 USB系统软件202可识别的数据。提取的数据可以是在USB主机250的USB 系统软件202与USB装置280的USB逻辑装置210之间发送和接收的数据, 也就是,建立数据、或者在USB类规范中定义的数据,即,在USB主机250 的客户机软件201与USB装置280的Function 211之间发送和接收的数据。除了关于传输类型的信息、端点的地址、关于传输方向的信息、装置的 地址等之外,接收的包的净荷还可包括指示发送给USB装置280的包的接收 成功或失败的信息。在操作430,主机接口单元203将提取的数据发送给USB 系统软件202。图5是根据本发明实施例的USB装置280从USB主机250接收数据的 处理的流程图。在操作510,包括在USB装置280中的网络协议单元207经 由网络从USB主机250接收包,并将该包的净荷发送给包括在USB装置280 中的装置接口单元209。在操作520,装置接口单元209分析该包的净荷,并且从净荷提取USB 逻辑装置210可识别的数据。在操作530,装置接口单元209将提取的数据 发送给USB逻辑装置280。图6是根据本发明实施例的USB装置280将数据发送给USB主机250
的处理的流程图。在操作610,装置接口单元209接收在传统USB系统中USB 逻辑装置210发送给USB总线接口的数据。USB装置280不需要包括任何 USB总线接口 ,因此与USB总线接口接收数据的传统USB系统不大相同, 装置接口单元209从USB逻辑装置210接收数据。在操作620,装置接口单元209使用接收的数据产生将被发送给USB主 机250的网络包的净荷。例如,净荷可包括关于传输类型的信息、端点的地 址、关于传输方向的信息、装置的地址或者指示USB装置280接收先前包成 功或失败的信息。在操作630, USB装置280的网络协议单元207产生具有在网络中使用 的格式的包。在操作640, USB装置280的网络协议单元207将产生的包经 由网络206发送给USB主才几250。图7示出才艮据本发明实施例的在USB装置280和USB主机250之间传 输的包的结构。假设将使用传输控制协议/互联网协议(TCP/IP)标准经由以太 网发送该包;然而,也可使用任何协议(例如,用户数据报协议(UDP))来发送 该包。包710的净荷720是USB通信包。净荷720包括头725和净荷728。 包710的净荷720具有可由USB主机的主机接口单元和USB装置的装置接 口单元处理的格式。在本实施例中,头725包括代表顺序号的字段、代表管 道信息的字段和代表净荷728的长度的字段。净荷728的控制请求字段存储 建立数据。净荷728的緩冲字段存储除了建立数据之外的数据。包710中的 信息的其他排列也是可能的。字段730(也就是,代表管道信息的字段)包括关于传输类型的信息731、 端点的地址732、关于传输方向的信息733、装置地址734和指示包的接收成 功或失败的状态信息735。根据本发明的方面,USB装置甚至可以在没有USB线缆的情况下经由 网络连接到USB主机,因此USB装置不受USB主机和USB装置之间的距 离限制的影响。而且,USB主机可在不对传统USB系统的客户机软件和USB 系统软件进行任何改变的情况下使用传统USB系统的客户机软件和USB系 统软件,并且USB装置可以在不对传统USB系统的Function或USB逻辑装 置进行任何改变的情况下使用传统USB系统的Function或USB逻辑装置。根据本发明方面的USB通信技术可被记录在包括执行由计算机实现的 各种操作的程序指令的计算机可读介质中。介质也可单独包括程序指令、数 据文件、数据结构等或者它们的组合。计算机可读介质的例子包括磁介质(例 如硬盘、软盘和^兹带);光介质(例如CD和DVD);磁光介质(例如光盘);以 及特别配置来存储和执行程序指令的硬件装置(例如只读存储器(ROM)、随机 存取存储器(RAM)、闪存等);和在载波中实现的计算机数据信号,包括压缩 源代码段和加密源代码段(例如通过互联网的传输)。计算机可读记录介质也可 分布在网络结合的计算机系统中,从而以分布方式存储或执行计算机可读代 码。程序指令的例子包括例如由编译器产生的机器码以及包含可由计算机使 用翻译程序执行的高级代码的文件。描述的硬件装置可被配置来用作一个或 多个软件模块,以执行本发明上述实施例的操作。尽管已经显示和描述了本发明的一些实施例,但是本领域的技术人员应 该理解,在不脱离由权利要求及其等同物限定本发明范围的本发明的原理和 精神的情况下,可以对实施例进行改变。
权利要求
1、一种USB主机与USB装置通信的方法,该方法包括使用由USB系统软件输出的数据产生具有在除了USB网络的网络中使用的格式的包;和将产生的包经由网络发送给USB装置。
2、 如权利要求l所述的方法,其中,数据是建立数据或由USB主机的 客户机软件发送给USB装置的Function的数据中的至少 一个。
3、 如权利要求l所述的方法,其中,包包括关于传输类型的信息、端点 的地址、关于传输方向的信息或装置地址中的至少 一个。
4、 如权利要求l所述的方法,其中,数据包括指示USB主机处于挂起 状态的信息或用于重置USB装置的信息中的至少一个。
5、 如权利要求l所述的方法,其中,网络是无线LAN、以太网和令牌 环中的至少一个。
6、 一种记录有执行权利要求1的方法的程序的计算机可读记录介质。
7、 一种USB主机与USB装置通信的方法,该方法包括 经由网络从USB装置接收在除了 USB网络之外的网络中使用的包; 从接收的包提取USB系统软件可识别的数据;和 将提取的数据发送给USB系统软件。
8、 如权利要求7所述的方法,其中,数据是建立邀:据或由USB装置的 Function发送给USB主机的客户机软件的数据中的至少 一个。
9、 如权利要求7所述的方法,其中,包包括关于传输类型的信息、端点 的地址、关于传输方向的信息、装置地址或指示由USB装置接收包成功或失 败的信息中的至少一个。
10、 如权利要求7所述的方法,其中,网络是无线LAN、以太网和令牌 环中的至少一个。
11、 一种记录有执行权利要求7的方法的程序的计算机可读记录介质。
12、 一种与USB装置通信的USB主机,该USB主机包括网络协议单元,经由除了 USB网络之外的网络将包发送给USB装置和 从USB装置接收包;和主机接口单元,使用由USB系统软件输出的数据产生将被网络协议单元 发送给USB装置的包的净荷,从由网络协议单元接收的包的净荷提取USB 系统软件可识别的数据,并将提取的数据发送给USB系统软件。
13、 如权利要求12所述的USB主机,其中,数据是建立数据、或者在 USB主机的客户机软件和USB装置的Function之间发送和接收的数据中的至 少一个。
14、 如权利要求12所述的USB主机,其中,包包括关于传输类型的信 息、端点的地址、关于传输方向的信息、装置地址或指示由USB装置接收包 成功或失败的信息中的至少一个。
15、 如权利要求12所述的USB主机,其中,数据包括指示USB主机处 于挂起状态的信息或用于重置USB装置的信息中的至少一个。
16、 如权利要求12所述的USB主机,其中,网络是无线LAN、以太网 和令牌环中的至少 一个。
17、 一种USB装置与USB主机通信的方法,该方法包括使用由USB逻辑装置输出的数据产生具有在除了 USB网络之外的网络 中的格式使用的包;和将该产生的包经由网络发送给USB主机。
18、 如权利要求17所述的方法,其中,数据是建立数据、或者由USB 装置的Function发送给USB主机的客户机软件的数据中的至少一个。
19、 如权利要求17所述的方法,其中,包包括关于传输类型的信息、端 点的地址、关于传输方向的信息、装置地址或指示由USB装置接收包成功或 失败的信息中的至少一个。
20、 如权利要求17所述的方法,其中,网络是无线LAN、以太网和令 牌环中的至少一个。
21、 一种记录有执行权利要求17的方法的程序的计算机可读记录介质。
22、 一种USB装置与USB主机通信的方法,该方法包括 经由网络从USB主机接收在除了 USB网络之外的网络中使用的包; 从接收的包提取USB逻辑装置可识别的数据;和 将提取的数据发送给USB逻辑装置。
23、 如权利要求22所述的方法,其中,数据是建立数据、或者由USB 主机的客户机软件发送给USB装置的Function的数据中的至少一个。
24、 如权利要求22所述的方法,其中,包包括关于传输类型的信息、端3点的地址、关于传输方向的信息、或装置地址中的至少一个。
25、 如权利要求22所述的方法,其中,数据包括指示USB主机处于挂 起状态的信息或用于重置USB装置的信息中的至少一个。
26、 如权利要求22所述的方法,其中,网络是无线LAN、以太网和令 牌环中的至少一个。
27、 一种记录有执行权利要求22的方法的程序的计算机可读记录介质。
28、 一种与USB主机通信的USB装置,该USB装置包括网络协议单元,经由除了 USB网络之外的网络将包发送给USB主机和 从USB主才几接收包;和主机接口单元,使用由USB逻辑装置输出的数据产生将由网络协议单元 发送的包的净荷,从由网络协议单元接收的包的净荷提取USB逻辑装置可识 别的数据,并将提取的数据经由网络协议装置发送给USB逻辑装置。
全文摘要
一种在通用串行总线(USB)主机和USB装置之间连接的方法。USB主机和USB装置包括根据网络协议而不是USB总线接口处理包的模块。因此,USB装置可甚至在没有USB线缆的情况下连接到USB主机,所以不会受到USB主机和USB装置之间的距离的影响。
文档编号H04L29/06GK101212480SQ20071016304
公开日2008年7月2日 申请日期2007年9月29日 优先权日2006年12月27日
发明者孔志英, 芮敬旭, 蔡钟宇, 金亨硕, 金廷昱, 金玟秀 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1