CN1285201C - 数据传输方法及使用该方法的游戏机和外围设备 - Google Patents
数据传输方法及使用该方法的游戏机和外围设备 Download PDFInfo
- Publication number
- CN1285201C CN1285201C CN 98800641 CN98800641A CN1285201C CN 1285201 C CN1285201 C CN 1285201C CN 98800641 CN98800641 CN 98800641 CN 98800641 A CN98800641 A CN 98800641A CN 1285201 C CN1285201 C CN 1285201C
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- signal
- ancillary equipment
- clock pulse
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明在游戏设备与相关外围设备之间提供了一种新的数据传输系统,而且还提供了一种采用相同技术的设备。串行传输数据被分割为一个奇数位序列和一个偶数位序列。奇数位序列数据的各个位被分别插入到具有恒定间隔的第一脉冲序列信号的各脉冲之间,进而形成了一个第一脉冲序列信号(SDCKA)。偶数位序列数据的各个位被分别插入到具有恒定间隔的第二脉冲序列信号的各脉冲之间,进而形成了一个第二脉冲序列信号(SDCKB)。这两个信号的各时间轴被调整为处于这样一种情况,即,使第一脉冲序列信号的时钟单元处于第二脉冲序列信号的时间部分中,而且使第二脉冲序列信号的时钟单元也处于第一脉冲序列信号的时间部分中。数据的传输就利用了这些经调整过的第一和第二脉冲序列信号(SDCKA,SDCKB)。
Description
本发明涉及一种接口技术,该技术可在执行数据处理的数据处理设备和执行信息输入/输出的外围设备等之问提供交互连接。具体来说,本发明涉及一种新的接口技术标准,该标准与游戏设备及其相关外围设备之间的连接有关。
在图象处理设备主单元与其外围设备之间的数据通信中所使用的数据传输方法包括以下几种。
Philips,I2C总线系统
本系统中,串行数据和串行时钟是通过两条线路进行传输的。数据和时钟信号是物理隔离的,而且数据的发射/接收以及再现都可用最简单的方法来完成。对I2C总线的说明(例如)可在Philips的I2C总线指导手册(1992年1月)中找到。
SGS----Thomson DS链接系统
本系统中,数据信号和选通信号是用两条线路进行传输的。时钟信号则通过数据信号和选通信号而得到再现。当传输数据改变为不同值时,只有数据信号发生变化。而当传输数据保持为相同值时,只有选通信号发生变化。例如,如果数据信号中的传输数据从“0”变为“1”或从“1”变为“0”,则选通信号并不改变。而如果数据信号中的传输数据没有发生变化时,即,“0”→“0”,或“1”→“1”,则只有选通信号发生变化。因此,通过对数据信号和选通信号进行异或操作,就可使时钟信号再现。该DS链接系统在Nikkei Electronics,Vol.675(1996年11月4日,PP·167-171)中有说明。
在面向客户的设备(如游戏设备)中,使用低成本的数据传输系统和接口连接标准是很有必要的。
但是,在上述的I2C总线系统中,由于数据信号的跃变沿与时钟的跃变沿具有相同的周期,因此在数据再现(解调)侧就不可能直接使用时钟信号。另外,在其后的DS链接系统中,因为同步时钟的还原需通过对数据信号和选通信号进行异或操作而完成,而且对数据信号的采样必须使用此时钟信号。所以,接口电路结构的简易程度并不能充分满足家用游戏设备所需的条件,即低成本是一个很重要的需求。
因此,本发明的一个目的就是为一种家用低成本电路结构的接口提供一种数据传输系统,该系统可被应用于图象处理设备,如家用游戏系统中。
本发明的另一个目的是为一个接口提供一种数据传输系统,利用这个接口,数据可通过简单的电路结构而与信号搭载数据分离开来。
本发明还有一个目的是提供一种含有接口的游戏设备和相关外围设备,利用该接口,数据可通过一简单的电路结构而与信号搭载数据分离开来。
本发明的另一个目的是通过在游戏设备与外围设备之间提出一种新颖的接口技术,从而为开发各种类型的外围设备提供基本技术。
为了实现上述目的,根据本发明所述的数据传输系统,其传输数据工作是通过将一项串行数据分散为第一和第二数据信号而完成的。其中,第一数据信号含有串行数据的各奇数位,它分布于具有均匀间隔的脉冲序列而形成的第一时钟脉冲信号之间;第二数据信号则含有串行数据的各偶数位,它分布于由具有与第一时钟信号相同频率的脉冲序列所形成的第二时钟脉冲信号之间;第一数据信号的传输是通过使其时钟信号单元的脉冲沿在时间轴上处于第二数据信号数据部分之中而完成的;而第数据信号的传输则是通过使其时钟信号单元的脉冲沿在时间轴上处于第一数据信号数据部分之中而完成的(图10,图11,图50,图54)。
另外,在一种使用数据帧的数据传输系统中,其数据帧是根据一种传输格式而定义的,该传输格式至少包括:一载有数据起始信息的起始模式,一载有串行数据的数据模式以及一载有数据结束信息的结束模式。这个数据帧的传输工作是通过将其分为第一和第二数据信号而完成的。这种根据本发明所述的数据传输系统,其特点在于,起始模式是通过将第一数据信号设定为固定值且将第二数据信号设定为第一脉冲序列信号而产生的;数据模式是通过将串行数据的各奇数位分散于具有一固定间隔的第二脉冲序列信号的脉冲之间以形成第一数据信号并且通过将串行数据的各偶数位分散于第三脉冲序列信号的脉冲之间以形成第二数据信号而产生的,其中第三脉冲信号在时间轴上与第二脉冲信号之间有一预定的漂移量;而结束模式则是通过将第二数据信号设定为一个固定值且将第一数据信号设定为第四脉冲序列信号而产生的(图11,图12,图50,图54)。
通过这种结构,就有可能产生出这样一种通信接口,其调制和解调电路可通过使用数目较少的数据线(即,两条数据线)而相对简单地组成。
最好通过将第一和第二数据信号之一的数据信号电平锁存在另一数据信号的时钟信号单元的脉冲沿上来对重叠数据进行隔离。这样,才有可能利用简单的电路结构(图10,图28,图29,图50)来实现重叠数据的隔离。
在一种通过信号传输路径向一个或多个外围设备同时传输两个数据信号(SDCKA,SDCKB)以用于在游戏中请求传输或响应游戏所需信息的游戏设备中,该符号本发明所述内容的游戏设备包括:起始模式产生装置,它用于产生一个有两个数据信号来代表的起始模式,其中第一数据信号在一第一时间周期内被设定为一个恒定值(或固定值),而的数据信号则在第一时间周期内被设定为处于一个时钟信号状态(图13(a),图14,58,204C);数据模式产生装置,它用于产生一个有两个数据信号来代表的数据模式,其中待传输至外围设备的数据被分为两个数据序列,并且第一数据信号是通过将第一数据序列的各个位分别插入第一时钟信号的脉冲之间而产生的,第二数据信号是通过将第二数据序列的各个位分别插入与第一时钟信号(图10,204e)频率相同且有预定相差的第二时钟信号的脉冲之间而产生的;结束模式产生装置,它用于产生一个由两个数据信号来代表的结束模式,其中第二信号在一第二时间周期内被设定为处于一恒定(或固定)值状态,而第一信号则在第二时间周期(图13,58,204c)内被设定为处于时钟信号状态;以及帧发生装置,它用于产生由两个数据信号来代表的一个帧,并可将该帧作为传输单元而传输至外围设备(图58,204c)中,其中的一个帧由起始模式,数据模式和结束模式组成。
上述数据最好是串行数据,并且第一数据序列最好是由串行数据各奇数位组成的数据序列,第二数据序列最好是由串行数据各偶数位组成的数据序列。
另外,上述预定相差是这样确定的,即,让包含于两个数据信号之一数据信号之中的时钟信号的脉冲沿在时间轴上位于另一个数据信号的数据部分之中,并且让包含于另一数据信号之中的时钟信号的脉冲沿在时间轴上位于上述数据信号的数据部分之中(图10,50)。
采用上述数据传输方法的游戏设备可以迅速隔离出数据,因为一个传输时钟单元是由一个或两个数据信号构成。而且调制或解调电路也可相对简单地构成。
数据模式最好有一个命令和一个参数构成,而且该参数至少应含有与待用于接收帧的信号传输路径(图7,图48)相连接的外围设备的地址。由于在游戏设备与外围设备之间的数据通信中所使用的信号格式是利用一种帧格式而被标准化的,因此就可以十分容易地保证游戏设备与多种类型外围设备之间的兼容性。
对于信号传输路径来说,可使用有线数据信号线路,或无线通信频道(图95),或光纤通信频道(图96)或这些路径的混合体。
在一种用于游戏设备的外围设备中,该外围设备可通过同时传输两个数据信号来向具有一个输入/输出端口或多个输入/输出端口的游戏设备发送游戏所需的信息,这种根据本发明所述的游戏设备包括:
起始模式产生装置,它用于产生一个有两个数据信号来代表的起始模式,其中第一数据信号在一第一时间周期内被设定为一个恒定值(或固定值),而的数据信号则在第一时间周期内被设定为处于一个时钟信号状态;数据模式产生装置,它用于产生一个由两个数据信号来代表的数据模式,其中待传输至游戏设备的数据被分为两个数据序列,并且第一数据序列的各个位被分别插入至第一时钟信号的脉冲之间,第二数据序列的各个位被分别插入到与第一时钟信号具有相同频率和预定相差的第二时钟信号的脉冲之间;结束模式产生装置,它用于产生一个由两个数据信号来代表的结束模式,其中第二信号在一第二时间周期内被设定为处于一恒定(或固定)值状态,而第一信号则在第二时间周期内被设定为处于时钟信号状态;以及帧发生装置,它用于产生由两个数据信号来代表的一个帧,并可将该帧作为传输单元而传输至游戏设备中,其中的一个帧由起始模式,数据模式和结束模式组成。
上述数据最好是串行数据以便于分为两个数据序列,其第一数据序列由串行数据的奇数位构成,而第二数据序列则由串行数据的偶数位构成。而且串行数据、块数据可通过用于收集数据的缓冲区而得到控制。
上述相差是这样确定的,即,让包含于两个数据信号之一数据信号之中的时钟信号的脉冲沿在时间轴上位于另一个数据信号的数据部分之中,并且让包含于另一数据信号之中的时钟信号的脉冲沿在时间轴上位于上述数据信号的数据部分之中(图10,50)。这样,就可以简单地通过另一个时钟而将叠加在数据信号上的数据隔离开来。
数据模式最好有一个命令和一个参数构成,而且该参数至少应含有与待用于接收帧的信号传输路径(图48,图57)相连接的外围设备的地址。
数据模式最好有一个命令和一个参数构成,而且该参数至少包括一个源地址,该源地址用于说明外围设备发射帧的发射路径上的地址,而且该源地址是依据已由外围设备记录下来的外围设备识别信息(代表该外围设备的类型)和与外围设备所连接的输入/输出端口(由游戏设备指出)有关的信息而产生的。
在用于与游戏设备进行数据通信的外围设备中,该外围设备含有一个或多个通过数据传输路径与游戏设备的一个或多个输入/输出端口相连接的输入/输出端口,这种根据本发明所述的外围设备包括:第一存储装置,它用于预先保存代表外围设备类型的外围设备识别信息;第二存储装置,它用于保存代表由游戏设备指明且与输入/输出端口相连接的数据传输路径的输入/输出端口信息;以及源地址产生装置,它可根据外围设备识别信息和输入/输出端口信息(图58)来为外围设备产生一个源地址,该地址被附加在数据之后而传输到游戏设备中。
通过这种结构组成,游戏设备就能从接收到的传输数据中识别出位于数据传输路径上的外围设备以及该外围设备的类型。
在一种通过与游戏设备中所提供的一个或多个输入/输出端口之中的任一端口相连接的数据传输路径而与游戏设备进行数据通信的外围设备中,该根据本发明所述的外围设备包括:一个单基本接头,它与数据传输路径相连接;一个单扩展接头或多个扩展接头,它们通过基本接头与数据传输路径相连,从而将其它的外围设备与数据传输路径连接起来;以及一输入/输出控制器,它用于通过基本接头与游戏设备进行数据通信;此输入/输出控制器包括:第一存储装置,它用于预先保存外围设备识别信息,该信息代表了待直接与游戏设备相连接的这个设备是一个外围设备;第二存储装置,它用于保存代表由游戏设备指明且与输入/输出端口相连接的数据传输路径的输入/输出端口信息;连接识别装置,它可通过识别在扩展接头上是否连接有其它的外围设备来产生用于代表其它外围设备连接状态的连接信息;以及源地址产生装置,它用于产生一个含有扩展外围设备信息、输入/输出端口信息和连接信息的源地址,该地址被附加在传输数据之后(图58)。
识别装置最好通过识别扩展接头的某一特定端的电压水平来确定该扩展插孔上是否有连接,因为由其它外围设备提供的偏置电压是与其电平漂移电路相连接的。
在一种与上述外围设备的一个扩展接头相连接的扩展外围设备中,该根据本发明所述的扩展外围设备包括:第一存储装置,它可在与扩展接头连接之后保存代表扩展接头数目的接头识别信息,该信息由输入/输出控制器通过扩展接头指出;第二存储装置,它可预先保存扩展外围设备信息,该信息代表了待与扩展接头相连接的设备是一个外围设备;第三存储装置,它用于保存输入/输出端口信息,该信息代表了与数据传输路径相连接的输入/输出端口,它由游戏设备通过数据传输路径、基本接头和扩展接头而指出;以及源地址产生装置,它用于产生一个含有扩展外围设备信息、输入/输出端口信息和连接信息的源地址,该地址被附加在传输数据之后(图59)。
在一种含有一个单输入/输出端口或多个输入/输出端口以用于通过一主数据传输路径(M总线)与一基本外围设备进行连接的游戏设备中,其中外围设备的构成使得一个单扩展外围设备或多个扩展外围设备可通过辅助数据传输路径(LM总线)与其相连,该符合本发明所述的游戏设备包括:一输入/输出控制器,它可通过帧信号来执行与任何外围设备之间的断续数据通信;其中的数据通信是依据一种格式进行的,通过这种格式,相关的外围设备就可响应输入/输出控制器的指示;上述帧信号包括:一代表数据格式开始的起始模式,一载有传输数据的数据模式,以及一代表数据模式结束的结束模式;数据模式含有一个命令和一个参数;该参数含有目标地址和源地址;而且目标地址和源地址都是通过将与通信中使用的主数据传输路径有关的信息、通信中涉及到的外围设备的基本设备/扩展设备分类信息以及通信中使用的辅助数据传输路径包括在内而产生的(图58,图59)。
各辅助数据传输路径最好分别与主数据传输路径平行,而且在游戏设备与扩展外围设备之间最好进行直接数据通信。
基本外围设备和扩展外围设备最好分别保持含有外围设备类型信息的内在信息和设备内在信息,并且游戏设备可通过数据传输而读出此内在信息。通过参考此内在信息,游戏设备就能够兼容地识别出游戏设备和外围设备。
因此,就可以避免使用与所谓的“即插即用”系统或应用程序不兼容的游戏设备。
主数据传输路径最好由两条数据线组成,而且通过分割帧信号而产生的两个数据信号最好在两条数据线中分别传输。这样,就可以将符合本发明所述的数据传输应用到一个游戏设备上。
在一个用于游戏设备的基本外围设备中,一个单扩展外围设备或多个扩展外围设备可以通过各个辅助数据传输路径而与其相连,而且该设备通过一主数据传输路径而与含有单输入/输出端口或多个输入/输出端口的游戏设备相连接,该符合本发明所述的基本外围设备包括一输入/输出控制器,它可通过帧信号而与游戏设备进行断续数据通信;而且数据通信是依据一种格式进行的,通过这种格式,输入/输出控制器就可响应游戏设备发出的指示;上述帧信号包括:一代表数据格式开始的起始模式,一载有传输数据的数据模式,以及一代表数据模式结束的结束模式;数据模式含有一个命令和一个参数;该参数含有目标地址和源地址;而且目标地址和源地址都是通过将与通信中使用的主数据传输路径有关的信息、通信中涉及到的外围设备的主/从分类信息以及通信中使用的辅助数据传输路径包括在内而产生的(图58,图59)。
根据本发明所述的用于游戏设备的基本外围设备还包括一个用于连接主数据传输路径的接头,以及多个用于通过接头将主数据传输路径与辅助数据传输路径平行连接的扩展接头。
基本外围设备最好含有存储装置,该装置用于保存含有外围设备类型信息以及设备自身的信息的内在信息,并且这个内在信息可响应游戏设备发出的请求而通过数据通信被传输出去。
利用根据本发明所述数据传输方法的基本外围设备最好具有这样一种结构,即主数据传输路径最好由两条数据线组成,而且通过分割帧信号而产生的两个数据信号最好在两条数据线中分别传输。
通过与含有多个输入/输出端口的游戏设备进行连接,具有上述组成的外围设备就可以与该游戏设备进行数据通信,并且还可以通过与由游戏设备指出的输入/输出端口有关的信息而在数据传输路径上为其自身产生一个源地址以及用于代表外围设备类型的信息,该信息由设备自身保持。
一种用于游戏设备的扩展外围设备中,该设备可通过一辅助数据传输路径以及一主数据传输路径而与游戏设备相连接,其中的扩展外围设备是通过辅助数据传输路径与一个基本外围设备相连接的,该符合本发明所述的扩展基本外围设备包括一输入/输出控制器,它可通过帧信号而与游戏设备进行断续数据通信;而且数据通信是依据一种格式进行的,通过这种格式,输入/输出控制器就可响应游戏设备发出的指示;上述帧信号包括:一代表数据格式开始的起始模式,一载有传输数据的数据模式,以及一代表数据模式结束的结束模式;数据模式含有一个命令和一个参数;该参数含有目标地址和源地址;而且目标地址和源地址都是通过将与通信中使用的主数据传输路径有关的信息、通信中涉及到的外围设备的基本设备/扩展设备分类信息以及通信中使用的辅助数据传输路径包括在内而产生的(图59)。
主数据传输路径最好由两条数据线组成,辅助数据传输路径应由两条上行数据线和两条下行数据线组成,而且通过分割帧信号而产生的两个数据信号应在两条数据线中分别传输。
具有上述结构的扩展外围设备可通过一外围设备与一游戏设备进行数据通信,上述游戏设备含有多个输入/输出端口,而外围设备则具有多个与任一输入/输出端口平行连接的扩展接头。该设备可通过一些信息来产生一个数据通信中所使用的源地址,这些信息与输入/输出端口(由游戏设备指出)有关,还与所使用的扩展接头(由外围设备指出)有关。该源地址并不是一个简单的地址,它还含有确定的信息。外围设备的这类功能适合于即插即用系统或类似系统。
根据本发明所述的信息存储介质可以保存一些程序,这些程序能够使计算机系统象上述游戏设备(主机)或外围设备一样进行工作。
图1是一个示意图,它显示了一个主机(游戏设备)1、外围设备2及扩展外围设备3的实例;
图2的框图显示了一个主机控制系统;
图3的框图显示了一个主机与多个设备之间的连接关系;
图4的框图显示了一个主机与多个高端设备及多个低端设备之间的连接关系;
图5的框图显示了绝对位置的分布;
图6的框图显示了当从主机方向观察时,各设备都具有位置上的渗透性;
图7显示了一个发射数据帧的组成;
图8的框图显示了软件侧的一个接口的组成;
图9的框图显示了主机与设备之间的传输协议水平;
图10显示了一个数据传输系统;
图11显示了一个传输帧的标准格式;
图12显示了一个含有CRC选项的传输帧格式;
图13显示了一个同步模式的(a)一个起始模式(b)一个结束模式;
图14显示了一个CRC选项起始模式;
图15显示了一个SDCKB占有许可模式;
图16显示了一个复位模式;
图17显示了一种处于主机和设备功能之间的通信模式;
图18(a)显示了M总线的一个方面,在此总线中,数据通信根据一种格式而断续进行,而且设备功能将根据这种格式来响应主机发出的命令;图18(b)显示了一个实例。其中,待被传输的数据较长,并且该数据是利用多个传输帧断续传输的;
图19给出了一种设备操作的简略图解说明;
图20显示了一个绝对位置(AP)的设定过程;
图21是一个主机MIE的电路框图;
图22是一个帧编码器工作原理的电路框图;
图23是一帧编码器的工作时序图;
图24是一交替移位寄存器工作原理的电路框图;
图25是一个交替移位寄存器(并行-串行转换)的工作时序图;
图26是一个帧解码器的工作原理电路框图;
图27是一个帧解码器的工作时序图;
图28是一个交替移位寄存器(并行-串行转换)的工作原理电路框图;
图29是一个交替移位寄存器的工作时序图;
图30给出了对一个标准控制器的普通结构的简略图解说明;
图31是一个标准控制器MIE的框图;
图32显示了一个可进行数据渗透(位置渗透)的总线切换部分;
图33是一个U类设备MIE的电路框图;
图34是一个L类设备MIE的电路框图;
图35是一个流程图,它说明了MIE中一个传输模式的识别过程;
图36的流程图显示了一个标准格式帧信号的信息;
图37的流程图显示了一个具有CRC选项格式的帧信号的信息;
图38的流程图显示了通过SDCKB占有模式而进行的操作;
图39的流程图显示了一个复位模式的传输过程;
图40的流程图显示了一个MIE中的接收操作过程;
图41的流程图显示了在起始模式被检测到之后所进行的处理过程;
图42的流程图显示了在含有CRC的起始模式被检测到之后所进行的处理过程;
图43的流程图显示了一个实例,在此实例中,由设备保持的内在信息被主机读出;
图44显示了用于连接一个主机和多个基本设备及扩展设备的多种模式;
图45给出了一个主机与多种功能(基本设备及扩展设备)之间的关系草图;
图46显示了通过一个分层模型而在主机与基本设备及扩展设备之间进行的数据通信;
图47显示了一个基本设备与多个扩展设备之间的连接关系;
图48显示了帧数据的组成;
图49显示了一次暂停过程;
图50显示了通过SDCKA和SDCKB信号进行的数据传输;
图51显示了一个起始模式和一个结束模式;
图52显示了一个SDCKB占有许可模式;
图53显示了一个复位模式;
图54显示了一个帧格式;
图55给出了对主机与外围设备(基本设备及扩展设备)之间的数据传输的简略图解说明;
图56(a)显示了断续数据通信是如何通过一种格式来进行的,设备可通过此格式来响应主机向设备发出的命令。图56(b)显示了一个实例,在此实例中,当待传输数据大于单个传输帧的容量时,该待传输数据将被分割为多个数据,并且通过多个传输帧被传输出去;
图57显示了所有用于主机、基本设备以及扩展设备的AP值;
图58显示了一个基本设备的AP设定过程(绝对地址);
图59显示了一个扩展设备的AP设定过程(绝对地址);
图60显示了传输于主机、基本设备以及扩展设备之间的帧数据;
图61显示了主机与基本设备(或扩展设备)之间的正常通信过程;
图62显示了主机与基本设备之间的一个SDCKB占有过程;
图63是一个主机MIE框图;
图64是一个基本设备的组成框图;
图65是一个基本设备MIE的组成框图;
图66显示了基本设备与扩展设备之间的连接;
图67显示了基本设备从主机中接收数据的步骤;
图68显示了基本设备从主机中接收容量大于传输和接收缓冲区的数据时的步骤。
图69显示了数据从一基本设备传输至一主机时的过程;
图70显示了容量大于MIE传输和接收缓冲区的数据从一基本设备传输至一主机时的过程;
图71显示了一个“设备请求”命令;
图72显示了一个“所有状态请求”命令;
图73显示了一个“设备请求”命令;
图74显示了一个“设备删除”命令;
图75显示了一个“数据传送”命令;
图76显示了一个“获取条件”命令;
图77显示了一个“获取介质信息”命令;
图78显示了一个“块读”命令;
图79显示了一个“块写”命令;
图80显示了一个“获取最后错误”命令;
图81的框图显示了一个具有相对地址的基本设备(游戏控制器)实例;
图82的框图显示了一个具有绝对地址的基本设备(游戏控制器)实例;
图83的框图显示了一个具有相对地址的扩展设备(盒式LCD)实例;
图84的框图显示了一个具有绝对地址的扩展设备(盒式LCD)实例;
图85的框图显示了一个具有相对地址的扩展设备(盒式存储器)实例;
图86的框图显示了一个具有绝对地址的扩展设备(盒式存储器)实例;
图87的框图显示了一个具有相对地址的扩展设备(振动盒)实例;
图88的框图显示了一个具有绝对地址的扩展设备(振动盒)实例;
图89的框图显示了一个具有相对地址的扩展设备(光电子枪盒)实例;
图90的框图显示了一个具有绝对地址的扩展设备(光电子枪盒)实例;
图91的框图显示了一个具有相对地址的扩展设备(声音输入盒)实例;
图92的框图显示了一个具有绝对地址的扩展设备(声音输入盒)实例;
图93的框图显示了一个具有相对地址的扩展设备(声音输出盒)实例;
图94的框图显示了一个具有绝对地址的扩展设备(声音输出盒)实例;
图95显示了一个实例,在此实例中,M总线是由无线系统(无线广播)构成的;
图96显示了另一个实例,其中的M总线是由无线系统(光缆传输)构成的;
图97(a)显示了一个游戏设备的M总线接头;图97(b)显示了一个游戏设备的LM总线接头;
图98显示了另一个游戏控制器的实例;
图99是一个M总线插座实例的俯视图;
图100(a)是一个M总线接头插头的侧视图;图100(b)是该插头的顶视图;
图100(c)是该插头的正视图;
图101是一个M总线电缆的外围设备(基本设备)上提供的接头视图;
图102(a)是一个LM总线接头插座的顶视图;图102(b)是该插座的正视图;
图103(a)是一个LM总线接头插头的顶视图;图103(b)是该插头的正视图;
首先,将参考图1和图2对系统组成进行概括说明。图1用于说明一个含有计算机系统的游戏设备。图2则对一个用于该游戏设备的控制系统进行了说明。
该游戏设备(主机)1包括:一用于执行游戏程序或类似程序的CPU1a;一用于为游戏设备保存控制程序、数据、OS及类似程序的ROM1b;一用于保存游戏应用程序和数据的CD-ROM设备1c;一用于对传送与CPU1a和其它部分之间的数据进行控制的总线控制器1d;一用于为CPU1a保存在数据处理过程中使用的程序和数据的RAM1e;一用于从图形数据中生成图象信号的图形处理器1f;一用于从声音数据中产生声音信号的声音处理器1g;一用于对传送于CPU1a和外部外围设备之间的数据进行中继的外围接口1h;等等。RAM1e的一部分被作为工作RAM以用于外围数据处理,因而形成了所谓的DMA操作。图象信号和声音信号被提供给一个监视器4(如TV显示器),并且视频图象及声音将被其输出。外围设备包括基本外围设备2和扩展外围设备3。基本外围设备2通过一接头1i与外围接口1h相连,扩展外围设备3则与基本外围设备2相连接。基本外围设备2与扩展外围设备3以并行的方式与主机电子连接(或通过逻辑结构)。基本外围设备2可以是(例如)游戏控制器,而扩展外围设备3则可以是(例如)声音输入设备、声音输出设备、光线枪模块,振动设备,存储器设备等等。
此处,在以下说明的第一种实现模式(第一接口步标准)中,外围设备将根据它们所执行的功能而被检测,并籍此分为U类设备功能和L类设备功能。这种分类将一些因素考虑在内,即,除了存在由单个外围设备形成单一功能的情况以外,还存在由单个外围设备形成多个功能的情况,此外还有用多个外围设备来实现单一功能的情况。
另一方面,在以下说明的第二种实现模式(第二接口标准)中,外围设备根据设备之间的连接关系被分为基本外围设备和扩展外围设备。
概括地说,用于实现本发明所述内容的模式分为两类:第一实现模式和第二实现模式。
〔第一实现模式〕
一开始先参考附图对根据本发明所述第一接口标准中所使用的术语的含义进行说明。
首先,通过在时间序列上对数据进行扩展而获得的数据称为“串行数据”。以串行数据形式来交换数据的信号线称为“串行总线”。利用本发明所述接口标准而将游戏设备与外围设备连接起来的一条串行总线称为一条M总线(M-BUS)。
初始分配给各外围设备的设备功能的注册系统识别号码被称为“设备ID”。可以预备多个类型的设备ID,例如256种设备ID。在一个单端口处还可以有多个相同的设备号。
外围设备可通过某一个部分经M总线与游戏设备的外围控制器相连,该部分称为“端口”。M总线允许与多个端口进行有效连接。也就是说,例如,它可支持16个端口,但是在本实现模式所涉及的一个实例中,它只支持4个端口(端口A,端口B,端口C,端口D)。
如图3所示,游戏设备被称为“主机”,并且与其相连接的外围设备的功能之一被称为“设备功能”。由于“设备功能”指的是一种设备的一个功能,而不是设备(产品)本身,所以除了在用单一功能的情况以外,还有可能将单一设备的功能分为多种功能,其中每个功能都可作为一个设备功能。在M总线上,存在有一个主机设备,它通过一种树形结构与各设备功能相连接。因而各个设备功能就好象出现在相同的M总线上一样。一个端口上可连接多个设备功能,例如14个设备功能。这些设备功能可以使得游戏设备的外围设备具有以下设备的功能,例如,游戏控制器,游戏杆,游戏棒,键盘,模拟控制设备,模拟枪,记录设备,声音设备,等等。
如图4所示,设备功能分为两类:“高端(U)设备功能”和“低端(L)设备功能”。U类设备功能可以与主机相连接。U类设备功能具有控制L类设备功能的能力。L类设备功能则是以它们所连接的(或能够连接的)U类设备功能为前提依据。将L类设备功能与U类设备功能连接起来的M总线称为“LM总线”。
除非在一个端口上至少提供有一个U类设备功能,否则该端将不能使用。原则上说,游戏设备控制器形成了U类设备功能,而扩展(外围连接)设备形成了L类设备功能。M总线至多能够与(例如)14个L类设备功能连接。
另外,还有可能将U类设备功能与L类设备功能连接。在这种情况下,被连接的U类设备功能将变为L类设备功能。将U类设备功能与L类设备功能物理分离是有必要的,而且有可能将一个U类设备功能内的另一个设备功能从逻辑上分离出来以形成一个L类设备功能。
例如,在外围设备的IC控制设备功能(即,微电脑或微处理器)内,可以将其数字控制部分和模拟控制部分分别设定为U类设备功能和L类设备功能,并且当一个模拟控制部分(即L类设备功能)不在使用时,有可能禁用该部分。
如图5所示,各号码从端口A开始被顺序分配给各设备功能,从而使得主机能够在其各端口中直接访问到多个设备功能之一。被分配给各设备功能以用于访问访问的识别号(或符号)称为“绝对位址(AP)”。
在M总线上,有多个识别功能被分配给主机的一个单端口。M总线上的端口号与AP号之间的关系由以下公式表示:
(最大端口数)×(分配给一个端口的最大AP数)=常数
在根据本实现模式所述的M总线中,“常数”用一个字节表示,在这种情况下,
(4端口(最大16端口))×(端口的最大AP号)=1字节
在16个AP中,有一个AP被保留给主机端口,所以一个单端口上最多可分配15个AP。因此,一个端口上最多可使用15个设备功能。另外,由于一个端口上连接有一个U类设备功能,所以任何端口上L类设备功能的最大数目为14。
各端口上能够使用的序号的范围由分配给设备功能的AP来决定。例如,AP的组成如2下:
位 76543210
AP PPPP□□□□
此处,“PPPP”是端口号(端口A=“0000”,端口B=“0001”,端口C=“0010”,端口D=“0011”),并且“□□□□”是序列号(“0000”(十进制的‘0’))-(“1111”(十进制的‘15’))。因此,用于最大设备功能的AP为15,并且有15个设备功能可被设定给一个端口。
用二进制来表示,设备功能的AP值为“00000001”-“00001111”端口A,“00010001”-“00011111”端口B,“00100001”-“00101111”端口C,“00110001”-“00111111”端口D。
用十进制来表示,上述值为1-15,17-31,33-47,49-63。用十六进制来表示则为#01-#0F,#11-#1F,#21-#2F,以及#31-#3F。
从设备功能方向看,主机各端口的AP总处于该端口可用的最小AP值上。在端口A上为#00,在端口B上为#10(16),端口C为#20(32),以及端口D为#30(48)。设备功能和主机能够通过AP的前4个位来识别端口上的连接。对一个设备功能的访问,即是指定由该AP访问的这个设备功能。
指定分配给各设备功能的AP,也就是同时指定了一个设备功能,这样主机就能够直接访问外围设备的各个设备功能。因此,如图6所示,从主机方向看,主机好象与各个设备功能直接连接一样。换句话说,各设备好象连接到了同一总线上。
主机与设备功能直接3的数据交换不是通过传统的单向通信而进行的,它采用了确定的特殊指导,从而使得适合于某时间和地点的数据可以被传输和接收。这些指导称为“命令”。命令数据就称为一个“参数”。
一轮传输数据由一个帧构成(如:256字节),这个帧含有一个命令和一个参数,如图7所示。其参数可包括AP数据,数据长度以及数据本身,或者数据本身也可被省略。
从原则上说,主机是通过发出一个命令来访问一设备功能的。当设备功能已准备好相应数据时,它将向主机发出一个命令并开始发送数据。在M总线上,例如,最多可准备254个命令,并且数据传输的最大容量为253个字节。
一个用来连接扩展设备以便于扩展外围设备功能的部分,如作为游戏操作输入设备的游戏控制器,该部分被称为“扩展插座”。原则上,L类设备与扩展插座相连接。例如,一个标准游戏控制器含有两个扩展插座。在M总线上可提供与L类设备功能的数目相等的扩展插座,例如,在本实现模式中为14个。
一种能够将确定数据转换为用于M总线的串行数据以便通过M总线进行通信的电路被称为“M总线I/F引擎”(MIE)。M总线标准设备都含有这类MIE。主机可以将主机MIE、U类设备功能,U类设备功能MIE以及L类设备功能和L类设备功能MIE结合起来使用。
如图8所示,为了使主机能够访问一个设备功能,就总有必要利用软件(M总线驱动程序)来进行操作,因为软件能够对设备功能进行一般的控制。M总线驱动程序可以对设备功能进行控制和管理。该M总线驱动程序可以管理设备ID(功能识别号),AP(绝对位置)以及端口,等等,并且它还可以控制和管理命令的传输和接收、数据格式以及类似工作。通过改进和扩大M总线驱动程序可使命令数目增加。
在M总线上,所有的设备功能都必须具有特定于自身的信息(内在信息),这些信息的记录是按照预定格式进行的。这个设备功能信息就称为“设备状态”。
设备状态记录有产品名称,设备ID,执照,模式号,目的,LM总线号以及类似于数据管理,闲置电流损耗和最大电流损耗…等等电子数据(硬件信息)的内容。设备状态由M总线驱动程序和应用程序接口(API)来管理和使用;例如:它使得外围设备的产品名称和连接容量可被识别出来,允许用于各端口的电流得到控制(以最大电流损耗为基础),等等。
图9对本接口标准所提出的范围作了粗略说明。主机中运行的应用软件通过利用称为API的软件或直接向M总线驱动程序发出指示,就可以用外围设备中的设备功能来执行数据通信。根据上述指示而形成的M总线驱动程序命令通过主机MIE电缆、外围设备MIE及MIE控制器被提供给控制软件,它构成了外围设备的设备功能的核心。该控制软件通过MIE控制器,外围设备MIE,电缆,主机MIE及M总线驱动程序向主机中运行的应用软件所发出的命令发送一个相应回应信息。这样,就可以在一个外围设备中提供多个设备功能,而且在这种情况下,还有可能让各个设备功能来共享一个MIE应用。此处,MIE和连接电缆,等等代表物理层,而M总线驱动程序和MIE控制器则代表逻辑层。
接下来,将对M总线上的数据传输进行说明。
在M总线上,数据传输是由一个同步串行系统来执行的。其连接电缆总共含有四条线:一对电源线(CC,GND),和一对数据线(SDCKA,SDCKB:双向)。如果需要的话,还可以增加一条屏蔽线以对连接电缆进行屏蔽。从而防止了噪声干扰。数据的传输和接收利用的是一个双向通信半-双工系统,它被设定为一个适当的数据传送速度,如:2Mbps。
以下将参考图10对数据传输的原理进行说明。数据是通过传播于一条数据线之中的一个串行数据时钟(SDCK)A和串行数据时钟(SDCK)B而被传输的。在传输数据时串行数据时钟A和B构成了一个时钟单元,并且它们交替地形成了一个负沿(下降沿),如图10所示。换句话说,在如图11所示的数据模式部分中,数据位被插入到传输时钟脉冲序列的各个脉冲之间,并且串行数据时钟A和B在时间轴上互相交替移动一个适当的量(通过一段时间的漂移使得一个信号的脉冲沿处于另一个信号的数据部分中)。在接收侧,一个信号的数据部分根据另一个信号波形的负沿周期而被锁存起来,并且这个数据将被读出以用于产生数据(数据还原)。例如数据传送学最高有效位(MSB)开始,一种以这种方式来执行数据传输的电路可以具有相对简单的结构。另外,数据锁存周期也可以以信号的正沿(上升沿)为根据。
按照这种系统所述,与I2总线和DS链接系统相比,有可能降低数据传输路径中的传输频率。例如,为了使I2总线或DS链接系统以10Mbit/s的速度传送数据,则需要使数据传输介质以10MHZ的频率工作。但是,如果采用本系统,则由于10Mbit的数据是通过将其分散在两条数据线(各载有5Mbit)之间而被传输的,所以就可以在数据线上用5MHZ的数据传送时钟来获得10Mbit/s的数据传输率。另外,因为脉冲宽带的相应部分处被在时钟脉冲之间插入的数据所拉长,则传输频率也将下降相等的量。由于低传输速率很容易满足,所以电路设计将被简化。
图11和图12显示了一个信号传输格式的实例。一个传输格式包括:起始模式、数据模式及结束模式。如果需要的话,还可增加一个CRC(循环冗余校验)位。
图11显示了一个校准传输格式。数据传输以帧为单位(最小单位)来进行。在标准格式中,一个帧的组成开始于起始模式(START)(它说明数据传输的开始),然后是长度为256字节的数据模式(DATA)最后是结束模式(END)。数据模式中显示出的“D”符号代表载有数据信息为“0”和“1”的部分。
图12显示了一个结合CRC选项的格式实例,它给标准数据格式增加了一个错误校正功能。例如,可采用循环冗余校验(CRC)来作为错误校正方法。在使用CRC选项的数据传输中,数据后面增加了一个CRC代码模式,它起到了CRC的作用,如图12中的数据模式所示。
上述传输格式中数据格式以外的部分形成了几个信息模式,它们载有特定信息。这些信息模式是由信号脉冲(传输时钟)的数目来定义的,它用于传播于另一信号线之中并同时处于“L”电平状态的数据线SDCKA或SDCKB之一。例如,这些信息模式可包括:同步模式,数据占有许可模式,复位模式,等等。
同步模式包括:如图13(a)所示的起始模式,如图13(b)所示的结束模式以及如图14所示的带有CRC的起始模式。
起始模式是在上述数据模式之前传输的一个同步模式。如果接收器侧的MIE检测到数据线SDCKB的四个负沿,而且数据线SDCKA同时处于电平“L”,则其后的模式将被作为数据模式而读出,并且被存储器缓冲保存起来。
结束模式说明数据模式结尾。如果接收器侧的MIE检测到数据线SDCKA的一个负沿,而且数据线SDCKB同时处于电平“L”,则可以确定数据模式已经结束,并且说明过程的正确完成。
带有CRC选项的起始模式代表了增加有CRC选项的起始模式。如果接收器侧的MIE检测到数据线SDCKB的六个负沿,而且数据线SDCKA同时处于电平“L”,则可以判断是含有CRC选项的数据传输。利用结束模式之前的16个位作为CRC数据,就可对数据部分进行错误检查。
图15显示了一个数据线占有许可模式的实例,通过此模式,主机将允许接收侧占有一条数据线。在与占有数据线SDCKB有关的占有许可模式中,SDCKB具有8可负沿,同时SDCKA处于电平“L”。当接收器侧的MIE检测到SDCKB占有许可模式时,它就可从SDCKA的下一个负沿开始,在SDCKA处于“L”状态的同时占有SDCKB的占有可被以后的SDCKA正沿所取消。
例如,可以通过占有数据线SDKB而从射击类游戏设备所使用的光电子枪上向游戏设备发送输出数据。数据的传送仅使用仅使用了数据线SDCKB,并且数据线SDCKA可以说明占有时间(周期)。
图16显示出一个复位模式。该复位模式在数据线SDCKA处于电平“L”的同时含有14个数据线SDCKB的负沿。当接收器侧的MIE检测到该复位模式时,它将认为是从主机发出的一个复位请求。然后设备将初始化MIE并且清除AP,除此以外的数据不会被初始化。
接下来,将参考图17对主机与设备之间数据通信中的传输协议进行说明。
首先,原则上,主机具有优点传输命令的权利。通信以一种格式进行,利用这种格式,相应的设备功能就可响应从主机发出的命令。因此,所有的传输协议都开始于主机发出的命令。图18(a)对此作出了图解。当需求增加时,数据将从主机传输至设备功能。因此,在M最小和LM最小上,断续的数据通信被执行于主机和多个设备功能之间。如果待传输的数据,其长度超过了一个传输帧的预定长度,则该数据将被分割为如图18(b)所示的多个部分,而且被分割后的各数据部分也将通过多个传输帧被传输出去(见以下说明的图70)。
主机应用程序访问总线驱动程序以便于从特定外围设备的设备功能中获得数据。该驱动程序可产生一个AP,形成一个地址和一个命令,而且MIE将把载有AP和命令的帧数据发送至M总线。在正常状态下,与总线相连的设备功能处于等待主机发出命令的闲置状态。外围设备上的MIE可接收帧数据,并可通过MIE控制器将命令传送至设备功能的控制程序。
如果控制程序检测到自身的AP,它将通过MIE控制器回送一个响应相关命令的信息。MIE产生含有返回命令和主机AP的帧数据,并将其输出至总线。主机接收到此帧数据,并籍此获得响应命令。设备功能返回命令等待状态。
通过这种方法,主机就能够从设备功能中获得所需的信息。
接下来,将参考图19对设备功能中执行的处理过程进行概括描述。当电源线与外围设备相连并通电后,设备功能将执行一个初始化过程以用于设定初始硬件值等等。随后,一个AP设定过程将被执行以用于设定设备功能的AP值。在AP设定过程中,已连接的设备功能被识别出来,并且通过给设备功能一个AP就可将AP分配给各设备功能,等等。这样,就可以利用该AP来实现主机与设备功能之间的通信,从而实现正常的工作状态。
在正常工作状态下,当一个设备功能从主机上接收到一个复位命令后,其AP将被复位(软件复位)。当一个总线复位命令被接收后,所有的相应端口处与总线连接的设备功能都被初始化,而且它们的AP也将被复位(硬件复位)。主机也可通过向各设备功能发出一个命令来禁止或暂停一个操作。
现在将参考图20对设备功能中的AP设定过程进行说明。
(1)在初始化完成后,主机从端口A开始顺序发出一个设备请求,从而确定各端口上是否连接有设备功能。设备请求是一个命令,它要求任何未被分配AP的设备功能回送其自身的设备状态,该设备状态给出了设备的内在信息。设备请求命令发送的顺序是从端口A开始到端口D结束。
(2)在初始化完成后,一个U类设备功能将把LM总线与M总线断开,并等待从主机发出的设备请求。如果它从主机上接收到了一个设备请求,则它将向主机回送一个设备状态以作为响应。在此阶段上,任一时刻在一个端口上只有一个设备功能可接收设备请求。未被分配AP的设备功能不会产生响应。
(3)当主机从一个设备功能上接收到设备状态后,它将根据这个信息来确定连接关系以及设备的属性,并且将给该设备功能分配一个AP而会把载有已分配AP值的AP分配信号传输给设备功能,各端口AP的分配是在一设定范围内连续进行的,而且主机还会对AP与设备功能之间的关系进行检测。如果设备功能的属性不是应用软件所需的(超过使用范围);则该设备功能的操作将被主机发出的设备删除命令所中断。如果该设备功能是一个U类设备功能,则与之相连接的L类设备功能也将被中断,从而使整个端口停用。
(4)设备功能从主机上读到AP分配信号并将其保存起来,然后设备功能将向主机发出一个设备应答信息以作为响应。之后,主机就可利用设备ID和AP对此设备功能进行访问。
(5)由于主机从设备状态的当前设定中检测到设备功能号和LM总线,如果是一个LM总线。则主机将发出一个LM总线连接命令,从而使得LM总线之一与设备功能相连接。如果没有LM总线连接,则将按以下的第(10)步进行处理。
(6)当一个U类设备功能接收到LM总线连接命令后,它将把一个LM总线与M总线相连。然后它将向主机发送一个设备应答信息。
(7)当主机接收到设备应答信息后,它将发出一个设备请求命令。在这种情况下,由于该U类设备功能已经被分配了一个AP,所以它将不会作出响应。
(8)当一个L类设备功能从主机上接收到一个设备请求命令后,它将向主机发出设备状态信息以作为响应。
(9)步骤(3)到(8)将被重复执行,直到所有LM总线都连接上为止(即,AP被分配给所有的设备功能)。
(10)主机发出一个功能开始命令以启动各设备功能的操作。
(11)当设备功能接收到功能开始命令后,它将从AP设定操作状态转变成正常工作状态。转变完成后,设备功能将向主机发出一个设备应答信息。
(12)根据接收到的设备应答信息,主机将向下一个AP发出功能开始命令。
(13)通过重复步骤(11)和(12),各设备功能将被顺序激活,直到处于最后AP上的设备功能发出设备应答信息为止,该信息代表了AP设定过程的结束。
(14)在设备功能已经转变为正常工作状态后,主机将继续对下一个端口进行AP设定。
通过这种方式,就可将AP设定给与一特定端口相连接的各设备功能。
以下,将对在主机操作时与电缆的连接和断开(有效线路连接/断开)有关的过程进行说明。
(1)主机以预定间隔向各端口发出设备请求命令。未被使用的端口可以从访问操作中排除。
(2)如果从一个先前未被连接的端口发出一个设备状态信息,则主机将认为已经连接上了一个设备功能。籍此,主机将向该端口发出一个复位模式,并清除所有设备功能的AP。然后主机将执行AP设定过程以更新AP,并且重新建立连接关系。
(3)如果主机向设备功能发出了一个命令而该设备功能没有作出响应,则主机将认为该设备功能已被断开,如果一个设备功能被断开,则主机将清除AP并重新建立连接关系。
以下对正常工作期间的数据传输和接收过程进行说明。
(1)命令传输的优先权
一开始总是主机发出一个命令,然后是设备功能对此命令作出响应。如果是设备功能首先向主机发出命令,它将不会被认可。除非设备功能侧有请求,否则主机不会再发出命令。
(2)数据格式
传输及接收的数据由命令和参数(AP数据。数据长度、数据)作出。它一个信号被实际沿一数据线传输时,MIE将给它分别在命令之前和参数尾部增加一个起始模式和一个结束模式。这样就构成了一个单帧,并且它将按以下顺序传输:
“起始模式”+“命令模式”+“AP数据”+“数据长度”+“数据”+“结束模式”
接收侧的MIE将对这个帧进行分析以确定出起始模式和结束模式。命令和参数的细节将在以后说明。
(3)主机
主机使用的MIE由M总线驱动程序来控制。MIE并不会自动执行读出设备功能数据的工作,该工作是由各软件通过M总线驱动程序来执行的。此处提到的各软件应具有比M总线驱动程序更高的级别。例如,图书馆软件或游戏软件。在一个单访问操作中,可以与一个具有指定AP的设备功能进行通信。为了在1个INT中从多个设备功能内读入数据,就需要对相应数目的设备功能进行访问。1个INT(中断)是TV屏幕重写的一个周期单元,即大约1/60秒。端口连接检测向未连接的端口发出一个设备请求,如果有回应,则该端口被设定为“已连接”。当没有回应,则该端口被设定为处于输入(接收)模式。待使用的命令的类型根据设备功能、时间及环境而不同,所以它将根据设备功能说明书而设定。
(4)设备功能
CPU等通过一MIE控制器对外围设备的MIE进行控制,它用于执行设备功能程序。设备功能一直保持处于接收状态直到收到从主机发出的命令为止。然后设备功能将生成其自身用于通信的必须数据。另外,与主机访问不同步,设备功能产生的数据将被输出以作为特定设备的功能(如:类似于控制杆或游戏杆的操纵输入设备)。如果有从主机发出的请求,则数据将在一预定周期内被传输。主机向与相同端口连接的所有设备功能发出相同的命令。而设备功能将对接收到的命令参数进行分析,并且在仅当该命令与其自身的AP相符时才回送一个命令。如果它与这些设备功能自身AP不符,则它们将不会响应主机。所用命令的类型根据设备功能、时间及环境而不同,所以其详细情况应根据设备功能说明书而确定。
(5)被禁止的操作
从一个设备功能到在同一端口上连接的另一个设备功能之间的直接访问是被禁止的。设备功能之间的通信必须通过主机来执行。另外,只能由主机发出的命令也不能在设备功能中使用。
现在将对特例处理进行说明。特例处理是当在一些设备中数据传输和接收不能用命令来控制时,为它们所准备的特殊处理过程。这种设备的一个实例就是射击游戏中所使用的光电子枪。
(1)如果主机识别出某设备功能具有激光枪设备ID,则它将把M总线从正常模式切换到SDCKB占有模式。模式切换工作不能执行于设备功能侧。在进行切换之前,主机会发出一个模式转换命令,当确认所连接的设备是激光枪时,主机将把M总线模式切换为SDCKB占有模式。
进入SDCKB占有模式后,所有该端口上的设备都处于SDCKA占有模式,而且操作于SDCKB占有模式以外的设备功能不接收命令。例如,如果在端口A上连接有一个激光枪,存储器卡和振动单元,则操作于SDCKB占有模式之中的设备功能仅为激光枪。在SDCKB占有模式期间,只有激光枪受到主机的控制,而其它设备功能,即存储器卡和振动单元并不进行工作(不能被主机控制)。
(2)要想从SDCKB占有模式中返回,主机将执行取消步骤。当SDCKB占有模式被中断后,系统将立即返回正常模式。
(3)在使用激光枪的情况下,屏幕在1个INT中的刷新周期将忽略垂直消隐周期,换句话说,用于绘出TV屏幕的时间周期形成了SDCKB占有模式。
当屏幕描绘周期结束且消隐周期开始时,系统将直接切换为正常模式,并且将进行用于其它端口设备功能的数据传输和数据接收。
(4)为了实现激光枪的功能,就要一个含有光接收单元的部分来作为一个设备功能,还要有含有扳机和方向键、模拟键及类似物的部分以作为其它的设备功能。通过这种方式,就有可能消除传统技术中存在的问题,如在激光枪使用时,不能使用方向键等。另外,由于激光枪形成了一个单设备功能单元,所以它可以与其它扩展设备连接。通过这种方法,就可以提供出具有新功能的游戏应用。
以下将对命令的实例进行说明。概括地说,命令可以分为控制命令和差错命令这两种。
控制命令包括一些基本命令,如:设备请求、状态请求、所有状态请求、AP分配、LM总线连接、功能开始、主机数据传输、数据请求、所有数据请求、模式转换、设备休眠。设备请求。设备删除、设备状态、设备应答、设备数据传输,等等。另外,还有一些不属于基本命令的扩展命令。这些扩展命令随设备功能及M总线驱动程序的不同而不同。
设备请求是从主机发出的命令,它要求一个没有分配AP的设备功能返回它的设备状态。
状态请求是从主机发出的命令,它要求一个由AP指定的设备功能返回它的设备状态。(该数据是设备的内在信息(固定设备状态))。
所有状态请求是从主机发出的命令,它要求所有由AP指定的设备功能都发出其设备状态(即,所有的固定设备状态和自由设备状态)。设备功能通过设备数据传输来回送固定设备状态及其后的自由设备状态。
AP分配命令是主机用来给设备功能分配一个AP的命令。它可被执行于AP设定过程期间。如果设备功能处于正常工作状态,它将不对此命令进行处理而是回送一个命令拒绝信息。
LM总线连接是从主机发出的命令,它要求设备功能将一LM总线相连接。根据接收到的LM总线连接信息,设备功能将把从属于它们的LM总线与各功能的总线连接起来。如果设备功能处于正常工作状态,它将不对此命令进行处理而是回送一个命令拒绝信息。
功能开始是从主机发出的命令,它使得一个由AP指定的设备功能开始正常操作。如果设备功能接收到这个命令并开始正常操作,它将回送一个设备应答。但并没有进行初始化工作。如果设备功能处于正常工作状态,它将不对此命令进行处理而是回送一个命令拒绝信息。
主机数据传输是主机用来向设备功能传输数据的命令。数据内容根据设备功能而定。该数据的细节由设备功能说明书来确定。如果数据长度为0,则设备功能将不接收它并且回送一个命令拒绝信息。同样在AP设定期间,设备功能也将不接收它且回送一个命令拒绝信息。
数据请求是从主机发出的命令,它要求设备功能发送指定的数据。在数据区内可以指定多个请求数据号。如果数据的大小为00h,则设备功能并不处理这个命令而只是回送一个命令拒绝信息。还有在AP设定期间,设备功能也不处理该命令并且也只回送一个命令拒绝信息。
所有数据请求是从主机发出的命令,它要设备功能发送其全部数据。在AP设定期间,设备功能并不接收该命令,而只是返回一个命令拒绝信息。
模式转换是主机用来切换端口M总线模式的命令。在切换至SDCKB占有模式时,方模式转换命令已被发出后,设备应答将被确认并且指定端口将被切换为SDCKB占有模式。如果该设备功能并不响应SDCKB占有模式中的操作,则它将不进行模式转换并且回送一个命令拒绝信息。在AP设定期间,设备功能也不会进行模式转换,而只是回送一个命令拒绝信息。
设备休眠是主机用来临暂停一指定设备的命令。当一个设备功能已被暂停后,它将回送一个设备应答信息,而后就只能接收功能开始命令。在AP设定期间,设备功能并不处理设备休眠命令,而只是回送一个命令拒绝信息。
设备复位是一个命令,通过它,主机可用软件来复位指定的设备功能,从而对其初始化。软件复位不是利用硬件功能(如IC复位端)来进行复位(初始化)的,而是对(例如)内部RAM或程序上的寄存器(软件)进行初始化。软件复位能够对程序中的选定部分进行复位,它可以保留一些不需要初始化的部分,如IC端的设定状态。已经分配的AP值不会被初始化。初始化之后,设备功能将回送一个设备应答并开始正常操作。在AP设定期间,设备功能不会处理设备请求命令,而只回送一个命令拒绝信息。
设备删除是主机用来禁止一个设备功能操作的命令。在AP设定顺序中的AP分配命令之前,该设备功能只能处理这个命令。设备功能以闲置电流损耗进行等待,并且不能接收任何命令。为了激活这个设备功能,硬件必须被复位或必须关闭电源。硬件复位是利用硬件功能(如IC复位端)来进行复位(初始化)的。还有可能在程序中执行等价的初始化处理过程。该过程与打开电源开始复位的过程相等价,因为在打开电源的同时就会进行IC初始化处理。与软件复位相比,如果设备功能处于正常操作状态,它将不对该命令进行处理,而而只回送一个命令拒绝信息。要想在正常操作期间临时暂停设备功能,则可使用这个设备休眠命令。
设备状态是设备功能用来向主机发送固定设备状态的命令。这个固定设备状态将在以后进行说明。
作为由设备功能发出的应答信息,设备应答具有较宽的应用范围。数据内容中的AP指出了设备功能自身的AP,进而说明了设备应答的源。
设备数据传输是一个命令,利用它,设备功能就可以根据主机发出的请求来传输数据。其数据随设备功能的不同而不同。如果数据长度为00h(h代表十六进制标注)。则主机将不会处理该命令,而只是回送一个命令拒绝信息。随着环境的不同,还可以产生这样一些命令,如重复传输、设备状态或类似命令。
以下将对错误命令进行说明。错误命令包括一些基本命令,如:命令拒绝、命令不明、再次传输、LM总线错误、设备错误,等等。除此之外,还有一些扩展命令,它们是设备功能和M总线驱动程序所固有的。此处提到的固有命令并不是驱动程序所保持的标准命令,它们只是一些用于特定设备功能的命令。
通过使用命令拒绝,主机或设备功能就可以拒绝接收与输入命令相对应的数据。该命令还可用于当一个接收到的命令与主机或功能的操作不兼容时的情况。该命令禁止一切错误的访问。
命令不明是当设备功能不能识别从主机发出的命令时从设备功能发出向主机的一个命令。
重复传输是一个由主机或设备功能发出的命令,它要求在数据接收中出现某种类型的错误时,再次传输相同的数据。
LM总线错误是一个从设备功能发往主机的命令,它说明在LM总线中出现了错误。该命令在一些情况下被送往主机,例如:当接收到主机发出的LM总线连接命令但却没有LM总线可连接的情况时。
设备错误是一个从设备功能发出的命令,它通过主机在设备功能中出现了某种类型的错误,并且该设备功能正处于复位过程中。
现在将对上面提到的设备状态信息进行上面。设备状态直接保存着数据,并使得数据不能被覆盖或删除。例如,它不允许计算一确定值以赋予一个状态值或文本。
设备状态包括:固定设备状态和自由设备状态。
固定设备状态涉及一种永久设备状态,它是对设备的主要描述,共有108个字节的格式。除非全部项都得到了说明,否则设备的操作和连接都不能保证。
自由设备状态所涉及的设备状态可根据设备功能而自由使用。例如,其容量必须小于或等于148个字节。
固定设备状态包含以下各项:
(1)设备ID
它描述了设备功能的标识和属性。利用事先给各设备功能登记并分配一个ID,主机就能通过读出其ID以识别出所连接的设备功能是什么类型。因此,对于那些具有M总线许可证的设备ID来说,所有M总线使用的ID都会被产品事先登记进去。
(2)最大数据长度
它描述了由设备功能输出的最大数据长度。
(3)LM总线数
它描述了由设备功能保持的LM总线数。
(4)产品名称
产品名称由采用ASCII代码的英语或罗马字说明。它可能与实际的商业名称不同。该产品名称也是事先登记号的。
(5)目标代码
它说明了本产品的销售地区。例如:北美,欧洲,日本,等等。该代码利于为特定的目标地区判断外围设备W与游戏应用之间的兼容性。
(6)许可证
它用ASCII代码的英语或罗马语显示了产品的许可证。
(7)闲置电流损耗
它以0.1mA为单位说明了临时暂停期间的电流损耗。
(8)最大电流损耗
它以0.1mA为单位说明了最大的电流损耗。
另一方面,自由设备状态涉及一些信息的区域,该区域可由产品筹划者、开发者、设计者、编程者等等自由设定。主机可通过所有设备请求命令从设备功能中获得此信息。当此信息区域被用于应用软件或类似程序中时,有必要事先保证数据序列的兼容性。
主机的MIE应该被专门称为一个外围控制器。图21显示了主机外围控制器(MIE)的一个电路框图实例。
在本图中,一个时钟分频器51可从系统时钟中产生一个时钟,以用于支持控制器的各个处理块。而且,通过改变其时钟的频率比,就可以改变传输(传送)比,等等。
指令寄存器52是yg32为寄存器,从应用程序等向外围设备发出的指令就通过主总线被写入其中。写入该寄存器的内容被转移到一个端口控制器57和帧控制器58中。
写缓冲区53是一个256字节的RAM,用于转移的数据就写入其中。
中断控制器54是一个用于控制由传输、接收或错误等产生的中断的控制器。
状态寄存器55是一个说明主控制器状态的32位寄存器。
读缓冲器56是一个用来保持接收数据的256位RAM。
端口控制器57是一个用于对涉及数据传输和接收的端口进行控制的控制器。通过对由命令选定的传输端口的一个三态缓冲区68进行控制,第一和第二选择器64、65的输出SDCKA和SDCKB将被指向选定的端口。接收端口是通过控制第三和第四选择器66、67而被选定的。
帧控制器58可控制由输出模式、数据长度等等构成的帧。
帧编码器59由帧控制器58来控制,它能产生输出信息模式。
交替移位寄存器60由帧控制器控制,它用于将写缓冲区中的并行数据转换为串行数据,并可向SDCKA和SDCKB交替输出数据和时钟。在移位寄存器内提供有一个CRC计算部分,从而可以根据帧控制器发出的命令而将CRC过程加入到数据中。
第一选择器64由帧控制器58控制,它可通过对帧编码器59或交替移位寄存器60的输出进行选择来输出SDCKA。
第二选择器65由帧控制器58控制,它可通过对帧编码器59或交替移位寄存器60的输出进行选择来输出SDCKB。
第三选择器66可根据端口控制器57发出的命令来选择一个接收端口,而且它还可将接收到的SDCKA通过一缓冲放大器69提供给帧解码器61和移位寄存器62。
第四选择器67可根据端口控制器57发出的命令来选择一个接收端口,而且它还可将接收到的SDCKB通过一缓冲放大器69提供给帧解码器61和移位寄存器62。
帧解码器61可对接收到的帧的组成进行分析,将其反映于状态寄存器55之中,并控制移位寄存器62。
移位寄存器62由帧解码器61控制,而且它是一个可将接收到的串行数据转换为并行数据的(S/P)寄存器。移位寄存器62还含有一CRC计算电路,它用于接收信号的差错检测。
HV锁存信号控制器由帧控制器58激活。例如,当帧控制器58已经传输出一个SDCKB占有许可模式后,帧解码器将被释放且HV锁存信号控制器将被激活。当HV锁存信号控制器在SDCKB占有许可模式被发出后接收到此SDCKB时,将有一个锁存信号被提供给HV计算器(图中略)。该HV计算器包括一个水平位置计数器和一个垂直位置计数器,它们可输出与屏幕上某一位置相对应的数值。例如,当射击游戏中,当扣动瞄准TV屏幕的枪的扳机时,枪将输出一个SDCKB。该SDCKB可通过HV计数器来识别枪在屏幕上瞄准(射击)位置。
图22的电路图描述了帧编码器59的工作原理。本图中,591是一个触发器,592是一个计数器,593是一个比较器,594是一个逻辑门。
图23是用于说明帧编码器59操作的时序图。
当帧编码器59收到一个写脉冲时,该电路就进入了激活状态。触发器591输出端Q上的SDCKA被写脉冲的上升沿置为电平“L”。SDCKA给计数器592形成了一个使能输入,它将使计数器开始对其上所加的时钟CLK进行计数。计数器592按照“0”,“1”,“2”,…“7”,“8”的顺序来增加一计数值CNT OUT。该计数值被加载至比较器593的比较输入端A。一输出模式设定值n被加载至比较器593的比较参数输入端B。例如,如果产生了一个“起始模式”,则帧编码器59将对此命令进行解码并且给设定值n赋予数值9。如果两个输入匹配,该信号将被提供给触发器591的预置端/PR。这样,触发器591输出端Q上的SDCKA就被置为电平“H”。通过对SDCKA和具有时钟信号CLK一半频率的CLKB进行合成,就可在“或”门594上获得SDCKB。
在本方法中,与起始模式、复位模式和结束模式等相对应的输出模式设定值被提供出来,而且当有脉冲输入时,SDCKA将被置于电路“L”,并且可以获得一个具有预定下降沿数目的模式信号以用于SDCKB。
图24的电路图显示了交替移位寄存器60的工作原理。在本图中,601是一个用于将并行数据转换为串行数据的移位寄存器;602是一个双向输入选择器;603是一个用于将并行数据转换为串行数据的移位寄存器;604是一个双向输入选择器。
图25是一个描述交替移位寄存器60操作的时序图。
在交替移位寄存器601的多个D输入端上分别提供有用于数据传输的多个偶数位D6,D4,D2和D0,而且数据可通过具有图中所示周期的一个移位时钟SHIFT CLKA而被移位,并被从输出端Q加载至选择器602的输入端以作为串行数据。图中所示的时钟信号CLKA被输入至选择器602的B输入端。选择器602将根据移位时SHIFT CLKA的电平“H”而从输出端Q选择出串行数据,而且它会根据SHIFT CLKA的电平“L”而选择时钟SCLKA。
因此,在选择器602的输出端Y上就可获得一个SDCKA信号,在该信号中,数据D6,D4,D2,D0被按预定间隔而叠加在时钟CLKA上。
类似地,在交替移位寄存器603的多个D输入端上分别提供有用于数据传输的多个偶数位D7,D5,D3和D1,而且数据可通过具有图中所示周期的一个移位时钟SHIFT CLKB而被移位,并被从输出端Q加载至选择器604的输入端以作为串行数据。图中所示的时钟信号CLKB被输入至选择器604的B输入端。选择器604将根据移位时SHIFTCLKB的电平“H”而从输出端Q选择出串行数据,而且它会根据SHIFTCLKB的电平“L”而选择时钟CLKB。因此,在选择器604的输出端Y上就可获得一个SDCKB信号,在该信号中,数据D7,D5,D3和D1被按预定间隔而叠加在时钟CLKB上。信号SDCKA和SDCKB中显示的部分“D0-D7”根据它们的数据值而具有电平“H”或电平“L”。
图26的电路图显示了一个帧解码器61的组成实例。本图中,611是一个计数器,612是一个由多个触发器组成的组合式触发器,613是一个计数器,614是一个由多个触发器组成的组合式触发器。
图27是一个用于描述帧解码器61的操作的时序图。
对于图中所示的各个单元,计数器611和触发器612是按照起始模式的方向来进行操作的。当SDCKA处于电平“H”时,计数器将不能工作。而当SDCKA变为电平“L”时计数器将被允许工作,这样对SDCKB的下降沿进行计数。当SDCKA处于电平“L”时,通过对SDCKB的下降沿数进行计数,就可将计数结果输出到触发器上。计数器的输出将在SDCKA的上升沿处被加载到触发器612上。
如图27所示,如果在SDCKA处于电平“L”(图13中的起始模式)的周期内SDCKB的下降沿数目为4,则触发器612将输出起始模式检测信息。
要想检测结束模式,就应在SDCKB处于电平“L”时通过计数器613和触发器614对SDCKA的下降沿的数目进行计数。通过SDCKB的上升沿,计数器613将产生计数输出613。如图27所示,当在SDCKB处于电平“L”的同时有两个SDCKA的下降沿被计入时,触发器612将输出结束模式检测信息。当SDCKB处于电平“L”的周期内,SDCKA下降沿的数目不是指定数目时,触发器614将输出一个帧错误检测信息。在正常工作模式下,具有两个SDCKA下降沿的数据模式和结束模式跟随于具有四个SDCKB下降沿的起始模式之后(见图11)。
另外,尽管在图27中没有示出,在接收开始后,当计数器611在SDCKA处于“L”电平的同时检测到6个SDCKB的下降沿时,触发器612将输出带有CRC的起始模式检测信息(图14)。在使用CRC的操作模式中,数据模式、CRC数据及结束模式都跟随于带有六分SDCKB下降沿的CRC起始模式之后(参考图12)。
还有,当计数器611在SDCKA处于“L”电平的同时8次检测到SDCKB的下降沿时,则触发器612将输出SDCKB占有许可模式检测信息(见图15)。当此模式被检测到之后,操作模式将转变为SDCKB占有许可操作模式复位模式(SDCKA的上升沿)来复位。
如果计数器611在SDCKA处于“L”电平的同时14次检测到SDCKB的下降沿时,则触发器612将输出复位模式检测信息(见图16)。该检测信息允许进行复位操作。
如果SDCKB的下降沿数目不是指定数目,则触发器612将输出帧错误检测信息。触发器612和614的模式检测输出被保持于状态寄存器55中。
图28显示了一个交替移位寄存器62的组成实例。在本图中,串行数据SDCKB被加载至一移位寄存器621的数据输入端D,而且SDCKA被加载至其移位时钟输入端。移位寄存器621在SDCKA的下降沿处连续读入SDCKB的数据部分,如图29所示,从串行转换至并行的数据通过4个SDCKA时钟沿被安排至移位寄存器621的并行输出端D7,D5,D3,D1上。
类似地,如图29所示,串行数据SDCKA被加载至一移位寄存器622的数据输入端D,而且SDCKB被加载至其移位时钟输入端。移位寄存器622在SDCKB的下降沿处连续读入SDCKA的数据部分。从串行转换至并行的数据通过4个SDCKB时钟沿被安排至移位寄存器622的并行输出端D6,D4,D2,D0上。
图30是一个待与游戏设备相连接的外围设备的简略普通框图,该外围设备一般被称为游戏控制器,输入操作控制器或操作输入设备,等等。以下将对一个游戏控制器进行说明。通过游戏控制器上提供两个扩展插座,就可以增加(耦合)入其它的外围设备(L类设备功能)。该游戏控制器含有一个单芯片微控制器。它还含有11个开关以用于产生数字输出,以及用于产生一个四轴输出的模拟键。这些开关的输出等由微控制器来处理,它们将通过MIE部分和M总线而被输出至主机。
图31是一个框图,它对设备功能侧MIE的组成进行了简略说明,图中外围设备的功能被认为是设备功能。
本图中,游戏控制器通过M总线与主机(未示出)相连。该游戏控制器包括一个通过M总线与主机相连的U类设备功能,以及两个通过LM总线与U类设备功能相连的L类设备功能。
图32的电路框图显示了图31中的一个总线切换部分(选择器)。从U类设备功能中分出了两个M总线分支,并且它们分别称为LM总线1和LM总线2。用于连接和断开M总线和LM总线的切换操作由U类设备功能中的MIE选择器来完成。
图33是一个U类设备功能的硬件部分的简略框图。传输处理部分、插座部分、CPU部分及I/O部分构成了一个单芯片微控制器。传输处理块与主机形成了一个接口。CPU部分可控制外围设备(如游戏控制器等)中的信号处理。I/O部分是一个用于数字按钮,模拟键等的外部输入接口。
图34是一个L类设备功能的简略框图。传输处理部分,CPU部分及支持功能部分构成了一个单芯片微电脑。传输处理部分与U类设备功能形成了一个接口(用于L类设备功能的MIE)。CPU部分执行与L类设备功能有关的处理。支持功能块则可实现L类设备功能的功能,例如,用于执行激光枪扳机功能的电路,存储器功能或振动功能等等。
以下将参考图33和34对设备功能侧MIE的操作进行说明。在AP尚未被分配的初始状态中,三态缓冲器由图33所示的插座控制器来操作,并且传输至扩展插座1和扩展插座2的SDCKA OUT和SDCKB OUT被禁止使用。此处,插座控制器执行的是LM总线1控制器和LM总线2控制器的功能。
在SDCKA OUT处于禁止状态的情况下,当没有L类设备功能与扩展插座连接时,与三态缓冲器输出端相连的下拉电阻将使SDCKAOUT处于电平“L”。插座控制器可通过检测该输出端的“L”电平而识别出:没有L类设备功能与该U类设备功能相连接。
另一方面,电源通过一拉升电阻而与L类设备功能的硬件与扩展插座相连,则SDCKA OUT端(处于断开状态的三态缓冲器)将被图33所示下拉电阻的相对该电阻和上述拉升电阻的低电阻提升至电平“H”。通过检测这个输出的“H”电平,插座控制器就可以识别出:已经有含有一个L类设备功能的硬件与含有一个U类设备功能的硬件相连。
AP通过主机发出的AP分配命令而被分配给U类设备功能,而且当接收到一个LM总线连接命令时,扩展插座11上的SDCKA OUT和SDCKB OUT设定为激活状态。因此,来自主机的命令传输给链接到扩展插座1上的U类设备功能和L类设备功能。
如果主机分配一个AP给扩展插座1处的L类设备功能,并传送一个LM-总线连接命令给U设备功能,则U类设备功能将在扩展插座2处设置SDCKA OUT和SDCKB OUT为激活态。当将AP分配给扩展插座2的L类设备功能的过程结束后,从主机发出的命令将被传输给U类设备功能并且均等地传给各L类设备功能。U类设备功能和L类设备功能对命令中包含的AP值进行比较,并且确定它们自身是否被选中,从而作出正确的响应。
图35-39是传输期间由MIE所实现的控制操作的流程图。
一系列的处理命令被从主机应用程序通过API发往总线驱动程序软件。总线驱动程序将这些处理命令译为由MIE控制的指令,并将它们置于MIE的指令寄存器52中。
帧控制器58可判断指令库存周期设置的命令(指令)是代表了标准传输格式模式(S12)的信号输出,还是带有CRC选项格式(S14)的信号输出,SDCKB占有许可模式(S16)的输出,或是复位模式(S18)的输出。
如果待输出的是一个标准传输格式模式(S12,是),则帧控制器58将通过选择器64和65而选中帧编码器59的输出,并且使帧编码器59按图36所示的顺序来输出一个起始模式(S21)。进而,它将通过选择器64和65而选中交替交替移位寄存器60的输出,并且使传输数据被从写缓冲区53写入交替交替移位寄存器60(S22)中,而且还使交替交替移位寄存器60输出一个数据模式(S23)。
帧控制器58确认传输数据应含有(例如)256个字节(S24)。如果它与256字节不相符(S24;否),则重复从写缓冲器读出的过程(S22)和输出数据的过程(S23)。
如果传输了256字节(S24;是),则选择器64和65将选中帧编码器59的输出而且帧编码器59将受驱使而发出一个结束模式。
通过这个方法,数据将以标准模式传输。
如果在指令寄存器52中设置的代码是一带有CRC选项格式信号的命令(S14;是)则帧控制器58将通过选择器64和65而选中帧编码器59的输出,并且使帧编码器59将受驱使而按图37所示的顺序来输出一个带有CRC的起始模式(S31)。进而,它将通过选择器64和65而选中交替交替移位寄存器60的输出,并且使传输数据被从写缓冲区53读入交替交替移位寄存器60(S32)。进而,帧控制器58使交替移位寄存器中的CRC计算区在数据读入时执行CRC运算(S33)。然后,使一个数据模式从交替移位寄存器中输出(S34)。
帧控制器58确认传输数据应含有(例如)256个字节(S35)。如果它与256字节不相符(S35;否),则从写缓冲区读出数据(S32),CRC计算(S33)和数据输出(S34)的步骤将被重复。
如果已经有256字节被发送(S35;是),则帧控制器58将驱使交替交替移位寄存器60在数据之后发出CRC数据(S36)。然后它将通过开关64和65来选中帧编码器59的输出而且帧编码器59将受驱使而发出一个结束模式(S37)。
通过这个方法,数据将以带有CRC的模式被传输。
如果帧控制器58识别出输出命令是用于SDCKB占有许可模式(S16;是),则它将通过64和65而选中帧编码器59的输出,并且使帧编码器59将受驱使而按图38所示的顺序来输出一个SDCKB占有许可模式(S41)。缓冲器68由端口控制器57控制,并且禁止SDCKB的输出(S42)。然后,帧编码器59将输出一个SDCKB占有许可模式,其中的SDCKA被置为电平“L”(S43)。
之后,HV锁存控制器63将被激活。该HV锁存控制器可监视SDCKB线路(S44)。
如果设备侧产生应答(S44;是),则HV锁存控制器63将产生一个HV计数器的锁存输出(S45)或者在产生一个锁存输出之后(S45),如果设备侧没有产生响应(S44;否),则它将判断用于设定SDCKB占有模式的命令是否仍在寄存器52之中(S46)。如果该命令仍在(S46;否),则步骤S44-S46将被重复,并且锁存输出将根据设备侧的响应而连续产生。
如果用于设定SDCKB占有模式的命令已被取消(S46;是),则SDCKA将翻转为电平“H”,并且系统将恢复到可用SDCKA和SDCKA进行传输的状态(S47)。
通过这种方法,SDCKB占有模式将得到了实现。
如果帧控制器58识别出命令寄存器中设置的代码是一个复位模式输出命令(S18),则它将驱使帧编码器59按图39所示的顺序输出一个复位模式(S51)。
通过这种方法,多种格式的信号都可被传输。
以下将对接收期间MIE的操作进行说明。
如图40中的顺序所示,帧解码器61对接收到的SDCKA和SDCKA进行解码,并且识别接收到的信号是否含有一起始模式(S62),一带有CRC的起始模式(S64),或是一个与上述模式无关的帧错误信息(S66)。
如果被检测到的是一个起始模式(S62,是),则帧解码器61将判断该模式是否为一个未定义的起始模式(S71),其顺序如图41所示。如果它是一个未定义的起始模式(S71;是),则将有一个帧错误检测标志被置入状态寄存器,并且预定的帧错误检测处理过程将由驱动程序软件等来完成。
如果它是一个预先定义好的起始模式(S71;否),则将有一个起始模式检测标志被置入状态寄存器。然后,一个交替移位寄存器62将被激活,并且数据将被从接收到的SDCKA和SDCKB信号中连续提取出来,被取出的串行数据将被解调为并行数据(S73)。这种数据解调/传送过程将被重复到帧解码器61检测到一个结束模式为止(S71-S75)。当一个结束模式被检测到之后(S75;是),将有一个结束模式检测标志被置入状态寄存器55,而且接收过程将被中断。
另一方面,如果被检测到的是一个带有CRC的起始模式,则帧解码器61将判断该模式是否为一个未定义的起始模式(S81),如果它是一个未定义的起始模式(S81;是),则将有一个帧错误检测标志被置入状态寄存器,并且预定的帧错误检测处理过程将由驱动程序软件等来完成(S82)。
如果它是一个预先定义好的起始模式(S81;否),则将有一个带有CRC的起始模式检测标志被置入状态寄存器。然后,一个交替移位寄存器62将被激活,并且数据将被从接收到的SDCKA和SDCKB信号中连续提取出来,被取出的串行数据将被解调为并行数据(S83)。然后将对已解调的数据进行CRC计算(S84),而且解调数据将被写入读缓冲区56(S85)。这种数据解调/传送过程将被重复到帧解码器61检测到一个结束模式为止(S81-S86)。当一个结束模式被检测到之后(S86;是),用于接收数据的CRC计算结果将被与附加在数据部分之后的CRC数据进行比较,以便于确定是否为一个CRC错误(S87)。
如果检测到CRC错误(S87,是)则在状态寄存器55中设置CRC错误检测标志,从而可以进行CRC错误检测处理(例如数据再传输请求Transmit Again)等。如果未检测到CRC错误,则完成含CRC的信号模式的数据接收处理(S87,否)。
图43是一个流程图,它显示了应用程序(软件)(如游戏程序等)获得并使用与外围设备(设备功能)有关的固有信息(固定设备状态)所经历的过程。
由数据存储介质(如CD-ROM)提供的应用程序(软件)被保存在内存中并被CPU执行。该应用程序将向设备功能发出一个请求命令(S102),并且等待设备功能的回应。如果在一预定时间周期结束后,它仍未接收到从设备功能发出的固定设备状态,则可以确定没有设备功能与总线产生连接(S104;否),并且‘无连接’处理过程将被执行(S106)。
如果它接收到了从设备功能发出的固定设备状态(S104;是),则许可证说明信息(S108),目标区域信息(S110)及设备ID将被与应用程序(如游戏程序等)所保持的信息进行比较(S112),该信息由数据存储介质(如CD-ROM)提供如果比较的结果是二者相符(S112;是),则将进行给此设备功能分配一个AP的处理过程(S114)。
但是,如果比较的结果是二者不符,则通知用户已连接设备功能(或已连接外围设备)未对应用程序作出响应的处理过程将被执行(S116)。然后,用于断开该设备功能与主机连接的过程将被执行(S106),并且流程结束。
这些功能作为用于外围设备的PL(产品责任)防范措施而使用。在一个射击游戏中,例如,将会使用一个模拟枪,但是存在着一个危险,即有可能将这个经过精细铸模的设备误认为是真枪。在一些国家中(例如),这类使用不会造成麻烦,但在其它一些国家中,就可能造成麻烦。在这种情况下,有关国家只允许使用外形上明确标明它是模拟枪的“枪”。
因此,在一些必须考虑特定用户及环境等因素的应用中,就需要通过上述的固定设备状态信息来说明该应用程序所使用的外围设备的类型和模型是否受到限制。
通过这种防范,并按照根据本发明所述的用于连接游戏设备与有关外围设备的连接标准,就可以通过少数的总线将一个游戏设备与多个外围设备连接起来。
另外,如果用户是通过有线电缆或电线而将游戏外围设备与游戏设备相连接的,则由于游戏设备能自动识别所连接的设备并能初始化启动所连接的外围设备以使它响应应用程序,这样就可以消除由用户来进行的特殊过程和设定操作,从而在游戏设备与外围设备之间提供了一个适当的连接标准。
还有,在上述实例中,由于外围设备没有权利访问与总线连接的其它设备,而只能通过一种数据通信格式来对游戏设备的访问作出响应,这样就可以不用对游戏设备与多个外围设备之间的访问进行管理。随着一个外围设备与其它外围设备之间的访问被禁止,对外围设备之间的访问周期也就没有必要。所以,对I/O硬件和软件来说,只需相对简单的结构即可。
另外,它还允许在游戏设备上连接多个外围设备及各种类型的外围设备。例如,可以在其上连接一游戏设备控制器、游戏杆、键盘、CD-ROM驱动器、DVD驱动器、视频输入/输出设备,存储器组、FDD设备、调制解调器、ISDN终端设备,等等。
还有,由于数据通信是根据游戏设备与外围设备之间的一种命令格式而进行的,因此,游戏程序就可以根据游戏的进程而在当时的时间和条件下从游戏控制器(外围设备)等处获得所需的数据。
此外,由于数据容量是断续传输的,所以由连接电缆引入的噪声将被降低。
由于数据传输是由总线驱动程序来控制的,所以通过对驱动程序进行更新,就可以立即增加新的命令或开发出新的外围设备。
由于数据可以传输与游戏设备与外围设备之间,这样就可以通过一对电缆线来传送多媒体数据,如声音输出、声音输入、静止屏幕、动画屏幕,等等。
因为游戏设备主单元或应用程序能够利用外围设备的固有信息,因而它将能够从多个连接的外围设备中分辨出能够用于其应用程序的外围设备已经不能应用其应用程序的外围设备,而且它还能够如人所愿地将不兼容的外围设备的操作停止下来。
〔第二个实现模式〕
概述
下面将对可用于M总线的第二个外围接口标准进行说明。所有的处理过程都在M总线上进行,该标准可以确定主机MIE与M总线驱动程序之间的接口规格,设备功能与MIE控制器之间的接口规格,通信协议规格以及数据格式。
首先,与对上述第一接口标准所进行的说明步骤相类似,先对第二接口的物理结构和逻辑结构进行说明。
(1)物理连接结构
图44对第二个实现模式中的物理连接结构作出了简略的说明。该物理连接模式由一个主机-基本设备(外围设备)-扩展设备(外围设备)结构组成,基本设备代表了与主机直接连接的硬件(外围设备)。扩展设备代表通过基本设备与主机相连的硬件(外围设备)。在任何一个系统中,都只有一个单一的主机(如:一个游戏机)。该主机最多含有四个端口以用于连接外围设备。一个基本设备与一个端口相连。而一个基本设备则能最多与四个外部扩展设备相连。主机与基本设备之间由指定的电缆连接。
但是,以下类型的连接是不允许的:a)从主机到扩展设备的直接连接;b)基本设备与基本设备之间的连接;c)从基本设备到扩展设备的连接;d)扩展设备与扩展设备之间的连接。这些信息的意图并不是要将本发明限制在本实例之内。
(2)逻辑连接结构
图45示意性地显示了第二个实现模式中的逻辑连接结构。如图中所示,主机与各功能(由基本设备和扩展设备硬件形成)之间的逻辑连接形成了一个以主机为主心的所谓星形连接。主机控制着信号的传输和接收。
分层结构和通信流
图46示意性地描绘了主机与外围设备之间的分层结构。如图所示,主机和外围设备形成了一个分层结构以用于其间的数据通信。
在图46中,功能层可使用外围设备中的各个功能,并能按照数据格式来进行数据的传输和接收。一个外围设备最多可具有三个功能。I/O控制层能以帧为单位来控制数据的传输和接收,而且它还能控制MIE(M总线I/F引擎),其方法将在以后说明。总线接口层可在主机和基本设备(或扩展设备)之间执行物理连接和信号传输及接收。在主机应用程序与外围设备的物理功能之间进行的数据获取(数据传输)和控制是通过功能库、总线库、主机MIE、连接线、基本(或扩展)设备MIE,MIE控制器及各个功能来实现的。
外围类型
外围设备的分类和辨别如下。首先,外围设备被分为两种设备类型:基本设备和扩展设备。基本设备和扩展设备被进一步分为游戏控制器和其它外围设备。游戏控制器类外围设备的实例包括游戏设备的标准组件,如与游戏设备有关的标准游戏控制器,游戏杆、方向轮等等。‘其它外围设备’的实例包括:键盘、鼠标。枪(模拟枪)等等。扩展设备是控制器扩展系统的一个外围设备,其实例包括:声音输入设备、备份存储器,枪(模拟枪)等等。控制器系统具有一个预置的标准数据格式,因而可以用于任何应用软件。由于其它的基本设备和扩展设备根据设备的不同而具有不同的数据格式,所以为各功能都准备了一个功能库。
术语说明
以下将对第二实现模式中所使用的术语进行说明。为方便起见,它与第一实现模式中的说明有部分交叠。首先,通过在时间序列上对数据进行扩展而获得的数据称为“串行数据”。以串行数据形式来交换数据的信号线(流)称为“串行总线”。利用本发明所述接口标准而将游戏设备与外围设备连接起来的一条串行总线称为一条M总线(M-BUS)。一个参数组称为一个“设备ID”。一个设备ID含有16个字节,这些字节包含着该外围设备的属性及它们所构成的功能(数据格式及功能单元)。设备ID可通过设备状态命令而获得,其方法将在以后说明。
一个可与游戏设备的外围设备相连接的M总线端称为一个“端口”。在一个端口中有四个标准脚,它们包括电源端(VCC,GND)和数据线(SDCKA,SDCKB),或者有五个脚,即多一个屏蔽线。在根据第二个实现模式所述的M总线中,它最多支持四个端口(端口A,端口B,端口C,端口D)。
游戏设备称为“主机”并且由与主机相连的外围设备所实现的功能称为“功能”。一个功能并非指产品本身,而是指构成该产品的一个单元。因而一个产品就可以具有多种功能。一个外围设备形成了一个功能集,而且主机发出的访问执行于外围设备单元之中,对功能的访问由功能类型来指定。一个单一外围设备中可以使用多个功能。但是,在第二个实现模式所述的“M总线”中,例如,最多只能使用三个功能。
如图47所示,外围设备在物理结构上被分为两类:“基本设备”和“扩展设备”。基本设备是一个与主机相连的外围设备,它具有控制扩展设备的功能。基本设备能够自动识别并连接一个扩展设备。扩展设备是一个与基本设备相连的外围设备,如果没有基本设备,它将不能工作。将基本设备与扩展设备连接在一起的M总线称为“LM总线”。LM总线在逻辑(信号)用语上与M总线相同,但在物理上却不同。在外围设备中,基本设备原则上由游戏控制器系统构成,而扩展设备则由游戏控制器系统的扩展设备组成。例如,主机的一个端口上只能连接一个基本设备,但该基本设备最多可管理五个扩展设备(至多5条LM总线)。
在一个单端口上连接有一个基本设备和多个扩展设备的情况下,各基本设备和扩展设备根据它们所连接的点将被分配以一个识别号,这样它们就可被直接访问。这个被分配的序号称为一个“绝对位置AP”。在“M总线”上,AP为一个固定的单字节,其结构如下:
(最大4端口(2位))×(分配给一个端口的最大AP号=6(6位))=(1字节(8位))
AP的分配是根据连接模式及所连接的设备是基本设备或扩展设备而确定的,其方法将在以后说明。该AP被用于访问基本设备或扩展设备。
主机与功能之间的数据交换并不是利用传统技术中的单侧通信系统来进行的,而是采用了专门指令,这样就可对适于环境和时间的数据进行传输和接收。这些指令称为“命令”,而且一个命令的目标数据被称为一个“参数”。一个“参数”由目标设备的AP、源设备的AP、数据长度及数据构成。在M总线上,最多可以预备254个基本命令,并且在一次访问操作中最多可以传输或接收1020个字节的数据。
通过端口来执行的数据传输,其单位为“帧”。图48给出了一个帧的组成实例。一个帧由一个起始模式、命令代码、参数(目标AP、源AP、数据长度、数据、等等),奇偶校验位,及一个结束模式构成。一次访问操作中只能传输一个帧。在一个间隔(INT)期间,对一个设备只能进行一次访问。起始模式、奇偶校验位和结束模式是由MIE加入的(以后将说明)。
图49示意性地描述了一个M总线中所进行的响应及“超时”处理。当主机向一个基本设备或扩展设备发出一个命令时,从基本设备或扩展设备发出的应答称为一个“响应”。在发出一个命令之后,主机将在一确定的时间周期内等待响应。如果等待过程结束后仍没有响应,则这种状态称为“超时”,出现“超时”的基本(扩展)设备将被主机认为是已经断开。另外,如果一个基本(扩展)设备设在接收数据时出现了超时,则系统将进行软件复位。例如,超时(响应时间)所需的时间周期可以是1.0ms。
图49中,在情况(1)中,基本(扩展)设备是在响应时间内作出响应的,因此处于正常状态。在情况(2)中,因为没有响应,所以出现了超时。在情况(3)中,因为在响应时间周期内没有响应,所以出现了超时。在情况(4)中,因为传输数据期间的间隔超出了响应时间,所以出现了超时。与出现超时的外围设备相连接的端口将采用硬件复位。
用于连接扩展设备以对控制器的功能进行扩展的一个部分被称为“扩展插座”。扩展设备与扩展插座相连。“M总线”最多可具有四个扩展插座。这是因为LM总线与扩展插座之间的对应关系是根据两条ID线的逻辑而实现的,其说明将在以后进行。LM总线的数目和扩展插座的数目并一定是相同的。
能够将数据转换为使用于M总线的串行数据以便于使数据可通过M总线进行传输和接收的电路称为“MIE(M总线I/F引擎)”。所有M总线标准设备都有这个MIE。主机有主机MIE,基本设备有基本设备MIE,扩展设备有扩展设备MIE。因为MIE只能转换数据,所以从帧中提取数据的过程将由主机上的M总线驱动程序(以后说明)和设备上称为软件(程序语言)的MIE驱动程序来执行。
主机对外围设备的访问操作是通过软件“M总线驱动程序”和“功能库”来进行的,它们可控制外围设备(基本设备和扩展设备)。M总线驱动程序控制和管理帧,而通过命令控制各外围设备(功能)并管理参数(数据格式)的工作则由功能库来执行。只有一种类型的M总线驱动程序可用于所有的外围设备,而各功能库将分别提供给各个相应的功能。最多有三个功能库(由设备ID指出)可被用于任一外围设备。
在“M总线”上,所有基本设备和扩展设备都按照一预定的格式来记录与其自身相关的信息。
与基本设备或扩展设备相关的信息称为“设备状态”。该设备状态可记录管理数据,如产品名称、设备ID、许可证、模块号、产品批量、目标地区,等待,以及闲置电流损耗,最大电流损耗,等待。设备状态通过设备库和应用软件而被管理和使用。例如,可以通过产品名称和许可证信息来拒绝非法产品拷贝,还可根据最大电流损耗信息来控制整个端口的电流。
数据传送模式
现在将对M总线上的物理数据传输进行说明。本实现模式中数据传输的格式与第一个实现模式相同。也就是说,数据是以同步串行格式来传输的。总共有四条线:用于连接电源的Vcc;地线GND;用于传输SDCKA信号的数据线SDCKA(双向);以及用于传输SDCKB信号的数据线SDCKB(双向)。该双向数据通信使用一种半-双工系统,其传输率为(例如)最大2Mbps。如果需要的话,还可以增加一条信号屏蔽线。
传输原理
图50显示了SDCKA和SDCKB的数据模式。由串行数据时钟A(SDCKA)传输的信号和由串行数据时钟B(SDCKB)传输的信号是这样形成的,即,在数据被传输时,它们的下降沿一直处于交替状态。在接收侧,一个信号被锁存在另一个信号的下降沿(上升沿)上,而且锁存的信号电平将被解调以给出数字数据。数据的传送从MSB开始,而且在起始位置处,SDCKA将提供时钟信息而SDCKB将提供数据信息。
符合SDCKA和SDCKB的信息模式
图51显示了一个同步模式动画实例。该同步模式包括一起始(START)模式和一结束模式(END)。起始模式是一个传输于数据模式之前的同步模式。当接收侧在某周期(从SDCKA的下降沿到下一个上升沿)中四次检测(四个负脉冲)到SDCKB的下降沿(或上升沿)时,它将确定其后的模式是一个数据模式。当接收侧在某周期(从SDCKA的下降沿到下一个上升沿)中两次检测(两个负脉冲)到SDCKB的下降沿(或上升沿)时,它将确认该数据模式已经结束,并且确定操作已经正常结束。
SDCKB占有许可模式(激光枪)
图52显示了一个SDCKB占有许可模式的实例。如果接收侧在某周期(从SDCKA的下降沿到下一个上升沿)中八次检测(八个负脉冲)到SDCKB的下降沿时,SDCKB可从SDCKA的下一个下降沿开始一直被占用,直至SDCKA上升为止。SDCKB的占有模式必须由SDCKA的上升沿来释放。这种模式可用于(例如)射击游戏中的激光枪。
复位模式
图53显示了一个复位模式的实例。如果接收侧在某周期(从SDCKA的下降沿到下一个上升沿)中14次检测(14个负脉冲)到SDCKB的下降沿(或上升沿)时,它将确认从传输侧发出的是一个复位请求,并且执行复位。
传输格式
图54显示了一个传输格式的实例。数据传输以帧为单位(最小单位)。帧的内容从用于说明数据传输启动的起始模式开始,它还包括一个最大长度为1024字节的数据模式,奇偶校验,以及一结束模式。奇偶校验包括平行排列的8个位,它是由硬件在传输期间自动加到数据上的,并且将在接收期间被清除。
协议
现在将对主机与外围设备之间的通信协议进行说明。命令由“命令名称”来表示,其详情将于以后说明。
图55示意性地描绘了通信协议的概况。首先,主机在处理顺序中拥有传输命令的优先权。因此,一开始,外围设备(基本或扩展设备)将处于等待命令状态。所有外围设备与主机之间的通信都以帧为单位进行,如上述内容相同。主机执行应用程序并给外围设备产生命令。这些命令将作为帧数据而被通过M总线传输至外围设备。通过帧中的命令和参数,外围设备将得到一个指令。当一个与帧中目标AP相对应的外围设备接收数据时,它将根据此作出响应。即,该外围设备将产生一个相应的命令并产生帧数据,而且还通过M总线将帧数据传输至主机。然后,外围设备将进入等待状态以等待下一个数据传输。主机接收到从外围设备发出的帧数据并提取出命令(应答)。然后该命令被传递至应用程序。而应用程序将利用由此命令传输的信息来执行下一个动作。主机与外围设备之间的数据通信就是通过重复此过程而进行的。图56(a)描绘了这种通过一M总线和LM总线而在一个主机与多个外围设备之间进行的断续数据通信。另外,图56(b)描绘了一个实例,在此实例中,不可能将所有待传输的数据在一个传输帧中传送出去,因而该长数据被分割开来并由多个传输帧断续传输出去(见以下的图70)。
上述数据通信过程具有以下特点。主机可在操作期间利用相同的协议来直接访问基本设备和扩展设备,而无需进行数据转换等。进行访问所需的AP数据将根据该功能所连接的主机端口,基本设备及扩展插座而确定。当对一基本设备进行访问时,该基本设备上扩展设备的连接状态可以被确认。即使主机正处于工作状态,外围设备也可被连接或断开。为了获得与外围设备有关的信息,主机将要求外围设备发出一个设备状态。如果主机未获得设备状态信息,则外围设备将不能开始工作,而只保持等待状态。外围设备的复位操作要两种,即,软件复位(复位命令)就硬件复位(复位模式),它们将于后面得到说明。软件复位只复位与一端口相连的特定外围设备。而硬件复位则可复位全部外围设备。数据传送以最多含有1024字节的帧为单位而进行。一个外围设备最多可使用三个功能,而且这些功能只能分别由指定的功能类型来访问。在一个间隔INT周期内,最多只能对一个功能进行一次访问操作,而且一次访问只能进行一帧数据的通信。对端口的访问不是以连续的形式来进行的。上述这些特点得以实现的方法将在以后说明。
帧数据
在一个间隔INT周期内,最多只能对一个功能进行一次访问操作,而且一次访问只能进行一帧数据的通信。上述的图54显示了帧数据的实例,其中一个帧包括一起始模式、数据模式。奇偶校验位以及一结束模式。
起始模式、奇偶校验位以及结束模式都由数据传输模式来指定,而且它们都由MIE来自动处理。帧中的数据模式由4个字节单位构成,其最小容量为4个字节,最大容量为1024字节。在最小为4个字节时,它将只含有一个命令代码、目标AP、源AP及数据长度(=00h)。命令代码说明了待发往目标设备的命令的代码。目标AP则说明了帧将被传输到的设备AP。换句话说,主机指定一个基本设备或扩展设备的AP,而基本设备和扩展设备则指定主机一个端口的AP。源AP说明了传输设备自身的AP。数据长度以4个字节为单位说明了传输数据的长度。而数据则是用于进行传输(数据格式等)的数据,它也以4个字节为单位而被保存。
命令代码
命令代码含有一个字节,它用于保存命令的代码。
(表1)
命令代码的组成
B | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
D | C | C | C | C | C | C | C | C |
此处,COM0-COM7为命令代码。命令代码被指定处于01h-Feh的范围内。不同类型的命令代码将在以后说明。
参考本表格而说明的数据被保存在一个内部存储器或寄存器等(图中未示出)的适当位置中。
绝对位置AP
以下将对AP进行说明。AP类型共有三种:基本设备或扩展设备自身的AP;用于指出数据目标地的AP(目标AP);以及用于指出数据源头的AP(源AP)。基本设备或扩展设备的AP是设备自身的AP,通过将它与主机发出的帧中的目标AP进行比较,就可以识别出从主机发出的数据是否指向该设备。设备的源AP是当基本或扩展设备向主机回送数据时(图48)被写入帧中的第三个字节内的数据。它可向主机指出数据是由哪个设备传输出来的。在设备源AP中,最低的5个有效位代表了LM总线的先前连接状态。主机访问一基本设备,并对应答命令(从基本设备发出的帧)中的源AP进行检验,从而找出是哪个基本设备的M总线与扩展设备相连。AP值是根据图57中所示的端口。基本设备及扩展设备连接配置(固定插座数系统)来确定的。其说明将在以后进行。
AP位的组成
表2显示了保持在内部寄存器中的AP位组成。该AP含有一个字节(8位)。其第七和第六位是端口设置位P01和P02,它指出了基本设备所连接的输入/输出端口。AP的第五位是基本扩展设备设置位,它指出了本设备是基本设备还是扩展设备。第四到第零AP位是LM总线设置位LM4-LM0,它们指出了LM总线的数目。
(表2)
AP的组成
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
数据 | P01 | P00 | D/E | LM4 | LM3 | LM2 | LM1 | LM0 |
表3中显示了端口设置位P00和P01的应用实例。通过这两个端口设置位P00和P01,就可以指定从端口A至端口D中的任一端口。
(表3)
端口设置位
选择端口 | O1 | O0 |
端口A | ||
端口B | ||
端口C | ||
端口D |
如表4所示,当AP被设置用于基本设备时,基本设备/扩展设备设置位为“1”,当AP被设置用于扩展设备时,设置位为“0”,而且当AP被设置用于一端口时,其值也为“0”。
(表4)
基本设备/扩展设备
设置位
设备设置 | D/E |
基本设备 | 1 |
扩展设备 | 0 |
端口 | 0 |
表5中示出了LM总线设置位LM4-LM0。如果AP指定了一个基本设备或端口,则LM4-LM0将被置为“0”。如果有一个扩展设备与M总线相连,或者有一个扩展设备受到了访问,则相应总线的设置位LMn将被置为“1”。另外,如果没有扩展设备连接,则相应LM总线的设置位将被置为“0”。当一个扩展设备受到访问,则仅有被访问的扩展设备的LM总线数的设置位被置为“1”。
(表5)
LM总线无设置位
传送目标 | LM4 | LM3 | LM2 | LM1 | LM0 |
基本设备 | 0 | 0 | 0 | 0 | 0 |
扩展设备 | 其表格见下面 | ||||
端口 |
LM总数号 | 设置位 | 访问或连接状态 | 未连接状态 |
No.1 | LM0 | 1 | 0 |
No.2 | LM1 | 1 | 0 |
No.3 | LM2 | 1 | 0 |
No.4 | LM3 | 1 | 0 |
当基本设备组成响应时,源设备将包含有基本设备的AP,该基本设备AP自动通过“或”门与扩展设备连接状态设定位混合以用于各条LM总线。
例如,如果主机从端口A(00h)访问一个基本设备,则目的AP将为:“00100000”(20h),而源设备AP则为“00000000”(00h)。这里,h表示16进制。如果扩展设备通过LM总线Nos.1和3与基本设备相连,则来自端口A上的基本设备的响应为:目的AP=“00000000”(00h),源设备AP=“00100101”(25h)。源设备AP(通过或运算)将扩展设备的连接状态(LM0和LM2=“1”)加到基本设备的AP上(“00100000”)。
接着,当主机从端口B访问连到LM总线NO.1上的扩展设备时,目的AP为“01000001”(41h),源设备AP为“01000000”(40h)。来自连到LM总线NO.1上的扩展设备的响应为:目的AP=“01000000”(40h),源设备AP=“01000001”(41h)。
图57给出的为主机访问基本设备和扩展设备时其AP(16进制)的一个表格。当基本设备响应时源设备AP为基本设备自身AP的总和(全部或总和),加上与其相连的扩展设备的AP值。因此,来自一个基本设备的源设备AP将包含关于扩展设备连接的信息。主机可以从基本设备的源设备AP分辨出与其相连的是一个扩展设备还是多个扩展设备。
基本设备AP的初始设定步骤
接下来,将对用于对AP进行初始设定的步骤进行说明。玩游戏者可以将基本设备连到主机的任一个端口。因此,在开始游戏之前,主机必须查明是否有一个基本设备或扩展设备连到了主机的任一个端口上。现在参照图58中的流程图对用于对基本设备AP进行初始设定的步骤进行说明。
图58所示为一个基本设备连到主机的端口A上而多个扩展设备连到基本设备的LM总线NO.1和2上的情况的一种示例。该图图示了主机和基本设备CPU的操作。
首先,主机利用通信线将基本设备和扩展设备相互连在一起,而当各个设备的电源均被接通时,从一个ROM中将初始化程序引导入每个设备的CPU。基本设备MIE如接下来的图64所示,而扩展设备MIE如图66所示。根据这些程序,基本设备(CPU)对下文中所要说明的接口检寄存器和端口进行初始化(S22,S24)。其后,基本设备为其自身产生一个AP。在此情况中,由于AP与设备自身有关,于是仅有AP的第五位被设置为“1”,所得AP为“--100000”。这里,“-”符号表示一个未定义值(S26)。
接着,基本设备探查是否提供有一条LM总线NO.5。与其它LM总线不同的是,LM总线NO.5是一种总线连接或逻辑连接。这是因为考虑有可能需要通过在基本设备内安装一个扩展设备或合用一个基本设备和扩展设备来对基本设备自身的功能进行扩展。例如,如果发明了一种包括振动功能的游戏控制器,则该游戏控制器将成为基本设备而一个振动部将通过LM总线NO.5与其相连,由此整个设备将形成一个含有一个振动部的游戏控制器。此No.5总线存在与否早已被设置在基本设备CPU中(此信息被写入一个ROM等存储器中),而不特地需要配置或诸如此类。在本例中,其假设没有LM总线NO.5(S28)。
接着,基本设备的CPU为外部插头设置LM总线。如图64所示,从I/O部开始,基本设备产生对应于特殊接线端,例如每个LM总线插头的接线端ID0,ID1处的相关LM总线号的电压值的一个组合。表格6所示为当由基本设备进行设置时每条LM总线的接线端ID0,ID1上的输出逻辑的示例(S30)。
(表6)
ID0 | ID1 | LM总线号 | 插头号 |
0 | 0 | 1 | 1 |
1 | 0 | 2 | 2 |
0 | 1 | 3 | 3 |
1 | 1 | 4 | 4 |
基本设备分别输出“0”,“0”到LM总线NO.1插头的接线端ID0和ID1上,而分别输出“1”,“0”到LM总线NO.2插头的接线端ID0和ID1上。这些逻辑输出电压通过LM总线和IO端口提供给多个扩展设备。一个扩展设备检查来自基本设备的逻辑输出值以识别出与其相连的是哪一条LM总线(扩展插头)(S32)。
基本设备从每个LM总线插头的一个特别保留接线端,例如接线端ID2中读入逻辑电平。接线端ID2经由一个下拉电阻接地,而当一个扩展设备被连到此插头时,从扩展设备一侧加载一个电压Vcc。其结果是,当一个扩展设备被连到该插头时,接线端ID2的逻辑电平将变为“1”。另外,如果没有扩展设备与之相连,则接线端ID2的逻辑电平将变为“0”。通过检查关于ID0和ID1输出的ID2逻辑电平,基本设备可以识别出由输出到上述接线端ID0和ID1的逻辑输出所指示的LM总线上是否连有一个设备。通过重复此步骤,接线端ID2可用来确认扩展设备的连接,当ID2为“0”时,表示没有连接扩展设备,而当ID2为“1”时,则表示连有一个扩展设备。在本例中,LM总线NO.1的ID2和LM总线NO.2的ID2均“1”(S34)。
在某些条件下,输出到插头接线端ID0,ID1上的逻辑用作一个从基本设备到扩展设备的复位信号。例如,如果基本设备将输出ID0,ID1反相后输出给扩展设备,其将形成一个“停止操作”信号给扩展设备,于是扩展设备将停止其操作。例如,如果ID0,ID1为“00”并随后被反相为ID0,ID1=“11”,则扩展设备将停止其处理。另外,如果基本设备将输出ID0,ID1反相并随后将其再次反相为其原有值,其将形成到扩展设备的复位信号,于是扩展设备将被复位。例如,如果ID0,ID1均为“00”,随后输出ID0,ID1=“11”(停止信号)以停止扩展设备的操作,基本设备将在其后被复位。在基本设备被复位之后,通过切换到ID0,ID1=“00”(复位信号)(恢复原有值),扩展设备被复位。在复位之后,该设备呈现出与一次软件复位后的状态相同的状态,下文中将对其进行说明。
接着,当基本设备正在传输时,其产生一个源设备AP。该源设备AP具有取决于基本设备的AP和接线端ID2的状态的“--1xxxxx”的形式。0-4位的符号“x”取决于LM总线的连接状态将为“0”或为“1”。本例中,设备仅被连到LM总线Nos.1和2上,因此源设备AP为“--100011”(S36)。
基本设备等待接收一个设备请求,其为一种主机发送类型的命令。除非基本设备接收到一个设备请求,否则其将仍保持在待命状态并重复从步骤34开始的处理(S38;No)。本例中,基本设备被连到主机的端口A上。来自主机的此基本设备的目的AP为“00100000”,其表示基本设备位于端口A。第五位的“1”表示一个基本设备,而第六和第七位的“00”表示端口A。
另一方面,主机依次地向每个端口发送命令(设备请求)并等待来自一个基本设备的响应,因而其能够识别出是否有基本设备或扩展设备(外设)被连到端口A到端口D上(H22)。当端口A上的基本设备接收到来自主机的命令(设备请求)(S38;Yes)时,其在所接收的帧中读出源设备AP,并从第六和第七位中推断出其被连到的哪一个端口上。本例中为端口A,于是这些位为“00”(S40)。
在步骤S26中,基本设备利用先前所创建的至少6个有效位及表示端口的两个高端有效位完成其自身的AP(S42)。具体地说,其将因端口A所得到的“00”(第六和第七位),及先前由基本设备所创建的AP(=“--100000”(0到第五位)组合在一起,由此完成了等于“00100000”(16进制为20h)的基本设备自身AP。
其后,基本设备为传输帧完成源设备AP。在步骤S36中端口位被加到先前在步骤S36中最多仅完成到6位有效位的源设备AP的高端有效位上。本例中,端口位“00”被加到源设备AP=“--100011”上而得到一个源设备AP“00100011”(S44)。通过观察此源设备AP中的代码,其可以看出基本设备被连到端口A上,而扩展设备被连到此基本设备的LM总线NO.1和2上。
该基本设备创建一个传输帧以答复设备请求(S46)。基本设备准备一个设备状态作为对设备请求命令的答复命令。如上所述,目的AP为“00000000”,而源设备AP为“00100011”。
基本设备发送一个含有设备状态的传输帧,由此向主机回发一条命令(S48)。此后,如果该基本设备未被断开,其AP将为“00100000”。基本设备不断地监视LM总线插头的接线端ID2的状态。如果扩展设备到LM总线的连接状态发生了变化,则源设备AP的一些位也将发生变化,由此使得源设备AP与扩展设备的连接状态保持对应。
主机从基本设备接收传输帧并识别出端口A上连有一个基本设备而在此基本设备的LM总线NO.1和2上连有扩展设备(H24)。主机通过访问基本设备能够简单地分辨出是否存在连到基本设备上的扩展设备。如下文中所要说明的,主机还能识别出连到该端口上的基本设备的细节信息(外设类型等)。
在上述AP设置处理中,通过其将扩展设备连到基本设备上的插头具有固定的编号,其将检测这些插头(固定的插头号(LM总线插头号)系统)的每一个是否都连有一个扩展设备。换言之,(a)在基本设备自身的初始化之后,基本设备首先对应于LM总线(插头)号来设置ID0,ID1,随后(b)其检查每个插头上的ID2的逻辑电平以识别出在每条LM总线上是否存在一个扩展设备连接。其后,(c)其从ID2连接信息中确定扩展设备连到了哪一条LM总线上,并根据此信息创建用于传输帧的源设备AP的至少6个有效位。(d)基本设备由从主机接收到的帧中的源设备AP中获得指示了所连到的那个主机端口的信息,并加上基本设备源设备AP的高端两个有效位,由此完成了源设备AP。
另一方面,其还可能让基本设备运行一次ID2事前检测以识别出正在使用的LM总线,并随后将LM号分配给所用的LM总线(插头号(LM总线号)分配系统)。具体地说,在基本设备自身的初始化之后,基本设备检查ID2逻辑以识别出是否有扩展设备被连到一条特定LM总线上。(b)当连有一个扩展设备时其随即将ID0,ID1分配给接线端ID2所标识的LM总线。这些编号以升序进行分配从而使得在编号分配中不会出现重叠现象。表7所示为ID0,ID1和LM编号的一个示例。连接状态未变的LM总线将保持来自其先前状态的编号。
(表7)
ID0 | ID1 | LM总线号 |
0 | 0 | 1 |
0 | 1 | 2 |
1 | 0 | 3 |
1 | 1 | 4 |
其后,(c)当进行传输时,基本设备根据ID2,和ID0,ID1处的信息创建其源设备AP的至少6个有效位。(d)随后其在从主机那里接收到的帧中的源设备AP中获得识别出与其相连的那个主机端口的信息,并加上基本设备源设备AP的高端两个有效位,由此完成其源设备AP。
一旦基本设备建立了其源设备AP,如果其随后便从主机接收到一条请求要求对此AP进行更新的指令,在固定插头编号系统中,对应于每个插头早已提供好了ID0,ID1,于是由基本设备执行的用于更新AP的处理是从上述步骤(b)开始的。在插头编号分配系统中,插头编号将发生变化,因此基本设备中用于更新AP的处理是从步骤(a)开始的。
扩展设备AP的初始设定步骤
现在参照图59所示的流程图对用于对扩展设备进行AP初始设定的步骤进行说明。此图中,平行地显示了主机,基本设备和扩展设备的操作。另外,对应于图58的部分被赋予了相同的步骤号,且不再对这些部分进行说明。在此处所说明的示例中,一个基本设备被连到主机的端口B上,而一个扩展设备被连到基本设备的LM总线NO.2上。
首先,主机,基本设备和扩展设备相互连在一起,每个设备均接通了电源(K22)。下文中将通过图64和图66分别对基本设备MIE和扩展设备MIE进行说明。扩展设备被连到基本设备上,而当实施的是一种所谓的“通电复位”方法时,其内部寄存器和LM总线端口将被初始化(K24,K25)。
扩展设备(CPU)依照一个控制程序来检查LM总线。如上所述,对应于该LM总线号的逻辑电平由基本设备(CPU)输出到每个LM总线连接器的特定接线端,例如接线端ID0,ID1。扩展设备读取与其相连的LM总线的接线端ID0,ID1上的逻辑(K28)。在本例中,扩展设备被连到插头上,于是插头接线端ID0,ID1的逻辑输出被设置为“01”。扩展设备参照接线端ID0,ID1的逻辑输出和表6识别出LM总线号。在本例中,ID0,ID1=“01”,所以识别出的LM总线号为“2”(K30)。
扩展设备随后创建其自身的AP。扩展设备知道其为一个扩展设备。这是通过将必要的信息写入一个ROM,或将其直接写入扩展设备控制程序中来实现的。表2所示的寄存器内AP的第五位(设备/扩展设备设置位)被设置为“0”,而对应于扩展设备所连接的LM总线号的第0-4位(LM总线设置位)被设置为“1”。本例中,LM总线为No.2,所以第一位被设置为“1”。因此,扩展设备自身AP为“--000010”(K32)。
其后,扩展设备创建一个扩展设备源设备AP。与基本设备不同的是,扩展设备并不对源设备AP进行连接检测,因此“源设备AP=扩展设备AP”。本例中,源设备AP=扩展设备AP=“--000010”(K34)。
扩展设备随后等待来自主机的含有一条指明了其自身AP(“--000010”)的设备请求命令的输入帧(K36)。除非接收到了一条设备请求命令,否则其将在待命状态继续等待(K36;No)。
如上所述,由于LM总线的连接状态已由基本设备报告给了主机(S48),主机知道扩展设备连到了哪些LM总线上(H26)。因此,设备请求命令可以仅被传送到扩展设备,使得可以在允许使用扩展设备的应用中使用扩展设备。本例中,由主机所发送的传输帧中的源设备AP为表示端口B的“01000000”,而目的AP为表示一个扩展设备和LM总线NO.2的“01000010”(H28)。
扩展设备接收含有设备请求命令的帧(K36;Yes)。其随后读取此帧的源设备AP(“01000000”)以获得主机的相关端口号。这里由于是端口B,所以端口号为“01“。扩展设备将这些指明了端口B的位加到先前仅完成了至少6个有效位的扩展设备AP的高端有效位上,由此完成了其自身的扩展设备AP。本例中,用于表示端口B的位“01”被加到扩展设备AP“--000010”上,从而产生一个扩展设备AP“01000010”。
接着,将完成扩展设备源设备AP。端口位被加到先前仅完成了至少6个有效位的扩展设备AP的高端有效位上。这里端口位“01”被加到源设备AP“--000010”以给出一个等于“01000010”的源设备AP(K42)。此扩展设备源设备AP与扩展设备AP相同,所以此处理(K42)将被省略。
扩展设备随后创建一个传输帧以答复主机(K44)。其准备好一条响应设备请求命令的设备状态答复命令。其目的AP为表示了主机的端口B的“01000000”,而源设备AP为“01000010”。扩展设备将该命令发送到主机(K46)。此命令为一条设备状态命令。此后,扩展设备一直将“01000010”保持为其自身AP和源设备AP,除非电源和电缆被切断。
主机通过从扩展设备接收设备状态命令而获得所连接的扩展设备的细节信息(与外设有关的多种信息)。
数据大小
现在将对一个传输或接收帧所含的数据大小段的构造进行说明。如表8所示,数据大小段包括一个单精度型字节。
(表8)
数据大小的构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
数据 | DS7 | DS6 | DS5 | DS4 | DS3 | DS2 | DS1 | DS0 |
这里,第0位-第7位中的数据DS0-DS7表示数据大小。数据大小段以4字节为单位表示数据的大小,从最小值0字节到最大值1024字节。其如表9所示。
(表9)
数据大小
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
指定数据大小 | DS7 | DS6 | DS5 | DS4 | DS3 | DS2 | DS1 | DS0 |
0字节 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4字节 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
8字节 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
: | : | : | : | : | : | : | : | : |
508字节 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
512字节 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
516字节 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
: | : | : | : | : | : | : | : | : |
1012字节 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
1016字节 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
1020字节 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
数据
现在将对一个传输或接收帧所含数据段的构造进行说明。数据段存储了将要传送的数据量为由数据大小(4字节单位)所表示的大小的数据。例如,在一个控制器系统中,其包含控制器的功能类型和数据格式。数据段的构造如表10所示。
(表10)
数据构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | D17 | D16 | D15 | D14 | D13 | D12 | D11 | D10 |
第二数据 | D27 | D26 | D25 | D24 | D23 | D22 | D2 | D20 |
第三数据 | D37 | D36 | D35 | D34 | D33 | D32 | D31 | D30 |
第四数据 | D47 | D46 | D45 | D44 | D43 | D42 | D41 | D40 |
: | : | : | : | : | : | : | : | : |
数据传送
现在将对主机和一个外设(基本设备或扩展设备)之间的数据传输进行概述。在此数据传输处理中,特别设计了一些规定以使其适合于各种游戏设备。首先,实质上是根据一种主机进行请求而外设作出响应的方式来进行数据通信的。从主机到外设的指令和请求均由命令(帧)来实现。如果命令(帧)被传送到一个外设,外设将总是发送回一条某种类型的命令给主机。如果出现了传输错误,则将启用一个错误标志并由硬件功能部件来进行错误处理。
在连到主机之后,一旦外设从主机接收到一条用于获得外设的细节信息的设备请求命令,其将被激活。外设总是发送回一条响应来自主机的命令的某种类型的命令。外设(或由此外设提供的功能部件)可以,例如,在一个时间间隔INT内接收一条命令。
图60所示为一个主机与一个外设之间的数据传输的示意图。如上所述,主机和外设(基本设备或扩展设备)相互连在一起,而当电源接通时,在数据传输之前便建立起其各自的AP。由此产生数据传输所需的其各自的固有设备AP,源设备AP及目的AP。
通过执行一个应用程序,主机CPU请求对外设进行复位。由此应用程序输出的传输数据和传输命令被分别写入主机MIE的一个写入缓冲器和命令寄存器中。如先前的图48所示,传输数据和传输命令被构造成一个帧,而此帧被传输到处于命令待命状态中的外设。一旦接收到此帧,外设中的MIE便读出命令和数据,并将其提供给外设CPU。外设CPU读出该命令并执行对应于该命令的处理以获得一条答复命令以及,如果必要,将被发送回主机的数据。此数据和命令由外设MIE构造成一个帧,并在随后发送给主机。
其后,外设呈现出等待下一条命令的待命状态。当主机MIE接收到答复帧时,其将通信状态写到状态寄存器中而将所接收到的数据写到读入缓冲器中。主机CPU随后从两个寄存器中读出数据并继续执行应用程序。通过重复这些操作,便可以在主机和外设(基本设备或扩展设备)之间进行数据通信。
下文中将对主机MIE与外设MIE之间通信处理的具体细节进行说明。
如果硬件产生了一个错误标志,则将执行错误处理。下文中还将对主机内部接口的细节进行说明。
传送错误
这里,将对出现在数据传输期间的传送错误进行说明。可以由硬件检测到错误包括:奇偶错误,定时溢出,数据溢出。奇偶错误是在数据帧奇偶性不匹配时检测到的一种错误。定时溢出是在经过了Time Out时间段后SDCKA和SDCKB线仍保持在平稳状态时检测到的一种错误。数据溢出是在数据量超过了传输/接收缓冲器的容量时检测到的一种错误。这些错误以外的其它错误(例如,数据破坏)由软件来检测。如果在接收一数据帧时出现了可硬件检测的错误,则其将由一个错误标志或诸如此类来指示。
主机处的错误处理
如果在主机处出现了一个接收错误,则将利用发送到外设(基本设备或扩展设备)的命令发出一条重新传送命令。该重新传送命令最多发送三次。如果仍然存在错误,则将执行“未接通”或错误显示处理,或诸如此类。传输和处理方法的数目随应用软件和程序库变化而变化。对于每次传输外设所发送的重新传送命令最多由主机识别三次,而此后将执行“未接通”或错误显示处理,或诸如此类。在“未接通”处理中,一个硬件复位(复位特征)被发送到出现错误的端口。其后,如果必要,将执行一次设备请求。
外设处的错误处理
如果出现了一次传输错误,外设(基本设备或扩展设备)将响应来自主机的请求而执行一次重新传送操作,但其不执行错误处理,诸如基于外设判定的重新传送。如果出现了接收错误,则外设可以发送一条重新传送命令给主机。如果在接收期间出现了定时溢出,则外设将执行一次软件复位。定时溢出仅可由基本设备检测到,而基本设备利用ID线将这些复位信号发送给扩展设备。
被禁止的操作
在本标准中,存在某些禁令。具体地说,(1)如果一组外设(基本设备和扩展设备)被连到一个主机上,则将禁止从一个外设直接访问另一个外设。原则上,必须经过主机进行访问。(2)不允许一个外设使用那些仅能由主机发出的命令。(3)必须以一种连续的形式来访问相同的端口。
然而,所给出的这些禁令仅仅是作为根据某一个实施例的一个标准中的一些示例,因而其并不减小本发明的范围或限制本发明的应用。其当然能够利用一种允许这些被禁止的操作或诸如此类的单独标准来进行数据通信。
外设的连接和断接
这里将对在主机中所执行的用于连接及断接外设(基本设备或扩展设备)的判断处理进行说明。为了实施此判断处理,主机从在每个端口向外设传送一条设备请求命令。如上所述,当在连接好一个主机和外设之后接通电源之后,主机,基本设备和扩展设备分别执行用于建立其自身AP的步骤。因此,在此判断处理之前,可以分别为每个端口确定外设的目的AP。传送设备请求的间隔优选地为1时间间隔INT。如果已有来自外设的响应,则其便不必再传送接下来的设备请求命令。当然,没有必要向未被应用软件所使用的端口传送设备请求命令。
基本设备连接检测
现在对基本设备处的连接检测进行说明。如果主机传送一条设备请求命令给一个特定端口并由基本设备返回了设备状态命令,则主机将识别出在那个端口上连接有由此设备状态(详见下文)所描述的一个基本设备。如果根本没有来自基本设备的响应(定时溢出),则其便断定那个端口上没有连接基本设备。例如从开始传输命令起在1.0ms之内都没有响应,其便产生一次定时溢出。
扩展设备连接检测
通过仅访问连到其各自端口上的基本设备,主机还可以从基本设备接收关于连到那些基本设备上的扩展设备的连接状态的信息(利用源设备AP),因此其不必以与基本设备相同的方式来对所有的扩展设备进行连接检测。另外,如果当一个基本设备被访问时,来自基本设备的答复中所含源设备AP中的一个先前指明了没有连接扩展设备的连接设置位现在变为“1”,其表明新近连接了一个由该设置位所指示的扩展设备。由于主机能够在访问完一个基本设备之后识别出扩展设备的连接状态,其也向扩展设备传送一条设备请求,并等待一条设备状态响应命令。这里,如果没有设备状态响应,则将产生一次定时溢出,并断定没有连接扩展设备。
外设关于连接检测的操作
所有外设(基本设备和扩展设备)在连接之后均立即呈现出待命状态而不是开始进行其设备操作,其均获得至少6个有效位的自身AP。外设将不响应来自主机的任何命令直到其接收到一条设备请求。该外设随后接收到一条来自主机的设备请求命令。其从所接收的帧中的源设备AP中记录下其所连到其上的端口的AP,并完成其自身AP和源设备AP,并随后开始执行回送一条设备请求的操作。
基本设备断接检测
主机传送一条命令给所连的一个基本设备(先前已被确认正与一个端口相连的基本设备),如果在一个预定的时间段内一直没有来自基本设备的响应(定时溢出),则主机将断定该基本设备已被断接。此断接状态被确认三次,如果其仍然为断接状态,则在1个时间间隔(1INT)之后将传送一个复位特征。
扩展设备断接检测
如果主机没有接收到对发送给一个先前已被确认与一个端口相连的扩展设备的一条命令的响应(定时溢出),其将断定该扩展设备已被移开并呈现出断接状态。此断接状态被确认三次,而如果其仍然为断接状态,则在一个时间间隔(1INT)之后将传送一个复位特征。
另外,主机访问基本设备并从该基本设备接收一个答复帧。其后,如果主机识别出所接收的帧内的源设备AP中的一个扩展设备连接设置位已被设置为“0”,则其将断定由该连接设置位LMn所指示的扩展设备已被移开并已进入一种断接状态。
外设关于断接的操作
如果一个基本设备从一个主机端口上移开,则从主机到连到那个端口上的基本设备的电能供给将被切断。因此,存储在基本设备中的与连接端口有关的信息将被丢失。因此,即使一个连接器被拔出的基本设备随即重新连到该主机端口上,该基本设备也将不再会以此状态中继续开始操作。类似地,如果一个扩展设备从一个基本设备插头上卸下,则到此扩展设备的电能供给将被中断并因此使得所存储的与连接端口有关的信息被丢失。因此,即使所卸下的扩展设备被重新连到基本设备插头上,其也将不再会继续开始操作。
复位
有两种类型的复位:一种是硬复位(复位特征)及一种是软复位(复位命令)。复位可以仅由主机来实施。硬复位是利用一个复位特征进行并允许将连到某个端口上的所有外设初始化的一种复位。外设不发送任何响应。软复位是利用设备复位命令进行的复位,其能初始化某一个特定外设。在此情况中,所述外设回送一条设备答复命令,其后外设便进行一次自初始化处理。
被复位的外设(基本设备或扩展设备)将其所存储的数据,诸如变量和RAM内容等,初始化为电源刚一接通时的状态,其中某些功能有所例外。由于外设的AP被初始化了,当主机重新使用外设时,必须传送一条设备请求。
设备ID
如上所述,在一次连接检测中,一个从主机接收到一条设备请求的外设(基本设备或扩展设备)传送一条设备状态回送给主机。与该设备有关的多种信息被存储在形成了固定设备信息的此设备状态数据区中。其中之一便是设备ID。设备ID寄存器记录了该设备是一个基本设备或一个扩展设备,还是功能类型,以及功能定义块文本。所有外设均由至少一个设备ID及一个或更多的功能部件。由此,主机可以识别出与其相连的外设的细节信息(类型,功能,信号格式等等)。各种类型的命令将在下文中进行说明。
设备ID的构造
如表11所示,设备ID包括16个字节(128位)。
(表11)
设备ID的构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第1数据 | FT31 | FT30 | FT29 | FT28 | FT27 | FT26 | FT25 | FT24 |
第2数据 | FT23 | FT22 | FT21 | FT20 | FT19 | FT18 | FT17 | FT16 |
第3数据 | FT15 | FT14 | FT13 | FT12 | FT11 | FT10 | FT9 | FT8 |
第4数据 | FT7 | FT6 | FT5 | FT4 | FT3 | FT2 | FT1 | FT0 |
第5数据 | FD131 | FD130 | FD129 | FD128 | FD127 | FD126 | FD125 | FD124 |
第6数据 | FD123 | FD122 | FD121 | FD120 | FD119 | FD118 | FD117 | FD116 |
第7数据 | FD115 | FD114 | FD113 | FD112 | FD111 | FD110 | FD19 | FD18 |
第8数据 | FD17 | FD16 | FD15 | FD14 | FD13 | FD12 | FD11 | FD10 |
第9数据 | FD231 | FD230 | FD229 | FD228 | FD227 | FD226 | FD225 | FD224 |
第10数据 | FD223 | FD222 | FD221 | FD220 | FD219 | FD218 | FD217 | FD216 |
第11数据 | FD215 | FD214 | FD213 | FD212 | FD211 | FD210 | FD29 | FD28 |
第12数据 | FD27 | FD26 | FD25 | FD24 | FD23 | FD22 | FD21 | FD20 |
第13数据 | FD331 | FD330 | FD329 | FD328 | FD327 | FD326 | FD325 | FD324 |
第14数据 | FD323 | FD322 | FD321 | FD320 | FD319 | FD318 | FD317 | FD316 |
第15数据 | FD315 | FD314 | FD313 | FD312 | FD311 | FD310 | FD39 | FD38 |
第16数据 | FD37 | FD36 | FD35 | FD34 | FD33 | FD32 | FD31 | FD30 |
这里,FT表示外设所提供的功能的类型。FD1表示一个第一功能的一个功能定义块。FD2表示一个第二功能的一个功能定义块。FD3表示一个第三功能的一个功能定义块。FD1,FD2和FD3具有取决于由FT所表示的功能的不同内容含义。
表12所示为上述的功能类型FT0-FT31的内容。FT功能类型表示由一个外设所提供的功能。总共有32种功能类型,其每个均包括设置命令和数据格式。
(表12)
功能类型
位 | 功能 | 位 | 功能 |
FT31 | 保留 | FT15 | 保留 |
FT30 | 保留 | FT14 | 保留 |
FT29 | 保留 | FT13 | 保留 |
FT28 | 保留 | FT12 | 保留 |
FT27 | 保留 | FT11 | 保留 |
FT26 | 保留 | FT10 | 保留 |
FT25 | 保留 | FT9 | 保留 |
FT24 | 保留 | FT8 | 保留 |
FT23 | 保留 | FT7 | (预备)激光枪 |
FT22 | 保留 | FT6 | (预备)FFB |
FT21 | 保留 | FT5 | (预备)声音输出 |
FT20 | 保留 | FT4 | (预备)声音输入 |
FT19 | 保留 | FT3 | (预备)定时器 |
FT18 | 保留 | FT2 | B/W LCD |
FT17 | 保留 | FT1 | 存储设备 |
FT16 | 保留 | FT0 | 控制器 |
在一个单独外设中,例如,其能够建立三种类型的功能,而对应于所提供功能的设置位均被设置为“1”。这些设置位中存在有优先权的级别:最高有效位(FT31)具有最高的优先权,而最低有效位(FT0)具有最低的优先权。根据此优先权级别最多可以设置三个功能库。
在表11中,FD131-FD10表示第一功能定义块。这些块是定义了组成该第一功能的单独元件的块。其内容随功能变化而变化。其细节由各自的功能规格说明(附图中未示出)来支配。
FD231-FD20表示第二功能定义块。这些块是定义了组成了第二功能的单独元件的块。其内容随功能变化而变化。其细节由各自的功能规格说明(附图中未示出)来支配。
类似地,FD331-FD30表示第三功能定义块。这些块是定义了组成了第三功能的单独元件的块。其内容随功能变化而变化。其细节由各自的功能规格说明(附图未示出)来支配。
功能数据格式和定义块
现在对功能的数据格式和定义块进行上面。其显示了用于与一个外设交换数据的数据格式。
首先,如表13所示将外设(外围设备)进行分类及区别。
(表13)
外设类型
设备类型 | 外设类型 | 实例Examples |
基本设备 | 控制器 | 标准控制器,游戏杆,方向盘 |
其它 | 键盘,鼠标,射击枪 | |
扩展设备 | 扩展单元 | 声音输入,射击枪,备份存储器 |
如该表所示,游戏控制器代表了典型的基本设备。游戏控制器的功能类型为“控制器”,其是通过将其连到主机的一个端口上来使用的。该游戏控制器使用一种被设定的标准数据格式,从而其可以为多种应用所采用。
下面给出一个控制器系统中的功能元件
数字方向键A:Ra,La,Da,Ua
数字方向键B:Rb,Lb,Db,Ub
数字按钮:A、B、C、D、X、Y、Z、START
模拟键:A1、A2、A3、A4
模拟杆:A5,A6
另外,在某种情况下控制器系统外设提供有如下的元件:
数字方向键A:Ra,La,Da,Ua
数字按钮:A,B,START
其它类型的基本设备
所述的其它类型基本设备包括具有游戏控制器以外的功能类型的外设。由于数据内容和格式,以及读/写周期等随外设的不同而变化,所以每种设备均具有对应于其各自功能的数据格式及数据文件库。
扩展设备
其是用来扩展基本设备功能的设备。由于数据内容和格式,以及读/写周期等随外设的不同而变化,所以每种设备均具有对应于其各自功能的数据格式及数据文件库
控制器类型功能
此种功能类型表示控制器数据格式及设备ID定义块。
表14所示为一种读入数据格式。此输入数据格式为一种用于读取控制器数据的格式。此种数据格式大小为8字节。
(表14)
控制器读数格式
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | Ra | La | Da | Ua | 开始 | A | B | C |
第二数据 | Rb | Lb | Db | Ub | D | X | Y | Z |
第三数据 | A17 | A16 | A15 | A14 | A13 | A12 | A11 | A10 |
第四数据 | A27 | A26 | A25 | A24 | A23 | A22 | A21 | A20 |
第五数据 | A37 | A36 | A35 | A34 | A33 | A32 | A31 | A30 |
第六数据 | A47 | A46 | A45 | A44 | A43 | A42 | A41 | A40 |
第七数据 | A57 | A56 | A55 | A54 | A53 | A52 | A51 | A50 |
第八数据 | A67 | A66 | A65 | A64 | A63 | A62 | A61 | A60 |
此表中,第一数据为数字按钮数据(ON=“0”,OFF=“1”)。第二数据也是数字按钮数据(ON=“0”,OFF=“1”)。第三数据为模拟轴1数据(其值介于00h和FFh之间)。第四数据为模拟轴2数据(其值介于00h和FFh之间)。第五数据为模拟轴3数据(值域为80h±7h)。第六数据为模拟轴4数据(值域为80h±7h)。第七数据为模拟轴5数据(值域为80h±7h)。第八数据为模拟轴6数据(值域为80h±7h)。
写入数据格式
没有用于将数据写入到到控制器中的格式。其数据大小为0字节。如果有数据被写入,也不会有响应。
功能定义块
游戏控制器的功能定义块表示被划分为在表14中所示的读取格式中所用元件的功能。表15显示了游戏控制器的功能定义块的一个示例。
(表15)
控制器光标定义块FD的构造
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
第一数据 | RB15 | RB14 | RB13 | RB12 | RB11 | RB10 | RB9 | RB8 |
第二数据 | RB7 | RB6 | RB5 | RB4 | RB3 | RB2 | RB1 | RB0 |
第三数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第四数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
此表中,RBn表示读取格式所划分的一个块。
表16显示了块划分的一种示例。
(表16)
控制器读取格式块划分
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | RB1 | RB0 | ||||||
第二数据 | RB9 | RB8 | RB7 | RB6 | RB5 | RB4 | RB3 | RB2 |
第三数据 | RB10 | |||||||
第四数据 | RB11 | |||||||
第五数据 | RB12 | |||||||
第六数据 | RB13 | |||||||
第七数据 | RB14 | |||||||
第八数据 | RB15 |
此表与表14相对应,被使用块的设置位被设置为“1”,而那些未被使用的块的设置位被设置为“0”。这些未被使用的块被功能库忽略。
标准控制器的设备ID和数据格式
表17所示为一种标准控制器的设备ID的一个示例。此例与一种仅具有控制器功能的标准控制器的设备ID有关。
(表17)
标准控制器设备ID
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第二数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第三数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第四数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
第五数据 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
第六数据 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
第七数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第八数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第九数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十一数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十二数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十三数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十四数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十五数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第十六数据 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
此表中所示的设备ID包括,以从第一数据到第十六数据的顺序:00h-00h-00h-01h-3Ch-1Fh-00h-00h-00h-00h-00h-00h-00h-00h-00h-00h.
表18所示为一种标准控制器中的数据格式(读取格式)。
(表18)
标准控制器读取格式
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | Ra | La | Da | Us | 开始 | A | B | C |
第二数据 | 1 | 1 | 1 | 1 | 1 | X | Y | Z |
第三数据 | A17 | A16 | A15 | A14 | A13 | A12 | A11 | A10 |
第四数据 | A27 | A26 | A25 | A24 | A23 | A22 | A21 | A20 |
第五数据 | A37 | A36 | A35 | A34 | A33 | A32 | A31 | A30 |
第六数据 | A47 | A46 | A45 | A44 | A43 | A42 | A41 | A40 |
第七数据 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
第八数据 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
在标准控制器中不需要写入数据格式。
存储类型功能
存储类型功能是一种用于存储数据的功能类型,其表示功能定义块。利用一条获取介质信息命令来收集功能定义以外的其它信息(总容量等)。
该功能类型为FT1=1,而此功能(存储)定义块如表19所示。
(表19)
存储功能定义块的构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | PT7 | PT6 | PT5 | PT4 | PT3 | PT2 | PT1 | PT0 |
第二数据 | BB7 | BB6 | BB5 | BB4 | BB3 | BB2 | BB1 | BB0 |
第三数据 | WA7 | WA6 | WA5 | WA4 | RA3 | RA2 | RA1 | RA0 |
第四数据 | RM | FD6 | FD5 | FD4 | FD3 | FD2 | FD1 | FD0 |
此表中,PT0-PT7表示分区号。这些分区号可以被设置为1与256之间的数。分区号=(PT+1)。BB0-BB7代表一块字节数。其可以被设置为32字节到8192字节之间的数。一块字节数=(BB+1)×32(字节)。RA0-RA3代表一块读取访问数。其设置了为读取一数据块中的数据所必须进行的访问的次数。该访问数可以被设置为1到15之间的数。一次访问的数据量为将一数据块由访问数均分的容量。访问数=RA(次数),而一次访问的数据量=一数据块/RA(字节)。RA=0表示没有读取访问。WA3-WA0代表一块写入访问数。其设置了为将数据写满到一数据块中所必须进行的访问的次数。该访问数可以被设置为1和15之间的数。一次访问的数据量为将一数据块块由访问数均分的数据量。访问数=WA(次数),而一次访问的数据量=一数据块/WA(字节)。WA=0表示没有写入访问。RM代表一种可擦写介质。其设置存储数据的介质是否可擦写(FD或闪存卡等)。表20中所示为RM设置的一个示例。
(表20)
RM值
介质 | RM |
固定 | 0 |
活动 | 1 |
表20中的FD6-FD0表示保留位。一个保留位是为将来应用而保留的设置位。通常,这些位均被设置为“0”
B/WLCD类型功能
B/WLCD类型功能表示一种单色点阵液晶显示器功能,及一个功能定义块。通过一条获取介质信息命令来获得功能定义块以外的其它信息(分辨率等)。
功能类型FT2=“1”。一种B/WLCD类型的功能定义块可能是,例如,如表21所示。
(表21)
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | PT7 | PT6 | PT5 | PT4 | PT3 | PT2 | PT1 | PT0 |
第二数据 | BB7 | BB6 | BB5 | BB4 | BB3 | BB2 | BB1 | BB0 |
第三数据 | WA3 | WA2 | WA1 | WA0 | 0 | 0 | 0 | 0 |
第四数据 | H/V | B/W | FD5 | FD4 | FD3 | FD2 | FD1 | FD0 |
B/W LCD功能定义块的构造
在表21中,PT7-PT0代表LCD数。其可以被设置为1到256之间的数。LCD数=(PT+1)。BB7-BB0代表一次单独数据块传送的字节数。其可以被设置于32字节到8192字节之间。一数据块的字节数=(BB+1)×32(字节)。WA3-WA0代表以数据块写入访问数。其设置了为将数据写满到一数据块中所必须进行的访问的次数。该访问数可以被设置为1到15之间的数。一次访问的数据量为将一数据块由访问数均分的数据量。访问数=WA(次数),而一次访问中的数据量=一数据块/WA(字节)。WA=0表示没有写入访问。RM代表一种可擦写介质。其设置存储数据的介质是否可擦写(FD或闪存卡等)。
H/V表示LCD数据的字符串是水平还是垂直的。其如表22所示。
(表22)
H/V值
数据序列 | H/V |
水平 | 0 |
垂直 | 1 |
表21中,B/W表示液晶显示器是正常黑还是正常白。其如表23所示。
(表23)
B/W值
正常 | B/W |
黑 | 0 |
白 | 1 |
其它功能
控制类型功能以外的其它功能的数据格式和功能定义块的细节信息由每种功能的单独规格说明(附图中未示出)来确定。
对外设实际访问的示例
接下来,将对访问一个外设的实际方法进行说明。
连接之后的处理
(1)主机确认由基本设备返回的设备状态命令中所给出的目的区,产品名,许可证,操作电流等,并对外设进行检测以查明是否与主机目的区不兼容,不被应用程序,或不可由硬件操作等。如果基本设备不兼容,则主机将对该基本设备进行一次硬复位,或执行处理以防止所述基本设备在此后被继续访问。
(2)主机从设备状态内所给出的数据中确认出基本设备的功能类型。主机从功能类型设置位的最高位开始搜索,其调用功能库直至三个高端有效位。其后,将准备好功能定义块所需的数据。
(3)如果主机从源设备AP值中识别出连有一个扩展设备,则其便传送一条设备请求到那个扩展设备并从(1)重复此处理。
访问功能部件
在连接之后,主机便进入与外设通信的状态,并访问外设的功能部件。现在将利用一个其中连到端口A上的外设为一种标准(游戏)控制器的示例对其进行说明。
(1)主机从该标准控制器请求数据。使用的是一条获取介质信息命令。此命令请求将功能部件的物理情况传回给主机。主机请求与游戏控制器有关的按钮,按键及模拟杆的情况。优选地,命令传输之间的间隔为1时间间隔(INT),例如,更快于此的命令传输被禁止。从主机发送到外设(控制器)的传输数据的一个示例如表24所示。
(表24)
从主机到外设的传输数据
传输次序 | 数据 | 设置序列 | 说明 |
第一 | 命令代码 | 09h | 指定“获取条件” |
第二 | 目的AP | 20h | 指定端口A上的设备 |
第三 | 源设备AP | 00h | 从端口A传送 |
第四 | 数据大小 | 01h | 数据大小=4字节 |
第五 | 功能类型 | 00h | 功能类型指示“控制器” |
第六 | 00h | ||
第七 | 00h | ||
第八 | 01h |
(2)数据以此数据格式从控制器传送到主机。使用的是一条数据传送命令。表25所示为从一个外设(控制器)传送到主机的数据的一个示例。
(表25)
传输次序 | 数据 | 设置序列 | 说明 |
第一 | 命令代码 | 08h | 指定“数据传送” |
第二 | 目的AP | 00h | 指定端口A |
第三 | 源设备AP | 20h | 没有扩展设备 |
第四 | 数据大小 | 03h | 数据大小=12字节 |
第五 | 功能类型 | 00h | 功能类型指示“控制器” |
第六 | 00h | ||
第七 | 00h | ||
第八 | 01h | ||
第九 | 读取格式 | FFh | 按照控制器格式存储控制器数据。所用的数据块已由设备ID所描述。 |
第十 | FFh | ||
第十一 | 00h | ||
第十二 | 00h | ||
第十三 | 80h | ||
第十四 | 80h | ||
第十五 | 80h | ||
第十六 | 80h |
功能类型直接地存储由主机传送来的类型,而据此附加上读取格式。控制器读取格式包括8字节。
例外处理
例外处理是指为那些不能利用命令来控制数据传输和接收的设备所准备的特殊处理。一种典型的示例为激光枪。
激光枪
(1)如果主机确定外设具有一个激光枪的设备ID或用于射击游戏的射击枪,在使用激光枪时其便将M总线从正常模式切换为SDCKB占用模式。模式切换不可能从外设一侧发生。如果主机传送一个SDCKB占用特征(见图52)并且端口切换为SDCKB占用模式,则在那个端口上的所有外设均将切换为SDCKB占用模式,而只有以SDCKB占用模式操作的外设可以运行。如果具有一个激光枪设备ID的多个设备被连到一个端口上,则主机将通过警告消息或诸如此类来向用户表明此情况并通过显示或声音来通知用户以减少连到此端口上的此类设备的数目。
(2)为了使M总线从SDCKB占用模式返回,主机执行取消处理。当SDCKB占用模式结束时,M总线立即恢复为正常状态。
(3)在使用的是激光枪的情况中,SDCKB占用模式表示写屏的一个时间间隔(INT)所需的时间段,减去垂直消隐周期,即荧光屏绘制时间段。当荧光屏绘制时间段结束而一个消隐周期开始时,M总线立即切换到正常状态,而数据可以由那个端口上的其它外设传送及接收。
(4)为了实现激光枪的功能,采用了一个包括一个光感受器元件的部件作为一个功能部件(也可以使用一个扩展设备),以及一个包括触发器,方向键,模拟键等的部件作为另一个功能部件(也可以使用一个扩展设备)。利用此方法,其能够克服常规技术中诸如当使用激光枪不能使用方向键的问题。
(5)在SDCKB占用模式中,将不进行定时溢出此类。
主机内部接口
现在将对M总线行驱动器和主机MIE之间的接口进行说明(见图46和图63)。
主机内部接口概述
图63所示的外设控制器包括一个由一个目标部52a内的一组寄存器寄构成的寄存器组。具体地说,外围控制器包括:一个32位DMA指令表地址寄存器;一个DMA触发器选择寄存器;一个DMA使能寄存器;一个状态寄存器;一个硬触发器清除寄存器;一个工作RAM区保护寄存器;及诸如此类。
下面,将对主机中的外围接口的基本操作进行说明。外围控制器将工作RAM中由DMA指令表地址寄存器所表示的传输数据以与V_BLANK信号保持同步的方式(可以在系统控制寄存器中设置启动延迟)载入到传输数据FIFO。可以通过在主存储器中分配一个特殊区域来形成工作RAM。该传输数据包括:指令+接收数据存储地址+输出数据。
该指令为一条到外围控制器的命令,而当该指令被完成时,将对输出端口和传输数据长度等进行设置。另外,如果该指令还没有完成,只要传输数据FIFO变空,工作RAM中的传输数据便被载入到传输数据FIFO中(以32字节为单位)。在接收数据存储地址中设置了所接收数据的存储所在地的一个引导地址。传送数据是实际传送到由应用协议所支配的一个外设的数据(4字节单位)。来自外设的接收数据以4字节为单位,只要接收数据FIFO变满(32字节),其便被连续地地传送到由端口A所表示的工作RAM区中。这里,即使FIFO未满,只要完成了接收,其便被强行作为32字节传送出去(有效数据+无效数据)。
另外,如果外设由于一次断接或事故等而产生了一次定时溢出(例如1ms),对应于那条指令将32位的fff-ffffh写入到引导接收数据存储地址中。当完成此一系列的操作时,外围控制器停止其操作,并表现DMA开始/状态寄存器的状态。
寄存器映射
DMA指令表地址寄存器
DMA指令表地址寄存器是一个可读且可写包含32位的寄存器。其组成元件为:一条到外围控制器的命令(指令);一个接收数据存储地址;及指示了用于传输数据组的引导地址的多个位(Ct31-Ct5)。
DMA触发器选择寄存器
DMA触发器选择寄存器为一个可读及且写并含有32位的寄存器。其组成元件为一个与传输和接收触发器是软件启动还是硬件启动(V取消)有关的传输数据选择位(Ts)。
DMA使能寄存器
DMA使能寄存器为一个可读且可写并含有32位的寄存器。其组成元件为一个传输/接收使能和禁用选择位(Tn)。在软件触发器的情况中,此位被使能而传输或接收是通过将DMA起始/状态寄存器中所示的DMA起始位设置为“1”而开始的,只要检测到硬件触发器(V取消),此位便被使能而传输和接收也便开始进行。另外,在此使能状态中,通过写“0”其能够强行地实施中断。
DMA起始/状态寄存器
DMA起始/状态寄存器为一个可读且可写并含有32位的寄存器。其组成元件为一个用于为了传输/接收而执行一次软件启动的位(Ss)。另外当进行读取时,其变成一个表示传输/接收状态的状态寄存器。只有当选择一个软件触发器作为启动触发器时,其才对将被输入的“1”有效,从而启动传输。
系统控制寄存器
系统控制寄存器为一个可读且可写并包括32位的寄存器。其组成元件为:来自到外设的数据传输的定时溢出设置位(To15-To0);一个在硬件触发器的情况中用于选择在每次V取消处是否有启动,或操作是否被暂停直到清除寄存器中的标志被清除的选择位(Si);传输率设置位(Dc3-Dc0);启动时序设置位(Dt3-Dt0)(设置从V取消起的延迟)。定时溢出设置时间=20ns×To15-To0。例如,其能够被设置为300US=20ns×3a98h。Si为一个用于自动启动的接收设置位。当此位为“0”时,在每个时间间隔处将实施一次启动。当其为“1”时,接下来的启动将不被实施直到硬触发器清除寄存器中的标志。Dc1-Dc0表示传输率设置位。
状态寄存器
状态寄存器包括32位的可读寄存器。其组成元件为:一个表示了外围控制器正在操作(在传输/接收的过程中)的位(Do);用于监视一个内部块状态计数器的位(St5-St0);及用于监视每个端口(La3-la0,Lb3-Lb0)的输入/输出线的位。此寄存器被用于元件调试,而不用于应用。
硬触发器清除寄存器
硬触发器清除寄存器是一个包括32位的只写寄存器。此寄存器的组成元件为一个用于外围控制器中的单独硬件自动启动停止的取消位(Tc)。通过将“1”写到此位来清除此自动停止。
工作RAM区保护寄存器
工作RAM区保护寄存器是一个包括32位的只写寄存器。此寄存器的组成元件为设置:一个16位写入保密码;一个用于接收数据存储地址(Ha)的范围引导头;及一个中断(Ta)地址。
传输数据地址计数器寄存器
传输数据地址计数器寄存器是一个包括32位的只读寄存器。其组成元件表示一个由外围控制器进行读取的工作RAM中的传输数据的地址点。由于此寄存器用于调试,其不由应用使用。
接收数据地址计数器寄存器
接收数据地址计数器寄存器为一个包括32位的只读寄存器。其组成元件表示一个用于由外围控制器所写入的工作RAM中的传输接收的地址点。由于此寄存器用于调试,其不由应用使用。
接收数据基址寄存器
接收数据基址寄存器为一个包括32位的只读寄存器。其组成元件表示一个用于由外围控制器所进行写入的工作RAM中的接收数据的引导地址。由于此寄存器用于调试,其不由应用使用。
传输数据
接着,将对传输数据进行说明。传输数据的一个单元包括:一条指令,接收数据存储地址,及输出数据。如果此数据在工作RAM中被存储为:指令+接收数据存储地址+输出数据+指令+接收数据存储地址+输出数据…,外围控制器将顺序地执行其。
指令
一条指令包括由应用程序提供给外围控制器以对其进行控制的32位数据。其组成元件为:一个表示了当前指令结尾的结束位;用于传输和接收的有效端口选择位(Po1,Po0);特征选择位(Pn2-Pn0);及输出数据长度选择位(Ln8-Ln0)。当外围控制器检测到Ef位为“1”时,用于该条指令的处理便完成了(传输数据中的最后命令必须总是将Ef位设置为“1”)。另外,如果外围控制器检测到Ef位为“0”时,其便执行下一条指令。当在特征选择位中选择了“START”时,输出数据被输出。当选择了另一个特征(SDCKB占用允许,复位,SDCKB占用取消)时,在该端口上仅有信息特征输出有效,而输出数据长度的规格说明变无效。当SDCKB占用允许特征被选中时,指令中的Ef位必须被设置为“1”。接下来除SDCKNB占用取消特征之外的任何指令的执行均将变得无效。
另外,在SDCKB占用期间,外围控制器输出由SDCKB线输入的下降沿作为HV计数器锁存信号。输出数据长度选择位以4字节为单位,最大可以被设置为,例如1024字节。
接收数据存储地址
接收数据存储地址为一个用于存储接收数据的引导地址的设置位(Ra)。
输出数据
输出数据为实际被传送给外设的数据。输出数据的数据长度必须等于由上述指令(32位)所设置的输出数据长度的大小。
中断寄存器
本接口中没有包含中断寄存器。而是将六种信号从此接口连到一个中断模块上。例如,当完成传送或接收(DMA完成)时,当一次传输或接收操作(DMA)延续到V BLANK IN中时,当接收FIFO已满而仍需将另外的数据写入到接收FIFO中时,当在DMA指令表地址的保护区之外有一次设置或启动时,及当存在一条非法指令提取操作时,以及当诸如此类的情况时,均会出现一次中断。
HV计数器寄存器
在本接口中并不包含激光枪模式中的HV计数器寄存器。相反,一条HV锁存信号从本接口连到一个绘制模块。应用程序在V BLANK期间读取绘制模块中的HV计数器值。
传输/接收序列
下面,将说明传输和接收序列。如接下来所要说明的,传输/接收序列包括一个正常序列及一个SDCKB占用过程。
正常序列
图61所示为正常序列的一个示例。此图中显示为一个主机CPU和外围控制器(其如图63所示并将在下文中详细说明)之间的数据传输和接收的流程,外设A和B如图64所示。
图61中,主机CPU确定是否有一个外设连到其任一个端口上并通过上述的AP设置操作识别出有关外设的目的AP。其后,其通过传送给外设一个设备请求并接收相应的答复来获得每个外设的细节信息。接着,例如,为了响应应用程序的请求或诸如此类而与外设A进行通信,CPU在工作RAM中设置用于DMA操作的传输数据,而在外围控制器的目标部52a的内部执行多种对指令等的设置操作等。这些指令为提供给外围控制器的命令,其设置指令结尾,输出端口,输出数据长度,及诸如此类。另外如果没有指明指令的结尾,则只要传输FIFO53a变空,工作RAM中的传输数据便将一直被载入到传输FIFO53a中。载入操作是以,例如32字节为单位进行的。
例如,外围控制器与所提供的视频信号中的V BLANK信号的上升沿(消隐周期的结尾)保持同步地将工作RAM中由DMA指令表地址寄存器所指示的传输数据载入到传输FIFO53a中。如上所述,利用系统控制寄存器可以设置启动延迟。外围控制器根据由CPU输出的指令和数据以图48所示的帧格式创建传输数据,并将此传输数据发送到相关端口的M总线上。
外设A连续地监视M总线上的信号。当其确认传输数据的目的AP与其自身的地址(AP)一致时,其便读入此传输数据。外设A随后执行对应于该命令的处理,并以一种预定的格式创建答复数据,并将其发送给M总线。
一旦接收到来自外设A的数据,外围控制器首先将所接收的数据置于接收FIFO56b中,随后将其传送给工作RAM以进行DMA操作。从外设接收到的数据以例如4字节为单位,只要接收FIFO56b变满(32字节),数据便被传送到由接收数据存储地址所指示的工作RAM中。
然而,即使接收FIFO56b没有变满,只要接收一结束,数据便作为32字节(有效数据+无效数据)被强行传送出去。接着,将传送给外设B的仍存留在工作RAM中的数据被读出,并置于传输FIFO53a中,且被构建成寻址到外设B的传输数据。此数据随后被传送到与外设B相连的端口的M总线上。
类似于外设A,外设B连续地监视M总线上的信号。当其确认传输数据的目的AP与其自身的地址(AP)一致时,其便读入此传输数据。外设B随后执行对应于该命令的处理,并以一种预定的格式创建答复数据,并将其发送给M总线。
一旦接收到来自外设B的数据,外围控制器首先将所接收的数据置于接收FIFO56b中,随后将其传送给工作RAM以进行DMA操作。
CPU与所提供的视频信号中的V BLANK信号的下降沿(消隐周期的开始)保持同步地从外围控制器中读出其状态。由此能够识别出是否存在来自一个外设的。其随后从工作RAM的相关区中读出所存储的接收数据,并将此数据提供给应用程序。
通过重复此过程来进行主机与外设之间的数据通信。当一系列操作结束时,外围控制器停止工作并在DMA开始/状态寄存器中表明其状态。
如果外设由于断接或事故等产生了一次定时溢出,响应此命令外围控制器将一个32位的ffff_ffffh写入引导接收数据存储地址寄存器中。如果发生了奇偶错误,将写入一个32位的ffff_ff00h。CPU执行与之对应的处理。
SDCKB占用过程(激光枪)
接下来,将参照图62对SDCKB占用过程进行说明。SDCKB占用过程被用于,例如,主机与一个在射击游戏中构成了一个外设的激光枪之间的数据通信。
如上所述,CPU确定否有外设连到其任一个端口上并利用上述的AP设置操作识别出相关外设的目的AP。其随后通过向每个外设传送一条设备请求并接收相应的答复来获取每个外设的细节信息。例如,为了响应来自射击游戏应用的请求而与激光枪进行通信,CPU通过DMA操作将传输数据设置在工作RAM中,而在外围控制器的目标部52内的寄存器中执行多种对指令等的设置操作。
例如,如果一个枪战游戏向CPU请求SDCKB占用,则CPU便将端口的操作从正常模式切换为SDCKB占用模式。利用上述命令,含有所选端口及SDCKB占用允许的传输数据被写入到工作RAM中。工作RAM中的数据地址被写入到DMA命令表地址寄存器中。
例如,外围控制器与所提供的视频信号中的V BLANK信号的上升沿保持同步地将工作RAM中由DMA命令表地址寄存器所指示的传输数据载入到传输FIFO53a中。外围控制器随后从工作RAM中读出命令和数据,创建一个图52所示格式的SDCKB占用允许特征,并将其传送到相关端口的M总线上。
外设A连续地监视M总线上的数据信号。一旦接收到SDCKB占用允许特征,外设A便能够以一种理想时序将其输出传送到M总线上。如果用户操作(拉动了扳机)了外设A(激光枪),则外设A(激光枪)将向M总线传送一个触发器信号。
当主机从外设A接收到触发器信号数据时,其便输出一个锁存信号个HV计数器(附图中未示出)。HV计数器计算对应于沿荧光屏扫描的照射点位置的值。由锁存的该HV计数器值,其能够识别出当拉动扳机时外设A(激光枪)在荧光屏上的瞄准点。
如果外设为一个激光枪,CPU将分配所提供的视频信号的1个时间间隔的显示屏绘制周期为SDCKB占用周期。其后,当绘制周期结束而V BLANK信号下降(消隐周期的开始)时,CPU取消SDCKB占用模式并将相关端口的操作从SDCKB占用模式恢复为正常模式。为此,CPU利用上述命令将含有所选端口和SDCKB占用取消的传输数据写入到工作RAM中。工作RAM中数据的地址则被写入到DMA命令表地址寄存器中。
外围控制器立即将工作RAM中由DMA命令表地址寄存器所指示的传输数据载入到传输FIFO中。外围控制器从工作RAM中读出命令和数据,创建一个SDCKB占用允许取消特征,并将其传送到相关端口的M总线上。
外设A连续地监视M总线上的数据信号。如果其接收到一个SDCKB占用取消特征,其便取消其输出使能状态。
以此种方式,SDCKB占用模式占用了此间以视频信号的1时间间隔绘制显示屏的时间段。因此,即使使用了随机产生输出的外设,如激光枪,其仍能够使用连到相同总线上的其它外设。
寄存器设置方法
下面将说明在软启动和硬启动(在每个触发器处的自动启动)的情况中的寄存器设置的示例。
在一次软启动中,在如下的情况中将设置预定的寄存器值。
初始化
1.工作RAM区保护寄存器设置
2.系统控制寄存器设置
3.DMA触发器选择寄存器设置
执行步骤
4.工作RAM中的数据设置(DMA命令表)
5.DMA命令表地址寄存器设置
6.EDMA使能寄存器设置
7.DMA开始/状态寄存器设置
检测完成
8.DMA开始/状态寄存器的确认
9.到工作RAM的数据接收中断
在一次硬启动(在每个触发器处的自动启动)中,在如下的情况中将设置预定的寄存器值。
初始化
1.工作RAM区保护寄存器设置
2.系统控制寄存器设置
3.DMA触发器选择寄存器设置
执行步骤
4.将数据设置到工作RAM中(DMA命令表)
5.DMA命令表地址寄存器设置
6.DMA使能寄存器设置
7.DMA开始/状态寄存器设置
检测完成
8.DMA开始/状态寄存器的确认
9.到工作RAM的数据接收中断
主机MIE方框图
图63所示为一个主机中的一个外围控制器(MIE)1h的近似构造的方框图。此图中,对应于图21的各个部分被标以相同的符号。
图63中,一个启动器部在外围控制器1h处于工作状态时起到一个用于访问工作RAM的总线主控器的作用。其从工作RAM中读出将被传送到外设的数据,并将从外设接收到的数据写入到工作RAM中。时钟分频电路为一个用于选择传输数据的比特率(传输率)分频电路。目标部52a是作为路由总线上的一个目标进行操作的一个模块,其是由主机CPU利用上述一组可读及可写32位寄存器形成的。指令或诸如此类大都被写入到此部件中。传输数据暂存寄存器53b为一个用于存储来自3字节传输数据FIFO53a的32位传输数据的寄存器。传输数据FIFO53a为一个用于暂时存储传输数据的32字节FIFO(先进先出)寄存器。接收数据FIFO56b为一个32字节接收数据FIFO寄存器。接收数据暂存寄存器56a为一个用于存储32位的接收数据的寄存器。只要了数据接收以完成,接收数据便被写入到接收数据FIFO56b中。中断相互控制部54产生一个在某些情况下被发送到中断部的单时钟脉冲的中断信号。帧控制器58为一个根据这些指令及诸如此类来控制传输帧(起始特征,数据特征,结尾特征等)的模块。帧译码器59为一个用于输出一个帧特征的模块。交替移位寄存器(并行/串行)60为一个用于将并行传输数据轮流转换到两条串行线中的电路。另外交替移位寄存器60对该传输数据进行一次奇偶性计算并将奇偶数据(例如1字节的奇偶位)附加到该传输数据的末端。帧解码器61为一个用于分析接收信号的一个帧的电路。交替移位寄存器(串行/并行)62为一个用于将轮流从两条串行线上接收到的数据转换为并行数据的电路。另外,交替移位寄存器62对接收数据进行一次奇偶性计算。这些计算结果将与所接收到的奇偶数据进行比较以确定是否有错误。如果存在错误,则一个有关于此的标志信息经由中断信号控制部54被发送到CPU中断控制器。由此CPU能够执行诸如发出一条重新传送命令或诸如此类的错误处理。HV锁存信号控制器63为一个用于将一个HV锁存信号从串行线传送到绘制处理器部(视频信号发生部)1f中的一个HV计数器的电路。端口控制器57控制与传送/接收处理有关的工作端口。换言之,对由指令选中的传输端口的三态缓冲器68a-68h进行控制使得来自选择器64和65的输出SDCKA和SDCKB被引向所选的端口。选择器64受帧控制器58控制,其通过选择帧译码器59的输出或交替移位寄存器60的输出来形成一个SDCKA信号,并将此信号通过所选的三态缓冲器68输出到一条M总线上。选择器65受帧控制器58控制,其通过选择帧译码器59的输出或交替移位寄存器60的输出来形成一个SDCKB信号,并将此信号通过所选的三态缓冲器68输出到一条M总线上。选择器66根据来自端口控制器57的命令来选择一个接收端口,并且其将已经过一个缓冲器放大器的接收信号SDCKA提供给帧解码器61及交替移位寄存器62。选择器67根据来自端口控制器57的命令来选择一个接收端口,并且其将已经过一个缓冲器放大器的接收信号SDCKB提供给帧解码器61及交替移位寄存器62。
外设内部接口
图64所示为给出了一个身为一个基本设备的外设的电路构造的近似示意的方框电路图。另外,图65所示为给出了图64所示的插头控制部203与204之间的接口(基本设备MIE)的稍详细示意的方框电路图。在这些示例中,为了便于说明(例示),仅描述了两个外部扩展插头,而实际上其可以提供四个外部扩展插头。
CPU模块201执行基本设备的控制功能,诸如形成携带有输入操作信息的传输数据,并处理响应来自主机1的请求的答复数据。其还包括初始化操作,诸如如上所述在建立期间建立目的AP和扩展设备AP。IO模块202将来自输入设备的操作信息转换为数据信号。如果基本设备2为一个游戏设备的一个控制垫板,则将有多个数字按钮及模拟按键等对应于这种输入设备。另外,IO模块202根据CPU输出指明到经由每个控制插头的接线端ID0和ID1与其相连的一个扩展设备的LM总线号。接线端ID0和ID1的作用已在上文中参照图59对扩展设备的AP设置过程所作说明中进行了描述。控制模块203确定在每个扩展插头处是否存在扩展设备连接。其后,利用扩展设备被连接其上的扩展插头处的三态缓冲器,由主机提供给该设备的数据线SDCKA和SDCKB被分别连到LM总线数据线SDCKA和SDCKB上。因此,从主机1看M总线,其等价于平行地连到M总线上的一组外设(基本设备和扩展设备)。通信处理模块204执行接收数据的解码及来自CPU的输出数据的编码,及诸如此类。CPU模块201-204能够被构建成一个单独的集成电路芯片。
通信处理模块204执行对从主机接收到的帧进行解调,及对由CPU部201所输出的传输数据进行组帧(解码)的功能。通信处理模块204与控制模块203一起构成了MIE(输入/输出接口)的主要元件。
从主机输出到M总线上的SDCKA信号(下行信号)经由一个缓冲器放大器212a提供给通信处理模块204。另外,在经过了缓冲器放大器212a之后,SDCKA信号分别经由相应的三态缓冲器215a和215b形成了被分别提供给总线1和2的SDCKADS-1信号和SDCKADS-2信号。
由主机输出到M总线上的SDCKB信号(下行信号)经由一个缓冲器放大器212b提供给通信处理模块204。另外,在经过了缓冲器放大器212b之后,SDCKA信号分别经由相应三态缓冲器215a和215b形成了被分别提供给总线1和2的SDCKBDS-1信号和SDCKBDS-2信号。
另一方面,一个由通信处理模块204输出到主机(上行)的SDCDKA信号经由(第一接线端的)一个或门214a及一个三态缓冲器211a输出到M总线数据线SDCKA上,在此其被主机MIE接收。另外,一个由通信处理模块204输出到主机(上行)的SDCKB信号经由(第一接线端的)一个或门214b及一个三态缓冲器211b输出到M总线数据线SDCKB上,在此其被主机MIE接收。当通信处理模块204传送SDCKA信号或SDCKB信号时,一个使能信号经由(第一接线端的)一个或门213a被提供给三态缓冲器211a的控制端以开启门211a(使其导通),一个使能信号经由(第一接线端的)一个或门213b被提供给三态缓冲器211b的控制端以开启门211b(使其导通)。三输入或门213a和213b的各自输入端经由一个电阻接地。如果没有到输入端的输入信号,则输入端将保持地电平。另外,三输入或门214a和214b的各自输入端经由一个电阻与电源Vcc相连。因此,没有信号输入的输入端将保持“H”电平。
由第一扩展设备输出到LM总线1的一个SDCKA信号经由扩展插头1的接线端SDCKAUS-1被输出到M总线数据线SDCKA,(第二输出端的)或门214a及三态缓冲器211a上。由第一扩展设备输出到LM总线1的一个SDCKA信号经由扩展插头1的接线端SDCKAUS-1被输出到M总线数据线SDCKA,(第二输出端的)或门214b及三态缓冲器211b上。当第一扩展设备传送SDCKA信号或SDCKB信号时,为了开启门211a,其经由LM总线1信号线SDCKAEN1向三态缓冲器211a的控制端提供一个使能信号,及(第二输入端的)或门213a。另外,为了打开门211b,其经由LM总线1信号线SDCKBEN1向三态缓冲器211b的控制端提供一个使能信号,及(第二输入端的)或门213b。
类似地,由第二扩展设备输出到LM总线的SDCKA信号经由扩展插头的接线端SDCKAUS-2被输出到M总线数据线SDCKA,(第三输出端的)或门214a及三态缓冲器211a上。
由第二扩展设备输出到LM总线的SDCKB信号经由扩展插头的接线端SDCKBUS-2被输出到M总线数据线SDCKA,(第三输出端的)或门214b及三态缓冲器211b上。当第二扩展设备传送SDCKA信号或SDCKB信号时,为了开启门211a,其经由LM总线2信号线SDCKAEN2向三态缓冲器211a的控制端提供一个使能信号,及(第三输入端的)或门213a。另外,为了开启门211b,其经由LM总线2信号线SDCKBEN2向三态缓冲器211b的控制端提供一个使能信号,及(第三输入端的)或门213b。
利用电源线Vcc和M总线的GND从主机向基本设备提供工作电压。到扩展设备的工作电压是经由电源线Vcc和LM总线的GND由基本设备来提供的。
如图65所示,插头控制部203由一个LM总线控制器LM总线控制器203a构成。此LM总线控制器监视一个为检测扩展插头上的连接情况而配备的特别接线端的电压。本例中,所监视的是扩展插头的管脚ID2的电压。在基本设备一侧,管脚ID2经由一个电阻R连到基本设备的地线GND上。如图66所示,当扩展设备被连到一个扩展插头上时,经由扩展插头的接线端Vcc和GND分别向扩展设备3提供了电源电压Vcc和GND。到扩展设备一侧的电源电压Vcc经由基本设备扩展插头的ID2接线端加载到电阻R上。LM总线控制器203a根据在电阻R上是否存在电势差来确定插头上是否连接有一个扩展设备。LM总线控制器203a向一个控制寄存器204a指明每条LM总线上扩展设备的连接与未连接状态。LM总线控制器203a还开启了扩展设备所连接其上的扩展插头LM总线的三态缓冲器的门电路,并分别将M总线数据线SDCKA和SDCKB连到LM总线数据线SDCKADS和SDCKBDS上。LM总线控制器203a能够独立于其它部分的操作控制扩展连接器总线的激励。但其也能够根据CPU的判断来进行此项工作。即,LM总线控制器203a检测到一个扩展设备的连接并在控制寄存器204a中设置一个检测输出。CPU201通过监视控制寄存器204a识别出一个扩展设备的连接。如果CPU201允许该扩展设备的连接,则其在控制寄存器204a中设置一个指示相关LM总线的连接的标志LMC。LM总线控制器203a对应于标志LMC开启(接通)LM总线的三态缓冲器215,216。利用这些操作,如图47所示,当一个扩展设备连到一个基本设备上时,该基本设备将自动地识别出扩展设备的连接并将该扩展设备连到M总线上。
通信处理模块204包括:一个控制寄存器204a;奇偶寄存器204b;帧控制器204c;线路监视器204d;帧编码器204e;交替移位寄存器P/S204f;暂存寄存器204g;帧解码器204h;交替移位寄存器S/P 204i;传输/接收缓冲器204j;及数据长度寄存器204k。
控制寄存器204a是一个用于存储多种用于扩展数据传输及接收的标志的寄存器。这些标志将在下文中参照表26进行说明。奇偶寄存器204b为一个用于奇偶性计算及与串行/并行和并行/串行转换有关的计算的表缓冲器。传输/接收缓冲器204j为一个用于存储在数据传输及接收过程中所用数据的寄存器。帧控制器204c通过监视控制寄存器204a中的多种标志来控制帧的传输与接收。另外,其还在检测到一个起始特征,结束特征,SDCKB占用特征,访问特征或诸如此类时在控制寄存器204a中设置相关的标志。帧编码器204e通过将特征部附加到数据上而生成帧。交替移位寄存器P/S204f进行并行/串行转换以将并行数据转换为串行数据。线路监视器204d监视SDCKA和SDCKB信号线。数据长度寄存器204k为一个指明了传输时的传输数据的数据大小的寄存器。
从外设的CPU部201看与MIE连接的接口,其包括:21个控制标志(CFLAG),一个数据长度寄存器204k,及一个最大为1024字节的传输及接收缓冲器(TRBF)204j。传输及接收缓冲器的容量被优化以适应本设备。
这里,将对如上述构造的一个MIE控制器(CPU201)与一个基本设备MIE(插头控制203,传输控制器204)之间的接口进行说明。
从主机经由数据线SDCKA和SDCKB传送来的帧数据由帧解码器204h接收。帧解码器204h对来自SDCKA和SDCKB信号的帧数据进行解调,并从该帧数据中分离出特征部及数据部。当帧解码器204h检测到特征部,诸如起始特征,结束特征,SDCKB占用特征,访问特征或诸如此类时,其便将在该特征部中所检测到信息传送给帧控制器204c。在控制接收操作的同时,帧控制器204c还对应于所检测到的特征在控制寄存器中设置相应的标志。这些标志包括:一个接收标志RXB;接收完成标志RFB;SDCKB占用模式标志POS;及复位特征接收标志HRES。
分离出的数据部被传送到交替移位寄存器204i。交替移位寄存器204i具有串行/并行转换功能,并将分离的串行数据转换为其发送给暂存寄存器204g的并行数据。暂存寄存器204g对所接收的数据进行一次奇偶性计算。其还从所接收到的数据中提取出奇偶位并将其存储在一个奇偶寄存器204b中。奇偶检测的结果与奇偶寄存器204b中的奇偶位进行比较,如果检测到一次错误,则将在控制寄存器204a中设置一个奇偶错误标志。检测出错误的数据随后被存储在传输/接收缓冲器204j中。如果接收数据量超过了传输/接收缓冲器204j的容量,则将在控制寄存器204a中设置一个缓冲器溢出标志BFOV。此溢出数据并不存储在传输/接收缓冲器204j中。当完成接收时,将在控制寄存器204a中设置一个接收完成标志RFB。CPU201监视控制寄存器204a的内容,并响应接收完成标志RFB读出存储在传输/接收缓冲器204j中的数据。
当CPU201传送数据时,传输数据被存储在传输/接收缓冲器204j中,传输数据量被写入到数据长度寄存器204k中。CPU201在控制寄存器204a中设置传输标志TXB及结束特征传输标志ENP(如果下面不再有传输数据了)。传输/接收缓冲器204j中的传输数据被发送到暂存寄存器204g中。暂存寄存器204g以一个字节的奇偶位存储奇偶性计算的结果,并将其附加到传输数据的末尾。随后将此传输数据从暂存寄存器204g中提供给交替移位寄存器204f,在此其被转换为串行数据并随即被提供给帧编码器204e。帧编码器204e通过将一个起始特征和一个结束特征分别附加到传输数据和奇偶性据的开头与结尾而创建出一个传输帧。帧控制器204c利用或门213a和213b开启相应的三态缓冲器211a和211b。该传输帧被帧编码器204e编码为SDCKA信号和SDCKB信号。此SDCKA信号和SDCKB信号被分别输出到M总线数据线SDCKA和SDCKB。
线路监视器204d连续地监视数据线SDCKA和数据线SDKCB。其结果(是否有信号)作为一个SDCKA监视标志及一个SDCKA监视标志被设置在控制寄存器204a中。CPU201通过查询这些标志可以对由主机所传送的数据探查定时溢出。
如图62所示,扩展设备MIE62的组成与基本设备MIE类似,但其不包括一个插头控制部。此图中的支持功能部对应于基本设备中的输入设备及I/O部202,其执行,例如LCD显示器,声音输出插卡,声音输入插卡,激光枪插卡,振动插卡,存储器插卡及诸如此类的特性功能。CPU部301及通信处理部304分别对应于CPU部201及204。
接下来,将对一个基本设备的MIE中所配有的控制寄存器204a,数据长度寄存器204k及传送和接收缓冲器(RB)的构造进行说明。
表26所示为含有多个控制标志(CFLAG)的控制寄存器204a的结构。这些控制标志包括21个用于控制数据传输和接收的标志。根据外设的类型的不同用于构成此寄存器的标志的类型也将有所不同。
(表26)
CFLAG的结构
Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
数据 | HRES | CTXB | TFB | TXB | BFOV | RFB | ENDP | LMC1 | LMC2 | LMC3 | LMC4 |
Ini | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Dir | R | R | R | R | R | R | R | R | R | R |
数据 | RXB | EMP | SDAM | SDBM | PERR | POS | LMM1 | LMM2 | LMM3 | LMM4 |
Ini | 0 | 0 | - | - | 0 | 0 | - | - | - | - |
在此表中,R/W表示此标志是可读及可写的。R表示此标志为只读的。“Ini”代表初始设定。HRES则代表一个复位特征接收标志。当接收到一个复位特征时,该复位特征接收标志HRES便变为“1”,并引发MIE控制器的初始化。TXB为一个传输标志。如果TXB在传输及接收的过程中被覆写,则将不能确保相应的数据内容。CTXB为一个后续传输标志。如果传输的数据量超过了传输及接收缓冲器204j的容量,则在将后续数据存储在传输及接收缓冲器204j之后,利用后续传输标志CTXB,而不是传输标志TXB来传送此数据。TFB为一个传输完成标志。BFOV为一个传输及接收缓冲器溢出标志。当接收或传输开始时溢出标志BFOV被清零。当传输及接收缓冲器204j产生一次溢出时,溢出标志BFOV被设置为“1”。RFB为一个接收完成标志。ENDP为一个结束特征传输标志。当一个结束特征被附加到传输数据上时,ENDP被设置为“1”。RXB为一个接收标志,当数据被接收到时其将发生改变。EMP为一个空标志。如果在传输的过程中传送到传输及接收缓冲器204j的数据消失(变空)了,则空标志便被设置为“1”。PERR为一个奇偶错误标志。当在所接收到的帧中奇偶性不匹配时,此奇偶错误标志便被设置为“1”,而在正常情况下,其被清零为“0”。POS为一个SDCKB占用模式标志。SDCKB占用模式标志POS表明M总线是处于正常模式(POS=“0”)还是处于SDCKB占用模式(POS=“1”)。SDAM为一个SDCKA线监视标志(只在基本设备中提供)。SDBM为一个SDCKB线监视标志(只在基本设备中提供)。SDAM和SDBM分别表示数据线SDCKA和SDCKB的状态。LMC1-4为LM总线1-4(仅在基本设备中提供)的连接标志。LMC1-4表示LM总线1-4上的连接(=“1”)或断接(=“0”)。LMM1-4为LM总线连接监视标志(仅在基本设备中提供)。这些标志LMM1-4表明了LM总线1-4的使用状态。MIE控制器通过检测标志SDAM和SDBM对来自主机的数据探查定时溢出。定时溢出处理仅由基本设备执行而不由扩展设备执行。
数据长度寄存器(LREG)
表27所示为数据长度寄存器的构造。此数据长度寄存器为一个用于表示传输期间的单个帧的大小的单字节寄存器。
(表27)
LREG的构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
数据 | Ln7 | Ln6 | Ln5 | Ln4 | Ln3 | Ln2 | Ln1 | Ln0 |
Ini | - | - | - | - | - | - | - | - |
此表中,R/W表示该位既可读又可写。在其初始状态中,所有位均没有被定义。Ln代表了数据长度,其中00h≤Ln≤FFh。Ln值的与数据长度之间的关系如表28所示。
(表28)
数据长度
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
数据长度 | Ln7 | Ln6 | Ln5 | Ln4 | Ln3 | Ln2 | Ln1 | Ln0 |
4字节 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8字节 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
: | : | : | : | : | : | : | : | : |
512字节 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
516字节 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
: | : | : | : | : | : | : | : | : |
1020字节 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
1024字节 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
在数据传输和接收的过程中以及在数据接收之后,数据长度寄存器(LREG)是未被定义的。该数据长度可以由四个字节单位来指定。
下面将对数据缓冲器进行说明。如上所述的传输及接收缓冲器(RB)204j被用作数据缓冲器。传输及接收缓冲器204j为一个存储了传输数据和接收数据的一帧的缓冲区。其容量以4字节为单位,最小为4字节,最大为1024字节。对于每种外设将对此容量进行优化1。此缓冲器被共享用于传输及接收,而其被分为分别用于命令代码,目的AP,源设备AP,数据大小及数据的多个区。
表29所示为传输及接收缓冲器的构造。此表中,R/W表示该位既可读又可写。在初始状态中,缓冲器内容未被定义。数据以从第一数据开始的顺序传送,而接收数据以从第一数据存储区开始的顺序写入。第一数据-第四数据段为将被存储的数据被指定的区域。
(表29)
TRBF的构造
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
第一数据 | D17 | D16 | D15 | D14 | D13 | D12 | D11 | D10 |
第二数据 | D27 | D26 | D25 | D24 | D23 | D22 | D21 | D20 |
第三数据 | D37 | D36 | D35 | D34 | D33 | D32 | D31 | D30 |
第四数据 | D47 | D46 | D45 | D44 | D43 | D42 | D41 | D40 |
第五数据 | D57 | D56 | D55 | D54 | D53 | D52 | D51 | D50 |
第六数据 | D67 | D66 | D65 | D64 | D63 | D62 | D61 | D60 |
第七数据 | D77 | D76 | D75 | D74 | D73 | D72 | D71 | D70 |
第八数据 | D87 | D86 | D85 | D84 | D83 | D82 | D81 | D80 |
: | : | : | : | : | : | : | : | : |
此表中,第一数据段(第一数据)为一个用于存储命令代码的区域。第二数据段(第二数据)为一个用于存储目的AP值的区域。第三数据段(第三数据)为一个用于源设备AP值的区域。第四数据段(第四数据)为一个用于存储数据大小的区域。当第四数据值D40-D47为“00h”时,其表示没有数据。第五数据段(第五数据)为用于存储参数数据的区域。所存储的数据字节数为数据大小所指示的字节数。超出数据大小的数据区内容不被定义。
主机MIE与基本设备MIE之间的数据传送过程
现在说明利用具有如上所述结构的主机MIE及基本设备MIE所进行的数据接收及数据传输。由于在扩展设备中所用的数据传送过程与之相类似,所以将不再给出主机MIE与扩展设备MIE之间的数据传送的说明。
数据接收过程
首先概述一下基本设备中的数据接收。数据接收是由主机与基本设备的相应MIE自动地进行的。当主机传输一个数据信号而基本设备开始接收处理时,传输标志TXB,传输完成标志TFB,及接收完成标志RFB均被MIE清为“0”。当接收标志为“1”时,便表示MIE正处于接收数据的处理中,而当RXB为“0”时,则表示接收已经结束。当数据接收被正常地完成而数据被存储在传输及接收缓冲器(TRBF)中时,同时由奇偶错误标志PERR存储了奇偶错误状态时,接收完成标志RFB被设置为“1”(在中断处理的情况中,在此时刻产生了一次接收中断),于是接收处理结束。如果接收标志RXB及接收完成标志RFB均为“1”时,则其表示在接收的过程中出现了错误。另外,如果接收数据超过了传输及接收缓冲器的容量时,则传输及接收缓冲器溢出标志BFOV便被设置为“1”,而从开始接收所接收到的最多为传输及接收缓冲器容量的数据被存储在传输及接收缓冲器中。如果在帧数据中存在奇偶失配,则PERR便被设置为“1”,而如果奇偶性正常,则PERR被清为“0”。
图67所示为在从主机传送到设备(外设)的数据量不超过传输及接收缓冲器204j的容量的情况中在设备MIE处的数据接收的示意图。
首先,在主机一侧,在工作RAM 1e中创建将被发送的传输数据,而主机MIE形成包含此数据的帧数据并开始将其传送到M总线上。设备MIE接收此帧数据并利用帧解码器204h对其进行解码。此帧数据中的数据段(数据特征)及奇偶数据由交替移位寄存器204i进行串行-并行转换,并由一个暂存寄存器204g对其进行奇偶性检测(奇偶性计算)。检测后的数据段随后被存储在传输及接收缓冲器204k中,奇偶数据被存储在一个奇偶寄存器204b中。
当帧解码器204h在帧数据中检测到一个起始特征时,帧控制器204c将控制寄存器204a中的传输标志TXB,传输完成标志TFB,及接收完成标志RFB清为“0”。如上所述,当接收标志RXB为“1”时,其表示该MIE正处于接收数据的处理中,而当RXB为“0”时,则表示数据接收已经结束。CPU部201读出接收标志RXB被设置为“1”的事实,便断定该数据正被接收。另外,CPU部201通过检测标志SDAM和SDBM还可以监视数据线SDCKA和SDCKB的使用情况。当帧解码器204h在帧数据中检测到一个结束特征时,帧控制器204c便断定数据接收已经结束,并将接收标志RXB设置为“0”。
奇偶寄存器204b将对接收数据所进行的奇偶性检测的结果与所接收的奇偶数据进行比较,以确定是否有奇偶错误。有无错误出现的情况被写入到控制寄存器204a中的奇偶错误标志PERR中。当帧数据接收被正常地完成,且数据被存储在传输及接收缓冲器204j中,而同时奇偶错误状态被存储在控制寄存器204a的奇偶错误标志中时,接收完成标志RFB被设置为“1”,于是接收处理便也结束了。可以把接收完成标志RFB当作到CPU部201的一个中断信号。
通过周期地,或轮流地监视接收完成标志RFB,当接收完成标志RFB被设置为“1”时接收到一个中断信号,CPU部201执行一个用于处理接收数据的程序。首先,其确认控制寄存器204a中的奇偶错误标志PERR表明没有错误。接着,其将接收数据从传输及接收缓冲器204j读入到CPU部201中的主存储器中。CPU部201随后执行对应于由主机传送来的命令和参数的处理,及用于创建答复数据以及诸如此类的处理。
如果接收标志RXB及接收完成标志RFB均被设置为“1”,则由于其实质上是互不兼容的状态,CPU将认为在接收过程中出现了错误,并执行相关的处理。另外,如果奇偶错误标志PERR表明存在有错误,则CPU部201将执行用于发送一个重新传送请求命令给主机的处理。
图68所示为在从主机传送到设备(外设)的数据量超过传输及接收缓冲器204j的容量的情况中在设备MIE处的数据接收的示意图。当接收数据超过传输及接收缓冲器204j的容量时,传输及接收缓冲器溢出标志BFOV被设置为“1”,从开始接收所接收到的最多为传输及接收缓冲器容量的数据被存储在传输及接收缓冲器中。现在将对在此情况中所执行的操作进行说明。
首先,类似于图67,在工作RAM 1e中创建将被发送的传输数据,而主机MIE形成包含此数据的帧数据并开始将其传送到M总线上。基本设备处的设备MIE接收此帧数据并利用帧解码器204h对其进行解码。此帧数据中的数据段(数据特征)及奇偶数据由交替移位寄存器204i进行串行-并行转换,而由一个暂存寄存器204g对奇偶性进行检测(奇偶性计算)。检测后的数据段随后被存储在传输及接收缓冲器204k中,奇偶数据被存储在一个奇偶寄存器204b中。
当帧解码器204h在帧数据中检测到一个起始特征时,帧控制器204c将控制寄存器204a中的传输标志TXB,传输取消标志TFB,及接收完成标志RFB清为“0”。如上所述,当接收标志RXB为“1”时,其表示该MIE正处于接收数据的处理中,而当RXB为“0”时,则表示数据接收已经结束。CPU部201读出接收标志RXB被设置为“1”的事实,并断定该数据正被接收。
另外,CPU部201通过检测标志SDAM和SDBM能够监视数据线SDCKA和SDCKB的使用情况。
如果接收数据超过了传输及接收缓冲器204j的容量,则传输及接收缓冲器204j将控制寄存器中的传输及接收缓冲器溢出标志BFOV设置为“1”。为此,可以通过,例如在传输及接收缓冲器204j中的一个地址监视器达到存储器中的最大地址时产生一个检测输出,而使该溢出被检测到。即使在接收数据量已经超出了传输及接收缓冲器204j的容量之后,接收数据仍可以经由暂存寄存器被提供给传输及接收缓冲器204j,但传输及接收缓冲器并不读入此数据。因此,对所有的数据仅进行一次奇偶性计算。接收数据的奇偶数据段被存储在奇偶寄存器中。
当帧解码器204h在帧数据中检测到一个结束特征时,帧控制器204c断定数据接收已经结束,并将接收标志RXB设置为“0”。
奇偶寄存器204b将对接收数据所进行的奇偶性检测的结果与所接收的奇偶数据进行比较,以确定是否有奇偶错误。有无错误出现的情况被写入到控制寄存器204a中的奇偶错误标志PERR中。当在传输及接收缓冲器204j中设置了该数据,而在控制寄存器204a的奇偶错误标志PERR中设置了奇偶错误状态时,接收完成标志RFB被设置为“1”,于是便完成了接收处理。可以把接收完成标志RFB当作到CPU部201的一个中断信号。
通过周期地监视接收完成标志RFB,或通过当接收完成标志RFB被设置为“1”时接收一个中断信号,CPU部201识别出其必须执行一个用于处理接收数据的程序。另外,CPU部201确认控制寄存器204a中的奇偶错误标志PERR表明没有错误。其还检测传输及接收缓冲器溢出标志BFOV是否被设置为“1”。一旦识别出该数据正处在传输中,CPU部201将接收数据从传输及接收缓冲器204j中读入到CPU部201的主存储器中,并在随后执行相关的处理。
数据传输方法
接下来将参照图69对从一个基本设备到主机的数据传输过程进行说明。由于从扩展设备到主机的数据传输过程类似于从基本设备到主机的数据传输过程,于是这里将不再对其进行说明。
当基本设备从主机接收到一条命令时,为了响应该命令其创建答复数据,并将此答复数据发送给主机。如上所述,如果在命令传输之后的预定时间段(例如10ms)内没有响应,主机便断定不存在连接。因此,基本设备必须在此时间段内发送回一条命令。
首先,基本设备的CPU部201将传输数据(命令,参数)写到传输及接收缓冲器204j中。其后,其将传输数据的数据量写到数据长度寄存器204k中并将控制寄存器204a中的结束特征标志ENDP设置为“1”。
当CPU部201将控制寄存器204a中的传输标志TXB设置为“1”时,为了传送由数据长度寄存器所指明大小的数据,MIE开始一次传输操作。如果传输标志TXB被设置为“1”,则控制寄存器204a中的接收标志RXB,接收完成标志RFB,传输完成标志TFB,以及传输及接收缓冲器溢出标志BFOV均被设置为“0”(清零)。如果数据长度寄存器204k中所设置的数据量超过了传输及接收缓冲器204j的容量,则传输及接收缓冲器溢出标志BFOV将变为“1”,而传输及接收缓冲器204j中的所有数据将被传送出去。
帧控制器204c对传输标志TXB被设置为“1”作出响应而允许存储在传输及接收缓冲器204j中的数据的传输。暂存寄存器204g对传输数据进行一次奇偶性计算,而该数据随后由交替移位寄存器204f进行并行-串行转换并被传送到帧解码器204e。奇偶数据由暂存寄存器204g附加到传输数据的末端。帧解码器204e在帧控制器204c的控制下以起始特征,传输数据(命令,参数),奇偶数据及结束特征的顺序进行传送。利用如上所述的SDCKA信号和SDCKB信号将由这些数据构成的传输帧发送到M总线上。当从传输及接收缓冲器204j中输出完最后的数据项时,控制寄存器204a中的传输标志TXB被设置为“0”,空标志EMP被设置为“1”,而后续传输标志被设置为“0”。传输及接收缓冲器204j在传输已被完成之后的内容为未定义的。帧控制器204c传送一个结束特征,如果数据传输被正常地完成了,则控制寄存器204a中的传输完成标志TFB被设置为“1”。基本设备MIE随后呈现出一种等待来自M总线的输入状态。CPU部201通过周期性地监视控制寄存器204a中的传输完成标志TFB以看其是否被设置为“1”来确认传输已被完成。另外,如果表示传输正在进行中的传输标志TXB与传输完成标志TFB均被设置为“1”,则CPU部201将认为出现了错误。
另一方面,主机MIE监视由基本设备传送的帧数据。当帧解码器61在该数据中检测到起始特征时,一个信号经由中断信号控制部54发送到主机CPU 1a中的中断控制器,以通知CPU已经接收到了数据。一旦接收数据经由接收数据暂存寄存器56a和接收数据FIF056b从启动器部50传送到工作RAM 1e,其便由交替移位寄存器62进行串行/并行转换。在工作RAM 1e中的接收数据存储单元中,将由CPU 1a所预先确定的接收数据存储地址取作引导位位置。当帧解码器61检测到一个结束特征时,接收将停止,而中断信号控制部54发送一个表示已完成接收处理的信号给中断控制器。由此,CPU得知接收已经结束,从而其能够访问并处理工作RAM 1e中的接收数据。
接下来将参照图70对在来自基本设备的传输数据超过其传输及接收缓冲器204j的容量的情况中的数据传输进行说明。在扩展设备中,执行的步骤与基本设备中的步骤类似。
如果传输数据超过了传输及接收缓冲器204j的容量,基本设备中的CPU部201也能够通过根据传输及接收缓冲器204j的容量而将其划分为一定数目的数据块来传送该数据。
如果基本设备中的CPU部201从主机接收到一条命令,则其为了响应该命令将形成答复数据。如果在传送了该命令后的一个预定时间段(例如1.0ms)内没有响应,则主机将断定不存在连接。因此,基本设备必须在此时间段内发送回一条命令及参数。
首先,基本设备的CPU部201对将被传送的数据量与传输及接收缓冲器204j的容量进行比较以确定传输数据量是否大于后者。CPU部201随后将传输数据划分为等于或小于传输及接收缓冲器204j的容量(例如1024字节)的长度并将数据写到传输及接收缓冲器204j中(数据分块)。
其后,存储在传输及接收缓冲器204j中的传输数据的数据量被写入到数据长度寄存器204k中,而控制寄存器204a的结束特征标志ENDP被设置为“0”。
当CPU部201将控制寄存器204a中的传输标志TXB设置为“1”(传输模式)时,为了传送由数据长度寄存器所指明大小的数据,MIE开始了一次传输操作。当传输标志TXB被设置为“1”,则帧控制器204c将控制寄存器204a中的接收标志RXB,接收完成标志RFB,传输完成标志TFB,以及传输及接收缓冲器溢出标志BFOV全部设置为“0”。
帧控制器204c对传输标志TXB被设置为“1”作出响应而允许存储在传输及接收缓冲器204j中的数据的传输。对暂存寄存器204g中的传输数据进行一次奇偶性计算,随后由交替移位寄存器204f对此数据进行并行-串行转换,并将其传送到帧解码器204c。解码器204c根据来自帧控制器204c的命令顺序地传送起始特征,传输数据(命令,参数)。由于标志ENDP被设置为“0”,所以奇偶数据及结束特征没有被附加到此数据块的末端上。利用SDCKA信号和SDCKB信号将一个包括如上所述的数据项的传输帧发送到M总线。当从传输及接收缓冲器204j中输出完最后的数据项时,控制寄存器204a中的传输标志TXB被设置为“0”,空标志EMP被设置为“1”,而后续传输标志则被设置为“0”。
CPU部201周期性地监视控制寄存器204a中的空标志EMP。如果其确认空标志EMP已被设置为“1”,则其便将后续的传输数据划分为大小等于或小于传输及接收缓冲器的容量的数据并将其存储在传输及接收缓冲器204j中。在数据长度寄存器204k中设置此数据的长度。其后,CPU部201将控制寄存器204a中的后续传输标志CTXB设置为“1”。
当后续传输标志CTXB被设置为“1”时,帧控制器204c将控制寄存器204a中的空标志EMP和传输及接收缓冲器溢出标志BFOV设置(清零)为“0”。
帧控制器204c对传输标志TXB被设置为“1”作出响应而允许传送存储在传输及接收缓冲器204j中的数据。对暂存寄存器204g中的传输数据进行一次奇偶性计算,随后由交替移位寄存器204f对此数据进行并行-串行转换,并将其传送到帧解码器204c。帧解码器204c在帧控制器204c的控制下连续地传送起始特征,传输数据(命令,参数)。利用如上所述的SDCKA信号和SDCKB信号将这些数据项及诸如此类传送到M总线。当从传输及接收缓冲器204j中输出完最后的数据项时,控制寄存器204a中的空标志EMP被设置为“1”,而后续传输标志CTXB被设置为“0”。
CPU部201通过周期性地监视控制寄存器识别出空标志EMP已变为“1”。CPU部201将剩余(未传输)的传输数据划分为大小等于或小于传输及接收缓冲器204j的容量的数据,并将其存储在传输及接收缓冲器204j中。在本例的情况中,剩余数据小于传输及接收缓冲器204j的容量,于是所有的所剩数据均被存储在传输及接收缓冲器204j中。该数据的长度也被设置在数据长度寄存器204k中。另外,由于正在传送最后的数据块,结束特征传输标志被设置为“1”以使得一个结束特征被附加到该数据的末端。其后,CPU部201将控制寄存器204a中的后续传输标志CTXB设置为“1”。
当后续传输标志CTXB被设置为“1”时,帧控制器204c将控制寄存器204a中的空标志EMP及传输及接收缓冲器溢出标志BFOV设置(清零)为“0”。
帧控制器204c对传输标志TXB被设置为“1”作出响应而允许传送存储在传输及接收缓冲器204j中的数据。对暂存寄存器204g中的传输数据进行一次奇偶性计算,随后由交替移位寄存器204f对此数据进行并行-串行转换,并将其传送到帧解码器204c。暂存寄存器204g把对全部传输数据所进行的奇偶性计算的结果作为加到传输数据末端上的奇偶数据(一字节的奇偶位)。帧解码器204c在帧控制器204c的控制下连续地传送起始特征,传输数据(命令,参数),奇偶数据,及一个结束特征。利用如上所述的SDCKA信号和SDCKB信号将这些数据项及诸如此类传送到M总线。当从传输及接收缓冲器204j中输出完最后的数据项时,控制寄存器204a中的空标志EMP被设置为“1”,而后续传输标志CTXB被设置为“0”。由于传输已经结束,所以传输标志TXB及传输完成标志TFB均被设置为“0”。
CPU部201通过周期性地监视控制寄存器204a,从多种标志的状态中识别出已经完成了全部数据的传输。
另一方面,当主机MIE接收到一个起始特征时,其便开始了一次接收操作,并将接收数据(命令,参数)连续地存储在工作RAM 1e中。工作RAM 1e中的存储单元由DMA寄存器事先指定。通过将工作RAM1e中每一个接收到的数据块连在一起,便恢复了原始的传输数据。当主机MIE最终接收到一个结束特征时,其便停止数据接收。
如上所述,当传输数据被划分为数据块并以其为单位进行传送时,最初的数据块使用传输标志TXB,而第二个及接下来的数据块均使用后续传输标志CTXB来传送剩余的数据。如果从发送一个数据块起到发送紧接着的数据块为止的时间段超过了预定的时间段,例如1.0ms,则在主机处将产生一个定时溢出,于是该设备在此时间段内传送出第二和接下来的数据块。这些数据块的大小可以以块为单位来设置。对于每次块传输均将数据块的大小设置在数据长度寄存器204k中。除了最后的数据块例外以外,在传送数据块时,结束特征标志均被设置为“0”。在发送最后的数据块时,结束特征标志被设置为“1”,于是在传输数据的末端附加有一个结束特征。
以此种方式,基本设备可以传送超过其自身传输及接收缓冲器的容量的数据。其同样也可应用于扩展设备。
标志与通信状态之间的关系
现在对基本设备的控制寄存器204a中的标志与其通信状态之间的关系进行说明。
(1)基本设备标志的状态(当基本设备与主机进行通信时)
(a)当基本设备正在向主机传送数据时
(表30)
到主机的数据传输
位 | 传输开始 | 传输过程中 | 传输结束 | 传输错误 |
TXB | 1 | 1 | 0 | 1 |
TFB | 0 | 0 | 1 | 1 |
RXB | 0 | 0 | 0 | 0 |
RFB | 0 | 0 | 0 | 0 |
如果传输标志TXB与传输完成标志TFB均被设置为“1”,其表示一次传输错误。
(b)当基本设备正在从主机接收数据时
(表31)
来自主机的数据接收
位 | 接收过程中 | 接收结束 | 存储接收数据 | 接收错误 |
TXB | 0 | 0 | 0 | 0 |
TFB | 0 | 0 | 0 | 0 |
RXB | 1 | 1 | 0 | 1 |
RFB | 0 | 0 | 1 | 1 |
当接收标志RXB和接收完成标志RFB均被设置为“1”时,其表示一次接收错误。
(2)基本设备标志的状态(当一个扩展设备与主机进行通信时)
(a)当一个扩展设备向主机传送数据时
(表32)
在其它外设的传输状态下各个标志的状态
位 | 传输开始 | 传输过程中 | 传输结束 | 传输错误 |
TXB | 0 | 0 | 0 | 0 |
TFB | 0 | 0 | 0 | 0 |
RXB | 0 | 0 | 0 | 0 |
RFB | 0 | 0 | 0 | 0 |
如果这些扩展设备(传输设备)中的任一个向主机传送数据,那个扩展设备便可能占用一条LM总线。而此占用是利用传输设备通过控制或门213,214才得以实现的。在此种情况中,除传输设备外的其它基本设备和扩展设备被被排除在该条总线之外,于是便没有必要再监视数据接收了,因而减少了负载。
(b)当扩展设备从主机接收数据时
(表33)
其它外设在接收状态下各个标志的状态
位 | 接收过程中 | 接收结束 | 存储接收数据 | 接收错误 |
TXB | 0 | 0 | 0 | 0 |
TFB | 0 | 0 | 0 | 0 |
RXB | 1 | 1 | 0 | 1 |
RFB | 0 | 0 | 1 | 1 |
当接收标志RXB和接收完成标志RFB均被设置为“1”时,其表示一次接收错误。
错误处理
现在对错误处理进行说明。如上所述,如果传输标志TXB和传输完成标志TFB均被设置为“1”,便表示出现了一次传输错误。如果接收标志RXB和接收完成标志RFB均被设置为“1”,便表示出现了一次接收错误。如果在传输过程中发生了一次错误,则MIE通过将传输标志TXB及传输完成标志TFB均设置为“1”来指明存在错误。如果在接收过程中发生了错误其也同样适用。如果发生了奇偶错误,则奇偶错误标志PERR被设置为“1”。如果在数据接收过程中所接收的数据超过了传输及接收缓冲器的容量(溢出),或如果在传输过程中指明数据长度超过了缓冲器的容量,则传输及接收缓冲器溢出标志BFOV被设置为“1”。
现在对基本设备中在发生这些种类错误的情况下所采取的错误处理的多个示例进行说明。
(a)如果在向主机传输数据时出现错误,则对该错误将不采取任何操作,而仅是简单地将传输标志TXB和传输完成标志清零。
(b)如果在从主机接收数据过程中出现了错误,如果数据的目的地恰好对应于此基本设备,则该基本设备可以向主机发送一条重新传送命令。如果数据的目的地为其它设备,则该基本设备将其自己的接收标志RXB和接收完成标志RFB清零。
(c)如果在从主机接收数据的过程中出现的错误为一次定时溢出,则该基本设备和扩展设备均被复位。换言之,a)到扩展设备的ID被反相以形成到扩展设备的停止操作信号,由此使得扩展设备停止处理。b)基本设备复位随后将其ID反相(将其恢复为原始ID)。当该ID被反相时,扩展设备被复位。c)在复位之后,该设备呈现出与软复位后相同的状态。
命令参考
现在对在一帧所使用的多种命令进行说明。可以使用从01h-FEh的254个命令。00h和FFh不能使用。保留这些代码来指示“通信错误:数据不安全”。这些命令包括控制命令和错误命令。
控制命令
范围为从01h-DFh的命令代码可以被用于控制命令。这些命令被用来控制数据传输和接收。主机,基本设备和扩展设备中的多种功能库不准为相同的命令代码提供不同的命令。如果要增加另外的命令,其优选地是通过预先向管理这些标准的团体申请而使其能够与标准兼容。现在对控制命令进行说明。
设备请求(图71)
发布权:主机
命令代码:01h
数据大小:00h
数据区:无
期望答复值:设备状态
说明:到目的AP上的一个外设的一条请求设备状态的命令。还被用于检测端口处的连接状态。
全部状态请求(图72)
发布权:主机
命令代码:02h
数据大小:00h
数据区:无
期望答复值:设备全部状态
说明:到目的AP上的一个外设的一条请求全部设备状态的命令(既有固定设备状态也有自由设备状态)。
设备复位(图73)
发布权:主机
命令代码:03h
数据大小:00h
数据区:无
期望答复值:设备答复
说明:允许由目的AP所指定的外设的初始化。
操作过程:(1)外设回送设备答复。(2)外设对自己进行复位。
设备清除(图74)
发布权:主机
命令代码:04h
数据大小:00h
数据区:无
期望答复值:设备答复
说明:禁止目的AP所指定的外设的操作。外设随后以待命电流消耗等待并不再接受任何命令。为了再次启动该外设,其必须进行一次硬复位,或通过切断电源来重新将其启动。
操作过程:(1)外设回送设备答复。(2)外设停止操作。
设备状态
发布权:外设
命令代码:05h
数据大小:1Ch(28)
数据区:设备ID:16字节;目的区代码:1字节;产品名:31字节;许可证:60字节;待命电流消耗:2字节;最大电流消耗:2字节。
说明:响应一条来自主机的设备请求发送固定设备状态数据。该数据内容的细节将在接下来给出的外设信息中进行说明。
设备全部状态
发布权:外设
命令代码:06h
数据大小:1Ch+(n/4)
数据区:固定设备状态:112字节;设备ID:16字节;目的区代码:1字节;产品名:31字节;许可证:60字节;代码电流消耗:2字节;最大电流消耗:2字节:自由设备状态:n字节
说明:响应一条来自主机的全部状态请求发送固定设备状态数据及自由设备状态。该数据内容的细节将在接下来给出的外设信息中进行说明。
设备答复
发布权:外设
命令代码:07h
数据大小:00h
数据区:无
说明:被用作来自外设的答复
数据传送(图75)
发布权:外设
命令代码:08h
数据大小:n(01h≤n≤FFh)
数据区:功能类型:4字节;数据:(n-1)×4字节
期望答复值:无
说明:发送关于主机所指定的功能类型。该数据随所请求的命令变化而变化。
获知状态(图76)
发布权:主机
命令代码:09h
数据大小:01h
数据区:功能类型:4字节
期望答复值:数据传送
说明:请求由外设的功能类型所指定的功能的物理状态。外设发送回与由主机传送来的功能类型相同的类型。一次只能指定一种功能类型。
获取介质信息(图77)
发布权:主机
命令代码:0Ah
数据大小:02h
数据区:功能类型:4字节;PT(分区):4字节(其中3个为虚字节)
期望答复值:数据传送
说明:请求关于由外设功能类型和PT所指定的功能的介质信息。其细节取决于相应功能类型的规格说明。
块读取(图78)
发布权:主机
命令代码:0Bh
数据大小:02h
数据区:功能类型:4字节;分区(PT):1字节;相位:1字节;块编号:2字节
期望答复值:数据传送
说明:请求在由外设功能类型和信息存储介质分区,相位及块编号(例如FDD,HDD,存储器,CD-ROM等上的数据存储位置)所指定的位置上的数据功能的数据。其细节取决于相应功能类型的规格说明。
块写入(图79)
发布权:主机
命令代码:0Ch
数据大小:02h+n
数据区:功能类型:4字节;分区:1字节;相位:1字节;块编号:2字节;写入数据:n×4字节
期望答复值:设备答复
说明:将数据写入到由外设功能类型和信息存储介质分区,相位及块编号所指定的位置上。其细节取决于相应功能类型的规格说明。
获取新近错误(图80)
发布权:主机
命令代码:0Dh
数据大小:02h
数据区:功能类型:4字节;分区:1字节;相位:1字节;块编号:2字节
期望答复值:设备答复
说明:探查在紧接着的前一条命令中是否出现了错误。如果没有错误,则其发送回设备答复,而如果有错误发生,则其发生一条错误命令。分区和块编号保持与紧接着的前一条命令中相同的值。其细节取决于相应功能类型的规格说明。
错误命令
接下来将对错误命令进行说明。范围从E0h-FEh的命令代码被用于错误命令。错误命令报告在数据传输及接收或处理中发生了一次错误。禁止主机,基本设备和扩展设备中的各个功能库为相同的命令代码提供不同的命令。其最好是与现有应用所追求的标准兼容。错误命令描述如下:
功能类型未知
发布权:外设
命令代码:FEh
数据大小:00h
数据区:无
说明:当在外设中不存在由所传送来的功能类型所指定的功能时发布。
可能原因:(1)功能类型规格说明不正确。(2)数据描述不正确。(3)设备ID被破坏。(4)在通信过程中数据遭到破坏。
动作:(1)纠正功能类型规格说明。(2)纠正数据说明。(3)再次传送设备请求并获得设备ID。(4)尝试再次传送(最多三次,一旦超出,处理处理与定时溢出相同)。
不明命令
发布权:外设
命令代码:FDh
数据大小:00h
数据区:无
说明:当在外设一侧的功能中不存在传送来的命令时发布。
可能原因:(1)命令规格说明不正确。(2)数据描述不正确。(3)设备ID被破坏。(4)在通信过程中数据遭到破坏。
动作:(1)纠正命令规格说明。(2)纠正数据说明。(3)再次传送设备请求并获得设备ID。(4)尝试再次传送(最多三次,一旦超出,处理与定时溢出相同)。
再次传送
发布权:主机;外设
命令代码:FCh
数据大小:00h
数据区:无
说明:当在传输数据中出现某些类型的错误时,再次传送相同数据的请求。
可能原因:(1)发生奇偶错误。(2)数据溢出。(3)在通信过程中数据遭到破坏。
动作:再次传送(最多三次,一旦超出,处理与定时溢出相同)。
文件错误
发布权:外设
命令代码:FBh
数据大小:01h
数据区:功能错误代码
说明:当在文件功能中出现错误时发布。利用功能错误代码来传送详尽错误。
可能原因:
(表34)
文件错误代码
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | FE31 | FE30 | FE29 | FE28 | FE27 | FE26 | FE25 | FE24 |
第二数据 | FE23 | FE22 | FE21 | FE20 | FE19 | FE18 | FE17 | FE16 |
第三数据 | FE15 | FE14 | FE13 | FE12 | FE1 | FE10 | FE9 | FE8 |
第四数据 | FE7 | FE6 | FE5 | FE4 | FE3 | FE2 | FE1 | FE0 |
此表中,产生错误的数据项被设置为“1”,而没有产生错误的数据项则被设置为“0”。
FE0表示奇偶错误(PT错误);FE1,相位错误;FE2,数据块错误;FE3,写入错误;FE4,长度错误;FE5,CRC错误。这些位此后被反相。
LCD错误
发布权:外设
命令代码:FAh
数据大小:01h
数据区:功能错误代码
说明:当在LCD功能中出现错误时发布。利用功能错误代码来传送详尽错误。
可能原因:
(表35)
LCD功能错误代码
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
第一数据 | FE31 | FE30 | FE29 | FE28 | FE27 | FE26 | FE25 | FE24 |
第二数据 | FE23 | FE22 | FE21 | FE20 | FE19 | FE18 | FE17 | FE16 |
第三数据 | FE15 | FE14 | FE13 | FE12 | FE1 | FE10 | FE9 | FE8 |
第四数据 | FE7 | FE6 | FE5 | FE4 | FE3 | FE2 | FE1 | FE0 |
此表中,产生错误的数据项被设置为“1”,而没有产生错误的数据项则被设置为“0”。FE0表示奇偶错误(PT错误);FE1,相位错误;FE2,数据块错误;FE3,写入错误;FE4,长度错误;FE5,没有错误。这些位此后被反相。
外设信息
现在对与一个基本设备和扩展设备有关的固有信息(设备状态)进行说明。设备状态中的数据以如此方式存储:其不能被重写或擦除。该设备状态包括:固定设备状态及自由设备状态。固定设备状态为一个具有112字节格式并一直被定义的预定设备状态。除非其中所有的数据项均被定义了,才能确保操作和连接。自由设备状态是一个可以被单独设备自由使用的设备状态。其最大容量为912字节。
固定设备状态
接下来的所有数据项必须在固定设备状态中被定义。
(1)设备ID
数据量:16字节
说明:指示外设属性及数据格式(功能)。在协议段中有与设备ID有关的信息。
(2)目的地区
数据量:1字节
说明:指示产品的目的地(销售区域)。表36所示为目的地区设置位的构造。表37所示为目的地区设置位与目的地区之间的关系。
(表36)
目的区的设置位信息
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
数据 | DES7 | DES6 | DES5 | DES4 | DES3 | DES2 | DES1 | DES0 |
(表37)
目的地的设置位
目的区 | 设置位 |
北美 | DES0=1‘’ |
日本 | DES1=1‘’ |
亚洲 | DES2=1‘’ |
欧洲 | DES3=1‘’ |
保留区域1 | DES4=1‘’ |
保留区域2 | DES5=1‘’ |
保留区域3 | DES6=1‘’ |
保留区域4 | DES7=1‘’ |
例如,在全球通用目的地的情况中,DES=“11111111”=FFh,而在日本及亚洲通用目的地的情况中,DES=“00000110”=06h。其禁止将DES设置为00h。
(3)产品名
数据量:31字节
说明:用英语或罗马字母给出产品名。在剩余数据量(位)中插入间隔码。该产品名已事先注册。
(4)许可证
数据量:60字节
说明:用英语或罗马字母所作的产品许可证的ASCII代码说明。在剩余位中插入间隔码(20h)。例如,“由或经XXXXX有限公司授权制造”。
(5)待命电流消耗
数据量:2字节
说明:以16进制表示在暂停过程中以0.1mA为单位的电流消耗。例如,如果该值为10.5mA,所以该数据为00-69h。
(6)最大电流消耗
数据量:2字节
说明:以0.1mA为单位描述最大电流消耗。例如,如果其值为127.9mA,则数据为04-FFh。
自由设备状态
自由设备状态为一个可由产品计划者,开发者,设计者,程序设计者或诸如此类的人员自由写入的区域,主机可利用一条全设备请求来对其进行检索。当使用应用软件等时,其必须与数据配置及诸如此类匹配。
现在将参照附图对使用本发明的基本设备和扩展设备的其它示例进行说明。
图81给出了与第一实施模式有关的另外一种基本设备(控制器)的构造示例的示意图,其使用相对地址。在图33所示的一种使用了一种相对地址系统的U-设备功能的构造示例中,是否连接有扩展设备是通过SDCKA OUT接线端(与电阻相连)来判断的,但在本例中,类似于图64中的示例,在每个扩展连接器上均配有一个连到电阻R上的接线端ID2,而是否存在扩展插头连接是通过识别在该接线端上产生的电压来判断的。
图81中,一个基本设备2(游戏控制器)的控制电路可以由一个所谓的单片机系统200构成。单片机系统200包括:一个用于控制每个部件的CPU 201a;一个用于存储控制程序及CPU 201a的数据文件库的ROM201b。一个用于存储CPU程序及数据并实施数据处理的RAM 201c;一个用于将11个数字开关处的压缩操作转换为代码数据的I/O部202a;一个将用于来自4个模拟开关207的可变电平输出转换为数据信号A/D转换器202b;一个用于在基本设备与主机之间进行数据通信的基本设备MIE205。另外,此单片机系统200包括:一个包括电阻,电容及二极管的复位信号发生电路,其用于当通电时产生复位信号;一个用于为系统产生多种时钟信号的晶体振荡器;及一个用于从电源Vcc(+5V)中产生用于基本设备MIE205及扩展设备的3.3V信号电压的电压转换电路。到基本设备的电源电压Vcc(+5V)从游戏设备经由一条外部连接电缆提供。该外部连接电缆包括信号线SDCKA,信号线SDCKB,电源线Vcc,及地线GND。从游戏设备经由外部连接电缆提供的电源电压Vcc(+5V)与上述电源电压(+3.3V)一起通过扩展连接器被馈送到扩展设备(附图中未示出)。
CPU部201a,ROM201b对应于图33中的CPU,A/D转换器和I/O部202a对应于图33中的I/O,而基本设备MIE则对应于图33中的通信处理部,插头控制部及门电路。利用M总线将电源电压Vcc及地电压从主机提供给基本设备2。另外,数据通信是利用信号线SDCKA和SDCKB来进行的。利用信号线SDCKA-US-1,SDCKA-DS-1,SDCKA-EN-1,SDCKB-US-1,SDCKB-DS-1,SDCKB-EN-1,SDCKA-US-2,SDCKA-DS-2,SDCKA-EN-2,SDCKB-US-2,SDCKB-DS-2,SDCKB-EN-2,电源线Vcc(+5V,3.3V)及地线GND(4条线)将基本设备和扩展设备连在一起。本例中,说明了一种具有两个扩展连接器的基本设备,但如上所述,其还可能提供4个外部扩展连接器。在此情况中,使用4个ID2接线端ID2-1-ID2-4来确认是否连接有一个接线端设备。基本设备2的操作与图33所示的U-设备的操作相同,因此将省略对其的说明。
图82所示为与连有绝对地址的第二实施模式有关的一个基本设备(控制器)的另外一种构造的示例,其对应于图81中使用相对地址的示例。此图中的标注与图65或81中相对应部件的标注类似,因而这里不再进行说明。在采用绝对地址系统的一个基本设备中,I/O块202a根据来自CPU的输出,指明经由任何一个扩展插头的ID0和ID1接线端连接一个扩展设备的LM总线号。在与图59有关的扩展设备AP设置过程中,将对接线端ID0,ID1的作用进行说明。从I/O 202a,在第一扩展插头中配有接线端ID0-1和ID1-1,而在第二扩展插头中则配有ID0-2和ID1-2。
图83和图84所示分别为相对地址系统及绝对地址系统中配有一个LCD设备(LCD插件)的扩展设备的多个示例。
此图中,扩展设备(LCD插件)3的控制电路可以由一个所谓的单片机系统300构成。该单片机系统300包括:
一个用于控制每个部件的CPU 301;一个用于存储控制程序及CPU301的数据文件库的ROM 302。一个用于存储CPU程序及数据并实施数据处理的RAM 303;一个用于在扩展设备与主机之间进行数据通信的扩展设备MIE 304,一个作为输入输出接口的I/O部件305;一个用于控制LCD308显示的LCD控制器306;及一个用于驱动LCD元件的LCD驱动器307。
扩展设备MIE 304的构造与基本设备MIE类似,但其没配有与其相关的LM总线控制器203a或门电路。LCD插件存储文本数据,静止图象数据,动画图象数据(包括LD,CD-V,DVD及TV视频信息)及诸如此类从主机经由M总线,LM总线及RAM 303中的MIE 304以帧格式传送来的数据。将被显示的数据随后由CPU 301提供给LCD控制器306并被转化为图象。
另外,此单片机系统300还包括其用于当接通电源时产生一个复位信号的复位信号发生电路,一个用于为系统产生一个时钟信号的晶体振荡器,如果必要还提供有一个用于从电源Vcc(+5V)中产生用于为设备MIE 205信号产生3.3V信号电压的电压转换电路。电源电压Vcc(+5V)由基本设备提供,但其还可能是由扩展设备利用一个内部电路来产生为实现其预期功能所需的电压。在信号线ID2上,电源电压Vcc被加载到扩展设备一侧。在绝对地址系统中的扩展设备中,如上所述,用于指示LM总线号的接线端ID0和ID1被连到I/O部件305上。
图85和图86所示为分别在一个相对地址系统及绝对地址系统中的存储器插件的多个示例。在这些图中,对应于图83和84的各个部件标注有与之相同的符号,因此将省略与其有关的说明。
本例中,提供有一个诸如EEPROM或具有电池备份的存储器等的固定RAM 312。利用MIE 304把将被保存的数据存储在RAM 303中。CPU 301经由外部输出总线驱动器将所存储的数据写入到固定RAM312中。另外,根据来自主机的指令,CPU 301还将写在RAM 312中的数据读出到RAM 303中,并随后经由MIE 304将其传送给主机。例如,如果玩游戏者在游戏的中途停止玩游戏,则通过存储由主机截止到该游戏中途点所传送来的游戏参数,其下一次游戏中可以从该中途点继续玩(而不必从头玩起)。该固定RAM 312经由一个插头连到总线驱动器311上,其能够以卡片的形式与多个固定RAM 312互换。另外也可以在单片机系统300中提供固定RAM 312。
图87和88所示分别为一个相对地址系统及绝对地址系统中的振动插件(扩展设备)的多个示例。在这些图中,对应于图83和图84的各个部件标注有相类似的符号,而在此将不再对这些部件进行说明。
这些示例中,提供了一个驱动器/控制器部件321,以利用一个马达,电磁线圈,或诸如此类带动一个偏心锤旋转而产生振动来驱动一个振动单元322。主机经由MIE 304在RAM 303中存储了一个用于振动单元的激励命令信号或激励停止命令信号,而其由CPU 301经由I/O部件305提供给驱动器/控制器部件321。
图89和图90所示为一个相对地址系统及绝对地址系统中的激光枪插件(扩展设备)的多个示例。在这些图中,对应于图83和图84的各个部件标注有相类似的符号,而这些部件在此将不再说明。
这些示例中,扫描显示屏的某个部分(激光枪的瞄准点)的电子束的照射点由一个感光器经过激光枪插件的一个透镜读出。感光器信号的电平由一个放大器331放大。当游戏控制器的触发器(例如接下来将在图97(b)中进行说明的元件2d)被操作时,将产生一个触发信号,而来自放大器331的输出则作为一个检测信号被提供给MIE 304。此信号被传送给主机并被用作HV计数器的锁存信号。
图91和图92所示为一个相对地址系统及绝对地址系统中的声音输入插件(扩展设备)的多个示例。在这些图中,对应于图83和图84的各个部件标注有相类似的符号,而这些部件在此将不再说明。
这些示例中,麦克风345的输出由放大器344放大到一个适宜的水平并随后由一个A/D转换器343取样。取样后的声音数据被轮流地存储在缓冲器存储器342的电源和第二寄存器(FIFO)中。此数据由一个总线控制器341读出并传送到MIE 304的传输及接收缓冲器中。声音数据由MIE 304创建帧并传输给主机(游戏设备)。此功能使其能够将主机用作一种声音输入设备,“卡拉OK”,电话,或通信设备。
图93和图94所示为一个相对地址系统及绝对地址系统中的声音输出插件(扩展设备)的多个示例。在这些图中,对应于图83和图84的各个部件标注有相类似的符号,而这些部件在此将不再说明。
这些示例中,由主机传送来的声音数据从MIE 304经过一条局部总线提供给总线控制器351。该总线控制器351基于一次FIFO(先进先出)操作将声音数据存储在一个存储器352中,而其将传送来的数据连续地连在一起。由存储器352输出的此声音数据由一个D/A转换器352转化为声音信号,而从扬声器中将其作为声音输出。此类型的功能使主机能够起到一个声音响应设备(声音输出)设备,游戏声效设备(特别是利用多个扬声器的声效),“卡拉OK”设备,电话接收机或诸如此类设备的作用。
如上所述的用于实施本发明的模式说明了两种标准格式,但其也可能将电源模式的元素与第二模式的元素结合在一起,只要如此作不会产生技术上的不兼容即可。另外,本发明并不局限于游戏设备应用,其还可以以所谓的计算机系统,计算机网络,计算机器具,便携通信接线端设备以及诸如此类的设备的方式来使用。
图95和图96所示为实施的另外模式,其中将主机连到外设上的M总线具有一种无线方式的结构。在这些图中,对应于图83和图84的各个部件标注有相类似的符号,而这些部件在此将不再说明。
图95中,无线调制解调器设备500被分别连到一个主机(游戏设备)1的外设控制器1h上及外设(基本设备)2的外设控制器上。无线调制解调器设备500包括:一个数据控制器501,传输部502,双工器503,接收部504,天线505以及诸如此类,其用于中继主机和外设之间的传输数据。在此情况中,外设2能够由电池提供电能。
数据控制器501对将被传送的SDCKA信号和SDCKB信号进行多值调制,例如,为了利用π/4移相QRSK调制传送,对数据进行处理以创建一个I信号分量及一个Q信号分量。这些正交数据分量被提供给传输部件502。另外,数据控制器501从接收部504所解码的I和Q数据分量中创建一个SDCKA信号和SDCKB信号,并将这些信号提供给外设控制器501。传输部502包括一个多值调制器,例如,一个用于π/4移相QPSK调制的正交调制器,而其创建一个频率为f1的载波信号以载送帧数据。此载波信号由双工器503馈送到天线505,并作为一个电磁波发射到空中。另一方面,在外设2处,由天线505接收到电磁波形成一个载波信号,其由双工器503提供给接收部504。接收部504包括:例如,一个谐振波检测器,其从载波信号中将I信号分量及Q信号分量分离开,并解调此多值数据。如上所述,数据控制器501从此多值数据中创建一个提供给外设控制器501的SDCKA信号及SDCKB信号。
因此,将不再需要用于连接主机和外设的M总线的电缆及诸如此类。无线外设2增加了使用规格说明中的自由并将布局设计与主机分离。上述无线调制解调器设备500还可以利用便携电话设备(或PHS设备)。在此情况中,由于IC芯片可以以较低的成本来制造,所以不仅外设的无线应用变得可能,而且通过将主机连到一个通信电路上还可以进行竞赛(网络)游戏或使用因特网。
可以根据两个信号SDCKA和SDCKB相互转换传输系统及接收系统,或也可以使用一种采用两个传输信道f1,f2的结构。另外,在将SDCKA信号及SDCKB信号变为一个串行数据帧信号之后,利用单个的传输信道可以将数据传送到另一侧,该SDCK信号和SDCKB信号在接收侧从所调制的帧信号中解码而得。
图96所示为一个利用光学通信来构建图95所示的无线结构的示例。在此图中,对应于图95的各个部件标注有类似的符号,而这些部件在此将不再说明。
此例中,红外调制解调器600由一个数据控制器601,调制器602,光发射部603,光接收部604,解调部605,以及诸如此类的部件构成。数据控制器601将SDCKA信号和SDCKB信号变为一个串行数据帧信号。调制器602利用一个帧信号调制驱动电流。例如,可以选择电平调制或频率调制。驱动电流被提供给光发射部件603的一个光发射元件,例如一个红外线发射LED,以使LED闪烁。闪烁的LED光通过一个光学系统向外发射。此发射光被输入到其它的红外调制解调器600的光接收部604中。输入光由一个感光器元件,例如一个光电晶体管,转化为电信号,并随后由解调部605解调为数字数据信号。利用控制器601将此数据信号恢复为SDCKA信号和SDCKB信号,并将其传送给外设。主机(游戏设备)1或外设2中的外设控制器已经作过说明。
以此种方式,M总线可以由一个无线电(无线)系统而不是有线系统来构建。
接下来将参照图97对主机和外设中的连接器及诸如此类进行说明。图97(a)所示为连接形成了主机的游戏设备1及形成了一个外设的基本设备(游戏控制器)2的M总线连接器的示意图。此图中,对应于图1的部件具有类似的标注。
在图97所示的示例中,在游戏设备的侧面配有4个连接器(插头)li。游戏控制器2的连接器(插头)110被连到任一个连接器li上。插头li和插头110均为5接线端(针)形式。在游戏控制器2的上面配有按钮A,B,C和D(A,B,C,D开关)2a和一个十字形按键2b(上/下,左/右方向指示开关),而在游戏控制器2的手持部件上配有触发杠杆(触发器开关)2d(见图97(b))。这些开关操纵数字输入开关206。另外,为了进行模拟输入还提供有模拟按钮(模拟按键)2c以操纵模拟开关207。模拟开关被用于,例如,移动荧光屏上的光标及指针。
图97(b)所示为用于说明连接基本设备(游戏控制器)2与一个扩展设备3(图中未示出)的LM总线连接器131的示意图。此图中,对应于图97(a)的部件具有类似的标注,于是将不再说明这些部件。在游戏控制器2面向游戏设备1c的背面上,配有两个LM总线连接器(插头)131。
图98(a)所示为游戏控制器的另一个示例。此游戏控制器具有组成一个游戏控制器的单个功能部件。
此图中,游戏控制器2包括A,B,C,D按钮2a,一个十字形按键2b,模拟按键2c,杠杆2d(见上述图97(a)),以及开始按钮(开始开关)2e。另外,还提供了一个插槽以用于将一个扩展设备插入到游戏控制器的后部上(见图97(b))。在游戏控制器2的上部表面的的中央配有一个窗户,朝向其背面。
图98(b)所示为形成了一个扩展设备3的LCD插件的一个示例。该LCD插件如此构造:当LCD插件被插入上述插槽中并通过扩展连接器131连到游戏控制器2上时,LCD板308直接地定位于窗户2f的下方。因此,当LCD插件3被连到游戏控制器2上时,其能够从游戏控制器2上的游戏设备1中观察到视频图象。另外,此LCD插件3还配有一个十字形按键2b,A,B,C,D按钮2a及诸如此类,因而作为一个单元的LCD插件3可以被用作一个便携游戏设备。
图99-图101所示为M总线中所用的一种M总线连接器的构造。
图99所示为从正面方向(连接器被插入的方向)看,在主机1中提供的总线连接器li的插头一侧的示意图。该插头包括一个近似D形圆周部101,一个近似D形的六边形针底座102,一个形成在圆周部101与针底座之间的近似D形的槽103。插头为一个由绝缘塑料制成的挤压模件,而在针底座102的主表面(上部表面)上形成有触针No.1,No.3,No.5,而在针底座102的平行于主表面的相对表面(下部表面)上形成有触针No.2,No.4。触针No.2定位于触针No.1和No.3之间的绝缘区的对面,从而使其不易于与触针No.3或No.5产生电容耦合。每个触针为一种韧性金属元件并被分别连到针底座102(附图中未示出)背面上的5个电路板连接接线端上。触针No.1和No.5被分别连到数据线SDCKA和SDCKB。触针No.3与No.5之间的触针No.3被连到一条防止在分别连接到数据线上的触针No.1与No.5之间产生耦合的屏蔽线上。触针No.2和No.4为电源线并被分别连到电源电压Vcc及地线GND上。如上所述,触针No.2和No.4的金属表面被如此定位:其不直接与触针No.1,No.3和No.5的金属表面相对,因此使电源电压Vcc与地线GND对数据线的影响减到最小。
图100所示为总线连接器li对应于此插头的插头侧的结构示意图。图100(a)为插头的侧视图;图100(b)为顶视图;而图100(c)为主视图。插头由一种具有良好绝缘性能的塑料模制而成,而111为一个用于在线缆与触针接线端之间盛放连接部件的外壳,112为一个具有对应于插头中的槽103的形状的近似D形横断面的插入部件,113为一个插入部件的近似D形的内壁,114为对应于针底座102的外形形状的一个槽,而No.1-No.5为在内壁13中所提供的触针。每个触针为一个韧性金属元件,并分别对应于插头中的各个针来提供。这两组触针No.1-No.5通过将插头的插入部件112插入到插头的槽103中而彼此连在一起。
图101所示为M总线电缆上外设(基本设备)一侧上的连接器(插头)的示意图。插头121由具有良好绝缘性能的塑料模制而成,其包括与电缆中的不同电线相连的接线端No.1-No.5。这些接线端提供于一个近似矩形或盘形插头的一侧上的一行上。此插头121通过连接器(插头),或通过直接焊接连到外设中的电路板的线缆上。
图102所示为一个将一个基本设备连到一个扩展设备上的LM总线连接器的插头131的结构示例示意图。图102(a)为插头的顶视图;图102(b)为主视图。另外,图103所示为一个LM总线连接器中的一个插头141的一个结构性示例的示意图。
一般来说,插头131包括一个插入部件132,一个容插部件133及一个连接或容纳这两个部件的外壳134。类似地,插头141也包括一个插入部件142,一个容插部件143及一个连接或包容这两个部件的外壳144。插头131的启动器部被插入到插头141的容插部件中,插头141的插入部件142被插入到插头131的容插部件133中。
插头131的插入部件132为从外壳134的正面的左侧凸出的一个条形元件,在此条形元件的前端上形成有一个具有一个沿横向延伸的窄矩形的插入槽132a。插入槽为一个提供来用于将插入部件132插入到插头141中的一个槽143a中使其可以定位于槽143a中的一个板形针底座143c上。为了防止错误插入,也用于将多个触针近似地排列在条形元件132中央,沿垂直方向从条形元件的中央朝其底部末端来形成插入槽132a。在插入槽132a的内壁132b的上部表面上提供了一行金属触针No.1-No.7。这些触针被定位于条形单元132垂直方向近似中心的位置上。尽管在图中未示出,触针No.1-No.7的每一个均延伸到一组分别对应于触针No.1-No.7而提供于外壳134的背面上的连接接线端上,由此连到电路板线缆或电缆上。触针No.1-No.7被分别连到电源线Vcc(3.3V),电源线Vcc(5V),控制线SDCKAEN,数据线SDCKB DS,数据线SDCKA US,标识线ID1和地线GND上。
插头131中容插部件133为从外壳134正面的右侧凸出的一个条形元件,而在此条形元件133的前端上形成有一个环绕针底座133c的O形槽133a。槽133a内壁133b的形状对应于插头141的插入部件142的外形。槽中央的针底座133c为一个具有与沿横向延伸的窄矩形槽142a形状相对应形状的板形元件。针底座133c的上部表面如此形成:其位于条形元件133垂直方向上近似中央的位置上,韧性金属触针No.8-No.14被排列在此上部表面上。尽管图中并未示出,但各个触针No.8-No.14均被分别连到一条地线GND,标识线ID2,数据线SDCKB DS,数据线SDCKB US,控制线SDCKBEN及标识线ID0上。目前并未使用到触针No.14,其为一个备用接线端。
以类似于插头131的方式来形成插入到插头131中的插头141。然而,如图103(a)所示,触针No.1-No.7在接收部件143的内部提供,而触针No.8-No.14在插入部件142的内部提供。
由于具有如上所述结构的扩展连接器包括分开形成且具有互不相同的形状的插入部件132,142及接收部件133,143,用户可以即刻识别出将插头131与插头141连在一起的方向。另外,由于仅能以一个方向(配置)上进行连接,所以将不会出现错误连接。而且其还有一个优点在于用户的手不会直接地接触到连接针。
如上所述,根据本发明,利用两条数据线及一种相对简单的I/O电路结构可以在一个游戏设备(或主机)与外设之间进行数据通信。
另外,当进行数据通信时,由于为一组与网络相连的设备自动地设置地址,外设可以被自由地连到游戏设备上(或主机)上,而游戏设备可以识别出所连外设的细节,这对诸如游戏设备的面向用户计算机系统可谓大有好处。
Claims (28)
1.一种数据传输方法,用于通过一对信号传输信道串行传输时钟信号和由多个数据比特组成的数据,
其中产生时钟信号,以便包括第一时钟脉冲序列和与所述第一时钟脉冲序列具有相同周期,但相互具有相移的第二时钟脉冲序列,其特征在于:
将该数据的所述多个数据比特按顺序交替地分配给所述第一和第二时钟脉冲序列,以便将所述多个数据比特的每隔一个数据比特按顺序分配在第一时钟脉冲序列的时钟脉冲之间以提供第一数据信号,以便将除了所述多个数据比特的所述每隔一个比特外的每隔另一个数据比特按顺序分配在第二时钟脉冲序列的时钟脉冲之间以提供第二数据信号,和以便所述第一和第二时钟脉冲序列之一中分配的数据比特出现在与所述第一和第二时钟脉冲序列中的另一个中的时钟脉冲对应的定时;和
通过所述的该对信号传输信道中的一个串行传输所述第一和第二数据信号中的一个,和通过另一个信号传输信道串行传输另一个数据信号,
其中,在数据接收机,从通过所述的该对信号传输信道接收的第一和第二数据信号取出该数据的所述多个数据比特。
2.根据权利要求1所述的数据传输方法,其特征在于:在所述第一时钟脉冲序列中分配的所述每隔一个数据比特是该数据的奇数编号比特,在所述第二时钟脉冲序列中分配的所述每隔另一个数据比特是该数据的偶数编号比特。
3.根据权利要求1所述的数据传输方法,其特征在于:
排列所述第一和第二数据信号形成数据传输格式,该格式包括一个开始模式,一个数据模式和一个结束模式作为一个数据帧,在传输定时中,开始模式在数据模式之前,结束模式在数据模式之后,
所述开始模式包括一种数据格式,其中当提供恒定电位电平作为第一数据信号时,提供第一连续脉冲序列作为第二数据信号,
所述结束模式包括一种数据格式,其中当提供恒定电位电平作为第二数据信号时,提供第二连续脉冲序列作为第一数据信号,和
所述数据模式包括作为第一数据信号的具有在其中分配的该数据的所述每隔一个数据比特的所述第一时钟脉冲序列,和作为第二数据信号的具有在其中分配的该数据的所述每隔另一个数据比特的所述第二时钟脉冲序列。
4.根据权利要求3所述的数据传输方法,其特征在于:所述恒定电位电平是电源电位或地电位,和/或其中所述第一和第二连续脉冲序列是由相互不同数量的脉冲组成的。
5.根据权利要求1至4中任何一个所述的数据传输方法,其特征在于:在数据接收机,通过在另一个所述数据信号的时钟信号分量的定时依次锁定所述数据信号中一个的电位电平来取出接收的第一和第二数据信号中包括的该数据的所述数据比特。
6.根据权利要求5所述的数据传输方法,其中利用脉冲序列中每个脉冲的上升沿或下降沿执行所述时钟信号分量的检测。
7.一种游戏机,包括可连接外围设备的外围端口,其中通过信号传输路径在游戏机和外围设备之间传输包括数据和时钟信号的数据信号,其特征在于包括:
时钟信号发生装置,用于产生时钟信号,以便包括第一时钟脉冲序列和与所述第一时钟脉冲序列具有相同周期但相互具有相移的第二时钟脉冲序列;
信号分配装置,用于将该数据的所述多个数据比特按顺序交替地分配给所述第一和第二时钟脉冲序列,以便将所述多个数据比特的每隔一个数据比特按顺序分配在第一时钟脉冲序列的时钟脉冲之间以提供第一数据信号,以便将除了所述多个数据比特的所述每隔一个比特外的每隔另一个数据比特按顺序分配在第二时钟脉冲序列的时钟脉冲之间以提供第二数据信号,和以便所述第一和第二时钟脉冲序列之一中分配的数据比特出现在与所述第一和第二时钟脉冲序列中的另一个中的时钟脉冲对应的定时;和
信号传输装置,用于通过所述的该对信号传输信道中的一个串行传输所述第一和第二数据信号中的一个,和通过另一个信号传输信道串行传输另一个数据信号,
其中,在所述外围设备,从通过所述的该对信号传输信道接收的第一和第二数据信号取出该数据的所述多个数据比特。
8.根据权利要求7所述的游戏机,包括多个可各自与一个外围设备连接的外围端口,其特征在于:
由其本身唯一的端口地址定义所述多个外围端口中的每一个,当一个外围设备与所述外围端口之一连接时,所述游戏机向外围设备提供给出该外围设备与其连接的外围端口的唯一端口地址的数据。
9.根据权利要求8所述的游戏机,其特征在于:游戏机根据具有所述数据模式中一个参数的所述数据传输格式向外围设备传输数据,该参数包括表示连接到游戏机的外围设备的地址,和表示外围设备连接的外围端口的地址。
10.根据权利要求8所述的游戏机,其特征在于:所述恒定电位电平是电源电位或地电位,和/或其中所述第一和第二连续脉冲序列是由相互不同数量的脉冲组成的。
11.根据权利要求7所述的游戏机,其特征在于:在所述第一脉冲序列中分配的所述每隔一个数据比特是该数据的奇数编号比特,在所述第二脉冲序列中分配的所述每隔另一个比特是该数据的偶数编号比特。
12.根据权利要求7所述的游戏机,其特征在于:
排列所述第一和第二数据信号形成数据传输格式,该格式包括一个开始模式,一个数据模式和一个结束模式作为一个数据帧,在传输定时中,开始模式在数据模式之前,结束模式在数据模式之后,
所述开始模式包括一种数据格式,其中当提供恒定电位电平作为第一数据信号时,提供第一连续脉冲序列作为第二数据信号,
所述结束模式包括一种数据格式,其中当提供恒定电位电平作为第二数据信号时,提供第二连续脉冲序列作为第一数据信号,和
所述数据模式包括作为第一数据信号的具有在其中分配的该数据的所述每隔一个数据比特的所述第一时钟脉冲序列,和作为第二数据信号的具有在其中分配的该数据的所述每隔另一个数据比特的所述第二时钟脉冲序列。
13.根据权利要求7至12中的任何一个所述的游戏机,其特征在于:在所述外围设备,通过在另一个所述数据信号的时钟信号分量的定时依次锁定所述数据信号中一个的电位电平来取出接收的第一和第二数据信号中包括的该数据的所述数据比特。
14.根据权利要求13所述的游戏机,其中利用脉冲序列中每个脉冲的上升沿或下降沿执行所述时钟信号分量的检测。
15.根据权利要求7至12中的任何一个所述的游戏机,其特征在于:所述信号传输路径由通过其分开传输所述第一和第二数据信号的一对数据信号线组成。
16.一种可通过信号传输路径与游戏机的外围端口连接的外围设备,其中在外围设备和游戏机之间传输包括数据和时钟信号的数据信号,其特征在于包括:
时钟信号发生装置,用于产生时钟信号,以便包括第一时钟脉冲序列和与所述第一时钟脉冲序列具有相同周期但相互具有相移的第二时钟脉冲序列;
数据分配装置,用于将该数据的所述多个数据比特按顺序交替地分配给所述第一和第二时钟脉冲序列,以便将所述多个数据比特的每隔一个数据比特按顺序分配在第一时钟脉冲序列的时钟脉冲之间以提供第一数据信号,以便将除了所述多个数据比特的所述每隔一个比特外的每隔另一个数据比特按顺序分配在第二时钟脉冲序列的时钟脉冲之间以提供第二数据信号,和以便所述第一和第二时钟脉冲序列之一中分配的数据比特出现在与所述第一和第二时钟脉冲序列中的另一个中的时钟脉冲对应的定时;和
信号传输装置,用于通过所述的该对信号传输信道中的一个串行传输所述第一和第二数据信号中的一个,和通过另一个信号传输信道串行传输另一个数据信号,
其中,在所述游戏机,从通过所述的该对信号传输信道接收的第一和第二数据信号取出该数据的所述多个数据比特。
17.根据权利要求16所述的外围设备,其特征在于:
所述外围设备适于从自游戏机传输的所述第一和第二数据信号再现出传输的数据,并响应再现数据中包含的数据传输请求向所述游戏机传输数据。
18.根据权利要求16所述的外围设备,其特征在于:在所述第一脉冲序列中分配的所述每隔一个数据比特是该数据的奇数编号比特,在所述第二脉冲序列中分配的所述每隔另一个比特是该数据的偶数编号比特。
19.根据权利要求16所述的外围设备,其特征在于:
排列所述第一和第二数据信号形成数据传输格式,该格式包括一个开始模式,一个数据模式和一个结束模式作为一个数据帧,在传输定时中,开始模式在数据模式之前,结束模式在数据模式之后,
所述开始模式包括一种数据格式,其中当提供恒定电位电平作为第一数据信号时,提供第一连续脉冲序列作为第二数据信号,
所述结束模式包括一种数据格式,其中当提供恒定电位电平作为第二数据信号时,提供第二连续脉冲序列作为第一数据信号,和
所述数据模式包括作为第一数据信号的具有在其中分配的该数据的所述每隔一个数据比特的所述第一时钟脉冲序列,和作为第二数据信号的具有在其中分配的该数据的所述每隔另一个数据比特的所述第二时钟脉冲序列。
20.根据权利要求19所述的外围设备,其特征在于:所述恒定电位电平是电源电位或地电位,和/或其中所述第一和第二连续脉冲序列是由相互不同数量的脉冲组成的。
21.根据权利要求16至20中的任何一个所述的外围设备,其特征在于:在所述游戏机,通过在另一个所述数据信号的时钟信号分量的定时依次锁定所述数据信号中一个的电位电平来取出接收的第一和第二数据信号中包括的该数据的所述数据比特。
22.根据权利要求21所述的外围设备,其中利用脉冲序列中每个脉冲的上升沿或下降沿执行所述时钟信号分量的检测。
23.根据权利要求16所述的外围设备,其特征在于,所述外围设备适于与所述游戏机的多个外围端口中的任一个连接。
24.根据权利要求23所述的外围设备,其特征在于:
该外围设备包括至少一种设备功能,
根据表示所述设备功能类型的信息,表示具有所述信号传输路径的所述设备功能的连接状态的信息,和表示由所述游戏机提供的端口地址的数据产生表示连接到该外围端口的外围设备的所述源地址。
25.根据权利要求23所述的外围设备,其特征在于:
该外围设备存储有表示该外围设备作为与所述游戏机直接连接的主外围设备类型的识别信息;
该外围设备进一步包括一个扩展连接器,扩展的外围设备可通过该连接器与所述信号传输路径连接;
根据表示主外围设备类型的信息,表示所述游戏机提供的端口地址的数据,和表示扩展外围设备是否与所述扩展连接器连接的状态的连接信息产生表示连接到该外围端口的主外围设备的所述源地址。
26.根据权利要求25所述的外围设备,其特征在于:
当扩展外围设备与所述扩展连接器连接,并且源地址包括表示扩展外围设备与所述扩展连接器连接的状态的连接信息时,可通过所述信号传输路径在所述游戏机和扩展外围设备之间进行数据传输。
27.根据权利要求25所述的外围设备,其特征在于:进一步包括用于控制通过所述数据传输路径与所述游戏机的数据通信的外围控制器,该控制器根据所述外围设备识别信息产生源地址,从游戏机通知的所述外围端口信息表示所述数据传输路径所连接的外围端口,连接信息表示扩展外围设备是否与所述扩展连接器连接的状态,
其中当扩展外围设备与所述扩展连接器连接并且从游戏机传输的数据信号包括将所述扩展外围设备指定为目的地址的信息时能通过所述数据传输路径在所述游戏机和扩展外围设备之间进行数据传输。
28.根据权利要求25至27中的任何一个所述的外围设备,其特征在于:通过在所述扩展连接器的一个特定端识别电压电平来确定所述扩展连接器的连接状态,该扩展连接器连接到一电平移动电路,该电路被构成为由所述扩展外围设备提供偏置电压。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9137654A JPH10311312A (ja) | 1997-05-13 | 1997-05-13 | 連結固定具 |
US4646197P | 1997-05-14 | 1997-05-14 | |
US60/046,461 | 1997-05-14 | ||
JP127654/97 | 1997-05-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1227023A CN1227023A (zh) | 1999-08-25 |
CN1285201C true CN1285201C (zh) | 2006-11-15 |
Family
ID=34196322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 98800641 Expired - Fee Related CN1285201C (zh) | 1997-05-13 | 1998-05-14 | 数据传输方法及使用该方法的游戏机和外围设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1285201C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101128043B1 (ko) * | 2002-08-14 | 2012-03-29 | 오아시스 실리콘 시스템즈 | 위상 고정 루프, 샘플율 변환, 또는 네트워크 프레임율로부터 생성된 동기 클럭을 사용하여 네트워크 프레임율로 네트워크로 데이터를 송신하고 네트워크로부터 데이터를 수신하기 위한 통신 시스템 |
US7551564B2 (en) * | 2004-05-28 | 2009-06-23 | Intel Corporation | Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect |
JP6251806B2 (ja) | 2013-12-26 | 2017-12-20 | インテル・コーポレーション | 装置、方法、プログラム、システム、およびコンピュータ可読ストレージ媒体 |
CN117435426B (zh) * | 2023-10-18 | 2024-05-07 | 成都观岩科技有限公司 | 一种芯片内串行数据溢出校验方法 |
-
1998
- 1998-05-14 CN CN 98800641 patent/CN1285201C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1227023A (zh) | 1999-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101031882A (zh) | 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法 | |
CN1961560A (zh) | 高数据速率接口装置和方法 | |
CN1826786A (zh) | 生成并实施一用于更高数据率的讯号协议和接口 | |
CN1433541A (zh) | 显示图形对象 | |
CN1902880A (zh) | 高数据速率接口 | |
CN1894931A (zh) | 高数据速率接口 | |
CN1575448A (zh) | 用于高数据速率信号传送的通信协议和接口的产生和实现 | |
CN1993948A (zh) | 高数据速率接口设备和方法 | |
CN1227844C (zh) | 数据传送方法和设备以及数据接收方法和设备 | |
CN1247010C (zh) | 显示设备、显示方法和显示系统 | |
CN1169368C (zh) | 终端装置和用于终端装置的还原方法 | |
CN100338955C (zh) | 在电视机顶盒中执行交互式电视的设备和方法 | |
CN1669018A (zh) | 手持终端框架系统 | |
CN1914875A (zh) | 具有改进链路同步的高数据速率接口 | |
CN1543734A (zh) | 用于高数据速率信号传送的通信协议和接口的产生和实现 | |
CN1902886A (zh) | 具有改进链路控制的高数据速率接口 | |
CN101053232A (zh) | 具有改进链路同步的高数据速率接口 | |
CN1264342C (zh) | 用于处理用参考信息模型配置的内容相关信息的电子节目指南 | |
CN1925049A (zh) | 使用信息存储介质的信息重放系统 | |
CN1601474A (zh) | 执行实时操作的方法和系统 | |
CN1679026A (zh) | Web服务设备和方法 | |
CN1834908A (zh) | 用于将开发模式应用于基于组件的应用程序的系统和方法 | |
JP2006512672A (ja) | ハンドヘルド型モバイル端末の堅牢な設計 | |
CN1252667A (zh) | 图象阅读器 | |
CN1273893C (zh) | 模块化计算机系统以及相关方法 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1021276 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061115 Termination date: 20100514 |