CN1132395C - 数据通信***和数据通信方法 - Google Patents
数据通信***和数据通信方法 Download PDFInfo
- Publication number
- CN1132395C CN1132395C CN99107676A CN99107676A CN1132395C CN 1132395 C CN1132395 C CN 1132395C CN 99107676 A CN99107676 A CN 99107676A CN 99107676 A CN99107676 A CN 99107676A CN 1132395 C CN1132395 C CN 1132395C
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- field
- node
- controller
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种通信***和通信协议,其中在源节点与一个或多个目的节点之间设置逻辑连接关系,并且利用此逻辑连接关系传送目标数据。还有,本发明提供一技术,其中在多个通信协议可用于这样的通信***中的每个节点时,可用的通信协议能自动地进行鉴别并能正确地进行使用。利用这种安排,甚至在有多个不同的通信协议时,也能相应地选择可用的通信协议而不显著地减少整个***的可操作性。
Description
本发明涉及数据通信***,数据通信方法和数据通信设备,并且更具体地涉及在混合信息数据(包括图象数据)与命令数据的同时以高速实施通信的网络和可应用于这样的网络的通信协议。
过去,在用于个人计算机(下面称之为“PC”)的***设备之中,最广泛使用硬盘和打印机,这样的的***设备通过诸如专用I/O接口或SCSI(小型计算机***接口)的多用途数字接口连到PC。
另一方面,近来,诸如数字照相机、数字摄像机等的AV(音频/视频)设备也作为PC的***设备而备受注目,这样的AV(音频/视频)设备也通过专用接口连到PC。
然而,在常规的通信***中,***设备的数字接口与AV设备的数字接口没有互换性,以致这些数字接口不能直接互连。因而,例如,在希望传送静止图象时,此数据必须无故障地通过PC。
还有,在常规的专用接口和/或SCSI接口中,尤其在处理诸如AV设备的运动图象或静止图象的大容量数据时,会出现下面各种问题,如数据传送速率变低,并行通信要求粗的通信的电缆、能连接的***设备的数量和类型受到限制、连接***受到限制并且不能实现实时数据传送。
IEEE(电气和电子工程师协会)1394-1995标准以解决上述问题的下一代高速与高性能数字接口之一而著称。
根据IEEE1394-1995标准的数字接口(下面称为“1394接口”)具有以下特性:
(1)数据传送速率快。
(2)能支持实时数据传送***(即,同步传送***)和异步传送***。
(3)能建造具有高自由度的连接结构(拓扑)。
(4)能支持即插即用功能和热线***/拔出功率。
然而,在IEEE1394-1995标准中,虽然定义了连接器和两个基本数据传送***的物理与电结构,但没有有关如何根据哪种类型的通信协议通过哪种类型的数据格式发送和接收哪种类型数据的定义。
而且,在基于IEEE 1394-1995标准的同步传送***中,由于未规定对输出数据分组的响应,所以不能保征能否确实收到每个同步数据分组。因此,在希望确定传送连续多个数据时或在希望在将一个文件数据分成多个数据的同时确实传送一个文件数据时,不能使用同步传送***
还有,在基于IEEE1394-1995标准的同步传送***中,即使在传送频带中有空余时,传输的总量也限制为64。因而,在希望利用较小的传送频带实施许多传输时,不能使用同步传送***。
另外,在IEEE1394-1995标准中,如果生成总线复位以响应节点电源的通/断或节点的连接/断开,必须中断数据传送。然而,在IEEE1394-1995标准中,如果数据传送由于总线复位或传输中的差错而被中断,就不能知道丢失了哪类数据内容。还有,为了恢复中断的传送,要求非常复杂的传输顺序。还有,总线复位指自动实施新拓扑的识别和分配给每个节点的地址(节点ID)的设置的功能。在IEEE1394-1995标准中,这个功能能提供即插即用功能和热线***/拔出功能。
还有,在根据IEEE1394-1995标准的通信***中,其中具有相对大数据量并要求可靠性的目标数据(例如,静止图象、图形数据、文本数据、文件数据、程序数据等)(虽然不要求实时能力)在将这样的数据分为一个或多个分段数据的同时连续进行传送的通信协议也未具体建议。
特别地,在根据IEEE1394-1995标准的通信***中,也未具体建议利用广播异步传送的数据的通信***获得多个设备之间数据传输的通信协议。
还有,在建议多个这样的协议时,希望自动鉴别和正确使用接收协议。然而,也未具体建议正确使用多个不同通信协议的方法。
本发明的一个目的是解决上述问题。
本发明的另一目的是提供能在数据通信***、数据通信方法和数据通信设备中稳定地传送不要求实时能力的目标数据的技术。
而且,本发明的另一目的是提供即使在多个不同的通信协议存在于数据通信***、数据通信方法和数据信***中时也能选择可用的通信协议的技术。
作为实现这些目的的优选实施例,本发明公开一种通信***,包括:一个控制器;一或多个目的节点;以及一个源节点,用于利用由所述控制器所选定的一个通信协议和由所述控制器所设定的一个逻辑连接,而把从一个目标数据获得的数据相继且异步地传送到该目的节点,其中所述控制器用于从该源节点的一个第一寄存器获得有关该源节点的通信能力的信息、从所述目的节点的一个第一寄存器获得有关所述目的节点的通信能力的信息、利用从所述源节点和所述目的节点获得的信息选择一种通信协议、设定所述源节点与所述目的节点之间的一个逻辑连接、把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述源节点的一个第二寄存器中、并把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述目的节点的一个第二寄存器中。
作为另一个实施例,本发明公开一种通信方法,该方法被用在一种通信***中,该通信***包括一个控制器、一或多个目的节点和一个源节点,其中该源节点用于利用由所述控制器所选定的一个通信协议和由所述控制器所设定的一个逻辑连接而把从一个目标数据获得的数据相继且异步地传送到该目的节点,该方法包括以下步骤:从该源节点的一个第一寄存器获得有关该源节点的通信能力的信息;从所述目的节点的一个第一寄存器获得有关所述目的节点的通信能力的信息;利用从所述源节点和所述目的节点获得的信息选择一个第一或第二通信协议;设定所述源节点与所述目的节点之间的一个逻辑连接;把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述源节点的一个第二寄存器中;以及把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述目的节点的一个第二寄存器中。
本发明的其他目的及其优点从下面实施例的详细描述中将变得更加显而易见。
图1是表示根据本发明优选实施例的通信***的方框图;
图2是用于解释根据本发明的优选实施例的1394接口的示意图;
图3是用于解释根据本发明优选实施例的第一与第二通信协议的基础结构的概念图;
图4A与4B是用于解释每个节点的地址空间的示意图;
图5A与5B是用于解释根据本发明优选实施例的源节点的输出寄存器(oMCR与oCCR)的图;
图6A与6B是用于解释根据本发明优选实施例的目的节点的输入寄存器(iMCR与iCCR)的示意图;
图7是表示用于读出图2的oMCR与图3的iMCR的内容的命令的示意图;
图8是表示用于在图2的oCCR与图3的iCCR中写入预定值的命令的示意图;
图9是用于解释直至设置源节点与目的节点之间使用的通信协议的程序的顺序图;
图10A、10B与10C是用于解释根据本发明优选实施例的第一通信协议的顺序图;
图11是用于解释利用第一通信协议传送目标数据的程序图;
图12A与12B是用于表示在第一通信协议中使用的数据分组的示意图;和
图13是用于解释根据本发明优选实施例的第二通信协议的顺序示意图。
下面结合附图详细描述本发明的优选实施例。
图1是表示根据本发明一个实施例的数据通信***结构示例的示意图。如图1所示,根据此实施例的数据通信***由计算机10、摄录一体式数字录像机28和打印机60构成。
首先将描述计算机10的结构,计算机10包括:用于控制计算机10的操作的计算处理单元(MPU)12;具有基于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,用于暂时存储经高效编码的数字图象数据;存储器40,用于暂时存储未经高效编码的数字图象数据;数据选择器42;1394接口44,具有根据IEEE1394-1995标准的功能和本实施例中规定的通信协议的功能;存储器控制单元46、48,用于控制存储器38、40的写与读;控制单元(***控制器)50,适于控制DVCR28的操作并且具有一个微型计算机;操作单元52,由遥控器和操作面板组成;电子取景器(EVF)54;D/A变换器56;和记录/再生单元58,由诸如磁带、磁盘、光磁盘等的记录介质组成并适于记录与再生各种数据(运动图象数据、静止图象数据、话音数据等)。
接下来描述打印机60的结构。此打印机包括:1394接口62,具有根据IEEE1394-1995标准的功能和本实施例中规定的通信协议的功能;数据选择器64;操作单元66,由操作接钮和触摸屏组成;打印机控制器68,用于控制打印机60的操作;解码器70;内存储器72;图象处理单元74,用于处理通过1394接口接收的静止图象数据、文本数据、图形数据等;驱动器76和打印头78。
如图1所示,诸如计算机10、DVCR28和打印机60的各种通信设备(下面称为“节点“)通过1394接口14、44、62互相连接(下面,由1394接口构成的网络称为“1394串行总线“)。在各个节点中,通过定义预定的通信协议,能发送和接收各种目标数据(例如,运动图象数据、静止图象数据、话音数据、图形数据、文本数据、程序数据等),并根据命令数据进行遥控。
接下来,将结合图1解释根据所示实施例构成此通信***的各个节点的操作。
首先,将描述构成计算机10的各个处理单元的功能和操作。
在图示实施例中,计算机10用作比方说控制DVCR28与打印机60之间的图象数据的发送与接收或者遥控DVCR28与打印机60的计算机。
MPU12用于执行记录在硬盘22中的软件并用于将各个数据移到内存储器24。而且,MPU12也用于调整通过内部总线26连到MPU的各个处理单元。
1394接口14用于接收在1394串行总线上传送的图象数据,并用于将存储在硬盘22或内存储器24中的图象数据发送给1394串行总线。而且,1394接口14还用于发送用来遥控1394串行总线上其他节点的命令数据。另外,1394接口14具有将经13194串行总线传送的信号传送给其他节点的功能。
用户或操作者能通过操作单元16选择所需的软件,并使MPU12执行存储在硬盘22中的软件。有关此软件的信息通过显示单元20显示给用户。解码器18用于根据此软件对从1394串行总线中接收的图象数据进行解码,经解码的图象数据通过显示单元20显示给用户。
接下来,将描述构成DVCR28的各种处理单元的功能和操作。
在所示实施例中,DVCR28比方说作为图象发送装置(源节点),根据所示实施例的通信协议以异步传送方式传送图象数据。
成像(图象拾取)单元30用于将目标的光学图象变换为由亮度信号(Y)与色差信号(C)组成的电信号,并将此电信号提供给A/D变换器32。A/D变换器32使该电信号数字化。
图象处理单元34根据经数字化的亮度信号和色差信号进行预定的图象处理并使这些信号多路复合。压缩/扩展处理单元36可以利用独立的压缩处理电路并行处理亮度信号和色差信号。还有,也利用公用压缩处理电路以分时方式处理这些信号。
而且,在压缩/扩展处理单元36中,为了增加对传输路径差错的抵抗力,对压缩的图象数据进行置乱处理。结果,连续的编码错误(即,突发差错)能变换为易于校正或内插的分散差错(即,随机差错)。当希望偏移由于图象均匀中的粗糙度/密度引起的信息量时,在压缩处理之前执行这个处理,这在使用诸如流程长度的可变长度编码时特别有益。
在压缩/扩展处理单元36中,用于恢复置乱的数据鉴别信息(ID)加到压缩的图象数据上。而且,压缩/扩展处理单元36还给经压缩的图象数据加上纠错码(ECC),以减少记录/再生时的差错
经压缩/扩展处理单元36中压缩的图象数据提供给存储器38和记录器/再生器单元58。记录器/再生器单元58用于在诸如磁带等记录介质上记录加有诸如ID或ECC的压缩图象数据。经压缩的图象数据在不同于话音数据的独立的记录区域上进行记录。
另一方面,从图象处理单元34提供给D/A变换器56的图象数据进行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的定位。
接下来,将结合图2充分解释根据所示实施例的1394接口14、44、62的结构。
1394接口在功能上由多个层构成。在图2中,1394接口通过基于IEEE1394-1995标准的通信电缆201连到其他节点的1394接口。还有,1394接口具有一个或多个通信端口202,并且每个通信端口连接到包含在硬件部分中的物理层203。
在图2中,硬件部分包括物理层203和链路层204。物理层203用作与其他节点的物理与电气接口,并用于检测总线复位及其处理、编码/解码输入与输出信号和调整总线使用权。链路层204用于实施例通信分组的形成、各种通信分组的发送与接收和循环计时器的控制。而链路层204则提供用于执行在下面将描述的第二通信协议中使用的数据分组的形成与发送/接收的功能。
在图2中,固件部分包括事务处理层205和串行总线管理206。事务处理层205控制异步传送***并提供各种事务处理(读、写和锁定)。还有,事务处理层205提供下面将描述的第一与第二通信协议的功能。串行总线管理206根据下面将描述的IEEE1212 CSR标准提供实施其节点的控制、其节点连接条件的管理、其节点的ID信息管理、串行总线网络的资源管理的功能。
图2所示的硬件部分和固件部分基本上构成了1394接口,并且其基本结构规定在IEEE1394-1995标准中。
包含在软件部分中的应用层207根据所使用的应用软件相互不同,它控制如何利用第一与第二通信协议传送哪类目标数据。
第一与第二通信协议(下面将描述的)用于扩展构成1394接口的硬件部分与固件部分的功能,并提供新的传送序列给软件部分。
接下来,将结合图3描述根据所示实施例的第一与第二通信协议的基本结构。
在图3中,标号300表示控制器;302表示源节点;304表示n(n≥1)(数字)个目的节点;306表示源节点的子单元;308表示诸如运动图象数据、静止图象数据、图形数据、文本数据、文件数据、程序数据等的目标数据。
标号310表示目的节点304中的第一存储空间并利用预定的目的偏移(#0)来表示;312表示代表源节点302与目的节点304之间逻辑关系(即,连接)的第一连接。目的偏移表示用于通常指示N(数字)个目的节点304的存储空间的地址。
标号314表示目的节点304中第n个存储空间并利用预定的目的偏移(#n)来表示;316表示代表源节点302与目的节点304之间逻辑连接关系(即,连接)的第n个连接。
在所示的实施例中,每个节点根据基于IEEE 1212 CSR(控制与状态寄存器构造)标准(或ISO/IEC 13213:1994标准)的64比特地址空间控制或操纵第一存储空间310至第n存储空间314。IEEE 1212 CSR标准是用于规定串行总线的控制、管理和地址分配的标准。
图4A与4B是用于解释每个节点地址空间的示意图。图4A表示用于寻址每个节点的地址空间的64比特的地址空间,此64比特地址的高16比特用于指示某一总线中的某个节点。图4B表示图4A所示的、并且是(比方说)用于指示由高16比特表示的节点的某个地址空间的地址空间部分。图3所示的第一存储空间310至第n存储空间314利用图4B所示的48比特地址(下面称为“目的偏移“)表示。在图4B中,例如,00000000000016至0000000003FF16是备用区域,而实际写入目标数据308的区域是地址的低48比特变为FFFFF000040016的区域,等等。
在图3中,源节点302表示具有根据第一或第二通信协议传送目标数据308的功能的节点,而目的节点304表示具有接收从源节点302传送的目标数据308的功能的节点。还有,控制器300表示具有设置与管理源节点302与一个或多个目的节点304之间连接(即,逻辑连接关系)的功能并具有选择在这样的连接中使用的通信协议的功能的节点。
控制器300、源节点302与目的节点304可以在独立节点中操作。作为另一种方案,也可以在单个相同节点中操作控制器300和源节点302。还有,可以在单个相同节点中操作控制器300和目的节点。在这种情况中,就能忽略控制器300与源节点302或目的节点304之间的事务处理,从而简化通信序列。
下面将解释在所示的实施例中独立节点中操作控制器300、源节点和目的节点304的情况。举例来说,具有1394接口14的计算机10用作控制器300,具有1394接口14的DVCR28用作源节点302,而且1394接口14的打印机60当作目的节点304。
在所示的实施例中,如图3所示,能在源节点302与一个或多个目的节点304之间设置一个或多个连接。当要求传送某个目标数据时,由控制器300根据下面将要描述的源节点302的输出寄存器(图5A与5B)与目的节点304的输入寄存器(图6A与6B)设置每个连接。
还有,在所示的实施例中,作为控制器300的计算机10可以作为目的节点304来操作。在这种情况中,在一个源节点302与两个目的节点304之间设置连接来传送目标数据308。
还有,在所示的实施例中,虽然解释了计算机10作为控制器300操作的示例,但计算机10不一定用作控制器300,DVCR28或打印机60可以作为控制器300来操作。
接下来,将结合图5A、5B、6A与6B解释根据所示实施例的源节点302的寄存器空间和目的节点304的寄存器空间。图5A与5B是解释源节点302的输出寄存器结构的示意图。图6A与6B是解释目的节点304的输入寄存器结构的示意图。
每个寄存器空间都预先设置在图4A与4B所示的地址空间上的预定区域中,并且在控制器300设置源节点302与目的节点304之间的连接时,选择第一或第二通信协议分配给此连接。
图5A表示输出主连接寄存器(下面称为“oMCR”)。oMCR主要是描述源节点302的通信能力的寄存器空间(或存储空间)。
OMCR的最高字段501(2比特)是表示源节点302的最大输出比特率的最大数据速率字段。在此最大数据速率字段中设置的值的一个示例表示在下面的表1中。
下一字段502(1比特)是表示是否能使用根据所示实施例的第一通信协议(即,使用广播发送的协议)的流量控制标志。例如,在此字段的值为“1”时,表示能使用第一通信协议。如果此值为“0”,则表示能使用第二通信协议。下一字段503(5比特)是为将来准备的备用字段。
表1
最大数据速率 | 最大比特率 |
002 | 100Mbps |
012 | 200Mbps |
102 | 400Mbps |
112 | 备用 |
下一字段504(6比特)是在将来扩展输出FIFO大小字段(下面所述的)时使用的扩充字段。下一字段505(10比特)是表示用于输出数据的输入前/先输出缓冲存储器(下面称为“FIFO存储器“)存储容量的输出FIFO大小字段。
下一字段506(3比特)是为将来准备的备用字段。最低字段507(5比特)是表示输出连接控制寄存器(图5B)(下面描述)数量,即表示能在源节点302中设置的连接数量的CCR数量的字段。
图5B表示输出连接控制寄存器(下面称为“oCCR“)。oCCR是描述源节点302中设置的一个连接的寄存器空间(或存储空间)。源节点302可以具有单个oCCR或多个oCCR。
在oCCR中,最高字段510(2比特)是表示在oCCR中设置的连接中使用的输出比特率的数据速率字段,此数据速率字段中设置的值的一个示例表示在下面的“表2”中。表2
数据速率 | 比特率 |
002 | 100Mbps |
012 | 200Mbps |
102 | 400Mbps |
112 | 备用 |
下一字段511(1比特)是表示在oCCR设置的连接中使用哪个通信协议的广播标志字段。例如,当此广播标志字段的值为“1“时,表示使用第一通信协议。
下一字段512(1比特)是表示是否使用oCCR的联机字段。当此联机字段值为“1”时,表示使用oCCR。
下一字段513(18比特)是为将来准备的备用字段。下一字段514(10比特)是表示一个数据传送所传送的数据分组的数据量的有效负载大小字段。数据量表示数据分组的有效负载大小并且不包括诸如包标题的附加数据。
下一字段515(16比特)是连接ID字段,在此字段中用于鉴别连接的鉴别信息(即连接ID)设置在oCCR中。最后的字段516(48比特)是表示在目的节点304中保留的预定存储空间的顶部地址的偏移地址字段。
图6A表示输入主连接寄存器(下面称为“iMCR“)。iMCR主要是描述目的节点304的通信能力的寄存器空间(或存储空间)。
iMCR的最高字段601(2比特)是表示目的节点304的最大比特率的最大数据速率字段。在此最大数据速率中设置的值可以例如是上面表1中所示的值。
下一字段602(1比特)是表示是否能使用第一通信协议(即,根据所示实施例使用广播发送的协议)的流量控制标志字段。例如,当此字段值为“1”时,表示能使用第一通信协议。如果此值为“0”,表示能使用第二通信协议。下一字段603(5比特)是为将来准备的保留字段。
下一字段604(6比特)是在将来扩展最大接收缓冲区大小字段(如下面所述的)时所使用的扩充字段。下一字段605(10比特)是表示用于输入数据的接收缓冲区的最大容量的最大接收缓冲区大小字段,此最大接收缓冲区大小字段表示一个数据段的最大数据量。
下一字段606(3比特)是为将来准备的备用字段。最低字段607(5比特)是表示输入连接控制寄存器(图6B)(下面描述的)的数量,即表示能在目的节点304中设置的连接数量的CCR数量的字段。
图6B表示输入连接控制寄存器(下面称为“iCCR”)。iCCR是描述目的节点304中设置的一个连接的寄存器空间(或存储空间),此目的节点304可以仅具有一个iCCR或可以具有多个iCCR。
在iCCR中,最高字段610(2比特)是表示在iCCR中设置的连接中使用的输入比特率的数据速率字段,在此数据速率字段中设置的值例如可以是上面表2中的值。
下一字段611(1比特)是表示在iCCR中设置的连接中使用哪个通信协议的广播标志字段。当此广播标志字段值为“1”时,表示例如使用第一通信协议。
下一字段612(1比特)是表示是否使用iCCR的联机字段。当此联机字段值为“1”时,表示使用iCCR。下一字段613(18比特)是为将来准备的备用字段。
下一字段614(10比特)是表示目的节点304中保留在存储空间大小,即表示一个数据段的数据量的接收缓冲区大小字段。
下一字段615(16比特)是连接ID字段,在此字段中用于鉴别连接的鉴别信息(即连接ID)设置在iCCR中。
最后一个字段616(48比特)是表示在目的节点304中保留的预定存储空间的顶部地址的偏移地址字段。
接下来,将解释用于读出图5A、5B、6A与6B所示的寄存器内容的命令和用于在寄存器中写入预定值的命令。
每个命令根据IEEE1394-1995标准分组为异步包并传送给指定节点。如图7所示,异步分组是以1个4字节数据(4字节=32比特,下文中亦是)为单位的数据分组。
根据所示实施例的控制器300能利用图7所示的READ MCR状态命令读出图5A所示的oMCR中的值和图6A所示的iMCR中的值。
在图7中,字段701(16比特)是用于指定接收者节点ID的目的的ID字段。字段702(6比特)是用于指定每个事务处理固有的标记的事务处理层(t1)字段。
字段703(2比特)是用于指定此分组是否进行重试的重试(rt)码。字段704(4比特)是事务码(tcode),此tcode指定分组格式和必须执行的事务处理类型。在所示实施例中,例如,选择此字段值为“00012”,并请求用于将此分组的数据字段写入目的偏移字段707的存储空间中的处理(即,写事务处理)。还有,在此值选为“00052”时,请求读处理(即,读事务处理)。
字段705(4比特)表示优先级(pri)并指定优先顺序。在所示实施例中,此字段值选为“00002”。字段706(16比特)是用于指定接收者节点ID的源ID字段。
字段707(48比特)是用于表示由目的ID字段701指定的节点的地址空间的目的偏移字段。字段708(16比特)是用于表示以字节为单位的数据字段长度(如下所述的)的数据长度字段。
字段709(16比特)是扩展的tcode字段。在所示实施例中,此字段值选为“00002”。字段710(32比特)是用于检测字段701-709中差错的检错码存储于其中的标题CRC字段。
接下来,将解释数据字段的结构。在所示实施例中,如果存储在数据字段中的数据量未达到“4字节数据”的倍数,则加上“0”,直至获得“4字节数据”的倍数。
字段711(4比特)是公用/事务处理设置(CTS)字段。在所示实施例中,由于使用由AV/C数字接口命令设置一般规范标准(下面称为“AV/C命令标准”)定义的CTS,所以在此字段中设置值“016”。
字段712(4比特)是用于指定各种命令以及对这样命令的响应的ctype(类型)响应字段。例如,在指定状态命令时,在此字段中设置值“116”。当指定相应于此状态命令响应(即,状态响应)时,在此字段中设置值“C16”。
字段713(5比特)是用于指定某个节点的虚函数单元(即,子单元)的子单元类型字段。此“子单元”定义在AV/C命令标准中,并且(比方说)包括VTR子单元、打印机子单元等。
字段714(3比特)是子单元ID字段。如果由子单元类型字段713指定的函数单元大于1(一),此字段指定用于鉴别这样的函数单元的ID号数。
字段715(8比特)是用于指定命令类型的opcode字段。当指定根据所示实施例READ MCR命令时,例如在此字段中设置值“0616”。
字段716(8比特)至719(8比特)是操作数[0]至操作数[3]字段,其内容根据ctype/响应字段712与opcode字段715的内容而有所不同。例如,在READMCR状态命令的情况中,在每个字段中设置值“FF16”。另一方面,在READ MCR状态响应的情况中,设置图5A的OMCR的值或图6B的iMCR的值。
在字段720(8比特)中设置值“0”。字段721(32比特)是其中存储用于检测字段711中差错的检错码的数据CRC字段,如在标题CRC字段中一样。
根据所示实施例的控制器300能利用图8所示的SET CCR控制命令将预定值写入图5B的oCCR或图6B的iCCR。
在图8中,包括在分组标题中的字段701至710类似于图7构成。下面将描述SET CCR控制命令的数据字段结构。
字段801(4比特)是其中设置值“016”的CTS字段,如在READ MCR状态命令中一样。
字段802(4比特)是用于指定各种命令和对这些命令的响应的ctype/响应字段。例如,在指定控制命令时,在此字段中设置值“016”。当返回表示此控制命令接收的响应时,在此字段中设置表示ACCEPIED(已接受)响应的值“916”。另一方面,在返回表示未收到控制命令情况的响应时,在此字段中设置表示REJECTED(已拒绝)响应的值“A16”。
字段803(5比特)是用于指定预定子单元的子单元类型字段,如在图7的READ MCR状态命令中一样。字段804(3比特)是用于指定用于鉴别预定子单元的ID号的子单元ID字段。
字段805(8比特)是用于指定命令的opcode字段。当指定根据所示实施例的SETCCR命令时,例如在此字段中设置值“0716”。
字段806(2比特)是用于表示在所需oCCR(或iCCR)中设置的连接所使用的输入比特率的数据速率字段。在此数据速率字段中设置的值例如与上面表2中所示的值相同。
字段807(1比特)是包括用于指示在所需oCCR(或iCCR)中设置的连接使用哪个通信协议的标志的广播标志字段。在此广播标志字段是“1”时,例如,设置第一通信协议。
字段808(1比特)是联机字段,在此字段中设置值“1”以请求所需的OCCR(或iCCR)的使用。如果所需oCCR(或iCCR)的联机字段512(或612)是“1”时,由于已使用oCCR(或iCCR),所以接收SETCCR控制命令的节点返回REJECTED响应。
例如,在字段809(4比特)中设置固定值“F16”,例如在字段810(8比特)中设置固定值“FF16”,例如在字段811(6比特)中设置固定值“3F16”。
字段812(8比特)在设置oCCR时变为有效负载大小字段并在设置iCCR时变为接收缓冲区字段。在有效负载大小字段中设置能由一个数据分组传送的数据量。还有,在接收缓冲区字段中设置一个数据段的数据量。
字段813(8比特)是用于指定图5A与6B所示的连接ID字段的高8比特的字段,而字段814(8比特)是用于指定连接ID字段的低8比特的字段。控制器300能利用这两个字段在所需的oCCR(或iCCR)中设置所需的连接ID。
字段815(48比特)是用于设置在目的节点304中保留的预定存储空间的顶部地址的偏移地址字段。字段816(8比特)是CCR数量字段,在此字段中存储用于在一个或多个oCCR(或iCCR)之中指定所需的oCCR(或iCCR)的数量。
字段817(32比特)是用于存储检测字段801至816中差错的检错码的数据CRC字段。
接下来,将结合图9描述一直至控制器300设置在源节点302与目的节点304之间使用的通信协议的程序。在图9中,控制器300、源节点302和目的节点304进行协商(如下面所述),以设置要使用的通信协议。
首先,控制器300发送图7所示的READ MCR状态命令分组给源节点302(901),源节点302返回其中存储源节点的oMCR的字段501-507值的响应分组给控制器300(901)。
然后,控制器300发送图7所示的READ MCR状态命令分组给目的节点304(902),目的节点304返回其中存储目的节点的iMCR的字段601至607值的响应分组给控制器300(902)。
利用上面的操作,读出源节点302的oMCR与目的节点304的iMCR的控制器300从每个寄存器的内容中判断每个节点的主要通信能力,并选择可用的通信协议。
例如,如果oMCR的流量控制标志502与iMCR的流量控制标志602都是“1”,控制器300判定:源节点302与目的节点304能够对应下面将描述的第一通信协议(即,进行广播数据传送的协议)。在这种情况中,控制器300选择第一通信协议的使用。
在选择第一通信协议之后,控制器300产生图8所示的SET CCR控制命令,以便设置源节点302与目的节点304之间的逻辑连接关系。
在用于设置源节点302的oCCR(或目的节点304的iCCR)的SET CCR控制命令中,控制器300分别在广播标志字段807中设置值“1”,在联机字段808中设置值“1”,在连接ID字段812、813中设置控制器300管理的可用连接ID,在偏移地址字段中设置目的节点304的可用目的偏移,并在CCR数量字段815中设置指定未使用的oCCR(或iCCR)的CCR数量。
还有,如果oMCR的流量控制标志502与iMCR的流量控制标志602之中任一个或两个标志都为“0”,控制器300判断:源节点302与目的节点304不能对应下面将描述的第一通信协议(即,实施广播数据传送的协议)。在这种情况中,控制器300选择下面将描述的第二通信协议使用。
在选择第二通信协议之后,控制器300产生图8所示的SET CCR控制命令,以便设置源节点302与目的节点304之间的逻辑连接关系。
在用于设置源节点302的oCCR的SET CCR控制命令中,控制器300分别在广播标志字段807中设置值“0”,在联机字段808中设置值“1”,并在有效负载大小字段811中设置能由单个数据分组传送的数据量。
还有,在用于设置目的节点304的iCCR的SET CCR控制命令中,控制器300在接收缓冲区大小字段811中设置一个数据段的数据量。
而且,在用于设置oCCR(或iCCR)的SET CCR控制命令中,控制器300在偏移地址字段814中设置目的节点304的可用目的偏移,并在CCR数量字段815中设置用于指定未用的oCCR(或iCCR)的CCR数量。
在所示实施例中,由控制器300在接收缓冲区大小字段中设置的值是在有效负载大小字段中设置的值的整数倍。利用这个安排,能改善数据传送效率。
然后,控制器300发送上述的SET CCR控制命令给源节点302以便设置oCCR(903),此SET CCR控制命令包括表示由控制器300选择的通信协议的值和此通信协议所要求的值。如果源节点302的条件能对应SET CCR控制命令,源节点302返回ACCEPTED(已接受)响应给控制器300(903)。此后,源节点302根据所选的通信协议开始数据传送。
另一方面,如果源节点302的条件不能对应SET CCR控制命令,源节点302返回REJECTED(已拒绝)响应给控制器300。在这种情况中,不开始数据传送,释放逻辑连接,并且节点再次从初始开始协商。
然后,控制器300发送上述的SET CCR控制命令给目的节点304以便设置iCCR(904),此SET CCR控制命令包括表示由控制器300选择的通信协议的值和此通信协议所要求的值。
如果目的节点304的条件能对应SET CCR控制命令,目的节点304返回ACCEPTED响应给控制器300(904)。此后,目的节点304根据所选的通信协议开始数据传送。
另一方面,如果目的节点3304的条件不能对应SET CCR控制命令,目的节点304返回REJECTED响应给控制器3300,在这种情况中,不开始数据传送,释放逻辑连接,并且节点再次从初始开始协商。
通过具有上述程序的协商,控制器300能设置源节点302与目的节点304之间的连接和在此连接中使用的通信协议。还有,在图9中,虽然解释了使用一个目的节点304的示例,但在有多个目的节点时,可以对每个目的节点执行上述处理。在这种情况中,控制器300根据所讨论的所有节点的通信能力选择可用的通信协议。
接下来,将解释根据所示实施例的基于第一通信协议的数据传送。
第一通信协议利用广播通信来实现多播通信。
在第一通信协议中,一个目标数据划分为一个或多个数据段,并且每个数据段组合为一个或多个“异步广播分组”,并且利用“异步广播事务处理”来广播传送每个异步广播分组。这里,异步广播分组和异步广播事务处理根据所示实施例是在第一通信协议中定义的新的分组格式和传送方法。
现在,将结合图10A与10C全面描述基于第一通信协议的传送程序。图10A是用于解释一个源节点与一个目的节点之间传送程序或顺序的顺序图,而图10C是用于解释一个源节点与三个目的节点之间传送程序或顺序的顺序图。
在完成上述协商之后,控制器300请求源节点302开始目标数据308的传送(图10A与10C中的1001)。
在收到用于传送初始化的请求之后,源节点3302利用异步广播事务处理传送发送请求分组给一个或多个目的节点304(图10A与10C的1002)。由控制器3300设置的连接ID存储在发送请求分组中。
收到发送请求分组的目的节点304将发送请求分组的连接ID与在协商期间在iCCR中设置的连接ID进行比较。如二者相互一致,则目的节点304接收此发送请求分组,并利用异步广播事务处理传送对应于此的确认分组(图10A与10C中的1003)。能在目的节点304中保留的内部缓冲区大小存储在确认响应分组中。
在收到确认响应分组之后,源节点302执行异步广事务处理以便顺序广播一个或多个分段的目标数据308(图10与10C中的1004至1007)。
现在,将描述目标数据308传送程序的示例,在图11中,目标数据308例如是具有128K字节数据大小的静止图象数据。
源节点302根据利用发送请求分组识别的每个目的节点304的接收容量将目标数据308划分为一个或多个数据段。由源节点302根据每个目的节点304的内部缓冲区大小可变地设置一个数据段的数据大小。例如,如图11所示,如果具有与目标数据308的大小相同的内部缓冲区大小能保留在每个目的节点304中,源节点302将目标数据308划分为一个数据段。
然后,源节点302将每个数据段划分为一个或多个分段数据。图11表示一个数据段分为500个分段数据(一个分段数据=256字节)的一个示例。
源节点302利用至少一个异步广播事务处理顺序广播这个数据段。图11表示利用一个异步广播事务处理传送一个分段数据的示例。
在传送一个数据段的所有分段数据之后,如果有下一个数据段,则源节点302准备下一个数据段的传送;而如果没有下一个数据段,终止至目的节点304的通信(图10A与10C中的1008、1009)。
接下来,将结合图10A与10C全面描述控制器300的操作。
控制器300以异步方式传送事务处理命令分组给源节点302(图10A与10C中的1001)。
收到事务处理命令分组的源节点302利用控制器300所通知的连接ID进行初始设置(图10A与10C中的1002、1003)并执行异步广播事务处理(图10A与10C中的1004-1007)。利用这个异步广播事务处理,源节点302能顺序传送目标数据308的一个或多个数据段。
还有,在根据所示实施例的第一通信协议中,控制器300提供控制连接的设置/释放的功能。因此,在连接设置之后的目标数据308的传送利用源节点302与目的节点304之间的协商来完成。
在完成一系列的异步广播事务处理之后,源节点广播表示数据段结束的异步广播分组(下面称为“数据段结束分组”)(图10A与10C中的1008)。
在从源节点302收到数据段结束分组之后,控制器300释放连接以便终止数据传送。
由于广播数据段结束分组,也能在目的节点304中检测此分组的内容。因此,替代控制器300,目的节点304能构造为由此目的节点自己释放至源节点302的连接。
接下来,将结合图10A与10C全面描述源节点302的操作。
从控制器300收到事务处理命令分组的源节点302发送上述发送请求分组给每个目的节点304(图10A与10C中的1002)。
此发送请求分组是用于在开始目标数据308的异步广播事务处理之前获得所要求的初始信息的包。由控制器300指定的连接ID写在此包中。
目的节点304广播是此发送请求包响应的确认响应分组(图10A与10C中的1003)。与此发送请求分组相同的连接ID存储在此确认响应分组中。因此,源节点302能通过确定接收分组的连接ID来鉴别利用哪种类型的连接传送此确认响应分组。
在目的节点304中保留的内部缓冲区大小存储在此确认响应分组中。在收到该确认响应分组之后,源节点302利用通常指定目的节点304的存储空间的目的偏移开始异步广播事务处理。目的偏移是由控制器300在协商期间指定的地址。
然后,源节点302在利用目的偏移表示在存储空间中写入异步广播分组(图10A与10C中的1004)。分段数据的连接ID与顺序号存储在此分组中。
在发送第一异步广播分组之后,源节点302等待来自目的节点304的响应。存储连接ID与顺序号的响应分组以异步广播包的形式从目的节点304中发送。在收到响应分组之后,源节点302递增顺序号并传送分组括下一分段数据的异步广播分组(图10A与10C中的1005)。
通过重复这样的顺序,源节点302顺序执行异步广播事务处理(图10A与10C中的1006,1007)。等待来自目的节点304的响应的最大时间期间事先进行确定,并且如果在最大时间期间过去之后还未收到响应,则利用同一顺序号再次发送同一数据。
还有,在从目的节点304中传送请求重发的响应分组时,源节点302能广播具有指定顺序号的数据。
在利用异步广播事务处理传送目标数据308的所有数据段之后,源节点302广播数据段结束分组以终止数据传送(图10A与10C中的1008)。
还有,在上述实施例中虽然解释了一个分段数据的异步广播事务处理中无故障发送响应分组的示例,但本发明不限于这样的示例。在利用多个连续分段数据填充目的节点304的数据缓冲器之后,目的节点304可以发送响应分组。
接下来,将结合图10A与10C全面描述目的节点304的操作。
在上述协商之后,目的节点304等待来自源节点302的发送请求包(图10A与10C的1002)。
收到发送请求分组的目的节点304确定或肯定那个分组中写入的目的ID和控制器所通知的连接ID并鉴别此分组是否是从源节点302中发送的。
在收到来自源节点302的发送请求分组之后,每个目的节点304广播其中存储连接ID与可保留的内部缓冲区大小的确认响应分组(图10A与10C的1003)。
在从源节点302中传送的异步广播分组写入存储空间之后,目的节点304确定那个分组连接ID。如果包括在那个分组中的连接ID与目的节点的连接ID一致,则广播其中存储包括在那个分组中的连接ID与顺序号的响应分组(图10A与10C中的1004至1007)。在那种情况中,包括在接收分组中的分段数据存储在内部缓冲区中。如果包括在接收分组中的连接ID不同于目的节点的连接ID,则目的节点304抛弃这样的接收分组。
还有,如果检测到接收分组的顺序号的差异目的节点304能发送表示重发请求的响应分组。在这种情况中,目的节点304将重发请求的顺序号通知源节点302。
在完成所有的异步广播事务处理之后,从源节点302中发送数据段结束分组。当收这个分组时,目的节点304终止数据传送处理(图10A与10C中的1008)。
在收到数据段结束分组之后,目的节点304广播表示正确收到数据段结束分组的事实的响应分组(图10A与10C中的1009)。
如上所述,根据所示实施例的通信***能消除常规通信***的不方便。还有,在不要求实时特性的数据传送中,易于以高速传送数据。
还有,在所示实施例中,在由控制器300设置连接之后,在源节点302与每个目的节点304之间执行目标数据的传送处理而无需控制器300的控制。结果,能提供减少控制器300的负担,并且不要求复杂通信程序的简单通信协议。
而且,在所示实施例中,目的节点304设计为返回每个异步广播事务处理的响应,利用这种安排,能提供能正确传送不要求实时能力的数据的通信协议。
为了实现更正确的数据传送,如果由于总线复位或任何传送差错而中断数据传送,迅速重新开始数据传送而不丢失任何数据是必要的。现在,将结合图10B描述根据所示实施例的通信协议所定义的重新开始程序。
例如,如果在收到具有顺序号i的异步广播分组之后总线复位发生,每个节点中断传送处理并根据IEEE1394-1995标准中定义的程序执行总线的初始化,连接关系的确认和节点ID的设置(图10B中的1010,1011)。
在完成总线的重构之后,每个目的节点304广播其中存储连接ID与顺序号i的重发请求分组(图10B中的1012)。
如果能重新开始异步广播事务处理,源节点302确认所接收的重发请求的连接ID,并广播其中存储此连接ID的确认响应分组(图10B中的1013)。
此后,源节点302顺序广播具有由重发请求分组请求的顺序号后面的顺序号的分段数据,即从顺序号(i+1)开始的分段数据(图10B中的1014)。
利用上述程序,控制器300、源节点302与目的节点304能容易地和正确地重新开始数据传送而不考虑其节点ID,即使此数据传送被中断。
还有,如上所述,在所示实施例,即使数据传送被中断,也能简化控制器300的控制程序。
接下来,将结合图12A解释在第一通信协议中使用的异步广播包的结构。例如,异步广播分组是以1个4字节数据为单位的数据分组(4字节=32比特)。
首先,将描述分组标题1219的安排。
在图12A中,字段1201(16比特)表示目的ID和接收者(即,目的节点304)的节点ID。在根据所示实施例的通信协议中,为了实现目标数据308的异步广播事务处理,为广播ID选择此字段的值(即,“FFFF16”)。
字段1202(6比特)是事务处理层(t1)字段,此字段是此事务处理固有的标记。
字段1203(2比特)是用于表示此分组是否实施重试的重试(rt)码字段。
字段1204(4比特)表示事务处理码(tcode),此tcode表示此分组的格式及要执行的事务处理类型。在所示实施例中,例如,此字段值选择为“00012“,并请求用于将此分组的数据块522写入目的偏移字段1207的存储字段中的处理(即,写事务处理)。
字段1205(4比特)是优先级(pri)字段,并且在所示实施例中,此字段值选择为“00002”。
字段1206(16比特)是源ID字段,用于表示发送者(即,源节点302)的节点ID。
字段1207(48比特)是用于公共指定目的节点304的地址空间的低48比特的目的偏移字段。
字段1208(16比特)是以字节为单位表示数据字段长度(如下所述)的数据长度字段。
字段1209(16比特)是扩展的tcode字段。在所示实施例中,选择此字段值为“00002”。
字段1210(32比特)是其中存储用于检测字段1201至1209中差错的检错码的标题CRC字段。
接下来,将描述数据块1220的结构。此数据块1220包括标题(包)信息221和数据字段1222。
用于鉴别节点之间逻辑连接关系(连接)的连接ID存储在标题信息221中。还有,标题信息1221的结构根据使用目的而变化。
数据字段1222是具有可变长度的字段,在此字段中存储分段数据。如果存储在此数据字段中的分段数据数量不是4字节数据的倍数,则加上“0”直至达到4字节数据。
字段1211(16比特)是其中存储根据所示实施例的连接ID的连接ID字段。根据所示实施例的1394接口根据存储在此字段中的连接ID鉴别在源节点302与一个或多个目的节点304之间设置的连接。在所示实施例中,能建立216×(节点数)连接。因此,能设置多个连接,直至在每个连接中使用的通信频率总量达到传送路径的容量。
字段1212(8比特)是表示基于标题信息1221的通信程序(即通信协议类型)的协议类型字段。在表示根据所示实施例的通信协议时,例如,此字段值变为“0116”。
字段1213(8比特)表示控制标志,在此字段中设置用于控制根据所示实施例的通信协议的通信程序等的预定控制数据。在所示实施例中,例如,此字段的最高比特选择为重发请求标志。因此,在此字段的最高比特值变为“1”时,表示基于所示实施例的通信协议的重发请求出现。
字段1214(16比特)是顺序号字段,在此字段中设置有关根据特定连接ID(即,在字段511中所指定的连接ID)传送的分组的连接值(即,顺序号)。利用这样的顺序号,目的节点304能监视顺序利用异步广播事务处理传送的分段数据的连接性。如果不一致,目的节点304能根据此顺序号发送重发请求。
字段1215(16比特)是重新确认号字段。在所示实施例中,仅在重发请求标志值为”1”时才使用此字段。例如,如果重发请求标志值为”1”,在此字段中设置重发请求分组的顺序号。
字段1216(16比特)是缓冲区大小字段,在此字段中设置目的节点304的缓冲区大小。
字段1217(16比特)是为将来准备的保留字段。
字段1218(32比特)是数据CRC字段,与标题CRC字段一样,在此字段中存储用于检测字段1211-1217中差错的检错码。
还有,在根据所示实施例的第一通信协议中,虽然解释了利用图12A所示的异步广播分组实现异步广播事务处理的示例,但本发明不限于这样的示例。例如,能利用图12B所示的异步序列分组实现异步广播事务处理。在这种情况中,目标数据划分为一个或多个数据段,并且每个数据段组合为一个或多个异步序列分组。源节点302顺序地在异步传送周期内广播传送异步序列分组。用于异步序列包的格式与传送方法定义在作为IEEE1394-1995标准的扩展标准的IEEE1394。a标准中。
在图12B中,字段1240(16比特)是数据长度字段,在此字段中以字节为单位存储数据字段1246(如下所述)的长度。字段1241(2比特)是其中存储值“002”的标记字段。
字段1242(6比特)是信道字段,在此字段中设置分配给包括其数据分组的一系列异步序列分组的信道号。字段1243(4比特)是用于指定表示异步序列分组的值“A16”的事务处理码(tcode)字段。
字段1244(4比特)是异步码(sy)字段,在此字段中存储根据所使用的应用确定的控制码。字段1245(32比特)是标题CRC字段,在此字段中存储用于检测字段1241-1244中差错的检错码。
字段(可变长度)1246是其中存储图12A所示的字段1211至1217的值与分段数据的数据字段。如果字段1246中存储的分段数据不是4字节数据的倍数,则加上”0”直至达到4字节数据。字段1247(32比特)是数据CRC字段。与标题CRC字段类似,在此字段中存储用于检测字段1246中差错的检错码。
接下来,将描述根据所示实施例的第二通信协议。
此第二通信协议是利用识别接收者的通信***并实现单播(unicast)通信的通信协议。
在第二通信协议中,一个目标数据划分为一个或多个数据段,并且每个数据段组合为”异步写请求分组”,而且利用“异步写事务处理”来传送。此异步写请求分组和异步写事务处理是在IEEE1394-1995标准中定义的包格式和传送方法。
现在,将结合图13全面描述根据第二通信协议的传送程序。
在完成上述协商(图9)之后,首先,控制器300发送接收数据段命令给目的节点304(1301)。只要准备好接收条件,目的节点304就发送INTERIM(临时)响应给控制器300并呈现等待条件(1302)。
然后,控制器300发送发送数据段命令给源节点302(1303)。源节点302发送INTERIM响应给控制器300并呈现数据接收条件(1304)。
要建立数据接收条件后,源节点302利用异步写事务处理发送所需的目标数据308给目的节点304(1305-1308)。
现在,将解释用于传送目标数据308的传送程序的示例。在图11中,目标数据308是具有128K字节数据大小的静止图象数据。
源节点302将目标数据308划分为一个或多个数据段。例如,如果能在目的节点304中保留具有与目标数据308相同大小的内部缓冲区,源节点302将目标数据分为一个数据段。
然后,源节点302检测由控制器300指定的oCCR的有效负载大小字段514的内容,并将每个数据段分为一个或多个分段数据。图11表示一个数据段的目标数据308划分为500个分段数据(一个数据段=256字节)。由控制器300设置有效负载大小字段514的内容。
然后,源节点302利用一个异步写事务处理顺序传送这些分段数据。图11表示利用一个异步写事务处理传送一个分段数据的示例。
在利用一个或多个异步写事务处理顺序传送的数据总量达到在接收缓冲区大小字段614中设置的值(即,内部缓冲区的容量)时,源节点302发送对此发送数据段命令的ACCEPTED响应给控制器300(1309)。
然后,目的节点304发送对此接收数据段命令的ACCEPTED响应给控制器300,并通知完成一个数据段的数据传送的事实(1310)。如果有下一个数据段,控制器300、源节点302和目的节点304重复上述程序。
以这种方式,源节点302能利用异步写事务处理正确发送所需的目标数据308给目的节点304。
如上所述,在上述实施例中,能在诸如由IEEE1394-1995标准中定义的总线型网络中建立不依赖于物理连接类型的逻辑连接关系。
还有,根据所示实施例,在基于IEEE1394-1995标准的通信***中,能提供新的通信协议,其中具有相对大量数据并且不要求实时能力、但要求高可靠性的目标数据(例如,静止图象数据、图形数据、文本数据、文件数据、程序数据等〕划分为一个或多个数据段,并且利用异步传送来顺序传送这些数据段。
还有,根据所示实施例,在基于IEEE1394-1995标准的通信***中能提供新的通信协议,利用异步传送类型的广播通信实现多个设备之间的数据通信。
另外,根据所示实施例,在基于IEEE1394-1995标准的通信***中,既使有多个不同的通信协议,也能自动鉴别和正确使用可用的通信协议。
(其他实施例)
另外,也能利用软件实现在上述实施例中解释的通信协议和实现这样的通信协议所要求的各种处理操作。
例如,存储用于实现每个实施例的功能的程序码的记录介质提供给构成根据每个实施例的通信***的设备的控制部分(例如,图1中的MPU12、***控制器50、打印机控制器68),以便控制部分读出存储在记录介质中的程序码和控制通信***或设备本身的操作来根据程序码执行每个实施例的功能。
另一种方案是,存储用于实现每个实施例功能的程序码记录介质可以提供给每个设备的1394接口14、44或62,以便用于控制1394接口中4、44或62的操作的控制部分(例如,图2中的串行总线管理206)控制处理操作来根据程序码执行每个实施例的功能。
在这种情况中,从记录介质中读出的程序自身实现每个实施例的功能,并且程序码本身和用于提供程序码给控制部分的装置,(例如,记录介质本身)形成本发明的一部分。
这样的存储程序码的记录介质例如可以是软盘、硬盘、光盘、磁光盘、CD-ROM、磁带、非易失性存储卡、ROM等。
应注意:从记录介质中读出的程序码与OS(操作***)或对控制部分操作的各种应用软件之一协作来实现每个实施例功能的情况也包括在本发明中。
还有,应注意,在从记录介质中读出的程序码存储在连到控制部分的功能扩展单元的存储器中之后,功能扩展单元的控制部分根据存储在此存储器中的程序码执行部分或所有实际处理来实现每个实施例的功能的情况也包括在本发明中。
本发明可以以其他特定形式来实施而不脱离其精神或实质特征。
例如,在所示实施例中,虽然解释了一个示例,即在控制器300读出源节点302的oMCR和目的节点304的iMCR时,控制器发送图7所示的READ MCR状态命令给节点,但本发明不限于这样的示例。只要oMCR与IMCR的地址可以预先构造为特定地址,控制器300就能利用在IEEE1394-1995标准中定义的异步读事务处理读出寄存器的内容。
在这种情况中,根据所示实施例1394接口能实现图9所示的一部分协商处理而不影响图2所示的事务处理层上面的层。因此,根据所示实施例1394接口能减少应用层的负载和实现硬件规范。
还有,在所示实施例中,虽然解释了一个示例,即在控制器300在源节点302的oCCR与目的节点304的iCCR中写入预定值时,控制器发送图8所示的SET CCR控制命令给节点,但本发明不限于这样的示例。只要oCCR与iCCR的地址可以预先构造为特定地址,控制器300就能利用在IEEE1394-1995标准中定义的异步读写比较交换锁定事务处理写入寄存器的内容。
在这种情况中,根据所示实施例1394接口能利用锁定事务处理的响应实现图9所示的一部分协商处理。因此,由于根据所示实施例的1394接口能利用事务处理层中的响应实现上述处理,所以更能提高处理速度,而且能减少应用层的负载并且能实现硬件规范。
在所示实施例中,虽然解释了能选择两种不同通信协议控制器300的结构与程序,但控制器能在三个或更多个通信协议之中选择通信协议。在这种情况中,每个节点能利用oMCR的保留字段503或iMCR的保留字段506来表示每个通信协议的支持条件。
还有,在所示实施例中,虽然解释了可应用于基于IEEE1394-1995标准的网络的通信协议,但本发明不限于这样的协议。根据本发明的通信协议能应用于基于IEEE1394-1995标准的总线型网络或能虚拟构成这样的总线型网络的网络。
因此,上述实施例在所有方面仅是示例,并且不构成为限制本发明。
本发明的范围由所附的权利要求书范围定义,并且完全不被此申请的特定描述所限制。而且,属于权利要求等效物的所有修改与变化认为是落入本发明范畴内的。
Claims (24)
1.一种通信***,包括:
一个控制器;
一或多个目的节点;以及
一个源节点,用于利用由所述控制器所选定的一个通信协议和由所述控制器所设定的一个逻辑连接,而把从一个目标数据获得的数据相继且异步地传送到该目的节点,
其中所述控制器用于从该源节点的一个第一寄存器获得有关该源节点的通信能力的信息、从所述目的节点的一个第一寄存器获得有关所述目的节点的通信能力的信息、利用从所述源节点和所述目的节点获得的信息选择一种通信协议、设定所述源节点与所述目的节点之间的一个逻辑连接、把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述源节点的一个第二寄存器中、并把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述目的节点的一个第二寄存器中。
2.根据权利要求1的通信***,其中所述通信协议包括用于利用广播通信传送数据的通信协议。
3.根据权利要求2的通信***,其中所述通信协议是能实现多播通信的通信协议。
4.根据权利要求1的通信***,其中所述控制器用于利用一种广播事务处理或另一通信协议来选择一个通信协议。
5.根据权利要求1的通信***,其中所述通信协议包括用于利用识别通信方的通信方法传送目标数据的通信协议。
6.根据权利要求5的通信***,其中所述通信协议是能实现单播通信的通信协议。
7.根据权利要求1的通信***,其中所述控制器用于利用一种写事务处理或另一通信协议来选择一个通信协议。
8.根据权利要求1的通信***,其中所述源节点与所述目的节点中的每一个节点包括其中写入所述节点的通信能力的寄存器空间。
9.根据权利要求8的通信***,其中所述控制器根据所述寄存器空间的内容选择所述通信协议。
10.根据权利要求1的通信***,其中所述源节点与所述目的节点中的每一个节点包括其中写入有关逻辑连接关系的信息的寄存器空间。
11.根据权利要求1的通信***,其中所述源节点利用至少一个异步通信顺序传送对应一个数据段的数据。
12.根据权利要求1的通信***,其中所述一个或多个目的节点中的每个节点利用异步通信返回所传送数据的响应。
13.根据权利要求1的通信***,其中所述控制器能在所述源节点与所述一个或多个目的节点之间设置一个或多个逻辑连接关系。
14.根据权利要求1的通信***,其中所述源节点利用公用指定所述一个或多个目的节点的存储空间的地址写入目标数据。
15.根据权利要求1的通信***,其中异步传送基于IEEE1394-1995标准中定义的异步传送方法。
16.根据权利要求1的通信***,其中所述通信***的一条通信线段是一条串行总线。
17.根据权利要求1的通信***,其中所述通信***与IEEE1394-1995标准相符合。
18.根据权利要求1的通信***,其中所述目标数据包括图象数据。
19.一种通信方法,该方法被用在一种通信***中,该通信***包括一个控制器、一或多个目的节点和一个源节点,其中该源节点用于利用由所述控制器所选定的一个通信协议和由所述控制器所设定的一个逻辑连接而把从一个目标数据获得的数据相继且异步地传送到该目的节点,该方法包括以下步骤:
从该源节点的一个第一寄存器获得有关该源节点的通信能力的信息;
从所述目的节点的一个第一寄存器获得有关所述目的节点的通信能力的信息;
利用从所述源节点和所述目的节点获得的信息选择一个第一或第二通信协议;
设定所述源节点与所述目的节点之间的一个逻辑连接;
把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述源节点的一个第二寄存器中;以及
把有关所述控制器选定的所述通信协议的信息和有关所述控制器设定的所述逻辑连接的信息存储在所述目的节点的一个第二寄存器中。
20.根据权利要求19的通信方法,其中所述控制器用于利用一种广播事务处理或另一通信协议来选择一个通信协议。
21.根据权利要求19的通信方法,其中所述控制器用于利用一种写事务处理或另一通信协议来选择一个通信协议。
22.根据权利要求19的通信方法,其中所述通信***的一条通信线段是一条串行总线。
23.根据权利要求19的通信方法,其中所述通信***与IEEE1394-1995标准相符合。
24.根据权利要求19的通信方法,其中所述目标数据包括图象数据。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP097989/1998 | 1998-04-09 | ||
JP097989/98 | 1998-04-09 | ||
JP9798998 | 1998-04-09 | ||
JP098163/99 | 1999-04-05 | ||
JP098163/1999 | 1999-04-05 | ||
JP09816399A JP4181688B2 (ja) | 1998-04-09 | 1999-04-05 | データ通信システム及びデータ通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1238625A CN1238625A (zh) | 1999-12-15 |
CN1132395C true CN1132395C (zh) | 2003-12-24 |
Family
ID=26439105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99107676A Expired - Fee Related CN1132395C (zh) | 1998-04-09 | 1999-04-09 | 数据通信***和数据通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7123621B1 (zh) |
JP (1) | JP4181688B2 (zh) |
CN (1) | CN1132395C (zh) |
MY (1) | MY126621A (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068674B1 (en) * | 1999-08-23 | 2006-06-27 | Lg Electronics Inc. | Method of controlling connection between nodes in digital interface |
WO2001046880A1 (fr) * | 1999-12-21 | 2001-06-28 | Sony Corporation | Systeme d'argent electronique |
KR20020031197A (ko) * | 2000-07-21 | 2002-04-26 | 이데이 노부유끼 | 기록장치, 재생장치 및 기록재생시스템 |
US20030128686A1 (en) * | 2001-12-06 | 2003-07-10 | Hur Nam Chun | Variable delay buffer |
US7188182B2 (en) * | 2002-03-20 | 2007-03-06 | Microsoft Corporation | Selecting an appropriate transfer mechanism for transferring an object |
JP2004153803A (ja) | 2002-10-11 | 2004-05-27 | Ricoh Co Ltd | データ通信装置、データ通信システム、データ通信方法、データ通信プログラム及び情報記録媒体 |
KR100547849B1 (ko) * | 2003-12-05 | 2006-01-31 | 삼성전자주식회사 | 고속 개인용 무선 네트워크에서의 브릿지 디바이스를선정하기 위한 프레임 구조와 그에 따른 선정 방법 |
US8325768B2 (en) * | 2005-08-24 | 2012-12-04 | Intel Corporation | Interleaving data packets in a packet-based communication system |
US7849243B2 (en) * | 2008-01-23 | 2010-12-07 | Intel Corporation | Enabling flexibility of packet length in a communication protocol |
JP2010109530A (ja) * | 2008-10-29 | 2010-05-13 | Sony Corp | 無線通信装置および無線通信方法 |
US20100323725A1 (en) * | 2009-06-18 | 2010-12-23 | Yigang Cai | Individualized retry configurations for messages having failed delivery |
KR101667020B1 (ko) * | 2011-08-03 | 2016-10-17 | 에스케이텔레콤 주식회사 | 관리장치 및 관리장치의 동작 방법 |
CN104331028B (zh) * | 2013-07-22 | 2017-11-28 | 上海联影医疗科技有限公司 | 控制装置和总线*** |
US20170168756A1 (en) * | 2014-07-29 | 2017-06-15 | Hewlett Packard Enterprise Development Lp | Storage transactions |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04154242A (ja) * | 1990-10-17 | 1992-05-27 | Nec Corp | ネットワーク障害回復方式 |
US5222125A (en) * | 1991-09-03 | 1993-06-22 | At&T Bell Laboratories | System for providing personalized telephone calling features |
JPH0698041A (ja) | 1992-09-14 | 1994-04-08 | Ricoh Co Ltd | ファクシミリ通信システム |
US5586117A (en) * | 1992-11-02 | 1996-12-17 | National Semiconductor Corporation | Method and apparatus which allows devices with multiple protocol capabilities to configure to a common protocol configuration |
US5440613A (en) * | 1992-12-30 | 1995-08-08 | At&T Corp. | Architecture for a cellular wireless telecommunication system |
CA2159383C (en) * | 1994-12-22 | 1999-01-12 | Bruce Merrill Bales | Automatic call back under control of a telephone terminal |
US5541930A (en) | 1995-01-10 | 1996-07-30 | Klingman; Edwin E. | Byte aligned communication system for transferring data from one memory to another memory over an ISDN |
US5680589A (en) | 1995-06-08 | 1997-10-21 | Klingman; Edwin E. | Ring communication system using ISDN |
US5802057A (en) * | 1995-12-01 | 1998-09-01 | Apple Computer, Inc. | Fly-by serial bus arbitration |
US6006286A (en) * | 1996-04-26 | 1999-12-21 | Texas Instruments Incorporated | System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions |
US6058433A (en) * | 1996-07-23 | 2000-05-02 | Gateway 2000, Inc. | System and method for providing increased throughput through a computer serial port to a modem communications port |
US6233017B1 (en) * | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US6246759B1 (en) * | 1996-09-26 | 2001-06-12 | Rockwell International Corporation | Call overflow system and method for overflowing telephone calls between telephonic switches |
US5999525A (en) * | 1996-11-18 | 1999-12-07 | Mci Communications Corporation | Method for video telephony over a hybrid network |
KR100194813B1 (ko) * | 1996-12-05 | 1999-06-15 | 정선종 | 멀티채널/멀티캐스트 스위칭 기능을 갖는 패킷 스위칭장치 및 이를 이용한 패킷 스위칭 시스템 |
EP0859323B1 (en) * | 1997-02-14 | 2007-03-21 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and image processing apparatus |
US5907678A (en) * | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US6058115A (en) * | 1997-08-04 | 2000-05-02 | Motorola, Inc. | Communication method and apparatus utilizing protocol options |
JPH1188355A (ja) * | 1997-09-09 | 1999-03-30 | Fujitsu Ltd | 伝送セルの通過制御方法および装置 |
USH1917H (en) * | 1997-09-26 | 2000-11-07 | Dsc/Celcore, Inc. | Signal-processing module for a telecommunications switching platform |
US5938735A (en) * | 1997-10-21 | 1999-08-17 | Ricoh Company, Ltd. | System for establishing optimized ISDN communication by identifying common communication attributes of destination and source terminals prior to establishing communication link therebetween |
US6134628A (en) * | 1998-01-30 | 2000-10-17 | Ricoh Company, Ltd. | Method and computer-based system for rewriting a nonvolatile rewritable memory |
US6690648B2 (en) | 1998-02-24 | 2004-02-10 | Canon Kabushiki Kaisha | Data communication apparatus, method, and system utilizing reception capability information of a destination node |
DE69928859T2 (de) | 1998-05-22 | 2006-07-06 | Canon K.K. | Mit maximaler Übertragungsgeschwindigkeit arbeitendes Kommunikationssystem |
-
1999
- 1999-04-05 JP JP09816399A patent/JP4181688B2/ja not_active Expired - Fee Related
- 1999-04-08 MY MYPI99001360A patent/MY126621A/en unknown
- 1999-04-08 US US09/288,038 patent/US7123621B1/en not_active Expired - Fee Related
- 1999-04-09 CN CN99107676A patent/CN1132395C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1238625A (zh) | 1999-12-15 |
JP2000049834A (ja) | 2000-02-18 |
JP4181688B2 (ja) | 2008-11-19 |
MY126621A (en) | 2006-10-31 |
US7123621B1 (en) | 2006-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1179280C (zh) | 通信***及其方法,发送装置及其方法 | |
CN1126343C (zh) | 数据通信方法、设备和*** | |
CN1132395C (zh) | 数据通信***和数据通信方法 | |
CN1201242C (zh) | 数据传送控制装置和电子装置 | |
CN1184787C (zh) | 数据通信***,数据通信方法和数据通信装置 | |
CN1148041C (zh) | 网络控制***及其控制器、目标及消费器 | |
CN1139881C (zh) | 电力控制***和电力控制方法 | |
CN1174471A (zh) | 打印机***及其动作控制方法 | |
CN1184786C (zh) | 数据通信***、方法、装置和数字接口 | |
CN1146798C (zh) | 数据传输控制装置及电子设备 | |
CN1287763A (zh) | 网络控制*** | |
CN1689275A (zh) | 卡式网络接口、网络会议终端设备和网络会议*** | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN1118992C (zh) | 数据通信设备和方法 | |
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN1301471C (zh) | 数据通信***及其方法 | |
CN1777864A (zh) | 图像输出***及其方法 | |
CN1607513A (zh) | 数据传输控制装置、电子设备以及数据传输控制方法 | |
CN1146801C (zh) | 数据传送控制装置和电子装置 | |
CN1161940C (zh) | 数据通信***、方法、设备和数字接口 | |
CN101044753A (zh) | 预约录像显示***、预约录像显示装置、预约录像显示方法、程序及记录媒体 | |
CN1174583C (zh) | 设备控制方法、传输装置 | |
CN1283913A (zh) | 通信设备、通信方法和介质 | |
CN1125546C (zh) | 数据传送方法及数据传送*** | |
CN1146191C (zh) | 数据传输控制装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031224 Termination date: 20140409 |