专利名称:数据通信设备和方法
技术领域:
本发明涉及一种数据通信设备和方法,且更具体地说是涉及以这样的方式进行数据通信的一种数据通信设备和方法—即使得主机装置与目标装置之间的数据通信的通信协议不限于该目标装置。
进一步地,本发明涉及一种在网络中的数据通信设备和方法,其中具有多个协议的装置经过串行总线相连。
经过总线向打印机传送数据的各种类型的系统是已知的。例如,一种已知的技术是利用诸如SCSI(小型计算机系统接口)或Centronics接口的标准接口从计算机向打印机输出数据。
然而,打印机制造者分别提供它们的打印机所独有的打印机协议,用于经过这些接口向打印机传送数据,因而缺少通用性。
具体地,在利用连接各种类型的装置的串行接口(诸如IEEE 1394接口)输出打印数据时,所希望的是解决上述缺乏通用性的问题。
本发明的目的,是提供一种数据通信设备和方法,借助它能够进行这样的数据通信—即使得主机装置与目标装置之间的通信协议不限于该目标装置。
进一步地,本发明的另一个目的,是提供一种数据通信设备和方法,它适合于采用基于诸如IEEE 1394标准的串行接口的数据通信。
另外,本发明的另一个目的,是提供一种数据通信设备和方法,它适合于在没有主机计算机的情况下从一个主机装置直接向一个目标装置传送图象数据。
根据本发明,上述目的是通过提供一种通信系统而实现的,该系统包括一个第一装置、一个第二装置、以及限定第一与第二装置的每一个的预定地址空间的一条串行总线,其中该第一装置包括第一协议能力存储装置—它位于串行总线定义的地址空间中,用于存储有关各个数据输送协议的可用性的信息;第二装置包括第一识别装置,用于通过指定由串行总线定义的一个地址来读取第一协议能力存储装置的内容并识别所读取的内容;以及,第一确定装置,用于根据第一协议能力存储装置的内容来确定一个数据输送协议,其中第一识别装置在第一确定装置的确定之前识别多个可用的数据输送协议。
进一步地,上述的目的,通过提供用于在串行总线上进行数据通信的数据通信方法,而得到实现,其特征在于包括以下步骤借助采用初始协议的的通信,获得一个目标装置的能力信息;使目标装置根据所获得的容量信息来设定能够在数据通信中使用的一个通信协议;以及,根据设定的通信协议进行与目标装置的数据通信。
进一步地,上述目的是通过提供用于在一种串行总线上进行数据通信的数据通信方法而实现的,其特征在于包括以下步骤响应于来自主机装置的使用初始协议的请求,把能力信息送回该主机装置;根据主机装置基于该能力信息而送来的指令,设定将要在数据通信采用的通信协议;以及,根据设定的通信协议,与主机装置进行数据通信。
进一步地,上述目的是通过提供用于在串行总线上进行数据通信的数据通信设备而实现的,其特征在于包括与一个初始协议和多个用于数据通信的通信协议相应的通信装置;存储装置,其中存储有包括表示多个通信协议的信息的能力信息;以及,用于设定通信装置的通信协议的设定装置,其中该通信装置,根据从一个主机装置通过利用该初始协议而送来的一个请求,发送存储在存储装置中的能力信息,且该设定装置根据从该主机装置利用该初始协议而送来的一个指令来设定通信装置的通信协议。
进一步地,上述目的是通过提供用于进行串行总线上的数据通信的数据通信方法而实现的,其特征在于包括以下步骤接收来自一个主机装置的连接请求;如果识别出该主机装置不对应于一个预定的协议,则设定将要在数据通信中采用的通信协议;尝试借助设定的通信协议与该主机装置进行通信;以及,如果建立了与主机装置的通信,通过采用该设定的通信协议而与主机装置进行数据通信。
进一步地,上述目的是通过提供用于在串行总线上进行数据通信的数据通信设备而实现的,其特征在于包括通信装置,它对应于一个初始协议和用于数据通信的多个通信协议;以及,控制装置,用于控制与主机装置的数据通信,其中如果该控制装置从通信装置从主机装置接收到的一个连接请求识别出该主机装置不对应于该初始协议,则控制装置在该通信装置处设定一个预定的通信协议,尝试借助设定的通信协议与该主机装置进行通信,且如果建立了与该主机装置的通信,则通过采用设定的通信协议与该主机装置进行数据通信。
进一步地,本发明的另一个目的,是提供一种数据通信设备和方法—它调节不与一个初始协议相对应的一个主机装置的协议。
根据本发明,上述的目的是通过提供用于在串行总线上进行数据通信的一种数据通信方法而得到实现的,包括以下步骤获得不与一个初始协议相对应的一个主机装置的一个标识符;根据所获得的标识符识别该主机装置的一个协议;以及,在可获得识别的协议的情况下,把该协议设定为用于与该主机装置进行通信的通信协议。
进一步地,本发明的另一个目的,是提供一种数据通信设备和方法,它减小了多协议环境下协议改变的频率,以防止由于协议重新设定所引起的效率降低。
根据本发明,上述的目的是通过提供用于在串行总线进行数据通信的一种数据通信方法而得到实现的,包括以下步骤获得与该串行总线相连的装置的能力;根据所获得的能力,按照各种类型来计数装置的协议;根据该计数的结果,确定一种将要得到优先使用的协议;以及,把所确定的协议通知这些装置。
进一步地,上述目的是通过提供用于在串行总线上进行数据通信的一种数据通信方法而得到实现的,包括以下步骤执行一个初始协议;以及,如果在从多种类型的协议中选出了该初始协议之后要执行一种协议,选择具有优先级的一种具体协议。
进一步地,本发明的另一个目的,是提供一种数据通信设备和方法,它在连接有多个目标装置的网络中选择与输出目的相应的一个目标装置,以获得适当的输出。
进一步地,本发明的另一个目的,是提供一种数据通信设备和方法,它在多协议环境下减小了由于协议改变而引起的负荷。
根据本发明,上述的目的是通过提供用于在串行总线上进行数据通信的一种数据通信方法而得到实现的,包括以下步骤搜索与该串行总线相连的目标装置;获得有关目标装置的信息;根据所获得的信息生成目标装置的一个表;以及,根据所生成的表选择目标装置中的一个。
进一步地,上述目的是通过提供用于在串行总线上进行数据通信的一种数据通信方法而得到实现的,包括以下步骤搜索与串行总线相连的目标装置;获得有关这些目标装置的信息;根据获得的信息识别网络的拓扑布局;以及,根据识别的网络拓扑布局选择目标装置中的一个。
进一步地,上述的目的是通过提供用于在串行总线进行数据通信的数据通信方法而得到实现的,包括以下步骤搜索与该串行总线相连的目标装置;获得有关这些目标装置的信息;根据获得的信息生成目标装置的一个表;以及,根据所生成的表选择这些目标装置中的一个。
进一步地,上述目的是通过提供用于在串行总线上进行数据通信的一种数据通信方法而实现的,包括以下步骤搜索与该串行总线相连的目标装置;获得有关这些目标装置的信息;根据获得的信息生成这些目标装置的一个表;根据所生成的表确定将要按照优先级采用的协议;以及,把确定的协议通知与串行总线相连的目标装置。
通过以下结合附图进行的描述,本发明的其他特征和优点将变得显而易见,而在这些附图中相同的标号表示相同名称或类似的部分。
作为本说明书的一部分的附图显示了本发明的实施例,并与文字描述一起用于说明本发明的原理。在附图中
图1是框图,显示了借助IEEE 1394串行接口构成的网络系统的一个例子;图2是框图,显示了IEEE 1394串行接口的构造;图3A示例性显示了IEEE 1394串行接口的地址空间;图3B是具有最小格式的配置ROM的结构的一个例子;图3C是具有总体格式的配置ROM的结构的一个例子;图3D是数字摄象机的配置ROM的结构的一个例子;图4是横截面图,显示了IEEE 1394串行接口的缆线;图5是时序图,用于说明一种数据/选通脉冲链接方法;图6至8是流程图,显示了IEEE 1394串行接口中的网络构造的步骤;
图9是框图,显示了该网络的一个例子;图10A和10B是框图,用于说明总线调解;图11是流程图,显示了总线调解的步骤;图12是时序图,显示了异步数据传送中的瞬态状态;图13显示了用于异步传送的包(packet)格式;图14是时序图,显示了等时数据传送中的瞬时状态;图15显示了等时传送的包格式;图16是时序图,显示了当混合进行等时传送和异步传送时总线上的数据传送中的瞬时状态;图17是示意图,显示了与一个OSI型号相比较的IEEE 1394串行接口;图18显示了一个LOGIN协议的基本操作;图19显示了IEEE 1394串行接口中的连接状态;图20是时序图,显示了登录操作的流程;图21示意显示了在相应装置中准备的CSR;图22是流程图,显示了在一个主机装置中的LOGIN处理;图23是流程图,显示了在目标装置中的LOGIN处理;图24是说明图,显示了根据一个第二实施例的操作;图25是说明图,显示了在第二实施例中与一个OSI型号相比较的IEEE 1394串行接口;图26是流程图,显示了在根据第三实施例中的打印机中的LOGIN处理;图27是流程图,显示了协议搜索处理;图28是流程图,显示了根据第四实施例的、由一个协议控制器(master)进行的协议多数确定处理;图29是流程图,显示了在该主机装置中的LOGIN处理;图30是流程图,显示了在打印机中的LOGIN处理;图31是1394串行总线所限定的一个网络中的打印机映象的格式的一个例子;图32是在CSR构造中节点的唯一ID的格式;
图33是打印机映象生成指令的格式的一个例子;图34是当多个多协议打印机与网络相连时主机装置所进行的打印机映象生成处理;图35是流程图,显示了在一个目标装置中的与主机装置所进行的打印机映象生成处理相对应的处理;图36是流程图,显示了在主机装置中的LOGIN处理;图37是流程图,显示了在打印机中的LOGIN处理;图38是流程图,显示了在主机装置中的多数确定处理;图39是流程图,显示了在打印机中进行的与图38相对应的的处理。
现在根据附图来详细描述本发明的最佳实施例。
在以下的第一和第二实施例中,诸如IEEE 1394-1995总线(高性能串行总线)(以下简单地称为“1394串行总线)被用作连接各个装置的数字接口。因此,以下描述1394串行总线的主要特性。
(1394串行总线的主要特性)随着通用数字录相机(VCR)和数字视盘(DVD)播放机的出现,产生了传送实时和大量数据(诸如视频数据和声频数据—以下称为AV数据)的需要。为了把AV数据实时传送到个人计算机(PC)或其他数字装置,需要能够进行高速数据传送的接口。1394串行总线为此而得到了开发。
图1显示了带有1394串行总线的网络系统的一个例子。该系统包括装置A至H,且装置A和B、装置A和C、装置B和D、装置D和E、装置C和F、装置C和G、以及装置C和H分别借助1394串行总线的双绞线而被连接起来。这些装置A至H可以是诸如个人计算机的计算机,或者各种计算机外设装置—诸如数字VCR、DVD播放机、数字静止摄象机、采用诸如硬盘或光盘的存储介质的存储装置、诸如CRT或LDC的监测器、调谐器、图象扫描器、胶卷扫描器、打印机、调制解调器、终端适配器(TA)、顶置盒(Set-Top-Box)、数字电视、会议摄象机、数字视频系统以及它们的组合。
这些装置之间的连接可以通过混合数据收集和整理系统链方法和节点分支方法来实现,从而实现高度自由的连接。
各个装置具有一个ID,且它们通过在借助1394串行总线所连接的一个范围内识别各个ID而构成一个网络。例如,这些装置,当借助1394串行总线的缆线而以数据收集和整理系统差相连时,扮演着中继的角色,从而构成了一个网络。
由于1394串行总线对应着即插即用功能,它自动识别与缆线相连的装置,从而识别连接状态。在图1显示的系统中,当从网络中除去一个装置时,或者当一个新装置被加入网络时,总线被自动复置(即当前的网络构成信息得到复置),从而构成了新的网络。这种功能使得能够实现网络构成的实时设定和识别。
1394串行总线具有被限定为100/200/400Mbps的数据传输速度。具有高传输速度的装置支持较低的传输,从而保持了兼容性。至于数据传送数据传送模式,可采用的有用于传送诸如控制信号的异步数据的异步传送模式(ATM)、用于传送诸如实时AV数据的等时数据的等时传送模式。在数据传送中,在各个周期(通常为125ms/周期)中,表示周期的开始的一个周期开始包(CSP)得到传送,且随后异步和等时数据被混合传送,从而使等时数据传送在异步数据之前得到传送。
图2显示了层结构形式的1394串行总线的构造。如图2所示,一个连接器端口810与在用于1394串行总线的缆线813的端部的一个连接器相连。在一个硬件单元800中,一个物理层811和一个链接层812相对于连接器端口810处于上层的位置。硬件单元800包括接口芯片。物理层811进行编码、与连接有关的控制等等,而链接层812进行包传送、周期时间控制等等。
在一个固件单元801中,一个业务层814管理着将要传送的数据(业务数据),并输出指令“读出”、“写入”和“锁定”。固件单元801中的一个管理层815管理着与1394串行总线相连的各个装置的连接状态和ID,从而管理着网络的构造。上述的硬件和固件单元基本上构成了1394串行总线。
在一个软件单元802中,一个应用层816不同于系统所用的软件,且表示如何在接口上传送数据的数据输送协议由诸如打印机协议或AVC协议的协议来限定。
图3A显示了1394串行总线的地址空间。与1394串行总线相连的所有装置(节点)都具有唯一的64位地址。该64位地址被存储在这些装置的一个存储器中。与指定的目标装置的数据通信能够通过识别发送和接收侧节点的节点地址来进行。
1394串行总线的寻址是根据IEEE 1212标准来进行的,从而使前10位被用来指定总线号,随后的6位被分配用于指定节点的ID。其余的48位被用作各个装置的地址空间,从而使该区域被用作唯一的地址空间。最后的28位被用作对各个装置来说是唯一的数据区,其中存储有各个装置的标识符、指定的使用状态等。
作为用于节点管理的CSR(指令/状态寄存器)构造的一个基本功能,在该寄存器中存在有如图3A中显示的CSR核心。在图3A中,偏离地址是距“0xFFFFF0000000”的相对位置。在该CSR构造中,与串行总线有关的一个寄存器被设置在从“0xFFFFF0000200”开始处。另外,串行总线的节点资源信息被设置在从“0xFFFFF0000800”开始处。
该CSR构造具有用于各个节点的代表功能的配置ROM。该配置ROM具有一个最小格式和一个通用形式,设置在从“0xFFFFF0000400”开始处。如图3B所示,最小格式配置ROM只显示了一个销售商ID,它是由24位表示的一个唯一的数字值。如图3C所示,通用格式配置ROM具有在一个节点上的信息。在此格式中的销售商ID与有关节点的功能的信息一般被包括在一个“root_directory”中。另外,“bus_info_block”和“root&unit_leave”包括销售商ID的独特的装置号,它由64位表示。该装置号在通过总线复置操作而进行了网络重组之后被用来继续进行节点识别。
图3D显示了数字摄象机中的配置ROM的一个例子。在图3D中,销售商ID借助64位而由“node_vendor_id”、“chip_id_hi”和“chip_id_lo”表示。
1394串行总线具有如上所述的结构。下面详细描述1394串行总线的特征。
(1394串行总线的电气说明)图4显示了1394串行总线的缆线的横截面。1394串行缆线包括两组双绞信号线和两条电源线。这种结构使得能够把电力送到没有电源的装置,或者其中电压由于故障等而被降低的装置。该电源线所提供的直流电压为8至40V;电流最大为1.5A。应该注意的是在所谓的DV缆线标准中,不包括电源线的四条线构成了该缆线。
(DS链接)图5是流程图,用于说明作为数据传送方法的DS链接(数据/选通脉冲-链接)方法。
DS-链接方法适合于高速串行数据通信,并要求两组两信号线。即,两组双绞信号线之一被用于传送数据信号,且另一组双绞信号线被用于传送选通脉冲信号。在接收侧,获得数据信号与选通脉冲信号之间的“异或”,以产生一个时钟信号。在DS-链接传送中,不需要把一个时钟信号混合到数据信号中,因而传送效率高于其他的串行数据传送方法。另外,由于时钟信号是从数据信号和选通脉冲信号产生的,锁相环(PLL)电路可被省略,从而实现了控制器LSI的尺寸的减小。另外,在DS-链接传送中,当没有所要传送的数据时,不需要传送表示闲置状态的信息,因而各个装置的收发器能够被置于睡眠状态,这减小了电力消耗。
(总线复置过程)与1394串行总线相连的各个装置(节点)具有一个节点ID,且被识别为组成网络的节点。例如,当节点的数目由于网络装置的电力接通/关断或连接/断开而增加/减少时,即网络组成改变且需要识别新的网络组成时,相应的节点检测网络组成的改变,在总线上传送一个总线复置信号,并进入识别新的网络组成的模式。网络组成改变的检测是通过检测连接器端口810处的偏压的改变而进行的。
当从一个节点传送出总线复置信号时,相应的节点的物理层811接收到该总线复置信号,且同时把总线复置的发生通知链接层812,并把总线复置信号送到其他节点。当所有节点都已经接收到总线复置信号时,总线复置过程开始。应该注意的是,该总线复置过程时当缆线被连接/断开时,或硬件单元800已经检测到网络异常等时进行的。另外,总线复置过程也由至物理层811的一个直接指令—诸如一个协议进行的主机控制—启动。当总线复置过程被启动时,数据传送在总线复置期间被暂停,且在总线复置之后,数据传送在新的网络组成中被重新开始。
(节点ID确定过程)在总线复置之后,相应的节点开始获得一个节点ID,以构成一个新的网络组成。以下结合图6至8的流程图来描述从总线复置至节点ID确定的总体过程。
图6是流程图,显示了从出现了总线复置信号至节点ID确定和数据传送的流程。在步骤S101,相应的节点始终监测总线复置信号的出现。当已经出现了总线复置信号时,处理进行到步骤S102,在那里在其中网络组成已经得到复置的情况下获得一个新的网络组成,在彼此相连的节点之间声明母-子关系。步骤S102得到重复,直到在步骤S103在所有节点之间都已经确定了母-子关系。
当母-子关系已经确定时,处理进行到步骤S104,在那里确定一个“根(节点)”。在步骤S105,进行节点ID设定,以向相应的节点提供一个ID。节点ID设定是按照预定的节点顺序进行的。步骤S105得到重复,直到在步骤S106确定这些ID已经被给予了所有的节点。
当节点ID设定已经完成时,由于新的网络组成已经被所有的节点所识别,因而可以在这些节点之间进行数据传送。在步骤S107,数据传送开始,且处理返回到步骤S101,在那里重新监测总线复置信号的出现。
图7是流程图,显示了从总线复置信号的监测(S101)至根确定(S104)的过程的细节。图8是流程图,详细显示了节点ID设定(S105和S106)。
在图7中,在步骤S201,总线复置信号的出现得到监测,且当已经出现了总线复置信号时,网络组成得到复置。随后,在步骤S202,作为复置的网络组成的的重新识别的第一步骤,相应的装置用表示“叶(节点)”的数据复置其标记FL。在步骤S203,相应的装置检验端口的数目,即与它们相连的其他节点的数目。在步骤S204,根据步骤S203的检验的结果,这些装置检验未限定(即还没有确定母-子关系的)端口的数目。未限定端口的数目等于在总线复置刚过之后的端口数目,但随着母-子关系确定的进行,在步骤S204检测到的未限定端口的数目减小。
只有实际的叶(ves)能够在总线复置刚过之后声明母-子关系。节点是否是一个叶是从在步骤S203检验的端口的数目来检测的;即,如果端口的数目是“1”,则该节点是一个叶。在步骤S205,该叶声明“这个节点是一个子,且相连的节点是母”,从而结束操作。
另一方面,在步骤S203检测到端口数目为“两个或更多”的节点是一个“分支”。在总线复置刚过之后,由于“未限定端口>1”成立,处理进行到步骤S206,在那里用表示“分支”的数据设定标记FL,随后,在步骤S207等候来自另一节点的母-子关系声明。当从另一节点声明了母-子关系时,处理返回到步骤S204,在那里分支检验未限定端口的数目。如果未限定端口的数目是“1”,则分支能够在步骤S205向与其余的端口相连的节点声明“这个节点是一个子,且相连的节点是母”。如果未限定端口的数目仍然是“两或更多个”,分支在步骤S207等候来自另一节点的母-子关系声明。
当当任何一个分支(或者除了延迟声明一个子的叶(ves))检测到未限定端口的数目是“0”时,整个网络的母-子关系声明已经完成。唯一具有“0”未限定端口的节点,即所有节点的母,在步骤S208用表示“根”的数据设定标记FL。随后在步骤S209,该节点被识别为根。
以此方式,从总线复置至网络中所有节点之间的母-子声明的过程结束。
随后,描述给各个节点提供ID的步骤。首先,ID设定是在叶进行的。随后,ID是按照数字顺序(从节点号0)而从叶→分支→根进行的。
在图8中,在步骤S301,处理按照节点类型即叶、分支或根,根据在标记FL处设定的数据,而分开。
在叶的情况下,在步骤S302,网络中的节点的数目(自然数)被设定为一个变量N。在步骤S303,相应的叶向根请求一个节点号。如果做出了多个请求,根在步骤S304进行调解,并在步骤S305向一个节点提供节点号,同时把节点号的获得结果通知其他的节点,表示该节点号已经故障。
还没有获得节点号(步骤S306处的“否”)的叶在步骤S303重复节点号请求。另一方面,已经获得节点号的叶通过广播包括该节点号的信息而把获得的节点号通知所有节点。当ID信息的广播已经完成时,在步骤S308确定表示叶的数目的变量N。随后,从在步骤S309的确定,从步骤S303至步骤S308的流程得到重复,直到变量N在步骤S309的判定中变为“0”。当在所有叶上的ID信息都已经得到广播时,处理进行到步骤S310,以设定分支的ID。
分支的ID设定是以基本上类似于叶的ID设定的方式进行的。首先,在步骤S310,分支的数目(自然数)被设定为一个变量M。在步骤S311,相应的分支向根请求一个节点号。响应于这种请求,根在步骤S312进行调解,并在步骤S313向一个分支提供一个节点号—该节点号在最后一个叶节点号之后,同时把节点号的获得结果通知其他的分支,表明该节点号已经失效。
还没有获得节点号的分支(步骤S314的“否”)在步骤S315重复节点号请求。另一方面,已经获得节点号的分支,通过广播包括该节点号的ID信息,而把获得的节点号通知所有的节点。当ID信息的广播完成时,在步骤S316确定表示分支的号的变量M。随后,从步骤S317的确定,从步骤S311至步骤S316的处理得到重复,直到在步骤S317的判定中变量M变成了“0”。当所有叶上的ID信息都所有得到广播时,处理进行到步骤S318,以设定根的ID。
此时,只有根还没有获得一个节点ID。在步骤S318,根获得还没有提供给任何其他节点的号中最小的号,作为根的节点ID,且在步骤S319,广播根的ID信息。
如上所述,直到设定了所有节点的节点ID的处理结束。以下,结合图9显示的网络例子来描述节点ID确定的流程。
在图9的网络中,作为根的节点B与其较低的节点A和C直接相连;节点C与其较低的节点D直接相连;且节点D与其较低的节点E和F直接相连。确定这种层级结构、根节点和节点ID的步骤将在下面得到描述。
在发生了总线复置之后,为了识别相应节点的连接状态,端口或直接相连的节点之间的母-子关系得到声明。“母”指的是处于层级结构中较高层的节点且“子”指的是处于较低层的节点。在图9中,在总线复置之后首先声明母-子关系的是节点A。如上所述,其中只连接一个端口的节点(叶)能够开始声明母-子关系。即,如果端口的数目是“1”,则认为该节点是网络树的末端,即叶。母-子关系从这些叶中首先采取行动的叶开始。因此,叶节点的一个端口被设定为“子”,而与该叶节点相连的另一节点的端口被设定为“母”。以此方式,在节点A和B、节点E和D、以及节点F和D之间依次设定“子-母”关系。
进一步地,在具有多个端口的高层节点中,即在分支中,从首先接收到来自叶的母-子关系声明的节点开始,依次声明相对于上层节点的母-子关系。在图9中,首先确定节点D和E之间和节点D和F之间的母-子关系。随后节点D声明了相对于节点C的母-子关系,且其结果,设定了节点D与C之间的“子-母”关系。已经接收到来自节点D的母-子关系声明的节点C,声明了对于同其他端口相连的节点B的母-子关系,从而在节点C与B之间设定了“子-母”关系。
以此方式,构成了如图9所示的层级结构。已经最后变为所有端口的母的节点B被确定为根。注意网络只有一个根。在其中已经接收到来自节点A的母-子关系声明的节点B立即声明对于另一节点的母-子关系的情况下,该其他节点—例如节点C—则可能是根节点。即,按照母-子关系声明的发送时序,任何节点都可能是根,且进一步地,即使在相同结构的网络中,一特定节点并不总是根。
当确定了根时,开始确定相应节点ID的处理。各个节点都具有广播功能,以向所有其他节点通知其ID信息。ID信息包括节点号、有关连接位置的信息、端口的数目、与其他节点相连的端口的数目、有关相应的端口的母-子关系的数目等等。
如上所述,节点号的分配是从叶开始的。按照数值顺序,节点号=0,1,2……得到分配。随后,通过广播ID信息,识别出该节点号已经得到分配。
当所有叶都已经获得了一个节点号时,节点号被分配给分支。与向叶的节点号分配类似,从接收到了节点号的分支广播ID信息,且最后根广播其ID信息。因此,根始终具有最大的节点号。
因此,当整个层级结构的ID设定都已经完成且网络已经被构成时,就完成了总线初始化。
(总线调解)1394串行总线始终在数据传送之前进行总线使用权调解。与1394串行总线相连的装置分别中继在网络上传送的一个信号,从而构成了把该信号传送到网络中的所有装置的逻辑总线型网络。这需要总线调解以避免包冲突。作为总线调解的结果,一个节点能够在一定的时期里传送数据。
图10A和10B是框图,用于说明这种总线调解。图10A显示了请求总线使用权的的操作;且图10B显示了允许使用总线的操作。
当总线调解开始时,单个或多个节点分别向其母节点请求使用该总线的总线使用权。在图10A中,节点C和F请求总线使用权。接收到该请求的母节点(图10A中的节点A)通过进一步向其母节点请求一个总线使用权而把对该请求进行中继。该请求被送到最后进行调解的根(图10A中的节点B)。
接收到该总线使用权请求的根确定将要给予总线使用权的节点。这种调解只能够由根进行。在该调解中占据支配地位的节点被给予总线使用权。图10B显示节点C已经获得了总线使用权且来自节点F的请求已经被拒绝。
根把一个DP(数据首标)包送到在总线调解中失败的节点,以通知它们其请求已经被拒绝。来自这些节点的请求被下一个总线调解所保持。
因此,获得了总线使用许可的节点开始数据传送。
总线调解的过程将结合图11的流程图来描述。
为了开始一个节点的数据传送,总线必须处于闲置状态。为了证实数据传送已经完成且总线当前处于闲置状态,各个节点检测在各个传送模式下设定的一个预定闲置时期(例如子作用间隙)的间隙长度,且其根据这种检测的结果来确定总线当前是否处于闲置状态。
在步骤S401,节点确定是否已经检测到了与所要传送的异步数据或等时数据对应的预定间隙长度。只要还没有检测到该预定间隙长度,它就不能请求开始数据传送的总线使用权,因此,节点进行等候直到检测到了预定间隙长度。
当在步骤S40检测到了预定间隙长度时,节点在步骤S402判定是否有所要传送的数据。如果是“是”,它在步骤S403向根发出请求总线使用权的信号。如图10A所示,这种请求总线使用权的信号被网络中的相应装置所中继,并被送到根。如果在步骤S402判定没有所要传送的数据,处理返回到步骤S401。
在步骤S404,如果根已经接收到了总线使用权的单个或多个请求,它在步骤S405检验请求总线使用权的数目。从在步骤S405的判定,如果请求总线使用权的节点的数目是一个,则在该要求之后该节点立即被给予总线使用许可。另一方面,如果节点的数目多于一个,则进行调解以确定一个节点—它在要求之后立即被给予总线使用权。该调解并不总是把总线使用权给予同一个节点,而是平等地把总线使用权授予相应的节点(公平调解)。
在步骤S407在根进行的处理分成了对在步骤S406的调解中占据支配地位的节点的处理和对在调解中失败的其他节点的处理。在其中有一个节点请求总线使用权的情况下,或者一个节点已经在调解中占据支配地位的情况下,该节点在步骤S408被给予表示总线使用许可的一个许可信号。该节点在接收到该许可信号之后立即开始数据(包)传送(步骤S410)。另一方面,在调解中失败的节点在步骤S409接收到一个DP(数据首标)包—它表示总线使用权被拒绝了。对接收到DP包的节点的处理返回到步骤S401,以重新请求总线使用权。对在步骤S410完成了数据传送了节点的处理也返回到步骤S401。
(异步传送)图12显示了在异步传送中的过程。在图12中,第一个子作用间隙代表总线的闲置状态。在其中闲置时间已经变成了一个预定值的点,希望进行数据传送的节点请求总线使用权,随后执行总线调解。
当调解允许使用总线时,包形式的数据得到传送,且接收到该数据的节点送出一个接收确认编码ACK作为响应,或在一个称为ACK间隙的短间隙之后送出一个响应包,从而完成数据传送。编码ACK包括4位信息和4位核对和。编码ACK—包括表示成功、繁忙或未决状态的信息—被立即送至数据发送节点。
图13显示了异步传送的包形式。该包具有一个数据区、一个用于错误校正的数据CRC区、以及一个标头区-其中写入有目的地节点ID、源节点ID、传送数据长度和各种编码。
异步传送是从一个发送节点至接收节点的一对一通信。从发送节点送出的包被网络中的相应节点所中继,然而,由于这些节点不是包的接收者,它们忽略该包,因而只有发送节点指定的接收节点接收该包。
(等时传送)等时传送—它可被认为是应该理解的是的最大特征—适合于请求特别是AV数据的实时传送的多媒体数据传送。
进一步地,异步传送是一对一的传送,而等时传送是从一个发送节点至所有其他节点的广播传送。
图14显示了等时传送中的瞬时状态。等时传送是在称为“等时周期”的预定的周期中在总线上进行的。等时周期为125ms。一个周期开始包(CSP)表示了等时周期的开始,用于使相应节点的操作同步。当一个周期中的数据传送已经完成且一个预定的闲置时期(子作用间隙)已经过去时,一个被称为“周期控制者(master)”的节点送出表示下一个周期的开始的CSP。即,CSP发出之间的间隔为125ms。
作为图14中的信道A、信道B和信道C,相应的包被提供有一个信道ID,从而能够在一个等时周期中独立地传送多种类型的包。这使得能够在多个节点之间进行基本实时的传送。接收节点能够只接收具有预定信道ID的数据。该信道ID不表示接收节点的地址,而只表示相对于该数据的逻辑数。因此,从发送节点传送的一个包被传送到所有其他的节点,即广播。
与异步传送类似地,在等时传送进行的包广播之前进行总线调解。然而,由于等时传送不是象异步传送的一对一通信,在等时传送中不采用在异步传送中用作响应的接收确认编码ACK。
另外,图14中的一个等时间隙(iso gap)表示了在等时传送之前证实总线处于闲置状态所需的闲置时期。如果该预定的闲置时期已经过去,则对于希望等时传送的节点进行总线调解。
图15显示了等时传送的包格式。分入信道的各种包分别具有数据域、用于错误校正的数据CRC域和包含诸如传送数据长度、信道号、各种编码和错误校正标头CRC的信息的标头域,如图15所示。
(总线周期)实际上,等时传送和异步传送能够在1394串行总线上混合进行。图16显示了在1394串行总线上混合进行的等时传送和异步传送的瞬时状态。
等时传送是在异步传送之前进行的,因为在CSP之后,等时传送能够以比并开始异步传送所需的闲置期间短的间隙(等时间隙)而得到开始。因此,等时传送优先于异步传送。
在如图16所示的典型的总线周期中,在开始周期#m时,CSP被从周期控制者传送到相应的节点。相应的节点的操作由该CSP同步,且等候预定的闲置期间(等时间隙)以进行等时传送的节点参与总线调解,随后开始包传送。在图16中,借助等时传送传送了一个信道e、一个信道s和一个信道k。
从总线调解至包传送的操作对于给定的信道得到了重复,且当在周期#m中的等时传送已经完成时,可进行一个异步传送。即,当闲置期间已经达到了异步传送的子作用间隙时,要进行异步传送的节点参与总线调解。注意只有等时传送完成之后且CSP(周期同步)的下一个传送时序之前检测到开始异步传送的子作用间隙,才能够进行异步传送。
在图16的周期#m中,进行了对三个信道的等时传送,且随后两个包括ACK的包(包1和包2)通过异步传送而得到传送。当异步包2已经被传送时,随着开始随后的周期m+1的下一个周期同步点的到来,周期#m中的传送结束。注意在异步或等时传送期间,如果传送下一个CSP的下一个周期同步点已经到来,传送并不被强行停止而是继续。在该传送完成之后,在一个预定的闲置期间之后下一个周期的CSP得到传送。即,当一个等时周期继续了125ms以上时,下一个等时周期比基准周期125ms短。以此方式,等时周期根据基准周期125ms能够得到延长或缩短。
然而,可以进行适当安排以使等时传送在每一个周期中进行,同时异步传送有时被推迟至下一个周期或下一个周期之后的周期,以保持实时传送。周期控制器也管理关于这种延迟的信息。
(第一实施例)以下描述本发明的第一实施例。
图17显示了与LAN中经常采用的OSI型号的相应层相比较的1394串行总线的接口。在OSI型号中,物理层1和数据链接层2分别对应于1394串行总线接口的一个下层4中的一个物理层811和一个链接层812(两者都在图2中显示)。在1394串行总线接口中,作为上层的一个传输协议层5和一个提供层6与包括一个网络层、一个传输层、一个对话(session)层和一个表示(presentation)层的OSI型号的一个上层3相对应。另外,作为本发明的一个特征的一个LOGIN协议7在1394串行总线接口的传输协议层5与下层4之间运行。
在图17中的例子1中,通过给基于诸如打印机的外设装置的串行总线协议(SBP-2)8的一个装置提供LOGIN协议7,该外设装置采用了基于协议SBP-2的协议,以通知一个目标装置与该目标装置的数据传送。在例子2中,对于专用于1394串行总线接口上的装置协议9,通过提供LOGIN协议7给相应的装置,这些装置能够彼此确定该目标装置是否支持它们的协议。
图18显示了LOGIN协议的基本操作。当一个打印机装置执行来自一个主机装置的打印任务10时,该打印机装置首先根据LOGIN协议7的通信来选择打印机协议A至C中的一个以进行数据通信。随后,该打印机装置根据选定的打印机协议进行打印数据传送。即,在支持多个打印机协议的打印机装置与一个主机装置相连接时,该打印机装置首先根据LOGIN协议7判定主机装置的传输协议5,选择与主机装置的传输协议5相应的打印机协议,并根据选定的打印机协议进行打印数据或指令的传送/接收,从而执行打印任务10。
图19显示了1394串行总线中的连接状态,其中具有LOGIN协议7的装置(PC12、扫描器13和VCR14等)与对应于多个打印机协议的一个打印机11相连。打印机11能够通过根据请求与打印机装置相连的装置的传输协议5,来改变打印机协议。
图20显示了登录操作的流程。
在步骤1主机装置锁定一个目标装置(在此情况下是一个多协议打印机)。
·目标装置检验主机装置的能力(包括传输协议)。注意该能力已经被存储在主机装置的一个能力寄存器503(将要在后面描述)中。
·目标装置设定主机装置的能力(包括传输协议)。
在步骤2·借助在步骤1确定的协议传送打印数据。
在步骤3主机装置断开与目标装置的连接。
图21显示了一个控制/状态寄存器(CSR)—它由作为目标装置的打印机准备以安装LOGIN协议,包括一个锁定寄存器501、一个协议寄存器502和一个能力寄存器503。这些寄存器带有在1394串行总线的地址空间中的初始单元空间中的预定地址。即,如图3所示,在提供给装置的48位地址区中,前20位中的“0xFFFFF”被称为“寄存器空间”,其中作为CSR布局的核心的寄存器(CSR核心)被设置在第一512字节中。注意经过总线相连的装置共同的信息被提供在该寄存器空间中。另外,“0-0xFFFFD”被称为“存储器空间”,且“0xFFFFE”被称为“专用空间”。专用空间是装置中可以为装置之间的通信而自由使用的地址。
锁定寄存器501表示资源的锁定状态,其中值“0”表示登录使能状态,且“0”以外的所有值表示已经登录和锁定状态。能力寄存器503表示一个协议—其中各个位代表一个协议,其中值“1”位表示相应的协议能够被设定,而值“0”位表示不能设定相应的协议。协议寄存器502表示一个当前设定的协议。即协议寄存器502的各个位对应于能力寄存器503的各个位,且与设定的协议相应的协议寄存器502的位的值是“1”。
另外,协议寄存器502具有一个表示主机装置的h位、表示目标装置的一个t位、表示协议控制者的一个p位和表示多重登录的协议的m位,以及表示协议的位。
能力寄存器503具有表示变成主机装置的可能性的h位、表示变成目标装置的可能性的t位、表示变成协议控制者的可能性的一个p位和与协议寄存器502的m位相应的一个保留位,以及表示可设定的协议的位。
协议控制者是一个装置—它获得与1394串行总线相连的支持LOGIN协议的装置中的可设定协议,对获得的协议进行多数确定,并把优先于其他协议使用的协议通知相应的装置。如果有多个装置可成为协议控制者,则在节点之间进行调节,以确定协议控制者。
图22是流程图,显示了主机装置中的LOGIN处理。
为了开始LOGIN处理,首先将要被登录的目标装置(例如打印机)的锁定寄存器501、协议寄存器502和能力寄存器503的数据,通过读取业务而得到检查。此时,从能力寄存器503的数据,检验目标装置是否支持主机装置用于通信的协议(步骤S601)。如果目标装置不支持主机装置的协议,LOGIN处理在步骤S602被终结。
进一步地,如果锁定寄存器501的数据值不是“0”,则判定另一个装置处于登录状态,且LOGIN处理终止。如果锁定寄存器501的数据值是“0”,则判定现在可能进行登录(步骤S602)。
在登录使能状态下,移动进行到资源锁定处理—其中通过利用锁定业务把“1”写入打印机的锁定寄存器501中而设定登录(步骤S603)。目标装置在此状态下被锁定,且它是不可从其他装置控制的且寄存器值不能被改变。
如上所述,在其中目标装置的资源被锁定的情况下,随后进行协议设定。作为本实施例的目标装置的打印机支持多个打印机协议,且必须打印机在接收打印数据之前必须被告诉主机装置所使用的协议。在本实施例中,所要使用的协议,通过借助写入业务而设定打印机的协议寄存器502的相应的位,而被通知给协议(步骤S604)。
此时,由于主机装置用于通信的协议已经通知给了目标装置且目标装置处于锁定状态,当前登录到目标装置的主机装置进行数据(在此情况下是打印数据)传送(步骤S605)。
当数据传送已经完成时,主机装置通过清除目标装置的锁定寄存器501和能力寄存器503而与打印机脱离(步骤S606)。
图23是流程图,显示了作为目标装置的打印机中的LOGIN处理。
打印机通常等候主机装置的登录。在来自主机装置的打印请求通过从锁定寄存器501、打印机的协议寄存器502和能力寄存器503读出数据值而开始时,这些寄存器必须处于读出使能状态。这种处理将在假定将要进行打印的主机装置已经锁定了打印机的前提下得到描述(步骤S701)。
打印机等候来自主机装置的可用协议的通知(步骤S702)。打印机在锁定状态下接收到可用协议的通知,以保持协议寄存器502在登录处理的过程中不被另一装置的请求所改变。
当可用协议已经被分配时(步骤S703),打印机把其自身的协议切换到分配的协议(步骤S704、S706和S708),并根据主机装置的协议进行通信(步骤S705、S707和S709)。
当通信已经完成时,打印机确认锁定寄存器501和能力寄存器503已经被清除(步骤S710),并返回到登录等候状态(步骤S701)。
(第二实施例)图24显示了根据本发明的第二实施例的操作。与图18所示的第一实施例相比,第二实施例可用于具有协议D的装置—它没有被安装在LOGIN协议7中。即,为了保证装置只对应于打印操作的协议D(例如AV/C协议),以及具有LOGIN协议7的装置,打印机侧具有协议D。
在此情况下,如果打印机通过在连接开始时进行的打印请求而识别主机装置在LOGIN协议7中没有分配一个协议,则打印机尝试通过采用协议D与主机装置进行通信,且如果能够建立该通信,打印机根据协议D执行打印任务10。
图25显示了与OSI型号相比的、根据第二实施例的IEEE 1394串行接口。例子3作为一个模型而采用了采用AV/C协议的AV装置15。在AV装置15中,没有安装LOGIN协议7。例子4作为一个模型而采用了一个扫描器16,其中没有安装LOGIN协议7,但安装了用于扫描器的非标准协议(装置的专用协议)。
即,对于其中没有安装LOGIN协议7的装置,如果打印机能够利用该装置的协议进行通信,则打印机能够从该装置进行打印任务。这增大了能够使用打印机的装置的类型。
(第三实施例)图26是流程图,显示了根据本发明的第三实施例的打印机中的LOGIN处理。注意与图23中的步骤相同的步骤用相同的步骤号表示,并省略了对这些步骤的详细描述。
通常,打印机等候主机装置的登录(步骤S701)。在预定的时间之后登录等候状态(步骤S701)成为时间已过状态,且在步骤S712,判定打印机是否处于时间已过状态。如果打印机在该预定时间里被登录且在步骤S712判定打印机不处于时间已过状态,则进行图23中描述的处理。
另一方面,如果在步骤S712判定了时间已过状态,则搜索主机装置的协议(步骤S713)。虽然协议搜索的细节将在后面描述,协议搜索是为了利用节点ID来找到作为主机装置的节点并搜索该主机装置所采用的协议。
从步骤S713的协议搜索结果,在步骤S714判定打印机所用的协议中是否有与主机装置采用的协议相对应的协议。如果在步骤S714判定打印机对应于主机装置采用的协议,则该协议得到设定(步骤S703)。另一方面,如果该打印机不对应于主机装置所用的协议,则打印机进入登录等候状态(步骤S701)。
即,在第三实施例中的打印机中的LOGIN处理中,当协议被登录且将要采用的一个协议得到通知时(步骤S702),或者被相应的打印机采用的一个协议根据主机装置而借助协议搜索而被搜索到时(步骤S714),则协议得到设定(步骤S705、S707、S709)。
在协议设定之后的处理与图23的相同。然而,在其中借助协议搜索而确定了协议的情况下(步骤S713),打印机还没有被登录,因而不进行脱离处理(步骤S710)。在此情况下,打印机通过复置总线、主机装置或打印机而进入登录等候状态(步骤S701)。
图27是流程图,显示了上述的协议搜索处理。
首先,获得总线上的节点的总数(步骤S801)。总线上的节点的总数是从总线管理者保持的拓扑布局图等获得的。
随后,判定在步骤S801获得的节点的总数是否有效(步骤S802)。该判定是这样进行的,即如果节点的总数为一或三或更多,即除了当前的节点之外没有其他的节点,则节点的总数是无效的。换言之,只有当节点的总数为二时,判定结果才是有效的。如果在步骤S802判定节点的总数为无效,则判定没有可接受的协议(步骤S807),随后处理返回到图26的处理。
另一方面,如果节点的总数是有效的,则判定通信目的装置(主机装置)的节点ID(步骤S803)。由于节点的总数为二,如果打印机的节点ID为“0”,目的装置的ID为“1”。如果打印机的节点ID为“1”,目的装置为“0”。以此方式,目的装置的节点ID得到简单的确定。
随后,获得主机装置的销售商ID(步骤S804)。销售商ID是通过借助业务而读出配置ROM中的“node_vendor_id”、“chip_id_hi”、“chip_id_lo”而获得的。如上所述,由于销售商ID具有对于装置来说是唯一的数值,主机装置由销售商ID所指明。随后,从指明的装置信息获得主机装置采用的协议(步骤S805)。
随后,判定打印机所用的协议中是否有与主机装置采用的协议相对应的协议(步骤S806)。如果打印机不对应于该协议,则判定没有对应的协议(步骤S807),而如果打印机对应于该协议,则判定有相应的协议(步骤S808)且处理返回到图26的处理。相应地,作为协议搜索的结果,相应的协议的有/无得到了判定。
以此方式,借助图26和27中显示的处理,即使对于不进行登录操作的主机装置,打印机都从主机装置的销售商ID指明了该主机装置采用的协议,且如果该打印机对应于该指明的协议,则打印机通过采用该协议而与该主机装置进行通信。
(第四实施例)图28是流程图,显示了根据本发明的第四实施例而由一个协议控制者进行的协议多数判定处理,即确定一个协议的处理,该协议被最大数目的装置所支持,将要优先于其他协议而得到使用。
首先,进行初始化处理以计数协议的数目(步骤S811)。随后,判定是否已经获得了有关所有节点的信息(步骤S812)。如果还没有获得有关所有节点的信息,则读出感兴趣的节点的能力寄存器503的内容,且计数可设定的协议(步骤S813)。在相应的节点中可获得的协议中,被多个节点所采用的协议的数目得到计数。由于最大数目的协议是被最大数目的节点所用的协议,该节点应该优先于其他的节点而得到采用,随后处理返回步骤S812。
如果在步骤S812判定已经获得了有关所有节点的信息,则进行初始化处理(步骤S815)以通知将要优先于其他协议而得到采用的协议。随后,判定是否所有节点都已经被通知了将要优先于其他协议而得到使用的协议(步骤S816),且如果为“是”,处理结束;而如果为“否”,则优先于其他协议得到使用的协议得到通知(步骤S817),随后处理返回步骤S816。
图29是流程图,显示了主机装置中的LOGIN处理。注意与图22中的步骤相同的步骤具有相同的标号,且省略了对这些步骤的详细描述。
如果打印机支持主机装置用于通信的协议,则通过判定在步骤S601获得的锁定寄存器501的值是否为“0”,来判定打印机是否被登录且资源是否已经被锁定(步骤S611)。如果在步骤S611判定另一装置已经登录了打印机(锁定寄存器501≠0),则从在步骤S601获得的协议寄存器502的内容,判定当前设定在打印机中的协议是否适于多重登录(步骤S613)。如果在步骤S613判定该协议适于多重登录,处理进行到步骤S605,而如果该协议不适合于多重登录则处理结束。
另一方面,如果在步骤S611判定另一装置没有登录打印机且打印机处于登录使能状态(锁定寄存器501=0),则打印机的资源得到锁定(步骤S603)。
随后,如图22所示描述的,进行协议设定。在本实施例中,如果主机装置和打印机都支持协议控制者所通知的、将要优先于其他协议而采用的协议,则该协议被优先于其他协议而得到采用。进一步地,如果在主机装置和打印机所支持的协议中有适合于多重登录的协议,则该适合于多重登录的协议优先于其他协议而得到采用。因此,由于将要采用的协议已经得到确定,则判定该。是否当前设定在打印机中的协议(步骤S614)。如果该协议不同于当前设定在打印机中的协议,则在步骤S604进行协议设定以改变协议。注意如果在用于通信的协议中要求LOGIN处理,主机装置采用该协议,并在步骤S605在数据传送开始时进行LOGIN处理。进一步地,在用于通信的协议适合于多重登录的情况下,在步骤S605的开始时进行LOGIN处理。
当数据传送完成时,如结合图22所示描述的,主机装置清除打印机的锁定寄存器501,以释放打印机的资源锁定状态。在其中通信是利用适合于多重登录的协议进行的情况下,主机装置在另一装置没有登录打印机的情况下释放打印机的资源锁定状态。
图30是流程图,显示了打印机(目标装置)中的LOGIN处理。注意与图23中相同的步骤具有相同的步骤号,且省略了对这些步骤的详细描述。
打印机在步骤S701被主机装置所登录。随后判定是否已经从主机装置接收到了协议通知(步骤S721)。如果为“是”,则设定主机装置指定的协议(步骤S703)。
另一方面,如果在步骤S721判定还没有接收到协议通知,则进行步骤S703的处理,处理直接进行到步骤S704。
随后,如结合图23所描述的,借助在步骤S704和步骤S709的处理而进行通信。在适合于多重登录的协议中,多个主机装置的登录是可接受的。随后,当与所有主机装置的通信完成时,打印机确认锁定寄存器501已经被主机装置所清除(步骤S710),并返回到等候来自主机装置的登录的状态(步骤S701)。
(第五实施例)图31显示了在由1394串行总线构成的网络中的打印机映象(或打印机表)的格式。该打印机映象包括一个唯一的ID、一个节点ID、送回了响应的各个打印机节点的状态和能力。该状态表示例如图21中的协议寄存器502的内容,且该能力表示例如图21中的能力寄存器503的内容。
图32显示了CSR布局中的节点的唯一的ID的格式。图33显示了一个打印机映象(图31)生成指令的格式。该指令通过异步包的写入业务而被通知给目标装置。该指令,如图31所示,在该协议中被分配在1394地址空间中的目标的单元空间中的预定地址处。
图34是流程图,显示了当多个多协议打印机与网络相连时由主机装置进行的打印机映象生成处理。
通常,各种装置与网络相连。在此情况下,当一个初始者(主机装置)尝试打印时,需要发现与打印机相连的节点。另外,为了获得适当的打印输出,很方便的是知道打印机的物理位置、能力和剩余处理能力。此时,在此实施例中,主机装置检验与相同的网络相连的打印机。例如,在打印输出时,初始者(主机装置)获得一个有关网络上的打印机的物理位置、能力和剩余处理能力的信息(以下也称为“拓扑布局/能力信息”),并预先生成一个打印机映象,随后根据该打印机映象来选择一个目标打印机。
以下,结合图34来描述借助主机装置进行的打印机映象生成处理。首先,主机装置广播打印机映象生成指令(图33)以生成该打印机映象(步骤S3001),并进入等候状态以等候从作为目标装置的打印机接收响应指令(步骤S3002)。
当主机装置接收到来自目标装置的响应指令时,它读出送回该响应指令的目标装置的协议寄存器502与能力寄存器503的内容(步骤S3003)。随后,主机装置根据在步骤S3003获得的信息,生成用于当前构成网络的打印机的一个打印机映象(步骤S3004)。
图35是流程图,显示了与主机装置即打印机进行的打印机映象生成处理相对应的目标装置中的处理。首先,打印机的电力被接通,随后打印机提供其状态和能力(步骤S3101)。更具体地说,打印机根据当前的能力和状态来设定协议寄存器502和能力寄存器503。因此,打印机内的状态和能力改变由在此步骤提供的状态和能力寄存器所反映。
随后,打印机进入等候状态以等候接收来自主机装置的打印机映象生成指令(步骤S3102)。随后,当打印机接收到来自主机装置的打印机映象生成指令时,把响应指令送回主机装置(步骤S3103)。
图36是流程图,显示了主机装置中的LOGIN处理。注意与图22中相同的步骤具有相同的步骤号,且省略了对这些步骤的详细描述。即,为了开始LOGIN处理,进行了图34所示的打印机映象生成处理(步骤S621),随后进行与图22相同的处理。
图37是流程图,显示了打印机中的LOGIN处理。注意与图23中相同的步骤具有相同的步骤号,且省略了对这些步骤的详细描述。即,打印机首先进行图35显示的打印机映象生成处理(步骤731),随后进入等候状态以等候来自主机装置的登录,并进行与图23中相同的处理。
(第六实施例)以下描述本发明的第六实施例。在第五实施例中,如结合图34和35描述的,当多个打印机与一个网络相连时,一个主机装置在与网络相连的打印机上生成一个打印机映象,并根据该打印机映象选择的目标打印机。在第六实施例中,在其中主机装置和打印机支持网络上的多个协议的情况下,每一个都支持多个协议的多个打印机与网络相连,主机装置检验各个打印机可获得的协议,并确定由最多的打印机支持的协议为将要采用的协议。
注意除了图34和35所示的处理不同,第六实施例的处理与第五实施例中是相同的,因而将省略在第六实施例中的该处理,且以下只描述与第五实施例中不同的部分。
图38是流程图,显示了根据第六实施例的主机装置进行的多数确定处理。图39是流程图,显示了与图38的处理相应的处理。注意与图34和35中相同的步骤具有相同的步骤标号,且省略了对这些步骤的描述。
图38的处理是在图36所示的主机装置中的LOGIN处理中的步骤S621进行的。图39的处理是在图37所示的打印机中的LOGIN处理中的步骤S731进行的。如上所述,初始器(主机装置)和和目标装置(打印机)都支持多个协议,进一步地,每一个都支持多个协议的多个打印机与同一网络相连。在此情况下,初始器和目标装置必须采用相同的协议。为了确定所用的协议,初始器检验各个打印机可获得的协议,并把最多打印机支持的协议确定为将要采用的协议。这种处理被称为多数确定处理。以此方式,通过在其中可获得若干协议的情况下进行多数确定处理,实际采用的协议得到了减少。其结果,由于初始器的协议切换引起的负荷能够得到减小。
以下将结合图38和39描述初始器(主机装置)和目标装置(打印机)进行的打印机映象生成处理,以及由初始器进行的多数确定处理。
当打印机映象生成已经完成时(步骤S3004),主机装置根据所生成的打印机映象来检验当前与网络相连的多协议打印机可获得的协议,并选择最多的打印机支持的协议(步骤S3005)。随后主机装置借助一个协议通知指令把选定的协议通知相应的打印机(步骤S3006)。
另一方面,打印机把对打印机映象生成指令的一个响应送回主机装置(步骤S3103),并进入等候状态以等候从主机装置接收表示所要采用的协议的通知指令(步骤S3104)。当打印机接收到来自主机装置的协议通知指令时,它把对该通知指令的一个响应送回主机装置,并设定所要采用的通知的协议(步骤S3105)。
(实施例的修改)已经在其中利用根据IEEE 1394标准的串行总线构成网络的情况下描述了上述实施例,然而,本发明不限于1394串行总线。例如,本发明可应用于利用诸如University Serial Bus(USB)的任意串行接口构成的网络。
进一步地,各个装置唯一的标识符(ID)可以是ASCII编码、二进制数据、或公司名称或作为装置拥有者的个人名称。进一步地,该标识符可以是诸如因特网协议(IP)地址或介质存取控制(MAC)地址的网络地址。进一步地,标识符可以是可变标识符而不是各个装置唯一的标识符,或者可以是一个秘钥。即,任何信息都可被包括在本发明的标识符中,只要它能够被用于识别各个装置。
注意在上述实施例中,打印机主要被描述为网络上的目标装置或主机装置。然而,目标装置不限于打印机,而是可以是任何其他的装置—诸如监测器、计算机、数字摄象机、扫描器、数字视频机和外部存储装置。进一步地,目标装置不限于任何具体的装置型号。
进一步地,在图36的步骤S621、图37的步骤S731和图38的步骤S3001进行的打印机映象生成中,表示相应节点的连接状态的网络拓扑布局如图9所示地得到检验,并生成了一个显示映象。通过判定这种网络拓扑布局,实际使用的打印机和协议得到了确定—不是简单地通过多数确定,而是考虑到网络拓扑布局即各个节点的连接状态。
如上所述,根据第三实施例,打印机搜索主机装置的协议,且如果打印机与协议相应,则利用该协议进行通信。这甚至调节了对于不响应于诸如LOGIN协议的初始协议的主机装置的通信协议。
进一步地,根据第四实施例,在其中选择了多个协议之一的情况下,能够通过减小协议改变频率来防止效率的降低。进一步地,通过采用允许多个装置登录的、优先于其他协议的协议,能够防止装置的占用。
进一步地,根据第五实施例,主机装置检验关于与同一网络相连的打印机的信息,例如在网络上的位置、能力、状态和剩余处理能力,从而选择适合于打印目的的打印机,从而获得适当的打印输出。
进一步地,根据第六实施例,在其中有若干个可用协议的情况下,能够通过把受到最多的打印机支持的协议确定为将要采用的协议,而减小实际采用的协议的类型。这减小了由于主机装置的协议改变而引起的负荷。
(其他实施例)本发明可被应用于由多个装置(例如主计算机、接口、读取器、打印机)组成的系统,或用于包括单个装置(例如复印机、传真机)的设备。
进一步地,本发明的目的,能够通过向一个系统或设备提供存储用于进行上述处理的程序编码的存储介质、用系统的计算机(例如CPU、MPU)读取该程序编码、并随后执行该程序,而得到实现。
在此情况下,从存储介质读出的程序编码实现了根据这些实施例的功能,且存储该程序编码的存储介质构成了本发明。
进一步,该存储介质,诸如软盘、硬盘、光盘、磁—光盘、CD-ROM、CD-R、磁带、非易失存储卡、和ROM,可被用于提供该程序编码。
另外,除了根据上述实施例的上述功能是通过执行由计算机读出的程序编码而得到实现之外,本发明还包括一种情况—其中工作在计算机上的OS(操作系统)等执行了根据该程序编码的指示的一部分或全部处理,并实现了根据上述实施例的功能。
另外,本发明还包括这样的情况—即其中在从存储介质读出的程序编码被写入插入计算机中的功能扩展卡中或设置在与计算机的功能扩展单元中的一个存储器中之后,包含在该功能扩展卡或单元中的CPU等执行了根据该程序编码的指示的部分或全部处理,并实现了上述实施例的功能。
本发明不限于上述的实施例,且在本发明的精神和范围之内能够进行各种改变和修正。因此,为了确定本发明的公开范围而提出了所附的权利要求书。
权利要求
1.一种通信系统,包括一个第一装置、一个第二装置、以及一条串行总线—它为所述第一和第二装置中的每一个定义了一个预定的地址空间,其中所述第一装置包括第一协议能力存储装置,它处于所述串行总线定义的地址空间中,用于存储有关相应数据输送协议的可用性的信息,所述第二装置包括第一识别装置,用于通过指定由所述串行总线定义的一个地址来读取所述第一协议能力存储装置的内容并识别读取的内容;以及第一确定装置,用于根据所述第一协议能力存储装置的内容来确定一个数据输送协议,其中所述第一识别装置在所述第一确定装置的确定之前识别多个可用的数据输送协议。
2.根据权利要求1的系统,其中所述第一装置进一步包括锁定存储装置,该锁定存储装置处于由所述串行总线定义的地址空间中,用于存储有关一个资源的占用状态的信息。
3.根据权利要求2的系统,其中所述第二装置进一步包括第二识别装置,用于根据指定由所述串行总线定义的地址的读出或锁定业务来识别所述锁定存储装置的内容;以及确定装置,用于根据所述锁定存储装置的内容来确定所述第一装置是否被占用。
4.根据权利要求1的系统,其中数据输送协议包括一个打印机协议。
5.根据权利要求4的系统,其中该打印机协议是用于传送所要打印的数据的。
6.根据权利要求1的系统,其中所述第二装置输出图象信息。
7.根据权利要求6的系统,其中所述第二装置是一个计算机、一个数字摄象机、一个扫描器、一个数字视盘、一个顶置盒、一个数字电视、一个会议摄象机、一个数字视频系统或它们的组合。
8.根据权利要求1的系统,其中所述第一装置进一步包括协议存储装置—由所述第一确定装置确定的协议的信息就写入在该协议存储装置中。
9.根据权利要求1的系统,其中所述串行总线符合IEEE 1394标准。
10.根据权利要求1的系统,其中所述串行总线以DS-链接方法调制数据并传送调制的数据。
11.根据权利要求1的系统,其中所述第一识别装置根据指定由所述串行总线定义的读出业务来识别所述第一协议能力存储装置的内容。
12.根据权利要求11的系统,其中读出业务是在比所述串行总线的一个传输协议层低的层上执行的。
13.根据权利要求1的系统,其中所述第一装置接收图象信息。
14.根据权利要求13的系统,其中所述第一装置是一个监测器、一个计算机、一个外部存储装置、一个顶置盒、一个打印机或它们的组合。
15.根据权利要求1的系统,其中所述第二装置进一步包括第二协议能力存储装置,该第二协议能力存储装置处于由所述串行总线定义的地址空间中,用于存储有关相应的数据输送协议的可用性的信息。
16.根据权利要求15的系统,其中所述第一装置进一步包括第二识别装置,用于通过指定由所述串行总线定义的一个地址来读取所述第二协议能力存储装置的内容并识别该内容;以及第二确定装置,用于根据所述第二协议能力存储装置的内容来确定一个数据输送协议,其中所述第二识别装置在所述第二确定装置的确定之前识别多个可用的数据输送协议。
17.在一个第一装置与一个第二装置通过为所述第一装置和第二装置中的每一个定义一个预定地址空间的一条串行总线的通信方法,所述方法包括以下步骤把有关相应的数据输送协议的可用性的信息存储在处于由所述串行总线定义的地址空间中的一个协议能力存储寄存器中;通过指定由该串行总线定义的一个地址,读取存储在该协议能力存储寄存器中的内容;识别读取的内容;以及根据存储在该协议能力存储寄存器中的内容来确定一个数据输送协议,其中在所述识别步骤的确定之前的所述识别步骤中识别多个可用的数据输送协议。
18.用于与一条串行总线相连的一个装置的通信方法—该串行总线为该装置定义了一个预定地址空间,所述方法包括把有关相应数据输送协议的可用性的信息存储到一个协议能力存储寄存器中的步骤,其中协议能力存储寄存器处于由所述串行总线定义的地址空间中。
19.用于与一条串行总线相连的一个装置的通信方法—其中该串行总线为该装置定义了一个预定的地址空间,所述方法包括以下步骤通过指定由该串行总线定义的一个地址,读出存储在与该串行总线相连的另一装置的一个协议能力存储寄存器中的内容—该寄存器存储有关相应的数据输送协议的可用性的信息;识别读取的内容;以及根据存储在该协议能力存储寄存器中的内容,确定一个数据输送协议,其中在所述确定步骤中的确定之前在所述识别步骤中识别多个可用的数据输送协议。
20.用于在一条串行总线上进行数据通信的数据通信方法,其特征在于包括以下步骤借助采用一个初始协议的通信来获得有关一个目标装置的可用的通信协议的能力信息;根据所获得的能力信息,使所述目标装置设定一个能用于数据通信的通信协议;以及根据所设定的通信协议与所述目标装置进行数据通信。
21.根据权利要求20的方法,其中所述目标装置对应于多个通信协议,且其中该能力信息包括表示多个通信协议的信息。
22.根据权利要求20的方法,其中所述目标装置是一个打印机,且借助通信协议进行通信的数据是图象数据。
23.根据权利要求21的方法,其中所述目标装置是一个喷墨打印机,且所述目标装置的多个通信协议适合于该喷墨打印机的图象形成。
24.根据权利要求20的方法,其中借助通信协议进行通信的数据是借助一个图象检测装置获得的图象数据。
25.根据权利要求20的方法,其中串行总线是适于或根据IEEE 1394标准的串行总线。
26.根据权利要求25的方法,其中该能力信息被存储在IEEE 1394标准的地址空间中的一个CSR寄存器中,且其中该通信协议通过利用该CSR寄存器而得到设定。
27.根据权利要求20的方法,其中串行总线是适于或根据UniversalSerial Bus标准的串行总线。
28.根据权利要求20的方法,其中初始协议是在高于OSI型号的数据链接层的一个层上执行的。
29.用于在一条串行总线上进行数据通信的一种数据通信方法,其特征在于包括以下步骤响应于来自一个主机装置的使用一个初始协议的请求,把能力信息送回该主机装置;根据按照该能力信息而来自所述主机装置的一个指令,设定将要在数据通信中使用的一个通信协议;以及根据设定的通信协议与所述主机装置进行数据通信。
30.根据权利要求29的方法,其中可得到多个通信协议,且其中能力信息包括表示该多个通信协议的信息。
31.根据权利要求29或30的方法,其中借助通信协议进行通信的数据是图象数据。
32.根据权利要求30的方法,其中的多个通信协议适合于借助喷墨打印机的图象形成。
33.根据权利要求29的方法,其中借助通信协议进行通信的数据是由一种图象检测装置获得的图象数据。
34.根据权利要求29的方法,其中串行总线是适于或根据IEEE 1394标准的总线。
35.根据权利要求34的方法,其中能力信息被存储在IEEE 1394标准的地址空间中的一个CSR寄存器中,且其中通信协议是通过利用该CSR寄存器而设定的。
36.根据权利要求29的方法,其中串行总线是适于或根据UniversalSerial Bus标准的总线。
37.根据权利要求29的方法,其中初始协议是在高于OSI型号的一个数据链接层的层中执行的。
38.用于在一条串行总线上进行数据通信的数据通信设备,其特征在于包括对应于一个初始协议和用于数据通信的多个通信协议的通信装置;存储装置,其中存储有包括表示多个通信协议的信息的能力信息;以及设定装置,用于设定所述通信装置的一个通信协议,其中所述通信装置根据利用初始协议而来自一个主机装置的一个请求而发送存储在所述存储装置中的能力信息,且所述设定装置根据利用该初始协议而来自该主机装置的一个指令而设定所述通信装置的通信协议。
39.用于在一条串行总线上进行数据通信的数据通信系统,其特征在于包括至少一个根据权利要求20的主机装置;以及至少一个根据权利要求29的目标装置,其中数据通信是根据一个设定的通信协议而在所述至少一个主机装置和所述至少一个目标装置之间进行的。
40.用于在一条串行总线上进行数据通信的一种数据通信方法,其特征在于包括以下步骤接收来自一个主机装置的连接请求;如果识别出所述主机装置不对应于一个预定的协议,则设定将要在数据通信中采用的一个通信协议;借助设定的通信协议尝试与所述主机装置进行通信;以及如果建立了与所述主机装置的通信,则通过利用设定的通信协议与所述主机装置进行数据通信。
41.用于在一条串行总线上进行数据通信的一种数据通信设备,其特征在于包括对应于一个初始协议和用于数据通信的多个通信协议的通信装置;以及用于控制与一个主机装置的数据通信的控制装置,其中如果所述控制装置从所述通信装置接收的来自所述主机装置的一个连接请求识别出所述主机装置不对应于该初始协议,所述控制装置在所述通信装置设定一个预定通信协议、尝试借助设定的通信协议与所述主机装置进行通信,并在建立了与所述主机装置的通信的情况下通过采用设定的通信协议与所述主机装置进行数据通信。
42.用于在一条串行总线上进行数据通信的一种数据通信方法,包括以下步骤获得不对应于一个初始协议的一个主机装置的一个标识符;根据所获得的标识符识别所述主机装置的一个协议;以及如果识别的协议是可获得的,则把该协议设定为与所述主机装置进行通信的通信协议。
43.根据权利要求42的方法,其中该标识符是由一种指令/状态寄存器布局提供的一种销售商ID。
44.根据权利要求42的方法,其中该标识符是存储在包括在一种指令/状态寄存器核心中的配置ROM中的一种销售商ID。
45.根据权利要求42的方法,其中串行总线是适于或根据IEEE 1394标准的一种总线。
46.根据权利要求42的方法,其中该串行总线是适于或根据Universal Serial Bus标准的总线。
47.根据权利要求42的方法,其中该初始协议是在高于OSI型号的数据链接层的一个层上执行的。
48.根据权利要求47的方法,其中初始协议是一种登录协议。
49.根据权利要求42的方法,进一步包括借助该通信协议与所述主机装置进行图象数据通信的通信步骤。
50.用于在一条串行总线上进行数据通信的一种数据通信设备,包括获得装置,用于获得不对应于一初始协议的一个主机装置的一个标识符;识别装置,用于根据所获得的标识符识别所述主机装置的一个协议;以及设定装置,用于在可获得该识别的协议的情况下把该协议设定为与所述主机装置进行通信的通信协议。
51.用于在一串行总线上进行数据通信的数据通信方法,包括以下步骤获得与该串行总线相连的装置的能力;根据所获得的能力按照各个类型计数所述装置的协议;根据计数的结果确定这些协议中将要优先采用的一个;以及把确定的协议通知所述装置。
52.根据权利要求51的方法,其中能力是从所述装置的控制/状态寄存器获得的。
53.根据权利要求51的方法,其中这些协议中由最多的装置所支持的一个被确定为将要优先采用的协议。
54.根据权利要求51的方法,其中该串行总线是适于或根据IEEE1394标准的总线。
55.根据权利要求51的方法,其中串行总线是适于或根据UniversalSerial Bus标准的总线。
56.用于在一种串行总线上进行数据通信的数据通信设备,包括获得装置,用于获得与该串行总线相连的装置的能力;计数装置,用于根据获得的能力按照各个类型计数所述装置的协议;确定装置,用于根据计数的结果确定这些协议中将要优先采用的一个协议;以及通知装置,用于把确定的协议通知所述装置。
57.用于在一种串行总线上进行数据通信的数据通信方法,包括以下步骤执行一个初始协议;以及如果在从多种协议中选择了该初始协议之后将要执行一个协议,选择具有优先级的具体协议。
58.根据权利要求57的方法,其中该具体协议是经过串行总线通知的、将要优先采用的一个协议。
59.根据权利要求58的方法,其中该将要优先采用的协议是允许多个装置的登录的一个协议。
60.根据权利要求57的方法,其中串行总线是适于或根据IEEE 1394标准的总线。
61.根据权利要求57的方法,其中串行总线是适于或根据UniversalSerial Bus标准的总线。
62.根据权利要求57的方法,其中初始协议是在高于OSI型号的一个数据链接层的层上执行的。
63.根据权利要求57的方法,其中初始协议是一个登录协议。
64.用于在一串行总线上进行数据通信的数据通信设备,包括执行装置,用于执行一个初始协议;以及选择装置,用于在从多种协议中选定了该初始协议之后将要执行一协议的情况下选择带有优先级的一具体协议。
65.用于在一串行总线上数据通信的一种数据通信方法,包括以下步骤搜索与该串行总线相连的目标装置;获得有关所述目标装置的信息;根据获得的信息生成所述目标装置的一个表;以及根据所生成的表选择所述目标装置中的一个。
66.根据权利要求65的方法,其中有关所述目标装置的信息是从所述目标装置的一个控制/状态寄存器获得的。
67.根据权利要求66的方法,其中有关所述目标装置的信息包括所述目标装置在网络上的位置、能力、状态和保留能力中的至少一个。
68.根据权利要求65的方法,其中串行总线是适于或根据IEEE 1394标准的总线。
69.根据权利要求65的方法,其中串行总线是适于或根据UniversalSerial Bus标准的总线。
70.用于在一种串行总线上进行数据通信的一种数据通信设备,包括搜索装置,用于搜索与串行总线相连的目标装置;获得装置,用于获得有关所述目标装置的信息;生成装置,用于根据获得的信息生成所述目标装置的一个表;以及选择装置,用于根据生成的表选择所述目标装置中的一个。
71.用于在一种串行总线上进行数据通信的数据通信方法,包括以下步骤搜索与该串行总线相连的目标装置;获得有关所述目标装置的信息;根据获得的信息识别一种网络拓扑布局;以及根据识别的网络拓扑布局选择所述目标装置中的一个。
72.根据权利要求71的方法,其中该串行总线是适于或根据IEEE1394标准的总线。
73.根据权利要求71的方法,其中串行总线若适于或根据Universal Serial Bus标准的总线
74.用于在一串行总线上进行数据通信的一数据通信方法,包括以下步骤搜索与该串行总线相连的目标装置;获得有关所述目标装置的信息;根据获得的信息生成所述目标装置的一个表;以及根据生成的表选择所述目标装置中的一个。
75.用于在一串行总线上进行数据通信的一数据通信设备,包括搜索装置,用于搜索与该串行总线相连的目标装置;获得装置,用于获得有关所述目标装置的信息;识别装置,用于根据获得的信息识别一种网络拓扑布局;以及选择装置,用于根据识别的网络拓扑布局选择所述目标装置中的一个。
76.用于在一串行总线上进行数据通信的数据通信方法,包括以下步骤搜索与该串行总线相连的目标装置;获得有关所述目标装置的信息;根据获得的信息生成所述目标装置的一个表;根据所生成的表确定将要优先采用的一个协议;以及把确定的协议通知与该串行总线相连的所述目标装置。
77.根据权利要求76的方法,其中有关所述目标装置的信息是从所述目标装置的控制/状态寄存器获得的。
78.根据权利要求76的方法,其中有关所述目标装置的信息包括所述目标装置在网络上的位置、能力状态和保留能力中的至少一个。
79.根据权利要求76的方法,其中该串行总线是适于或根据IEEE1394标准的总线。
80.根据权利要求76的方法,其中串行总线是适于或根据UniversalSerial Bus标准的总线。
81.用于在一串行总线上进行数据通信的一数据通信设备,包括搜索装置,用于搜索与该串行总线相连的目标装置;获得装置,用于获得有关所述目标装置的信息;生成装置,用于根据获得的信息生成所述目标装置的一个表;确定装置,用于根据生成的表确定将要优先采用的一个协议;以及通知装置,用于把确定的协议通知与串行总线相连的所述目标装置。
82.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一串行总线上执行数据通信,所述产品包括获得处理程序编码,用于通过采用一种初始协议的通信而获得一个目标装置的能力信息;设定处理程序编码,用于根据获得的能力信息使所述目标装置设定能够在数据通信中采用的一种通信协议;以及通信处理程序编码,用于根据设定的通信协议与所述目标装置进行数据通信。
83.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括响应处理程序编码,用于响应利用一种初始协议而来自一个主机装置的一个请求,把能力信息送回到该主机装置;设定处理程序编码,用于根据按照该能力信息而来自所述主机装置的一个指令,设定将要在数据通信中采用的一个通信协议;以及通信处理程序编码,用于根据设定的通信协议与所述主机装置进行数据通信。
84.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括接收处理程序编码,用于接收来自一个主机装置的一个连接请求;设定处理程序编码,用于在识别出所述主机装置不对应于一个预定的协议的情况下设定将要在数据通信中采用的一个通信协议;实验处理程序编码,用于借助设定的通信协议尝试与所述主机装置进行通信;以及通信处理程序编码,用于在建立了与所述主机装置的通信的情况下利用设定的通信协议与所述主机装置进行数据通信。
85.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括获得处理程序编码,用于获得不对应于一个初始协议的一个主机装置的一个标识符;识别处理程序编码,用于根据获得的标识符识别所述主机装置的一个协议;以及设定处理程序编码,用于在可获得识别的协议的情况下把该协议设定为用于与所述主机装置进行通信的一个通信协议。
86.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括获得处理程序编码,用于获得与所述串行总线相连的装置的能力;计数处理程序编码,用于根据获得的能力按照各个类型计数所述装置的协议;确定处理程序编码,用于根据计数的结果确定这些协议中将要优先采用的一个协议;以及通知处理程序编码,用于把确定的协议通知所述装置。
87.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括执行处理程序编码,用于执行一个初始协议;以及选择处理程序编码,用于在将要在从多种类型协议中选择了初始协议之后执行一种协议时,选择具有优先级的一种具体协议。
88.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括搜索处理程序编码,用于搜索与该串行总线相连的目标装置;获得处理程序编码,用于获得有关所述目标装置的信息;生成处理程序编码,用于根据获得的信息生成目标装置的一个表;以及选择处理程序编码,用于根据生成的表选择所述目标装置中的一个。
89.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括搜索处理程序编码,用于搜索与该串行总线相连的目标装置;获得处理程序编码,用于获得有关所述目标装置的信息;识别处理程序编码,用于根据获得的信息识别一种网络拓扑布局;以及选择处理程序编码,用于根据识别关断网络拓扑布局选择所述目标装置中的一个。
90.包括带有计算机程序编码的计算机可读取介质的一种计算机程序产品,用于在一种串行总线上执行数据通信,所述产品包括搜索处理程序编码,用于搜索与该串行总线相连的目标装置;获得处理程序编码,用于获得有关所述目标装置的信息;生成处理程序编码,用于根据获得的信息生成所述目标装置的一个表;确定处理程序编码,用于根据生成的表确定将要优先采用的的一个协议;以及通知处理程序编码,用于把确定的协议通知与该串行总线相连的所述目标装置。
全文摘要
响应于利用一个初始协议而来自一个主机装置的一个请求,包括表示多个通信协议的信息的能力信息被送回到该主机装置,且由主机装置根据该能力信息而指定的一个通信协议得到设定,且打印数据通过该设定的通信协议而从主机装置得到接收。在采用连接到各种装置的接口-例如IEEE 1394串行总线-的系统中,当一个主机装置把打印数据传送到一个打印机时,所采用的通信协议不限于该装置的制造者所特有的协议。
文档编号H04N7/24GK1190838SQ9810444
公开日1998年8月19日 申请日期1998年2月13日 优先权日1997年2月14日
发明者立山二郎, 铃木尚久, 福长耕司, 片野清, 中村敦, 小林真琴 申请人:佳能株式会社