使用半双工串行通信系统的游戏设备,游戏机操作设备和游戏系统以及游戏设备双向通...的制作方法

文档序号:6418680阅读:179来源:国知局
专利名称:使用半双工串行通信系统的游戏设备,游戏机操作设备和游戏系统以及游戏设备双向通 ...的制作方法
技术领域
本发明涉及例如适于视频游戏系统的一种游戏设备,游戏机操作设备,游戏系统和游戏设备双向通信方法。
迄今为止已存在的视频游戏系统中,作为操作装置的控制器连接到视频游戏机主单元和游戏通过用户操纵该控制器进行。视频游戏系统采用全双工通信系统作为它们的用于电视游戏机主单元和控制器之间通信的系统,并且它们同时地发送和接收数据。在这种情况下,电视游戏系统采用握手方法,借助该方法,当数据被发送或接收时,首先关于发送和接收数据的速度或格式等协议达成一致,并且数据根据这个协议被发送和接收。
在例如视频游戏系统的交互应用中,为了提高用户操作的直接感应,重要的是通过控制器输入的操作信息能够快速地反映为电视游戏机的声音和图象。一般地,在电视游戏机中,在监视器上扫描一个图象帧的同时,获得来自控制器的操作信息,并且根据这个操作信息产生下一帧的图象。因此在电视游戏机中,为了以有限的计算能力提高图象质量,从控制器获得操作信息的时间必须保持尽可能的短,并且产生一帧图象的时间必须被设置为尽可能的长。
同时,根据使用的应用,有时多个控制器连接到该电视游戏机。另外,有时一个控制器不仅用于输入数字数据例如简单的开/关开关,而且用于通过游戏杆按次序输入模拟信号,例如在显示器上指定一个所需的点。而且,该控制器有时还用于向用户提供反馈信息,例如冲击或振动。所有这些均趋向增加电视游戏系统中电视游戏机主单元和该控制器之间的通信时间。
但是,如上所述游戏系统必须缩短通信时间以便提高图象质量。实现通信时间的缩短的一种方法是增加电视游戏机主单元和控制器之间的数据传输率。但是,在电视游戏系统中,简单地增加传输率还将增加从连接电视游戏机主单元和控制器的电缆所产生的所谓的不希望的辐射。防止这种不希望的辐射增加的现有通信系统是低压差分信号(LVDS)通信系统,双屏蔽线通信系统,光纤通信系统,和红外线通信系统。在这些系统中,有效的是例如LVDS通信系统,其中例如减少了信号线的数目和增强了屏蔽,例如USB(通用串行总线)或IEEE 1394(电器和电器工程师协会)。
当电视游戏系统中的电缆信号线的数目因此减少时,使全双工通信或同步通信或采用控制线的有效通信变得困难,所以除了利用半双工通信系统执行所有的数据发送和接收或通信控制外,没有其他可选的方案。因此,例如利用USB,当数据被发送或接收时,和发送和接收被单独完成时,首先建立用于数据将被发送和接收的速度和格式的一个协议,接着根据这个协议发送和接收数据。
在这种电视游戏系统中,如果在该协议建立后的数据通信量很大,则建立该协议(所谓的开销)所需的数据通信量将变得比传送的数据通信量小,并且可以被忽略。但是,在视频游戏系统中,在电视游戏机主单元和游戏控制器之间传送的数据通信量比假如计算机外设,打印机,扬声器,调制解调器等连接到电视游戏机主单元时传送的数据通信量小。因此电视游戏系统除了在建立协议之后传送的数据通信量以外,还需要包括大量的通信的开销,并且引起通信时间增加。
本发明的一个目的是提供可以以比考虑中的常规类型设备高的速度发送和接收数据的游戏设备、游戏机操作设备、游戏系统,和游戏设备双向通信方法。
本发明的这个和其他目的,通过采用一个半双工串行通信系统作为其与通过一个串口连接的游戏机操作设备通信的系统的游戏设备而获得,并且该游戏设备包括根据从每个游戏机操作设备提供的所述游戏机操作设备的标识符,将发送和接收每个单独字符数据的通信协议与发送或接收一行中两个或多个字符数据的通信协议组合的装置,并且它将该通信协议转换成相应于该游戏机操作设备的一种通信协议。
通过将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议,该游戏设备和游戏机操作设备之间所需的通信量与以前简单地发送和接收每个单独字符数据的情况相比最小化程度更高。
而且,在本发明中,提出一种游戏机操作设备,它采用半双工串行通信系统作为其与通过一个串口连接的游戏设备通信的系统,并且它具有一个对于所述游戏机操作设备唯一的标识符,和包括用于当所述游戏机操作设备连接到所述游戏设备时提供对于该游戏设备的标识符的装置,以便使该游戏设备将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于所述游戏机操作设备的通信协议。
通过将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议,该游戏设备和游戏机操作设备之间所需的通信量与以前简单地发送和接收每个单独字符数据的情况相比最小化程度更高。
而且,根据这个发明,提供一个游戏系统,其中游戏设备和游戏机操作设备通过一个串口连接,并且采用半双工串行通信系统作为其所述游戏设备和游戏机操作设备之间通信的系统,其中该游戏设备根据从该游戏机操作设备提供的所述游戏机操作设备的标识符,将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议,并且每个游戏机设备具有一个唯一属于该游戏机操作设备的标识符,并且当该游戏机操作设备连接到该游戏设备时,将该标识符赋予该游戏设备。
通过将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议,该游戏设备和游戏机操作设备之间所需的通信量与以前简单地发送和接收每个单独字符数据的情况相比最小化程度更高。
而且,根据本发明,提供一种游戏设备双向通信方法,采用半双工串行通信系统作为其与通过一个串口连接的游戏机操作设备通信的系统,并且根据从该游戏机操作设备提供的所述游戏机操作设备的标识符,它将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议。
通过将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于该游戏机操作设备的通信协议,该游戏设备和游戏机操作设备之间所需的通信量与以前简单地发送和接收每个单独字符数据的情况相比最小化程度更高。


图1是表示根据本发明的一个实施例的电视游戏系统的结构的方框图;图2是表示图1的电视游戏机主单元的结构的方框图;图3是表示图1的系统的游戏控制器结构的方框图;图4和5表示图1的系统的电视游戏机主单元的双向通信方法的流程图;图6和7表示用于确认ID码和游戏控制器的通信模式的方法的流程图;图8是表示通过握手模式的双向通信方法的流程图;图9是表示通过连续的发送/连续的接收模式的双向通信方法的流程图;和图10和11表示通过握手/连续接收模式的双向通信方法的流程图。
在图1中,1指总体上的电视游戏系统。该电视游戏系统包括电视游戏机主单元2和游戏机操作设备(游戏控制器)3A-3C,它根据游戏的内容和游戏的进行,输入控制命令给电视游戏机主单元2。电视游戏机主单元2具有控制器端口4A-4D,作为与外设接口的串行端口,并且可以连接所需的外设。
连接到控制器端口4A的是游戏控制器3A,和对应用户操作的操作信息通过控制器端口4A被发送到电视游戏机主单元2。连接到游戏控制器3A的是存储器卡5A,可以存储所需的游戏信息(例如,如果游戏在它结束之前中断,则其进程状态因此远)。
连接到控制器端口4B的是多插头端口6,用于扩展控制器端口4B。连接到多插头端口6的是游戏控制器3B和3C,并且连接到游戏控制器3C的是存储器卡5B。连接到多插头端口6的还有光笔形电子枪控制器7A。当拉动电子枪控制器7A上形成的触发器时,看起来像命中了电子枪控制器7A瞄准的电视游戏机主单元2的屏幕上的地方。连接到控制器4C的是电子枪控制器7B,和连接到控制器端口4D的是存储器卡5C。
因此电视游戏机主单元2可以在执行与通过控制器端口4A-4D连接的多个外设的数据通信的同时,执行例如游戏的应用软件。通过将多个游戏控制器3A-3C和电子枪控制器7A和7B连接到电视游戏机主单元2,例如,交互式游戏可以由多个用户运行。
图2表示电视游戏机主单元2的方框图。管理整个电视游戏机主单元2的主机CPU 10,通过总线11控制每个块。通过检查连接到控制器端口4A-4D的外设,主机CPU 10决定对应于该外设的通信模式。接着主机CPU 10将基于确定的通信模式的通信模式信息,通过总线11传送给命令寄存器12,和该通信模式通过将该通信模式信息写入命令寄存器12设置。
而且,主机CPU 10通过总线11将表示串行通信条件的串行通信信息传送给控制寄存器13,并且设置该串行通信和实际的串行通信,通过将该串行通信信息写入控制寄存器13开始。同时,状态寄存器14保持当前的通信状态。因此主机CPU 10通过经总线11访问状态寄存器14,确认当前的通信状态。定时器15执行通信定时控制。这样,主机CPU 10通过经总线11访问定时器15,调整该通信间隔等。
存储器16连接到总线11和存储通信的数据。DMA(直接存储器存取)控制器17同样连接到总线11。DMA(直接存储器存取)控制器17由FIFO控制器18控制;根据来自FIFO控制器18的DMA请求,通过旁路主机CPU 10,数据在存储器16和写FIFO 19以及存储器16和读FIF020之间传送。
FIFO控制器18控制到和来自写FIFO 19和读FIFO 20的数据的读和写。写FIFO 19临时保持发送给游戏控制器3A(图1)的数据,而读FIFO 20临时保持从游戏控制器3A(图1)接收的数据。
协议控制器21连接到命令寄存器12、控制寄存器13、状态寄存器14、定时器15、FIFO控制器18和收发信机选择器22,用于控制发送和接收的数据流。在发送时,收发信机22将串行信号格式化-变换为差分信号,从控制器端口4A-4D中选择所需的控制器端口4,并且通过控制器端口4,将该差分信号发送给连接到控制器端口4的游戏控制器3。另一方面,在接收时,收发信机选择器22通过对应于所述游戏控制器3的控制器端口4,接收从游戏控制器3A-3C中的所需游戏控制器3发送的差分信号。并且收发信机选择器22将这个接收的差分信号转换为串行信号,和将它输出到DPLL 23。DPLL 23校正该串行信号的接收定时,并且将它输出到协议控制器21。
偶然地,如果控制器CPU 30具有慢的执行速度,则协议控制器21就使接收的等待定时设置得较长。从接收的等待定时根据通信模式设置的事实来看,协议控制器21可以检查游戏控制器3A是否执行有效的传输。
图3详细表示游戏控制器3A。所有游戏控制器3A-3C都以相同的方式构造,所以只详细描述游戏控制器3A的结构。如图3所示,除了控制器CPU 30,总线31,FIFO控制器32,收发信机33和ID寄存器34以外,游戏控制器3A与电视游戏机主单元2具有相同的结构。
管理整个游戏控制器3A的控制器CPU 30,通过总线31控制每个块。通过经总线31访问ID寄存器34,控制器CPU 30将标识(ID=标识)码写入ID寄存器32和设置该标识码和分类等级,该标识码对游戏控制器3A是唯一的并且是发送和接收的条件。
由于游戏控制器3A不像电视游戏机主单元2一样具有DMA控制器,所以没有必要在FIFO控制器32中产生一个DMA请求。而且,游戏控制器3A不像电视游戏机主单元2一样具有控制器端口4A-4D。这样收发信机33只需要在发送时将串行信号变换为差分信号,和在接收时将差分信号转换为串行信号。
如果读FIFO20的存储容量小和发送的数据字符数目大,利用游戏控制器3A,则通过将发送间隔设置得较长来防止在电视游戏机主单元2侧接收的数据的丢失。
图4和5表示电视游戏机主单元2的双向通信方法的流程图。首先,在从步骤SP1进入的步骤SP2,电视游戏机主单元2判定外设是否连接到控制器端口4A-4D;如果判定连接了外设,则进入步骤SP3;如果判定没有连接外设,则进入步骤SP4。在步骤SP3,电视游戏机主单元2确认和登记所连接的外设的ID码和相应于那个ID码的通信模式。
在步骤SP5,电视游戏机主单元2判定是否连接了任意其他外设;如果判定连接了一个外设,则返回步骤SP3和重复该操作;如果判定没有连接外设,则进入步骤SP4。电视游戏机主单元2根据游戏的进程在必要时与连接的外设通信。在步骤SP4,电视游戏机主单元2判定是否是与外设通信的时间;如果判定进行了通信,则进入步骤SP6;如果判定没有进行通信,则进入步骤SP7。
在步骤SP6,电视游戏机主单元2判定连接的外设是否是一个特殊的控制器,例如提供用户击打反馈的控制器;如果判定是一个特殊的控制器,则进入步骤SP8;如果判定不是一个特殊的控制器,则进入步骤SP9。在步骤SP8,电视游戏机主单元2设置该通信模式为握手模式并且进入步骤SP9。
在步骤SP9,电视游戏机主单元2判定连接的外设是否是一个标准控制器,例如预置发送或接收的数据的控制器;如果判定是一个标准控制器,则进入步骤SP10;如果判定不是标准控制器,则进入步骤SP11。在步骤SP10,电视游戏机主单元2将通信模式设置为连续的发送/连续的接收模式并且进入步骤SP11。
在步骤SP11,电视游戏机主单元2判定数据是否是从连接的存储器卡中读出的数据;如果判定数据是从连接的存储器卡中读出,则进入步骤SP12;如果判定数据不是从连接的存储器卡中读出,则进入步骤SP7。在步骤SP12,电视游戏机主单元2将通信模式设为握手/连续的接收模式并且进入步骤SP7。
在步骤SP7,电视游戏机主单元2判定在连接的外设中是否存在一个由该用户已经消除的设备;如果判定存在一个已经消除的设备,则进入步骤SP13;如果判定不存在已经消除的设备,则进入步骤SP14。在步骤SP13,电视游戏机主单元2删除所消除的设备的登记信息和进入步骤SP14。在步骤SP14,电视游戏机主单元2判定是否存在最近由用户连接的设备;如果判定存在最近连接的设备,则进入步骤SP15;如果电视游戏机主单元2判定没有最近连接的设备,则返回步骤SP4,并且重复该操作。在步骤SP15,电视游戏机主单元2确认该ID码和所连接的设备的通信模式,并且进入步骤SP4。
使用图6和图7所示的流程图,现在将描述在用于游戏控制器3A的ID码和通信确认步骤(SP3)中的特定处理步骤。首先讨论在电视游戏机主单元2中的处理步骤。在从步骤SP20进入的步骤SP21中,收发信机选择器22通知主机CPU 10一个中断请求。在步骤SP22,主机CPU 10开始该中断处理。在步骤SP23,控制器端口4A检测已经最近连接的游戏控制器3A。
在步骤SP24,主机CPU 10通过总线11通知定时器15有关发送和接收定时的条件并且在定时器15中设置所述的定时条件。在步骤SP25,主机CPU 10将确认该连接的分组数据,即,请求ID码(下文叫做ID请求命令)的命令和查询该通信模式(下文叫做通信模式查询命令)的命令写入FIFO 19中。在步骤SP26中,主机CPU 10指定该通信模式为双字节握手模式,并且在寄存器12中设置这个模式。
在步骤SP27,主机CPU 10在控制寄存器15中指示通信的开始。在步骤SP28,主机CPU 10从写FIFO 19中读出该ID请求命令并且通过FIFO控制器18,协议控制器21,收发信机选择器22和控制器端口4A将它发送给游戏控制器3A。在步骤SP29,为了响应该ID请求命令,电视游戏机主单元2通过控制器端口4A,收发信机选择器22,DPLL 23,协议控制器21,和FIFO控制器18将从游戏控制器3A返回的该ID码发送到读FIFO 20,并且将所述的ID码写入读FIFO20。
在步骤SP30,主机CPU 10从写FIFO 19中读出该通信模式查询命令,并且通过FIFO控制器18,协议控制器21,收发信机选择器22,和控制器端口4A发送这个命令给游戏控制器3A。在步骤SP31,为了响应该通信模式查询命令,电视游戏机主单元2通过控制器端口4A,收发信机选择器22,DPLL 23,协议控制器21,和FIFO控制器18发送从游戏控制器3A返回的该通信模式到读FIFO 20,并且将该通信模式写入读FIFO 20中。状态寄存器14打开表示该命令已经完成的标志。在步骤SP 32,主机CPU 10从读FIFO 20中读出对应游戏控制器3A的该ID码的通信模式。下一步,移到步骤SP33,并且结束该处理。
下一步将描述游戏控制器3A中的处理步骤。首先,在从步骤SP40进入的步骤SP41中,游戏控制器3A连接到电视游戏机主单元2的控制器端口4A。在步骤SP42,控制器CPU 30在定时器15中设置有关发送和接收定时的条件。在步骤SP43,控制器CPU 30指示控制寄存器13进行接收的准备。在步骤SP44,控制器CPU 30判定是否已经接收到ID请求命令;如果控制器CPU 30判定已经接收到ID请求命令,则进入步骤SP45;如果控制器CPU 30判定已经接收到,则重复该操作直到接收到为止。
在步骤SP45,控制器CPU 30通过DPLL 23,协议控制器21,和FIFO控制器32发送由收发信机33接收的该ID请求命令给读FIFO20,并且将所述ID请求命令写入读FIFO 20。并且状态寄存器14打开接收标志。在步骤SP46,当该ID请求命令通过FIFO控制器32从读FIFO 20中读出时,ID寄存器34通过FIFO控制器32将该ID码发送给写FIFO 19,并且将所述ID码写入写FIFO 19。
在步骤SP47,控制器CPU 30在控制寄存器13中指示通信的开始。在步骤SP48,控制器CPU 30从写FIFO 19中读出该ID码,并且通过FIFO控制器32、协议控制器21和收发信机33将它发送给电视游戏机主单元2。
在步骤SP49,当从电视游戏机主单元2发送的通信模式查询命令由收发信机33接收时,控制器CPU 30通过DPLL 23,协议控制器21,和FIFO控制器32发送该通信模式查询命令给读FIFO 20,并且将所述通信模式查询命令写入读FIFO 20。状态寄存器14打开接收标志。
在步骤SP50,当该通信模式查询命令通过FIFO控制器32从读FIFO 20中读出时,控制器CPU 30通过FIFO控制器32发送对应于该ID码的通信模式给写FIFO 19,并且将所述的通信模式写入写FIFO19。在步骤SP52,控制器CPU 30从写FIFO 19中读出对应该ID码的通信模式,并且通过FIFO控制器32,协议控制器21,和收发信机33将它发送给电视游戏机主单元2。下一步,移到步骤SP 53并且结束该处理。
现在利用图8所示的流程图,详细描述根据握手模式的双向通信方法。不管电视游戏机主单元2中的处理步骤,在从步骤60进入的步骤SP61中,主机CPU 10将发送数据写入存储器16。在步骤SP 62,主机CPU 10在定时器15中设置发送和接收定时的条件。
在步骤SP63中,主机CPU 10选择通信模式为握手模式,将通信模式是握手模式写入命令寄存器12,并且在命令寄存器12中设置发送的数据的字符个数。在步骤SP64,主机CPU 10将串行通信条件写入命令寄存器13,并且指示通信开始。在步骤SP65,F[FO控制器18向写FIFO 19进行DMA请求,以响应DMA控制器17。在步骤SP66,DMA控制器17从存储器16中读出发送数据,并且通过传送它到FIFO18,将所述发送数据写入写FIFO 19。
在步骤SP 67,协议控制器21通过FIFO控制器18从写FIFO 19中逐字符地继续地读出发送数据,通过定时器15的定时串行地转换它,发送由此产生的串行信号给收发信机选择器22,并且在该串行信号由所述收发信机选择器22转换为差分信号之后,和在该串行信号由所述收发信机选择器22转换为差分信号后,发送它给游戏控制器3A。
在步骤SP68,为了响应发送的差分信号,电视游戏机主单元2利用收发信机选择器22接收从游戏控制器3A返回的差分信号。收发信机选择器22在利用DPLL 23校正接收定时的同时,将该差分信号变换为串行信号,并且发送它到协议控制器21。协议控制器21将该串行信号转换为预定格式的接收数据,并且通过将所述接收数据传送给FIFO控制器18,逐字符地继续将该接收数据写入读FIFO 20。
在步骤SP69,协议控制器21判定处理的发送数据的字符数目是否与命令寄存器12中设置的字符数据相符。如果判定处理的字符数据与在命令寄存器12中设置的字符数目相符,则进入步骤SP70,并且如果判定在命令寄存器12中设置的字符数目的数据没被处理过,则返回步骤SP67,并且重复该操作。
在步骤SP70,为了响应DMA控制器17,FIFO控制器18从读FIFO20发出一个DMA请求给存储器16。在步骤SP71,DMA控制器17通过FIFO控制器18从读FIFO 20中读出该接收数据,将它传送给存储器16,并且将它写入所述存储器16。并且因为在状态寄存器14设置了一个标志,表示已经完成了接收数据的传送,当它从状态寄存器14中读出那个标志时,开始关于写入存储器16的接收数据的预定数据处理。下一步,移到步骤SP72和结束该处理。
现在,描述游戏控制器3A中的处理步骤。首先,在从步骤SP80开始的步骤SP81,收发信机33判定该数据的第一字符是否已经接收;如果判定数据的第一个字符已经接收,则进入步骤SP82,并且如果没有接收到,则等待直到接收到为止。在步骤SP82,收发信机33串行地转换该接收数据,并且将它发送到DPLL 23。DPLL 23校正该接收数据的定时,并且将它发送到协议控制器21。
在步骤SP83,协议控制器21确认该接收数据是否与写入ID寄存器34中的分类相符,读出游戏控制器3A的ID码,利用定时器15的定时串行地变换它,并且将它发送到收发信机33。收发信机33将这个串行信号变换为一个差分信号,并且将它发送给电视游戏机主单元2。在步骤SP84,收发信机33判定该数据的第二个字符是否已经接收到;如果判定数据的第二字符已经接收到,则进入步骤SP85,并且如果判定尚未接收到,则等待直到接收到为止。
在步骤SP85,游戏控制器3A通过收发信机22,DPLL 23,协议控制器21,和FIFO控制器32,接连地发送该接收数据给读FIFO 20,并且将该接收数据写入读FIFO 20。这时,协议控制器21设置状态寄存器14中的一个标志,该标志表示数据的一个字符已经接收到。在步骤SP86,当检测到状态寄存器14的该标志已经改变时,控制器CPU30通过FIFO控制器32从读FIFO 20中读出接收数据的一个字符。并且控制器CPU 30产生这个接收数据的应答数据,经FIFO控制器32发送这个应答数据给写FIF0 19,并且将它写入所述的写FIFO 19。
在步骤SP87,控制器CPU 30在控制器寄存器13中指示发送的开始。在步骤SP88,协议控制器21通过FIFO控制器32从写FIFO 19中读出应答数据,并且通过收发信机33将它发送到电视游戏机主单元2。在步骤SP89,判定接收的数据的字符数是否与在命令寄存器13中设置的字符数相符,即,在命令寄存器13中设置的数据字符数是否已经处理和通信是否已经结束。如果判定接收的数据字符数与在命令寄存器13中设置的字符数相符,则进入步骤SP90,并且结束该处理,并且如果判定不相符,则移到步骤SP85和重复该操作。
图9表示根据连续发送/连续接收模式(SP10)的通信步骤中的特殊处理步骤。首先,讨论电视游戏机主单元2中的处理步骤。在从步骤SP100进入的步骤SP101中,主机CPU 10将该发送数据写入存储器16。在步骤SP102,主机CPU 10在定时器15中设置发送和接收定时的条件。
在步骤SP103,主机CPU 10选择该通信模式为连续发送/连续接收模式,并且把通信模式是连续的发送/连续的接收模式写入命令寄存器12中。伴随这个操作,主机CPU 10在命令寄存器12中设置该通信条件,例如,在数据的4个字符已经发送后,将接收数据的8个字符。在步骤SP104,主机CPU 10将串行通信条件写入命令寄存器13,并且指示通信的开始。
在步骤SP105,FIFO控制器18向写FIFO 19发出一个DMA请求响应DMA控制器17。在步骤SP106,DMA控制器17从存储器16读出发送数据的4个字符,并且通过将这个看作一个发送数据分组,和将它继续地发送到FIFO控制器18,将所述发送数据写入写FIFO 19。在步骤SP107,协议控制器21通过FIFO控制器18从写FIFO 19逐字符地继续读出该发送数据,并且通过收发信机选择器22将这个读出发送数据继续地发送给游戏控制器3A。
在步骤SP108,协议控制器21判定发送数据的4个字符是否已经发送,并且发送处理是否已经结束;如果判定发送处理已经结束,则进入步骤SP109,和如果判定发送尚未结束,则返回步骤SP107并且重复该操作。在步骤SP109,电视游戏机主单元2利用收发信机选择器22接收从游戏控制器3A返回的数据,并且通过经DPLL23,协议控制器21,和FIFO控制器18发送这个接收数据到读FIFO20,逐字符地继续地将该接收数据写入读FIFO20。
在步骤SP110,协议控制器21判定接收数据的8个字符是否已经接收,并且接收处理是否已经结束;如果判定接收处理已经结束,则进入步骤SP111,和如果判定接收尚未结束,则返回步骤SP109,并且重复该操作。在步骤SP111,为响应DMA控制器17,FIFO控制器18发出一个来自读FIFO 20的DMA请求到存储器16。
在步骤SP112,DMA控制器17通过FIFO控制器18从读FIFO 20中读出接收数据的8个字符,将这个数据传送到存储器16,并且将它写入所述存储器16。由于表示接收数据的传送已经结束的标志被设置在状态寄存器14,当主机CPU 10从状态寄存器14中读出所述标志时,主机CPU 10开始指定的数据处理,以响应写入存储器16的接收数据。下一步,移到步骤SP113,并且结束该处理。
现在讨论游戏控制器3A的处理过程。首先,在从步骤SP120进入的步骤SP121,收发信机33逐字符地接收从电视游戏机主单元2发送的数据,并且通过DPLL 23将这个接收数据继续地发送到协议控制器21。在步骤SP122,协议控制器21判定该接收数据是否是该第一个字符;如果协议控制器21判定该接收数据是第一个字符,则进入步骤S123,并且如果不是第一个字符,则进入步骤SP124。
在步骤SP123,协议控制器21确认该接收数据是否与写入ID寄存器34中的分类相符。在步骤SP124,协议控制器21通过FIFO控制器32发送该接收数据到读FIFO 20,并且将所述接收数据写入读FIFO 20。这时,协议控制器21在状态寄存器14中设置一个表示数据的一个字符已经接收的标志。
在步骤SP125,协议控制器21判定接收数据的4个字符是否已经处理,并且接收处理是否已经结束;如果协议控制器21判定接收数据的4个字符已经处理和接收处理已经结束,则进入步骤SP126,和如果判定接收尚未结束,则返回步骤SP121,并且重复该操作。
在步骤SP126,当控制器CPU 30检测到状态寄存器14的标志已经改变时,它通过FIFO控制器32从读FIFO20读出接收数据的4个字符。并且控制器CPU 30产生用于这个接收数据的应答数据,通过FIFO控制器32发送这个应答数据给写FIFO19,并且将它写入所述写FIFO19。
在步骤SP127,控制器CPU 30在控制器寄存器13中指示发送的开始。在步骤SP128,协议控制器21通过FIFO控制器32从写FIFO19中读出应答数据,并且通过收发信机33将它发送到电视游戏机主单元2。
在步骤SP129,协议控制器21判定发送的数据的字符数是否与在命令寄存器13中设置的字符数相符,即,数据的8个字符是否已经发送和发送处理是否已经结束。如果判定发送已经结束,则进入步骤SP130,并且如果判定没有结束,则返回步骤SP128,并且重复该处理。在步骤SP130,控制器CPU 30经FIFO控制器32从读FIFO20中读出该接收数据,并且执行规定的数据处理。下一步,移到步骤SP131和结束该处理。
参照图10和图11的流程图,讨论根据握手/连续接收模式的双向通信方法,图10和11表示在通过握手/连续接收模式(SP12)的通信步骤中的特殊处理步骤。在从步骤SP140进入的步骤SP141中,在电视游戏机主单元2的处理步骤中,主机CPU 10将该发送数据写入存储器10。在步骤SP142,主机CPU 10在定时器15中设置用于发送和接收定时的条件。
在步骤SP143,主机CPU 10将该通信模式选择为握手/连续接收模式和在命令寄存器12中写入通信模式为握手/连续接收模式。同时,主机CPU 10在命令寄存器12中设置通信条件,例如在已经发送和接收数据的3个字符之后,将接收一行中数据的7个字符。
在步骤SP144,主机CPU 10将用于串行通信的条件写入命令寄存器13,并且指示通信的开始。在步骤SP145,FIFO控制器18向FIFO19发出一个DMA请求,响应DMA控制器17。在步骤SP146,DMA控制器17从存储器16中读出该发送数据,并且通过将它传送到FIFO控制器18将所述发送数据写入写FIFO 19中。
在步骤SP147,协议控制器21经FIFO控制器18逐字符地继续从写FIFO 19中读出该发送数据,并且经收发信机选择器22继续发送所述发送数据给游戏控制器3A。在步骤SP148中,电视游戏机主单元2在收发信机22接收从游戏控制器3A返回的数据,并且通过经DPLL23、协议控制器21、FIFO控制器18和读FIFO 20继续发送这个接收数据,逐字符地继续将该接收数据写入读FIFO 20中。
在步骤SP149,协议控制器21根据在命令寄存器12中设置的通信条件,判定通过发送数据的3个字符给游戏控制器3A和从游戏控制器3A接收数据的3个字符是否结束握手模式。因此,如果发送和接收了数据的3个字符,并且结束了握手模式,则进入步骤SP150,并且变换为连续模式,并且如果判定没有发送和接收了数据的3个字符,则返回步骤SP147,并且重复该操作。
在步骤SP150,电视游戏机主单元2利用收发信机选择器22经DPLL 23,协议控制器21,和FIFO控制器18逐字符地传送接收的接收数据到读FIFO 20,并且继续将所述接收数据写入读FIFO 20。在步骤SP151,协议控制器21根据在命令寄存器12中设置的通信条件,判定是否已经接收到数据的7个字符。因此,如果协议控制器21判定接收到数据的7个字符和结束接收处理,则进入步骤SP152,并且如果判定数据的7个字符尚未接收到,则返回步骤SP150,并且重复该操作。
在步骤SP152,为了响应DMA控制器17,FIFO控制器18从读FIFO 20向存储器16发出一个DMA请求。在步骤SP154,DMA控制器17经FIFO控制器18从读FIFO 20读出接收数据,将这个数据传送到存储器16,并且将它写入所述存储器16。由于在状态寄存器14中设置了一个表示接收数据的传送已经完成的标志,所以当主机CPU 10从状态寄存器14中读出所述标志时,开始关于写入存储器16中的接收数据的规定的数据处理。下一步,移到步骤SP154,并且结束该处理。
在从步骤SP160进入的步骤SP161,在游戏控制器3A中的处理过程中,收发信机33判定是否已经接收到数据的第一个字符;如果判定已经接收到数据的第一个字符,则进入步骤SP162,并且如果尚未接收到,则等待直到接收到为止。在步骤SP162,收发信机33经DPLL23将该接收数据发送给协议控制器21。
在步骤SP163中,协议控制器21确认该接收数据是否与写入ID寄存器34中的分类相符,读出游戏控制器3A的ID码,并且通过收发信机33发送它到电视游戏机主单元2;如果判定已经接收到数据的第二个字符,则进入步骤SP165,并且如果判定尚未接收到,则等待直到接收到为止。
在步骤SP165,游戏控制器3A接连通过收发信机33,DPLL 23,协议控制器21,和FIF0控制器32发送该接收数据给读FIFO 20,并且将该接收数据写入读FIFO 20。这时,协议控制器21在状态寄存器14中设置一个表示已经接收数据的一个字符的标志。在步骤SP166,当控制器CPU 30检测到状态寄存器14中的标志改变时,经FIFO控制器32从读FIFO 20中读出接收数据的一个字符,并且控制器CPU 30产生这个接收数据的应答数据,经FIFO控制器32发送这个应答数据到写FIFO 19,并且将它写入所述写FIFO 19。
在步骤SP167,控制器CPU 30在控制器寄存器13中指示发送的开始。在步骤SP168,协议控制器21经FIFO控制器32从写FIFO 19中读出该应答数据,并且经收发信机33将它发送到电视游戏机主单元2。在步骤SP169,根据在命令寄存器13中设置的通信条件,判定是否已经接收到数据的3个字符和已经发送数据的3个字符。因此,如果判定已经接收和发送3个字符和已经结束握手模式,则移到步骤SP170,并且结束该处理,并且如果判定尚未接收和发送数据的3个字符,则移到步骤SP165,并且重复该操作。
在步骤SP170,控制器CPU 30产生该接收数据的应答数据,通过FIFO控制器32发送这个应答数据给写FIFO 19,并且将它写入所述写FIFO 19中。在步骤SP171中,控制器30在控制器寄存器13中指示发送的开始。在步骤SP172,协议控制器21通过FIFO控制器32从写FIFO 19中读出应答数据,并且通过收发信机33将它发送到电视游戏机主单元2。
在步骤SP173,协议控制器21判定发送的数据的字符数是否与在命令寄存器13中设置的字符数相符,即,数据的7个字符是否已经发送和发送处理是否已经结束。因此,如果判定发送已经结束,则进入步骤SP174,并且如果判定没有结束,则返回步骤SP172,并且重复该操作。在步骤SP174,控制器CPU 30经FIFO控制器32从读FIFO20中读出该接收数据,并且执行规定的数据处理。下一步,控制器CPU30移到步骤SP175和结束该处理。
如上所述的电视游戏系统1采用一个半双工串行通信系统作为电视游戏机主单元2和外设之间的通信系统,并且以单独的时序发送和接收。在电视游戏系统1中,如果一个特殊的控制器连接到电视游戏机主单元2,则选择握手模式,其中一次发送和接收一个字符,并且互助确认该数据的内容。即使连接了这样一个特殊的控制器,通过选择握手模式也可以实现高可靠性的通信。
在电视游戏系统1中,一个标准的控制器连接到电视游戏机主单元2,选择了连续传送模式,其中连续发送和接收数据的两个或多个字符。如果连接了这样一个标准控制器,则通过选择连续的传送模式,可以提高传输率,并且如果必要时变换传送方向,可以减小开销和缩短通信时间。
而且,在电视游戏系统1中,如果例如存储器卡的存储装置连接到电视游戏机主单元2,则选择组合了握手模式和连续传送模式的握手/连续传送模式。如果数据存储装置以这种方式连接,则如果选择了握手/连续传送模式,如通信在完全握手模式下进行的情况一样,可以减少用于传送不必要的模拟数据,和冗余数据的非必要的部分,并且可以实现有效的通信。这样做时,即使以如同连接控制器的相同方式通过信号线连接电视游戏机主单元2,也能够通过变换通信模式减少冗余数据。
电视游戏系统1判定由从电视游戏机主单元2发送的命令发送或接收的数据内容,和直到所述命令废除时通信的数据被作为一个分组。因此电视游戏系统1可以在握手模式和连续传送模式之间进行模式转换,并且以分组单位变换连续传送模式的传送方向。
因为电视游戏机主单元2可以调整发送数据的间隔,所以可以缩短通信时间。通过调整最大可接收的等待时间,可以检测已经去除的外设,和可以检测不能保证规定的数据传输频率的外设。
利用上述的结构,通过根据连接到电视游戏机主单元2的外设设置组合握手模式和连续传输模式的所需的协议,在电视游戏机主单元2和外设之间的通信量与数据的发送和接收在握手模式下进行的情况相比最小化程度更高,并且因此在保持通信可靠性的同时,通信时间可以比以前显著缩短。
在上述的实施例中,讨论涉及在握手模式和连续传输模式之间进行模式转换,和以分组单位变换连续传输模式的传输方向的情况,但是这个发明不限于此;还足以能够在握手模式和连续传输模式之间进行模式变换,和在分组内变换连续传输模式的传输方向。
而且,在上述的实施例中,讨论涉及当数据从存储器卡中读出时,通信模式变换被设置为握手/连续接收模式的情况。但是,本发明不限于这种情况。当数据存储在存储器卡时,还足以将通信模式设置为握手/连续传输模式。
如上所述,利用本发明,通过将每次发送和接收一个字符的数据的通信协议与连续发送或接收数据的两个或多个字符的通信协议组合,并且通过将通信协议变换为对应有关的游戏机操作设备的通信协议,可以将游戏设备和游戏机操作设备之间的通信量与以前数据的发送和接收一次仅一个字符的情况相比最小化程度更高,因此可以较以前显著缩短通信时间,并且在保持通信可靠性的同时数据可以以高速发送和接收。
权利要求
1.一种游戏设备,采用一个半双工串行通信系统作为其与通过一个串口连接的游戏机操作设备通信的系统,该游戏设备包括根据从所述游戏机操作设备提供的所述游戏机操作设备的标识符,将发送和接收每个单独字符数据的通信协议与发送或接收一行中两个或多个字符数据的通信协议组合的装置;和将该通信协议转换成相应于连接的游戏机操作设备的一种通信协议的装置。
2.如权利要求1所述的游戏设备,其中所述转换装置以分组单位转换所述通信协议。
3.如权利要求1所述的游戏设备,其中所述转换装置在一个分组内转换所述通信协议。
4.如权利要求1所述的游戏设备,并且还包括调整接收从所述游戏机操作设备发送的数据的等待时间的装置。
5.如权利要求1所述的游戏设备,并且还包括调整发送到所述游戏机操作设备的数据的时间间隔的装置。
6.一种游戏机操作设备,它采用半双工串行通信系统作为其与通过一个串口连接的游戏设备通信的系统,该游戏机操作设备具有一个对于所述游戏机操作设备唯一的标识符,和包括用于当所述游戏机操作设备连接到所述游戏设备时提供对于所述游戏设备的所述标识符的装置,以便使所述游戏设备将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合,和将该通信协议转换为对应于所述游戏机操作设备的通信协议。
7.如权利要求6所述的游戏机操作设备,包括使所述游戏设备以分组单位转换所述通信协议的装置。
8.如权利要求6所述的游戏机操作设备,包括使所述游戏设备在一个分组内转换所述通信协议的装置。
9.一个游戏系统,其中游戏设备和游戏机操作设备通过一个串口连接并且采用半双工串行通信系统作为其所述游戏设备和游戏机操作设备之间通信的系统,该游戏系统包括根据从所述游戏机操作设备提供的所述游戏机操作设备的标识符,将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合的装置,和将该通信协议转换为对应于所述游戏机操作设备的通信协议的装置,和其中每个游戏机设备具有一个唯一属于所述游戏机操作设备的标识符,并且包括当所述游戏机操作设备连接到所述游戏设备时将所述标识符提供给所述游戏设备的装置。
10.如权利要求9所述的游戏系统,所述游戏设备的所述转换装置以分组单位转换所述通信协议。
11.如权利要求9所述的游戏系统,其中所述游戏设备的所述转换装置在一个分组内转换所述通信协议。
12.如权利要求9所述的游戏系统,其中所述游戏设备还包括调整接收从所述游戏机操作设备发送的数据的等待时间的装置。
13.如权利要求9所述的游戏系统,所述游戏设备包括调整发送到所述游戏机操作设备的数据的时间间隔的装置。
14.一种游戏设备双向通信方法,采用半双工串行通信系统作为其与通过一个串口连接的游戏机操作设备通信的系统,该双向通信方法包括根据从所述游戏机操作设备提供的所述游戏机操作设备的标识符,将发送和接收每个单独字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合的步骤,和将该通信协议转换为对应于所述游戏机操作设备的通信协议的步骤。
15.如权利要求14所述的游戏设备双向通信方法,其中所述转换步骤以分组单位转换所述通信协议。
16.如权利要求14所述的游戏设备双向通信方法,其中所述转换步骤在一个分组内转换所述通信协议。
17.如权利要求14所述的游戏设备双向通信方法,并且还包括调整接收从所述游戏机操作设备发送的数据的等待时间的步骤。
18.如权利要求14所述的游戏设备双向通信方法,并且还包括调整发送到所述游戏机操作设备的数据的时间间隔的步骤。
19.如权利要求9所述的游戏系统,该游戏系统是一个电视游戏系统,其中所述游戏设备是一个电视游戏机主单元,所述游戏机操作设备是游戏控制器,这些控制器输入命令给所述电视游戏机主单元。
全文摘要
在例如电视游戏系统的游戏系统中,电视游戏机主单元包括协议控制器和通过串口连接到电视游戏机主单元的每个游戏操作设备,还具有一个协议控制器。该电视游戏机主单元连接到具有一个唯一标识符的游戏操作设备时,将发送和接收每个字符数据的通信协议与发送或接收一行中的两个或多个字符数据的通信协议组合和将该通信协议转换为对应于基于该标识符的那个游戏操作设备的通信协议,以便最小化该电视游戏机主单元和游戏操作设备之间所需的信息量。
文档编号G06F3/038GK1268896SQ99800701
公开日2000年10月4日 申请日期1999年5月11日 优先权日1998年5月12日
发明者山本靖之, 井尾秀明, 田中诚 申请人:索尼电脑娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1