CN100484056C - 数据传输控制装置和电子设备 - Google Patents

数据传输控制装置和电子设备 Download PDF

Info

Publication number
CN100484056C
CN100484056C CNB031364667A CN03136466A CN100484056C CN 100484056 C CN100484056 C CN 100484056C CN B031364667 A CNB031364667 A CN B031364667A CN 03136466 A CN03136466 A CN 03136466A CN 100484056 C CN100484056 C CN 100484056C
Authority
CN
China
Prior art keywords
grouping
bus
data
bus reset
transmission
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
CNB031364667A
Other languages
English (en)
Other versions
CN1601981A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1601981A publication Critical patent/CN1601981A/zh
Application granted granted Critical
Publication of CN100484056C publication Critical patent/CN100484056C/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • 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
    • 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/2801Broadband local area networks
    • 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/407Bus networks with decentralised control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

目的在于提供可以减轻总线复位发生时的固件处理负担的数据传输控制装置以及使用该装置的电子设备。在IEEE1394规格的数据传输控制装置中,在接收分组和下次的接收分组是在不同的总线复位间隔中接收的分组的情况下,生成翻转的比特BT。该BT被包含在RAM中存储的各分组的各首标中。准备指示RAM上的总线复位边界的总线复位指针(总线复位首标指针、总线复位ORB指针),可以容易地区别总线复位发生前的接收分组和发生后的接收分组。在因发生总线复位而中止发送的情况下,通过寄存器将总线复位发送中止状态传送到固件。

Description

数据传输控制装置和电子设备
技术领域
本发明涉及数据传输控制装置和包括该装置的电子设备,特别涉及在连接到总线的多个节点之间进行基于IEEE1394等规格的数据传输的数据传输控制装置和包括该装置的电子设备。
背景技术
近年来,被称为IEEE1394的接口规格引人注目。该IEEE1394是将可与下一代的多媒体对应的高速串行总线接口进行规格化。根据该IEEE1394,也可以使用要求活动图像等实时性的数据。此外,在IEEE1394的总线中,不但可以连接打印机、扫描仪、CD-RW驱动器、硬盘驱动器等计算机的外围设备,而且可以连接摄象机、VTR、TV等家用电器。因此,可以期待飞跃地促进电子设备的数字化。
而且,在该IEEE1394中,总线上电子设备一边被重新连接,一边从总线中拆除电子设备,总线上连接的节点增减时,发生所谓的总线复位。然后,在总线复位发生时,节点的拓扑信息被清除,然后,拓扑信息被自动地再设定。即,在总线复位发生后,进行树识别(决定根节点)、自身识别,然后,决定同步资源管理器等的管理节点。然后,使通常的分组传输开始。
这样,在IEEE1394中,总线复位后拓扑信息被自动地再设定,所以可以变为所谓的热状态下的电缆的插拔(热插头)。因此,与VTR等通常的家用电器产品一样,一般用户可以自由地插拔电子设备的电缆,可以有助于所谓的本地网络系统的普及。
但是,对于这样的总线复位来说,判明存在以下那样的问题。
(1)由于因发生总线复位而使节点ID等拓扑信息被清除,所以在事务的中途发生总线复位的情况下,需要再次运行事务。因此,在发生总线复位时,需要判断各节点的哪些事务未完成。
但是,处理分组的固件(CPU)的处理能力一般较低,对接收分组的处理在该分组的接收后、经过所给与的时间之后进行。因此,常常存在多个未处理的分组,需要区别这些多个未处理的分组哪些是在总线复位的前后接收到的分组。但是,这样的处理通过固件而使负担非常重。特别是在总线复位后,在节点间非常多的分组被接收发送,所以在总线复位后接收的分组数非常多,固件的处理负担增加的问题变得更加突出。
(2)在固件发行分组的发送开始命令后发生总线复位的情况下,该发送被中止。但是,例如在发送开始命令的发行和总线复位大致同时产生的情况下,固件不能知道是否是因总线复位的发生而使发送中止。因此,固件只能待机,直至送来发送结束的状态,存在固件的处理失速的危险。
发明内容
本发明是鉴于上述技术课题的发明,其目的在于提供数据传输控制装置和使用该装置的电子设备,可以减轻清除节点的拓扑信息的复位发生时的固件处理负担,可以防止因复位发生而造成固件的处理失速等。
为了解决上述课题,本发明提供一种数据传输控制装置,用于连接到总线的多个的节点之间的数据传输,其特征在于,包括:生成区别信息的部件,用于在将从清除节点的拓扑信息的复位至下次复位的期间定义为复位间隔的情况下,区别接收的分组和下次接收的分组是否为在不同的复位间隔中接收的分组;以及写入部件,使各分组中各区别信息相关联,将接收的各分组和生成的各区别信息写入到分组存储部件。
根据本发明,例如,通过接收到的第N分组所关联的第N区别信息和下次接收到的第N+1分组所关联的第N+1区别信息,可以区别第N、N+1的分组是否被在不同的复位时间间隔被接收。即,在第N、N+1的分组在同一第M复位时间间隔被接收的情况下,第N、第N+1的区别信息例如为相同的值,而在第N、N+1的分组在不同的第M、第L的复位时间间隔被接收的情况下,第N、第N+1的区别信息例如为不同的值。因此,通过调查第N、第N+1的区别信息的变化,可以判别第N、第N+1的分组是否在不同的复位时间间隔被接收、即在第N、第N+1的分组的接收之间是否发生复位。因此,固件等容易知道复位发生的场所,可以减轻复位发生时的处理负担。
此外,本发明的特征在于,在接收的分组和下次接收的分组是在不同的复位间隔中接收的分组的情况下,所述区别信息是从0到1或从1到0进行翻转的翻转比特。这样,仅调查翻转比特的变化,就可以容易地知道复位的发生场所,可以进一步减轻复位发生时的固件等的处理负担。
此外,本发明的特征在于,所述分组存储部件是可随机存取的存储部件,所述分组存储部件在分离为存储分组的控制信息的控制信息区域和存储分组的数据的数据区域的情况下,将所述区别信息包含在写入所述控制信息区域的所述控制信息中。这样,通过将分组存储部件分离为控制信息区域和数据区域,可以减轻固件等的处理负担,可以提高系统整体的实际传输速度。然后,通过使区别信息被包括在控制信息区域中写入的控制信息中,固件等可以用少的处理负担来容易地读出区别信息。
此外,本发明提供一种数据传输控制装置,用于在连接到总线的多个节点之间的进行数据传输,其特征在于,包括:写入部件,将从各节点接收的分组写入到分组存储部件;以及第1指针存储部件,存储对清除节点的拓扑信息的复位发生前接收的分组区域和复位发生后的接收分组区域在所述分组存储部件中的边界进行指定的第1指针信息。
根据本发明,固件等从第1指针存储部件仅读出第1指针信息,就可以容易地区别复位发生前接收到的分组和复位发生后接收到的分组。然后,可以对复位发生前接收到的分组进行放弃等处理,对复位发生后接收到的分组进行通常的处理等。
此外,本发明的特征在于,复位发生之前接收的分组的下一个分组的先头地址作为所述第1指针信息被存储到所述第1指针存储部件。这样,从第1指针存储部件仅读出第1指针信息,就可以开始对复位发生之前接收到的分组的下一个分组的处理,可以减轻固件等的处理负担。
此外,本发明的其特征在于包括:第2指针存储部件,存储对处理后的分组区域和未处理的分组区域在所述分组存储部件中的边界进行指定的第2指针信息;以及第3指针存储部件,存储对接收后的分组区域和未接收的分组区域在所述分组存储部件中的边界进行指定的第3指针信息。这样,从第2、第3指针存储部件仅读出第2、第3指针信息,就可以容易地判别未处理的分组和最新接收到的分组。
此外,本发明的特征在于包括处理部件,根据所述第1指针存储部件中存储的所述第1指针信息来对复位发生后接收的分组进行指定,对该分组进行优先处理。这样,复位发生后的接收分组被优先处理,可以防止发生固件的处理失速等情况。
此外,本发明的特征在于,在所述分组存储部件是可随机存取的存储部件,所述分组存储部件被分离为存储分组控制信息的控制信息区域和存储分组的数据的数据区域的情况下,所述第1指针存储部件包括:第4指针存储部件,存储对清除节点的拓扑信息的复位发生前的接收分组的控制信息和复位发生后的接收分组的控制信息在所述控制信息区域中的边界进行指定的第4指针信息;以及第5指针存储部件,存储对清除节点的拓扑信息的复位发生前的接收分组的数据和复位发生后的接收分组的数据在所述数据区域中的边界进行指定的第5指针信息。这样,从第5指针存储部件仅读出第5指针信息,可以知道复位发生前后的接收分组的数据区域中的边界,可以进一步减轻固件等的处理负担。
此外,本发明的其特征在于:在所述数据区域被分离为存储第1层用的第1数据的第1数据区域和存储第2层用的第2数据的第2数据区域的情况下,所述第5指针信息是对清除节点的拓扑信息的复位发生前的接收分组的第1数据和复位发生后的接收分组的第1数据在所述第1数据区域中的边界进行指定的指针信息。这样,第1层(例如固件)可以将第1数据区域中存储的第1数据(例如全方向无线电信标,ORB)区别为复位发生的前后而读出,可以减轻第1层的处理负担。此外,第2层(例如应用)可以连续读出第2数据区域中存储的第2数据(例如流),可以提高数据传输控制装置的实际传输速度。
此外,本发明提供一种数据传输控制装置,用于连接到总线的多个节点间的数据传输,其特征在于包括:读出部件,在发行发送开始命令的情况下,从分组存储部件读出分组;链路部件,提供用于将读出的分组发送到各节点的服务;以及状态存储部件,在通过发生清除节点的拓扑信息的复位而中止分分组的发送的情况下,存储因复位的发生而知道中止分组的发送的状态信
Figure C03136466D0008185720QIETU
息。
根据本发明,通过
Figure C03136466D0008185730QIETU
固件等从状态存储部件中读出状态信息,可以知道因复位产生的分组的
Figure C03136466D0008185751QIETU
发送中止。结果,例如,即使刚好在发送开始命令发行之前发生复位的情况等时,也可以防止固件等的处理失速的情况。
此外,本发明包括
Figure C03136466D0008185808QIETU
发行所述发送开始命令的处理部件,其特征在于,所述处理部件在因发生生复位而中止分组的发送和根据所述状态信息进行判断的情况下,不判断断发送是否完成,而消除开始的发送处理。这样,固件等不必等待发送来来发送结束的状态,可以防止固件等的处理失速的情况。
此外,在本发明中,
Figure C03136466D0008150718QIETU
,期望所述复位是IEEE1394规格中定义的总线复位。
此外,在本发明中,,期望进行基于IEEE1394规格的数据传输。
此外,本发明的电
Figure C03136466D0008185818QIETU
子设备的特征在于包括:上述任何一个数据传输控制装置;通过所述数
Figure C03136466D0008185830QIETU
据传输控制装置和总线对从另一节点接收的数据实施所给与的处理的装
Figure C03136466D0008185837QIETU
置;以及用于输出或存储实施了处理的数据的装置。此外,本发明的电
Figure C03136466D0008185905QIETU
子设备的特征在于包括:上述任何一个数据传输控制装置;通过所述数
Figure C03136466D0008185908QIETU
据传输控制装置和总线对从另一节点接收的数据实施所给与的处理的装
Figure C03136466D0008185912QIETU
置;以及用于输出或存储实施了处理的数据的装置。
根据本发明,可以减减轻控制数据传输的固件等的处理负担,所以可以实现电子设备的低成
Figure C03136466D0008185922QIETU
本、高速处理等。此外,可以防止因清除拓扑信息的复位发生而使系统
Figure C03136466D0008185929QIETU
失速等情况,所以可以提高电子设备的可靠性。
附图说明
图1表示IEEE1394
Figure C03136466D0008185939QIETU
的层结构图。
图2A、图2B是说
Figure C03136466D0008150758QIETU
明事务层和链路层提供的各种服务的图。
图3是说明SBP-2的的图。
图4表示本实施例的的数据传输控制装置的结构例图。
图5是说明RAM(
Figure C03136466D0008185954QIETU
分组存储部件)的分离(分割)方法的图。
图6
Figure C03136466D0009150816QIETU
示比较例的结构图。
图7
Figure C03136466D0009150828QIETU
说明图6构成的数据传输方法的图。
图8
Figure C03136466D0009150837QIETU
说明本实施例的数据传输方法的图。
图9AA、图9B是说明因发生总线复位而中止事务的图。
图10是说明翻转比特BT的图。
图11
Figure C03136466D0009190022QIETU
是说明将翻转比特BT包含在首标中的方法的图。
图12
Figure C03136466D0009190032QIETU
是说明总线复位指针的图。
图13、图13B、图13C是说明使用总线复位分组情况和使用总线复位指针
Figure C03136466D0009150906QIETU
况的固件处理的图。
图14
Figure C03136466D0009150919QIETU
说明总线复位ORB指针的图。
图15A、图15B是说明仅使用总线复位首标指针的情况和使用总线复位ORBB指针情况的固件处理的流程图。
图16是说明优先处理总线复位后的接收分组方法的流程图。
Figure C03136466D0009150943QIETU
、图17B、图17C、图17D是说明总线复位发送中止状态的图。
图18、图18B是说明使用总线复位发送中止状态的情况和不使用情况的固
Figure C03136466D0009151009QIETU
处理的流程图。
图19表示接收端的详细结构图。
图20A是IEEE1394规格的非同步时具有数据块的分组的格式,图20B是RAM中存储的在非同步接收时具有数据块的分组的首标部分的格式。
图21是说明TAG的图。
图22A、图22B是BT生成电路的状态转移图。
图23是用于说明BT生成电路操作的定时波形图。
图24是说明各指针寄存器的细节的图。
图25是说明总线复位发送中止状态的细节的图。
图26是说明总线复位发送中止状态的细节的定时波形图。
图27A、图27B、图27C是各种电子设备的内部方框图的例子。
图28A、图28B、图28C是各种电子设备的外观图。
具体实施方式
以下,用附图来详细说明本发明的优选实施形态。
1.IEEE1394
首先,简单说明IEEE1394。
1.1概要
在IEEE1394(IEEE1394-1995、P1394.a)中,可以进行100~400Mbps的高速数据传输(在P1394.b中为800~3200Mbps)。此外,还允许将传输速度不同的节点连接到总线上。
各节点以树状来连接,1个总线上最大可连接63个节点。如果利用总线桥接,则可以连接64000个节点。
在IFEE1394中,作为分组的传输方式,准备非同步传输和同步传输。这里,非同步传输在要求可靠性的数据的传输上是最好的传输方式,而同步传输在要求实时性的活动图像或声音等的数据传输上是最好的方式。
1.2层结构
图1表示IEEE1394的层结构(协议构成)。
IEEE 1394的协议由事务层、链路层、物理层来构成。此外,串行总线管理监视并且控制事务层、链路层、物理层,提供用于节点的控制或总线资源管理的各种功能。
事务层对高位层提供事务单位的接口(服务),通过下层的链路层提供的接口,实施读事务、写事务、锁定事物等事务。
这里,在读事务中,从响应节点对请求节点传输数据。另一方面,在写事务中,从请求节点对响应节点传输数据。此外,在锁定事务中,从请求节点对响应节点数据,响应节点对该数据实施处理并发回到请求节点。
事务层的服务由图2所示的请求、显示、响应、确认这样的4个服务来构成。
这里,事务请求是请求端使事务开始的服务,事务显示是将到达的请求通知到响应端的服务。此外,事务响应是将响应端的状态或数据返回到请求端的服务,而事务确认是将来自响应端的响应通知到请求端的服务。
链路层提供用于寻址、数据校验、分组发送接收的数据成帧、用于同步传输的周期控制等。
链路层的服务与事务层同样,如图2所示,由请求、显示、响应、确认这样4个服务构成。
这里,链路请求是将分组传输到响应端的服务,链路显示是响应端的分组的接收服务。此外,链路响应是响应端的允许传输服务,链路确认是请求端的允许接收服务。
物理层提供链路层使用的向逻辑符号的电信号的变换、总线的调解、总线的物理接口。
物理层和链路层通常由数据传输控制装置(接口芯片)等硬件来实现。此外,事务层由CPU上操作的固件(处理部件)或硬件来实现。
如图3所示,作为包括IEEE1394的事务层的一部分功能的高位协议,提出了被称为SBP-2(串行总线协议-2)的协议。
这里,SBP-2是将SCSI的命令集可利用于IEEE1394的协议上的建议。如果使用该SBP-2,除了对现有的SCSI规格的电子设备中使用的SCSI的命令集进行最小限度的变更外,还可以使用于IEEE1394规格的电子设备。因此,可以容易进行电子设备的设计和开发。此外,不仅SCSI的命令集,而且装置固有的命令也可以被封装化,所以通用性非常好。
在该SBP-2中,首先,起始器(个人计算机等)形成用于录入或取出工具的初始化的ORB(Operation Request Block),发送到目标(打印机、CD-RW驱动器等)。接着,起始器形成包括命令(读命令、写命令)的ORB(命令块ORB),将该形成的ORB的地址通知到目标。然后,通过目标校验该地址,来取得起始器形成的ORB。在ORB中包含的命令是读命令时,目标发行写事务块,将目标的数据发送到起始器的数据缓冲器(存储器)。另一方面,在ORB中包含的命令是写命令时,目标发行读事务块,从起始器的数据缓冲器接收数据。
根据该SBP-2,目标在自身状况良好时发行事务,可以发送接收数据。因此,由于不需要起始器和目标同步动作,所以可以提高数据传输率。
作为IEEE1394的高位协议,除了SBP-2以外,还提出被称为FCP(功能控制协议)的协议等。
1.3总线复位
在IEEE1394中,接通电源并且如果在中途发生装置的插拔,则发生总线复位。即,各节点监视端口的电压变化。然后,作为连接到总线的新节点,如果端口电压发生变化,则检测出该变化的节点对总线上的其它节点通知发生总线复位。此外,各节点的物理层将发生总线复位的情况传送到链路层。
然后,发生这样的总线复位后,节点ID等的拓扑信息被清除。然后,自动地再设定拓扑信息。即,在总线复位后,进行树识别、自识别。然后,决定同步资源管理、周期主控、总线管理等管理节点。然后,开始通常的分组传输。
在这样的IEEE1394中,由于在总线复位后将拓扑信息自动地再设定,所以可以实现所谓的热插拨,可以自由地插拔电子设备的电缆。
在事务的中途发生总线复位的情况下,该事务被中止。然后,发行中止的事务的请求节点将拓扑信息再设定后,再次传输请求分组。此外,响应节点需要将因总线复位而中止的事务的响应分组发回到请求节点。
2.整体结构
下面,用图4来说明本实施例的数据传输控制装置的整体结构例。
在图4中,PHY(物理层)接口10是进行与PHY装置接口的电路。
链路核20(链路部件)是通过硬件来实现链路层的协议和事务层的协议的一部分的电路,提供用于节点间的分组传输的各种服务。寄存器22是控制用于实现这些协议的链路核20的寄存器。
FIFO(ATF)30、FIFO(ITF)32、FIFO(RF)34分别是非同步发送用、同步发送用、接收用的FIFO,例如由寄存器或半导体存储器等硬件构成。在本实施例中,这些FIFO30、32、34的级数非常少。例如,一个FIFO的级数在3级以下较好,在2级以下更好。
DMAC40(读出部件)、DMAC42(读出部件)、DMAC44(写入部件)分别是ATF用、ITF用、RF用的DMA控制器。通过使用这些DMAC40、42、44,可以不通过CPU66来进行RAM80和链路核20之间的数据传输。寄存器46是控制DMAC40、42、44等的寄存器。
端口接口50是进行应用层的装置(例如进行打印机的打印处理的装置)的接口的电路。在本实施例中,使用该端口接口50,例如可进行8比特的数据传输。
FIFO(PF)52是用于应用层的装置之间的数据传输的FIFO,DMAC54是PF用的DMA控制器。寄存器56是控制端口接口50和DMAC54的寄存器。
SBP-2核84是通过硬件来实现SBP-2协议的一部分的电路。寄存器88是用于控制SBP-2核84的寄存器。DMAC(SBP-2用)86是SBP-2核84用的DMA控制器。
RAM区域管理电路300是用于管理RAM80各区域的电路。RAM区域管理电路300在RAM80的各区域变满载、或变空时,使用各种满载信号、空信号来控制DMAC40、42、44、54、86。
CPU接口60是进行与对数据传输控制装置进行控制的CPU66接口的电路。CPU接口66包括地址解码器62、数据同步电路63、中断控制器64。时钟控制电路68是本实施例中使用的控制时钟的电路,输入从PHY装置(PHY芯片)送来的SCLK或作为主时钟的HCLK。
缓冲器管理器70是管理与RAM80的接口的电路。缓冲器管理器70包括用于缓冲器管理器控制的寄存器72、调节对RAM80的总线连接的调解电路74、生成各种控制信号的序列发生器76。
RAM80具有作为可随机存取的分组存储部件的功能,该功能例如由SRAM、SDRAM、DRAM等来实现。
RAM80最好具有内置在本实施例的数据传输控制装置中,但也可以使其一部分或全部设置在外部。
图5表示RAM80的存储变换的一例。如图5所示,在本实施例中,RAM80被分离为首标区域(AR2、AR3、AR4、AR6)和数据区域(AR5、AR7、AR8、AR9)。然后,分组的首标(广义上为控制信息)被存储到首标区域,而分组的数据(ORB、流)被存储到数据区域。
此外,在本实施例中,如图5所示,RAM80的数据区域(AR5、AR7、AR8、AR9)被分离为ORB区域(AR5、AR7)和流区域(AR8、AR9)。
而且,在本实施例中,RAM80被分离为接收区域(AR2、AR4、AR5、AR9)和发送区域(AR3、AR6、AR7、AR8)。
ORB(第1层用的第1数据)是如上所述的SBP-2用的数据(命令)。另一方面,流(与第1层相比为上层的第2层用的第2数据)是应用层用的数据(打印机的打印数据、CD-RW的读出和写入数据、扫描仪取入的图像数据等)。
此外,AR1、AR2、AR3所示的HW(硬件)用页表区域、HW用接收首标区域、HW用发送首标区域是图4所示的SBP-2核84(通过硬件来实现SBP-2的电路)用于对页表或接收首标或发送首标进行写入或读出的区域。
此外,在图5中,AR4、AR5、AR8、AR9所示的区域具有所谓的链路缓冲器结构。
而且,图4的总线90(或总线92、94)是被连接到应用(第1总线)的总线。此外,总线95(或总线96)是对数据传输控制装置进行控制或对数据进行读、写的总线,被电连接到对数据传输控制装置进行控制的装置(例如CPU)上的总线(第2总线)。此外,总线100(或总线102、104、105、106、107、108、109)是电连接到物理层的装置(PHY装置)的总线(第3总线)。此外,总线110是电连接到作为可随机存取的存储部件的RAM80的总线(第4总线)。此外,总线99是用于对通过硬件来实现SBP-2的首标信息或页表信息进行读、写的总线(第5总线)。
缓冲器管理器70的调解电路74调解来自DMAC40、42、44、CPU接口60、DMAC86、54的总线访问请求。然后,根据该调解结果,在各个总线105、107、109、96、99、94的某一个和RAM80的总线110之间确立数据的路径(在第1、第2、第3、第5总线的某一个和第4总线之间确立数据路径)。
本实施例的一个特征在于:设有存储可随机存取的分组的RAM80,并且设有相互分离的总线90、95、99、100,以及用于将这些总线连接到RAM80的总线110的调解电路74。
例如,图6表示与本实施例结构不同的数据传输控制装置的例子。在该数据传输控制装置中,链路核902通过PHY接口900、总线922与PHY装置连接。此外,链路核902通过FIFO904、906、908、CPU接口910、总线902被连接到CPU912。然后,CPU912通过总线924被连接到作为CPU中本机存储器的RAM914。
用图7来说明使用图6结构的数据传输控制装置情况下的数据传输的方法。通过PHY装置930从其它节点传送来的接收分组通过总线922、数据传输控制装置932、总线920被CPU912接收。然后,CPU912通过总线924将接收到的接收分组暂时写入RAM914中。然后,CPU912通过总线924来读出RAM914中写入的接收分组,进行加工,使得应用层可以使用,并通过总线926传输到应用层的装置934。
另一方面,在传输来自应用层装置934的数据时,CPU912将该数据写入到RAM914。然后,通过将首标附加到RAM914的数据中,生成符合IEEE1394的分组。然后,将生成的分组通过数据传输控制装置932、PHY装置930等发送到其它节点。
但是,如果采用这样的图7的数据传输方法,那么CPU912的处理负担变得非常大。因此,即使连接节点间的串行总线的传输速度为高速,但因CPU912的处理的开销等原因,系统整体的实际传输速度变低,结果,不能实现高速的数据传输。
对此,在本实施例中,如图8所示,将数据传输控制装置120、应用层的装置124间的总线90、CPU96、数据传输控制装置120、RAM80间的总线110相互分离。因此,可以将CPU总线96仅用于数据传输的控制。此外,可以占有总线90,并在数据传输控制装置120、应用层的装置124间进行数据传输。例如,装入数据传输控制装置120的电子设备是打印机的情况下,可以占有总线90并传输打印数据。其结果,可以减轻CPU66的处理负担,可以提高系统整体的实际传输速度。此外,作为CPU66,可以采用价格低的CPU,并且作为CPU总线96,不必使用高速的总线。因此,可实现电子设备的低价格、小规模。
3.本实施例的特征
3.1通过总线复位来产生翻转比特
如图9A所示,IEEE1394的事务通过请求节点将请求分组发送到响应节点,并且请求节点接收来自响应节点的响应分组来完成。然后,在这样的事务结束后,即使发生总线复位,也没有问题。
另一方面,如果在事务的中途发生总线复位,则如图9B的C1所示,事务被中止。然后,在该情况下,响应节点必须对请求节点发回被中止的事务的响应分组。此外,为了使事务结束,如图9B的C2所示,请求节点必须将请求分组再次发送到响应节点。
但是,在将本实施例的数据传输控制装置组合到打印机和CD-RW等外围设备的情况下,由于产品成本的制约,所以作为图4的CPU66,一般使用价格便宜并且处理能力低的CPU。因此,对于CPU66来说,操作固件的处理能力也低。因此,即使接收分组,也不能立即对接收到的分组进行处理,在RAM80中会存在许多未处理的接收分组。因此,在发生总线复位时,有必要对这些未处理的分组进行区别哪些是在总线复位的前后接收的分组。即,需要检测总线复位的发生场所的处理。然后,如上所述,由于固件的处理能力一般比较低,所以期望检测总线复位的发生场所的处理是负荷低的处理。
因此,在本实施例中采用图10所示的方法。
即,将从1个总线复位(对节点的拓扑信息进行清除的复位)至下一个总线复位的期间定义为总线复位间隔。例如,在图10中,从总线复位M至M+1的期间为总线复位间隔M,而从总线复位M+1至M+2的期间为总线复位间隔M+1。
这种情况下,在本实施例中,生成翻转比特BT(广义来说为区别信息),用于区别接收到的分组和下次接收到的分组是否不同于总线复位间隔时接收的分组。然后,使该翻转比特BT与各分组相关,如图10的C11所示,被写入到RAM(分组存储部件)中。
即,在图10中,由于分组N和N+1在相同的总线复位间隔M中被接收,所以它们的BT都为0。另一方面,由于分组N+1和N+2在不同的总线复位间隔M和M+1中被接收,所以分组N+1的BT为0,而分组N+2的BT为1。即,BT从0翻转为1。同样,由于分组N+4和N+5也在不同的总线复位间隔M+1和M+2中被接收,所以BT从0翻转为1。此外,由于分组N+5和N+6也在不同的总线复位间隔M+2和M+4中被接收,所以BT从0翻转为1。
因此,由图10的C12、C13、C14可知,BT翻转的场所对应于总线复位的发生场所(在RAM上的边界)。因此,只要调查BT翻转的场所,固件(处理部件)就可以容易地知道总线复位的发生场所。其结果,固件可以对于在最后的总线复位后接收到的分组N+6、N+7、N+8例如进行通常的处理,而对于最后的总线复位前接收到的分组N~N+5进行放弃等处理。
本实施例中的特征在于,在图10的C15中不变化BT。即,例如,如果在每次发生总线复位时BT进行翻转,则在C15中发生总线复位M+4,所以BT从1翻转到0。于是,尽管分组N+5和N+6是在不同的总线复位间隔中接收到的分组,但在图10的C14中BT不从0变化为1。其结果,产生固件不能检测在分组N+5和N+6的接收期间发生的总线复位的问题。
在本实施例中,在连续接收到的分组是在不同的总线复位间隔中接收的分组的条件下,由于BT从0变为1或从1变为0,所以不产生上述那样的问题。
在本实施例中,如图5中的说明,将RAM分离为首标区域和数据(ORB、流)区域。此外,通过首标中包含的数据指针来使首标区域中存储的各首标和数据区域中存储的各数据对应。而且,在本实施例中,如图11所示,在首标区域中写入的首标中包括上述翻转比特BT(区别信息)。这样,固件集中读出首标区域的首标,仅调查这些首标中包含的BT,就可以容易地检测总线复位的发生场所。其结果,可以进一步减轻固件的处理负担。
在图10中,说明了区别信息为1比特数据的情况,但也可以使区别信息为2比特以上的数据。例如,在图10的C12、C13、C14中,也可以如1、2、3那样来增加其值,代替从0到1、从1到0、从0到1那样的变化。
3.2总线复位指针
在本实施例中,为了高效率地检测总线复位的发生场所,设置图12所示的总线复位指针寄存器(第1指针存储部件)BPR。
这里,总线复位指针寄存器BPR中存储的总线复位指针BP是总线复位发生前的接收分组N~N+2和总线复位发生后的接收分组N+3~N+6的指定RAM中的边界RB1的指针。更具体地说,指针BP指示总线复位发生之前接收的N+2的下一个分组N+3的先头地址。
而且,在本实施例中,如图12所示,还设置处理后的指针寄存器UPR(第2指针存储部件)和接收后指针寄存器PPR(第3指针存储部件)。
这里,寄存器UPR中存储的处理后的指针UP是处理后(使用后)分组N-1和未处理(未使用)的分组N的指定RAM中的边界RBP2的指针。更具体地说,指针UP指示处理后分组N-1的下一个分组N的先头地址。
此外,寄存器PPR中存储的接收后指针PP是指定最新(post)的接收后分组N+6和未接收的分组N+7(下次要接收的分组)在RAM中的边界RBP3的指针。更具体地说,指针PP指示最新的接收后分组N+6的下一个到来的未接收的分组N+7的先头地址。
通过设置上述的寄存器BPR,固件可以容易地识别总线复位前的接收分组和总线复位后的接收分组。此外,通过设置寄存器UPR和PPR,固件可以容易地判断哪个分组是未处理的分组(在图12中,分组N~N+6未处理)。
指针BP特别指示总线复位之后的接收分组N+3的先头地址。因此,固件从寄存器BPR仅读出指针BP,就可以开始对总线复位后的接收分组的处理。此外,指针UP指示未处理的分组N的先头地址。因此,固件从寄存器UPR仅读出指针UP,就可以开始对未处理的分组的处理。
而且,作为区别总线复位前的接收分组和总线复位后的接收分组的方法,有利用所谓的总线复位分组的方法。如果利用这种总线复位分组,则如图13所示,可将总线复位分组之前存储的分组N~N+2判断为总线复位前的接收分组,而将总线复位分组之后存储的分组N+3~N+6判断为总线复位后的接收分组。
但是,在该方法中,如图13B的流程图的步骤S1、S2所示,固件必须从RAM中依次读出未处理的接收分组,直至总线复位分组被读出。因此,存在固件的处理负担重这样的问题,尤其在RAM中积存许多未处理的分组的情况下,上述问题变得更突出。
对此,在使用总线复位指针BP的本实施例中,如图13C的流程图的步骤S3所示,固件从寄存器BPR中仅读出指针BP就可以。因此,与图13B相比,可以明显地减轻固件的处理负担。
而且,在本实施例中,如图5所示,将RAM分离成首标区域和数据区域。因此,作为图12的总线复位指针寄存器BR,如图14所示,设置总线复位首标指针寄存器BHPR(第4指针存储部件)和总线复位ORB指针寄存器BOPR(第5指针存储部件)。
此外,作为处理后指针寄存器UPR,设置处理后首标指针寄存器UHPR和处理后ORB指针寄存器UOPR。此外,作为接收后指针寄存器PPR,设置接收后首标指针寄存器PHPR和接收后ORB指针寄存器POPR。
这里,寄存器BHPR、UHPR、PHPR存储的指针BHP(第4指针信息)、UHP、PHP是用于指定各个RAM的首标区域中的边界RB11、RB21、RB31的指针。
此外,寄存器BOPR、UOPR、POPR存储的指针BOP(第5指针信息)、UOP、POP是用于指定各个RAM的ORB(第1数据)区域中的边界RB12、RB22、RB32的指针。
而且,如图14所示,通过使用指示ORB区域中的总线复位的边界RB12的指针BOP,可以获得以下优点。
即,在仅使用指示首标区域中的边界RB11的指针BHP的方法中,为了指定ORB区域中的边界RB12,固件需要进行图15A的流程图所示的处理。
首先,对指针UOP的地址进行存储(步骤S10)。接着,判断在指针BHP之前是否有首标(步骤S11),在有首标的情况下,读出该首标(步骤S12)。例如,在图14中,读出首标N。
接着,判断读出的首标是否是在ORB区域具有数据的分组(ORB分组)的首标(步骤S13)。在图14中,由于首标N、N+1不是ORB分组的首标,所以不移动至步骤S14,而返回到步骤S11、S12。另一方面,由于首标N+2、N+3是ORB首标,所以移动至步骤S14,根据首标中包括的数据指针和数据长度,来计算并存储ORB指针的地址(边界RB02、RB12)。然后,由于下一个首标N+4不是ORB指针,所以返回到步骤S11。于是,在步骤S11中,由于判断为在指针BHP之前没有首标,所以返回到步骤S15,将在此之前存储的ORB指针的地址(RB12)判断为总线复位造成的ORB区域的边界。
如以上那样,在仅使用指针BHP的方法中,固件必须进行图15A所示的负荷重的处理。尤其在固件的处理能力低、RAM中积存许多首标的状况下,负荷重的情况变得更突出。
对此,如果使用指针BOP,则如图15B的流程图所示,固件从寄存器BOP中仅读出指针BOP,就可以指定边界RB12。因此,与仅使用指针BHP的方法相比,可以显著地减轻固件的处理负担。
而且,在SBP-2中,各节点(接口、目标)除了通常的16比特的节点ID之外,还具有称为64比特的EUI-64的ID。然后,节点ID通过总线复位被复位,对于在总线复位后常常存在完全不同的ID的可能性来说,EUI64对各节点是唯一的ID,所以在总线复位后不变化。因此,在总线复位后,需要对EUI-64和新的节点ID进行对应的处理,在各节点间,发送接收用于该对应处理的多个分组。因此,在总线复位后,在短时间内多个分组被积存在RAM中。然后,这些积存的分组的数随着总线上连接的节点增加而增多。
这种情况下,如果各节点的固件(事务层)优先进行对总线复位前的接收分组的处理,则判明该节点的处理是否有失速的可能性。然后,如果一个节点的处理,则会对其它的节点产生影响。
因此,在本实施例中,在发生总线复位时,固件(处理部件)可优先处理总线复位后的接收分组。
即,如图16的流程图所示,如果判断为发生总线复位(步骤S20),则固件从寄存器BHPR、BOPR读出指针BHP、BOP(步骤S21)。然后,优先处理总线复位后的接收分组(与节点ID和EUI-64对应的分组)(步骤S22)。即,在本实施例中,如上所述,由于准备指针BHP、BOP,所以用从寄存器BHPR、BOPR读出这些指针这样的简单处理,可以指定总线复位后的接收分组。因此,即使这样优先处理总线复位后接收分组,固件的处理负担也并没有增加。
接着,固件从寄存器UHPR、UOPR中读出指针UHP、UOP(步骤S23),进行对总线复位前的接收分组的处理(步骤S24)。即,进行放弃分组,并且判断是否有因总线复位中止的事务的处理。
3.3总线复位发送中止状态
如图17A所示,通常的发送处理通过固件发行发送开始命令(将发送开始命令写入到图4的寄存器46)而开始。然后,发行发送开始命令后,进行总线的仲裁,仲裁获胜后,开始总线上的实际的分组传输。然后,从对方节点发回ACK(允许)后,将发送结束的状态传送到固件。
然后,如图17B所示,在发送开始命令的发行前未发生总线复位的情况下,进行与图17A相同的通常的发送处理。另一方面,如图17C所示,如果在发送开始命令的发行后发生总线复位,则发送被中止,来自对方节点的ACK不返回,发送结束的状态未被传送到固件。
但是,在就要通过固件进行发送开始命令的发行(对寄存器写入)之前产生总线复位的情况下,固件不能判断出是图17B、17C的哪种情况。
即,如图18A所示,固件在发行发送开始命令后(步骤S30),判断是否发生总线复位(步骤S31)。然后,在未发生总线复位的情况下,等待发回发送结束(步骤S32)。这是图17B的情况。另一方面,在发生总线复位的情况下,不等待发送结束,而消除发送(步骤S33)。这是图17C的情况。
然后,如图18A的C20所示,在发送开始命令的发行之前发生总线复位的情况下,固件的处理可按步骤S31、32进行循环,处理可能失速。即,由于不能检测总线复位的发生,所以发送未被消除(不移动到步骤S33),由于发送结束也不发回,所以在步骤S31、32中处理进行循环。
因此,在本实施例中,如图17(D)所示,将表示因总线复位而中止发送的状态传送到固件。更具体地说,在发生总线复位,数据传输控制装置的硬件进行中止发送处理的情况下,总线复位发送中止状态被写入图4的寄存器46。这样,如图18B的步骤S41所示,固件可以判断因总线复位而使发送是否中止。然后,在判断出因总线复位而使发送中止的情况下,不等待发送结束就消除发送(步骤S44)。由此,可以避免固件的处理会失速的状况。
4.详细例
4.1接收端的详细结构
下面说明接收端的详细结构。图19表示链路核20(链路部件)、FIFO34、DMAC44(写入部件)的详细结构的一例。
链路核20包括总线监视电路130、串行、并行变换电路132、分组整形电路160。
这里,总线监视电路130是通过PHY接口10来监视连接到PHY装置的8比特宽度的数据总线D、2比特宽度的控制总线CTL的电路。
串行、并行变换电路132是将数据总线D的数据变换成32比特数据的电路。
分组整形电路160是上层可以使用从各节点传输来的分组的整形电路。例如,图20A表示IEEE1394规格的非同步下具有数据块的分组的格式。另一方面,图20B表示存储在RAM80的首标区域的非同步接收下具有数据块的分组的首标部分的格式。这样,在本实施例中,将图20A所示的格式的分组整形为图20B所示的格式的分组,使得固件等上层可以使用。
分组整形电路160包括:分组诊断电路142;序列发生器167;缓冲器168;选择器170;分组诊断电路142包括:TAG生成电路162;状态生成电路164;误差校验电路166。
这里,分组诊断电路142是进行分组诊断的电路。TAG生成电路162是生成TAG、即用于区别写入分组的区域的信息的电路,状态生成电路164是生成在分组中附加的各种状态的电路。此外,误差校验电路166是对分组中包含的奇偶性或CRC等误差校验信息进行校验并检测误差的电路。
序列发生器167生成各种控制信号。缓冲器168、选择器170用于根据来自分组诊断电路142的信号SEL来选择来自串行、并行变换电路132的DI、来自分组诊断电路142的状态、来自DMAC的数据指针DP的某一个。
FIFO34具有作为缓冲器的功能,包括FIFO状态判断电路35,用于对来自链路核20的输出数据的RD相位和写入到RAM80的数据的WDAT的相位进行调整。FIFO状态判断电路35在FIFO34为空时,使1信号EMPTY有效,而在FIFO34为满载时,使信号FULL有效。
DMAC44包括分组分离电路180、存取请求执行电路190、存取请求发生电路192。
这里,分组分离电路180将分组整形电路160整形的分组根据TAG(DTAG)分离为数据、首标,并进行写入到RAM的各区域(参照图5)中的处理。
存取请求执行电路190是用于执行来自链路核20的存取请求的电路。存取请求执行电路190在来自FIFO状态判断电路35的FULL有效时,使FFULL有效。分组整形电路160内的序列发生器167在FFULL无效的条件下,使RD(RxData)的选通信号RDS有效。
RFAIL是对序列发生器167对存取请求执行电路190通知接收失败的信号。
存取请求发生电路192是用于产生对RAM80的存取请求的电路。存取请求发生电路192接受来自缓冲器管理器70的写入允许VACK和来自FIFO状态判断电路35的EMPTY等,将写入请求WREQ输出到缓冲器管理器70。
而且,如图19所示,分组分离电路180包括TAG判别电路182、地址发生电路188;地址发生电路188包括指针更新电路184。
这里,TAG判别电路182对TAG生成电路162生成的TAG(DTAG)进行判别,决定FIFO34的输出WDATA的写入区域。
然后,包括地址发生电路188的指针更新电路184在该决定的区域中依次更新(增加、减少)指针(数据指针、首标指针)。然后,地址发生电路188产生指示该依次更新的指针的地址,作为WADR输出到缓冲器管理器70。此外,地址发生电路188将数据指针DP(接收ORB区域的数据指针、接收流区域的数据指针等)输出到分组整形电路160。分组整形电路160将该数据指针埋入到分组的首标中(参照图20B的C30)。通过进行这样的步骤,可以使首标区域中存储的首标和数据区域中存储的数据相对应(参照图11)。
图21表示本实施例中使用的TAG(DTAG)的实例。在图21中,例如在TAG为(0001)、(0010)的情况下,接收分组的首标(FIFO34的输出WDATA)被写入到图5的接收首标区域。此外,在TAG为(0100)的情况下,接收分组的数据被写入到接收ORB区域,而在TAG为(0101)的情况下,接收分组的数据被写入到接收流区域。
此外,在TAG为(1001)、(1010)的情况下,接收分组的首标被写入到HW(硬件)用接收首标区域。此外,在TAG为(1100)的情况下,接收分组的数据被写入到HW用接收ORB区域,而在TAG为(1101)的情况下,接收分组的数据被写入到HW用接收流区域。这里,HW(硬件)用是指图4的SBP-2核84使用这样的意思。
4.2BT生成电路
状态生成电路164包括BT生成电路165。该BT生成电路165生成图10说明的翻转比特BT。如图20B的C31所示,生成的BT被埋入到整形后的分组的首标中。
图22A、图22B表示BT生成电路165的状态转移图。
在图22A中,RECEIVED是BT生成电路165的内部信号,BRIP是表示总线复位中的信号。该BRIP由如图19所示的总线监视电路130生成。即,总线监视电路130通过数据总线来接收来自PHY装置的状态信息,根据该状态信息,来判断是否进行过总线复位。然后,总线监视电路130在判断为进行了总线复位时,使BRIP为H电平,然后,返回到L电平。
如图22A的状态转移图所示,RECEIVED在接收到分组的条件下从L电平变化为H电平,而在BRIP变为H电平的条件下则从H电平变化为L电平。此外,如图22B的状态转移图所示,翻转比特BT在BRIP和RECEIVED变为H电平的条件下从L电平翻转为H电平或从H电平翻转为L电平。
图23表示上述各信号的定时图。在图23的C40、C41、C42时,由于接收了分组,所以RECEIVED从L电平变化为H电平。此外,在C43、C44、C45时,由于BRIP(总线复位中信号)变为H电平,所以RECEIVED从H电平变化为L电平。
在C46、C47、C48时,由于BRIP和RECEIVED变为H电平,所以BT从L电平翻转为H电平或从H电平翻转为L电平。另一方面,在C49时,由于RECEIVED不是H电平,所以BT不变化。即,由于在总线复位间隔M+2时不接收分组,所以即使产生总线复位(即使BRIP变为H电平),BT也不变化。这样,如图10中的说明,在连续接收的分组是不同的总线复位间隔的分组的情况下,可以生成可变化的翻转比特BT。
4.3指针寄存器
下面,用图24来说明图14的各种指针寄存器的细节。
寄存器310、314、318是存储接收后首标指针、接收后ORB指针、接收后流指针的寄存器(参照图14)。这些寄存器310、314、318从地址发生电路188接收各个WHADR(首标区域中的地址)、WOADR(ORB区域中的地址)、WSADR(流区域中的地址)。此外,寄存器310、314、318接收来自链路核20的接收结束信号RXCOMP。然后,寄存器310、314、318按该RXCOMP有效的定时来取入、存储来自地址发生电路188的WHADR、WOADR、WSADR。这样,可以存储图14的边界RB31、RB32等地址。
此外,寄存器312、316是分别存储总线复位首标指针、总线复位ORB指针的寄存器(参照图14)。这些寄存器312、316接收来自链路核20的总线复位中信号BRIP。然后,寄存器312、316按该BRIP有效的定时来取入、存储寄存器310、314中存储的地址。这样,可以存储图14的边界RB11、RB12的地址。
寄存器320、322、324分别是存储处理后首标指针、处理后ORB指针、处理后流指针的寄存器(参照图14)。
开始-结束地址寄存器326存储图5所示的各区域的开始地址和结束地址。然后,地址发生器188、332根据来自寄存器326的开始地址、结束地址来控制地址的产生。更具体地说,以开始地址作为开始点来依次更新指针。然后,在指针到达结束地址的情况下,进行将指针返回到开始地址等的控制(链路缓冲器结构的情况)。
RAM区域管理电路300包括接收首标区域管理电路302、接收ORB区域管理电路304、接收流区域管理电路306。
然后,接收首标区域管理电路302接受来自寄存器310的接收后的首标指针和来自寄存器320的处理后的首标指针,将通知接收首标区域满载的信号HDRFULL输出到存取请求发生电路192。
此外,接收ORB区域管理电路304接受来自寄存器314的接收后的ORB指针和来自寄存器322的处理后的ORB指针,将通知接收ORB区域满载的信号ORBFULL输出到存取请求发生电路192。
此外,接收流区域管理电路306接受来自寄存器318的接收后的流指针和来自寄存器324的处理后的流指针,将通知接收流区域满载的信号STRMFULL输出到存取请求发生电路192。此外,将通知接收流区域空载的信号STRMEMPTY输出到存取请求发生电路334。
存取请求发生电路192、334接收这些满载信号、空载信号,决定是否将写入请求WREQ、读出请求RREQ输出到缓冲器管理器70。
4.4总线复位发送中止状态
下面,用图25、图26详细说明总线复位发送中止状态。
在图25中,固件将发送开始命令写入到发送开始设定寄存器340。于是,如图26的C60所示,START生成电路342使信号START有效。于是,DMAC40对缓冲器管理器70输出读出请求,使发送开始。
此外,接收到信号START的TXPRD生成电路346使如C61所示的表示发送中的信号TXPRD有效。然后,分组传输顺利结束,链路核20使如C62所示的发送结束信号TXCOMP有效,而使信号TXPRD无效。
而且,在发送中(TXPRD有效时),如C63所示的信号BRIP有效时(发生总线复位时),如C64所示,图25的TXBRABORT生成电路348使信号TXBRABORT有效。然后,因总线复位产生的表示发送中止的状态通过发送中止状态寄存器350被传送到固件。
另一方面,在图26的C65中,由于不是发送中(TXPRD非有效),所以即使发生总线复位并使BRIP有效,TXBRABOT也不有效。
这样,在本实施例中,在发送中发生总线复位并仅在发送中止时,总线复位发送中止状态被传送到固件。
5.电子设备
下面说明包括本实施例的数据传输控制装置的电子设备的实例。
例如,图27A表示电子设备之一的打印机的内部方框图,图28A表示其外观图。CPU(微计算机)510进行系统整体的控制。操作部511用于用户操作打印机。在ROM516中装入控制程序、字体等,RAM518具有作为CPU510的工作区域的功能。显示屏幕519将打印机的操作状态通知给用户。
通过PHY装置502、数据传输控制装置500从个人计算机等其它节点送来的打印数据通过总线512被直接送到打印处理部512。然后,打印数据在打印处理部512中被施加所给与的处理,通过打印头等组成的打印部(用于输出数据的装置)514在纸上打印并输出。
图27B表示电子设备之一的扫描仪的内部方框图,图28表示其外观图。CPU520进行系统整体的控制。操作部521用于用户操作扫描仪。在ROM526中装入控制程序等,RAM528具有作为CPU520的工作区域的功能。
通过光源、光电变换器等组成的图像读取部(用于取入数据的装置)522来读取原稿的图像,读取到的图像数据由图像处理部524进行处理。然后,处理后的图像数据通过总线505被直接送到数据传输控制装置500。数据传输控制装置500通过将首标等附加在该图像数据中来生成分组,通过PHY装置502发送到个人计算机等其它节点。
图27C表示电子设备之一的CD-RW驱动器的内部方框图,图28C表示其外观图。CPU530进行系统整体的控制等。操作部531用于由用户来操作CD-RW。在ROM536中装入控制程序等,RAM538具有作为CPU530的工作区域的功能。
通过激光器、监视器、光学系统等组成的读取和写入部(用于取入数据的装置或用于存储数据的装置)533从CD-RW532读取的数据被输入到信号处理部534,施加纠错处理等所给与的信号处理。然后,施加信号处理的数据通过总线506被直接送到数据传输控制装置500。数据传输控制装置500通过将首标等附加到该数据上来生成分组,通过PHY装置502发送到个人计算机等其它节点。
另一方面,通过PHY装置502、数据传输控制装置500从其它节点送来的数据经总线506被直接送到信号处理部534。然后,由信号处理部534对该数据施加所给与的信号处理,通过读取和写入部533被存储到CD-RW532中。
在图27A、图27B、图27C中,除了CPU510、520、530之外,也可以另外设置用于数据传输控制装置500中的数据传输控制的CPU。
此外,在图27A、图27B、图27C中,将RAM501(与图4的RAM80相当)设置在数据传输控制装置500的外部,但也可以将RAM501内置在数据传输控制装置500中。
通过将本实施例的数据传输控制装置使用在电子设备中,可以进行高速的数据传输。因此,在用户通过个人计算机等来指示打印的情况下,可在短的延迟中完成打印。此外,在对扫描仪指示图像取入后,用户在短的延迟中可以看见读取图像。此外,可以高速地进行从CD-RW的数据读取和对CD-RW的数据写入。而且,例如在一个主系统中连接并利用多个电子设备,并且在多个主系统中也容易连接并利用多个电子设备。
此外,通过将本实施例的数据传输控制装置使用在电子设备中,可减轻在CPU上操作的固件的处理负担,可使用价格低的CPU和低速的总线。而且,由于实现了数据传输控制装置的低成本、小规模,所以也实现了电子设备的低成本、小规模。
此外,即使在将新的电子设备连接到总线,而发生总线复位的情况下,也可以防止电子设备之间的通常的数据传输要长时间等待的状态。
再有,作为可以应用本实施例的数据传输控制装置的电子设备,除了上述电子设备以外,例如还有各种光盘驱动器(CD-ROM、DVD)、光磁盘驱动器(MO)、硬盘驱动器、电视机、录象机、摄像机、音响设备、电话机、投影机、个人计算机、电子笔记本、文字处理机等等。
本发明不限于本实施例,在本发明的主要精神范围内可有各种变形实施。
例如,特别期望本发明的数据传输控制装置的结构为图4所示的结构,但也可以不限于此。
此外,本发明在IEEE1394中的总线复位时特别有用,但除此以外,只要是至少清除节点的拓扑信息这样的复位就可以应用。
此外,本发明的指针信息是至少可以指定分组存储部件的各边界的信息就可以,但不限定于分组的先头地址。
此外,分组存储部件的分离(分割)方法也不限于图5说明的方法。
此外,本发明最好应用于IEEE1394规格的数据传输,但也不限于此。例如,本发明也可应用于基于与IEEE1394同样思想的规格或使IEEE1394发展的规格中的数据传输。

Claims (6)

1.一种数据传输控制装置,用于在连接到总线的多个节点间进行数据传输,其特征在于包括:
读出部件,在由处理部件发出了发送开始命令的情况下,从分组存储部件读出分组;
链路部件,对提供用于将读出的分组发送到各节点的服务进行链路层的处理;以及
状态存储部件,在因发生清除节点的拓扑信息的复位而中止了分组的发送的情况下,存储因复位的发生而产生的用于通知所述处理部件中止了分组的发送的状态信息。
2.如权利要求1的数据传输控制装置,其特征在于还包括:
处理部件,发出所述发送开始命令,
所述处理部件在根据所述状态信息判断出因发生复位而中止了分组的发送的情况下,不判断发送是否完成,而消除开始的发送处理。
3.权利要求1的数据传输控制装置,其特征在于,所述复位是IEEE1394规格中定义的总线复位。
4.如权利要求1的数据传输控制装置,其特征在于,进行基于IEEE1394规格的数据传输。
5.如权利要求1的数据传输控制装置,其特征在于还包括:
发送开始设定寄存器,通过所述处理部件被写入发送开始命令,
发送中信号发生电路,在所述发送开始命令被写入到所述发送开始设定寄存器而开始发送的情况下,激活表示正在发送中的发送中信号,以及
总线监视电路,判断是否进行了总线复位,即清除节点的拓扑信息的复位,一判断出进行了总线复位,就激活表示正在复位中的复位中信号,
当所述发送中信号被激活时,在所述复位中信号被激活的情况下,用来通知因复位的发生而分组的发送被中止的状态信息被写入到所述状态存储部件。
6.一种电子设备,其特征在于包括:
权利要求1至5中任何一项的数据传输控制装置;
通过所述数据传输控制装置和总线对从另一节点接收的数据实施信号处理的装置;以及
用于输出或存储实施了信号处理的数据的装置。
CNB031364667A 1999-07-15 2000-07-12 数据传输控制装置和电子设备 Expired - Fee Related CN100484056C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP201248/1999 1999-07-15
JP201248/99 1999-07-15
JP20124899A JP3539287B2 (ja) 1999-07-15 1999-07-15 データ転送制御装置及び電子機器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB008012555A Division CN1146191C (zh) 1999-07-15 2000-07-12 数据传输控制装置和电子设备

Publications (2)

Publication Number Publication Date
CN1601981A CN1601981A (zh) 2005-03-30
CN100484056C true CN100484056C (zh) 2009-04-29

Family

ID=16437803

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB031364667A Expired - Fee Related CN100484056C (zh) 1999-07-15 2000-07-12 数据传输控制装置和电子设备
CNB008012555A Expired - Fee Related CN1146191C (zh) 1999-07-15 2000-07-12 数据传输控制装置和电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB008012555A Expired - Fee Related CN1146191C (zh) 1999-07-15 2000-07-12 数据传输控制装置和电子设备

Country Status (9)

Country Link
US (1) US6978327B1 (zh)
EP (1) EP1120936B1 (zh)
JP (1) JP3539287B2 (zh)
KR (1) KR100397404B1 (zh)
CN (2) CN100484056C (zh)
AT (1) ATE389990T1 (zh)
DE (1) DE60038359T2 (zh)
TW (1) TW507440B (zh)
WO (1) WO2001006708A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003256938A1 (en) * 2002-07-31 2004-02-16 Thomson Licensing S.A. Packet processing architecture
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
DE10335572A1 (de) * 2003-07-31 2005-03-17 Deutsche Thomson-Brandt Gmbh Netzwerkteilnehmerstation für ein Netzwerk verteilter Stationen und Verfahren zum Betreiben einer Netzwerkteilnehmerstation
DE102005001286A1 (de) * 2005-01-11 2006-07-20 Siemens Ag Verfahren und Vorrichtung zur Übertragung von skalierbaren Daten
JP4577093B2 (ja) * 2005-05-31 2010-11-10 日本ビクター株式会社 被制御装置及び制御装置
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
CN110366040B (zh) * 2019-07-26 2023-01-20 Tcl王牌电器(惠州)有限公司 电视出厂复位方法、装置、计算机可读存储介质及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2091093C (en) * 1992-03-06 1999-07-06 Peter C. Di Giulio Event driven communication network
US5457683A (en) * 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
US5724517A (en) * 1994-09-27 1998-03-03 International Business Machines Corporation Method for generating a topology map for a serial bus
US5559801A (en) * 1995-01-20 1996-09-24 Advanced Micro Devices Inc. Programmable packet sampling for network management
US5764930A (en) * 1996-04-01 1998-06-09 Apple Computer, Inc. Method and apparatus for providing reset transparency on a reconfigurable bus
JPH09282263A (ja) * 1996-04-12 1997-10-31 Sony Corp 電子機器及びその識別情報構成方法
EP0841776A1 (en) * 1996-11-12 1998-05-13 Sony Corporation Communication methods and electronic apparatus thereof
JP3726417B2 (ja) * 1997-04-15 2005-12-14 ソニー株式会社 電子機器及び電子機器間の通信速度情報作成方法並びに記録媒体
US6219697B1 (en) * 1997-05-02 2001-04-17 3Com Corporation Method and apparatus for operating the internet protocol over a high-speed serial bus
US6347097B1 (en) * 1997-12-05 2002-02-12 Texas Instruments Incorporated Method and apparatus for buffering received data from a serial bus
US6038625A (en) * 1998-01-06 2000-03-14 Sony Corporation Of Japan Method and system for providing a device identification mechanism within a consumer audio/video network
US6895003B1 (en) * 1998-02-24 2005-05-17 Canon Kabushiki Kaisha Communication system, apparatus, and method in which data transmission is interrupted for a bus reset
JP4428750B2 (ja) 1998-03-12 2010-03-10 キヤノン株式会社 データ通信システム
JP4026979B2 (ja) 1998-03-30 2007-12-26 キヤノン株式会社 データ通信システム
JP2000078156A (ja) * 1998-09-01 2000-03-14 Canon Inc システム構成表示装置及びシステム構成表示方法、記録媒体
US6304553B1 (en) * 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US6366964B1 (en) * 1998-10-22 2002-04-02 Sony Corporation Method of and apparatus for dynamically enumerating objects representing devices within an IEEE 1394 serial bus networking
JP3543647B2 (ja) 1998-10-27 2004-07-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4109770B2 (ja) 1998-12-02 2008-07-02 キヤノン株式会社 通信制御方法及び機器
US6628607B1 (en) * 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
JP3608441B2 (ja) 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器

Also Published As

Publication number Publication date
EP1120936A1 (en) 2001-08-01
KR100397404B1 (ko) 2003-09-13
TW507440B (en) 2002-10-21
CN1146191C (zh) 2004-04-14
EP1120936B1 (en) 2008-03-19
ATE389990T1 (de) 2008-04-15
JP2001036531A (ja) 2001-02-09
EP1120936A4 (en) 2003-04-02
DE60038359T2 (de) 2009-04-30
CN1316144A (zh) 2001-10-03
CN1601981A (zh) 2005-03-30
KR20010075099A (ko) 2001-08-09
DE60038359D1 (de) 2008-04-30
US6978327B1 (en) 2005-12-20
JP3539287B2 (ja) 2004-07-07
WO2001006708A1 (fr) 2001-01-25

Similar Documents

Publication Publication Date Title
US5845152A (en) Method for transmission of isochronous data with two cycle look ahead
KR100245903B1 (ko) 리피터 인터페이스 제어장치
EP0833479B1 (en) Contention resolution process for data networks
JPS5818656B2 (ja) 分散式デ−タ処理システム
JPH11505986A (ja) 高効率なポーリング手順によるデータ通信
US6810452B1 (en) Method and system for quarantine during bus topology configuration
WO2001071464A1 (en) Distributing synchronized clock signals in a multiple bus environment
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
US6430225B1 (en) Apparatus and method for digital data transmission
TW513881B (en) Data transfer controller and electronic device
CN100484056C (zh) 数据传输控制装置和电子设备
US6909699B2 (en) Data transfer system, data transfer management apparatus and data transfer method
US6272114B1 (en) Data processing apparatus/method and electronic apparatus with such apparatus/method
JP2001313646A (ja) 電子機器およびその物理層回路のステート制御方法
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
EP0137609B1 (en) Multi-master communication bus
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
US6286067B1 (en) Method and system for the simplification of leaf-limited bridges
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
US5442631A (en) Communication control device
JP4201071B2 (ja) アイソクロノスデータ転送システム及び方法
US20060282598A1 (en) Communication system, cycle master node and communication method
US6810045B1 (en) Method and device for processing data packets which have been received or are to be transmitted on a data channel
MXPA04012696A (es) Dispositivo de capa de vinculo de datos con dos modos de transmision para una barra colectiva de comunicacion en serie.
WO2000057263A1 (en) A method and system for a multi-phase net refresh on a bus bridge interconnect

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090429

Termination date: 20130712