CN1318242A - 数据传输控制装置和电子设备 - Google Patents
数据传输控制装置和电子设备 Download PDFInfo
- Publication number
- CN1318242A CN1318242A CN00801418A CN00801418A CN1318242A CN 1318242 A CN1318242 A CN 1318242A CN 00801418 A CN00801418 A CN 00801418A CN 00801418 A CN00801418 A CN 00801418A CN 1318242 A CN1318242 A CN 1318242A
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- packet
- area
- zone
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2801—Broadband local area networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/323—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
目的旨在提供可以减轻固件的处理的额外操作从而可以实现高速的数据传输的数据传输控制装置和电子设备。在IEEE1394标准的数据传输控制装置中,将数据包的标题写入标题区域、将数据包的ORB(SBP-2用数据)写入ORB区域、将数据包的数据流(应用程序层用数据)写入数据流区域。在数据流区域中,由硬件根据满信号和空信号进行区域管理。使指示信息包含在请求数据包的事务处理标签t1中,在接收应答数据包时,将数据包的标题、ORB、数据流写入到由t1包含的指示信息指示的区域中。对数据流区域设置了存储用于确保发送区域的地址TS、TE的寄存器TSR、TER和存储用于确保收信区域的地址RS、RE的寄存器RSR、RER。
Description
技术领域
本发明涉及数据传输控制装置和包含该装置的电子设备,特别是在与总线连接的多个节点间依照IEEE1394等标准进行数据传输的数据传输控制装置和包含该装置的电子设备。
背景技术
近年来,称为IEEE1394的接口标准已面世。该IEEE1394是使可以与下一代的多媒体对应的高速串行总线接口规格化的标准。按照该IEEE1394,可以处理活动图像等请求实时性的数据。另外,不仅打印机、扫描器、CD-RW驱动器、硬盘驱动器等电脑的外围设备而且录像机、VTR、TV等家用电器也可以与IEEE1394的总线连接。因此,可以迅速地促进电子设备的数字化。
但是,现在知道依照该IEEE1394的数据传输控制装置存在以下的问题。
即,按照现在的IEEE1394标准,最大可以实现400Mbps的传输速度。但是,在现实中,由于存在处理的额外操作,系统全体的实际传输速度将远远低于该传输速度。即,在CPU上动作的固件或应用程序软件对准备发送数据或读取接收数据等处理需要较多的时间,即使在总线上的传输速度快,结果也不能实现高速的数据传输。
特别是组装到外围设备中的CPU的处理能力比组装在电脑等主机系统中的CPU低。因此,固件等的处理的额外操作的问题,就成为非常重要的问题。于是,迫切期望能够有效地解决该额外操作的问题。
发明的公开
本发明就是鉴于以上的技术问题而提案的,目的旨在提供可以减轻固件等的处理的额外操作从而可以用小规模的硬件实现高速的数据传输的数据传输控制装置和使用该装置的电子设备。
为了解决上述问题,本发明是用于在与总线连接的多个节点间进行数据传输的数据传输控制装置,其特征在于:包括提供节点间的数据包传输用的服务的链接单元;将通过上述链接单元接收的数据包写入可以随机访问的数据包存储单元的写入单元;和将数据包的控制信息写入上述数据包存储单元的控制信息区域、将数据包的第1层(例如事务处理层)用的第1数据写入上述数据包存储单元的第1数据区域而将数据包的作为上述第1层的上层的第2层(例如应用程序层)用的第2数据写入上述数据包存储单元的第2数据区域的数据包分离单元。
按照本发明,数据包的控制信息(例如标题、结尾)写入控制信息区域,数据包的第1数据(例如事务处理层用的数据)写入第1数据区域,数据包的第2数据(例如应用程序层用的数据)写入第2数据区域。只要这样,就可以从第2数据区域连续地读出第2数据并向第2层传输。这样,便可使数据传输迅速地实现高速化。
在本发明中,上述第1数据最好是在上述第1层的协议中使用的指令数据,上述第2数据是在应用程序层中使用的数据。
另外,本发明的特征在于:还包括在上述第2数据区域已满时为了禁止上述写入单元向上述第2数据区域的上述第2数据的写入动作而激活满信号、在上述第2数据区域为空区域时为了禁止上述第2层从上述第2数据区域的上述第2数据的读出动作而激活空信号的区域管理单元。这样,仅利用区域管理单元的管理,就可以控制向第2数据区域的第2数据的写入处理和从第2数据区域的第2数据的读出处理,从而可以实现数据传输的自动化和高速化。
另外,本发明的特征在于:在向应答节点发送使事务处理开始的请求数据包时,在包含在上述请求数据包中的事务处理识别信息中,包含用于指示从应答节点接收应答数据时进行的处理的指示信息,在从应答节点接收应答数据包时,将应答数据包的上述控制信息、上述第1、第2数据写入由应答数据包的事务处理识别信息包含的上述指示信息指示的区域中。这样,在从应答节点返送回应答数据包时,应答数据包的控制信息、第1、第2数据便可与固件等无关而自动地写入由指示信息指示的区域中。因此,可以大大减轻固件等的处理负担。
另外,本发明是用于在与总线连接的多个节点间进行数据传输的数据传输控制装置,其特征在于:包括在向应答节点发送使事务处理开始的请求数据包时使在包含在上述请求数据包中的事务处理识别信息中包含用于指示从应答节点接收应答数据包时进行的处理的指示信息的单元和在从应答节点接收应答数据包时进行由应答数据包的事务处理识别信息包含的上述指示信息指示的处理的单元。
按照本发明,在从应答节点返送回应答数据包时,就进行与包含在事务处理识别信息(例如事务处理标签)中的指示信息相应的处理。因此,在应答数据包的返送回时进行的处理可以实现自动化,从而可以减轻固件等的处理负担,同时可以实现数据传输的高速化。
另外,本发明的特征在于:在从应答节点接收应答数据包时将上述应答数据包的控制信息和数据写入由应答数据包的事务处理识别信息包含的上述指示信息指示的区域中。应答数据包返送回来时进行的处理,不限于向这样指示区域的写入处理。
另外,本发明的特征在于:上述事务处理识别信息的指定的位作为表示上述指示信息的位预先进行预约。这样,便可使在请求数据包的事务处理识别信息中包含指示信息的处理和根据应答数据包的事务处理识别信息判断指示信息的处理成为简单而负荷低的处理。
上述事务处理识别信息最好是IEEE1394的标准中的事务处理标签。
另外,本发明是用于在与总线连接的多个节点件进行数据传输的数据传输控制装置,其特征在于:包括提供在节点间的数据包传输用的服务的链接单元、用于存储数据包的可以随机访问的数据包存储单元、将通过上述链接单元从各节点传输来的数据包写入到上述数据包存储单元中的写入单元和读出写入到上述数据包存储单元中的数据包并向上述链接单元传输的读出单元,上述数据包存储单元分离为存储数据包的控制信息的控制信息区域和存储数据包的数据的数据区域,上述数据区域分离为存储第1层用的第1数据的第1数据区域和存储作为上述第1层的上层的第2层用的第2数据的第2数据区域。
按照本发明,数据包存储单元分离为控制信息区域、第1数据区域和第2数据区域,所以,可以从第2数据区域连续地读出第2数据,或将第2数据连续地写入第2数据区域。这样,便可使数据传输迅速地实现高速化。
另外,本发明的特征在于:包括存储用于在上述第2数据区域中确保发送区域的发送区域开始地址的第1地址存储单元、存储用于在上述第2数据区域中确保发送区域的发送区域结束地址的第2地址存储单元、存储用于在上述第2数据区域中确保接收区域的接收区域开始地址的第3地址存储单元和存储用于在上述第2数据区域中确保接收区域的接收区域结束地址的第4地址存储单元。这样,便可根据第2层(例如应用程序层)的设备的特性而将第2数据区域作为例如发送专用区域利用或作为接收专用区域利用或者作为发送和接收的共用区域来利用。
另外,本发明的特征在于:上述发送区域开始地址和上述接收区域开始地址设定为上述第2数据区域的开始地址,上述发送区域结束地址和上述接收区域结束地址设定为上述第2数据区域的结束地址。这样,便可将第2数据区域作为发送和接收的共用区域来利用。因此,便可向以从其他节点向本节点的方向和从本节点向其他节点的方向这样的双向传输数据的第2层的设备提供最佳的数据传输控制装置。而且,不论在发送时还是接收时都可以最大限度地利用第2数据区域的存储容量,从而可以将更多的数据存储到第2数据区域中。
另外,本发明的特征在于:上述发送区域开始地址和上述发送区域结束地址都设定为上述第2数据区域的开始地址或结束地址的某一方,上述接收区域开始地址设定为上述第2数据区域的开始地址,上述接收区域结束地址设定为上述第2数据区域的结束地址。这样,便可将第2数据区域作为接收专用区域来利用。从而,便可向大的数据只能从其他节点向本节点的方向流动的第2层的设备提供最佳的数据传输控制装置。
另外,本发明的特征在于:上述接收区域开始地址和上述接收区域结束地址都设定为上述第2数据区域的开始地址或结束地址的某一方,上述发送区域开始地址设定为上述第2数据区域的开始地址,上述发送区域结束地址设定为上述第2数据区域的结束地址。这样,便可将第2数据区域作为发送专用区域来利用。从而,便可向大的数据只能从本节点向其他节点的方向流动的第2层的设备提供最佳的数据传输控制装置。
另外,在本发明中,最好依照IEEE1394的标准进行数据传输。
另外,本发明的电子设备的特征在于:包括上述某一数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置、和将进行了处理的数据输出或存储的装置。另外,本发明的电子设备的特征在于:包括上述某一数据传输控制装置、对通过上述数据传输控制装置和总线向其他节点发送的数据进行指定的处理的装置、和读入进行了处理的数据的装置。
按照本发明,可以使在电子设备中输出或存储从其他节点传输来的数据的处理以及将在电子设备读入的数据向其他节点传输的处理实现高速化。另外,按照本发明,可以使数据传输控制装置实现小规模化,同时,由于可以减轻控制数据传输的固件等的处理负担,所以,可以实现电子设备的低成本化和小规模化等。
附图的简单说明
图1是表示IEEE1394的层结构的图。
图2A、图2B是用于说明事务处理层和链接层提供的各种服务的图。
图3是用于说明SBP-2的图。
图4是表示本实施例的数据传输控制装置的结构例的图。
图5是用于说明RAM(数据包存储单元)的分离(分割)方法的图。
图6是表示比较例的结构的图。
图7是用于说明图6的结构的数据传输的方法的图。
图8是用于说明本实施例的数据传输的方法的图。
图9是用于说明不将数据区域分离为ORB区域和数据流区域的方法的图。
图10是用于说明将数据区域分离为ORB区域和数据流区域的方法的图。
图11是表示在其他节点与应用程序层的设备之间的数据流传输的情况的图。
图12是用于说明使用空信号和满信号的数据流区域的管理方法的图。
图13A、图13B是用于说明事务处理标签的图。
图14是用于说明利用事务处理标签将数据包的标题和数据写入RAM的各区域的方法的图。
图15是用于说明利用事务处理标签将数据包的标题和数据写入RAM的各区域的处理的详细情况的图。
图16是用于说明设置存储用于确保发送数据流区域的地址TS、TE和用于确保接收数据流区域的地址RS、RE的寄存器TSR、TER、RSR、RER的方法的图。
图17A、图17B、图17C、图17D是用于说明区域确保的各种模式的图。
图18是用于说明比较例的区域确保的方法的图。
图19是表示接收侧的详细结构的图。
图20A是IEEE1394标准的具有块数据的非同步数据包的格式,图20B是RAM存储的具有块数据的非同步接收的数据包的标题部分的格式。
图21是用于说明TAG的图。
图22是表示DMAC、寄存器、RAM区域管理电路的详细结构的图。
图23是用于说明各种指针寄存器的图。
图24A、图24B、图24C是各种电子设备的内部结构方框图的例子。
图25A、图25B、图25C是各种电子设备的外观图的例子。
实施发明的最佳方式
下面,参照附图详细说明本发明的最佳实施例。
1.IEEE1394
首先,简单地说明IEEE1394。
1.1概要
在IEEE1394(IEEE1394-1955、P1394.a)中,可以进行100~400Mbps的高速的数据传输(在P1394.b中为800~3200Mbps)。另外,允许将传输速度不同的节点与总线连接。
各节点连接为树形状,最多可以将63个节点与1个总线连接。如果利用总线桥路,就可以连接约64000个节点。
在IEEE1394中,作为数据包的传输方式,准备了非同步传输和同步传输。这里,非同步传输就是适合于请求可靠性的数据的传输的传输方式,同步传输就是适合于请求实时性的动图像或声音等的数据的传输的传输方式。
1.2层结构
IEEE1394的层结构(协议结构)示于图1。
IEEE1394的协议由事务处理层、链接层和物理层构成。另外,串行总线管理监视和控制事务处理层、链接层和物理层,提供节点的控制或总线的资源管理用的各种功能。
事务处理层向高位层提供事务处理单位的接口(服务),通过下层的链接层提供的接口进行读出事务处理、写入事务处理、锁定事务处理等的事务处理。
这里,在读出事务处理中,数据从应答节点向请求节点传输。另一方面,在写事务处理中,数据从请求节点向应答节点传输。另外,在锁定事务处理中,数据从请求节点向应答节点传输,而应答节点对该数据进行处理后再返送回请求节点。
事务处理层的服务如图2A所示,由请求、显示、应答、确认这样的4个服务构成。
这里,事务处理层请求是请求侧开始进行事务处理的服务,事务处理显示是将请求已到达的信息通知应答侧的服务。另外,事务处理应答是将应答侧的状态或数据返送回请求侧的服务,事务处理确认是将应答侧的应答已到达的信息通知请求侧的服务。
链接层提供寻址、数据检验、数据包收发用的数据成帧、同步传输用的循环控制等。
链接层的服务和事务处理层一样,如图2B所示,由请求、显示、应答、确认这样4个服务构成。
这里,链接请求是将数据包向应答侧传输的服务,链接显示是由应答侧进行的数据包的接收服务。另外,链接应答是由应答侧进行的应答的传输服务,链接确认是由请求侧进行的应答的接收服务。
物理层提供由链接层使用的逻辑信号向电信号的变换、总线的协调、总线的物理的接口。
物理层和链接层通常利用数据传输控制装置(接口芯片)等硬件实现。另外,事务处理层利用在CPU上动作的固件(处理单元)或硬件实现。
如图3所示,作为包含IEEE1394的事务处理层的一部分的功能的高位的协议,已提案了称为SBP-2(串行总线协议-2)的协议。
这里,SBP-2是为了可以在IEEE1394的协议上利用SCSI的指令集而提案的。如果使用该SBP-2,对在现有的SCSI标准的电子设备中使用的SCSI的指令集加以最小限度的改变,便可使用到IEEE1394标准的电子设备中。因此,可以使电子设备的设计和开发变得容易。另外,不仅SCSI的指令,而且设备固有的指令经封装后也可以利用,所以,通用性非常高。
在该SBP-2中,首先,发送端(电脑等)作成注册或取出者的初始化用的ORB(操作请求块),并向目标(打印机、CD-RW驱动器等)传输。其次,发送端作成包含指令(读出指令、写入指令)的ORB(指令块ORB),并将该作成的ORB的地址通知目标。并且,目标通过取出该地址,取得发送端作成的ORB。在包含ORB中的指令是读出指令时,目标就发布块写入事务处理指令,并将目标的数据向发送端的数据缓冲器(存储器)发送。另一方面,在包含ORB中的指令是写入指令时,目标就发布块读出事务处理指令,并从发送端的数据缓冲器中接收数据。
按照该SBP-2,目标在自身的情况良好时发布事务处理指令,可以收发数据。因此,发送端和目标不必同步地动作,所以,可以提高数据传输效率。
作为IEEE1394的高位协议,除了SBP-2以外,还提出了称为FCP(功能控制协议)的协议等。
2.全部结构
下面,参照图4说明本实施例的数据传输控制装置的全部结构。
在图4中,PHY接口10是进行与PHY设备(物理层的设备)的接口的电路。
链接核心20(链接单元)是利用硬件实现链接层的协议和事务处理层的协议的一部分的电路,提供在节点间的数据包传输用的各种服务。寄存器22是用于控制实现这些协议的链接核心20的寄存器。
FIFO(ATF)30、FIFO(ITF)32、FIFO(RF)34分别是非同步发送用、同步发送用、接收用的FIFO,由例如寄存器或半导体存储器等硬件构成。在本实施例中,这些FIFO30、32、34的级数非常少。例如,1个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和DMA54的寄存器。
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接口60包括地址译码器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核心84利用硬件实现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总线之间确立数据路径)。
本实施例的1个特征在于:设置了可以随机访问的存储数据包的RAM80,同时设置了相互分离的总线90、95、99、100和用于将这些总线与RAM80的总线110连接的协调电路74。
例如,图6表示结构与本实施例不同的数据传输控制装置的例子。在该数据传输控制装置中,链接核心902通过PHY接口900、总线922与PHY设备连接。另外,链接核心902通过FIFO904、906、908、CPU接口910、总线920与CPU912连接。并且,CPU912通过总线924与作为CPU的局部存储器的RAM914连接。
下面,参照图7说明使用图6的结构的数据传输控制装置时的数据传输的方法。通过PHY设备930从其他节点传送来的接收数据包通过总线922、数据传输控制装置932和总线920由CPU912接收。并且,CPU912将所接收的接收数据包通过总线924暂时写入RAM914。并且,CPU912通过总线914将写入RAM914的接收数据包读出,进行加工以使应用程序层可以使用,通过总线926向应用程序层的设备934传输。
另一方面,在从应用程序层的设备934传输数据时,CPU912将该数据写入RAM914。并且,通过将标题附加到RAM914的数据上,生成复合IEEE1394标准的数据包。并且,生成的数据包通过数据传输控制装置932、PHY设备930等向其他节点发送。
但是,利用该图7的数据传输方法时,CPU912的处理负担非常重。因此,即使连接在节点间的串行总线的传输速度很高,由于CPU912的处理的额外操作等原因,系统全体的实际传输速度也较低,结果,便不能实现高速的数据传输。
与此相反,在本实施例中,如图8所示,数据传输控制装置120与应用程序层的设备124间的总线90、CPU总线96、数据传输控制装置120与RAM80间的总线110是相互分离的。因此,可以仅将CPU总线96用于数据传输的控制。另外,在数据传输控制装置120与应用程序层的设备124间占用总线90进行数据传输。例如,在组装了数据传输控制装置120的电子设备是打印机时,可以占用总线90传输印字数据。结果,便可减轻CPU66的处理负担,从而可以提高系统全体的实际传输速度。另外,作为CPU66,可以采用廉价的CPU,同时,作为CPU总线96,则不必使用高速的总线。因此,可以实现电子设备的低成本化和小规模化。
3.本实施例的特征
3.1数据区域的分离(分离为ORB区域和数据流区域)
本实施例的第1特征在于:将图4的RAM80如图5所示的那样分离为标题区域(AR2、AR3、AR4、AR6)和数据区域(AR5、AR7、AR8、AR9),同时将数据区域分离为ORB区域(AR5、AR7)和数据流区域(AR8、AR9)。
即,通过将RAM分离为标题区域和数据区域,固件便可从标题区域连续地读出标题,或将标题连续地写入标题区域。因此,具有可以某种程度地减轻固件的处理负担的优点。但是,从数据传输的更高速化的观点看,知道仅靠标题区域和数据区域的分离还是不充分的。
例如,在图9中,接收数据包分离为标题和数据,标题1、2、3写入标题区域,数据1、2、3写入数据区域。
这里,对于数据,如前所述,有SBP-2(第1层)用的ORB(第1数据)和作为上层的应用程序层(第2层)用的数据流。因此,仅将RAM分离为标题区域和数据区域时,如图9的D1、D2、D3所示的那样,在数据区域中将混合存在ORB和数据流。
因此,在例如从RAM向应用程序层的设备传输数据流时,就必须进行以下的处理。即,首先将读出地址(数据指针)设定到D4的位置,读出数据流11、12、13,其次,将读出地址设定到D5的位置,读出数据流21、22、23。然后,将读出地址设定到D6的位置,读出数据流31、32、33。
这样,仅单纯地将RAM分离为标题区域和数据区域而向应用程序层的设备传输数据流时,必须利用固件进行读出地址的控制等,从而将不能减轻固件该部分的处理负担。另外,由于不能从数据区域中连续地读出数据流,所以,就不能提高数据传输控制装置的实际传输速度。
另一方面,在图10中,将数据区域分离为ORB区域和数据流区域。如果这样做,固件(事务处理层)就可以从ORB区域中连续地读出ORB1、2、3。另外,不介入固件就可以从RAM的数据流区域中连续地读出数据流11~33,从而可以向应用层的设备传输。即,如图11所示,在其他节点123(例如电脑)与应用程序层的设备(例如进行打印机的印字处理的设备)之间不介入固件(CPU)66就可以高速地传输数据流(例如印字数据)。结果,与图9相比,可以大大减轻固件的处理负担,同时,可以使数据传输飞速地实现高速化。
在图10中,表示的是本实施例的数据传输控制装置120接收数据流的情况(如方向DR1所示的那样,从其他节点123向应用程序层的设备124传输数据流的情况)。但是,在数据传输控制装置120发送数据流时(如方向DR2所示的那样,从应用程序层的设备124向其他节点123传输数据流时),通过将数据区域分离为发送ORB区域(图5的AR7)和发送数据流区域(AR8),也可以实现数据传输的高速化。
此外,将数据区域分离为ORB区域和数据流区域时,还可以得到以下的效果。
例如,在图12中,RAM区域管理电路300进行数据流区域的管理。更具体而言,就是在很多数据流写入数据流区域而使数据流区域成为满时,RAM区域管理电路300就激活信号STRM满。于是,接收到该STRM满的DMAC44(写入单元)就不将向RAM的写入请求WREQ激活。这样,就不再向数据流区域写入数据流。
另一方面,在从数据流区域中读出很多数据流而使数据流区域成为空区域时,RAM区域管理电路300就将信号STRM空激活。于是,接收到该STRM空的DMAC54(读出单元)就不激活从RAM的读出请求RREQ。这样,就不再从数据流区域中读出数据流(不再向应用程序层的设备传输数据流)。
如上所述,只要将数据区域分离为ORB区域和数据流区域,如果数据流区域已充满,就禁止向数据流区域写入,如果数据流区域已空,就禁止从数据流区域读出,只要进行这样简单的控制就行了。因此,不介入固件就可以控制数据传输。结果,便可减轻固件的处理负担。另外,可以与处理能力低的固件无关地利用硬件控制数据传输,所以,可以使数据传输实现高速化。
3.2利用事务处理标签切换写入区域
在IEEE1394中,作为用于识别各事务处理的信息,使用称为事务处理标签t1的信息。
即,事务处理的请求节点使在请求数据包中包含事务处理标签而向应答节点发送。并且,接收到该请求数据包的应答节点使在应答数据包中包含与上述相同的t1而返送回请求节点。请求节点通过检查包含在返送回来的应答数据包中的t1,便可确认该应答数据包是与自己请求的事务处理对应的应答。
事务处理标签t1只要在与应答节点的关系中是唯一的就行。更具体而言,就是例如请求节点L向应答节点M发布了t1=N的事务处理时,在该事务处理未完成的期间,请求节点L不能向应答节点M发布带t1=N的其他的事务处理。即,各事务处理由事务处理标签t1、源ID和识别ID唯一地特定。反过来说,就是只要事务处理标签t1遵守上述限制就行,可以使用任何值,而其他的节点对无论什么样的t1也必须接收。
在请求节点发送请求数据包并等待应答数据包的返回时,有时应答数据包返送回来时进行的处理已决定了。因此,本实施例着眼于上述事务处理标签t1的性质,采用以下的方法。
即,如图13A所示,在向应答节点发送开始进行事务处理的请求数据包时,使包含在请求数据包中的事务处理标签t1(广义地说,就是事务处理识别信息)中包含指示在应答数据包返送回时应进行的处理的指示信息。并且,在从应答节点接收到应答数据包时进行与包含在t1中的指示信息相应的处理。
这样,在应答数据包返送回来时,可以与固件无关地利用硬件进行与包含在t1中的指示信息相应的处理。这样,就可以减轻固件的处理负担,同时可以实现数据传输的高速化。
更具体而言,在本实施例中,从应答节点接收到应答数据包时,就将该应答数据包存储到由包含在t1中的指示信息指示的区域中。
即,如图13B所示,将事务处理标签t1的位5、4作为表示指示信息的位预先进行预约。
并且,在将返送回来的应答数据包写入HW(硬件)用区域时,就将请求数据包的t1的位5设定为1,并向应答节点发送。另一方面,在将返送回来的应答数据包写入FW(固件)用区域时,就将应答数据包的t1的位5设定为0,并向应答节点发送。
另外,在将返送回来的应答数据包写入数据流区域时,就将请求数据包的t1的位4设定为1,并向应答节点发送。另一方面,在将返送回来的应答数据包写入ORB区域时,就将请求数据包的t1的位4设定为0,并向应答节点发送。
这样,在应答数据包返送回来时,如图14所示,应答数据包的标题和数据就可以写入RAM的各区域。
即,在t1=1×××××(×表示任意的意义)时,应答数据包的标题就写入HW用接收标题区域,在t1=0×××××时,就写入FW用接收标题区域。
另外,在t1=11××××时,应答数据包的标题就写入HW用接收数据流区域,在t1=10××××时,就写入HW用接收ORB区域。另外,在t1=01××××时,应答数据包的标题就写入FW用接收数据流区域,在t1=00××××时,就写入FW用接收ORB区域。
这样,不介入固件就可以将应答数据包的标题和数据利用硬件(电路)自动地写入RAM的各区域。并且,可以简化进行将应答数据包写入RAM的处理的硬件的结构,从而可以实现数据传输控制装置的小规模化。
另外,如用图10说明的那样,可以将数据包的标题写入标题区域、将ORB写入ORB区域和将数据流写入数据流区域,所以,可以减轻固件的处理负担和实现数据传输的高速化。
图15表示根据t1将数据包的标题和数据写入RAM的各区域的处理的详细情况。
首先,判断包含在接收数据包的开始的4位中的目的ID与本节点的ID是否一致(步骤S1)。并且,在不是送给本节点的数据包时,就废弃该数据包(步骤S2)。
其次,检查包含在接收数据包的开始的4位中的事务处理代码tcode,判断接收数据包是否为块读出响应的数据包(步骤S3)。并且,在不是块读出响应的数据包时,就转移到步骤S10。
然后,在步骤S4、S5、S6判断包含在接收数据包的开始的4位中的事务处理标签t1的位5和位4,在位5和位4为(1、1)时就转移到步骤S7、在是(1、0)时就转移到步骤S8、在是(0、1)时就转移到步骤S9、在是(0、0)时就转移到步骤S10。
并且,在转移到步骤S7时就将接收数据包的数据向HW用接收数据流区域传输、在转移到步骤S8时就将接收数据包的数据向HW用接收ORB区域传输、在转移到步骤S9时就将接收数据包的数据向FW用接收数据流区域传输、在转移到步骤S10时就将接收数据包的数据向FW用接收ORB区域传输。并且,在t1的位5为1时就将接收数据包的标题向HW用接收标题区域传输(步骤S11)、在t1的位5为0时就将接收数据包的标题向FW用接收标题区域传输(步骤S12)。
在图15的步骤S3,在接收数据包不是块读出响应的数据包时,就转移到步骤S10。这是因为,块读出响应以外的接收数据包的大半可以认为是包含指令的数据包,而包含指令的数据包存储到FW用接收ORB区域和FW用接收标题区域由固件进行处理是比较妥当的。
3.3接收数据流区域和发送数据流区域的区分
在本实施例中,如图16所示,对数据流区域(第2数据区域)设置了存储用于确保发送数据流区域的发送区域开始地址TS、发送区域结束地址TE的寄存器TSR(第1地址存储单元)和TER(第2地址存储单元)。另外,对数据流区域还设置了存储用于确保接收数据流区域的接收区域开始地址RS、接收区域结束地址RE的寄存器RSR(第3地址存储单元)和RER(第4地址存储单元)。
在本实施例中,寄存器TSR、TER、RSR、RER是可以利用固件(CPU)进行改写的寄存器。但是,在图16中,对于寄存器TSR、RER的至少一方,固件也可以不进行改写,而存储固定值。
另外,在图16中,是发送数据流区域位于接收数据流区域之上,但是,也可以使发送数据流区域位于接收数据流区域之下。并且,这时,固件可以将寄存器RSR、TER的至少一方不改写,而使其存储固定值。
通过设置图16所示的寄存器TSR、TER、RSR、RER,可以确保图17A、图17B、图17C、图17D所示的各种模式的区域。
例如,在图17A的第1模式中,寄存器TSR存储的发送区域开始地址TS和寄存器RSR存储的接收区域开始地址RS设定为数据流区域的开始地址S。另外,寄存器TER存储的发送区域结束地址TE和寄存器RER存储的接收区域结束地址RE设定为数据流区域的结束地址E。
按照该第1模式,可以使数据流区域的全部区域由发送和接收的双方共用。
另外,在图17B的第2模式中,发送区域开始地址TS、发送区域结束地址TE、接收区域开始地址RS设定为数据流区域的开始地址S,接收区域结束地址RE设定为数据流区域的结束地址E(也可以将TS和TE设定为E)。
按照该第2模式,可以将数据流区域的全部区域作为接收数据流区域使用。
另外,在图17C的第3模式中,发送区域开始地址TS设定为数据流区域的开始地址S,接收区域开始地址RS、接收区域结束地址RE、发送区域结束地址TE设定为数据流区域的结束地址E(也可以将RS和RE设定为S)。
按照该第3模式,可以将数据流区域的全部区域作为发送数据流区域使用。
另外,在图17D的第4模式中,发送区域开始地址TS设定为数据流区域的开始地址S、发送区域结束地址TE和接收区域开始地址RS设定为数据流区域的边界地址B、接收区域结束地址RE设定为数据流区域的结束地址E。
按照该第4模式,可以将数据流区域的一部分区域作为发送数据流区域使用,而将其他的区域作为接收数据流区域使用。
例如,在CD-RW驱动器、硬盘驱动器等电子设备中,按图11的DR1、DR2的双向传输数据流。并且,通常DR1方向的数据流传输和DR2方向的数据流传输不是在相同时间内进行的。因此,这时在图17A所示的第1模式中就希望确保区域。这样,在数据流区域的存储容量为例如4K字节时,不论在发送时还是接收时都可以确保4K字节的存储容量,从而可以有效地使用RAM。
在图18的比较例中,对数据流区域为了确保发送数据流区域和接收数据流区域,设置了存储数据流区域的开始地址S的寄存器SR、存储数据流区域的边界地址B的寄存器BR和存储数据流区域的结束地址E的寄存器ER。
但是,在该图18的比较例中,可以进行图17B、图17C、图17D所示的第2、第3、第4模式的设定,但是,不能进行图17A所示的第1模式的设定。因此,在将数据传输控制装置组装到CD-RW驱动器和硬盘驱动器中时,就必须如图17D的第4模式那样确保区域,与图17A的第1模式相比,存在不能有效地使用RAM的缺点。
在打印机等电子设备中,按图11的单方向DR1传输数据流(数据传输控制装置接收数据流)。因此,这时最好用图17B的第2模式确保区域,将全部区域设定为接收数据流区域。这样,便可有效地利用数据流区域的全部区域传输数据流。
另外,在扫描器或CD-ROM等电子设备中,按图11的单方向DR2传输数据流(数据传输控制装置发送数据流)。因此,这时,最好用图17C的第3模式确保区域,将全部区域设定为发送数据流区域。这样,便可有效地利用数据流区域的全部区域传输数据流。
在将数据流区域作为高速缓冲存储器那样使用的电子设备中,最好用图17D所示的第4模式确保区域。
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的状态和DMAC44的数据指针DP中的某一个。
FIFO34起用于调整链接核心20的输出数据RD的相位和向RAM80的写入数据WDATA的相位的缓冲器的功能,包含FIFO状态判断电路35。FIFO状态判断电路35在FOFO34成为空状态时就激活信号EMPTY(空),在FIFO34成为满状态时就激活信号FULL(满)。
DMAC44包括数据包分离电路180、访问请求执行电路190和访问请求发生电路192。
这里,数据包分离电路180根据TAG(DTAG)将由数据包整形电路160整形后的数据包分离为数据和标题等,并进行写入RAM的各区域(参照图5)的处理。
访问请求执行电路190是用于执行链接核心20的访问请求的电路。访问请求执行电路190在FIFO状态判断电路35的FULL成为激活状态时就将FFULL激活。数据包整形电路160内的时序发生器167以FFULL不是激活状态为条件,激活作为RD(RxData)的选通信号的RDS。
RFAIL是用于时序发生器167将接收失败通知访问请求执行电路190的信号。
访问请求发生电路192是用于发生向RAM80的访问请求的信号。访问请求发生电路192接收作为缓冲器管理电路70的写入确认的WACK和FIFO状态判断电路35的EMPTY等,并将作为写入请求的WREQ向缓冲器管理电路70输出。
4.2数据包的分离和向RAM的各区域的写入
TAG发生电路162发生图21所示的4比特的TAG。并且,链接核心20在将数据包(参见图20B)的开始(开始的1个4位)、标题、数据(ORB、数据流)作为RD向FIFO34输出时,该发生的4比特的TAG也同时向FIFO34输出。并且,在本实施例中,通过利用该TAG,将数据包分离,不写入RAM的各区域(参见图5、图10)。
更具体而言,就是图19的TAG判断电路182判断从FIFO34输出的DTAG(=TAG),决定FIFO34的输出WDATA的写入区域。并且,地址发生电路188包含的指针更新电路184在该决定的区域中顺序更新(增加、减小)指针(数据指针、标题指针)。并且,地址发生电路188发生该顺序更新的指针所指示的地址,并作为WADR,向缓冲器管理电路70输出。这样,数据包的标题、ORB、数据流就写入到图5所示的RAM的各区域中。
地址发生电路188将数据指针DP(接收ORB区域的数据指针、接收数据流区域的数据指针)向数据包整形电路160输出,数据包整形电路160将该数据指针加入到数据包的标题中(参见图2OB的C30)。这样,便可使存储在标题区域的标题与存储在数据区域的数据对应。
TAG发生电路162使用参照图13A、图13B说明的事务处理标签t1发生图21的TAG,并向FIFO34输出。例如,在链接核心20的输出RD是标题而事务处理标签t1为1×××××(×表示任意的意义)时,TAG发生电路162就发生(1001)或(1010)这样的TAG。这样,如图14所示,接收数据包的标题就写入到HW(硬件)用的接收标题区域中。这里,所谓HW(硬件)用,就是图4的SBP-2芯片84用的意思。
另外,在链接核心20的输出RD是标题而t1为0×××××时,TAG发生电路162就发生(0001)或(0010)这样的TAG。这样,如图14所示,接收数据包的标题就写入到FW用接收标题区域中。
另外,在RD是数据而t1为11××××时,就发生(1101)这样的TAG。这样,接收数据包的数据(数据流)就写入到HW用接收数据流区域中。
另外,在RD是数据而t1为10××××时,就发生(1100)这样的TAG。这样,接收数据包的数据(ORB)就写入到HW用接收ORB区域中。
另外,在RD是数据而t1为01××××时,就发生(0101)这样的TAG。这样,接收数据包的数据(数据流)就写入到FW用接收数据流区域中。
另外,在RD是数据而t1为00××××时,就发生(0100)这样的TAG。这样,接收数据包的数据(ORB)就写入到FW用接收ORB区域中。
在本实施例中,如上所述,通过利用事务处理标签t1,来实现数据包的分离和向RAM的各区域的写入。
4.3数据流区域的管理和开始及结束地址的设定
图22表示DMAC44及54、寄存器46及56、RAM区域管理电路300的详细结构例。
首先,说明图22所示的各种指针寄存器310、312、314、316、318、320、322、324。在本实施例中,为了管理RAM的各区域,设置了图23所示的各种指针寄存器。固件(CPU)可以通过图4的CPU接口60随时读出这些指针寄存器存储的指针的地址。
这里,已处理标题指针寄存器UHPR存储指示已处理(使用过)的标题与未处理的标题的边界RB21的指针UHP。已接收标题指针寄存器PHPR存储指示已接收的最新(post)的标题与未接收的标题的边界RB31的指针PHP。
另外,已处理ORB指针寄存器UOPR存储指示已处理的ORB与未处理的ORB的边界RB22的指针UOP。已接收完的ORB指针寄存器POPR存储指示已接收的最新的ORB与未接收的ORB的边界RB32的指针POP。
总线复位标题指针寄存器BHPR是存储指示在总线复位发生前接收的数据包的标题与在总线复位发生后接收的数据包的标题的边界RB11的指针BHP的寄存器。另外,总线复位ORB指针寄存器BOPR是存储指示在总线复位发生前接收的数据包的ORB与在总线复位发生后接收的数据包的ORB的边界RB12的指针BOP的寄存器。通过设置这些寄存器BHPR、BOPR,固件可以很容易地检测总线复位的发生场所。这样,便可大幅度地减轻在总线复位发生后进行的固件的处理负担。
下面,再返回到图22的说明。图22的寄存器310、314、318分别是存储已接收标题指针、已接收ORB指针和已接收数据流指针的寄存器。这些寄存器310、314、318分别从地址发生电路188接收WHADR(标题区域中的地址)、WOADR(ORB区域中的地址)、WSADR(数据流区域中的地址)。另外,寄存器310、314、318接收链接核心20的信号RXCOMP(在完成接收时被激活的信号)。并且,寄存器310、314、318在该RXCOMP被激活的时刻读入并存储地址发生电路188的WHADR、WOADR、WSADR。这样,便可存储图23的边界RB31、RB32等地址。
另外,寄存器312、316分别是存储总线复位标题指针和总线复位ORB指针的寄存器。这些寄存器312、316接收链接核心20的信号BRIP(在总线复位中激活的信号)。并且,寄存器312、316在该BRIP激活的时刻读入并存储寄存器310、314存储的地址。这样,便可存储图23的边界RB11、RB12的地址。
另外,寄存器320、322、324分别是存储已处理标题指针、已处理ORB指针和已处理数据流指针的寄存器。
另外,开始及结束地址寄存器326存储图5所示的各区域的开始地址和结束地址。更具体而言,由存储用图16说明的发送区域开始地址TS、发送区域结束地址TE、收信区域开始地址RS、收信区域结束地址RE的寄存器(发送区域开始地址寄存器TSR、发送区域结束地址寄存器TER、收信区域开始地址寄存器RSR和收信区域结束地址寄存器RER)构成。并且,地址发生电路188、332根据寄存器326的开始地址和结束地址控制地址的发生。更具体而言,就是将开始地址作为开始点顺序更新指针。并且,在指针到达结束地址时,进行使指针返回到开始地址等的控制(环形缓冲器结构的情况)。
RAM区域管理电路300包括接收标题区域管理电路302、接收ORB区域管理电路304和接收数据流区域管理电路306。
并且,接收标题区域管理电路302接收寄存器310的已接收标题指针或寄存器320的已处理标题指针,并将通知接收标题区域是满状态的信号HDR满向访问请求发生电路192输出。
另外,接收ORB区域管理电路304接收寄存器314的已接收ORB指针或寄存器322的已处理ORB指针,并将通知接收ORB区域是满状态的信号ORB满向访问请求发生电路192输出。
另外,接收数据流区域管理电路306接收寄存器318的已接收数据流指针或寄存器324的已处理数据流指针,并将通知接收数据流区域是满状态的信号STRM满向访问请求发生电路192输出。另外,将通知接收数据流区域是空状态的信号STRM空向访问请求发生电路334输出。
访问请求发生电路192、334接收这些满信号和空信号,并决定是否将写入请求WREQ和读出请求RREQ向缓冲器管理电路70输出。
这样,在本实施例中,接收数据流区域的管理由接收数据流区域管理电路306这样的硬件进行,与固件无关。因此,如在图12中说明的那样,可以减轻固件的处理负担,同时可以实现数据传输的高速化。
5.电子设备
下面,说明包含本实施例的数据传输控制装置的电子设备的例子。
例如,图24A表示作为电子设备之一的打印机的内部结构框图,图25A表示其外观图。CPU(微处理器)510进行系统全体的控制等。操作部511用于用户操作打印机。ROM516中存储控制程序和字体等,RAM518起CPU510的工作区域的功能。显示板519用于将打印机的工作状态通知用户。
PHY设备502将通过数据传输控制装置500从电脑等其他节点传送来的印字数据通过总线504直接向印字处理部512传输。并且,印字数据由印字处理部512进行指定的处理,利用由打印头等构成的印字部(用于输出数据的装置)514向纸上印字而输出。
图24B表示作为电子设备之一的扫描器的内部结构框图,图25B表示其外观图。CPU520进行系统全体的控制等。操作部521用于用户操作扫描器。ROM526中存储控制程序等,RAM528起CPU520的工作区域的功能。
利用由光源、光电变换器等构成的图像读取部(用于读取数据的装置)522读取原稿图像,读取的图像的数据由图象处理部524进行处理。并且,处理后的图像数据通过总线505直接向数据传输控制装置500传输。数据传输控制装置500通过将标题等附加到该图像数据上而生成数据包,并通过PHY设备502向电脑等其他节点发送。
图24C表示作为电子设备之一的CD-RW驱动器的内部结构框图,图25C表示其外观图。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中。
在图24A、图24B、图24C中,除了CPU510、520、530外,也可以另外设置用于数据传输控制装置500的数据传输控制的CPU。
另外,在图24A、图24B、图24C中,RAM501(与图4的RAM80相当)设置在数据传输控制装置500的外部,但是,也可以将RAM501内藏到数据传输控制装置500的内部。
通过将本实施例的数据传输控制装置使用到电子设备中,可以实现高速的数据传输。因此,在用户利用电脑等指示打印输出时,用很少的时间就可以完成了。另外,在向扫描器指示读入图像后,经过很短的时间用户就可以看到读取的图像。另外,可以高速地从CD-RW中进行数据的读取和向CD-RW写入数据。此外,可以很容易地将例如多个电子设备与1个主系统连接或将多个电子设备与多个主系统连接来利用。
另外,通过将本实施例的数据传输控制装置使用到电子设备中,可以减轻在CPU上动作的固件的处理负担,从而可以使用廉价的CPU和低速的总线。此外,由于可以实现数据传输控制装置的低成本化和小规模化,所以,可以实现电子设备的低成本化和小规模化。
作为可以应用本实施例的数据传输控制装置的电子设备,除了上述电子设备以外,还可以考虑例如各种光盘驱动器(CD-ROM、DVD)、光磁盘驱动器(MO)、硬盘驱动器、TV、VRT、录像机、音响设备、电话机、投影仪、电脑、电子记事簿、文字处理器等各种电子设备。
本发明不限于本实施例,在本发明主旨的范围内可以进行各种变形实施。
本发明的数据传输控制装置的结构最好是例如图4所示的结构,但是,并不仅限于此。
另外,数据包的分离方法、数据包向数据包存储单元的各区域的写入方法及读出方法也不限于用图5、图10说明的方法。
另外,第1数据最好是事务处理层用的数据、第2数据最好是应用程序层用的数据,但是,本发明的第1、第2数据并不仅限于此。
另外,根据应答数据包的事务处理识别信息包含的指示信息所进行的处理最好是用图14说明的应答数据包(标题、数据)向由指示信息指示的区域的写入处理,但是,并不仅限于此。
另外,本发明最好应用于IEEE1394标准的数据传输,但是,并不仅限于此。例如,本发明也可以应用于例如基于和IEEE1394相同的思想的标准或发展了IEEE1394的标准的数据传输。
Claims (22)
1.一种用于在与总线连接的多个节点间进行数据传输的数据传输控制装置,其特征在于:包括提供节点间的数据包传输用的服务的链接单元;将通过上述链接单元接收的数据包写入可以随机访问的数据包存储单元的写入单元;和将数据包的控制信息写入上述数据包存储单元的控制信息区域、将数据包的第1层(例如事务处理层)用的第1数据写入上述数据包存储单元的第1数据区域而将数据包的作为上述第1层的上层的第2层(例如应用程序层)用的第2数据写入上述数据包存储单元的第2数据区域的数据包分离单元。
2.按权利请求1所述的数据传输控制装置,其特征在于:上述第1数据是在上述第1层的协议中使用的指令数据,上述第2数据是在应用程序层中使用的数据。
3.按权利请求1所述的数据传输控制装置,其特征在于:还包括在上述第2数据区域已满时为了禁止上述写入单元向上述第2数据区域的上述第2数据的写入动作而激活满信号、在上述第2数据区域为空区域时为了禁止上述第2层从上述第2数据区域的上述第2数据的读出动作而激活空信号的区域管理单元。
4.按权利请求1所述的数据传输控制装置,其特征在于:在向应答节点发送使事务处理开始的请求数据包时,在包含在上述请求数据包中的事务处理识别信息中,包含用于指示从应答节点接收应答数据时进行的处理的指示信息,在从应答节点接收应答数据包时,将应答数据包的上述控制信息、上述第1、第2数据写入由应答数据包的事务处理识别信息包含的上述指示信息指示的区域中。
5.一种用于在与总线连接的多个节点间进行数据传输的数据传输控制装置,其特征在于:包括在向应答节点发送使事务处理开始的请求数据包时使在包含在上述请求数据包中的事务处理识别信息中包含用于指示从应答节点接收应答数据包时进行的处理的指示信息的单元和在从应答节点接收应答数据包时进行由应答数据包的事务处理识别信息包含的上述指示信息指示的处理的单元。
6.按权利请求5所述的数据传输控制装置,其特征在于:在从应答节点接收应答数据包时将上述应答数据包的控制信息和数据写入由应答数据包的事务处理识别信息包含的上述指示信息指示的区域中。
7.按权利请求5所述的数据传输控制装置,其特征在于:上述事务处理识别信息的指定的位作为表示上述指示信息的位预先进行预约。
8.按权利请求5所述的数据传输控制装置,其特征在于:上述事务处理识别信息最好是IEEE1394的标准中的事务处理标签。
9.一种用于在与总线连接的多个节点件进行数据传输的数据传输控制装置,其特征在于:包括提供在节点间的数据包传输用的服务的链接单元、用于存储数据包的可以随机访问的数据包存储单元、将通过上述链接单元从各节点传输来的数据包写入到上述数据包存储单元中的写入单元和读出写入到上述数据包存储单元中的数据包并向上述链接单元传输的读出单元,上述数据包存储单元分离为存储数据包的控制信息的控制信息区域和存储数据包的数据的数据区域,上述数据区域分离为存储第1层用的第1数据的第1数据区域和存储作为上述第1层的上层的第2层用的第2数据的第2数据区域。
10.按权利请求9所述的数据传输控制装置,其特征在于:包括存储用于在上述第2数据区域中确保发送区域的发送区域开始地址的第1地址存储单元、存储用于在上述第2数据区域中确保发送区域的发送区域结束地址的第2地址存储单元、存储用于在上述第2数据区域中确保接收区域的接收区域开始地址的第3地址存储单元和存储用于在上述第2数据区域中确保接收区域的接收区域结束地址的第4地址存储单元。
11.按权利请求10所述的数据传输控制装置,其特征在于:上述发送区域开始地址和上述接收区域开始地址设定为上述第2数据区域的开始地址,上述发送区域结束地址和上述接收区域结束地址设定为上述第2数据区域的结束地址。
12.按权利请求10所述的数据传输控制装置,其特征在于:上述发送区域开始地址和上述发送区域结束地址都设定为上述第2数据区域的开始地址或结束地址的某一方,上述接收区域开始地址设定为上述第2数据区域的开始地址,上述接收区域结束地址设定为上述第2数据区域的结束地址。
13.按权利请求10所述的数据传输控制装置,其特征在于:上述接收区域开始地址和上述接收区域结束地址都设定为上述第2数据区域的开始地址或结束地址的某一方,上述发送区域开始地址设定为上述第2数据区域的开始地址,上述发送区域结束地址设定为上述第2数据区域的结束地址。
14.按权利请求1所述的数据传输控制装置,其特征在于:依照IEEE1394的标准进行数据传输。
15.按权利请求5所述的数据传输控制装置,其特征在于:依照IEEE1394的标准进行数据传输。
16.按权利请求9所述的数据传输控制装置,其特征在于:依照IEEE1394的标准进行数据传输。
17.一种电子设备,其特征在于:包括权利请求1~4和14的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和将进行了处理的数据输出或存储的装置。
18.一种电子设备,其特征在于:包括权利请求5~8和15的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和将进行了处理的数据输出或存储的装置。
19.一种电子设备,其特征在于:包括权利请求9~13和16的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和将进行了处理的数据输出或存储的装置。
20.一种电子设备,其特征在于:包括权利请求1~4和14的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和用于读入进行了处理的数据的装置。
21.一种电子设备,其特征在于:包括权利请求5~8和15的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和用于读入进行了处理的数据的装置。
22.一种电子设备,其特征在于:包括权利请求9~13和16的任一权项所述的数据传输控制装置、对通过上述数据传输控制装置和总线从其他节点接收的数据进行指定的处理的装置和用于读入进行了处理的数据的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20125099A JP3608441B2 (ja) | 1999-07-15 | 1999-07-15 | データ転送制御装置及び電子機器 |
JP201250/1999 | 1999-07-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1318242A true CN1318242A (zh) | 2001-10-17 |
CN1188998C CN1188998C (zh) | 2005-02-09 |
Family
ID=16437835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008014183A Expired - Fee Related CN1188998C (zh) | 1999-07-15 | 2000-07-12 | 数据传输控制装置和电子设备 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6857028B1 (zh) |
EP (1) | EP1120940A4 (zh) |
JP (1) | JP3608441B2 (zh) |
KR (1) | KR100405250B1 (zh) |
CN (1) | CN1188998C (zh) |
TW (1) | TW498207B (zh) |
WO (1) | WO2001006722A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361050B (zh) * | 2006-03-01 | 2010-09-22 | 松下电器产业株式会社 | 数据传输装置和数据传输方法 |
CN105338009A (zh) * | 2014-06-19 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 一种电子设备的控制方法及相关设备、系统 |
CN105745694A (zh) * | 2013-11-19 | 2016-07-06 | 株式会社电装 | 电子控制装置 |
CN113132262A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
CN113448894A (zh) * | 2020-03-27 | 2021-09-28 | 株式会社村田制作所 | 数据通信装置和数据通信模块 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3539287B2 (ja) | 1999-07-15 | 2004-07-07 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3680763B2 (ja) | 2001-05-14 | 2005-08-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3680762B2 (ja) | 2001-05-14 | 2005-08-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3775318B2 (ja) | 2002-03-20 | 2006-05-17 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JPWO2006018895A1 (ja) * | 2004-08-20 | 2008-05-01 | 富士通株式会社 | 通信装置、通信システムおよび通信方法 |
US7694061B2 (en) * | 2004-09-08 | 2010-04-06 | Fisher-Rosemount Systems, Inc. | Discarding a partially received message from a data queue |
US7664898B2 (en) * | 2006-02-01 | 2010-02-16 | Broadcom | Method and system for efficient framing on addressed buses |
US7439014B2 (en) * | 2006-04-18 | 2008-10-21 | Advanced Liquid Logic, Inc. | Droplet-based surface modification and washing |
JP4277873B2 (ja) * | 2006-05-23 | 2009-06-10 | 日本電気株式会社 | トランザクション処理装置、トランザクション処理方法 |
US7904614B1 (en) * | 2006-06-27 | 2011-03-08 | Marvell International Ltd. | Direct memory access controller with multiple transaction functionality |
JP5867206B2 (ja) * | 2012-03-16 | 2016-02-24 | 富士通株式会社 | 移動制御装置,プログラム及びストレージ装置 |
JP6041630B2 (ja) * | 2012-11-09 | 2016-12-14 | キヤノン株式会社 | 画像処理装置 |
TWI582599B (zh) * | 2012-12-22 | 2017-05-11 | 群聯電子股份有限公司 | 資料傳輸方法、記憶體控制器、資料傳輸系統 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58101544A (ja) * | 1981-12-14 | 1983-06-16 | Toshiba Corp | 入出力装置の伝送テスト回路 |
JPH0669913A (ja) * | 1992-06-18 | 1994-03-11 | Fujitsu Ltd | クロック乗換回路 |
US5787255A (en) * | 1996-04-12 | 1998-07-28 | Cisco Systems, Inc. | Internetworking device with enhanced protocol translation circuit |
JPH10222440A (ja) | 1997-02-10 | 1998-08-21 | Fujitsu Ltd | データ送受信装置 |
JPH10229410A (ja) * | 1997-02-14 | 1998-08-25 | Canon Inc | データ処理装置、電子機器および通信システム |
JPH1117773A (ja) | 1997-06-20 | 1999-01-22 | Sony Corp | シリアルインタフェース回路 |
US6115770A (en) * | 1998-03-25 | 2000-09-05 | Lsi Logic Corporation | System and method for coordinating competing register accesses by multiple buses |
JP3494040B2 (ja) * | 1998-10-27 | 2004-02-03 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3494041B2 (ja) | 1998-10-27 | 2004-02-03 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3543648B2 (ja) | 1998-10-27 | 2004-07-14 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3494042B2 (ja) | 1998-10-27 | 2004-02-03 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3543647B2 (ja) | 1998-10-27 | 2004-07-14 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3543649B2 (ja) | 1998-10-27 | 2004-07-14 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US6510156B1 (en) * | 1998-12-07 | 2003-01-21 | Cisco Technology, Inc. | Method and apparatus for data stream optimization |
US6363428B1 (en) * | 1999-02-01 | 2002-03-26 | Sony Corporation | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network |
US6385113B1 (en) * | 1999-04-30 | 2002-05-07 | Madrone Solutions, Inc | Method for operating an integrated circuit having a sleep mode |
US6351783B1 (en) * | 1999-05-20 | 2002-02-26 | Intel Corporation | Method and apparatus for isochronous data transport over an asynchronous bus |
-
1999
- 1999-07-15 JP JP20125099A patent/JP3608441B2/ja not_active Expired - Fee Related
-
2000
- 2000-07-12 WO PCT/JP2000/004639 patent/WO2001006722A1/ja active IP Right Grant
- 2000-07-12 CN CNB008014183A patent/CN1188998C/zh not_active Expired - Fee Related
- 2000-07-12 US US09/787,218 patent/US6857028B1/en not_active Expired - Fee Related
- 2000-07-12 EP EP00944405A patent/EP1120940A4/en not_active Withdrawn
- 2000-07-12 KR KR10-2001-7003367A patent/KR100405250B1/ko not_active IP Right Cessation
- 2000-07-14 TW TW89114139A patent/TW498207B/zh not_active IP Right Cessation
-
2004
- 2004-12-22 US US11/017,858 patent/US7430618B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361050B (zh) * | 2006-03-01 | 2010-09-22 | 松下电器产业株式会社 | 数据传输装置和数据传输方法 |
CN105745694A (zh) * | 2013-11-19 | 2016-07-06 | 株式会社电装 | 电子控制装置 |
CN105745694B (zh) * | 2013-11-19 | 2017-06-27 | 株式会社电装 | 电子控制装置 |
CN105338009A (zh) * | 2014-06-19 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 一种电子设备的控制方法及相关设备、系统 |
CN105338009B (zh) * | 2014-06-19 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种电子设备的控制方法及相关设备、系统 |
CN113132262A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
CN113132262B (zh) * | 2020-01-15 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
CN113448894A (zh) * | 2020-03-27 | 2021-09-28 | 株式会社村田制作所 | 数据通信装置和数据通信模块 |
CN113448894B (zh) * | 2020-03-27 | 2023-10-20 | 株式会社村田制作所 | 数据通信装置和数据通信模块 |
Also Published As
Publication number | Publication date |
---|---|
US7430618B2 (en) | 2008-09-30 |
JP2001036588A (ja) | 2001-02-09 |
US6857028B1 (en) | 2005-02-15 |
WO2001006722A1 (fr) | 2001-01-25 |
EP1120940A1 (en) | 2001-08-01 |
TW498207B (en) | 2002-08-11 |
CN1188998C (zh) | 2005-02-09 |
JP3608441B2 (ja) | 2005-01-12 |
US20050105549A1 (en) | 2005-05-19 |
KR20010075135A (ko) | 2001-08-09 |
EP1120940A4 (en) | 2003-03-19 |
KR100405250B1 (ko) | 2003-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN1237455C (zh) | 数据传输控制装置、电子设备、及数据传输控制方法 | |
CN1146798C (zh) | 数据传输控制装置及电子设备 | |
CN1309224C (zh) | 信息包通信装置、系统及模块、数据处理器及转送系统 | |
CN100351816C (zh) | 数据传送控制装置、电子装置和数据传送控制方法 | |
CN1293410A (zh) | 数据传送控制装置和电子装置 | |
CN1251448C (zh) | 通信方法、通信系统和输出设备 | |
CN1104128C (zh) | 异步传输模式通信设备 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN87106124A (zh) | 多中央处理机互锁装置 | |
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN1205145A (zh) | 信息包收发装置及信息包接收装置 | |
CN1138211C (zh) | 数据传输控制装置及电子设备 | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN1146801C (zh) | 数据传送控制装置和电子装置 | |
CN1275164C (zh) | 数据传输控制系统、电子设备、及数据传输控制方法 | |
CN1607513A (zh) | 数据传输控制装置、电子设备以及数据传输控制方法 | |
CN1234672A (zh) | 数据通信系统,方法,装置和数字接口 | |
CN1179521C (zh) | 数据传输控制装置和电子仪器 | |
CN1146191C (zh) | 数据传输控制装置和电子设备 | |
CN1332415A (zh) | 信息处理设备、信息处理方法及采用该设备和方法的网桥 | |
CN1549141A (zh) | 一种基于串行接口的数据传输方法及装置 | |
CN1851678A (zh) | 一种在内存和数字信号处理器之间传送数据的方法 | |
CN1620042A (zh) | 信息处理设备、无线通信方法、无线通信程序和记录介质 | |
CN1146799C (zh) | 数据传输控制装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050209 Termination date: 20130712 |