以最大速度在数据总线上发送数据的方法和设备的制作方法

文档序号:7582411阅读:241来源:国知局
专利名称:以最大速度在数据总线上发送数据的方法和设备的制作方法
技术领域
本发明一般涉及数据通信,并具体涉及连接到数据总线的每个专用设备可以以最大速度发送数据到其他设备的一种技术。
由于近年来“智能”设备激增,出现一种趋势,即诸如磁带录象机(VTR)、电视、个人计算机等日常电子设备可以通过连接到公共数据总线与另一个设备通信。在执行这种数据通信的许多考虑中,其一是选择适当的数据发送速度。当连接到公共总线的设备具有不同的数据通信速度能力时,必须选择发送端可以发送数据和接收设备可以接收数据的数据发送速度。而且,如果存在在发送和接收设备之间的另一个设备(中继设备),则选择该中继设备可以工作的数据发送速度是必要的。
已经颁布国际I/O连接标准,即IEEE 1394-1995串行总线标准,以便提供通过串行进行总线数据通信的通用协议。该协议定义数据通信的数字接口,因此不需要在经过总线发送之前将数字数据变换为模拟数据的应用。同样,接收应用将从总线接收数字数据而不是模拟数据,并且因此将不需要执行A/D变换。
已经采用IEEE 1394标准实现支持异步和同步二者格式数据传送的便宜的高速体系结构。同步数据传送是实时传送,进行这样传送使得在有效情况之间的时间间隔在发送和接收应用二者具有相同的持续时间。同步传送的每个数据分组在它自己的时间周期中传送。对于同步数据传送的应用的一个例子是从一个录象机到一个电视机。该录象机记录图像和声音并且以离散的组块或分组保存该数据。接着该录象机在那个时间周期期间传送表示在有限时间周期记录的图像和声音的每个分组(packet),以便由电视机显示。提供多个信道用于应用之间的同步数据传送。一个六比特信道号与数据一起广播以便保证适当的应用的接收。这使多个应用通过总线结构同时地发送同步数据。异步传送是传统的数据传送操作,它尽快地进行并将数据量从源发送到目的地。


图19是具有连接到IEEE 1394串行总线的信息处理能力的多个设备的安排。在这个例子中,IEEE 1394串行总线10-1到10-7互联个人计算机(PC)1、综合的接收机/解码器(IRD)2、数字磁带录象机(数字VTR)3、编辑器4、微型唱盘(MD)组5、监视器6、用于存储图像数据和音频数据的一个硬盘驱动器(HDD)7和服务器8。这些设备满足了IEEE 1394标准以及提供基于IEEE 1394的视听(AV)数据发送的IEC 61883标准。每个连接的设备组成IEEE 1394中的一个节点(即,一个可访问的单元),并且每个设备具有它能够执行数据发送和接收的它自己的最大数据通信速度。根据IEEE 1394标准,对于任意给定设备的最大速度可以是98.308Mbps、196.608Mbps或392.216Mbps之一,在此分别指定为S100,S200和S400。当然,一个特定设备的最大数据通信速度取决于该设备的硬件能力。一个设备可以总是以较低速度发送和接收数据;例如,如果需要,具有S400能力的设备可以以S100或S200通信。基于S100的数据发送可以由满足IEEE 1394标准的所有设备执行。当具有不同最大通信速度的设备连接到一个公共总线时,发送设备必需以可以由工作为中继器的另一个设备中继的发送速度发送。
图20示例性地描述对于图19的设备的最大数据通信速度。因此,PC1具有最大数据通信速度S400;编辑器4具有最大数据通信速度S200等。例如,MD组5和数字VTR 3是S400设备,并且不连接到在它们之间传送数据的设备,因此它们彼此总以S400速度通信。另一方面,如果一个较慢的设备工作为一个较快的设备的中继器,那么该较快的设备不能以其最大速度能力通过该中继设备与其他设备通信。例如,MD组5和PC1二者可以以S400发送,但是因为仅具有S200能力的接收机/解码器2连接到它们的传输路径之间,所以它们只能以S200速度通信。
IEEE 1394串行总线标准定义一个叫做“总线管理器”的功能,该总线管理器执行业务高级总线容量(power)管理;总线连接的设备的数据通信速度能力的速度图的维护;连接设备的拓扑图的维护;基于从该拓扑图得到的信息的总线优化。作为总线优化的部分,该总线管理器确定考虑到当前的拓扑结构每个设备能够发送数据的最大速度。该总线管理器根据该优化提供具有最大数据发送速度信息给每个设备。这样,根据来自总线管理器的信息,连接到IEEE 1394串行总线组的设定具有对于到连接到该总线的一个特定设备的数据发送的数据发送速度。以这种方式,以能够通信的最大数据发送速度执行通信。当增加一个新的设备或从总线上去掉一个设备时,更新速度图以及提供给总线连接设备的数据速度信息。
IEEE 1394标准还需要一个叫做同步资料管理器的实体。这个实体功能提供设施用于同步带宽的分配;信道号的分配;和循环主体(cycle master)的选择。
根据IEEE 1394串行总线标准,总线管理器的存在是可选的。但是,如果总线管理器不存在,则同步资源管理器履行一般由总线管理器承担的管理责任的子集。(后面的情况假定进行同步通信。如果没有同步资源管理器,则不允许同步通信)。在这种情况下,如果IEEE 1394串行总线上的设备具有S200或更高的能力,则该设备必须仍然执行基于S100的初始通信,因为它们不能得到对于接收端的设备的适当数据发送速度的信息。这样,当总线管理器不存在时,一个问题出现,即,连接到IEEE 1394串行总线的设备使用最小速度执行数据发送。
本发明的一个目的是提供在连接到公共总线的设备中以最大速度发送数据的方法。
本发明的另一个目的是提供即使在没有总线管理器的情况下在连接到IEEE 1394串行数据总线的设备中发送数据的方法。
本发明的再一个目的是提供能够确定用于向连接到总线的其他设备发送数据的适当发送速度的一种连接到数据总线的设备。
本发明的又一个目的是提供对于数据总线上的数据通信的一种改进方法。
根据该发明的一个示例性实施例,提供在连接到数据总线的设备中以最大速度发送数据的方法和设备。每个设备可能能够以多种速度发送数据。发送设备首先以该发送设备的最大发送速度,发送具有接收设备的ID信息的数据分组到总线。如果从目标接收设备接收到证实接收初始数据发送的一个确认信号,则对于发送到那个设备的后续数据的发送速度被设置为刚才发送数据的速度。否则,减小该发送速度并且重复该处理。一旦接收到确认和设置该速度,则该速度可以存储在用于对接收设备进行后续数据发送的发送设备的存储器中。后续数据发送可以是异步和/或同步数据发送。重复该处理,以建立到连接到该总线的其他目标接收设备的最大适当发送速度。
本发明具有当没有总线管理器的情况下结合IEEE 1394-1995串行总线接口使用时的一种特殊用途。在清除包含发送速度信息的每个设备的存储器的一个总线复位操作以后,单个的设备在必要时通过以变化的速度发送分组来重新建立对于每个其他设备的适当数据发送速度,直到从各个相应的设备接收到确认。
结合附图将很好地理解通过示例给出并且不试图完全限制本发明的下面详细描述,在附图中相同的标号表示相同的元件和部件,其中图1是一个数字VTR内的硬件方框图;图2是根据本发明的一个实施例的数字VTR的功能方框图;图3是说明根据IEEE 1394协议执行的功能的方框图;图4是表示异步子操作(subaction)结构的方框图;图5是表示开始仲裁的节点状态的方框图;图6图示说明接收请求信号的节点操作;图7是说明当节点输出许可信号时可作为根的节点的操作的方框图;图8说明接收许可信号的节点的操作,和接收拒绝信号的节点的操作;图9是说明当节点开始数据发送时节点的状态的方框图;图10说明在异步通信期间链路层之间的消息发送和接收;图11是表示同步子操作结构的方框图;图12说明在基于IEEE 1394连接的设备中的数据发送的环路;图13描述一个异步分组结构的例子;图14是说明一个异步分组的主单元的表;图15描述确认-分组结构;图16是描述一个异步分组的不同确认代码的表;图17是说明根据本发明通过由一个发送端设备发送数据到连接到总线的一个接收端设备的处理的流程图;图18是说明根据本发明发送数据的另一个处理的流程图;图19表示连接到IEEE 1394串行总线的各种设备的安排;和图20描述连接到总线的各种数据速度能力的设备的安排。
现在从用于在IEEE 1394串行总线上执行高速数据发送的设备和方法的角度描述本发明的优选实施例。但是,可以考虑本发明可以结合其他数据总线协议实现。因此,下面的详细描述仅是用于说明目的。
现在参照图1,示出一个数字磁带录象机(VTR)的功能方框图。下文将根据本发明描述作为配置为在数据总线上以最大速度发送数据到各个接收设备的示例性信息处理设备的数字VTR 3。但是,在VTR 3中采用的执行新颖的数据通信技术的装置可以结合到连接到总线的任何信息处理设备中。
VTR 3包括记录/重放单元21,记录数据到装入的录像带(未示出)和重放来自录象带的数据。液晶显示器(LCD)23和接触面板24经过输入/输出(I/O)接口22连接到内部总线。LCD 23显示从记录/重放单元21、中央处理单元(CPU) 25或IEEE 1394接口28提供的显示数据。接触面板24根据用户的操作提供信号给I/O接口22。
CPU 25执行各种程序,包括建立适当的数据发送速率或发送图像,音频和其他数据到连接到该总线的其他设备的发送速率的应用程序。只读存储器(ROM)26存储由CPU 25使用的固定程序数据和操作参数。随机存取存储器(RAM)27存储由CPU 25执行的程序以及在程序执行期间需要改变的参数。接口28是根据IEEE 1394标准配置的一个I/O接口,并且在该内部总线和一个或多个外部IEEE 1394串行总线之间传送数据。(注意当诸如图19的10-3和10-4的多个总线连接到相同设备时,该多个总线可以认为是公共总线的一部分。)该内部总线是在I/O接口22和28,记录重放单元/21、CPU 25、ROM 26和RAM 27中传送数据的传输工具。
图2是主要由具有上述硬件的数字VTR 3(或连接到串行总线的其他设备)中的CPU 25执行的程序的功能方框图。记录/重放单元21控制记录和重放到/来自大众传播媒介存储单元,例如在这个例子中的录象带的数据。通信速度设置单元(发送速度设置装置)32从用于发送数据到连接到该总线的一个目标接收端设备的发送速度98.308Mbps,196.608Mbps和392.216Mbps中选择一个预定的发送速度。速度设置单元32要求串行总线控制单元(数据发送装置)35以选择的发送速度执行数据发送。一个确认(ACK)检测单元33(检测装置)检测来自该目标接收端设备的确认信号,该信号由VTR 3发送以证实数据发送到那个设备的接收。根据由ACK检测单元33检测的接收信号,通信速度设备单元32确定数据以发送分组的发送速度是否可以被发送到目标接收端设备。
通信速度存储单元34(发送速度存储装置)存储相应于连接到该总线的各个设备的最大发送速度表。每个存储的速度表示数据可以由VTR 3适当地发送到相关的设备的速度。由速度设置单元32根据从各个接收设备发送的确认信号确定速度。当“重新配置”或“复位”IEEE 1394串行总线时(根据该IEEE 1394标准,无论何时增加设备到总线上或从该总线上去除设备都自动复位该总线),速度存储单元34消除存储的信息。串行总线控制器35具有基于IEEE 1394的通信协议,或从连接到IEEE 1394串行总线的其他设备接收数据和确认信号。
随后将参照图17和图18描述由速度设置单元32确定的到一个目标接收设备的数据发送速度的优选方法。简要地说,该优选方法需要首先以该发送设备的最大发送速度发送数据到一个目标接收设备,这个例子中的VTR3。如果从该目标接收设备接收到该对初始数据发送的确认,则选定的发送速度是最大发送速度(例如速度S400);否则,选择下一个较低的速度(S200)作为选择物和以S200执行尝试的数据发送。如果对于较低的数据发送接收到确认,则选择S200作为未来的数据发送速度;否则,选择速度S100。当试图发送到另一个目标设备时重复该处理。相应地,在不需要总线管理器提供速度信息的情况下以一种有效的方式设置最大数据通信速度。
1394通信协议为了更好地理解本发明对于根据IEEE 1394协议通信的设备的适应性,现在将描述这个协议的某些方面。随后给出该发明的数据通信方法的实施例。
图3是说明根据IEEE 1394协议的功能层结构的方框图。该协议定义由三层组成的分层结构,这三个层是事务处理层42,链路层43,和物理层44。可以认为该三层存在在连接到串行总线的每个节点中。各层彼此通信,并且每层可以与一个任选的串行总线管理实体41通信。事务处理层42和链路层43每个层与另一个功能块(例如,图2所示的记录/重放单元31)通信。在这种通信中使用四种类型的发送/接收消息请求;指示;响应;和确认。图3所示的箭头表示这些通信。其中“.reg”被加到箭头名称端的每个通信表示一个请求,和“.conf”表示一个确认。例如,“TR CONT.reg”表示从串行总线管理41发送到事务处理层42的一个请求通信。
事务处理层42通过响应来自另一个功能块(例如,图2所示的通信速度设置单元32)的请求而提供异步数据发送到连接到该总线的目的设备,来满足在ISO/IEC 13213标准中请求的请求响应协议,异步发送数据到连接到总线的目标设备。事务处理层42处理用于异步发送的数据,但是不执行用于发送诸如图像和声音的数据的同步发送。根据事务处理层42协议,数据在使用三个事务处理-读事务处理,写事务处理和锁定事务处理的设备中异步发送。锁定事务处理用于消除由在链路层43中两个或多个分组发送组成的分离事务处理引起的问题。
链路层43执行诸如使用确认信号的数据发送、数据错误确认、和数据成帧的操作。从另一个功能块(例如,图2所示的记录/重放单元31)发出同步数据发送业务的请求给链路层43。通过链路层43的分组发送叫做“子操作”。有两种类型的子操作-异步子操作和同步子操作。在发送指定节点的节点标识(节点ID)数据和节点中地址的异步子操作中,接收数据的节点利用确认信号响应。在发送数据到IEEE 1394串行总线上所有节点的同步广播子操作中,接收数据的节点不使用确认信号响应。在选择的信道中,以固定的周期定期发送同步子操作中的数据,并且无确认信号用于响应。
图4是表示指定节点ID和节点中地址的异步子操作的安排的图。在这个例子中,在表示为“子操作1请求”的时间周期内,第一预定的节点传送一个分组以便请求第二预定节点执行读或写操作。在表示“子操作2响应”的间隔内,第二节点响应来自第一节点的请求。该异步子操作由仲裁序列51-1和51-2、数据分组发送52-1和52-2和确认53-1和53-2组成。要传送一个异步分组的节点请求物理层44在诸如51-1或51-2的仲裁序列周期控制IEEE 1394串行总线。在仲裁中成功的节点在诸如52-1或52-2的数据分组发送周期中传送一个异步分组。接收指定其接收机节点ID的异步分组的节点在诸如53-1或53-2的确认周期中发送一个确认信号到发送该分组的节点。数据分组发送52-1和52-2,和相关的确认53-1和53-2由叫做“ACK间隔”52-1和52-2的周期分开。
现在将参照图5-9描述在仲裁序列51-1和51-2的周期中每个节点的物理层44的操作。图5利用请求数据发送和开始仲裁的某些节点说明连接到IEEE 1394串行总线的节点的条件。(图5的连接条件不同于图19所示的连接条件。)假定在检测到子操作间隔以后,节点#0和#2分别同时输出请求信号到它们的父节点,即,节点#4和#3。父节点(第一父节点)无论何时从一个子节点接收请求,除非第一父节点的另一个子节点已经作出请求,否则该父节点输出该请求到它的父节点(第二父节点),如果这个父节点存在的话。即,第一父节点输出来自首先作出该请求的子节点的请求,并且同时发送一个拒绝信号到其他的子节点。
因此,如图6所示,因为节点#3从节点#2接收请求信号,它发送这个请求到其父节点节点#4,并且同时发送一个拒绝信号到其他的子节点,即节点#1。举例来说,在来自节点#0的请求先于来自节点#3(它源于节点#2请求)的请求到达节点#4时,节点#4输出一个拒绝信号到节点#3。在这个例子中应注意,节点#0,#1和#2被指定为叶节点,因为它们只能连接到另一个节点。节点#3是一个分支节点和节点#4是一个根节点。一般地,根节点的选择是不依赖拓扑结构的,并且甚至对于根节点也是一个叶节点是可接受的。但是,该标准需要同步循环主体也必须是该根,因为该根具有最高的自然优先权。而且,具有识别为子节点的所有其连接端口的节点变成根。
如图7所示,作为根的节点#4输出一个准许信号给节点#0,节点#0已经输出最早的请求信号。当一个根节点提供许可信号给它的一个子节点时,它同时输出拒绝信号给它的剩余子节点。同样,根节点#4发送一个拒绝信号给在目前例子中的分支节点#3。分支节点#3在接收到这个拒绝信号时,不继续输出该请求信号到该根节点,并且发送拒绝信号给它的每一个子节点,即节点#1和节点#2。节点#2,在接收到该拒绝信号时,如图8所示的结束它的请求信号的输出。
接收响应其请求信号的许可信号的节点改变该请求信号为一个数据前缀信号。如图8所示,在目前的例子中,节点#0在从根节点#4接收到该许可信号时,改变该请求信号为一个数据前缀信号。当节点#4接收这个数据前缀信号时,如图9所示的,它结束该许可信号的输出。拒绝信号和数据前缀信号的作用的类似之处在于,一个节点无论何时接收一个拒绝信号或是一个数据前缀信号,它都进入一个接收模式。因此,节点#1和#4都在节点#0开始数据发送前处于它们的接收模式。沿图9所示的数据前缀信号方向发送从节点#0输出的数据到所有节点。
图10说明当它们执行异步消息发送和接收时链路层43的操作,其中指定节点ID和节点地址。一个发送节点的事务处理层42发送一个请求消息到那个节点的链路层43。接着发送节点链路层43经该发送和接收节点的物理层和IEEE 1394串行总线发送数据分组到该目标接收节点的链路层43。下一步,接收端链路层43发送一个指示消息给接收端事务处理层42,该接收端事务处理层42又通过物理层和串行总线发回确认53-1给发送端链路层确认原始请求的接收。发送端链路层43通过发送一个确认消息给发送端事务处理层42响应该确认。
这样,在上述方式中,当发送端节点接收一个确认时,它知道与预期的接收节点的数据通信已经建立,并且可以异步进行。另一方面,当发送端不能检测确认时,它确定该情况是ACK丢失,意味着尝试的通信失败。
现在转向图11,提供说明同步子操作的一个时序图。利用在一个特定的时隙或“信道”,例如,叙述的第一到第三信道期间发送的每个分组,在分组中执行同步数据发送。诸如第一和第二信道的连续信道可以通过不同模式或通过相同模式支持数据分组发送。同步子操作由仲裁序列61-1到61-3和在各个信道中的数据分组发送62-1到62-3组成。要发送同步分组的节点请求它的物理层44在仲裁序列周期中控制IEEE 1394串行总线。每个同步子操作中每个节点的操作与在异步子操作中节点的上述操作是相同的。
在例如61-1的仲裁序列期间仲裁中成功的发送节点在后续的时间周期中立即发送一个数据前缀和一个同步数据分组如62-1。该同步子操作由同步间隙63-1到63-4分开,该间隙比上面讨论的图4的异步子操作间隙54-1到54-3短。想要同步发送数据的节点将立即对于同步间隙的检测之后的总线仲裁。想要异步发送数据的节点必须等待异步间隙出现。因为该同步间隙比异步间隙短,这给予同步通信高于异步通信的优先权。
图12是描述在基于IEEE 1394标准连接的设备中数据发送的周期。将数据分成分组并使用125微秒周期作为基准发送。根据从具有周期主体功能的节点提供的一个周期开始信号建立这个周期。同步分组保留对于从所有周期开始的发送必需的频带(即时隙)。因此,对于同步发送,保证从该周期开始的固定时间间隔中的数据发送。但是,如果发送错误出现,则由于没有使用保护系统而丢失了数据。一旦想要同步发送数据的所有节点已经那样作,例如,在信道J到N,该总线将处于空闲直到异步子操作间隙出现。当这个间隙出现时,想要发送异步数据的节点可以仲裁总线并且接着当仲裁成功时发送一个异步分组。异步发送使用确认和重试信号以便保证安全发送,但是不能设置发送定时为固定的。
转向图3,物理层44将在链路层43中使用的逻辑符号变换为电信号。物理层44使用仲裁保证只有一个节点开始数据发送。它根据总线复位执行IEEE 1394串行总线的重配置,并且自动指定物理ID。
串行总线管理实体41实现基本总线控制功能,并且提供ISO/IEC 13212标准的控制和状态寄存器结构(CSR)。串行总线管理实体41具有节点控制器、同步资源管理器和总线管理器的功能。该节点控制器控制节点状态、节点ID等,并且控制事务处理层42、链路层43和物理层44。为执行同步通信,连接到IEEE 1394串行总线的至少一个设备必须具有同步资源管理器功能。总线管理器是各个功能的最高功能,并且其目的是最佳使用IEEE 1394串行总线。同步资源管理器和总线管理器的存在是可选的。但是,根据该标准,如果没有总线管理器,则同步资源管理器执行由总线管理器正常承担的管理职能的子集。当然,如果同步资源管理器也不存在,那么只执行异步数据通信。
现在参见图13,示出一个异步分组52-1或52-2的示例性结构。该分组以想要接收节点的ID的destination ID(目的地ID)开始,并且以data CRC(数据CRC)字段结束。该异步分组用于将作为有效负载发送的数据写到以一个预定的偏移接收机地址开始的地址中。在图14的表中提供一个异步分组的各个单元特性。在首部“NAMES(名称)”下的列中列出的项对应于图13所示的该异步分组的名称。“CONTENTS(内容)”列提供每个单元的简短描述。可以接收异步分组的一个节点读取存储在该接收机ID中的信息。当读出的ID与该节点的ID匹配时,该节点开始进行接收该异步分组的内容。接着该接收节点根据存储在发送机ID中的信息通过发送一个确认分组给该发送机节点(它发送该异步分组)来响应该发送节点。
图15图示说明图4的确认分组53-1或53-2的结构。该确认分组的四个最低有效位被分配为奇偶校验位。该分组的四个最高有效位用作“ack code(确认代码)”根据它的代码值,该ack code表示下列状态之一完成;挂起;三种类型的忙;或两种类型的数据差错。参照图16解释这些状态。发送端的一个节点以一个预定的数据发送速度发送一个异步分组给接收端的一个预定的节点。当该发送端从接收端接收具有图16所示的任意一种ack code的一个分组时,它确定可以执行到位于接收端节点的节点的数据发送。(该接收端节点被指定为图16的“Transmitter Node”(“发送机节点”)。)当该接收端节点发送包括图16所示的任意一种ack code的一个异步分组时,这表示该接收端节点识别出该接收的异步分组并且支持该异步分组的发送速度。如前面提到的,根据IEEE 1394标准,如果总线管理器存在,它保持现在互连节点的拓扑结构的速度图,并且提供预定的速度信息给每一个节点。在没有总线管理器的情况下,每个节点发送数据的预定速度是最小速度S100。
数据发送速度最优化方法的实施例图17是说明根据本发明以最大速度在连接到总线的设备中发送数据的方法的实施例的流程图。这个实施例对于总线管理器存在的情况具有特别的用处。如果总线管理器存在,则这个方法将优选地取代将发送数据的预定速度提供给每个节点的总线管理器的标准技术。在这里公开的该方法包括以最大速度发送异步分组到一个目标接收设备。如果接收到一个适当的确认,则以最大速度执行到接收设备的后续数据发送,即,异步和/或同步。否则,逐渐减小发送速度直到接收到适当的确认。
通过说明该方法的例子,假定图1和2的数字VTR 3连接到例如IEEE1394总线的一个数据总线,并且打算发送数据到连接到该总线的一个目标接收设备(节点)。但是,可以理解,连接到串行总线的任意类型的设备可以利用适当的软件和/或硬件实现该方法以便实现各个功能。
在步骤S11,通信速度设置单元32请求串行总线控制器35设置可以执行的发送的最大发送速度。这样,例如,如果发送节点能够以S400速度,则将该速度初始设置为S400,而不管连接到总线的节点的拓扑结构。在步骤S12,串行总线控制器35通过包括在该分组发送中的目标设备的节点ID等以设备的发送速度发送一个异步分组到目标接收设备。这个异步分组可以与基于IEEE 1394的系统中图4的分组52-1相同,并且将跟随一个成功的仲裁51-1。在步骤S13,该ACK-检测单元33确定从该目标接收设备是否已经接收一个确认分组。例如,如果接收具有图16的ack code之一的一个分组,则可以检测到确认分组的成功接收。如果已经接收到一个适当的确认分组,则由于接收端的设备接收到该异步分组而处理结束。在这个情况下,对于从VTR 3到接收设备的后续数据发送的发送速度被设置为被确认的分组的速度(即,如果接收到一个确认响应该最大速度发送,则在这个例子中是S400)。
在步骤S13如果没有接收到确认分组,则ACK-检测单元33发送表示从该目标接收端没有接收到响应的一个Ack-missing(Ack丢失)消息到通信速度设置单元32。当通信速度设置单元32接收这个消息时,它确定由串行总线控制器35设置的现在的发送速度是否是最小值(基于S100的98.308)。如果不是最小值,则程序进到步骤S15,此处通信速度设置单元32请求串行总线控制器35设置下一个较低的发送速度,例如,196.608Mbps(S200)。一旦设置较低的发送速度,则程序进到步骤S12,并且重复该过程。
在步骤S14如果现在的发送速度是最小值,则程序返回到步骤S12,并且以最小速度再次执行该处理作为重试操作。在以最小速度重试规定的次数后,典型地产生一个通信失败错误消息。
在上面的例子中,假定在一个特定发送速度只有一次数据发送尝试之后降低该发送速度。在降低该速度之前可以在每个速度允许两个或多次尝试修改该方法。
如上所述,根据上面的实施例,例如连接到一个串行总线的数字VTR 3的一个设备可以以可以执行数据发送的最大发送速度执行数据发送到该总线上的一个预定的设备。当该发送设备希望发送数据到一个第二接收设备时,第二设备优选地重复图17的方法。注意在图17的方法中,一旦以设置的速度完成到目标接收设备的数据发送,对于那个接收设备的速度信息可以被存储,用于到那个设备的将来的数据发送(假设对该节点连接拓扑结构没有改变),或者被删除。在后一种情况下,每次执行到该目标设备的数据发送时重复图17的处理。
图18是说明利用例如连接到数据总线的数字VTR 3的节点执行到另一个设备的异步数据发送的相似方法的流程图。这个方法实质上是图17的方法的一个特殊情况。即,只确定到一个特定接收设备的最大发送速度,那个速度被存储在该发送设备的存储器中,并且用于到该特定接收设备的未来数据发送。但是,如果执行总线重新配置,则从该存储器中消除该速度信息。通常,无论何时增加设备到总线或从总线上去除设备都执行总线重新配置。
图18的方法假定发送节点保持包含用于连接到该总线上的某些或所有其他设备的存储发送速度的一个存储器,例如,通信速度存储单元34。即,与一个接收设备有关的存储发送速度的每个记录是适合于从发送节点到接收设备的数据发送的最大速度。当执行总线重新配置时,从连接到该总线上的每个设备的存储器中消除该速度信息。一旦这个情况发生,可以由连接到总线的每个设备立即执行图18的方法,以便立即建立后续通信的适当发送速度。另一种方案,该方法可以由一个给定设备仅仅在希望发送数据到一个预定的接收设备之前执行。在后一种情况,在发生总线重新配置后,包含存储发送速度的给定设备的存储器可以部分或全部地保持空,同时该存储器变得逐渐地充满每次发送数据分组到另一个接收设备和由另一个接收设备确认数据分组的速度信息。
相应地,在步骤S21,通信速度设备单元确定是否已经执行该串行总线的重新配置。如果已经执行重新配置,则在步骤S22通信速度设置单元32请求串行总线控制器35设置可以执行的发送的最大发送速度,例如S400。否则,程序进到S23,此处通信速度设备单元32从存储单元34中读出相应于该目标接收设备的一个存储的发送速度。这个存储的速度是以前确定的,以这个速度可以执行到该目标接收设备的数据发送。接着速度设置单元32请求串行总线控制器5设置该读出的发送速度。
随着根据目标接收设备的存储的发送速度或根据该发送节点的最大发送速度这样设置发送速度,进程进到步骤S24,此处以设置的速度发送一个异步数据分组。步骤S24到S27与图17的步骤S12到S15相同,并且因此省略了对其的描述。在步骤S25,如果已经确定接收到一个确认分组,则处理进到步骤S28。在步骤S28,ACK-检测单元33发送一个消息到通信速度设置单元34,该消息是请求通信速度设置单元34存储(或重新存储)接收该异步数据分组的接收设备的记录,和它的发送速度,即,被确认的分组的速度。这样,存储的速度是数据应该继续发送到接收设备的速度,并且表示对于继续发送的最大适当速度。这完成了对于目标接收设备的处理,此时异步和/或同步数据分组可以以确定的速度发送到目标接收设备,或可以重复该程序用于另一个目标接收设备。
如上所述,通过确定和存储在接收端的设备的最大发送速度,例如数字VTR 3的一个节点可以以可以执行数据发送的最大发送速度很快地发送数据到该设备。这样,不需要采用总线控制实体确定每个节点的最佳速度和当每次总线重新配置发生时发送这样的信息到每个节点。
如前所述,图17和18的方法通过发送一个异步分组和接收一个确认建立各个接收设备的最大发送速度。如果继续发送同步数据到该接收设备,则相同的最大速度信息优选用于同步发送。
在例如数字VTR 3的一个节点连接到两个或多个设备(例如,图19所示的MD组5和服务器8)之间和控制那些设备之间的同步数据通信的情况下,本发明的上述方法也是适用的。例如,数字VTR可以检查和比较能够满足两个设备发送的最大同步数据通信速度。这可以通过每次如图17的方法中数字VTR异步发送数据到一个设备,以便确定到每个设备的最大发送速度来实现。接着该数字VTR发送表示当发送到其他设备时应该设置什么速度的消息到两个设备的每一个设备。
在上面的描述中,已经使用IEEE 1394串行总线作为一个例子,但是本发明可以应用到具有相同特征的其他接口。该发明甚至适用于允许通过总线以某一范围内的任何速度进行数据发送的协议。在这种情况下,从该范围的高端开始,以基本上相同的方式执行图17和18的方法,并且接着在步骤S15和S17以逐步的方式逐渐将发送速度减小一个预定的数量,直到接收到确认。
本发明还包括一个存储介质,例如CD-ROM,小型磁盘,软盘等,该存储介质存储由节点的处理电路,例如由数字VTR 3的CPU 25可读的软件程序。该软件程序包括用于执行图17和/或18的上述操作的处理电路的指令。
虽然上面已经参照本发明的优选实施例描述了本发明,但是可以理解这些实施例只是示例性的并且本领域技术人员可以在不脱离如所附权利要求书确定的本发明的精神和范围的情况下对所公开的实施例作出改变。
权利要求
1.一种通过连接到数据总线的一个发送设备发送数据的方法,包括步骤(a)由所述发送设备以一个已知的速度发送一个数据分组到所述总线上,所述数据分组包括连接所述该总线的一个目标接收端设备的标识信息;(b)由所述发送设备检测接收端设备是否发送了一个确认信号,该确认信号证实所述发送的数据分组的接收;(c)如果检测到一个确认信号,设置由所述发送设备以所述发送步骤的发送速度后续进行数据发送的发送速度;和(d)如果没有检测到确认信号,则以减小的发送速度重复步骤(a)并且接着重复步骤(b)和(c)。
2.根据权利要求1所述的方法,其中所述已知速度被初始设置为所述发送设备能够发送数据的最大速度。
3.根据权利要求1所述的方法,其中所述总线、所述确认信号和所述已知速度中的每一个都符合IEEE 1394-1395高性能串行总线标准。
4.根据权利要求3所述的方法,其中,在缺少总线管理器的情况下,所述发送速度在步骤(c)中设置。
5.根据权利要求1所述的方法,还包括将所述设置的发送速度存储在与所述接收端设备有关的所述发送设备的存储器中,并且读出用作后续发送数据到所述接收端设备的速度的所述存储速度。
6.根据权利要求5所述的方法,还包括对一第二接收端设备重复步骤(a)、(b)、(c)和(d),并将设置用于所述第二接收端设备的所述速度存储到与其有关的所述存储器中,以结合到所述第二接收端设备的后续数据发送而被读出。
7.根据权利要求5所述的方法,其中所述后续数据发送是异步数据发送。
8.根据权利要求5所述的方法,其中所述后续数据发送是同步数据发送。
9.根据权利要求1所述的方法,其中所述步骤(a)、(b)、(c)和(d)在所述总线的总线复位操作之后执行。
10.根据权利要求5所述的方法,其中所述步骤(a)、(b)、(c)和(d)在所述总线的总线复位操作之后执行,其中所述存储器被清除发送速度信息。
11.根据权利要求1所述的方法,其中所述确认信号是多比特数字信号。
12.根据权利要求1所述的方法,其中在由所述发送设备对所述总线成功仲裁之后立即发送所述数据分组。
13.根据权利要求1所述的方法,其中所述发送设备连接在接到所述总线的至少两个其他设备之间,并且控制所述至少两个其他设备之间的数据发送。
14.一种可连接到总线的信息处理设备,所述信息处理设备包括数据发送装置,用于经所述总线发送数据给连接到所述总线的一个接收端设备;检测装置,用于检测从所述接收端设备发送的,证实所述发送数据的接收的确认信号;和发送速度设置装置,用于根据所述总线的至少一个预先确定的状态和通过所述检测装置检测的所述确认信号的状态,设置对于所述数据发送装置的数据发送速度。
15.根据权利要求14的所述信息处理设备,其中所述总线的所述预先确定的状态是总线复位状态。
16.根据权利要求14的所述信息处理设备,还包括用于存储与所述接收端设备有关的设置的发送速度的发送速度存储装置。
17.根据权利要求16的所述信息处理设备,其中所述数据发送装置被配置为,使用多种发送方法发送数据,并且当使用所述多种发送方法中的任意一种方法发送数据到所述接收端设备时使用所述设置的数据发送速度。
18.根据权利要求17的所述信息处理设备,其中所述多种发送方法包括一个异步数据发送方法和一个同步数据发送方法。
19.根据权利要求14的所述信息处理设备,其中所述发送速度设置装置根据由所述检测装置检测的所述确认信号的状态设置数据发送速度。
20.根据权利要求14的所述信息处理设备,其中当所述设备连接在至少两个其他设备之间的所述总线时,所述设备适合于控制所述至少两个其他设备之间的数据发送。
21.一种用于连接到总线的信息处理设备的信息处理方法,所述信息处理设备经所述总线发送数据到一个接收端设备,所述信息处理方法包括发送数据给连接到所述总线的所述接收端设备;检测从所述接收端设备发送的,证实所述发送数据的接收的确认信号;和根据所述总线的至少一个特定状态和对所述确认信号的检测状态,设置用于后续数据发送的数据发送速度。
22.一种由机器可读的存储介质,确实包括由所述机器可执行的程序指令,以便执行用于由作为连接到数据总线的发送设备的所述机器发送数据的方法步骤,所述方法步骤包括(a)由所述发送设备以一个已知的速度发送一个数据分组到所述总线上,所述数据分组包括连接所述该总线的一个目标接收端设备的标识信息;(b)由所述发送设备检测接收端设备是否发送了一个确认信号,该确认信号证实所述发送的数据分组的接收;(c)如果检测到一个确认信号,设置由所述发送设备以所述发送步骤的发送速度后续进行数据发送的发送速度;和(d)如果没有检测到确认信号,则以减小的发送速度重复步骤(a)并且接着重复步骤(b)和(c)。
23.根据权利要求22的所述存储介质,其中所述已知速度被初始设置为所述发送设备能够发送数据的最大速度。
24.根据权利要求22的所述存储介质,其中所述总线、所述确认信号和所述已知速度中的每一个都符合IEEE 1394高性能串行总线标准。
全文摘要
公开了一种在连接到串行总线的设备中以最大速度发送数据的方法和设备。发送设备先以最大速度发送数据分组到接收设备。若从接收设备收到确认信号,后续发送速度设置为刚才的速度。否则,减小发送速度并重复上述处理。一旦接收到确认并设置速度,则速度存储在用于未来通信的发送设备的存储器中。重复上述处理,以建立其他目标设备的最大适当发送速度。本发明具有当没有总线管理器时结合IEEE1394串行总线接口使用时的特殊用途。
文档编号H04L12/56GK1241080SQ99109268
公开日2000年1月12日 申请日期1999年5月20日 优先权日1999年5月20日
发明者加藤淳二, 中野雄彦 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1