CN1301471C - 数据通信系统及其方法 - Google Patents

数据通信系统及其方法 Download PDF

Info

Publication number
CN1301471C
CN1301471C CNB99103208XA CN99103208A CN1301471C CN 1301471 C CN1301471 C CN 1301471C CN B99103208X A CNB99103208X A CN B99103208XA CN 99103208 A CN99103208 A CN 99103208A CN 1301471 C CN1301471 C CN 1301471C
Authority
CN
China
Prior art keywords
data
source node
node
controller
destination
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
Application number
CNB99103208XA
Other languages
English (en)
Other versions
CN1233023A (zh
Inventor
大西慎二
小林崇史
波多江真一
新井田光央
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP5726798A external-priority patent/JPH11261608A/ja
Priority claimed from JP10153426A external-priority patent/JPH11313091A/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1233023A publication Critical patent/CN1233023A/zh
Application granted granted Critical
Publication of CN1301471C publication Critical patent/CN1301471C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals

Abstract

本发明实现了一种通信系统和一种通信协议,其中一个源节点和一个或多个目的节点是逻辑连在一起的,而且根据连接ID,控制节点之间的数据通信,以识别该逻辑连接关系。另外,存在一种通信系统和一种通信协议,其中甚至是在网络上存在有用于设置连接ID的若干控制器时,每个控制器也可很容易地管理众多的连接,而且,源节点和目的节点也可很容易地识别出对于其自身的连接集合。

Description

数据通信系统及其方法
技术领域
本发明涉及一种数据通信系统,数据通信方法、数据通信装置和数字接口,特别是涉及一种网络,其中当进行信息数据(包括图像数据)和指令数据的混合时,可以以高速率实现通信,并且在这种网络中可以使用一个通信协议。
背景技术
过去,在用于个人计算机(在下文中被称为“PC”)的外围设备中,硬盘和打印机用得最为广泛。这样的外围设备通过一个诸如专用I/O接口或一个SCSI(小型计算机系统接口)的多用途数字接口与PC相连。
另一方面,目前,诸如数字相机、数字视频相机或类似的AV(音频/视频)设备已经作为用于PC的外围设备之一而受到关注。这种AV(音频/视频)设备通过一个专用接口与PC相连。
图1是表示包括一个PC和AV设备的通用通信系统的简图。
在图1中,这个通信系统包括一个AV设备(数字相机)101、PC102和打印机103。
数字相机101包括存储器104,用于压缩和存储拍摄的图像,解码单元105,用于通过扩展存储在存储器104中的压缩图像数据而实现解码,图像处理单元106,D/A转换器107,包括EVF(电子取景器)的显示单元108,以及专用数字I/O单元,用于连接数字相机101和PC102。
PC102包括用于连接PC102和数字相机101的专用数字I/O单元110、包括键盘和鼠标的操作单元111、用于通过扩展压缩的图像数据而实现解码的解码单元112、显示器113、硬盘114、诸如RAM的存储器115、MPU116、PCI总线117以及用于连接PC102和打印机103的SCSI接口118。
打印机103包括用于连接打印机103和PC102的SCSI接口119、存储器120、打印头121、用于控制打印机103操作的打印控制器122以及驱动器123。
在传统的通信系统中,数字相机101的数字接口(数字I/O单元109)和打印机103的数字接口(SCSI接口119)没有可交换性,所以数字相机和打印机不能直接互连。因此,例如,当希望静止图像从数字相机101传送到打印机103时,数据只能通过PC才能实现。
而且,在传统的专用接口和/或SCSI接口中,特别是当处理诸如运动图像或AV设备的静止图像这样的大容量数据时,会产生许多问题:数据传输率变低,为实现并行通信需要粗的通信电缆,能够连接的外围设备的数量和种类受到限制,连接系统受到限制并且不能实现实时的数据传输。
作为用于解决上述问题的下一代高速和高性能的数字接口之一,IEEE(美国电气电子工程师学会)1394-1995标准已经是公知的。
基于IEEE1394-1995标准(在下文中被称为“1394接口”)的数字接口具有以下特征:
(1)数据传输速度快。
(2)可以支持实时数据传输系统(即,同步传输系统)和异步数据传输系统。
(3)可以构造具有高度自由的连接结构(拓朴结构)。
(4)支持即插即用功能和热线插入/退出功能。但是,尽管在IEEE1394-1995标准中定义了连接器的物理和电子结构以及两种基本的数据传输系统,但是,没有定义在基于何种通信协议的基础上通过何种数据模式如何传输和接收何种数据。
另外,在基于IEEE1394-1995标准的同步传输系统中,由于没有规定对输出信息的响应,所以也就不能确定每组同步信息是否被确实收到。因此,当希望能确实地传送一些连续的数据或当希望在将一个文件数据被分成若干数据时该文件数据能确实地被传送时,就不能使用同步传输系统。
另外,在基于IEEE1394-1995标准的同步传输系统中,尽管当传输带宽有空闲时,总的传输量也局限于64位。因此,当希望在较小的传输带宽下实现许多传输时,不能使用同步传输系统。
此外,在IEEE1394-1995标准中,如果产生总线复位来响应节点电源的ON/OFF或节点的连接/断开,就必须中断数据传输,然而,在IEEE1394-1995标准中,如果因为总线复位或传输过程中的错误而中断了数据的传输,那么就不能知道丢失了哪些数据内容。另外,要恢复中断的传输,需要很复杂的传输指令序列。
顺便提一下,总线复位与用于自动地实现新拓朴结构的识别与设置分配给每个节点的地址(节点ID)的功能有关。在IEEE1394-1995标准中,这个功能可以提供即插即用功能和热线插入/退出功能。
而且,在基于IEEE1394-1995标准的通信系统中,没有提出具体的通信协议,其中(尽管不需要有实时能力)具有相对大量数据量的目标数据(例如,静止的图像数据、图形数据、文本数据、文件数据、程序数据和类似数据),当将这种数据分成一个或多个分段数据时,它是连续传输的。
最后,在基于IEEE1394-1995标准中,同样也不推荐具体的在其中通过对于异步传输的使用用于广播数据的通信系统来实现许多设备之间的数据传输的通信协议。
发明内容
本发明的一目的是为了解决上述问题。
本发明的另一个目的是提供一种技术,使用这种技术,在数据传输系统,数据传输方法和数据传送装置中,可以连续地和确定地传输不需要实时性的目标数据。
本发明的又一个目的是提供一种技术,在其中,当通过一些控制器来设置源节点和一个或多个目的节点之间的理论上的连接关系(即,连接)时,可以容易地识别出由其它控制器设置的连接,从而在数据传输系统、数据传输方法和数据传输装置中获得更有效的数据传输。
本发明的又一个目的是提供一种技术,在这种技术中,当设置源节点和一个或多个目的节点之间许多不同的理论上的连接关系(即,连接)时,可以容易地识别出每个连接,从而在数据传输系统,数据传输方法和数据传输装置中获得更有效的数据传输。
根据本发明的一个方面,提供一种通信系统,包括:源节点;一个或多个目的节点;以及控制器,用于设置所述源节点和所述一个或多个目的节点之间的逻辑连接;其中,所述控制器通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;以及所述源节点将要发送给所述一个或多个目的节点的数据划分为多个段数据,并使用所述第一信息和第二信息将每一个段数据发送给所述一个或多个目的节点。
根据本发明的另一方面,提供一种用于通信系统的方法,所述通信系统包括源节点、一个或多个目的节点和控制器,所述方法包括:设置步骤,用于设置所述源节点和所述一个或多个目的节点之间的逻辑连接;通知步骤,用于通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;划分步骤,用于将要发送给所述一个或多个目的节点的数据划分为多个段数据;以及发送步骤,用于使用所述第一信息和第二信息从所述源节点向所述一个或多个目的节点发送每一个段数据。
根据本发明的再一个方面,提供一种控制器,包括:控制单元,用于设置源节点和一个或多个目的节点之间的逻辑连接;其中,所述控制器通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;以及所述源节点将要发送给所述一个或多个目的节点的数据划分为多个段数据,并使用所述第一信息和第二信息将每一个段数据发送给所述一个或多个目的节点。
作为实现这些目的的一个最佳实施例,本发明公开了一种数据通信系统,该数据通信系统包括一个控制器,用于在源节点和一个或多个目的节点之间设置不同于由其它控制器设置的理论上的连接关系,一个源节点,用于通过使用所述理论上的连接关系以异步传输传输被分成一段或多段的目标数据,以及一个或多个目的节点,用于接收异步传输从源节点传过来的目标数据。
作为另一个实施例,本发明公开了一种数据通信系统,该数据通信系统包括一个控制器,用于在源节点和一个或多个目的节点之间设置不同于其它控制器设置的理论上的连接关系,一个源节点,用于通过使用所述理论上的连接关系广播被分成一段或多段的目标数据,以及一个或多个目的节点,用于接收从源节点广播的目标数据。
作为另一个实施例,本发明公开了一种数据通信系统,该数据通信系统包括一个控制器,用于在源节点和一个或多个目的节点之间设置新的理论上的连接关系,一个源节点,用于通过使用其中一个逻辑连接关系以异步传输传输被分为一段或多段的目标数据,以及一个或多个目的节点,用于识别逻辑连接关系和用于接收目标数据。
作为又一个实施例,本发明公开了一种数据通信系统,该数据通信系统包括一个控制器,用于在源节点和一个或多个目的节点之间设置新的逻辑连接关系,一个源节点,用于通过使用其中一个逻辑连接关系广播被分成一段或多段的目标数据,以及一个或多个目的节点,用于识别逻辑连接关系和用于接收目标数据。
作为另一个实施例,本发明公开了一种数据通信系统,它包括一个源节点,用于通过使用在若干节点之间设置的若干逻辑连接关系之一,以异步传输连续地传输被分成一段或多段的目标数据,和一个或多个目的节点,用于识别若干逻辑连接关系的其中一个并用于接收目标数据。
作为另一个实施例,本发明公开了一种数据通信系统,它包括一个源节点,用于通过使用在若干节点之间设置的若干逻辑连接关系之一连续地广播被分成一段或多段的目标数据,和一个或多个目的节点,用于识别若干逻辑连接关系的其中一个并用于接收目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:在源节点和一个或多个目的节点之间设置不同于由其它控制器设置的逻辑连接关系,通过使用逻辑连接关系以异步传输传输被分成一段或多段的目标数据,以及接收以异步传输传输的目标数据。
作为另一个实施例,本发明公开了一种数据通信方法,它包括步骤:在源节点和一个或多个目的节点之间设置不同于由其它控制器设置的逻辑连接关系,通过使用这个逻辑连接关系广播分成一段或多段的目标数据,以及接收广播的目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:在源节点和一个或多个目的节点之间设置新的逻辑连接关系,通过使用其中一个逻辑连接关系以异步传输传输被分成一段或多段的目标数据,以及识别这个逻辑连接关系并接收该目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,该方法包括步骤:在源节点和一个或多个目的节点之间设置新的逻辑连接关系,通过使用其中一个逻辑连接关系广播被分成一段或多段的目标数据,以及识别逻辑连接关系和接收目标数据。
作为另一个实施例,本发明公开了一种数据通信方法,它包括步骤:通过使用在若干节点之间设置的若干逻辑连接关系之一,以异步传输连续地传送分成一段或多段的目标数据,识别若干逻辑连接关系的其中一个并接收目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:通过使用在若干节点之间设置的若干逻辑连接关系之一来连续地广播被分成一段或多段的目标数据,并识别若干逻辑连接关系的其中一个并接收该目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:在源节点和一个或多个目的节点之间设置不同于由其它控制器设置的逻辑连接关系,并通知这个逻辑连接关系的源节点和一个或多个目的节点。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:识别在一个或多个目的节点之间设置的若干逻辑连接关系,并通过使用其中一个逻辑连接关系以异步传输传输被分成一段或多段的目标数据。
作为又一个实施例,本发明公开了一种数据通信方法,它包括步骤:识别在一些源节点之间设置的若干逻辑连接关系,并通过使用其中一个逻辑连接关系以异步传输接收从源节点传送来的被分成一段或多段的目标数据。
作为又一个实施例,本发明公开了一种数据通信装置,其中包括用于在一个源节点和一个或多个目的节点之间设置与由其它控制设置不同的逻辑连接关系的单元,以及用于通知这个逻辑连接关系的源节点和一个或多个目的节点。
作为又一个实施例,本发明公开了一种数据通信装置,其中包括用于识别在一个或多个目的的节点之间设置的一些逻辑连接关系的单元,以及用于通过使用其中一个逻辑连接关系以异步传输传送分成一段或多段目标数据的单元。
作为又一个实施例,本发明公开了一种数据通信装置,其中包括用于识别在多个源节点之间设置的一些逻辑连接关系的单元,和用于通过使用其中一个逻辑连接关系以异步传输接收从源节点传送来的被分成一段或多段目标数据的单元。
附图说明
本发明的其它目的和特征将在随后的对本发明的最佳实施例的详细解释中显而易见。
图1是解释常规系统的简图;
图2是表示根据实施例,通信系统的结构的一个实例的方框图;
图3是根据本发明的第一实施例,解释通信协议基本结构的原理图;
图4A和4B是根据第一实施例用来解释通信协议的基本通信顺序的顺序图;
图5是根据第一实施例是表示一个异步广播数据包的结构图;
图6A和6B是解释相应节点的地址空间图;
图7是解释第一实施例中的目标数据的传输模式实例的简图;
图8是解释根据实施例的1394接口的结构简图;
图9是解释用于通过一些控制器设置相同连接ID的一种方法的简图;
图10是解释连接的设置顺序和断开顺序的简图;
图11是显示在一个源节点和N(数量)个目的节点之间设置一个连接ID的实例简图;
图12是解释当N(数量)个目的节点的接收缓冲量相同时,传送顺序的简图;
图13是解释当N(数量)个目的的节点的接收缓冲量不同时,传送顺序的简图;
图14是解释第一实施例中目标数据的传送模式的另一个实例的简图;
图15A和15B是解释一个源节点和N(数量)个目的的节点之间的传送再启动顺序的简图;
图16是根据本发明的第二实施例解释通信协议基本结构的原理图;
图17A和17B是显示用于第二实施例的通信数据包结构的简图;
图18是显示根据第二实施例的一个通信协议实例的顺序图;
图19是显示根据第二实施例的另一个通信协议实例的顺序图;
图20是显示用于第二实施例的命令的数据格式简图;
图21是显示对应于图20中所示命令的响应的数据格式简图;
图22是解释第二实施例中目标数据的传输模式实例简图;
图23是显示在第二实施例中所使用的一个异步数据流包的数据段结构的简图;
图24是全面解释在图19中所示数据传输流量的顺序图;
图25是显示一个应用标题格式实例的简图;
图26是显示在本发明的第三实施例中所用的一个异步数据流包的数据段结构简图;
图27是根据第三实施例全面解释数据传输流量的顺序图;
图28是解释在第三实施例中所用的响应数据包结构的简图;
图29是解释当在目标数据的传输过程中发生错误时的一个通信序列的顺序图;以及
图30是解释在目标数据的传输过程中发生总线复位时的一个通信序列的顺序图。
具体实施方式
图2是显示根据本发明的一个实施例的数据通信系统结构实例简图。如图2所示,根据这个实施例的数据通信系统是由计算机10、集成有数字录像机的摄象机28和打印机60组成。
首先,将描述计算机10的结构。这个计算机包括用于控制计算机10操作的计算处理单元(MPU),具有基于IEEE1394-1995标准的功能和具有涉及在这个实施例中所规定的通信协议功能的1394接口14,由键盘和鼠标所组成的操作单元16,用于将压缩的和编码的数字数据(移动图像数据、静止图像数据、视频数据以及类似数据)解码的解码器18,由诸如一个CRT显示器或一个液晶面板之类的显示设备所组成的显示单元(显示器)20,用于存储各种数字数据(移动图像数据、静止图像数据、视频数据、图形数据、文本数据、程序数据以及类似数据)的硬盘22,内部存储器24,和用于在计算机10内连接各种处理单元的内部总线26。
其次,将描述集成有数字录像机(在下文中称之为“DVCR”)的摄象机28。DVCR包括一个图像单元(OPT)30,用于将一个目标的光学图像转换为电信号并将该电信号提供给模拟/数字(A/D)转换器32,一个图像处理单元34,用于将数字化的移动图像和静止图像转换为具有预定格式的数字图像数据,一个压缩扩展处理单元36,它具有将压缩和编码的数字数据(移动图像数据、静止图像数据、视频数据以及类似数据)解码的功能和将数字图像数据高效编码的功能(例如,如同在MPEG系统和DV系统的那样,在将数据正交转换为预定的图像单元之后将具有可变长度的数据量化和编码),一存储器38,用于暂时存储高效编码的数字图像数据,一数据选择器42,一1394接口44,具有基于IEEE1394-1995标准的功能以及与这个实施例中所规定的通信协议有关的功能,一存储器控制单元46、48,用于控制存储器38、40的读写,一控制单元(系统控制器)50,适于控制DVCR28的操作并带有一微型计算机,一个由一个远程控制器和一操作面板所组成的操作单元52,一电子取景器(EVF)54,一D/A转换器56以及一记录/重现单元58,它由诸如磁带、磁盘、光磁盘或类似的记录介质组成并适应于记录和重现各种数据(移动数据、静止图像数据、视频数据以及类似数据)。
其次,将描述打印机60的结构。将描述打印机60的结构。该打印机包括1394接口62,该接口具有基于IEEE1394-1995标准的功能和与本实施例中所规定的通信协议有关的功能,一数据选择器64,一个由操作按钮和触摸面板组成的操作单元66,一个用于控制打印机60操作的打印机控制器68,一个解码器70,一个内部存储器72,一个图像处理单元74,用于处理通过1394接口接收的静止图像数据,文本数据,图形数据和类似数据,一个驱动器76和一个打印头78。
如图2所示,诸如计算机10,DVCR28和打印机60的各种的通信装置(在下文中称为“节点”)通过接口14、44和62彼此相连(在下文,由1394接口组成的网络被称为“1394串行总线”)。在相应的节点中,通过定义预定的通信协议,可以执行发送和接收各种目标数据(例如,移动图像数据、静止图像数据、视频数据、图形数据、文本数据、程序数据和类似数据)以及基于命令数据的远程控制。在所说明的这个实施例中,定义了一种使用异步传送系统的通信协议。
其次,将参考图2解释构成与所说明的实施例相应的通信系统的相应节点的操作过程。
首先,将描述构成计算机10的各种处理单元的功能和操作。
在所说明的实施例中,例如,计算机10作用相当于用于控制在DVCR28和打印机60之间图像数据的传送和接收的计算机或相当于远程控制DVCR28和打印机60的计算机。
MPU12用于运行存储在硬盘22中的软件和用于将各种数据移位到内部存储器24。另外,MPU12也用作调整通过内部总线26与MPU相连的各种处理单元。
1394接口14用来接收在1394串行总线上传送的图像数据以及用来将存储在硬盘22中或内部存储器24中的图像数据发送给1394串行总线。另外,1394接口14用来在1394串行总线上传送用于远程控制其它节点的命令数据。此外,1394接口具有将通过1394串行总线传送的信号传送到其它节点的功能。
用户或操作者可以通过操作单元16选择所希望的软件并且可以使MPU12运行存储在硬盘22中的软件。通过显示单元20可以将有关软件的信息显示给用户。在这个软件的基础上,解码器18用来将从1394串行总线上接收到的图像数据解码。通过显示单元20将已解码的图像数据显示给用户。
其次,将描述组成DVCR28的各种处理单元的功能和操作。
在所说明的实施例中,例如,DVCR28作用相当于一个图像传送设备(源节点),用于在根据所说明的实施例的通信协议的基础上以异步传输传送图像数据。
图像单元30用来将目标的光学图像转换为由一亮度信号(Y)和一色差信号(C)所组成的电信号并且将该电信号提供给A/D转换器32。A/D转换器32用来将该电信号数字化。
图像处理单元34用来根据数字化的亮度信号和色差信号影响预定的图像处理过程。压缩/扩展处理单元36用来压缩数字化的亮度信号和色差信号的数据量。压缩/扩展处理单元36可以通过使用独立压缩处理电路来处理并联的亮度信号和色差信号。
另外,在压缩/扩展处理单元36中,为了增加抗传送通道错误的能力,压缩的图像数据必须进行重排处理。其结果,连续的码错误(即,突发错误)可以被转换为可以容易地被修正或内插的散射错误(即,随机错误)。在压缩处理之前,当希望由于图像均匀性中的粗糙度/密度而补偿信息量时,就执行。当使用带有诸如运动长度这样不同长度编码时,这样是特别有效的。
在压缩/扩展处理单元36中,将用于恢复重排的数据识别信息(ID)加到被压缩的图像数据上。另外,为了在记录/重现过程中减小错误,压缩/扩展单元36将一错误修正代码(ECC)加到被压缩的图像数据上。
将在压缩/扩展处理单元36中被压缩的图像数据提供给存储器30和记录器/重现器单元58。记录器/重现器单元58用作将诸如ID或ECC这样增加的压缩图像数据记录在比如磁带这样的记录介质上。这个被压缩的图像数据被记录在不同于视频数据的一个独立的记录区域中。
另一方面,从图像处理单元34提供给D/A转换器50的图像数据是D/A转换过的。EVF54用来显示来自D/A转换器56的一个模拟图像信号。另外,在图像处理单元34中处理的图像数据也被提供给存储器40。没有被压缩的图像数据被存储在存储器40中。
数据选择器42在用户命令的基础上选择存储器38或存储器40并且将压缩的图像数据或没有压缩的图像数据提供给1394接口44。而且,数据选择器42将由1394接口44提供的图像数据提供给存储器38或存储器40。
1394接口44用作在根据后面将要描述的实施例的通信的协议的基础上以异步传输传送压缩的图像数据或没有压缩的图像数据。此外,1394接口44用来通过1394串行总线接收用于控制DVCR28的控制命令。所接收的这个控制命令是通过数据选择器42提供给控制单元50的。1394接口44发送返回命令以响应该控制命令。
其次,将描述构成打印机60的各种处理单元的功能和操作。
在所说明的实施例中,例如,打印机60作用相当于在根据所说明实施例的通信协议的基础上用于接收以异步传输传送的图像数据并打印该图像数据的图像接收设备(目的节点)。
1394接口62用来通过1394串行总线接收以异步传输传送的图像数据和控制命令。1394接口62也用来传送对该控制命令的应答。
所接收的图像数据通过数据选择器64提供给解码器70。解码器70用于将该图像数据解码并将结果输出到图像处理单元74。图像处理单元74使存储器72暂时存储解码的图像数据。
此外,图像处理单元74用来将暂时存在存储器72中的图像数据转换为打印数据并将该打印数据提供给打印头78。打印头78在打印机控制器68的控制下执行打印过程。
另一方面,所接收的控制命令通过数据选择器64输入到打印机控制器68中。打印机控制器68在控制数据的基础上完成各种与打印有关的控制。例如,打印机控制器通过驱动器76控制打印纸供应并控制打印头78的位置。
随后,将参考图8全面描述根据所说明的实施例的1394接口14、44、62的结构。
1394接口在功能上是由多层组成的。在图8中,1394接口通过基于IEEE1394-1995标准的一条通信电缆801与其它节点的1394接口相连。此外,1394接口具有一个或多个通信端口802,每个通信端口都与包含在硬件部分的物理层803相连。
在图8中,硬件部分包括物理层803和链接层804。物理层803作用相当于用于其它节点的物理和电子接口并用来实现总线复位的检测和由此的处理过程,输入和输出信号的编码/解码以及总线使用权限的调整。链接层804用来产生通信数据包的构成,各种通信数据包的传送和接收以及循环时钟的控制,此外,链接层804提供了用于实现将在后面描述的异步广播数据包的组成和传送/接收。
在图8中,固件部分包括事务处理层805和串行总线管理806。事务处理层805控制一个异步传输系统并提供各种事务处理(读、写、锁定)。此外,事务处理层805提供一个将在后面描述的异步广播事务功能。串行总线管理806提供这此功能:实现它的节点控制,它的节点连接情况的管理,它的节点ID信息的管理以及串行总线网络的资源管理。
图8所示的硬件部分和固件部分组成了1394接口,并且在IEEE1394-1995标准中规定了它们的基本结构。
包括在软件部分的应用层807由于所使用的应用软件而彼此不同并且该应用层控制怎样传送那种目标数据。
根据将在后面描述的据说明的实施例的通信协议用来扩展组成1394接口的硬件部分和固件部分的功能并给软件部分提供一种新的传送顺序。
(第一实施例)
下面,将参考图3描述在所说明的实施例中规定的通信协议的基本结构。
在图3中,参考数300代表一个控制器;302代表一个源节点;304代表n个(n≥1)(数量)目的节点;306代表该源节点的一个子单元;308代表诸如静止图像数据、图形数据、文本数据、文件数据、程序数据或类似的目标数据。
参考数310代表在目的节点304内的第一存储空间并且由预定的目的偏移(#0)来表示;312代表第一连接,表示在源节点302和目的节点304之间的逻辑连接关系(即,连接)。目的偏移表明用于通常表示n个(数量)目的节点304的存储空间的地址。
参考数314代表在目的的节点头04中的第n个存储空间并由预定的目的偏移(#n)来表示;316代表显示在源节点302和目的节点304之间逻辑连接关系(即,连接)的第n个连接。
在这个实施例中,每个节点在基于IEEE1212CSR(控制和状态寄存器结构)标准(或ISO/IEC13213:1944标准)的64位地址空间的基础上控制或管理第一存储器空间301到第n个存储器空间314。IEEE1212CSR标准是用于规定串行总线的控制、管理和地址分配的标准。
图6A和图6B是解释每个节点的地址空间的简图,其中图6A表示由64位地址表示的理论存储器空间,图6B表示在图6A中所示的存储器空间的一部分(例如,一个地址空间其中较大的16位变成FFFF16)。在图3中所示的第一存储空间310到第n存储空间314使用了在图6B中所示的存储空间的一部分。每个存储空间310-314是由表明地址的较低的48位的目的偏移来表示。
在图6B中,例如,00000000000016-0000000003FF16是保留区域,并且目标数据308被实际写入的区域是其中这个地址的低48位变成FFFFF000040016的区域等等。
在图3中,源节点302表示具有根据随后将描述的通信协议传送这个目标数据308的功能的节点,目的节点304表示具有接收从源节点302传送来的目标数据308的功能的节点。而且,控制器300表示具有根据随后描述通信协议在源节点302和一个或多个目的节点304之间设置逻辑连接关系(即,连接)并控制这个关系的功能的节点。
控制器300,源节点302和目的节点304可以工作于独立方式的节点。另一方面,控制器300和源节点302可以工作于一个单独的相同节点。另一方面,控制器300和目的节点304可以工作于一个单独的相同节点。在这种情况中,可以省去控制器300和源节点302或目的节点304之间的事务处理,从而简化通信顺序。
在所说明的实施例中,将解释其中控制器300,源节点302和目的节点304都工作于独立节点的情况。例如,具有1394接口14的计算机10的作用相当于控制器300。另外,具有1394接口44的DVCR28的作用相当于源节点302。并且具有1394接口62的打印机60的作用相当于目的节点304。
在所说明的实施例中,如图3所示,可以在源节点302和一个或多个目的节点304之间设置一个或多个连接。当希望传送某个目标数据时,一个或多个控制器300可以在随后将描述的通信协议的基础上设置这种连接。
在所说明的实施例中,可以由一个或多个来设置能够在一个连接中使用的目的偏移,目的偏移的值可以是一个预定值或是一个通过控制器300或源节点302可变设置的一个值。顺便提一句,所述连接和目的偏移之间的关系是在随后将描述的通信协议的基础上设置的。
当设置与一个连接有关的一些目的偏移时,可以通过一种连接来获得具有多种模式的数据通信。例如,通过给数据通信的相应模式分配不同的目的偏移,从而通过一个连接就可以同时获得具有1∶1,1∶N和N∶N的数据通信。
顺便提一句,在所说明的实施例中,作为控制器300的计算机10可以工作如同目的节点304。在这种情况中,在一个源节点302和2个目的节点304之间设置这个连接以用来传送目标数据308。
另外,在所说明的实施例中,一个例子即计算机10工作相当于以前描述过的控制器300,计算机10相当于控制器300不是必须的。DVCR20或打印机60可以工作相当于控制器300。
接下来,将解释在所说明的实施例中所规定的通信协议的通信顺序。
图4A是一个顺序图,用于解释一种顺序,通过使用由某个控制器300设置的这种连接来传送一个目标数据。图4B是一个顺序图,用于解释当在一个目标数据的传送过程中发生总线复位或一个传送错误时的传送顺序图。
在根据所描述的实施例的通信协议中,由某个控制器300设置上述的连接之后,由一个或多个异步广播事务来传送一种目标数据。将参考图4解释这个异步广播事务的详细的通信顺序。此外,将参考图5解释在这个异步广播事务中所使用的一个包(在下文中被称为“异步广播数据包”)。
顺便提一句,上述的异步广播事务和异步广播数据包是在根据所描述的实施例的通信协议中所规定的新的通信顺序和广播数据包格式。
现在,将参考图4A描述基于根据所描述实施例的通信协议的基本传送顺序。
控制器300设置连接ID以用于识别源节点302和一个或多个目的节点304之间的逻辑连接关系(连接)。然后,控制器300通知这个连接ID和控制器本身的全球唯一的ID的相应节点并且设置一种连接(在图4A中的401,402)。
在连接ID通知之后,控制器300命令源节点302启动目标数据308的传送(图4A中的403)。
接收到启动传送的命令之后,源节点302执行与一个或多个目的节点304的协商,从而实现异步广播事务的初始设置(图4A的404,405)。
完成初始设置之后,源节点302执行异步广播事务,从而连续地广播数据包含一段或多段数据的目标数据308(图4A中的406-409)。
现在,将参考图7描述在所描述实施例中的目标数据的传送模式。在图7中,例如,目标数据是静止图像数据,其中的数据大小是128K字节。
源节点302根据在初始设置中所识别的每个目的节点304的接收能力将目标数据308分为:例如500个分段数据(一个分段数据有256字节)。由源节点302在每个目的节点304的内部缓冲器大小的基础上可变地设置一个分段数据的数据大小。图7显示了一种情况,其中保留有具有与目标数据308的数据大小相同的一个内部缓冲器。
此外,源节点302通过使用至少一种异步广播事务来传送一个或多个分段数据。在图7中,通过使用一种异步广播事务传送一个分段数据。
传送完所有的分段数据之后,源节点302完成与一个或多个目的节点304的数据通信(图4A中的410,411)。
接下来,将参考图4A全面解释控制器300的操作。
控制器300以异步传输向由用户选择的源节点302和一个或多个目的节点304传送用于设置连接的数据包(在下文中称之为“连接设置包”)(图4A中的401、402)。将连接ID和全球唯一ID存储在这个数据包的有效负载中。
然后,控制器300以异步传输将一个事务处理命令包传送到源节点302(图4A中的403)。
接收事务命令包的源节点302通过使用控制器300通知的连接ID和全球唯一的ID来实现初始设置并且执行这个异步广播事务(图4A中的404-409)。由这个异步广播事务,源节点302可以连续地传送由一个或多个分段数据组成的目标数据308。
顺便提一句,在根据所描述实施例的通信协议中,控制器30提供了用于控制连接的连接/断开的功能。因此,设置完这个连接之后由源节点302和目的节点304之间的协商来执行目标数据308的传送。
完成一系列异步广播事务之后,源节点302广播表示段结束(下文中称之为“段结束数据包”)的一个异步广播数据包(图4A的410)。
从源节点302接收到段结束数据包之后,控制器300断开连接,从而完成数据传送(图4A中的411)。
由于传送段结束数据包,这个包的内容同样可以在目的节点304中被检测。因此,取代控制器300,目的节点304本身可以断开到源节点302的连接。
其次,将参考图4A全面解释源节点302的操作。
从控制器300接收到连接设置包和事务处理命令包之后,源节点302向每个目的节点304发出请求数据传送的一个异步广播数据包(在下文中称之为“发出请求数据包”)(图4A的404)。
这个发出请求数据包是用于在执行目标数据308的异步广播事务之前获得所需的起始信息的请求数据包。在这个请求数据包中写入了由控制器300选定的连接ID和控制器300的全球唯一的ID。
目的节点304广播了一个异步广播数据包,该广播数据包表明了该包对应于所发送请求数据包(在下文中被称为“应答响应数据包”)的这个事实(图4A的405)。在这个应答响应数据包中存储了与在发送请求数据包中相同的连接ID和全球唯一ID。因此,通过识别所接收包的连接ID和全球唯一ID,源节点302可以鉴别传送这个应答响应数据包的所通过的连接。
在这个应答响应数据包中存储了能被保留在每个目的节点304中的内部缓冲器的大小以及表示一个预定存储器空间的偏移地址。接收这个应答响应数据包之后,源节点302设置用于通常表示目的节点304的存储空间的目的偏移并且启动异步广播事务。通过使用包含在每个目的节点304的应答响应数据包中的偏移地址来设置目的偏移。
顺便说明,在所描述的实施例中,尽管是在一个例子中,即通过使用包含在已解释过的应答响应数据包中的偏移地址来设置在异步广播事务中所用的目的偏移,但本发明不局限于这样的一个例子中。例如,控制器300可以有控制在每个连接中所使用的目的偏移的功能以便于设置连接ID和目的偏移。在这种情况中,对应于每个连接的目的偏移是从控制器300通知到源节点302。
然后,源节点302将第一异步广播数据包写入存储空间以表示上述目的偏移(图4A中的406)。在这个广播数据包中存储了连接ID,全球唯一ID和分段数据的顺序号。
接收第一异步广播数据包之后,源节点302等待来自目的节点304的响应数据包。从目的节点304以异步广播形式发出存储有连接ID,全球唯一ID和顺序号的响应数据包。接收这个响应数据包括之后,源节点302将顺序号加1并传送这个包含下一个分段数据的异步广播数据包(图4A的407)。
通过重复这种步骤,源节点302能连续地实现异步广播事务(图4A中的408-409)。用于等待来自目的节点304的响应的最大时间段是事先确定的,而且,如果在经历了这样一个时间段之后,还没有反应,则通过使用同一个顺序号来重新发送同一个数据。
当一个请求重新发送数据的应答数据包从目的节点304传出时,源节点302再次传播指定顺序号的数据。
在所有目标数据308的异步广播事务都结束后,源节点302传播段结束数据包,因此结束了数据传送(图4A中的410、411)。
如上所述,源节点302可根据需要将目标数据308分为一个或更多个段数据(分割)。当作用于每个段数据的异步广播事务时,就产生上述的应答数据包。一个段数据的传送是由单个异步广播事务实现的。目的节点304具有一个有着由上述缓冲区容量所指定的容量的缓冲器。
顺便提一句,在如上所述的例子中,虽然应答数据包的送出是依据一个段数据的异步广播事务而成功执行的,但是本发明并不仅限于这样一种例子。在目的节点304的数据缓冲器中填满了许多连续的段数据后,目的节点304可传送应答数据包。
接下来,将参照附图4A对目的节点304的操作做充分的说明。
在接收了来自控制器300的连接设置包之后,目的节点304就等待来自源节点302的发送请求数据包(图4A中的404)。
接收该传送请求数据包的目的节点304识别写入这个包的连接ID和全球唯一ID,并判断该包是否是由源节点302传送来的。
在接收了来自源节点302的发送请求数据包之后,每个目的节点304传送确认应答数据包,在该应答数据包中,连接ID、全球唯一ID、能用来储存的内部缓冲器的容量以及偏移地址说明了预先定义的存储器空间(图4A中的405)。
在将由源节点302传送来的异步广播数据包写入该存储器空间之后,目的节点304识别这个包的连接ID和全球唯一ID。当这些连接ID及全球唯一ID与控制器300所设置的值一致时,就传送(包括在接收到的包中的连接ID、全球唯一ID和顺序号的)该应答数据包(图4A中的406-409)。在这种情况下,接收到的数据包中所含的段数据被存储在内部缓冲器中。如果该连接ID和全球唯一ID与为目的节点所设置的连接ID和全球唯一ID不同,则目的节点304抛弃接收到的这个数据包。
如果收到的数据包的顺序号是错误的,则目的节点304可发送应答数据包来请求执行重新传送。在这种情况下,目的节点304将请求执行重新发送的顺序号通知源节点302。
在所有的异步广播事务都结束之后,将段结束数据包从源节点302传送出来。当接收这个包时,目的节点304结束这一数据传输处理(图4A中的410)。
在接收这一段结束数据包之后,目的节点304传送一个表明了该段结束数据包被正确接收的应答数据包(图4A中的411)。
如上所述,依据所列举实施例的这个通信系统可以克服传统通信系统中的不便之处。另外,在对不需要实时传送的数据进行传输时,可以简单地以高速传送这些数据。
另外,在所列举实施例中,当控制器300设置了连接之后,在源节点302和每个目的节点304之间实现目标数据的传输处理,而不受控制器300的控制。结果,可以减小控制器上的负载,而且可提供一种简单的通信协议,该协议没有被复杂化的通信序列。
另外,在所举的实施例中,将目的节点304设计为能响应每个异步广播事务。结果,可提供一种通信协议,在该协议中,可以准确传输不需要实时传送的数据。
为实现更有效的数据传输,如果由于总线复位或任何传输错误而使数据传输中断时,需要快速地重新启动数据传输而且不能损失数据。现在,将参见图4B,对在依据如图所示实施例的通信协议约定下的重启动序列进行说明。
例如,在接收到具有顺序号为i的异步广播数据包之后,如果发生了总线复位,则依据IEEE 1394-1995标准所约定的序列,每个节点都中断传输处理,并执行总线的初始化、连接结构的识别以及对节点ID的设置(图4B中的420、421)。
在总线的重新构造结束之后,每个目的节点304传播一个重新发送的请求数据包,在这个包中存储了连接ID、全球唯一ID以及顺序号i(图4B中的422)。
当允许重新启动异步广播事务时,源节点302识别所接收到的重发送请求数据包的连接ID和全球唯一ID,并传播在其中存储了连接ID和全球唯一ID的确认应答数据包(图4B中的423)。
因此,源节点302连续地发送位于由接收到的重发送请求数据包所请求的顺序号之后的段数据,即具有顺序号(i+1)的段数据等(图4B中的424)。
使用如上所述的序列,甚至是在数据传送中断的情况下,控制器300、源节点302和目的节点304不用获得它们的节点ID,就能很容易并积极地重启动数据传送。另外,如上所述,在所举的实施例中,甚至是在数据传输中断的情况下,也能简化控制器300的控制序列。
接下来,将参照图5对所举实施例中规定的异步广播数据包的结构进行说明。例如,异步广播数据包是一个具有一个四字节单位的数据包(4个字节=32比特)。
首先,将说明包头521的结构。
在图5中,字段501(16比特)表明了目的ID,并表明了接收器(即目的节点304)的节点ID。在依据所举实施例的通信协议中,为实现目标数据308的异步广播事务,将这一字段的值用作传播ID(即“FFFF16”)。
字段502(6比特)表明一个事务标记(t1)字段,并且它对每个事务是一个固定的标记。
字段503(2比特)表明一个重试(rt)码,并指出该包是否试图重试一次。
字段504(4比特)表明一个事务码(tcode)。该“tcode”表明了包的格式,以及需执行的事务类型。在所举实施例中,例如可将该字段内的值看作“00012”,它请求将这个包的数据块522写入由目的偏移字段507所指定的存储器空间内(即写入事务处理)。
字段505(4比特)表明了优先级(pri),并指定了一个优先顺序。在所举实施例中,该字段内的值被看作是“00002”。
字段506(16比特)表明了源ID,并表明了发送器(即源节点302)的节点ID。
字段507(48比特)表明了目的偏移,而且通常表明了每个目的节点304的地址空间的低48比特。目的偏移可在所有连接中被设置为相同值,也可为每个连接设置不同的值。然而,当目标偏移被设置为不同值时,由于可并行处理来自若干连接的异步广播数据包,因此,这是一种更有效的模式。
字段508(16比特)表明了数据长度,并表明了具有一比特单位的数据字段的长度。
字段509(16比特)表明了扩展的tcode。在所举的实施例中,将该字段的值看作“00002”。
字段510(32比特)表明了用于字段501-509的标题CRC和错误检测码被存储在这一字段内。
接下来,将说明数据块522的结构。在所举实施例中,数据块522是由标题信息523和数据字段524构成的。
用于分辨节点之间的逻辑连接关系(即连接)的连接ID被存储在标题信息523中。顺便说一句,标题信息523的结构会随使用目的的不同而彼此不同。
数据字段524是一个具有可变长度的字段,而如上所述的段数据被存储在该字段内。如果存储在该数据字段524内的段数据不是四字节的倍数,则短于四字节的部分被添满“0”。
字段511(2个四字节,64比特)是控制器300的全球唯一ID。依据所举实施例的1394接口通过使用这个全球唯一ID来鉴别用于设置源节点302和目的节点304之间的连接的控制器300。全球唯一ID对每个节点是一个固定的ID,并以IEEE 1394-1995标准为基准。
顺便说一句,在所举实施例中,虽然说明了将唯一ID用作鉴别设置连接的控制器的一个例子,但本发明并不仅限于这样一个例子。只要每个节点可被固定地识别出来而不被总线复位所改变,就可使用其它信息。
字段512(16比特)表明了依据所举实施例的连接ID,并存储该连接ID。依据所举实施例的1394接口根据存储在这个字段内的连接ID来辨别在源节点302和一个或更多个目的节点304之间设置的连接。在所举实施例中,一个控制器可建立216×(节点数)个连接。对于这种排列,直到连接所用的通信波段或区域的总量达到传输路径的容量时,才能设置若干连接。
另外,依据所举实施例的1394接口可通过使用如上所述的全球唯一ID和连接ID来辨别在某个源节点302和一个或多个目的节点304之间设置的绝对连接。因此,若干控制器300可为两个不同的逻辑连接关系设定相同的连接ID。也就是说,每个控制器可设置并控制其连接ID,而不管它是否已被别的控制器设置了连接ID。
字段513(8比特)表明了协议类型,例如当依据所举实施例的通信协议被指出时,这一字段的值变为“0116”。
字段514(8比特)表明了控制标志,在这一字段内设置预定的控制数据,以用于控制依据所举实施例的通信协议的通信序列及类似序列。在所举实施例中,例如可将该字段的最高位用作重发送请求标志。因此,当这一字段的最高位变为“1”时,表明产生了以依据所举实施例的通信协议为基础的重发送请求的情况。
字段515(16比特)表明了顺序号,并设置连续值(即顺序号),以用于以特定连接ID(在字段512中所指定的连接ID)为基础所发送的数据包。使用这种顺序号,目的节点304可服从异步广播事务来连续地监视段数据的连续性。如果发生了不一致,则目的节点304可依据这一顺序号而请求重新发送。
字段516(16比特)表明了重认证号。在所举实施例中,这一字段只有在重发送请求标志的值为“1”时才有意义。例如,当重发送请求标志的值为“1”时,请求重新发送的数据包的顺序号就被设置在该字段内。
字段517(16比特)表明了缓冲区容量。目的节点304的缓冲区容量被设置在该字段内。
字段518(48比特)表明了偏移地址。目的节点304地址空间的低48比特被存储在该字段内。结果,指定了图3所示的第1存储器空间310到第n个存储器空间314中的一个。
字段519(32比特)表明数据CRC、与标题CRC相似的用于标题信息523(字段511-518)和数据字段524的错误检测码都存储在这一字段内。
接下来,将参照图9对由两个控制器在网络上设定同样的连接ID的方法进行详细的说明。在图9中所示的控制器A300具有节点唯一识别ID 901,它甚至在发生总线复位或类似情况时,也不会改变。这里,识别ID 901是一个基于IEEE 1394-1995标准的全球唯一ID,因此例如可以将它设置为一个值“1”。
与控制器A300相似,图9中所示的控制器B300’具有一个节点唯一识别ID 902,它甚至在发生总线复位或类似情况时也不会改变。这里,识别ID 902是一个基于IEEE 1392-1995标准的全球唯一ID,因此例如可将其设定为一个值“4”。对于全球唯一ID,控制器A、B能分别设置在相同的或不同的源节点302和目的节点304之间的相同连接。例如在图9中,连接ID被设置为“0”。
当设置了相同的连接ID时,控制器A、B不需要为防止控制器A和B之间连接ID的重叠而进行协商。
当设置了连接时,控制器A、B告知该连接ID的源节点302和目的节点304,以及控制器A(B)的节点唯一识别ID 901(902)。结果,源节点302和目的节点304能够识别该连接,以及该连接所设置的控制器。
接下来,将充分说明受控制器300作用的用于设置连接的序列和用于释放连接的序列,并对图4进行辅助说明。
(1)首先,控制器300就最大有效负载容量(即max_rec容量)查询第N(N≥1)个目的节点304,该容量能被一种异步广播事务所允许,并能告知由控制器300所设置的唯一连接ID的目的节点。目的节点304向来自控制器300的命令表明max_rec容量,并将表明连接ID得到了设置的响应结果返回(图10中的1001)。
(2)接着,控制器300告知用于识别由控制器300设置的连接的连接ID的源节点302、控制器30的全球唯一ID、由连接理论上相连的目的节点304的总数N,以及如上所述的最大rec容量(该值表明由源节点302所传送的异步广播数据包的有效负载的容量)(图10中的1002)。源节点302将表明了它们已被设置给来自控制器300的命令的响应返回。
(3)控制器300选择一个目标数据308,它需要被传送到源节点302的目标数据中(图10中的1003)。源节点302把表明了已将所需的目标数据308选给控制器300的响应返回。所选的目标数据308可以是一个静止图象或活动图象。另外,目标数据可以是文本数据或二进制数据。
(4)在控制器300识别出一个事实之后,控制器向源节点302传送用于命令开始传输目标数据308的命令(即事务处理)(图10中的1004)。
(5)当接收来自控制器300的事务命令时,源节点302开始对所选目标数据308的传送(图10的1005)。如上所述,由一个或更多个异步广播事务将目标数据308传送到目的节点304。
(6)在目标数据308的传送结束后,控制器释放源的目标308。
(7)此时,控制器300就是否要求了另一些目标数据而查询源节点302。如果是,则重复如上所述的步骤(3)到(6)。
(8)在传送了所有目标数据之后,控制器300释放事先设置的唯一的连接(图10中的1007、1008)。
图11显示了这样一种结构,其中由一个控制器300在网络的一个源节点302和N个(数目)目的节点304之间设置了一种连接ID。在这种情况下,用于识别节点之间连接的唯一的连接ID被看作“FFFF”(16进制)。顺便说一句,这个值也可是其它值。
在这种情况下,图10中所显示的序列(1)由相应的目的节点304实现,这样,它被重复了N次。
接下来,将参见图12说明这样一种通信序列,其中相应的目的节点304具有相同容量的接收缓冲区,且其目标数据308的容量与接收缓冲区相等。为方便说明,假设目的节点304的数目N为3(N=3)。在图12中,源节点302识别出依据图10中所示的序列(图12中的1201),有三个目的节点与同一个ID相连。
(1)当来自控制器300的事务命令被传送到源节点302时,源节点302依据图4A中所示的序列传播连接请求数据包(图12中的1202)。
(2)在接收的准备结束时,三个目的节点304返回到包含其接收缓冲区容量的确认应答数据包(图12中的1203)。
(3)在识别出三个确认应答数据包都返回之后,依据确认应答数据包的接收缓冲区的容量,源节点302将目标数据308分为预定的有效负载容量。并在得到相应的目的节点304的缓冲区容量之前连续作用于这种传播,并一直等待来自具有最小缓冲区的目的节点304的接收应答(图12中的1204)。
(4)在所有目标数据308的最后一段数据中,源节点302设定表明段结束的段结束标志,并传送它(图12中的1205)。
(5)在接收段结束数据包时,每个目的节点304返回段结束接收响应,该响应表明所有目标数据308的接收结束了(图12中的1206)。
(6)在识别出段结束接收响应是从所有目的节点304返回的之后,控制器300和源节点302识别出目标数据308的传输结束了。
顺便说一句,参照图12对目标数据的传送模式所作的说明可以用与图7中相似的方式进行说明
接着,将参照图13对网络中的通信序列进行全面的说明,其中三个目的节点304具有不同容量的缓冲区。为便于说明,假定目的节点304的数目N为3(N=3)。在图13中,源节点302已被告知,有来自控制器300的3个目的节点以同一ID连接。
(1)当来自控制器300的事务命令被传送到源节点302时,源节点302依据图4A所示的序列,传播连接请求数据包(图3中的1301)。
(2)在接收的准备结束时,三个目的节点304将包含其接收缓冲区容量的确认应答数据包返回(图13中的1402)。
(3)在识别出三个确认应答数据包已返回之后,源节点302依据确认应答数据包接收缓冲区的容量,将目标数据308分成预定的有效负载容量。而且,在这三个目的节点304中最小的一个接收缓冲区被填满之前,源节点连续地作用于传播,并一直等待来自具有最小缓冲区的目的节点304的接收应答(图13中的1303)。
(4)在接收了来自具有最小缓冲区的目的节点304(图13中的目的#1)的接收应答数据包之后,在得到较大接收缓冲区的缓冲区容量之前,源节点302进一步连续地作用于传播,并一直等待来自下一个目的节点304的接收应答数据包(图13中的1304)。
(5)在接收了来自第二目的节点304的接收应答数据包之后,在得到最大接收缓冲区的缓冲区容量之前,源节点302进一步连续地作用于传播,并且它还会一直等待接收来自下一个目的节点304的接收应答数据包(图13中的1305)。
(6)在重复了如上所述的序列之后,源节点302传播设定了段结束标志的最后一个段数据,并一直等待来自相应目的节点304的段结束接收响应(图13中的1306)。
(7)在接收了来自所有目的节点304的段结束接收响应之后,控制器300和源节点302识别出目标数据308的传输结束了(图13中的1307)。
接下来,将参照图14对图13中目标数据的传输模式进行说明。为便于说明,假定目的节点304的数目N为2(N=2)。顺便说一句,在图15中,虽然将要说明的源节点302的目标数据308是一个具有128K字节数据容量的静止图象,然而,本发明并不限于这样一种例子,而且其数据容量可变。另外,目标数据308并不仅限于静止图象,而且可以是文本数据或二进制数据。
当假定了一个异步广播数据包的有效负载容量为256个字节时,在得到目的#1的缓冲区容量之前,源节点302将目标数据308分为500个段数据,并连续地传播相应的段数据。在接收缓冲区被填满后,目的#1返回接收应答数据包。源节点302进一步连续地继续进行传播,直到目的#2的接收缓冲区填满为止。
在这一例子中,虽然目的#2的缓冲区容量是目的#1的缓冲区容量的两倍时,但本发明并不仅限于这样一种例子。如上所述,在图15中,目的#1返回到(总共)3个段接收响应,而目的#2返回两个段接收响应。
接下来,将参照图15对处于一个源节点302和若干目的节点304之间的异步广播事务中的传输重启动序列进行说明。图16显示了特别是在发生总线复位时的还原序列。如上所述,总线复位的发生是与连接结构和每个节点电源的接通/断开的变化相一致的。
例如,图15显示了一个例子,即由三个目的节点304接收源节点302的目标数据308。当源节点302结束传输具有顺序号为i的段数据时,如果发生总线复位,则在总线上的节点依据IEEE 1394-1995标准对网络初始化,并自动作用于重识别处理。
在对于总线的重识别处理结束后,每个目的节点304传播重发送请求数据包,在该包中存储了连接ID和(在发生总线复位前)正确接收的段数据的顺序号。例如,在图15中,目的节点#1、#2应该正确地接收具有顺序号一直到i的数据,而#3应该能正确地接收具有顺序号一直到(i-1)的数据。因此,源节点302开始从具有顺序号为i的段数据处执行重发送。
另外,如图15B所示,虽然源节点302接收了每个重发送请求数据包,但是,源节点可以从具有顺序号为0的段数据开始执行重发送,而不用识别最小顺序号。在这种情况下,可省去识别最小顺序号的功能。
在这种方法中,当存在若干目的节点304时,甚至是在发生了总线复位的情况下,所有节点304都可以重启动数据传送而不丢失目标数据。
(第二实施例)
现在,将参照图16对依据本发明的第二实施例的通信协议进行简要的说明。
在上述的第一实施例中,说明了一种通信协议和一种异步广播事务,在该协议中使用连接ID在源节点302和一个或多个目的节点304之间设置逻辑连接关系,并且使用该连接ID来识别出一个源节点302和一个目的节点304之间的通信。
在第二实施例中,将说明一种通信协议和一种依据IEEE 1394-a标准的异步数据流包,在该通信协议中,通过使用前述的连接ID来识别出一个源节点302和一个或多个目的节点1604之间的通信。
在下文将要说明的这一实施例中,一种使用在后面将会说明的异步数据流包对一部分或所有的目的数据1608(例如,具有一个或多个景物的静止图象、与预定时间段相应的活动图象数据、视频数据或与预定页相应的文本数据)进行传输的一个传输系统被称做“异步数据流传输”。
异步数据流传输是在基于IEEE 1394-1995标准的传输系统的传输周期内实现的。另外,异步数据流传输适于在通信系统上传播,并且是一种适于实现一个装置和若干装置之间的通信的通信系统。
与同步传输系统相似,在异步数据流传输中,需要设置预定的信道号。因此,在所举的实施例中,通过使用在同步传输系统中使用的用于管理信道号的同步响应管理器(以下称做“IRM”),从而在每个异步数据流传输中设置信道号。
与在第一实施例中相似,现在,在所举实施例中,例如,具有1394接口14的计算机将被解释为控制器1600,具有1394接口44的DVCR 28将被解释为源节点1602,具有1394接口62的打印机60将被解释为目的节点1603。顺便说一句,在图2中,虽然所说明的通信系统是由三个通信装置构成的,但本发明并不仅限于这样一种例子。例如,可以使用连接有若干个计算机10、DVCR28和打印机60的通信系统,而且,构成目的节点1603的该通信装置也不只限于一个。
在图16中,参考数1600表示一个控制器;1602表示一个源节点;1604表示一个目的节点;1604表示源节点中的一个子单元;1608表示诸如是图象数据等的目标数据;1610表示目的节点中的接收FIFO;1612表示第一连接;1616表示第n个连接;1620表示IRM。
控制器1600是一个具有设置连接ID功能的节点,以用于在源节点1602和一个或多个目的节点1604之间建立连接,并用于识别这种连接。
控制器1600可以是一个与源节点1602和目的节点1604都分离的节点。换句话说,源节点1602或目的节点1604可以与控制器1600的相同。在后一种情况中,可省去源节点1602或目的节点1604与控制器1600之间的事务。与第一实施例相似,在所举实施例中,显示了这样一个例子,即控制器1600是一个与源节点1602和目的节点1604都不相同的节点。
在依据所举实施例的通信装置中,可建立若干连接。通过使用异步数据包,控制器1600可对用户选出的源节点1602和目的节点1604设置相同的信道号和连接ID。通过使用诸如是第一连接1612的异步数据流,源节点1612将诸如是图象数据等的目标数据1608从内部子单元1606写到目的节点内的第一接收FIFO 1610上。
在这种情况下所使用的异步数据流包被控制器1600指定的信道号所传送。由控制器1600设置的连接ID被当作一部分数据标题信息存储在该包的有效负载中。
当接收具有控制器1600所指定信道号的异步数据流包时,目的节点1604在接收FIFO 1610中暂时存储这种包,并在有效负载期间分析该数据标题信息。当该接收包具有控制器1600指定的连接ID时,被当作数据标题信息的数据被写入内部缓冲区中。
同样,当存在若干目的节点1604时,由于每个节点可通过使用信道号和连接ID来识别预定连接,所以源节点1602可向若干目的节点1604同时传送数据。
接下来,将参照图17A和17B对第二实施例中所用的通信数据包进行说明。在这一实施例中所用的通信数据包例如可以是一个具有一个4字节单元(32比特;下文称之为“四字节”)的包。在这一通信数据包中,存在有两种格式,即指定接收器(即异步数据包)节点ID的一种类型包,以及用于指定并传播被称之为“异步数据流”的信道号的一种类型包。
图17A中所示的包的格式是一种用于指定节点ID的类型。如图17A所示,第一字段1701(16比特)是一个用于存储接收器节点ID的目标ID字段。
下一个字段1702(6比特)是一个事务标记(tl)字段,它对每个事务来说是一个固定标记。
下一个字段1703(2比特)是一个重试(rt)码,它指定该包是否试图重试。
下一个字段1704(4比特)是一个事务码(tcode)。该tcode指定了需执行的事务类型,以及包的格式。在所举实施例中,例如可将该值设定为0001(二进制)。这样,就是请求用于写该数据块的事务。
下一个字段1705(4比特)是一个用于指定优先级的优先权(pri)字段。在所举实施例中,该字段的值被设定为0000(二进制)。
下一个字段1706(16比特)是一个表明发送一侧节点ID的源ID字段。下一个字段1707(48比特)是一个目标偏移字段,用于识别目标字节1604的64比特地址空间的低48比特。
下一个字段1708(16比特)是一个数据长度字段,表明了以字节为单位的数据字段(后面将会说明)的长度。
下一个字段1709(16比特)是一个扩展tcode字段。当请求在所举实施例中使用的写数据块的事务时,该字段的值被设定为0000(16进制)。
下一个字段1710(32比特)是一个头CRC字段,用于检测包头的错误。该包头是由字段1701-1709组成的。
下一个字段1711是一个具有可变长度的数据字段,该数据字段被称做“有效负载”。在所举实施例中,当这一数据字段不是四字节的倍数时,比四字节短的位上都用“0”填满。
下一个字段1712(32比特)是一个数据CRC字段,它与头CRC字段相似,是用来检测该数据字段的错误。
图17B所示的包的格式是用于指定信道号的类型包(即异步数据流包)的一种格式。
如图17B所示,第一字段1720(16比特)是一个数据长度字段,它表明了以字节为单位的数据字段(后边将会说明)的长度。
下一个字段1721(2比特)是一个标记字段,该字段的值为00(二进制)。
下一个字段1722(6比特)是一个信道字段,它表明了该包的信道号。接收节点通过使用该信道号来识别这个包。
下一个字段1723(4比特)是一个事务码(tcode)。在异步数据流包中,该字段的值为A(16进制)。
下一个字段1724(4比特)是一个同步码(sy)字段,该字段的值由使用这个包的应用程序所确定。
下一个字段1725(32比特)是一个头CRC字段,它被用来检测包头的错误。该包头是有字段1720-1724构成的。
下一个字段1726是一个具有可变长度的数据字段,该字段被称做“有效负载”。在所举实施例中,当这个数据字段不是四字节的倍数时,被四字节要短的位上被填满“0”。下一个字段1727(32比特)是一个数据CRC字段,与上述对头CRC字段的说明相似,它被用来检测该数据字段的错误。
接下来,将参照图18和19对作用于图16所示的控制器1600、源节点1602和目的节点1604之间的异步事务,以及图16中未示出的IRM(节点变为同步源管理器)进行说明。顺便说一句,以下的说明,对于图18,将说明的是在一个源节点1602和一个目的节点1604之间设置连接的序列,对于图19,将说明的是在一个源节点1602和若干个目的节点1604之间设置连接的序列。
控制器1600向IRM 1620的CHANNELS-AVAILABLE(信道可用)寄存器发出(读出事务处理)一个读请求数据包。当接收该数据包时,IRM 1620将CHANNELS-AVAILABLE寄存器的内容作为一个读响应发送到控制器1600(图18和19中的1801)。在该点的信道使用条件是在该寄存器中设定的,因此,通过检查数据,可知道未使用的信道。控制器1600从这些未使用的信道中选择一个信道。
之后,控制器1600向源节点1602发出(写入事务处理)用于设定连接的设置命令。由控制器1600选出的信道号和由控制器1600本身控制的连接ID被写入该设定命令。当接收该设置命令时,源节点1602向控制器1600发送一个对该设置命令的应答数据包(图18和19中的1802)。
被告知了信道号的源节点1602从控制器1600向IRM 1620的CHANNELS-AVAILABLE寄存器发出(读出事务处理)一个读请求数据包。当接收该数据包时,IRM 1620将CHANNELS-AVAILABEL寄存器的内容当作一个读响应发送给源节点1602(图18和19中的1803)。
通过使用这一响应数据,源节点1602向IRM 1620发送一个比较和交换锁定请求数据包。该锁定数据包是这样一个数据包,即它用于重写由控制器1600告知的(即使信道得到由使用下的控制器1600传来的通知的)CHANNELS-AVAILABLE寄存器中的内容。当锁定成功时,该信道得到了保障。IRM向源节点1602传送用于锁定请求的应答数据包(图18和19中的1804)。
根据源节点1602,控制器1600向目的节点1604发送一个设置命令(写入事务处理),以用于连接。被通知给源节点1602的信道号和与连接ID相似的数据被写入设置命令中。目的节点1604发送对于该设置命令的一个应答数据包(图18中的1805)。
另外,如图19所示,当存在若干目的节点1604时,该设置命令能被成功地传送到相应的目的节点1604,因此能实现设置(图19中的1901)。
在如上所述的序列中,控制器1600可设置源节点1602和目的节点1604之间的通用异步数据流信道和通用连接ID,因此,建立了相应节点之间的逻辑连接。
之后,控制器1600向目的节点1604发送一个数据接收命令(写入事务处理)。接收该命令的目的节点1604准备接收数据,并向该控制器1600发送一个应答数据包(图18中的1806)。如图19所示,当存在若干目的节点1604时,数据接收命令被连续地传送到相应的目的节点。结果,该目的节点1604变为一个接收等待条件(图19中的1902)。
在目的节点变为接收等待条件之后,控制器1600向源节点1602发送一个数据发送命令(写入事务处理)。当接收该命令时,源节点1602向控制器1600发送一个应答数据包(图18和19中的1807)。通过使用图17A中所示的异步数据包,实现了上述事务。
图20中显示了设置命令中所用命令的数据格式、数据接收命令和数据发送命令。在将图20所示的命令设置到图17A中所示数据字段1711内之后,通过使用写入事务处理,将该命令传送到相应的节点。
在图20中,ctype字段2001表明了命令的种类。下列表1显示了几种命令。
表1
  值   命令类型   意义
  0   控制   控制命令
  1   状态   查询设备条件
  2   查询   查询命令的支持条件
  3   通知   识别设备条件中的变化
上述命令表明了表1中的控制。子单元型字段2002和子单元ID字段2003是这样一种字段,它表明了该包内包含了由包头所指定的节点中的单元命令。opcode字段2004和operand字段2005-2011是表明了实际命令内容的字段。
图21显示了对于上述命令进行应答的数据格式的例子。在将图21所示的应答设置到图17A所示的数据字段1711内之后,将该应答传送到相应的节点。
在图21中,应答字段2101表明了应答的种类。下述表2显示了几种类型的应答。
表2
 值   应答类型   意义
 8   未完成   命令不受支持
 9   接收   命令得到支持
 A16   拒绝   命令被拒绝
 F16   中间状态   稍后返回应答
子单元型字段2102和子单元ID字段2103是这样一种字段,它表明了发出应答的节点中的单元。opcode字段2104和operand字段2105-2111是表明了应答内容的字段。
例如,当接收了来自控制器1600的上述命令的节点接收该命令时,该节点使用一个写入事务处理向控制器1600发送一个应答数据包,该应答数据包中应答字段2101内设置了“Accepted”。
在图18和19中,接收了数据传送命令的源节点1602将事先所选的目标数据1308分为若干段数据,并连续地发送这些段数据(图18和19中的1808)。通过使用图17B中所示的异步数据流包来传送段数据。在这种情况下,通过使用IRM来设置写入图17B所示信道字段中的被确保的信道号。
接下来,将参照图22对用来分开目标数据1608的序列,以及用于连续传送所分开的数据的序列进行说明。
在源节点1602中,依据上述通信序列选择了一个具有128KB图象容量的目标数据1608。源节点1602例如可将目标数据1608分为512个段(1段=256字节),并使用预定信道,通过异步数据流传输将这些段传送到一个或多个目的节点1604。
如图22所示,目的节点1604将具有预定信道的异步数据流包装入其FIFO1610中,并通过检测该包的有效负载来识别它是否包含了所设置的连接ID。如果包含了连接ID,则包含在该包内的段数据被连续地存储在内部缓冲区内,并接收来自源节点1602的目标数据1608。
图23显示了一个数据格式的例子,用于图17B中所示数据字段1726内所要设置的目标数据1608的一部分(即1个段数据)。
在图23中,第一个单个的四字节构成了一个头字段2301(下文称作“数据流信息标题”)。控制标志字段2302表明由该包设置的数据类型。下面的表3显示了控制标志的例子。
例如,在图22中,在包中设置了表3所示的“普通字段数据”,用于发送字段0-字段510,在包中设置了表3中所示的“目标结束的字段数据”,用于传送字段511,它是目标数据1608的最后一个数据。
表3
  值   意义
  0016   普通段数据
  0116   目标结束的段数据
由控制器设定的连接ID被设置在连接ID字段2303内。另外,被分开的目标数据1608(即一个段数据)被设置在被分段的目标数据字段2304中。
在图22所示的情况下,数据流信息标题(4字节)和段数据(256字节)(即总共260字节)构成了一个异步数据流包的有效负载。通过使用由上述通信序列设定的信道号,相应的包被连续地从源节点1602传输出来。
当接收异步数据流包时,每个目的节点1604检查包头的信道字段1722,并判断信道字段是否与由控制器告知的信道号相符。如果信道字段与信道号相符,则将该包装入接收FIFO 1610中。
另外,每个目的节点1604判断所得到的包的该数据流信息标题2301的连接ID字段的值是否与控制器1600所告知的连接ID相符。如果相符,则每个目的节点1604将(除了数据流信息标题2301的4个字节外的)段数据2304写入内部缓冲器中。另外,每个目标字节1604检查数据流信息标题2301的控制标志字段2302,并判断该段数据是否是目标数据1608的最后一个数据。
在图22所示例子的情况下,从数据传输的开始,“目标结束的段数据”被设置在第512个异步数据流包的数据流信息标题2301的控制标志字段2302中。在目的节点1604将包含在该包内的段数据写入内部缓冲区时,目标数据1608的传输就结束了。
接下来,将参照图24对图19所示的数据传输1808的流程进行全面的说明。例如,当传输图22中所示的每个段数据时,源节点1602在异步数据流包的有效负载内设置一个段数据(同时还有一个标题信息),并通过使用预定信道来传送数据。
在这种情况下,由控制器1600告知的连接ID被设置在有效负载中标题信息的连接ID字段2303中,而图24的流程所示的值被设置在控制标志字段2302中。当传送段511(最后的数据)时,表明“目标结束的段数据”的“01h”被设置在控制标志字段2302内。
每个目的节点1604接收具有控制器1600所告信道号的异步数据流包,并识别有效负载中标题信息的内容。当连接ID与其本身所设置的连接ID相符,则由该包得到了段数据,并将该数据连续地存储在内部缓冲区中。
当控制标志字段2302接收具有“01h”的异步数据流包时,每个目的节点1604检测到目标数据1608的接收已经结束,并结束接收操作。通过异步数据流事务,图24中所示的每个包可仅被从源节点1602处传送出一次。与源节点1602逻辑连接的若干目的节点1604同时接收这些包。
在这种方法中,通过使用控制器600,在一个或多个目的节点1604和源节点1602中设置相同的信道号和连接ID,可在源节点1602和一个或更多目的节点1604之间设定逻辑连接。另外,可通过仅处于源节点1602和目的节点1604之间的事务来实现数据传输处理,而不需控制器1600的存在。
尤其是,通过将同一个信道号和连接ID通知给一个源节点1602和若干目的节点1604,可以设置比率为1∶N的逻辑连接,可使用比率为1∶1的同一序列来执行具有比率为1∶N的数据传输。
另外,甚至在存在若干目的节点1604时,不需要独立地将每个段传送到每个目的节点,因此减小了总线上的通信量。
(第三实施例)
在下文中将要说明的本发明的第三实施例中,公开了一种系统和传输协议,以便能通过使用上述异步数据流传输,将目标数据1608正确地传送给目的节点1604。由于控制器设置源节点1602和目的节点1604之间的逻辑连接的序列与第二实施例中的相同(图18和19),所以省去了对它的详细说明。
与第二实施例中的情况相似,同样在该实施例中,将说明将图22中的目标数据1608从源节点1602传送到目的节点1604的情况。
图25显示了一种格式的例子,以用于该实施例中异步数据流包中所存储的应用程序头。在以下的说明中,该头是指“普通异步数据流头”,并在下文中被称作“CAP标题”。该CAP标题是具有一个四字节单位(32比特)的可变长度数据。
在图25中,字段2501是一个EOH_n(CAP标题的尾部),它表明了具有第n个四字节的CAP标题是否是最后一个四字节。例如,“0”表明该四字节紧随另一个四字节数据;而“1”表明该四字节是CAP标题的最后一个。字段2502是一个Form_n,它表明CHF_n的结构与EOH结合在一起。字段2503是一个CHF_n(CAP标题字段),它具有依赖于Form和EOH值的结构。
在所举实施例中,如图26所示,CAP标题被存储在每个异步数据流包有效负载的第一个四字节中,其段数据被存储在第二、第三等等四字节中。在图26中,EOH_0=1,Form_0=0。
图25中所示的连接ID字段2303和控制标志字段2302与第二实施例中的相同。顺序号字段2601表明由该数据包传送的段数据的顺序号。例如,如图22所示,当传送段0时,在段号字段2601中设置“0”;然而,当传送段1时,在段号字段中设置“1”。与在第二实施例中的情况相似,将被分开的目标数据设置在分段目标数据字段2304中。
接下来,将参见图27,对依据所举实施例的数据传输进行全面说明。在图27中,如图26所示,每个段数据与CAP标题一起被设置在异步数据流包的有效负载中,并使用预定信道号将其从源节点1602传送出来。在这种情况下,由控制器1600通知的连接ID被设置在CAP标题的连接ID字段2303中,而将图27所示的值设置在控制标志字段2302和顺序号字段2601中。当传送段511(最后一个数据)时,表明“目标结束的段数据”的“01h”被设置在控制标志字段2302中。
目的节点1604接收具有控制器1600所告信道号的异步数据流包,并识别出CAP标题的内容。另外,目的节点判断该内容是否与其自身的连接ID相符。如果相符,则该内容会被连续地存储在内部缓冲器中。使用异步数据流传输,当控制标志字段2302接收具有“01h”的异步数据流包时,目的节点1604传送应答数据包,表明对该目标数据1608的接收结束了。图28显示了使用这个数据包的格式的例子。
图28是一个示意图,它显示了应答数据包数据字段1726的结构。具有一个四字节量的cap标题被设置在这个数据包内。这种情况下的信道号与源节点1602所用的信道号相同,用来传送目标数据1608,CAP标题内的连接ID也与源节点1602所用的连接ID相同,以传送目标数据1608。
表明应答种类的数据被存储在控制标志字段2302中。以下表4显示了种类的例子。当正确地接收了所有目标数据1608时,设置了表明“顺序号”的“10h”。另外,当正确地接收时,将最后一个数据的顺序号设置在顺序号字段2601中。
表4
  值   意义
  1016   接收成功
  1116   重发送请求
当源节点1602传送目标数据1608的最后一个数据时,源节点一直等待来自目的节点1604的应答。当接收到具有与传输目标数据1608所用信道号相同的信道的异步数据流包时,源节点1602检查该包内的CAP标题,并判断是否正确接收了目标数据1608,并且结束对目标数据1608的传输。
接下来,将参照图29对在进行目标数据1608的传输时,如果发生了任何错误的情况的流程进行说明。在按与第二实施例中相似的步骤设置了连接之后,源节点1602开始对目标数据1608的传输(图29中的2901)。如果出于任何原因,段n不能被目的节点1604所接收(图29中的2902),则在接收段(n+1)的时刻,目的节点1604检测出段n已经丢失(图29中的2903)。此时,目的节点1604通过使用异步数据流传输,向源节点1602发送请求重新传送段n的应答数据包(图29中的2904)。
用于这个包的格式与上述应答数据包的相同,而且这个包也是使用与源节点1602所用的信道号和连接ID相同的信道号和连接ID被传送出去的。表示“重发送请求”的“11h”被设置在CAP标题内控制标志字段2302中,并在顺序号字段内设置与收不到的段数据相应的顺序号。
当源节点1602接收其信道与传输目标数据1608所用的信道号相同的异步数据流包时,源节点1602检查该包内的CAP标题。当识别出这个包是对请求“重发送请求”的应答时,源节点1602开始对与指定顺序号相应的段数据进行重新发送(图9中的2905)。在一个序列数据传输流程中,是依据如上所述的步骤来实现传输。
接下来,将参照图30对在传输目标数据1608时,如果出现了总线复位的情况的流程进行说明。在以与第二实施例中相似的步骤设置了连接之后,源节点1602开始对目标数据的传输(图30中的3001)。如果总线复位发生在对段n的传输之后,则总线上的节点以预定步骤作用于总线的初始化以及重新创建(图30中的3002)。
当总线的重新创建结束时,通过在发生总线复位之前使用控制器1600设置的信道号和连接ID,源节点1602和目的节点1604在发生总线复位之前重启动目标数据。在这种情况下,依据发生总线复位前所发送的段数据,源节点1602重启动来自段数据的数据传输(图30中的3003)。
当在发生总线复位后所接收的段数据是这样一种数据时,其中该数据遵循了发生总线复位前所接收的段数据,这时目的节点1604继续执行接收。然而,如果在发生总线复位后所接收的段数据之前的段数据不是被正确接收的,则与图29所示的序列相似,发送一个请求重新发送的应答数据包(图30中的3004)。源节点1602从段n处开始再次发送数据。在随后的数据传输流程中,是依据上述步骤执行传输的。
在这种方法中,通过将有效负载内的标题加到段数据的信息上,可使用异步数据流传输积极地作用于数据通信,而且,甚至是在发生了错误和/或总线复位时,也可将目标数据传送到一个或更多个目的节点1604,而不丢失数据。
如上所述,在上述实施例中,逻辑连接关系并不依赖于诸如IEEE1394-1995标准中规定的等等可在总线型网络内形成的物理连接结构。
另外,依据所举实施例,在依据IEEE 1394-1995标准的通信系统中,可以提供一个新通信协议,在这种协议中,相对较大量的目标数据(例如静止图象数据、图形数据、文本数据、文件数据、程序数据或类似数据)不需要实时传送,但要求有能被分成一个或多个段数据的能力,这些段数据会被连续地顺次传出。
另外,依据所举实施例,在基于IEEE 1394-1995标准的通信系统中,可以提供一种新的通信协议,该协议通过使用用来传播数据异步传输的通信系统,从而实现若干装置之间的数据通信。
另外,依据所举实施例,不需使用基于IEEE 1394-1995标准的同步传输系统就能够积极地传送若干具有连续性的数据。另外,可通过将目标数据分成若干数据而积极地对目标数据进行传输。
另外,依据所举实施例,由于用一个连接来控制若干装置之间的通信,所以不需使用很多的通信频带就可同时实现许多通信。
最后,依据所举实施例,甚至在由于发生总线复位或通信错误而使数据传送中断时,也能了解哪个段数据丢失了,并且不需复杂的通信步骤就能重启动该传输。
(其它实施例)
在所举实施例中说明的协议以及实现协议所需的各种处理操作都可由软件来实现。
例如,依据所举实施例,可将存储了用于实现所举实施例中功能的程序代码的存储媒体提供给构成了通信协议的设备的控制单元(例如图2中的系统控制器50、打印机控制器68或MPU 12)。而且,当将控制单元设计为能读出存储在存储媒体中的程序代码,并能控制通信系统的操作或设备本身能依据所举实施例实现该功能时,就可实现这种实施例。
另外,可将存储了用于实现所举实施例中功能的程序代码的存储媒体提供给装置的1394接口14、44、62,因此,用于控制1394接口操作的控制单元(例如图8中的串行总线管理806)可以控制处理操作,以依据存储在存储媒体中的程序代码来实现所举实施例中的功能。
在这种情况下,从存储媒体中读出的程序代码本身实现了所举实施例中的功能,程序代码本身和用于向控制单元提供程序代码的装置(例如,存储媒体本身)构成了本发明。
用于存储这种程序代码的存储媒体例如可以是软盘、硬盘、光盘、磁光盘、CD-ROM、磁盘、非易失性存储器卡或ROM。
另外,必须注意,本发明包括了一种情况,即从存储媒体读出的程序代码与一个OS(操作系统)或各种应用软件一起协作,以实现所举实施例中的功能。
最后,必须注意本发明包括这样一种情况,即在将从存储媒体中读取的程序代码存入与控制单元相连的功能扩展单元的存储器中之后,功能扩展单元的控制单元依据存储在该存储器内的程序代码而执行一部分或全部的实际处理,以实现所举实施例中的功能。
本发明也可被包含在未脱离本发明基本特征的主旨的其它特定形式的实施例中。
例如,在所举实施例中,虽然所说明的是可将通信协议应用于基于IEEE1394-1995标准的网络的例子,但是本发明并不仅限于这样一种例子。可将依据所举实施例的通信协议应用于诸如是在IEEE 1394-1995标准中所规定的总线型网络,或是应用于构成总线型网络的网络。
因此,上述的实施例仅是各个方面中的几个例子,并不能构成对本发明的限制。
本发明的范围由附加的权利要求的范围决定,根本不应受限于该说明书中的几个特定的说明。另外,所有属于与该权利要求等价的修正和改变都被认为落入了本发明的范围之内。

Claims (8)

1.一种通信系统,包括:
源节点;
一个或多个目的节点;以及
控制器,用于设置所述源节点和所述一个或多个目的节点之间的逻辑连接;
其中,所述控制器通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;以及
所述源节点将要发送给所述一个或多个目的节点的数据划分为多个段数据,并使用所述第一信息和第二信息将每一个段数据发送给所述一个或多个目的节点。
2.根据权利要求1所述的通信系统,其中所述源节点使用用于重发所述段数据的第三信息发送每一个段数据。
3.根据权利要求1或2所述的通信系统,其中所述源节点和所述一个或多个目的节点包括符合IEEE1394-1995标准的数据通信单元。
4.一种用于通信系统的方法,所述通信系统包括源节点、一个或多个目的节点和控制器,所述方法包括:
设置步骤,用于设置所述源节点和所述一个或多个目的节点之间的逻辑连接;
通知步骤,用于通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;
划分步骤,用于将要发送给所述一个或多个目的节点的数据划分为多个段数据;以及
发送步骤,用于使用所述第一信息和第二信息从所述源节点向所述一个或多个目的节点发送每一个段数据。
5.根据权利要求4所述的方法,其中所述发送步骤使用用于重发所述段数据的第三信息发送每一个段数据。
6.根据权利要求4或5所述的方法,其中所述源节点和所述一个或多个目的节点包括符合IEEE1394-1995标准的数据通信单元。
7.一种控制器,包括:
控制单元,用于设置源节点和一个或多个目的节点之间的逻辑连接;以及
数据通信单元,用于通知所述源节点和所述一个或多个目的节点表示所述逻辑连接的第一信息和对于所述控制器是唯一的第二信息;
由此,所述源节点能够将要发送给所述一个或多个目的节点的数据划分为多个段数据,并使用所述第一信息和第二信息将每一个段数据发送给所述一个或多个目的节点。
8.根据权利要求7所述的控制器,其中所述数据通信单元符合IEEE1394-1995标准。
CNB99103208XA 1998-02-24 1999-02-24 数据通信系统及其方法 Expired - Fee Related CN1301471C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP4265698 1998-02-24
JP042656/98 1998-02-24
JP5726798A JPH11261608A (ja) 1998-03-09 1998-03-09 データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP057267/98 1998-03-09
JP10153426A JPH11313091A (ja) 1998-02-24 1998-06-02 データ通信システム、装置及び方法並びに記憶媒体
JP153426/98 1998-06-02

Publications (2)

Publication Number Publication Date
CN1233023A CN1233023A (zh) 1999-10-27
CN1301471C true CN1301471C (zh) 2007-02-21

Family

ID=27291297

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB99103208XA Expired - Fee Related CN1301471C (zh) 1998-02-24 1999-02-24 数据通信系统及其方法

Country Status (5)

Country Link
US (1) US7002964B1 (zh)
EP (1) EP0984600A3 (zh)
KR (1) KR100312276B1 (zh)
CN (1) CN1301471C (zh)
MY (1) MY138138A (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590133B2 (en) * 1998-02-24 2009-09-15 Canon Kabushiki Kaisha Data communication system, data communication method, and data communication apparatus
US6498793B1 (en) * 1999-03-12 2002-12-24 Hewlett-Packard Company Method for hardware-assisted automatic sorting of out-of-order packets using restricted transaction label
US7068674B1 (en) * 1999-08-23 2006-06-27 Lg Electronics Inc. Method of controlling connection between nodes in digital interface
US7301657B2 (en) * 2001-06-09 2007-11-27 Hewlett-Packard Development Company, L.P. Printer including video decoder
GB2378075A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Method and apparatus for transmitting images from head mounted imaging device.
EP1533772A3 (en) 2003-11-20 2006-07-26 Canon Kabushiki Kaisha Information processor and control method therefor
JP2005176233A (ja) * 2003-12-15 2005-06-30 Canon Inc 通信装置及び通信システム
CN100382530C (zh) * 2005-09-30 2008-04-16 华为技术有限公司 一种连接服务的实现方法
US8107492B2 (en) * 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus
JP2010109530A (ja) * 2008-10-29 2010-05-13 Sony Corp 無線通信装置および無線通信方法
US9235681B2 (en) * 2011-10-04 2016-01-12 Smith & Nephew, Inc. System and method for intersystem device exchange
US9014183B2 (en) * 2012-05-24 2015-04-21 Apple Inc. Buffer transfer service
CN113194127B (zh) * 2021-04-21 2022-08-12 统信软件技术有限公司 一种数据存储方法、数据传输方法及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682430A2 (en) * 1994-03-09 1995-11-15 Matsushita Electric Industrial Co., Ltd. Data transmission system and method
EP0766428A2 (en) * 1995-09-26 1997-04-02 Yamaha Corporation Local area network transferring data using isochronous and asynchronous channels
WO1997038513A1 (fr) * 1996-04-04 1997-10-16 Sony Corporation Controleur de communications et procede de controle des communications

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5373550A (en) * 1992-10-13 1994-12-13 At&T Corp. Transmission of check images by way of a public switched telephone network
JP3158230B2 (ja) * 1993-03-23 2001-04-23 富士通株式会社 非同期情報通信制御方法
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
JPH07250070A (ja) * 1994-03-14 1995-09-26 Matsushita Electric Ind Co Ltd データ通信装置
US5546388A (en) * 1994-03-18 1996-08-13 Lin; Feng Packet-switched facsimile network and method of operation
DE69525556T2 (de) * 1994-03-21 2002-09-12 Avid Technology Inc Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung
US5661517A (en) * 1994-05-02 1997-08-26 Messagephone, Inc. Interactive intelligent video information system
US5504757A (en) * 1994-09-27 1996-04-02 International Business Machines Corporation Method for selecting transmission speeds for transmitting data packets over a serial bus
US5793980A (en) * 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
JPH0998362A (ja) * 1995-09-29 1997-04-08 Nec Corp マルチメディア通信システム
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
JPH09282263A (ja) * 1996-04-12 1997-10-31 Sony Corp 電子機器及びその識別情報構成方法
US5883621A (en) * 1996-06-21 1999-03-16 Sony Corporation Device control with topology map in a digital network
CN1156146C (zh) * 1996-07-31 2004-06-30 富士写真胶片株式会社 打印机系统及其动作控制方法
JP3682591B2 (ja) * 1997-01-09 2005-08-10 村田機械株式会社 ファクシミリ装置
JPH10224424A (ja) * 1997-02-12 1998-08-21 Matsushita Electric Ind Co Ltd データ送信装置、データ受信装置、及び媒体
EP0859327B1 (en) * 1997-02-14 2009-07-15 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
JPH10229410A (ja) * 1997-02-14 1998-08-25 Canon Inc データ処理装置、電子機器および通信システム
JP4086360B2 (ja) * 1997-04-24 2008-05-14 キヤノン株式会社 印刷制御システム
US6104505A (en) * 1997-04-30 2000-08-15 Ricoh Company, Ltd. Method and apparatus for routing data information conveyed in a facsimile message
US6191822B1 (en) * 1997-06-20 2001-02-20 Sony Corporation Method of and apparatus for separating audio and video data from a combined audio/video stream of data
US6141702A (en) * 1997-07-30 2000-10-31 Sony Corporation Of Japan Model and command set for an AV/C-based disc media player recorder
US6133938A (en) * 1998-03-14 2000-10-17 Sony Corporation Of Japan Descriptor mechanism for assuring indivisible execution of AV/C operations
US7013339B2 (en) * 1998-07-06 2006-03-14 Sony Corporation Method to control a network device in a network comprising several devices
US6266334B1 (en) * 1998-07-20 2001-07-24 Zayante, Inc. Method for optimizing acknowledge packet rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682430A2 (en) * 1994-03-09 1995-11-15 Matsushita Electric Industrial Co., Ltd. Data transmission system and method
EP0766428A2 (en) * 1995-09-26 1997-04-02 Yamaha Corporation Local area network transferring data using isochronous and asynchronous channels
WO1997038513A1 (fr) * 1996-04-04 1997-10-16 Sony Corporation Controleur de communications et procede de controle des communications

Also Published As

Publication number Publication date
MY138138A (en) 2009-04-30
CN1233023A (zh) 1999-10-27
KR100312276B1 (ko) 2001-11-03
EP0984600A3 (en) 2009-11-11
US7002964B1 (en) 2006-02-21
EP0984600A2 (en) 2000-03-08
KR19990072864A (ko) 1999-09-27

Similar Documents

Publication Publication Date Title
CN1179280C (zh) 通信系统及其方法,发送装置及其方法
CN1184787C (zh) 数据通信系统,数据通信方法和数据通信装置
CN1301471C (zh) 数据通信系统及其方法
CN1148041C (zh) 网络控制系统及其控制器、目标及消费器
CN1144441C (zh) 移动通信系统中按照无线电链路协议发送可变长度数据的装置和方法
CN1238790C (zh) 接收并存储广播内容、响应用户请求使内容成为可利用状态的接收终端装置
CN1126343C (zh) 数据通信方法、设备和系统
CN1141842C (zh) 图象数据发送方法和装置及图象数据再生装置
CN1252646C (zh) 图像处理方法和图像处理装置
CN1287763A (zh) 网络控制系统
CN1968251A (zh) 数据通信装置
CN1592259A (zh) 网络用交换装置、路径管理服务器、网络接口装置及其控制方法
CN1707457A (zh) 数据传输方法和数据传输装置
CN1174471A (zh) 打印机系统及其动作控制方法
CN1207912C (zh) 图像记录系统
CN101068300A (zh) 图像形成装置及应用程序执行方法
CN1890624A (zh) 电子装置及其控制方法、主机装置及其控制方法
CN1132395C (zh) 数据通信系统和数据通信方法
CN1416276A (zh) 中间数据接收装置、方法、程序和记录媒体以及发送装置、传输方法
CN1184786C (zh) 数据通信系统、方法、装置和数字接口
CN1701314A (zh) 内容提供系统、信息处理装置和方法、输出装置和方法、以及用于其的计算机程序
CN1957601A (zh) 信息信号处理设备、功能块控制方法和功能块
CN1178444C (zh) 控制器设备、通讯系统和控制方法
CN1119001C (zh) 数据发送装置及其方法
CN1161940C (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070221

Termination date: 20160224