用于外围设备的游戏控制台无线协议的制作方法

文档序号:7637401阅读:224来源:国知局

专利名称::用于外围设备的游戏控制台无线协议的制作方法
技术领域
:本发明一般涉及游戏和多媒体设备领域。特别地,本发明是针对一种用于在游戏设备与无线外围配件之间进行数据和语音信息的通信的无线协议。
背景技术
:在游戏系统中为了减少成串通过房间地板的电缆布线,因而对无线控制器存在极大的需求。现有的无线控制器价格昂贵,而且由于干扰的原因无法总是为游戏设备提供健壮的连接。延迟对于游戏玩家来说是另一个重要的因素,因为希望无线控制器像有线控制器一样进行响应。另外,未来的游戏控制台中可能有无线链路必须支持的特征。提供一种能使得多个无线设备同时与游戏设备进行通信、同时还提供具有最短延迟的纠错和检错的协议能使得符合上述制约因素的无线游戏控制器的开发大大得益。所述协议应该还能立即支持新出现的新设备和功能。因此,就有需要开发一种可以克服现有技术中的这些及其它限制的系统。同时也需要一种更加经济和有效的系统。而本发明提供了这样一种解决方案。发明概要本发明是针对使用无线协议在游戏控制台与无线配件之间进行语音和数据通信的方法,其中主机与无线配件基于时帧进行发送和接收。所述方法包括在上行子帧内将上行数据分组从无线配件传送到主机;在下行链路子帧内将至少下行语音分组和下行数据分组其中之一从主机传送到无线配件;并在重发子帧内传送上行链路重发分组和下行链路重发分组。语音数据和无线配件数据通过无线协议同时进行通信。根据本发明的一个特征,上行数据分组包括第一上行数据子分组和第一上行语音子分组。该方法进一步包括分配第一时隙给第一上行数据子分组和第一上行语音子分组,并分配后续时隙给包含后续数据子分组和后续上行语5音子分组的后续的上行数据分组。第一无线配件能在第一上行数据子分组内传送无线配件数据,而第二语音启用(voice-enabled)设备能在第一上行语音子分组内传送语音数据。根据另一个特征,上行和下行语音及数据分组各自包含射频设置字段、前导字段、同步字段、头部字段、数据字段和纠错字段。所述语音数据能在下行语音分组内被传递到多个语音启用设备。另外,多个下行语音分组能在下行链路子帧内进行通信。根据又一个特征,游戏控制台能够将下行数据分组广播到多个无线配件。所述下行数据分组可包含预定的数据子字段,所述这些数据子字段含有用于多个无线配件中的每一个的数据。所述方法还包括仅当下行链路子帧内没有接收到来自游戏控制台的确认时,从无线配件发射上行链路重发分组。同样,下行链路重发分组可以被重新广播到多个无线配件。根据本发明的另一个特征,每个分组都能够在跳频扩频系统内的无线协议中以和时分多址(TDMA)时隙相关的不同频率被发送。本发明的其它特征和优势通过下面结合附图对具体实施例的详细描述而变得更加明显。附图简要说明前面的概述,以及下面对于优选实施例的详细说明在与附图一同阅读时能更好地被理解。为了说明本发明,在附图中示出了本发明的示例结构;然而,本发明并不限于这里所揭示的特定方法和设备。在附图中图1是示出了可实施本发明的各方面的游戏控制台的框图;图2示出了图1的控制台和无线电子系统;图3示出了根据本发明的协议的整体框架;图4示出了图3的协议在时域内的帧结构;图5示出了用于数据和语音分组的格式;图6示出了上行数据分组;图7示出了下行链路数据分组;图8示出了下行链路语音分组;以及6图9和图IO示出了上行链路重发分组。示例实施例的详细描述图1示出了可实现本发明的某些方面的多媒体控制台ioo的功能性组件。所述多媒体控制台IOO具有中央处理单元(CPU)101,其具有一级高速缓存102、二级高速缓存104和闪存ROM(只读存储器)106。一级高速缓存102和二级高速缓存104临时地存储数据并因此减少存储器存取周期的数目,从而提高处理速度和吞吐量。CPU101可具有一个以上的内核,以及相应的额外的一级高速缓存102和二级高速缓存104。闪存ROM106能存储可执行码,所述可执行码在多媒体控制台100电源打开时的引导进程的初始阶段被载入。图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理管线。数据通过总线从图形处理单元108输送到视频编码器/视频编解码器114。该视频处理管线输出数据到A/V(音频/视频)端口140以供向电视机或者其他显示器传输。存储器控制器110与GPU108连接以促进处理器存取各种类型的存储器112,例如但不限于RAM(随机存取存储器)。多媒体控制台100包含I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB主控制器126、第二USB主控制器128和前面板I/O子配件130,它们优选地在一模块118上实现。USB控制器126,128用作外围控制器142(1)-142(2)、无线适配器148和外部存储器设备146(例如闪存、外部CD/DVDROM设备、可移动介质等)的主机。网络接口124和/或无线适配器148提供对于网络(例如因特网、家庭网络等)的接入并且可以是包括以太网卡、调制解调器、蓝牙模块、线缆调制解调器等的各种各样不同的有线或无线适配器组件中的任何一种。系统存储器143用于存储应用程序数据,所述应用程序数据在引导进程被载入。媒体驱动器144被提供并可包含DVD/CD驱动器、硬盘驱动器或其他可移动介质驱动器等。所述媒体驱动器144对于多媒体控制台100可内置或外置。应用程序数据可通过媒体驱动器144存取,以供多媒体控制台100来执行、回放等。媒体驱动器144通过总线,例如串行ATA总线或其它高速连接(例如:IEEE1394)连接到1/0控制器120。系统管理控制器122提供与确保多媒体控制台100的可用性有关的各种服务功能。音频处理单元123和音频编解码器132形成相应的具有高保真度和立体声处理的音频处理管线。音频数据在音频处理单元123与音频编解码器132之间通过一通信链路传送。所述音频处理管线输出数据到A/V端口以供外置音频播放器或具有音频功能的设备再现。前面板I/O子配件130支持电源按钮130和弹出按钮152的功能,还支持任何LED(发光二极管)或其它曝露在多媒体控制台IOO的外表面上的指示器的功能。系统电源模块136为多媒体控制台100的各组件提供电源。风扇138冷却多媒体控制台100内的电路系统。CPU101、GPU108、存储器控制器110和各种其它在多媒体控制台100内的组件通过一或多个总线互相连接,所述总线包括串行和并行总线、存储器总线、外围总线和使用任何一种总线架构的处理器或局域总线。作为例子,这样的架构可包括外围组件互连(PCI)总线、PCI-特快(PCI-Express)总线等。当打开多媒体控制台100的电源时,应用程序数据能从系统存储器143中被载入到存储器112和/或高速缓存102,104中并在CPU101上被执行。当导航到多媒体控制台100上可用的不同媒体类型时,应用程序可呈现一提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144内所包含的应用程序和/或其它媒体可从媒体驱动器144被运行或播放从而对媒体控制台IOO提供额外的功能。多媒体控制台100能通过直接连接到电视机或其它显示器而被当作一个独立的系统进行操作。在这一独立的模式内,多媒体控制器100允许一或多个用户与系统互动,看电影或听音乐。然而,随着通过网络接口124或无线适配器148使得宽带连接的集成变得可能,多媒体控制台100能进一步被当作在一更大网络社区中的参与者来进行操作。当多媒体控制台100的电源打开时,设定量的硬件资源被储备供多媒体控制台操作系统进行系统使用。这些资源可包含储备的存储器(例如16MB)、CPU和GPU周期(例如5%)、网络带宽(例如8kbs)等。因为这些资85/10页源是在系统引导的时间被储备的,因此这些储备资源从应用程序的角度来看是不存在的。特别地,存储器储备最好是大到足以包含运行内核、并发系统应用程序和驱动程序。CPU储备最好是恒定的,以使得如果储备CPU利用率没有被系统应用程序所使用那么一空转线程将消耗任何没有被使用的周期。对于GPU储备,由系统应用程序所产生的轻量级信息(例如弹出菜单)通过使用GPU中断调度编码以使得弹出菜单被绘制成覆盖图(overlay)来显示该弹出菜单。覆盖图所需的存储空间的量取决于覆盖图面积的尺寸,并且覆盖图优选地根据屏幕分辨率来缩放比例。当并发系统应用程序使用全用户接口时,优选使用独立于应用程序分辨率的分辨率。可使用縮放器来设置这一分辨率,由此来消除改变频率和进行电视重同步的需要。在多媒体控制台100引导并且系统资源被储备之后,并发系统应用程序执行以提供系统功能。所述系统功能被封装在一组系统应用程序中,所述的系统应用程序在上述所储备的系统资源内被执行。所述操作系统内核识别线程是系统应用线程还是游戏应用线程。系统应用程序优选被调度为在预定时间和间隔在CPU101上运行从而对于应用程序提供一致的系统资源视像。所述调度是为了使运行在控制台上的游戏应用程序的高速缓存扰乱最小化。当一并发系统应用程序请求音频的时候,由于时间敏感性的原因,音频处理与游戏应用程序异步地调度。当系统应用程序处于活动状态时,多媒体控制台应用程序管理器(如下所述)控制游戏应用程序的音量(例如静音,减弱)。输入设备(例如控制器142(1)和142(2))被游戏应用程序和系统应用程序所共享。输入设备不是储备资源但是要在系统应用程序与游戏应用程序之间切换,以使得各自对于该设备获得该设备的焦点。应用程序管理器优选地在不知道游戏应用程序的知识的情况下控制输入流的切换,并且一驱动器维持关于焦点切换的状态信息。参考图2,控制器100可被配置为具有两个不同的无线电子系统。第一无线系统是一在网络接口124内的802.1lb/g标准兼容模块(WiFi),其用于通过接入点156连接无线家庭网络。这可用于代替标准以太网连接,从而增加9接入因特网或远程电脑的无线连网能力。第二个是无线适配器148内的跳频扩频(FHSS)低发射功率系统,其工作于工业、科学和医药设备(ISM)2.4GHz频带内。无线适配器148提供各种外围设备和能用于操作游戏的设备(例如无线配件154)的无线连接。无线协议的示例性实施例参考图3和图4,其示出了本发明协议的框架。图3示出该协议的整体框架。协议200是一TDMA系统,通过该系统,主机(例如控制台100)和设备(例如配件154)基于一被示为T^me的固定时间间隔在发送和接收之间切换。如下所述,协议200能够使多达8个配件(4个数据和4个语音)与控制台IOO同时通信。另外,协议200提供纠错和跳频技术使用的组合,以提供具有最小延迟的健壮的通信。协议200被划分成3个子帧,上行数据分组202-208、下行数据分组210-214以及重发分组216-218。其中每一个都将在下文中进行详细描述。参考图4,图中示出协议200在时域中的帧结构。在每个帧内,有9个时隙,其中对每个时隙的频率分配显示在以下表1中。在该表中,n表示在FHSS序列中当前帧的条目,而F(n)是映射到这个条目n的信道并且因此即为被选中用于这个帧的信道。F(n+l)+20表示离信道F(n+1)20个信道远的一信道。<table>tableseeoriginaldocumentpage10</column></row><table>表1对于本领域普通技术人员很明显的是,每个配件和/或话音启用设备用类似的方式,但是是在其根据协议200的TDMA结构中适当的时隙接收和发送分组。如此,下面的描述将参考配件1进行,但它可应用于如图4所示的配件2-4中的每一个。在时隙F(n+1),配件1可以发射数据和语音子分组222和224。可任选地,配件1可在该时隙内的一数据子分组内发送数据,而另一语音启用的设备可在该时隙内的一语音子分组内发送语音。配件1(或语音启用的设备)将在时隙F(n+l)接收语音数据分组226。控制台100将在时隙F(n+l)广播数据分组226到所有的设备。所述数据分组将在时隙F(n+l)+20被作为数据分组232重新广播。在时隙F(n),配件1可重新广播其数据子分组作为数据子分组230。优选地,这仅在数据子分组222没有被控制台100在数据广播分组228内确认时执行。现在参考图5,其示出根据本发明用于数据分组222和语音分组224两者的基本分组格式。可任选的射频设置字段234使得主机/设备收发机能从一个模式(发送/接收)切换到另一个模式(接收/发送)或改变收发机频率以进行跳频。前导字段236和同步字段238被配件内的接收器用于对无线电链路的时钟和分组同步。例如32比特延长的前导传输可结合接收端处实现的前导切换天线即时接收机选择分集算法使用。该算法蕴涵了该接收器在前导的第一部分使用一天线做出第一链路质量评估,并在第二部分使用另一天线做出第二评估,然后,对于分组的其余部分,选择给出最高质量评估的天线。同步字段238被接收设备用于与发射频率和相位同步。头部字段240包含紧随头部的数据有效载荷字段所需要的信息。数据有效载荷字段242包含了将通过无线接口被发射的信息。这一字段的长度由分组的类型所决定。基于分组的类型,所述数据分组可使用纠错字段244进行检错或者纠错。例如循环冗余码(CRC)可被用于对语音分组进行分组检错,而前向纠错(FEC)被用于数据传输。里德-所罗门(Reed-Solomon)前向纠错算法可以在这里使用。里德-所罗门编码器取原始数据并添加额外的"冗余"比特。错误发生在无线传输过程中。里德-所罗门解码器处理所接收到的数据并试图纠错和恢复出原始数据。可纠正的错误的数量和类型取决于里德-所罗门码的特性。如上所述,无线系统使用跳频扩频。伪随机跳跃序列可被用于该系统。可基于最大长度线性反馈移位寄存器(MLLFSR)法来生成所述序列。两个信道分配方案可被用于无线协议200中。第一方案是基于帧的分配,而第二方案是基于时隙的信道分配。对于基于帧的信道分配,来自M-序列的19个位中的7个最低有效位(LSb)被用于选择每个帧的射频信道。首先,系统计算117个LSb/41的余数,然后所述余数被用作帧的信道编号。例如如果一跳跃条目的7个LSb是1011001,那么这一条目的射频信道的表条目就是1011001MOD(41)=89MOD41=7因此,选择信道7。为了与FCC要求完全兼容,每个信道必须被同等地接入。这表示如果跳跃条目的7个LSb大于122,那么就将跳过这一条目并使用下一个条目。对于基于时隙的信道选择,在每个帧的信道被选择以后,在每个帧内有9个时隙。每个时隙的频率分配按照上述的表1进行。上行子帧200A参考图3和图6,上行数据分组是由配件和设备154发送到控制台100的数据分组,并包括配件数据分组202,204,206和208。协议200支持最多达4个上行数据分组。每个数据分组在预定义的时隙(图4)被发送并包含设备专用数据以及语音数据两者。参考图6,图中更详细地示出上行数据分组204(同样适用于202,206和208)。如其所示,每个分组内有两个子分组,其中之一用于数据(246-258)而另一个用于语音(260-272)。这些对应于例如图4中的数据子分组222和语音子分组224。对于总共8个设备,为多达4个配件和语音设备支持多达4个上行数据分组。每个上行数据子分组(246-258)包含3个字段头部字段252,数据主体254,和FEC字段256。头部字段252包含关于配件数据字段、动态功率管理和服务质量(QoS)的信息。数据字段254格式可由头部字段252内的分组类型字段指定并可如图5所示。所述上行数据字段包含用于配件154和插件模块(PMD)(即,可连接到配件154来提高其特性的插件)的数据。FEC字段256可包含里德-所罗门奇偶校验字节。所述奇偶校验字节覆盖上行游戏控制器子分组的头部字段和数据字段。上行语音子分组(260-272)包含3个字段头部字段266,语音数据字段268和CRC字段270。头部字段266指示语音数据分组的类型和属性。语音数据字段268包含经编码的语音数据和链路控制数据,并可被构建为如图5所示。CRC字段270覆盖语音头部字段和语音数据字段两者。下行子帧200B参考图3和图7-8,下行子帧包含3个分组语音下行分组210,下行链路数据分组2I2和语音下行分组214。参考图7,其示出下行链路数据分组212。此分组212包含系统控制信息,并且其被广播到所有附连的设备和配件。此分组212的头部字段280包含将被广播的系统控制信息。数据字段282包含用于数据分组212内所寻址的每个设备的控制信息。因此,如果4个配件要被寻址,那么数据字段282将被划分成4个子字段,每个子字段包含用于每个设备的数据。所述控制信息可包含关于在配件154上LED的闪烁、电机控制和反馈控制等。广播分组由FEC字段284保护,并在每个帧内自动重复。滑动字段286可被添加在下行广播的末端。优选地,比特模式与前导字段具有最小相关,并且此处可使用模式0XC3C3。配件接收机在每个接收到的广播分组内核对滑动字段286并测试一分组滑动情况。如果配件接收机检测到滑动,那么它将会在QoS内设置一个比特并向主机报告此情况。一旦检测到滑动,检测方需要停留在当前FHSS条目等待下一个帧以避免同步D参考图8,图中示出下行链路语音分组210和214的示例性格式。这两个分组210和214携带4个语音启用的设备的下行语音数据。下行链路语音分组210包含用于设备1和2的语音采样。下行链路语音分组214包含用于设备3和4的采样。如图8所示,有两个语音下行数据字段292和296被防护字段294和298分隔。数据字段292和296各自的解构在图5中详细示出。重发子帧200C现在参考图9和图10,图中示出上行链路重发分组216。该分组仅在广播包212内的用于一特定配件的ACK比特没有被设置的时候重发并且仅重发配件数据。这有助于在减少附件功耗的同时实现了一健壮的环境。如果上述条件存在,则该配件将在重发分组216内重新发送其数据和PMD数据。上行语音数据不在该分组内被重发。因为在广播重发分组内没有设置ACK比特,如果没有新数据可用,那么相同的配件分组将在下一帧内被再次重发。如果13有新配件数据可用,那么配件将代之以发送新数据分组。广播重发分组218是广播分组212的重复。其传输与广播分组中相同的信息,但是是在不同的载波频率上(见图4)。在广播重发分组内,头部内的一重发比特被设置为1来表示这是广播重发分组。基于对上行重发分组的接收,广播重发分组内的ACK位被取消设置或被清除。控制台IOO优选总是发射广播重发分组。这是为了提高广播分组抗干扰能力,因为广播分组内的控制数据对于无线接口数据交换是关键的。然而,一配件可基于对第一广播分组的成功接收而选择不接收重发分组。这将有助于减少该配件的总功耗。除此以外,本发明的协议提供一灵活的环境,在其中可通过无线链路使已知和未知的设备能互相通信。虽然本发明结合不同附图的优选实施例进行了描述,但是需要理解其他类似的实施例可被使用,或者可对描述的实施例进行修改了补充,以实现本发明的相同的功能而不偏离其原理。权利要求1.一种使用无线协议在游戏控制台与无线配件之间进行通信的方法,其中所述主机和所述无线配件基于时帧进行发送和接收,所述方法包含在上行子帧内从所述无线配件向所述主机发送上行数据分组;在下行链路子帧内从所述主机向所述无线配件发送至少下行语音分组和下行数据分组其中之一;以及在重发子帧内重发上行链路重发分组和下行链路重发分组,其中语音数据和无线配件数据通过所述无线协议被同时通信。2.如权利要求l所述的方法,其特征在于,所述上行数据分组包含第一上行数据子分组和第一上行语音子分组,所述方法进一步包含分配第一时隙给所述第一上行数据子分组和所述第一上行语音子分组;以及分配一后续时隙给包含后续数据子分组的后续上行数据分组和后续上行语音子分组。3.如权利要求2所述的方法,其特征在于,进一步包含在所述第一上行数据子分组内从第一无线配件发送无线配件数据;以及在所述第一上行语音子分组内从第二语音启用的设备发送语音数据。4.如权利要求l所述的方法,其特征在于,所述上行和下行语音和数据分组各自包含射频设置字段、前导字段、同步字段、头部字段、数据字段、和纠错字段。5.如权利要求l所述的方法,其特征在于,进一步包含在所述下行语音分组内传送所述语音数据至多个语音启用的设备。6.如权利要求5所述的方法,其特征在于,进一步包含在所述下行链路子帧内传送多个下行语音分组。7.如权利要求l所述的方法,其特征在于,进一步包含从所述游戏控制台广播所述下行数据分组至多个无线配件,所述下行数据分组包含含有用于所述多个无线配件中的每一个的数据的预定数据子字段。8.如权利要求l所述的方法,其特征在于,进一步包含-仅当在所述下行链路子帧中没有接收到来自所述游戏控制台的确认的时候,才从所述无线配件发送所述上行链路重发分组。9.如权利要求l所述的方法,其特征在于,进一步包含重新广播所述下行链路重发分组至多个无线配件。10.如权利要求l所述的方法,其特征在于,进一步包含在一跳频扩频系统内用与时分多址(TDMA)时隙相关的不同频率发送所述无线协议内的每个分组。11.一种使用无线协议在无线配件与游戏控制台之间通信信息的方法,包括在第一时隙从所述无线配件发送上行数据分组;在第二时隙在所述无线配件处从所述游戏控制台接收下行数据分组;以及如果在所述下行数据分组内没有收到确认,则在第三时隙从所述无线配件发送所述上行数据分组。12.如权利要求11所述的方法,其特征在于,所述上行数据分组包含第一上行数据子分组和第一上行语音子分组,所述方法进一步包含在所述第一上行数据子分组内从所述无线配件发送无线配件数据;以及如果所述无线配件是语音启用的,则在所述第一上行语音子分组内发送语音数据。13.如权利要求11所述的方法,其特征在于,所述上行和下行语音和数据分组各自包含射频设置字段、前导字段、同步字段、头部字段、数据字段、和纠错字段。14.如权利要求11所述的方法,其特征在于,进一步包含从所述游戏控制台广播所述下行数据分组,其中所述下行数据分组包含含有用于所述无线配件的数据的预定数据子字段。15.如权利要求11所述的方法,其特征在于,进一步包含在一跳频扩频系统内用与所述第一、第二和第三时隙相关的不同频率发送所述无线协议内的每个分组。16.—种在时分多址(TDMA)跳频扩频通信(FHSS)系统内使用无线协议在无线配件与游戏控制台之间通信信息的方法,包含在第一时隙使用第一频率从所述无线配件发送上行数据分组;在第二时隙以第二频率在所述无线配件处从所述游戏控制台接收下行数据分组;以及如果在所述下行数据分组内没有收到确认,则在第三时隙使用第三频率从所述无线配件发送所述上行数据分组。17.如权利要求16所述的方法,其特征在于,所述上行数据分组包含上行数据子分组,所述方法进一步包含在所述第一时隙在所述第一上行数据子分组内从所述无线配件发送无线配件数据;以及如果所述无线配件是语音启用的设备,则在所述第一时隙内在第一上行语音子分组内发送语音数据。18.如权利要求16所述的方法,其特征在于,所述上行和下行语音和数据分组各自包含射频设置字段、前导字段、同步字段、头部字段、数据字段、和纠错字段。19.如权利要求16所述的方法,其特征在于,所述下行数据分组包含预定数据子字段,所述数据子字段之一含有用于所述无线配件的数据。20.如权利要求16所述的方法,其特征在于,所述发送上行数据分组包含仅仅发送含有无线配件数据的上行数据子分组。全文摘要在游戏控制台和无线配件之间使用一协议进行无线通信的方法。在TDMA跳频扩频系统使用所述协议来实现多个无线配件和游戏控制台之间语音和数据的同时通信。所述协议规定用于上行和下行传输的特定时隙、以及重发时隙,以实现具有最小延迟的健壮环境。文档编号H04W80/00GK101502092SQ200680015792公开日2009年8月5日申请日期2006年4月28日优先权日2005年5月10日发明者G·高登,R·S·卢姆,W·郭申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1