在无线个人区域网络上传送usb事务处理的装置和方法

文档序号:7592374阅读:270来源:国知局
专利名称:在无线个人区域网络上传送usb事务处理的装置和方法
技术领域
本发明通常涉及一种用于将有线通用串行总线技术和应用程序应用到无线个人区域网络域的装置和方法,更特别地,本发明涉及一种用于通过将新的装置增加到通用串行总线协议栈来允许在通用串行总线主机和通用串行总线设备之间进行无线通信的装置和方法。
背景技术
随着数字时代的传播和发展,数字产品正在变得更加流行。例如,很多数字产品,诸如数字通用盘(DVD)播放机、有线电视机顶盒(STB)、数字视频盒收录机(DVCR)、数字电视(DTV)和个人计算机(PC)正在被连接到单一网络上。特别地,以有线的方式将很多通用串行总线(USB)设备连接到USB主机上。随着无线技术的发展,已经尝试着以不是以有线的方式而是以无线的方式来将这些设备彼此连接在一起。
传统上,如图1中所示,当将新的USB设备连接到USB主机的一部分时,USB主机通过使用在USB的物理层(PHY)中包括的根集线器功能来检测新的USB设备的连接,以及自动地检测和装载与新的USB设备相对应的USB类驱动程序。结果是,USB应用程序建立用来和USB设备功能进行通信的信道。此时,在较低的层中,执行下列四种事务处理。通过这些事务处理,USB应用程序能够通过将命令传送到USB设备功能来执行设备的功能。
第一事务处理是控制传送。这个控制传送是突发性的和非周期性的,以及使用软件起始的主机请求/响应通信。这个方法用于命令/状态操作。
第二事务处理是同步传送。这个同步传送是周期性的,和在主机和设备之间进行连续的通信。这个方法是在数据必须以与原始数据流(例如,视频流)的速度接近相同的速度传送的情况下所需要的方法。这个同步传送方法区别于一种适用于独立地继续进行直到非独立的处理中止其它处理为止的处理的异步传送方法以及一种在其继续进行之前必须等待另一个处理的事件的终止的同步传送方法。
第三事务处理是中断传送。这个中断传送使用低频,和进行有界延迟(bounded-latency)通信。
第四事务处理是成批(bulk)传送。这个成批传送是非周期性的。该成批传送是一种数据传送方法,在该数据传送方法中,当整个带宽有效时,则使用整个带宽,而当整个带宽无效时,则延迟数据传送,直到整个带宽变得有效为止。

发明内容
因此,已经考虑了在现有技术中发生的上述问题而做出了本发明,以及本发明的一个目标是提供一种用于无线地传送现有的有线USB的事务处理的装置和方法。
本发明的另一个目标是提供一种用于在USB主机和USB设备彼此之间无线地进行通信的情况下根据事务处理方法来分配合适的信道时间的方法。
为了实现上述的目标,本发明提供一种用于在无线个人区域网(PAN)上传送USB的装置,包括USB设备发现模块,用于从无线PAN上的设备中发现USB设备;USB设备目录存储模块,用于存储所发现的设备的信息;以及端点带宽分配模块,用于根据能从已发现的设备的信息中发现的事务处理的类型来分配合适的信道时间。
为了实现上述的目标,本发明提供一种用于在无线PAN上传送USB的方法,该方法包括如下步骤读取相关联的USB设备的设备描述符;通过使用设备描述符来探知(ascertainment)端点的事务处理的类型;以及根据探知的结果来确定信道时间和在信道时间期间传送数据。另外,本发明包括一种用于记录使计算机提供上述方法的计算机程序代码的计算机可读记录介质。


从下面结合附图的详细描述中,将更加清楚地理解本发明的上述和其它目标、特征和其它优点,其中图1是有线USB协议栈的图;图2是无线USB协议栈的图;图3是显示根据本发明的USB帧转换子层(FCSL)的结构的图;图4是显示在USB主机和USB设备之间的无线通信处理的图;
图5是显示发现USB设备的流程图;图6是显示在高于USB FCSL的层上进行的处理的流程图;图7是显示分配信道时间和传送数据的步骤的流程图;图8是显示USB设备描述符的表;以及图9是显示USB端点描述符的表。
具体实施例方式
现在应该来参照附图,其中在不同的附图中全文使用的相同标号用来指定相同的或者相似的部件。
其后,参照附图来描述本发明的实施例。
图2是显示根据本发明的无线USB主机的协议栈的图。本发明保持图1中所示的有线USB主机的协议栈的基本结构,但是却不同于有线的USB主机的协议栈的基本结构,这是因为用于媒体存取控制(media access control)的媒体存取控制(MAC)层被插入在USB主控制器层240和物理层270之间和USB帧转换子层(FCSL)250被设置在USB主控制器层240和MAC层260之间。本发明通过设置在基本无线局域网(LAN)中所使用的类型的MAC层260和在本发明中所推荐的USB FCSL 250来使能在无线设备之间的可兼容的通信,以及允许无线地传送现有的有线USB的事务处理。
图3是显示根据本发明的USB FCSL的结构的图。正如在这个图中所说明的,USB FCSL包括USB设备发现模块340,用于从PAN上的设备中发现USB设备;封装模块320,用于将USB报文封装成无线PAN上的MAC报文;端点带宽分配模块350,用于根据能够从已发现的设备的信息中发现的事务处理的类型来请求来自微微网协调器(PNC)的合适的信道时间,以及分配该合适的信道时间;去封装模块310,用于将已接收的MAC报文去封装成USB报文;以及USB设备目录存储模块330,用于存储所发现的设备的信息。
USB设备发现模块340请求现有的关联设备的信息或者新近关联的设备的设备描述符,并且如果存在对该请求的响应,则利用USB设备目录来注册对应的节点。其后,USB设备发现模块340将新的USB设备的存在通知给较高的USB主控制器。这个处理被称为发现处理。同时,通过MAC子层管理实体SAP(MLME SAP)的MLME-DEV-ASSOCIATION来获得关于新近关联的或者解离(dissociated)的设备的事实的信息。在发生关联的情况中,执行上述的发现处理。相反,在发生解离(dissociation)的情况中,从USB设备目录中移去对应的设备的条目并且将该设备的分离(detachment)通知给较高层。
封装模块320起将每一个事务处理的报文封装成MAC报文的作用。也就是说,封装模块320在进行控制传送、同步传送、中断传送和成批传送之前将从USB主控制器层240所传送的每一个事务处理报文封装成MAC报文,以及传送该已封装的MAC报文。
在同步传送中,在高带宽同步传送的情况中将在超速率(super-rate)上的同步信道时间分配给端点带宽分配模块350,而在非高带宽同步传送的情况中将一般的同步信道时间分配给端点带宽分配模块350。在中断事务处理的情况中,分配在子速率上的同步信道时间,以及控制事务处理的情况中,分配用于多播或者广播的同步信道时间。另外,在成批事务处理的情况中,分配异步信道时间。
去封装模块310起对从MAC SAP所接收的数据进行去封装并且将去封装的数据传送到较高的USB主控制器的作用。
设备目录存储模块330存储关于无线的USB设备的信息。这个信息包括USB设备地址、流索引、端点地址、bmattributes、和wMaxPacketSize。USB设备地址引用(refer to)设备的物理地址,诸如MAC地址。端点地址引用接收事务处理的设备的部分地址。流索引(stream index)引用由PNC响应于USB主机的请求所分配的信道时间的唯一数目。Bmattributes是用于表示在图9中所示的USB端点描述符中的端点的属性值的域。利用bmattributes的值来表示诸如控制传送、同步传送、中断传送或成批传送的传送类型。wMaxPacketSize是用于表示能够由端点传送和接收的报文的最大尺寸的域。
图4是说明在USB主机和USB设备之间的无线通信的整个流程的图。将该流程划分成在USB主机的USB FCSL中执行的处理和在高于USB FCSL的层中执行的处理,并且基于这两个处理来描述该流程。参照图5详细地描述前者的处理,而参照图6详细地描述后者的处理。
图5是显示发现USB设备的处理的流程图。
当本发明的USB主控制器是与PNC相关联的时,则在步骤S510中USB主控制器被分配用于多播或广播的信道时间,以便发现USB设备。通过端点带宽分配模块(参见图3中的350)来执行这个步骤。在步骤S520中,PNC获得先前关联的设备或者新近关联的设备的信息,并且请求来自该设备的设备描述符。如果存在对该请求的响应,则在步骤S530和步骤S540中将对应的节点注册在USB设备目录中。在这种情况中,如果在步骤S550中需要,则可以检查bmattributes(参见图9)和可以额外地信道时间。bmattributes的值是用于端点的报文的最大尺寸,并且其可能具有8、16、32或64来作为值。其后,在步骤S560中,将新的USB设备的存在通知给较高的USB主控制器(参见图3中的240)。
图6是显示在高于USB FCSL的层中进行的处理的流程图。
在步骤S610中,USB主层通过执行控制事务处理来读取设备描述符,以便获得关于新设备的信息。在这种情况中,将每一个事务处理报文封装成MAC报文。在如此的控制事务处理的时候,目标设备的地址是缺省地址和利用了用于多播或广播的信道时间分配。另外,从存储在USB设备目录存储模块(参见图3中的330)中的USB设备目录中选择没有分配USB设备地址的设备的MAC地址,并且通过MAC同步数据业务接入点(MAC ISOCH DATASAP)来将其传送到较高层。
其后,在步骤S620中,分配USB设备地址以及将所分配的USB设备地址的信息存储在USB设备目录存储模块中。在步骤S630中,为USB设备选择配置。如果通过这个选择来确定端点,则确定了与该端点相对应的传送方法和所需要的带宽。也将这个信息存储在USB设备目录存储模块中。
其后,在步骤S640中,通过使用关于设备或接口描述符的类、子类、协议和销售商ID(vendor)来装载对应的USB类驱动程序。在如上述装载类驱动程序时,可以分配事务处理所需的带宽。但是,在本实施例中,为了有效地利用无线通信介质,当存在来自应用程序的请求时,才分配事务处理所需的带宽。
在步骤S650中,响应于应用程序的请求,类驱动程序产生用于对应的端点的事务处理。这个端点访问接收事务处理的设备的一部分。在单一设备中可以存在多个端点。
通过主控制器将如此的事务处理传送到USB FCSL。在步骤S660中,USB FCSL检查目标设备的地址和端点的地址,读取在USB设备目录存储模块(参见图3中的330)中所存储的USB设备目录,发现MAC地址和对应的信道时间分配(CTA),以及在对应的信道时间传送数据。结合图7来描述传送数据的步骤的细节。
其后,新的USB设备可以被关联或者先前相关联的设备可以被分离(dissociated),这是能通过MLME SAP的MLME-DEV-ASSOCIATION所了解的。在关联的情况中,发现模块(参见图3中的340)开始发现处理。如果分离发生,则从USB设备目录中移去对应的设备的条目以及将设备的分离通知给较高层。
图7是显示分配信道时间和传送数据的步骤的细节的流程图。如果从USB端点描述符中能了解的端点支持控制、同步和中断事务处理,则将对应的端点的初始值设置为“Unassigned StreamIndex”。由于还没有分配信道时间,所以从PNC通过端点带宽分配模块来分配信道时间,以及通过MAC ISODATA SAP来传送数据。此时,没有使用Ack策略。在这种情况中,StreamIndex指的是响应于USB主机的请求从PNC分配的信道时间的唯一数目。
如果在USB设备目录中存在先前分配的StreamIndex,则通过使用与先前分配的信道时间相对应的信道时间来发送数据。在成批事务处理的情况中,StreamIndex的值总是为0,这是因为成批事务处理使用异步信道时间分配,以及通过使用MAC异步数据业务接入点(MAC ASYNC DATA SAP)来发送数据。
参照图7,描述用于所有的事务处理的发送方法。
在步骤S710中的同步事务处理的情况中,端点带宽分配模块(参见图3中的350)确定在步骤S720中是否需要高带宽。如果在步骤S720中需要高带宽,则以超速率(super-rate)分配同步信道时间,和在步骤S730中在对应的信道时间期间传送数据。在这种情况中,能够通过图9的wMaxPacketSize的比特12和11来确定超速率(super-rate)。通过信道分配方法来进行在超速率(super-rate)上的信道时间的分配,在所述信道分配方法中,将与超速率相对应的数目的信道次数分配在单一超帧中,因此,信道时间在重复的超帧之间周期性地发生。
如果在步骤S720中不需要高带宽,则在步骤S740中,分配一般的同步信道时间,以及在对应的信道时间期间传送数据。因此,将单一信道时间分配在单一超帧中,以及信道时间在重复的超帧之间周期性地发生。
在步骤S750中的中断事务处理的情况中,在步骤S760中,分配在超速率(super-rate)上的同步信道时间和在对应的信道时间期间传送数据。此时,子速率能通过图9的bInterval来察觉(perceive)子速率间隔。通过信道分配方法来进行在子速率(sub-rate)上的信道时间的分配,在所述信道分配方法中,在将信道时间分配在单一超帧中之后,在每一个与子速率间隔相对应的超帧之后重复地分配同样的信道时间。
在步骤S770中的控制事务处理的情况中,在步骤S780中,分配用于多播或广播的同步信道时间和在对应的信道时间期间传送数据。
在步骤S790中的成批事务处理的情况中,在步骤S799中,分配用于多播或广播的异步信道时间和在对应的信道时间期间传送数据。通过没有周期性特征的信道分配方法来进行异步信道时间的分配,该没有周期性特征的信道分配方法不同于上述的事务处理的信道分配方法。在这种方法中,如果在无争用周期(CFP)中没有存在有效的信道时间,则数据不得不等待下一个帧,其中所述无争用周期(CFP)为分配了信道时间的超帧的一部分。相反,如果存在有效的信道时间,则通过使用信道时间来传送数据。
根据本发明,在无线PAN网络中允许使用在现有的有线通信网络中广泛使用的和很好地定义的软件和USB设备,这能消除有线通信的不方便性和提供了一种更加容易地开发无线PAN应用程序软件的环境。
此外,本发明是与没有使用USB设备的现有的无线PAN应用程序软件相互兼容的。另外,本发明包括用于记录用来使计算机提供上述方法的计算机程序代码的计算机可读记录介质。
虽然已经为了说明性的目的而公开了本发明的优选实施例,但是本领域的技术人员将理解,在没有脱离如所附的权利要求所公开的本发明的范围和精神的情况下,各种变更、增加和替换是可能的。
权利要求
1.一种用于在无线个人区域网络(PAN)上传送通用串行总线(USB)的事务处理的装置,包括USB设备发现模块,被配置来从无线PAN上的设备中发现USB设备;USB设备目录存储模块,被配置来存储所发现的USB设备的信息;以及端点带宽分配模块,被配置来根据从所发现的设备的信息中确定的事务处理的类型来分配合适的信道时间。
2.根据权利要求1所述的装置,还包括封装模块,被配置来将USB报文封装成媒体存取控制(MAC)报文,以便将数据传送到所发现的USB设备;以及去封装模块,被配置来将从所发现的USB设备所接收的MAC报文去封装成USB报文。
3.一种无线微微网系统,还包括微微网协调器(PNC),用于从通用串行总线(USB)主机接收用于信道时间分配的请求和分配合适的信道时间;以及USB主机,被配置来从无线个人区域网络(PAN)上的设备中发现USB设备和根据能从来自PAN的已发现的设备的信息中所发现的事务处理的类型而被分配合适的信道时间;其中在所分配的合适的信道时间期间,USB设备根据事务处理的类型将数据传送到USB主机或从USB主机接收数据。
4.一种用于在无线个人区域网络(PAN)上传送通用串行总线(USB)的事务处理的方法,包括如下步骤读取相关联的USB设备的设备描述符;通过使用所述设备描述符来探知端点的事务处理的类型;以及根据探知的结果来确定信道时间和在所述信道时间期间传送数据。
5.根据权利要求4所述的方法,还包括在读取设备描述符的步骤之前发现相关联的USB设备的步骤。
6.根据权利要求5所述的方法,其中发现相关联的USB设备的步骤包括从微微网协调器(PNC)分配用于多播或广播的信道时间;从先前相关联的或者新近相关联的USB设备中请求设备描述符;将对所述请求作出响应的先前相关联的或者新近相关联的USB设备中的一个注册在USB设备目录中;以及将新近相关联的USB设备的存在通知给较高的USB主控制器。
7.根据权利要求4所述的方法,还包括通过使用设备描述符来检查端点的报文的最大尺寸和如果需要的话则分配额外的信道时间的步骤。
8.根据权利要求4所述的方法,还包括在读取设备描述符的步骤和探知事务处理的类型的步骤之间的下列步骤通过使用设备描述符的信息来装载对应的相关联的USB类驱动程序;分配USB设备的地址和将所分配的地址的信息存储在USB设备目录存储模块中;以及选择用于相关联的USB设备的配置。
9.根据权利要求8所述的方法,还包括如下步骤在装载USB类驱动程序的步骤之后,响应于应用程序的请求,由类驱动程序产生用于对应的端点的事务处理。
10.根据权利要求4所述的方法,还包括,如果端点支持同步事务处理如果需要高带宽则分配超速率处的同步信道时间和在对应的信道时间期间传送数据;以及如果不需要高带宽则分配通常的同步信道时间和在对应的信道时间期间传送数据。
11.根据权利要求4所述的方法,其中,如果端点支持中断事务处理,则分配低速率处的同步信道时间和在对应的信道时间期间传送数据。
12.根据权利要求4所述的方法,其中,如果端点支持控制事务处理,则分配用于多播或广播的同步信道时间和在对应的信道时间期间传送数据。
13.根据权利要求4所述的方法,其中,如果端点支持成批事务处理,则分配异步信道时间和在对应的信道时间期间传送数据。
14.一种用于记录计算机程序代码的计算机可读记录介质,所述计算机程序代码用于使计算机提供在无线个人区域网络(PAN)上传送通用串行总线(USB)的事务处理的服务,所述服务包括如下步骤读取相关联的USB设备的设备描述符;通过使用所述设备描述符来探知端点的事务处理的类型;以及根据探知的结果来确定信道时间和在所述信道时间期间传送数据。
全文摘要
本发明公开了一种用于在无线个人区域网络(PAN)上传送通用串行总线(USB)的装置和方法。所述装置包括USB设备发现模块、USB设备目录存储模块、以及端点带宽分配模块。USB设备发现模块从无线PAN上的设备中发现USB设备。USB设备目录存储模块存储所发现的设备的信息。根据能从所发现的设备的信息中发现的事务处理的类型来将合适的信道时间分配给端点带宽分配模块。
文档编号H04L12/56GK1574760SQ20041004215
公开日2005年2月2日 申请日期2004年5月8日 优先权日2003年6月3日
发明者安哲弘 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1