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

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

Info

Publication number
CN1137444C
CN1137444C CNB001306898A CN00130689A CN1137444C CN 1137444 C CN1137444 C CN 1137444C CN B001306898 A CNB001306898 A CN B001306898A CN 00130689 A CN00130689 A CN 00130689A CN 1137444 C CN1137444 C CN 1137444C
Authority
CN
China
Prior art keywords
data
transmission
unit
bus
carry out
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
CNB001306898A
Other languages
English (en)
Other versions
CN1293411A (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 CN1293411A publication Critical patent/CN1293411A/zh
Application granted granted Critical
Publication of CN1137444C publication Critical patent/CN1137444C/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/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/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0012High speed serial bus, e.g. IEEE P1394

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

一种数据传输控制装置和电子设备。在IEEE1394标准的数据传输控制装置中,在总线复位期间中,CPU(软件)发布了数据传输的开始(重新开始)命令时,就取消执行该命令。使用中断通知CPU。通过掩蔽信号,来取消命令。在发布了暂停命令时,就在预先决定的暂停场所使传输处理暂停。传输数据分割为数据包而进行传输。在CPU同时发布数据传输的重新开始命令和暂停命令时,就在步进式执行传输处理后使传输处理暂停。

Description

数据传输控制装置和电子设备
技术领域
本发明涉及数据传输控制装置和电子设备,特别是在与总线连接的多个节点间根据IEEE 1394等标准进行数据传输的数据传输控制装置和包含该数据传输控制装置的电子设备。
背景技术
近年来,称为Ieee 1394的接口标准已面世。该IEEE1394是将对下一代的多媒体也可以对应的高速串行接口规格化的标准。按照该IEEE 1394,可以处理动图像等要求实时性的数据。另外,不仅打印机、扫描器、CD-RW驱动器、硬盘驱动器等计算机的外围机器可以与IEEE 1394的总线连接,而且录像机、VTR、TV等家用电器也可以与IEEE 1394的总线连接。因此,可以期待将促进电子设备飞速地实现数字化。
在该IEEE 1394中,电子设备与总线新连接或电子设备与总线分离从而与总线连接的节点增减时,将发生所谓的总线复位。并且,发生总线复位时,节点的拓朴信息将清除,然后,拓朴信息自动地再设定。即,在发生总线复位后,进行树形识别(决定根节点)和自己识别,然后,决定同步的源管理器。并且,开始进行通常的数据包传输。
这样,在IEEE 1394中,在总线复位后,由于拓朴信息自动地再设定,所以,在所谓的热状态可以拔插电缆(热插头)。因此,一般用户可以和VTR等通常的家用电器一样对电子设备自由地拔插电缆,从而对所谓的家庭网络系统的普及有好处。
但是,由于发生总线复位,将产生以下问题。
即,总线复位是由于电缆的拔插等原因发生的,所以,在CPU上动作的固件(处理单元)不能预先预测总线复位的发生时期。因此,在总线服务台发生后,(或在与总线复位发生的几乎同时),将发生固件输出数据传输的开始命令的问题。并且,在发生这种情况时,有可能发生开始进行本来由于总线复位而无效的数据包的传输的情况。
发明内容
本发明就是鉴于上述问题而提案的,目的旨在提供在发生将节点的拓朴信息清除的复位时可以保证稳定地动作的数据传输控制装置和使用该数据传输控制装置的电子设备。
为了解决上述问题,本发明是用于在与总线连接的多个节点间的数据传输的数据传输控制装置,其特征在于:包括在处理单元发布数据传输的开始命令或重新开始命令时开始或重新开始进行传输处理的单元、在清除节点的拓朴信息的复位期间中处理单元发布开始命令或重新开始命令时取消执行该命令的单元和将用于发生复位而取消执行命令的情况通知处理单元的通知单元。
按照本发明,在复位(例如,IEEE 1394的总线复位)期间中处理单元发布开始(重新)命令时就取消执行该命令。因此,可以防止传输本来已无效的数据包和招致其他电路块的误动作以及使处理单元的处理混乱等情况。这样,在发生清除节点的拓朴信息的复位时也可以保证稳定的动作。并且,按照本发明,由于就取消执行命令的情况通知处理单元,所以,处理单元可以进行再次发布被取消的命令等处理。
另外,本发明的特征在于:包括在由于发生复位而取消执行数据传输的开始命令或重新开始命令时使处理单元发生中断的单元和用于将上述中断的原因通知处理单元的原因存储单元。这样,可以有效而可靠地将取消命令的情况通知处理单元。
另外,本发明的特征在于:上述取消单元通过用在复位期间中的活性信号将在处理单元发布开始命令或重新开始命令时的活性信号掩蔽而取消命令。这样,便可有效地防止处理单元发布的开始(重新)命令传输给数据传输控制装置的其他电路块。
另外,本发明的特征在于:包括在处理单元发布数据传输的暂停命令时或发生传输错误时在预先决定的暂停场所暂停传输处理的单元。这样,在发布开始(重新)命令后,在发生清除节点的拓朴信息的复位时也可以使传输处理暂时暂停而在进行适当的处理之后重新开始进行传输处理。
另外,本发明的特征在于:包括在处理单元发布数据传输的开始命令时将传输数据分割为一连串的数据包并执行连续传输所分割的一连串的数据包的处理的传输执行单元。在包括这种传输执行单元时,在复位期间中一度发布了开始命令时只要处理单元不停止传输处理,就有可能发生不断地传输一连串的数据包的严重的问题。但是,按照本发明,用于在复位期间中发布的开始命令立即被取消,所以,可以防止发生这种不良情况。
在本发明中,上述复位最好在IEEE 1394的标准中定义的总线复位。
另外,本发明是用于在与总线连接的多个节点间的数据传输的数据传输控制装置,其特征在于:包括在处理单元发布了数据传输的开始命令时将传输数据分割为一连串的数据包而执行连续传输所分割的一连串的数据包的处理的传输执行单元和在处理单元同时发布了数据传输的重新开始和暂停命令时就在阶段性执行传输处理之后使传输处理暂停的单元。
按照本发明,在处理单元同时发布了数据传输的重新开始命令和暂停命令时,就阶段性地执行传输处理。这样,便可例如进行逐个传输数据包的处理,从而可以对数据传输控制装置的调试等提供有效的单元。
另外,本发明的特征在于:上述暂停单元在同时发布了发布上述重新开始命令时活性化的重新信号和上述重新开始命令以及上述暂停命令时就根据在上述重新信号活性化后延迟指定的期间而活性化的延迟暂停信号进行传输处理的阶段性执行和暂停。这样,领域设置用于生成延迟暂停信号的延迟单元等简单的方法便可实现传输处理的阶段性执行。
另外,本发明最好根据IEEE 1394的标准进行数据传输。
另外,本发明的电子设备的特征在于:包括上述某一数据传输控制装置、通过上述数据传输控制装置和总线对从其他节点接收的数据进行指定的处理的装置和用于输出或存储进行了处理的数据的装置。另外,本发明的电子设备的特征在于:包括上述某一数据传输控制装置、通过上述数据传输控制装置和总线对向其他节点发送的数据进行指定的处理的装置和用于取入进行了处理的数据的装置。
按照本发明,可以减轻控制数据传输的固件等的处理负担,所以,可以实现电子设备的低成本化和处理的高速化等。另外,可以防止由于发生清除拓朴信息的复位而需要发生不良状态的情况,所以,可以提高电子设备的可靠性。
附图说明
图1是表示IEEE 1394的层结构的图。
图2是用于说明SBP-2的图。
图3是用于说明SBP-2的数据传输处理的概略情况的图。
图4是用于说明从目标向起动器传输数据(流)时的命令处理的图。
图5是用于说明从起动器向目标传输数据(流)时的命令处理的图。
图6A、图6B、图6C是用于说明页表的图。
图7是表示本实施例的数据传输控制装置的结构例的图。
图8是用于说明RAM(数据包存储单元)的分离(分割)方法的图。
图9是用于说明本实施例的数据传输的方法的图。
图10是表示SBP-2内部(传输执行电路)的结构例的图。
图11是用于说明主控制电路的动作的流程图。
图12是用于说明页表的生成方法的图。
图13是用于说明数据包的有效负载分割方法的图。
图14是用于说明传输执行控制电路的动作的流程图。
图15是用于说明有效负载分割电路的动作的流程图。
图16是用于说明发送标题生成电路和事务处理控制电路的动作的流程图。
图17是表示主控制电路的结构例的图。
图18是用于说明开始控制电路的动作的状态迁移图。
图19是用于说明暂停控制电路的动作的状态迁移图。
图20是用于说明取消在总线复位期间发布的命令的方法的时间波形图。
图21是用于说明传输处理的阶段性执行的时间波形图。
图22是用于说明传输处理的阶段性执行的时间波形图。
图23A、图23B、图23C是各种电子设备的内部框图的例子。
图24A、图24B、图24C是各种电子设备的外观图的例子。
具体实施方式
下面,使用附图详细说明本发明的极佳的实施例。
1.IEEE 1394
首先,简单地说明IEEE 1394。
1.1概要
在IEEE 1394(IEEE 1394-1995、P1394.a)中,可以进行100~400Mbps的高速的数据传输(在P1394.b中,是800~3200Mbps)。另外,允许传输速度不同的节点与总线连接。
各节点连接为树形状,1条总线上最多可以连接63个节点。如果利用总线桥,可以连接约64000个节点。
在IEEE 1394中,作为数据包的传输方式,准备了非同步传输和同步传输。这里,非同步传输就是极适合于可靠性要求高的数据的传输的传输方式,同步传输就是极适合于实时性要求高的动图像及声音等的数据的传输的传输方式。
1.2层结构
IEEE 1394的层结构(协议结构)示于图1。
IEEE 1394的协议由事务层、链层和物理层构成。另外,串行总线管理监视或控制事务层、链层和物理层,提供用于进行节点的控制及总线的资源管理的各种功能。
事务层在高位层上提供事务单位的接口(服务),通过提供下层的链层的接口进行读出事务、写入事务、锁存事务等事务处理。
这里,在读出事务中,从应答节点向要求节点传输数据。另一方面,在写入事务中,从要求节点向应答节点传输数据。另外,在锁存事务中,从要求节点向应答节点传输数据,应答节点在进行该数据处理后反送回给要求节点。
链层提供用于进行寻址、数据检查、收发数据包的数据调整和用于同步传输的循环控制等。
物理层提供链层使用的逻辑符号向电信号的变换、总线的调停以及总线的物理的接口。
1.3 SBP-2
如图2所示,作为包含IEEE 1394的事务层的一部分功能的高位的协议,提案了称为SBP-2(Serial Bus Protocol-2)的协议。
这里,SBP-2是为了可以在IEEE 1394的协议上利用SCSI的命令置位而提案的。如果使用该SBP-2,对在现有的SCSI标准的电子设备中使用的SCSI的命令置位作最小限度的改变,就可以用于IEEE 1394标准的电子设备。因此,可以使电子设备的设计和开发容易化。另外,不仅SCSI的命令置位而且设备固有的命令在精练化后也可以利用,所以,通用性非常高。
如图3所示,在SBP-2中,首先使用由起动器(例如微电脑)作成的注册ORB(Operation Request Block)进行注册处理(步骤T1)。其次,使用虚ORB进行取媒质的初始化(步骤T2)。并且,使用标准命令ORB进行命令处理(步骤T3),最后,使用注销ORB进行注销处理(步骤T4)。
在步骤T3的命令处理中,如图4的A1所示的那样,起动器传输写入要求数据包,(发布写入要求事务),链接目标的门铃寄存器。于是,如A2所示的那样,目标传输读出要求数据包,起动器反送回对应的读出应答数据包。这样,起动器作成的ORB(标准命令ORB)就由目标的数据缓冲器取出。并且,目标分析包含在取出的ORB中的命令。
并且,在包含在ORB中的命令是SCSI的读出命令时,如A3所示的那样,目标将一连串的写入要求数据包传输给起动器。这样,从例如目标的媒体(CD-RW)读出的数据(流)就传输给起动器的数据缓冲器。
另一方面,在包含在ORB中的命令是SCSI的写入命令时,如图5的B1所示的那样,目标将读出要求数据包传输给起动器,起动器反送回对应的读出应答数据包。这样,起动器的数据缓冲器存储的数据(流)就传输给目标,写入到目标的媒体中(目标为打印机时,就进行印刷)。
按照该SBP-2,目标在自身的情况良好时就传输要求数据包(发布事务),从而可以收发数据。因此,起动器和目标不必同步动作,从而可以提高数据传输效率。
作为IEEE 1394的高位协议,除了SBP-2以外,还提案了称为FDP(Function Control Protocol)的协议等。
在目标与起动器间进行数据传输时,如图6所示,在起动器(对方节点)的数据缓冲器(存储单元)中有存在页表的情况和不存在页表的情况。
并且,在存在页表时,如图6B所示,在起动器作成的ORB中,包含该页表的地址及元素数。并且,传输数据的地址(读出地址、写入地址)使用该页表间接指定地址。
另一方面,在不存在页表时,如图6C所示,在ORB中包含地址和数据长度,传输数据的地址直接指定。
1.4总线复位
在IEEE 1394中,在接通电源或在中途发生插拔设备是,将发生总线复位。即,各节点监视端口的电压变化。并且,在用于新的节点与总线连接等而端口的电压发生变化时,检测到该变化的节点就通知总线上的其他节点发生了总线复位。另外,各节点的物理层将发生了总线复位的情况传递给链层。
并且,在发生了总线复位时,就清除节点ID等拓朴信息。然后,再自动地设定拓朴信息。即,在总线复位之后,进行树识别和自己识别。然后,决定同步源管理器、主循环、总线管理器等的管理节点。并且,开始进行通常的数据包传输。
这样,在IEEE 1394中,在总线复位之后,用于再自动地设定拓朴信息,所以,可以自由地插拔电子设备的电缆,从而可以实现所谓的热插头。
在事务处理的途中发生总线复位时,该事务处理即告中止。并且,发生中止的事务处理的要求节点在再次设定拓朴信息后,再次传输要求数据包。另外,应答节点不将用于总线复位而中止的事务的应答数据包反送回给要求节点。
2.全体结构
下面,使用图7说明本实施例的数据传输控制装置的全体结构的例子。
在图7中,PHY接口10是进行与PHY设备(物理层的设备)的接口的电路。
链接芯20(链接单元)是利用硬件实现链层的协议及事务层的协议的一部分的电路,提供在节点间的数据包传输的各种服务。寄存器22是用于控制链接芯20的寄存器。
FIFO(Asynchronous Transmission Fifo)30、FIFO(Isochronous Transmission Fifo)32、FIFO(Reception Fifo)34分别是非同步发信用、同步发信用和接收用的FIFO,由例如寄存器或半导体存储器等硬件构成。在本实施例中,这些FIFO30、32、34的级数非常少。例如,1个FIFO的级数最好是3级以下,而2级以下则更好。
DMAC 40(读出单元)、DMAC 42(读出单元)、DMAC44(写入单元)分别是ATF用、ITF用和RF用的DMA控制器。通过使用这些DMAC 40、42、44,不必介入CPU 66就可以在RAM 80与链接芯20之间进行数据传输。寄存器46是用于控制DMAC 40、42、44等的寄存器。
端口接口50是进行与事务层的设备(例如进行打印机的印字处理的设备)的接口的电路。
FIFO(PF)52是用于在与事务层的设备之间进行数据传输的FIFO,DMAC 54是PF用的DMA控制器。寄存器56是控制端口接口50及DMA 54的寄存器。
SBP-2芯84(传输执行电路)是利用硬件实现SBP-2的协议的一部分或事务层的协议的一部分的电路。利用该SBP-2芯84的功能可以将传输数据分割为一连串的数据包,进行连续传输所分割的一连串的数据包的处理。寄存器88是用于控制SBP-2芯84的寄存器,DMAC(SBP-2用)86是SBP-2芯84用的DMA控制器。
RAM区域管理电路300是用于管理RAM 80的各区域的电路。RAM区域管理电路300在RAM 80的各区域成为全满或全空时,就使用各种全满信号和全空信号控制DMAC 40、42、44、54、86。
CPU接口60是进行与控制数据传输控制装置的CPU 66(处理单元)的接口的电路。
CPU接口60包括地址译码器62、数据同步化电路63和中断控制器64。时钟控制电路68是控制在本实施例中使用的时钟的电路,输入从PHY设备(PHY芯片)传送来的SCLK(数据传输控制装置的系统时钟)及HCLK(CPU 66的动作时钟)。
缓冲器管理器70是管理与RAM 80的接口的电路。缓冲器70包括缓冲器管理器的控制用的寄存器72、调停与RAM 80的总线连接的调停电路74和生成各种控制信号的时序发生器76。
RAM 80起可以随机访问的数据包存储单元的功能,该功能利用例如SRAM、SDRAM、DRAM等来实现。
RAM 80最好内藏在本实施例的数据传输控制装置内,但是,也可以将其一部分或全部外设。
图8表示RAM 80的存储变换的一例。如图8所示,在本实施例中,RAM 80分离为标题区域(AR2、AR3、AR4、AR6)和数据S(AR5、AR7、AR8、AR9)。并且,数据包的标题(广义地说,是控制信息)存储到标题区域,数据包的数据(ORB、流)存储到数据区域。
另外,在本实施例中,如图8所示,RAM 80的数据区域(AR5、AR7、AR8、AR9)分离为ORB区域(AR5、AR7)和流区域(AR8、AR9)。
此外,在本实施例中,RAM 80分离为接收区域(AR2、AR4、AR5、AR9)和发信区域(AR3、AR6、AR7、AR8)。
如上所述,ORB(第1层用的第1数据)是SBP-2用的数据(命令)。另一方面,流(第1层之上的上层的第2层用的笫2数据)是应用层用的数据(打印机的印字数据、CD-RW的读出写入数据、扫描器取入的图像数据等)。
另外,AR1、AR2、AR3所示的HW(硬件)用的页表区域、HW用的接收标题区域、HW用的发信标题区域是图7所示的SBP-2芯84用于写入读出页表、接收数据和发信数据的区域。
在图8中,AR4、AR5、AR8、AR9所示的区域成为所谓的环形缓冲器结构。
图7的总线90(或总线92、94)是与应用程序管理器连接的总线(第1总线)。另外,总线95(或总线96)是控制数据传输控制装置或用于读出写入数据的总线,与控制数据传输控制装置的设备电气连接(第2总线)。另外,总线100(或总线102、104、105、106、107、108、109)是与物理层的设备(PHY设备)电气连接的总线(第3总线)。另外,总线110是与作为可以随机访问的存储单元的RAM 80电气连接的总线(第4总线)。另外,总线99是用于读出写入SBP-2芯84利用硬件实现SBP-2用的标题信息和页表信息的总线(第5总线)。
缓冲器管理器70的调停电路74进行DMAC 40、42、44、CPU接口60、DMAC 86、54的总线访问要求的调停。并且,根据该调停结果分别在总线105、107、109、96、99、94中的某一个与RAM 80的总线110之间确立数据的路径(在第1、第2、第3、第5总线中的某一个与第4总线之间确立数据路径)。
本实施例的一个特征在于:设置了可以随机访问并存储数据包的RAM 80,同时设置了相互分离的总线90、95、99、100和用于使这些总线与RAM 80的总线110连接的调停电路74。
这样,如图9所示,便可将数据传输控制装置120、应用层的设备124间的总线90、CPU总线96和数据传输控制装置120、RAM 80间的总线110分离。因此,可以将CPU总线96仅用于数据传输的控制。另外,可以占有总线90在数据传输控制装置120、应用层的设备124间进行数据传输。例如,在组装了数据传输控制装置120的电子设备是打印机时,就可以占有总线90传输印字数据。结果,便可减轻CPU 66的处理负担,从而可以提高系统全体的实际传输速度。另外,作为CPU 66,可以采用廉价的产品,同时,作为CPU总线96,不必使用高速的总线。因此,可以实现电子设备的低成本化和小规模化。
3.SBP-2芯(传输执行电路)的结构
图10表示图7的SBP-2芯84的结构例。SBP-2芯84是将传输数据自动地分割为一连串的数据包并用于连续传输所分割的数据包的电路,主要利用硬件执行图4的A3、图5的B1所示的数据包传输。
主控制电路200是用于控制SBP-2芯84的全体的电路,包括寄存器202、204、206、208。
这里,寄存器202、204、206分别是软件(CPU)用于发布数据传输(硬件SBP-2处理)的开始命令、暂停命令和重新开始命令的寄存器。即,软件将1写入寄存器202时,将传输数据分割为一连串的数据包并开始进行连续传输的处理。并且,在该传输处理中软件将1写入寄存器204时,数据传输处理就暂停,将1写入寄存器206时,就再次开始进行暂停的数据传输处理。
寄存器208是用于设定页表的存在、不存在的寄存器。即,软件分析起动器的ORB,在判定在起动器的数据缓冲器中不存在页表时,就将1写入寄存器208。另一方面,在判定存在页表时(图6A的情况),就将0写入寄存器208。
页表取电路210是在起动器(对方节点)的数据缓冲器(存储单元)中存在页表时进行从起动器中取出该页表的处理的电路。更具体而言,就是页表取电路210向发信标题电路260指示页表的取出并在完成取出时指示页表生成电路220更新页表地址和页表尺寸。
页表生成电路220是在起动器的数据缓冲器中不存在页表时生成假想的页表的电路。更具体而言,就是在从主控制电路200指示了生成页表时就按照指定的算法语言生成页表。并且,进行通过元素保持电路230和缓冲器接口290将生成的页表写入到RAM的HW用页表区域的处理。
是否存在页表,如前所述,根据寄存器208的设定值进行判断。另外,由页表取电路210和页表生成电路220取出或生成的页表存储到RAM的HW用页表区域(图8的AR1)中。
对页表生成电路220包含的寄存器222设定由起动器的ORB指定的页边界尺寸。另外,在存在页表时,对寄存器224、226设定由ORB指定的页表地址、页表尺寸(元素数)(参见图6B)。另一方面,在不存在页表时,就设定传输数据的开头地址和数据长度(参见图6C)。另外,元素计数器228在生成页表进行对页表的元素数(元素指针)进行计数的处理。元素保持电路230是保持成为SBP-2芯的处理对象的页表元素的信息的电路,包括保持页表元素的段长度的寄存器232和保持段偏移地址的寄存器234。
传输执行控制电路240是控制利用SBP-2芯的数据传输(流传输)的执行的电路,包括寄存器242、244。并且,寄存器242显示现在处理中的页表元素的号码。另外,寄存器244利用软件设定开始进行数据传输的页表元素的号码。这样,软件便可从任意的页表元素开始进行数据传输。
有效负载分割电路250进行将传输数据分割为有效负载尺寸的数据包的处理。对有效负载分割电路250包含的寄存器252设定由ORB指定的最大有效负载尺寸。另外,寄存器254显示实际的有效负载尺寸。有效负载分割电路250根据从RAM的HW页表区域(图8的AR1)中读出的由寄存器232保持的页表元素的段长度和对寄存器252设定的最大有效负载尺寸进行有效负载分割处理。
发信标题生成电路260根据由软件设定的速率和目的地ID等进行生成图4的A3、图5的B1的各要求数据包的标题的处理。并且,生成的标题存储到RAM的HW用发信标题区域(图8的AR3)中。这样,在本实施例中,连续传输的一连串的要求数据包的标题就由硬件自动地生成,所以,可以大幅度地减轻软件的处理负担。
事务控制电路270接收环形芯等外部电路块的错误信息和状态信息,进行用于事务执行的各种处理。并且,在事务执行完成时,激活事务结束信号Tcomp,并通知页表取电路210及有效负载分割电路250。这样,本实施例的SBP-2芯就不是按数据包单位而是以事务单位来管理数据传输处理的。
拆分定时器280在事务开始时安装拆分定时,并开始进行递减计数。并且,在计数值成为0时就通知事务控制电路270时间已到。
缓冲器接口290是起与图7的缓冲器管理器70的接口功能的电路。SBP-2芯84的各块通过该缓冲器接口290对缓冲器管理器70要求对RAM 80进行访问。
3.1主控制电路
下面,使用图11的流程图说明主控制电路200的动作。
首先,判断是否使用在HW用页表区域中已存储的页表(步骤S1),使用时就转移到步骤S5,不使用时就转移到步骤S2。是否使用已在HW用页表区域中存储的页表的设定,通过软件将指定的设定值写入指定的寄存器而实现。
其次,根据图10的寄存器208的设定值判断在起动器的数据缓冲器中是否存在页表(步骤S2)。并且,存在时就指示页表取电路210开始进行页表的取出处理(步骤S3)。另一方面,不存在时就指示页表生成电路220开始进行生成页表的处理(步骤S4)。
并且,在完成页表的取出或生成处理时,就指示传输执行控制电路240开始进行传输执行处理(流数据任务)(步骤S5)。
本实施例的页表生成电路220利用以下说明的方法生成页表。
例如,如图12所示,设传输数据的开头地址SA位于页边界PB0、PB1之间,结束地址EA位于页边界PB4、PB5之间。这时,页表生成电路220就生成页边界PB1、PB4之间(第K、第L页边界之间)的页表的元素数为1(广义地说,为指定数)的假想的页表。
更具体而言,就是生成开头地址SA与页边界PB1之间成为X种页表元素(第1页表元素)、页边界PB1、PB4之间成为Y种页表元素(第2页表元素)、页边界PB4与结束地址EA之间成为Z种页表元素(第3页表元素)的3页的页表。
但是,在传输数据的开头地址SA位于页边界PB1(第K页边界)上时就不生成X种页表元素,而成为2页的页表。另外,在传输数据的结束地址EA位于页边界PB4(第L页边界)上时就不生成Z种页表元素,而成为2页的页表。此外,在传输数据的开头地址SA位于页边界PB0、PB1之间而结束地址EA位于页边界PB0、PB1之间或PB1上时,就生成SA、EA之间成为X种页表元素的1页的页表。
另外,在本实施例中,图10的有效负载分割电路250将传输数据分割为最大有效负载尺寸为页边界尺寸的约数的有效负载尺寸的数据包。即,在图13中,进行Max PLS成为者边界尺寸PBS的约数的数据包分割。
这样,如果使最大有效负载尺寸Max PLS成为页边界尺寸PBS的约数,例如,如图13的C1及C2所示的那样,在页边界PB2及PB3上,数据包的有效负载就不跨越页边界。因此,如本实施例那样,在生成PB1、PB4之间的页表元素数为1的页表时,也可以遵守不跨越页边界的限制而进行数据传输。
3.2传输执行(流任务)控制电路。
下面,使用图14的流程图说明传输执行控制电路240的动作。
首先,对图10的日历元素号码的寄存器242安装寄存器244的开始元素号码(步骤S40)。并且,进行从RAM的HW用页表区域中读出日历元素号码的页表元素的处理(步骤41)。更具体而言,就是传输执行控制电路240指示缓冲器接口290读出成为处理对象的页表元素。于是,缓冲器接口290就从RAM的HW用页表区域中读出成为处理对象的页表元素,并将页表元素的段长度写入寄存器232,将段偏移地址写入寄存器234。
其次,指示有效负载分割电路250开始进行有效负载分割处理(步骤S42)。
然后,判断现在的页表元素的处理是否结束(步骤S43),未结束时就返回到步骤S42。另一方面,在已结束时就判断所有的页表元素的处理是否结束(步骤S44),未结束时就将日历元素号码加1(步骤S45),并返回到步骤S41。
所有的页表元素的处理是否结束,通过将用8除寄存器226的页表尺寸而得到的元素数与日历元素号码进行比较来判断。
3.3有效负载分割电路
下面,使用图15的流程图说明有效负载分割电路250的动作。如图13所示,有效负载分割电路250进行将传输数据分割为有效负载尺寸的数据包的处理。
首先,判断图10的寄存器232存储的页表元素的段长度的剩余字节数是否大于最大有效负载尺寸(步骤S51)。并且,在剩余字节数大于最大有效负载尺寸时,就将数据包的有效负载尺寸设定为最大有效负载尺寸(步骤S52)。另一方面,如图13的C3及C4所示的那样,在剩余字节数小于最大有效负载尺寸时,就将数据包的有效负载尺寸设定为剩余字节数(步骤S53)。
在进行有效负载尺寸的设定后,就指示发信标题生成电路260开始进行事务的执行处理(步骤S54)。并且,在根据事务控制电路270的信号TComp知道事务已完成时,就指示元素保持电路230更新寄存器232、234存储的页表元素的段长度(剩余字节数)和段偏移地址(开头地址)(步骤S55)。
其次,根据主控制电路200的信号Pause判断是否暂停处理(步骤S56)。即,在信号Pause已成为活性时就暂停处理。并且,在暂停时以信号Pause成为非活性时为条件重新开始处理(步骤S57)。
3.4发信标题生成电路、事务控制电路
下面,使用图16的流程图说明发信标题生成电路260和事务控制电路270的动作。
首先,生成要求数据包的标题,并写入HW用发信标题区域(图8的AR3)(步骤S61)。更具体而言,如图4的A3那样,在向起动器发信数据时,就将写入要求(块写入要求)数据包的标题写入HW用发信标题区域。另一方面,如图5的B1那样,在从起动器接收数据时或取出页表时,就将读出要求数据包的标题写入HW发信标题区域。
其次,使传输的开始信号(HWStart)活性化,并指示开始进行传输(步骤S62),等待接收起动器的ACK(步骤S63)。
然后,在发信数据包是读出要求数据包时,就判断是否ACK待处理(步骤S65),不是ACK待处理时,就转移到步骤S72,成为错误暂停状态。另一方面,是ACK待处理时,就指示拆分定时器起动(步骤S66),等待接收应答数据包(步骤S67)。
然后,判断应答数据包的接收是否理想(步骤S68),在DCE时,就等待再次接收应答数据包,在理想时就转移到步骤S69,在其他情况时就转移到步骤S72,成为错误暂停状态。并且,在转移到步骤S69时,就指示拆分定时器停止,使信号TComp活性化,更新传输数据的指针(步骤S70)。
另一方面,在发信数据包是写入要求数据包时,首先判断是否ACK待处理(步骤S71)。并且,在是ACk待处理时就转移到步骤S70,在除此以外的情况时就转移到步骤S72,成为错误暂停状态。
在转移到步骤S72而处理成为错误暂停时,就以重新开始处理为条件转移到步骤S62(步骤S73)。即,这时,再次利用已写入HW用发信标题区域的发信标题再次开始传输。
4.数据传输的开始(重新开始)命令的取消
如上所述,按照本实施例,由硬件自动地执行图4的A3及图5的B1所示的传输处理。即,在软件指示了数据包的连续传输开始时(将1写入图10的寄存器202时),SBP-2芯84就利用硬件自动地执行页表的取出或生成处理、有效负载分割处理、发信标题生成处理、各数据包的传输开始处理、错误处理等,从而自动地传输一连串的数据包。这样,便可大大减轻软件的处理负担,从而可以大幅度地提高数据传输控制装置的实际传输速度。
但是,在IEEE 1394中,进行电缆的插拔时,将发生总线复位(广义地说,将发生清除节点的拓朴信息的复位)。并且,由于该电缆的插拔是在任意的时刻进行的,所以,在CPU上动作的软件(处理单元)不能预测总线复位的发生时期。因此,在总线复位发生后的总线复位期间,将发生软件发布连续传输数据包的开始命令的情况。并且,在发生种种情况时,将开始进行本来由于总线复位而无效的多个数据包的传输等不良情况。
特别是在组装了这种数据传输控制装置的电子设备中,多数情况都使用廉价而低速的CPU。因此,即使利用中断等使软件知道发生了总线复位,在数据传输开始之后到软件指示停止数据传输的期间将发生长时间的延迟,从而上述不良情况更加严重。
因此,在本实施例中,在总线复位期间中发布了数据传输的开始命令(或重新开始命令)时,就取消执行该命令,同时,将由于总线复位的发生而取消执行命令的情况通知软件。下面,具体地说明数据传输的开始命令及串行开始命令的取消方法。
图17表示图10的主控制电路200的结构例。在图17中,省略了与本发明无关的电路部分。
DFF1、DFF6、DFF10(D触发电路)分别与图10的寄存器204、206、202相当。
例如,设数据总线信号DIN的位K为1、允许写入信号WR为1(活性化)时,CPU在作为CPU的动作时钟的HCLK的前沿向DFF1(暂停的寄存器204)写入1。并且,由根据作为数据传输控制装置的系统时钟的SCLK而动作的DFF2、DFF3、DFF4、DFF5及AND2生成作为1时钟(SCLK)宽度的信号的Delayed Pause。
另外,设DIN的位L为1、WR为1时,向DFF6(重新开始的寄存器206)写入1,由DFF7、DFF8、DFF9、AND5生成1时钟宽度的信号Resume。
另外,设DIN的位M为1、WR为1时,向DFF10(开始的寄存器202)写入1,由DFF11、DFF12、DFF13、AND8生成1时钟宽度的信号Start。
取消电路300包括AND4、ANd5、ANd7、AND8。
这里,DFF7的输出Q7的反相信号和DFF8的输出Q8都输入AND4、AND5。但是,总线复位期间信号BRPeriod直接输入AND4,与此相反,BRPeriod的反相信号输入AND5。这样,通过将BRPeriod的反相信号输入AND5,在总线复位期间中CPU(软件)发布重新开始命令时便可取消执行该命令。
另外,DFF11的输出Q11的反相信号和DFF12的输出Q12都输入AND7、AND8。但是,BRPeriod直接输入AND7,与此相反,BRPeriod的反相信号输入AND8。这样,通过将BRPeriod的反相信号输入AND8,在总线复位期间中CPU发布开始命令时便可取消执行该命令。
作为AND4、AND7的输出的Cance11、Cance12输入OR1。并且,作为OR1的输出的INTBRC输入包含图7的CPU接口60的中断控制器64。
在BRPeriod=1的总线复位期间中CPU发布重新开始或开始命令时,Cance11或Cance12成为1。这样,INTBRC就成为1,从而通过中断控制器64对CPU发生中断。于是,CPU对原因寄存器65进行读取,分析中断原因。这样,CPU(软件)便可知道是由于发生总线复位而取消了命令。
开始控制电路310是控制数据传输的开始的电路,输入信号Start、FromStream、FetchDone、MakeDone、StreamDone。另外,输出信号StartFetch、StartMake、StartStream。
这里,如前所述,Start是CPU(软件)使数据传输的开始命令活性化时成为1的信号。
另外,From Stream是不进行页表的取出及生成而从流传输(图4的A3、图5的B1所示的传输)开始进行处理时成为1的信号。
另外,Start Fetch、Start Make、Start Stream分别是指示图10的页表取电路210、页表生成电路220、传输执行控制电路240取出页表、生成页表和开始流的传输时成为1的信号。
另外,Fetch Done、Make Done、StreamDone分别是取出页表、生成页表和流的传输结束时成为1的信号。
另外,Exec是在数据传输的执行中成为1的信号。
暂停控制电路320是控制数据传输的暂停的电路,输入信号Delayed Pause、Resume、Exec、Eww,输出信号Pause。
这里,如前所述,Delayed Pause、Resume是CPU发布数据传输的暂停命令、重新开始命令时成为1的信号。但是,DElayed Pause是比Resume延迟1时钟(SCLK)的量的信号。
另外,Err是数据传输发生错误时等成为1的信号。
另外,如在图15的步骤S56说明的那样,Pause是数据传输暂停时成为1的信号。
下面,使用图18的状态迁移图说明开始控制电路310的动作。
首先,在状态S00,Comp(结束信号)=0、Exec=0。并且,在Start=1且From Stream=0时,在下一个时钟转移到状态S01。而在状态S01,使Exec=1。另外,在存在页表时,使Start Fetch=1,在不存在页表时,使Start Make=1。这样,就开始进行页处理的取出或生成。并且,在下一个时钟转移到状态S02,返回到Start Fetch=0、Start Make=0。
在状态S00,Start=1且From Stream=1时,在下一个时钟转移到状态S04,省略页表的取出及生成的处理。
在状态S02,Fetch Done=1且Make Done=1时,在下一个时钟转移到状态S03。并且,如果Pause=1,就停止在状态S03。这样,在本实施例中,Pause=1时,在页表的取出或生成结束之后,传输处理就暂停。
另一方面,在Pause=0时,就转移到状态S04,成为Start Stream=1,开始进行流传输。并且,在下一个时钟返回到Start Stream=0(状态S05)。并且,在流传输结束从而StreamDone=1时,就使结束信号Comp=1(状态S06)。
下面,使用图19的状态迁移图说明暂停控制电路320的动作。
在状态S10,Pause=0。并且,在Delayed Pause=1且Exec=1时,在下一个时钟转移到状态S11,成为Pause=1。这样,传输处理就暂停。并且,在Resume=1且Err=0(或Exec=0)时,就返回到Pause=0。这样,暂停的传输处理就重新开始。
图20表示用于说明图17的主控制电路的动作的时间波形图。
在图20中,BRDetect是检测到总线复位时成为1的信号。另外,SelfIDEnd是在总线复位发生后进行的自己识别处理结束时成为1的信号。并且,总线复位期间信号BRPeriod在BRDetect的后沿成为1,在SelfIEDnd的后沿成为0。因此,BRPeriod=1的期间就成为总线复位期间。
例如,在图20的E1,BRPeriod=0,就不是总线复位期间。并且,这时,CPU发布开始(重新开始)命令,如E2所示的那样,在DIN的位M(L)和WR成为1时,如E3所示的那样,信号Start(Resume)成为1。这样,就开始(重新开始)进行数据传输。
另一方面,在图20的E4,BRPeriod=1,成为总线复位期间。并且,这时,CPU发布开始(重新开始)命令,如E5所示的那样,即使DIN的位M(L)和WR成为1,如E6所示的那样,信号Start(Resume)也仍然是0。因此,取消CPU发布的开始(重新开始)命令。即,通过向图17的AND5、AND8输入BRPeriod的反相信号(=0),Q8、Q12的信号脉冲就被掩蔽,而AND5、AND8的输出Q8’、Q12’固定为0。这样,信号Start(Resme)也固定为0,从而取消数据传输的开始(重新开始)。
另外,这时,不是反相信号而是BRPeriod本身输入AND4、AND7。因此,在发布开始(重新开始)命令从而在Q8、Q12发生信号脉冲时,Cance11、Cance12成为1,如图20的E7所示的那样,INTBRC成为1。这样,就通过中断电路64通知CPU取消了开始(重新开始)命令。
如上所述,按照本实施例,即使在总线复位期间发布开始(重新开始)命令,也取消该命令。因此,CPU即使想发布开始命令,也不进行实际的数据传输。
即,在总线复位发生后传输开始指示的数据包本来就是无效的数据包。但是,在本实施例的数据传输控制装置中,在发布了开始命令时,就由硬件自动地连续传输图4的A3、图5的B1所示的一连串的数据并且。并且,该数据包传输,只要CPU不通知传输就继续进行。因此,就有可能传输多个无效的数据包或招致链接芯等其他电路块的误动作,从而可能发生使CPU的处理混乱等不良情况。按照本实施例,用于立即取消CPU发布的开始命令,所以,可以消除这种不良情况。
例如,作为与本实施例不同的方法,可以考虑以下的方法。即,在总线复位期间中即使发布了开始命令,也不取消该命令,而只发生中断。并且,根据该中断而知道发生了总线复位的CPU将1写入例如图10的寄存器204,使数据包传输暂停。
但是,在该方法中,在发布开始命令之后,到CPU将1写入寄存器204而使传输处理暂停的期间,发生传输了非常多的数据包的不良情况。特别是在组装了这种数据传输控制装置的电子设备中,多数都使用廉价而低速的CPU。并且,在使用这种低速的CPU时,在发布开始命令之后,到使传输处理暂停的期间是长时间,上述不良情况将更为严重。
按照本实施例,在总线复位期间中立即取消CPU发布的开始命令,数据传输不开始,结果,连1个数据包也不传输。并且,在取消之后,为了事后承认,使用中断将取消庙的情况通知CPU。因此,可以与CPU的速度无关地可靠地防止上述不良情况发生。
由于总线复位的发生时期是任意的,所以,有时在CPU发布开始命令后也发生总线复位。并且,由于总线复位发生后的数据包(事务)无效,所以,在发布开始庙之后发生总线复位时,必须暂时中断传输处理。
这时,在本实施例中,通过CPU将1写入图10的寄存器204(图17的DFF1),可以使传输处理暂停。并且,在进行区别无效的数据包(总线复位发生后的数据包)非无效的数据包(总线复位发生前的数据包)的处理之后,通过将1写入图10的寄存器206(图17的DFF6),也可以使传输处理重新开始。
这时,在本实施例中,预先决定了使传输处理暂停的场所(例如,图15的步骤S56、图16的步骤S72、图18的状态S03)。例如,如果想使可以在任意的场所进行暂停时,电路结构将复杂化,但是,如果预先决定暂停场所,便可使电路结构简单。并且,如在更新信息之后(图15的步骤S56)、数据传输开始之前(图16的步骤S72)、页表的取出或生成结束之后(图18的状态S03)等那样,如果在容易区别的场所使传输处理暂停,便可实现动作的强大化和防止发生故障等。
5.步进式执行
在图17的电路中,也可以步进式执行传输处理。即,在CPU同时发布重新开始命令和暂停命令时,就步进式执行传输处理。
例如,在图21的F1,数据总线信号DIN的位K和WR成为1。并且,这时,如F2所示的那样,只有Delayed Pause成为1,从而传输处理暂停。
另一方面,在图31的F3,DIN的位K和L以及WR成为1。并且,这时,如F4所示的那样,Resume成为1,然后,延迟1时钟,Delayed Pause成为1。并且,通过将这些信号Resume、Delayed Pause输入暂停控制电路320,来实现步进式执行传输处理。
例如,在图22中,CPU发布了开始命令时,如G1所示的那样,Start成为1。这样,如G2所示的那样,Exec=1(图18的状态S01),开始进行传输处理。
其次,在CPU发布暂停命令并且如G3所示的那样Delayed Pause成为1(活性化)时,如G4所示的那样,Pause=1(图19的状态S11)。这样,就在预先决定的暂停场所(例如图15的步骤S56、图18的状态S03),传输处理暂停。
然后,在CPU发布重新开始命令并且如G5所示的那样Resume成为1(活性化)时,如G6所示的那样,Pause=0(图19的状态S10),重新开始进行传输处理。并且,在CPU发布暂停命令并且如G7所示的那样Delayed Pause成为1时,传输处理再次暂停。
在CPU同时发布暂停命令和重新开始命令并且如上述图21的F3那样DIN的位K和L以及WR成为1时,如图22的G8所示的那样在Resume成为1之后,延迟1时钟,Delayed Pause成为1。这样,Pause就如G10所示的那样从1变化为0,在1时钟期间成为0后,如G11所示的那样返回到1。因此,仅在1时钟琴执行传输处理之后,在可以暂停的场所使传输处理暂停。即,实现步进式的传输处理。
在可以进行上述步进式执行时,便可进行将数据包逐个传输的处理。即,在图15的有效负载分割时,CPU同时发布了暂停命令和重新开始命令时,首先通过信号Pause=0,在步骤S57重新开始进行传输处理。并且,然后在Pause=1时,就进行图14的步骤S43、图15的步骤S51~S55的处理,传输有效负载尺寸的1个数据包,然后,传输处理暂停(步骤S56)。并且,在CPU再次同时发布暂停命令和重新开始命令时,就传输下一个数据包,然后传输处理暂停。这样,通过可以步进式执行将数据包逐个传输,SBP-芯的电路及软件便可排出故障等。
例如,作为与本实施例不同的方法,也可以考虑首先CPU发布重新开始命令并传输数据包、而在写入循环CPU发布暂停命令使数据包的传输暂停的方法。但是,由图21可知,CPU的动作速度通常比较慢,CPU的写入循环长。因此,在上述方法中,在CPU发布重新开始命令后,到发布暂停命令的期间,将传输了多个数据包。即,不能实现步进式执行逐个传输数据包。
与此相反,在本实施例中,仅增加1个图17的DFF5,利用使DElayed Pause比Rsume只延迟1时钟期间的简单的方法,便可成功地实现步进式执行逐个传输数据包。
6.电子设备
下面,说明包含本实施例的数据传输控制装置的电子设备的例子。
例如,图23A表示作为电子设备之一的打印机的内部框图,图24A表示其外观图。CPU(微电脑)510进行系统全体的控制等。操作部511用于由用户操作打印机。在ROM 516中,存储控制程序和字体等,RAM 518起CPU 510的工作区域的功能。显示板519用于向用户通知打印机的动作状态。
通过PHY设备502、数据传输控制装置500从微电脑等其他的节点传送来的印字数据,通过总线504直接传送给印字处理部512。并且,印字数据由印字处理部512进行指定的处理,由打印头等构成的印字部(用于输出数据的装置)514向纸上印字而输出。
图23B表示作为电子设备之一的扫描器的内部框图,图24B表示其外观图。CPU 520进行系统全体的控制等。操作部521用于由用户操作扫描器。在ROM 526中,存储控制程序等,RAM 528起CPU 520的工作区域的功能。
由光源、光电变换器等构成的图像读取部(用于取入数据的装置)522读取原稿的图像,读取的图像的数据由图象处理部524进行处理。并且,处理后的图像数据通过总线505直接传送给数据传输控制装置500。数据传输控制装置500通过给该图像数据附加上标题等而生成数据包,并通过PHY设备502向微电脑等其他的节点发信。
图23C表示作为电子设备之一的CD-RW驱动器的内部框图,图24C表示其外观图。CPU 530进行系统全体的控制等。操作部531用于由用户操作CD-RW。在ROM 536中,存储控制程序等,RAM 538起CPU 530的工作区域的功能。
由激光、电机、光学系统等构成的读取和写入部(用于取入数据的装置或用于存储数据的装置)533从CD-RW 532读取的数据输入信号处理部534,进行错误订正处理等指定的信号处理。并且,进行了信号处理的数据通过总线506直接传送给数据传输控制装置500。数据传输控制装置500通过给该数据附加上标题等而生成数据包,并通过PHY设备502向微电脑等其他的节点发信。
另一方面,通过PHY设备502、数据传输控制装置500从其他的节点传送来的数据通过总线506直接传送给信号处理部534。并且,由信号处理部534对该数据进行指定的信号处理,并由读取和写入部533存储到CD-RW 532中。
在图23A、图23B、图23C中,除了CPU 510、520、530外,也可以另外设置用于数据传输控制装置500中的数据传输控制的CPU。
另外,在图23A、图23B、图23C中,RAM 501(与图7的RAM 80相当)设置在数据传输控制装置500的外部,但是,也可以将RAM 501内藏到数据传输控制装置500内。
通过将本实施例的数据传输控制装置用于电子设备,可以进行高速的数据传输。因此,用户利用微电脑等进行打印输出的指示时,用很少的时间延迟便可完成印字。另外,在向扫描器指示取入图像后,用很少的时间延迟用户便可看到读取的图像。另外,可以高速地从CD-RW读取数据和向CD-RW写入数据。此外,例如,将多个电子设备与1个主系统连接进行利用或将多个电子设备与多个主系统连接进行利用都将变得容易。
另外,通过将本实施例的数据传输控制装置用于电子设备,可以减轻在CPU上动作的软件的处理负担,从而可以使用廉价的CPU和低速的总线。此外,由于可以实现数据传输控制装置的低成本化和小规模化,所以,也可以实现电子设备的低成本化和小规模化。
另外,在新的电子设备与总线连接而发生总线复位时,也可以防止由于总线复位的原因而发生的不良情况,从而可以保证电子设备强大的动作。
作为可以应用本实施例的数据传输控制装置的电子设备,除了上述以外,还可以考虑例如各种光盘驱动器(CD-ROM、DVD)、光磁盘驱动器(MO)、硬盘驱动器、TV、VTR、摄像机、音响机器、电话机、投影仪、电脑、电子记事簿、文字处理器等各种电子设备。
本发明不限于本实施例,在本发明主旨的范围内,可以进行各种变形实施。
例如,本发明的数据传输控制装置的结构特别希望是图7所示的结构,但是,并不仅限于此种形式。
另外,传输执行电路(SBP-2芯)的结构也特别希望是图10所示的结构,但是,并不仅限于此种情况。
另外,传输处理的开始、暂停、重新开始的方法也不限于在本实施例中说明的方法。
另外,开始单元、暂停单元、重新开始单元、取消单元的结构也特别希望是图17所示的方法,但是,并不仅限于此种情况。
另外,将取消执行命令通知处理单元的方法特别希望如图17那样使用中断的方法,但是,并不限于此种情况。
另外,本发明对IEEE 1394中的总线复位特别有用,但是,除此以外,至少只要是清除节点的拓朴信息那样的复位是可以应用的。
另外,本发明特别希望应用于IEEE 1394标准的数据传输,但是,并不限于此种情况。例如,对于基于和IEEE 1394同样思想的标准和发展了IEEE 1394的标准的数据传输也可以应用本发明。

Claims (9)

1.一种用于在与总线连接的多个节点之间的数据传输的数据传输控制装置,其特征在于:包括在处理单元发布数据传输的开始命令或重新开始命令时开始或重新开始进行传输处理的单元、在清除节点的拓朴信息的复位期间中处理单元发布开始命令或重新开始命令时取消执行该命令的单元和将用于发生复位而取消执行命令的情况通知处理单元的通知单元。
2.按权利要求1所述的数据传输控制装置,其特征在于:包括在取消执行该命令的单元取消数据传输的开始命令或重新开始命令的执行时使处理单元发生中断的单元和用于将上述中断的原因通知处理单元的原因存储单元。
3.按权利要求1所述的数据传输控制装置,其特征在于:上述取消执行该命令的单元通过用在复位期间中的活性信号将在处理单元发布开始命令或重新开始命令时的活性信号掩蔽而取消命令。
4.按权利要求1所述的数据传输控制装置,其特征在于:包括在处理单元发布数据传输的暂停命令时或发生传输错误时在预先决定的暂停场所暂停传输处理的单元。
5.按权利要求1所述的数据传输控制装置,其特征在于:包括在处理单元发布数据传输的开始命令时将传输数据分割为一连串的数据包并执行连续传输所分割的一连串的数据包的处理的传输执行单元。
6.按权利要求1所述的数据传输控制装置,其特征在于:上述复位是在IEEE 1394的标准中定义的总线复位。
7.按权利要求1所述的数据传输控制装置,其特征在于:根据IEEE 1394的标准进行数据传输。
8.一种电子设备,其特征在于:包括用于在与总线连接的多个节点之间的数据传输的数据传输控制装置,所述数据控制装置包括在处理单元发布数据传输的开始命令或重新开始命令时开始或重新开始进行传输处理的单元、在清除节点的拓朴信息的复位期间中处理单元发布开始命令或重新开始命令时取消执行该命令的单元和将用于发生复位而取消执行命令的情况通知处理单元的通知单元,所述电子设备还包括对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和用于输出或存储进行了处理的数据的装置。
9.一种电子设备,其特征在于:包括用于在与总线连接的多个节点之间的数据传输的数据传输控制装置,所述数据控制装置包括在处理单元发布数据传输的开始命令或重新开始命令时开始或重新开始进行传输处理的单元、在清除节点的拓朴信息的复位期间中处理单元发布开始命令或重新开始命令时取消执行该命令的单元和将用于发生复位而取消执行命令的情况通知处理单元的通知单元,所述电子设备还包括对通过上述数据传输控制装置和总线向其他的节点传输的数据进行指定的处理的装置和用于取入进行了处理的数据的装置。
CNB001306898A 1999-10-15 2000-10-16 数据传输控制装置和电子设备 Expired - Fee Related CN1137444C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP293589/1999 1999-10-15
JP293589/99 1999-10-15
JP29358999A JP3606133B2 (ja) 1999-10-15 1999-10-15 データ転送制御装置及び電子機器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNA031234291A Division CN1516406A (zh) 1999-10-15 2000-10-16 数据传输控制装置和电子设备

Publications (2)

Publication Number Publication Date
CN1293411A CN1293411A (zh) 2001-05-02
CN1137444C true CN1137444C (zh) 2004-02-04

Family

ID=17796688

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA031234291A Pending CN1516406A (zh) 1999-10-15 2000-10-16 数据传输控制装置和电子设备
CNB001306898A Expired - Fee Related CN1137444C (zh) 1999-10-15 2000-10-16 数据传输控制装置和电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA031234291A Pending CN1516406A (zh) 1999-10-15 2000-10-16 数据传输控制装置和电子设备

Country Status (8)

Country Link
US (1) US7085855B1 (zh)
EP (3) EP2111003A1 (zh)
JP (1) JP3606133B2 (zh)
KR (1) KR100381645B1 (zh)
CN (2) CN1516406A (zh)
AT (1) ATE366015T1 (zh)
DE (1) DE60035374D1 (zh)
TW (1) TW511351B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1346357A1 (en) * 2000-12-20 2003-09-24 Koninklijke Philips Electronics N.V. Video recorder having a modular hard disk unit and means for starting and stopping the modular hard disk unit
US8185664B1 (en) * 2009-06-17 2012-05-22 Qlogic, Corporation System and method to restore maximum payload size in a network adapter
JP5867206B2 (ja) * 2012-03-16 2016-02-24 富士通株式会社 移動制御装置,プログラム及びストレージ装置
CN103513733B (zh) * 2013-10-12 2018-05-29 丁贤根 一种用于pcie电源可靠复位的方法
WO2016018262A1 (en) * 2014-07-29 2016-02-04 Hewlett-Packard Development Company, L.P. Storage transactions
JP7270387B2 (ja) * 2019-01-15 2023-05-10 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
JP7407046B2 (ja) * 2020-03-26 2023-12-28 本田技研工業株式会社 音声出力の制御方法および音声出力制御装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2829091B2 (ja) * 1990-04-19 1998-11-25 株式会社東芝 データ処理システム
US5412803A (en) * 1992-02-20 1995-05-02 International Business Machines Corporation Communications system having plurality of originator and corresponding recipient buffers with each buffer having three different logical areas for transmitting messages in single transfer
US5457694A (en) * 1993-06-25 1995-10-10 Smith; Dale J. Method and apparatus for analyzing the ATA (IDE) interface
JP3241911B2 (ja) * 1993-12-13 2001-12-25 富士通株式会社 ライブラリ装置を共用するデータ処理装置
EP0957608B1 (en) * 1994-03-09 2001-03-14 Matsushita Electric Industrial Co., Ltd. Data transmission system and method
JP3348331B2 (ja) 1995-04-21 2002-11-20 ソニー株式会社 電子機器及びその動作モード制御方法
JP3271493B2 (ja) * 1995-09-26 2002-04-02 ヤマハ株式会社 ネットワークおよびデータ伝送方法
US5764930A (en) 1996-04-01 1998-06-09 Apple Computer, Inc. Method and apparatus for providing reset transparency on a reconfigurable bus
SG63746A1 (en) * 1996-09-20 1999-03-30 Texas Instruments Inc Method and system for testing memory
US6332159B1 (en) * 1996-12-04 2001-12-18 Canon Kabushiki Kaisha Data communication system, apparatus and controlling method thereof
JPH10178438A (ja) 1996-12-18 1998-06-30 Sony Corp データ通信システム、データ通信装置および方法
US5923673A (en) 1997-02-13 1999-07-13 Sony Corporation IEEE 1394 data/protocol analyzer
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
DE19835668A1 (de) * 1997-08-07 1999-02-25 Matsushita Electric Ind Co Ltd Übertragungsmedienverbindungsvorrichtung, steuernde Vorrichtung, gesteuerte Vorrichtung und Speichermedium
US6298406B1 (en) * 1997-10-24 2001-10-02 Sony Corporation Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node
JP3277874B2 (ja) * 1998-01-29 2002-04-22 日本電気株式会社 Ieee1394ブリッジ
JPH11224220A (ja) 1998-02-09 1999-08-17 Hitachi Ltd メモリ管理方式
US6360053B1 (en) * 1998-08-07 2002-03-19 Replaytv, Inc. Method and apparatus for fast forwarding and rewinding in a video recording device
US20020057893A1 (en) * 1998-08-11 2002-05-16 Anthony Wood Digital recording and playback
US6343260B1 (en) * 1999-01-19 2002-01-29 Sun Microsystems, Inc. Universal serial bus test system
JP3780776B2 (ja) * 1999-10-15 2006-05-31 セイコーエプソン株式会社 データ転送制御装置及び電子機器

Also Published As

Publication number Publication date
CN1293411A (zh) 2001-05-02
DE60035374D1 (de) 2007-08-09
KR100381645B1 (ko) 2003-04-26
JP2001119404A (ja) 2001-04-27
CN1516406A (zh) 2004-07-28
KR20010051020A (ko) 2001-06-25
TW511351B (en) 2002-11-21
EP1351459A1 (en) 2003-10-08
EP1096734A2 (en) 2001-05-02
EP2111003A1 (en) 2009-10-21
JP3606133B2 (ja) 2005-01-05
EP1096734A3 (en) 2002-11-27
EP1351459B1 (en) 2007-06-27
US7085855B1 (en) 2006-08-01
ATE366015T1 (de) 2007-07-15

Similar Documents

Publication Publication Date Title
CN1201242C (zh) 数据传送控制装置和电子装置
CN1146798C (zh) 数据传输控制装置及电子设备
CN100351816C (zh) 数据传送控制装置、电子装置和数据传送控制方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1146801C (zh) 数据传送控制装置和电子装置
CN1188998C (zh) 数据传输控制装置和电子设备
CN1251448C (zh) 通信方法、通信系统和输出设备
CN1138211C (zh) 数据传输控制装置及电子设备
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1119001C (zh) 数据发送装置及其方法
CN1811744A (zh) 通过串行总线互连多个处理节点的装置
CN1586063A (zh) 流数据处理器、流数据处理方法、程序和媒体
CN1118992C (zh) 数据通信设备和方法
CN1354425A (zh) 串行/并行转换电路、数据传送控制装置和电子设备
CN1137444C (zh) 数据传输控制装置和电子设备
CN101078999A (zh) 一种实现数据备份和恢复的方法及系统
CN1551592A (zh) 数据传输控制装置、电子设备及数据传输控制方法
CN1299467C (zh) 管理网络设备的装置及其方法
CN1132395C (zh) 数据通信系统和数据通信方法
CN100342355C (zh) 一种基于串行接口的数据传输方法及装置
CN101043212A (zh) 半导体集成电路器件及其电路插入方法
CN1677952A (zh) 线速分组并行转发方法和装置
CN1179521C (zh) 数据传输控制装置和电子仪器
CN1134729C (zh) 接口装置及其控制方法
CN1241126C (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: 20040204

Termination date: 20131016