WO2000025215A1 - Controleur de transfert de donnees et dispositif electronique - Google Patents

Controleur de transfert de donnees et dispositif electronique Download PDF

Info

Publication number
WO2000025215A1
WO2000025215A1 PCT/JP1999/005902 JP9905902W WO0025215A1 WO 2000025215 A1 WO2000025215 A1 WO 2000025215A1 JP 9905902 W JP9905902 W JP 9905902W WO 0025215 A1 WO0025215 A1 WO 0025215A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
data
data transfer
bucket
bus
Prior art date
Application number
PCT/JP1999/005902
Other languages
English (en)
French (fr)
Inventor
Takuya Ishida
Yoshiyuki Kamihara
Fumitoshi Wada
Original Assignee
Seiko Epson Corporation
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 Corporation filed Critical Seiko Epson Corporation
Priority to US09/582,294 priority Critical patent/US6839347B1/en
Priority to EP99949418A priority patent/EP1049019B1/en
Priority to DE69935065T priority patent/DE69935065T2/de
Publication of WO2000025215A1 publication Critical patent/WO2000025215A1/ja

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • 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/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • 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
    • 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/22Parsing or analysis of headers

Definitions

  • the present invention relates to a data transfer control device and a child device including the same. [Background technology]
  • IEEE1394 is a high-speed serial bus interface that is compatible with the next generation of multimedia. According to the IEEE 1394, it is possible to deal with data that requires real-time processing such as images. In addition to the IEEE 1394 bus, not only computer peripherals such as printers, scanners, CD-R drives, and hard disk drives, but also home cameras such as video cameras, VTRs, and TVs can be connected. . For this reason, it is expected that the digitalization of II child devices can be drastically promoted.
  • IEEE 1394 High Performance-Serial Bus ⁇ ⁇
  • IEEE 1394—1995 (Wireless) Real-time Transfer Mode and Multimedia Compatible Protocol” Int. e rf ac e Jan. 1997, pp. 136-146.
  • TSB 12LV31 manufactured by Texas Instruments and the like is known.
  • a data transfer control device capable of realizing high-speed data transfer with a variety of hardware; ⁇ and this is to provide a slave device.
  • the data transmission control device for data transfer over a few nodes connected to the bus; S, which has been transmitted from each node Bucket shaping to shape the packet so that it can be used by j'3-and the 'control of the shaped packet ⁇ ' in the tfi: means control ⁇ 'area that can be randomly accessed.
  • Packet separating means for writing the data of the shaped bucket into the data area of the storage means, wherein the packet separating means comprises a data pointer for indicating an address of the data to be written to the data area. Is transferred to the bucket shaping means, and the bucket shaping means adds the data pointer passed from the bucket separating means to control information of the bucket.
  • the packet shaping means adds the data pointer passed from the packet separating means to the control information of the packet. Then, the control information of the bucket to which the data pointer is added is written to the control information area of the storage means, and the data of the bucket is written to the data area. Thus, the control information is written into the control information area.
  • the processing load on the upper layers such as firmware and application software can be reduced, and the actual transfer speed of the entire system can be improved. Also, the upper layer such as firmware can easily read out the data corresponding to the control information of the packet from the data area using the data pointer.
  • the addition of the data pointer is performed by the bucket shaping means, and the bucket separating means does not need to be involved in the addition, so that the configuration of the bucket separating means and the writing processing to the storage means can be simplified.
  • the packet shaping unit includes at least control information and data of the packet.
  • bucket control is added to the control information / area, and bucket data is written to the data area. I do. By doing so, it is possible to separate the data into the data area and store it in the data area in the control area of the bucket ' ⁇ ' with a simple hardware configuration.
  • this packet is obtained when the packet separation stage determines that the packet control information is included in 4 packets based on the packet information attached to the packet.
  • the control pointer is added to the 'h' report area, and the control intensifier pointer is updated. If the packet data is written, ⁇ ' In this case, if a judgment is made, the data point indicating the address of the data to be written into the data area is updated by 3! In this way, the control information pointer update process and the data pointer update process can be switched using the notification information, and the packet can be separated into control information and data overnight. As a result, the packet separation process can be simplified.
  • the present invention is a data transfer control device for data transfer between a plurality of nodes connected to a bus, wherein the packet transferred from each node can be used by an upper layer.
  • Packet shaping means for shaping, and writing the shaped bucket into a storage means—writing means, wherein the packet shaping means transmits the packet to all nodes connected to the bus. Broadcast information indicating whether the It is added to the control information of the packet.
  • an upper layer such as firmware can know whether or not a packet to be processed is a broadcasted packet simply by examining broadcast information added to control information of the packet. it can. For this reason, it is possible to omit processes such as decoding of other information, and it is possible to reduce processing burden on upper layers such as firmware.
  • This device is a data transfer control device for data transfer at multiple nodes connected to the bus, so that packets transferred from each node can be used.
  • the packet shaping means for shaping the packet into the memory means and the built-in bucket into the memory means, and the packet-shaping means m packet-shaping means whether the packet has an error. t, the information is added to the packet control 'h.
  • Yun Yi writes the shaped bucket control 'hi report' to the ⁇ ⁇ ⁇ , 3 ⁇ 4 7th-stage control ⁇ '; area, and stores the shaped bucket data in the data area of the storage means.
  • 11) Includes bucket separation means, and if it is determined that there is an error in the bucket, it is inserted into the above-mentioned data area;] Features. In this way, only the correct data can be stored continuously in the data storage area, and the upper layers of application software and the like can be stored immediately after the data storage area. Can be read. This makes it possible to simplify the interface with the upper layer.
  • the present invention is a data transfer control device for data transfer at a plurality of nodes connected to a bus, wherein a packet transferred from each node is shaped so that an upper layer can use the packet.
  • Bucket shaping means and write the shaped bucket into storage means.
  • a packet writing unit wherein the packet shaping unit adds information indicating whether or not the packet is received during the self-identification period to the control information of the packet.
  • the upper layer such as firmware simply checks whether or not the packet to be processed is the bucket received during the self-identification period by simply checking the information added to the control layer report of the bucket. You will be able to know. Thereby, for example, it is easy to distinguish between a packet obtained by packaging a plurality of self-identifying buckets into one and other buckets.
  • the packet shaping means includes: a packet shaping means for shaping the packet so that it can be formed; and a writing means for inserting the shaped bucket into 3 ⁇ 41 ⁇ 2 ⁇ stages. , A given ⁇ report is added to the rear side, and the ⁇ ⁇ recording means writes the 'h report of the place to the leading ⁇ M of the control report of the bucket in the recording means. And
  • the “report” added to the back side of the bucket in time series is written into the head side of the packet control gibber in the storage means. Therefore, the firmware and other devices can confirm a given report to ⁇ ?? ⁇ without decoding other reports. As a result, it is possible to greatly reduce the processing load on the firmware and the like.
  • the given information is transmitted to all nodes connected to the bus, the acknowledgment information returned to the packet transfer source, the speed code information for specifying the data transfer speed, and the like. At least one of broadcast information indicating whether the packet was received, information indicating whether the packet was received during the self-identification period, and error status information indicating whether an error occurred in the packet. Is desirable.
  • the present invention also provides a first bus connected to a subsequent application, a second bus controlling the data transfer control device, and a third bus electrically connected to a physical layer device.
  • a fourth bus electrically connected to the storage means;
  • An arbitration unit that performs arbitration for establishing a data path between any of the first, second, and third buses and the fourth bus is included.
  • first, second, and third buses that are separated from each other are provided.
  • arbitration by the arbitration means a data path is established between any of the first, second, and third buses and the fourth bus of the randomly accessible storage means.
  • a packet received from another node via a device for physical waste can be stored in the storage means in a desired distribution E.
  • a low-speed bus can be used as a bus for ⁇ 1, '2, or a low-speed, secure device can be used as a device for controlling the data transfer control device.
  • the data transfer control device; ⁇ can be reduced in size and cost.
  • the ⁇ ⁇ ⁇ , 3 ⁇ 4 2, ⁇ 3, and 4th buses are connected to the application, the device that controls the data transfer control device, the physical / device, and the RAM at least VII. Other devices may be connected to these buses.
  • FIO may be included in the question between ⁇ ⁇ -[1 Self-bucket shaping means and writing means.
  • the child device performs a given process on the data received from another node via the data transfer control device and any one of the above data transfer control devices. And a device for outputting or storing the processed data.
  • an electronic device includes any one of the above-described data transfer control devices, a device which performs given processing in the evening and transmits data to another node via the data transfer control device and a bus, And a device for taking in the data to be processed. According to the present invention, processing for outputting and storing data transferred from another node in an electronic device, and processing for transferring data captured in the electronic device to another node is accelerated. It becomes possible. Further, according to the present invention, the size of the data transfer control device can be reduced, and the processing burden such as firmware for controlling the data transfer can be reduced, so that the cost and size of the electronic device can be reduced. It will be possible to achieve this.
  • FIG. 1A, FIG. 1B, and FIG. 1C are diagrams for explaining asynchronous transfer and isochronous transfer.
  • FIGS. 2A and 2B are diagrams for explaining tree identification.
  • FIG. 3 is a diagram for explaining the self-identification.
  • FIGS. 4A, 4B, 4C, and 4D show the format of a packet of a material such as a self-ID packet.
  • FIG. 5 is a diagram showing a protocol configuration of IEEE1394.
  • FIG. 6 is a diagram illustrating a configuration example of the data transfer control device of the present embodiment.
  • FIG. 7 is a diagram for explaining the separation between the header (control ' ⁇ ') area and the data overnight area.
  • FIG. 8 is a diagram showing a configuration example of a comparative example of the present embodiment.
  • FIG. 9 is a diagram for explaining a data transfer method using the configuration of FIG.
  • FIG. 10 is a diagram for explaining another example of the data transfer method.
  • FIG. 11 is a diagram for explaining the data transfer method according to the present embodiment.
  • Figure 12 shows the reception bucket separated into a header and data by separating the reception bucket into header and data.
  • FIG. 14 is a diagram for describing a method of storing in the evening area.
  • FIG. 13 is a diagram for explaining a method of including a data pointer in a header stored in a header area.
  • FIG. 14 is a diagram for explaining a method in which the packet shaping circuit adds the data pointer passed by the packet separating circuit to the header of the packet.
  • FIG. 15 is a diagram for explaining TAG.
  • FIG. 16 is a diagram for explaining a method of variably controlling the size of each area of the RAM.
  • FIG. 17A, FIG. 17B, FIG. 17C, and FIG. 17D are diagrams for explaining a method of adding broadcast information to a trailer of a bucket.
  • FIGS. 18A and 18B are diagrams for explaining a method of adding error status information to the trailer of a packet and invalidating the data in the RAM when there is an error in the bucket.
  • FIG. 19 is a diagram for describing the self ID period.
  • FIGS. 20A and 20B are diagrams for explaining a method of adding information indicating whether or not a packet is received in the self ID i] i? L] to a bucket trailer.
  • FIGS. 21A and 21B are used to explain a method of writing the information added to the back of the bucket in chronological order in the bucket shaping to the head of the bucket header in the RAM.
  • FIG. 22 is a diagram illustrating an example of a configuration on the receiving side.
  • FIG. 23 is a timing waveform chart for explaining the operation on the receiving side.
  • FIG. 24A is a format of an asynchronous bucket according to the IEEE 1394 standard
  • FIG. 24B is a format of a header portion of the asynchronous receiving bucket stored in the header area of the RAM.
  • FIG. 25A, FIG. 25B, FIG. 25C, and FIG. 25D are diagrams for explaining the update of the header data and the data pointer.
  • FIG. 26A shows the format of the header portion when the packet is a self-ID packet
  • FIG. 26B shows the format of the header portion when the packet is a PHY bucket other than the self-ID packet. .
  • FIGS. 27A, 27B, and 27C are examples of internal block diagrams of various electronic devices.
  • 28A, 28B, and 28C are examples of external views of various electronic devices. [Best Mode for Carrying Out the Invention]
  • IEEE 1394 IEEE 1394-1995, P 1394.a
  • high-speed data transfer of 100 to 400 Mbps is possible (800 to 320 OMbps in P 1394.b). It is also allowed to connect nodes with different transfer rates to the bus.
  • Each node is connected in the form of a tree, and a single bus can be connected to a node of ⁇ 63 ⁇ thick. If you use a bus bridge, it is possible to get around 64,000 dragon nodes.
  • Figure 1A shows an example of an asynchronous subaction.
  • One sub-action consists of arbitration, packet transfer, and acknowledgment. That is, arbitration regarding the right to use the bus is performed first before data transfer.
  • the packet is transferred from the source (source) node to the destination (destination) node.
  • the header of this packet contains the source ID and destination ID.
  • the destination node reads this destination ID and determines whether or not the packet is addressed to its own node.
  • the destination node receives the packet, the destination node -Return a bucket of acknowledgment (ACK) to the host.
  • ACK acknowledgment
  • Fig. 1B shows the isochronous subaction. Since an IT transfer is performed by broadcast (transfer to all nodes connected to the bus), ACK is not returned when a packet is received. In the case of the i-chronous transfer, the bucket transfer is performed using the channel ⁇ instead of the node ID. There is an isochronous gap in the sub-action.
  • Fig. 1C shows the state of the bus in the night.
  • the isochronous transfer starts when the cycle master issues a cycle start packet to jfii for one round. This makes it possible to transfer at least one packet per 125 ⁇ s1 ⁇ 2 per channel. As a result, it is possible to transfer data such as a moving image or the like that requires real-time properties.
  • Synchronous transfer is performed during isochronous transfer. That is, the priority of the asynchronous transfer is lower than that of the non-J transfer. This is achieved by making the time of the isochronous gap shorter than the time of the sub-action gap of asynchronous transfer, as shown in m 1 C (Z).
  • the tree identification is performed after the bus reset.
  • the parent-child relationship of the node question and the root node are determined by the tree identification.
  • a leaf node (a node that is connected to only one node) sends a parent notifice to an adjacent node. For example, if nodes A, B, C, D, and E are connected as shown in Fig. 2A, the parent notifier (PN) is connected from node A to node B, from nodes D and E to node C, and so on. Sent. The node that receives the parent notice changes its source node to its own child. It is recognized. Then, it sends the child node to that node. For example, figure
  • Child notifiers are sent from node B to node A and from node C to nodes D and E. This determines the parent-child relationship between node B and node A, node C and node D, and node C and node E.
  • the parent-child relationship of nodes B and C is determined by which sent the parent notice first. For example, as shown in Fig. 2 (1), if node C sends a parent notice first, node ⁇ becomes the parent and node C becomes the child.
  • nodes where all nodes connected to the port are children of ⁇ become a route.
  • node ⁇ is the root.
  • all nodes may be the root.
  • C1 self-identification is performed.
  • a self-ID bucket is transferred from a node from the root node to the pulse 1 in the connection topology. More specifically, in FIG. 3, for example, in FIG. 3, first, the node A connected to the root node B, which is the smaller port of port 1, sends the self-ID packet (self-identifying packet) to the other nodes. Broadcast.
  • a node C connected to port 2 of the root node ((large port of? 1 ⁇ ) is selected, and a node connected to port 1 of this node C (port with small S ⁇ ) is selected.
  • D broadcasts the self-ID packet.
  • node E which is connected to port 2 of node C (the port with a large ⁇ ), broadcasts the self-ID packet, and then node C broadcasts.
  • the root node B broadcasts the self-ID bucket and self-identification is completed.
  • the self ID bucket contains the ID of each node.
  • the number of self-ID packets received from other nodes at the time of broadcasting is the ID of each node. For example, in FIG.
  • Figure 4A shows the format of the self-ID bucket.
  • the self ID bucket includes basic information of each node. Specifically, the ID of each node (PHY_ID), whether or not the link layer is active (L), gap count (gap_c nt), transfer speed (sp), and the ability to become a
  • 4B shows the format of self-ID packets # 1, # 2, and # 3 used when the number of ports of the node is 4 ⁇
  • FIGS. 4C and 4D show the format of a link-on bucket, which is a bucket of material (a PHY bucket), and a packet of a PHY configuration, similarly to the self-ID bucket.
  • the isochronous resource manager performs the following functions. First, we will provide rare resources required for isochronous transfer. For example, we will provide a channel regis- ter evening and a 'wide-area regis- ter evening'. Secondly, provide a register showing the ID of the bus manager. Third, when there is no bus manager, it has a role to be a simple bus manager.
  • the node closest to the root is the IRM. More specifically, in the self-ID packet of FIG. 4A, a C (CONT ENDER) bit indicating whether or not it has an ability to become an IRM, and an L indicating whether or not the link layer is active. (LI NK I ACT I VE) Among the nodes whose bits are both 1, the node closest to the root (node with the highest PHY ID) becomes the IRM. For example, if the C and L bits of the self ID bucket of the root node are 1, the root node becomes IRM. 1.6 Cycle Mass Evening, Bus Manager
  • the cycle node has a role of transmitting the cycle bucket shown in FIG. 1C, and the root node becomes the cycle node.
  • the bus manager performs ih 'such as creating a topology map (connection status of each node), creating a speed map, managing the bus power, determining the cycle time, and optimizing the gap count.
  • the IE 1394 protocol consists of physical scrap, link layer, and transaction scrap.
  • the serial bus management monitors and controls the physical) '3, link layer, and transaction layer, and provides extreme functions for controlling nodes and managing bus resources.
  • the link layer provides addressing, overnight checking, overnight framing, and cycle control.
  • the transaction layer defines the protocol for performing transactions such as read, write, and lock.
  • the physical layer and link layer are usually realized by hardware such as a data transfer control device (internal face chip).
  • the transaction layer is implemented by firmware running on the CPU or hardware.
  • PHY interface 10 implements the physical layer protocol. This is the circuit that performs the interface with the PHY chip.
  • the link core 20 (link means) is a circuit that implements a protocol of the link layer or a part of a protocol of the transaction layer, and provides each pole service for packet transfer between nodes.
  • Regis evening 22 is a Regis evening for controlling the link core 20 that has realized these protocols.
  • FI FO (AT F) 30, FI FO (ITF) 32, and FI FO (RF) 34 are FI FOs for asynchronous transmission, for isochronous transmission, and for receiving rivers, respectively. It consists of Hardwa.
  • the number of stages of these FIFOs 30, 32, 34 is very small.
  • the number of stages of one FIF0 is preferably 3 stages or less, and more preferably 2 stages or less.
  • DMA Cs 40, 42 and 44 are ATF, ITF and RFl] DMA controllers, respectively. By passing these DMACs 40, 42, and 44, data transfer between the RAM 80 and the link core 20 can be performed without being intervened by the CPU 66.
  • Regis evening 46 is a registry evening for controlling D MAC 40, 42, 44, etc.
  • the port interface 50 is a circuit that interfaces with a device of the application (for example, a device that performs print processing of a printer).
  • the port-in-time interface 50 is used to enable, for example, 8-bit data transfer.
  • the FIFO (PF) 52 is a FIFO for data transfer between the application and the device, and the DMAC 54 is a DMA controller for the PF.
  • Regis evening 56 is a registry evening that controls Port-in evening 50 and DMAC 54.
  • the CPU interface 60 is a circuit that interfaces with the CPU 66 that controls the data transfer control device.
  • the CPU interface 60 includes an address decoder 62, a data synchronization circuit 63, and an interrupt controller 64.
  • the clock control circuit 68 controls the clock used in the present embodiment, and includes SCLK sent from the PHY chip and H CLK is input.
  • the buffer manager 70 is a circuit that manages an interface with the RAM 80.
  • the buffer manager 70 includes a register 72 for controlling the buffer manager, an arbitration circuit 74 for arbitrating the bus connection to the RAM 80, and a sequencer 76 for generating various control signals.
  • the RAM 80 functions as a randomly accessible bucket storage means, and its function is realized by, for example, an SRAM, a DRAM, or the like.
  • the RAM 80 is divided into a header area (control information area in a broad sense) and a data area. Then, the header of the packet (in a broad sense, the control is stored in the header area in FIG. 7), and the data of the packet is stored in the data area # 1.
  • the RAM 80 is incorporated in the data transfer control device of the present embodiment; however, it is also possible to externally or partially incorporate the RAM 80.
  • the bus 90 (or buses 92 and 94) is to be connected to the application ( ⁇ bus).
  • the bus 96 (or bus 98) is for controlling the data transfer control device, and is connected to a device (for example, CPU) that controls the data transfer control device (e.g., CPU). 2 bus).
  • the bus 100 (or the buses 102, 104, 105, 106, 107, 108, 109) is electrically connected to a physical / @ device (for example, a PHY chip) (
  • the bus 110 is connected to the RAM, which is a randomly accessible storage means, by means of a RAM (fourth bus).
  • the arbitration circuit 74 of the noise manager 70 arbitrates bus access requests from the DMAC 40, DMAC 42, DMAC 44, CPU interface 60, and DMA C 54. Then, based on the result of the arbitration, an overnight route is established between any one of the buses 105, 107, 109, 98, and 94 and the bus 110 of the RAM 80 (first and second routes). 2. An overnight route is established between one of the third buses and bus # 4).
  • One feature of the present embodiment is that random access is possible and buckets are stored.
  • buses 90, 96 and 100 separated from each other and an arbitration circuit 7 for connecting these buses to the bus 110 of the RAM 80 are provided.
  • FIG. 8 shows an example of a data transfer control device having a different configuration from the present embodiment.
  • the link core 902 is connected to the PHY chip via the PHY interface 900 and the bus 922.
  • the link core 902 is connected to the CPU 912 via the FIFOs 904, 906, 908, the CPU interface 910, and the bus 920.
  • the CPU 912 is connected via a bus 924 to a RAM 914 that is a local memory of the CPU.
  • the FIFOs 904, 906, and 908 become FIFOs 30, 32, and 34 in FIG. 6 and have a greater number of stages (for example, one; approximately 16 stages of FIFOs).
  • the data transfer method when the data transfer control device iS having the configuration shown in FIG. 8 is used will be described with reference to FIG.
  • Received packets transmitted from other nodes via the PHY chip 930 are received by the CPU 912 via the bus 922, the data transfer control unit 932, and the bus 920. Then, the CPU 912 writes the received reception packet to the RAM 914 via the bus 924. Then, the CPU 912 processes the received packet so that the application waste can be used, and transfers the processed packet to the device 934 of the application II via the bus 926.
  • the CPU 912 loads the data into the RAM 914. Then, by adding a header to the data in the RAM 914, a bucket conforming to IEEE 1394 is generated. Then, the generated packet is transmitted to another node via the data transfer control device 932, the PHY chip 930, and the like.
  • a method of realizing a data transfer between the transfer controller 932 and the RAM 914 and a data transfer between the RAM 914 and the device 934 in the application layer by hardware DMA may be considered.
  • the CPU bus 928 is connected to the data transfer control device -13932, data transfer between RAM 914 questions, data transfer between RAM 914 and CPU 912, RAM 914, and application layer device 934 questions. It will be used for data transfer. Therefore, in order to increase the speed of data transfer in the entire system, a high-speed bus such as a PCI bus must be used as the CPU bus 928. To use it; to increase the cost of equipment.
  • a high-speed bus such as a PCI bus must be used as the CPU bus 928. To use it; to increase the cost of equipment.
  • the data transfer control device 120, the bus 90 for the application layer device 124, the CPU bus 96, the data transfer control device 120, and the RAM 80 Buses 110 are separated from each other. Accordingly, the CPU bus 96 can be used only for overnight transfer control. In addition, the bus 90 is occupied, and the data transfer control unit; S120; For example, if the device to which the data transfer control device 120 is tied is a print device, the print data can be transferred by occupying the bus 90. As a result, the processing of the CPU 66 can be reduced, and the actual transfer speed of the entire system can be increased. In addition, an inexpensive CPU 66 can be sampled, and a high-speed bus is used as the CPU bus 96). As a result, it is possible to reduce the cost and size of the child device.
  • the storage area of the RAM 80 is divided into a header area (control information area in a broad sense) in which a header of the packet (control information in a broad sense) is stored and a storage area of the packet. It is separated into data areas where data is stored.
  • the CPUs 912 Must receive the received packet. Therefore, in order to realize a process of separating a received packet into a header and a data packet, the CPU 912 writes the received bucket read from the FIFO 908 to the RAM 914, which is a local memory, and then reads the received packet from the RAM 914. It is necessary for the CPU 912 to read the received packet and separate it into a header and data. Therefore, the processing load of the CPU 912 becomes very heavy, which eventually leads to a reduction in the actual transfer speed of the entire system.
  • the memory and area of RAM 80 are separated into a header area and a data area. More specifically, as shown in FIG. 12, the header and data of each received packet are separated by hardware, the hegg is stored in the header area, and the data is stored in the data area. Therefore, the processing load of the CPU 66 becomes very much smaller than that of FIG. 8, and the transfer rate of the entire system can be increased. In addition, if an inexpensive CPU 66 can be sampled, the bus connected to the CPU 66 at Jt. Can be operated at a low speed, so the data transfer control device and the ⁇ ⁇ equipment must be reduced in size and cost. You can plan.
  • the headers are collectively stored in the header area, and the data are also stored collectively in the data area. Therefore, it is possible to reduce the length of the header process and the process of writing in! And reduce the overhead of the process.
  • the CPU 66 controls data transfer only by accessing the header area via the CPU bus 96 and reading or inserting a header. become able to.
  • the application layer device 124 can read data in the data area continuously through the bus 90 and write data in the data area continuously. Become.
  • each header stored in the header area is associated with each data stored in the data overnight area by a data point included in the header. ing.
  • the addition of the data pointer is realized as follows.
  • the link core 20 includes a packet shaping circuit 160, and the DMAC 44 (writing means in a broad sense) includes the packet separating circuit 160. Including 80.
  • the packet shaping circuit 160 shapes the packet transferred from each node so that an upper layer (for example, a transaction layer or an application layer) can use the packet.
  • the packet separation circuit 180 separates the packet, inserts the header and trailer of the bucket into the header area of the RAM 80, and writes the packet data into the data area of the RAM 80. I do.
  • the bucket separating circuit 180 passes a data pointer indicating the data address (first address) to be written to the data overnight area to the packet shaping circuit 160.
  • the bucket shaping circuit 160 to which the data point is passed adds the data pointer to the bucket header.
  • the header to which the data pointer is added is stored in the header area as shown in FIG. 13, and the data pointed by the data pointer is stored in the data area.
  • the address WADR into which the header and data are to be written is made available by the bucket separation circuit 180.
  • the link core 20 power reception packet start header of header
  • header, data, and trailer are transferred to the FI F034 as RD
  • the TAG of the port is also output to FIF ⁇ 34.
  • the TAG associated with the received packet is used to separate the received packet into a header and data and stored in a header area and a data area as shown in FIG. .
  • the packet separation circuit 180 of the DMA C 44 determines the D TAG (two TAGs) output from the FIFO 34 together with the reception packet, and determines this. Based on the result, the received bucket is separated into a header and data and written to RAM80. Note that the TAG only needs to be able to distinguish at least the header and the data.
  • tc0de transmission code
  • DMAC 44 can separate the received packet into a header and data overnight just by learning TAG. Therefore, the header and the data of the reception bucket can be separated by a simple process without using a large number of circuits.
  • the header area of the RAM 80 into a reception river area and a transmission river area.
  • the data area may be divided into the area of the receiving river and the area of the transmitting river, or may be divided into the area of the isochronous eggplant transfer river and the synchronous transfer river.
  • the recording area of the RAM 80 is divided into a number of areas, it is desirable to variably control the size of each area. More specifically, as shown in FIG. 16, pointers P1 to P6 indicating addresses of boundaries of the respective areas are variably controlled. In this way, it is possible to achieve optimal area division according to the application. In this case, it is desirable that the size of each area of the RAM 80 can be dynamically variably controlled even after the power is turned on. In this way, it is possible to widen the reception area during reception processing and widen the transmission area during transmission processing, so that limited resources can be used efficiently. become.
  • BC broadcast information in a broad sense
  • a trailer control information in a broad sense
  • a 16-bit destination ID (Dest ID) is included in a packet to specify a transfer destination node. Then, as shown in Fig. 17B, the link core (link waste) does not transmit the packet addressed to the other node to the firmware (transaction layer) of j'3 above. By doing so, it is possible to prevent the firmware from performing useless processing such as decoding the 16-bit Dest ID.
  • the link core passes the packet to the firmware above. Therefore, in the end, the firmware must decode the DestID of the packet to determine if it was broadcast.
  • HCE error status information in a broad sense
  • a bucket for example, a trailer (control information in a broad sense).
  • the firmware can determine whether or not there is an error in the packet by merely examining the value of the 1-bit HCE. That is, the farm The hardware can determine whether or not the packet has an error without having to decode the 32-bit header CRC. As a result, the processing load on the firmware can be reduced, and the actual transfer speed of the entire system can be improved.
  • the data pointer DP is stored and the data pointer 3 is stored. To the start address of the area where By doing so, it is possible to maintain the continuity of data in the data area. That is, only the correct data can be stored continuously in the data area, and the application software can continuously read the correct data from the data area. Also, the firmware checks whether or not there is an error in the packet by HCE, and the firmware can request the destination node to send the packet. As described above, according to the present embodiment, the processing burden on firmware and application software can be reduced, and the actual transfer speed of the entire system can be increased by
  • a data CRC error can be considered.
  • each self-ID packet is a main body (body) containing basic information such as a node ID, and the second quadlet is the first quadlet.
  • the parity error check information which is the reverse of the above (for details, see Fig. 4A).
  • these one-speed self-ID packets are shaped as shown in FIG. 2OA. That is, bucket shaping is performed such that a header for interfacing with the upper layer (transaction layer or application layer) is added to the self ID packet, which is a bucket of the physical layer. Then, the shaped bucket is stored in the RAM 914, which is a local memory of the CPU 912.
  • the number of self-ID buckets is required according to the number of nodes. When 63 nodes are connected to the bus, for example, it is necessary to hold a minimum of 63 self-ID buckets. That is, the number of self-ID packets is usually very large.
  • the transferred packet is composed of a header (a control report in a wide area) and a data consisting of a series of self-ID packets.
  • the packet is shaped into a packet composed of frames. In other words, it packs the first-speed self-ID bucket into one, adds one header to this packaged item, and puts it on top of the waste.
  • BR which is status information indicating whether or not the packet has been received during the self-ID period, is included in a packet trailer (control information in a broad sense). Has been added.
  • PHY packets handled by the physical layer include a link-on packet and a PHY configuration bucket in addition to a self ID bucket.
  • firmware and the like can easily distinguish the self-ID packet from other PHY packets (link-on packet, PHY configuration packet). This is because the self-ID packet has a data pointer and the like, and the handling of the firmware differs between the self-ID packet and other PHY packets.
  • a BR indicating whether the bucket has been received or received in the self-ID period j is added to the trailer of the packet. For this reason, the firmware and the like can easily distinguish the self ID bucket from other buckets, and the processing can be reduced.
  • the parity of the second quadrate of the self-ID packet is deleted, and the self-ID packet (the main body of the self-ID packet) in which the parity is left is used for the post-shaping. It is preferable that the bucket constitutes an overnight portion of the bucket. By doing so, the size of the packet after shaping can be reduced to about--minutes as compared with the case where the nonessities are not deleted, and the amount of RAM required for marking self-ID packets can be reduced. 3 ⁇ 4 can be further saved.
  • the destination (destination) node when the destination node receives a packet by asynchronous transfer, the destination (destination) node returns an ACK to the source (transfer source) node.
  • the link core of the destination node adds the ACK returned to the source node to the received packet.
  • the ACK returned to the source node can be transmitted to upper layers such as firmware.
  • the bucket shaping circuit 160 of FIG. 14 adds an ACK to the trailer as shown in FIG. 21A.
  • This ACK is a 4-bit code, which can be used to determine the status of acknowledge complete, acknowledge pending, acknowledge busy, acknowledge error, and the like.
  • a given 'h' report such as AC ⁇ ⁇ added to the back of the bucket in time series in packet shaping is transferred to the packet in the RAM.
  • the firmware can confirm information such as ACK without decoding tcode. This is because ACK and so on are stored at the head of the header, and it is not necessary to check the header size and the like with tcode.
  • header length (header size) may be fixed, and a '' at an ACK or the like may be written into the header area. If the header length is set to il in this way, even if a given information such as ACK is stored in an arbitrary quadlet of an arbitrary fixed-length header in the header area, the firmware will perform the above-described processing. This is because information can be easily accessed. In this case, it is further desirable to store the given information in the first quadlet or the last quadlet of an arbitrary fixed-length header in the header area. This is because the continuity of the data in the header can be maintained as compared with the case where the given information is stored in addition to the head or the last quadlet of the fixed-length header.
  • ACK acknowledgement information returned to the source node
  • spd speed code information for specifying the data transfer rate
  • BC bus Packets sent to all connected nodes Broadcast information indicating whether or not the packet has been received
  • BR information indicating whether the packet was received during the self-ID period
  • HCE error status information indicating whether there was an error in the packet
  • FIG. 22 shows an example of a detailed configuration of the link core 20 and the FIFO 34 DMAC 44.
  • the link core 20 includes a bus monitoring circuit 130, a serial / parallel conversion circuit 132, and a bucket shaping circuit 160.
  • the bucket shaping circuit 160 includes a bucket diagnosis circuit 142, a sequencer 167, a sofa 168, and a selector 170.
  • the packet diagnosis circuit 142 includes a TAG generation circuit 162, a header & trailer generation circuit 16
  • the bus monitor circuit 130 is a circuit that monitors the 8-bit data bus D and the 2-bit control bus CTL connected to the PHY chip via the PHY interface 10. .
  • the serial / parallel conversion circuit 132 is a circuit for converting the data of the data bus D into data of 32 bits. For example, when the transfer rate is 40 OMbps, 8-bit data is stored in 32-bit data, and when the transfer speed is 20 OMbps, 4-bit data is transmitted.
  • the bucket diagnosis circuit 142 is a circuit for diagnosing a bucket.
  • the TAG generation circuit 162 is a circuit that generates a TAG for distinguishing a header, a data line, a trailer, and the like.
  • the header & trailer generation circuit 164 is a circuit that generates a header and a trailer (a full line). It is a circuit to generate.
  • the error check circuit 166 is a circuit that checks error check information such as parity included in a packet and detects an error.
  • the sequencer 167 generates various control signals.
  • the buffer 168 and the selector 170 are connected to the DI from the serial / parallel conversion circuit 132 and the packet diagnostic circuit 1
  • Data pointer from DMAC44 Is selected by the signal SEL from the bucket diagnostic circuit 142.
  • the FI FO 34 functions as a buffer for adjusting the phase of RD, which is the output data from the phosphorus core 20, and the phase of WDATA, which is the write data to the RAM 80.
  • FO state determination circuit 35 is included.
  • the FIFO status determination circuit 35 activates EMPTY when the FIFO becomes empty, and activates FUL L when the FIFO becomes full.
  • the DMAC 44 (recording means) includes a packet separation circuit 180, an access request rush circuit 190, and an access request generation circuit 192.
  • the packet separating circuit 180 is a circuit for separating the packet formed by the packet shaping circuit 160 and writing the header and the trailer into the header area of the RAM 80 and the data into the data area. (See Figure 12).
  • the bucket separating circuit 180 includes a tag determining circuit 182, a pointer updating circuit 184, and an address generating circuit 188.
  • the TAG determination circuit 182 is a circuit that determines the TAG (D TAG) generated by the TAG generation circuit 162.
  • the pointer updating circuit 184 receives the output of the TAG discriminating circuit 182 and updates a header pointer (broadly, a control information pointer) for writing header data into the RAM 80 and a data pointer. Circuit.
  • the address generation circuit 188 receives the output of the pointer update circuit 184 and generates a write address WADR to the RAM 80.
  • the access request execution circuit 190 is a circuit for executing an access request from the link core 20.
  • the access request execution circuit 190 activates FFULL when the full signal from the FIFO state determination circuit 35 becomes active.
  • the sequencer 167 in the packet shaping circuit 160 activates RDS, which is the strobe signal of RD (RxD ata), on condition that FFULL is not active.
  • the RF AIL indicates that the reception failed, and the sequencer 167 This is a signal for notifying the row circuit 190.
  • the access request generation circuit 192 is a circuit for generating an access request to the RAM 80.
  • the access request generation circuit 192 receives a write acknowledgment WACK from the buffer manager 70 and an EMPTY from the FIFO status determination circuit 35, and outputs a write request WREQ to the buffer manager 70.
  • the bucket diagnosis circuit 142 When receiving a packet from another node via the PHY chip, the bucket diagnosis circuit 142 cuts off the packet. Then, the header & trailer generation circuit 164 generates (shapes) the header. This header is input to the selector 170 via the sofa 168, and the selector 170 selects this header based on the signal SEL from the packet diagnostic circuit 142. As a result, the headers (H0 to H4) are output to FIF # 34 as RD as shown in A1 in FIG. [I] 24A shows the format (IEEE 1394 standard) of an asynchronous packet transferred by the serial bus. On the other hand, FIG. 24B shows the format of the header portion of the non-community receiving bucket stored in the header area of RAM 80 (the hatched portion in FIG.
  • a packet in the format shown in FIG. 24A is shaped into a bucket in the format shown in FIG. 24B so that an upper layer such as firmware can be used.
  • H4 (A2 in FIG. 23), which is the fourth quadlet of the header, is a data pointer for extracting data from the data area as shown in FIG. 24B.
  • the data pointer (H4) is input from the DMAC 44 (pointer update circuit 184) to the selector 170 via the buffer 168, and the selector 170 selects this.
  • the packet shaping circuit 160 receives the data pointer from the DMAC 44 and writes the data pointer into the RAM 80. Embedded in the header.
  • the serial / parallel conversion circuit 132 converts the data portion into a 32-bit data DI, and outputs the DI to the bucket diagnosis circuit 142 and the buffer 168.
  • DIE is a signal indicating whether DI is valid or invalid
  • DIS is a strobe signal for notifying the fetching timing of DI.
  • DI from the serial / parallel conversion circuit 132 is input to the selector 170 via the buffer 168, and the selector 170 selects this.
  • data D0 to Dn are output to FIF034 as RD.
  • the trailer from the header & trailer generation circuit 164 is input to the selector 170 via the buffer 168, and the selector 170 selects this.
  • the trailer H5; the hatched portion in FIG. 24B
  • the FIFO 34 is output to the FIFO 34 as RD.
  • the TAG generation circuit 162 generates a TAG for distinguishing 'output as RD.
  • the TAG has two bits, and (00), (01), (10), and (11) denote the header, the trailer, and the destination, respectively. , Start (the first of the hegg). Therefore, for example, in FIG. 23, the TAG changes to (11), (00),..., (10),.
  • FIF034 a 34-bit data consisting of the 2-bit TAG and the 32-bit RD will be manually input.
  • FIF034 receives TAG and RD from link core 20, and outputs as DTAG and WDATA as indicated by A5 and A6.
  • FI The fact that the FO 34 is full is transmitted to the access request execution circuit 190 in the DMAC 44 and the sequencer 167 in the link core 20 by FULL and FFULL. Also, the fact that the FIFO 34 has become empty is transmitted to the access request generation circuit 192 in the DMAC 44 by EMPTY.
  • the access request generation circuit 192 activates the WR EQ as shown in A10 on condition that the EMPTY becomes inactive (L level) as shown in A9 (FIFO 34 is not empty). To When WACK is received from the buffer manager 70, WREQ is made inactive.
  • the priority S of the access request from the DMAC 44 is also made higher. Therefore, as shown in A10 and All, when WREQ from DMAC44 and Other WR EQ from CPU interface 60 or Port River DMAC54 conflict, WREQ takes precedence. I do. That is, as shown in A12 and A13, WACK becomes active earlier than ther WACK. In this way, when WREQ and OtherWREQ compete, WREQ is given priority over the following reasons. In other words, in IEEE 1394, it becomes an SCS I, etc., and packets from other nodes are sent 'fc one after another in synchronization with the transfer clock. Therefore, it is necessary to give priority to the packets transferred without any interruption to the RAM 80 one after another.
  • the access request of the DMAC 44 is given by the buffer manager 70 when the buffer manager 70 accepts the access request from the DMAC 54 of the CPU interface 60 or port ffl. Therefore, the RD from the link core 20 is not synchronized with the WD AT A to the buffer manager 70. For this reason, in the present embodiment, the RD and WDATA are coordinated. In this case, the FI FO 34 should have the minimum number of stages (preferably 3 or less, more preferably 2 or less) required for phase adjustment. .
  • the TAG discriminating circuit 182 included in the bucket separating circuit 180 discriminates the DTAG output from the FIF ⁇ 34 together with WDATA, and the WDATA determines the start (head of header), header, data, and trailer.
  • the pointer updating circuit 184 updates the header pointer ⁇ de-pointer pointer based on the determination result.
  • the address generation circuit 188 activates WADR, which is a window address of WDATA, based on the updated header pointer.
  • the pointer IH new circuit 184 power, as shown in FIG. G (Hi new in a broad sense). Then, as shown at A15 in FIG. 23, the address creature route 188 generates a WADR corresponding to the sodaboyne to be incremented.
  • the pointer pointer DP is incremented as shown in FIG. 25B.
  • the data pointer DP is applied to the H4 embedded in the fourth quadlet of the header by the packet shaping circuit 160 at ffl.
  • the address generation circuit 188 generates a WADR according to the incremented data pointer as shown in A16 of FIG.
  • the pointer update circuit 184 increments the header pointer as shown in FIG. 25C.
  • the address generation circuit 188 generates a WADR according to the header data to be incremented, as indicated by A17 in FIG.
  • the header pointer is the lower boundary of the header part of the packet to be processed (the upper boundary of the header part of the next packet).
  • the data pointer will point to the lower boundary of the data part of the packet (the upper boundary of the data part of the next packet).
  • the header pointer and the final position of the data pointer are the same as those of the register setting in the register 46 in Fig. 6 on condition that there was no failure in reception (RFAIL is inactive). It will be restored on the day of the evening.
  • the bucket can be separated and written into the header area and the data area.
  • the boundary of the area separating the RAM 80 (P1 to P6 in Fig. 16), such as the boundary between the header area and the data area, is set via the CPU interface 60 through the CPU 66 ( However, this is realized by setting a pin pointing to the boundary address in the pointing setting register included in the register 46 shown in FIG.
  • the data area is divided into a plurality of areas (for example, as shown in Fig. 16 when it is divided into an area for isochronous transfer and an area for asynchronous transfer, or in the area of the first and second asynchronous transfer rivers).
  • the DMAC 44 passes a plurality of data points, and if it is clear, passes the first and second data points to the packet shaping circuit 160. (You may pass more than two pointers). Then, the packet shaping circuit 160 selects the first data pointer from the DMAC 44 during, for example, an isochronous transfer (or during a second non-fr] period transfer). (During the first asynchronous transfer), the second data pin from the DMAC 44 should be selected. That is, based on the packet control information such as the tcode and the like, the packet diagnostic circuit in the packet shaping circuit 160, the isochronous transfer or the non-transfer transfer (or the second asynchronous transfer or the first asynchronous transfer).
  • the signal SEL is controlled based on the result of the determination. Then, one of the first and second data pointers input to the selector 170 through the buffer 168 is selected. As a result, the first data pointer is embedded in the packet of the asynchronous transfer (or the second asynchronous transfer), and the second data pointer is embedded in the packet of the asynchronous transfer (or the first asynchronous transfer). The pointer will be embedded. As a result, data can be continuously stored in a specific area that separates the data storage area. That is, the video data of the digital camera is transferred to the isochronous transfer /]] data area continuously. The first asynchronous transfer ffl data area stores the command data, the evening data, and the status data in the second asynchronous transfer data area. It stores control data for evenings, etc.).
  • spd speed code information for specifying the data transfer speed
  • BC all nodes connected to the bus
  • Broadcast information indicating whether the packet was transmitted to the source node
  • HCE error status' h report indicating whether there was an error in the bucket
  • ACK acknowledgenowledgment returned to the source node
  • the error check circuit 166 of FIG. 22 checks the header CRC of the received packet, and sets HCE to 1 if there is an error in the header of the received packet.
  • HCE becomes 1
  • RF A I L becomes active.
  • RFA IL becomes active, the end of the data pointer (H4 + (n + 1) in FIG. 25D) is not restored to the data pointer setting register in the register 46 in FIG. As a result, the processing described in FIG. 18B for disabling the data pointer 3 to the node No and disabling the data pointer 3 is realized.
  • FIG. 26 shows the format of the header portion stored in the header area of the RAM 80 when the packet is a self-ID packet.
  • FIG. 26B shows the format of the PHY other than the self-ID packet. In the case of a packet, it indicates the format of the header portion stored in the header area.
  • BR which is information indicating whether or not the bucket has been received during the self-ID period
  • BR is 1 as shown in FIG. 26A.
  • BR becomes 0 as shown in FIG. 26B.
  • spd, BC, HCE, ACK, and BR are added at the end of the header, but as described in FIG. 21B, these spd, BC , HCE, ACK, and BR may be added to the head of the header.
  • FIG. 27A shows an internal block diagram of a printer, which is one of the slave devices
  • FIG. 28A shows an external view thereof.
  • the CPU (microcomputer) 5 10 controls the entire system.
  • the operation unit 511 is for the user to operate the printer.
  • the ROM 516 stores control programs, fonts, and the like, and the RAM 518 functions as a work area for the CPU 510.
  • the display panel 519 is for notifying the user of the printing operation status.
  • the print data sent from another node such as a personal computer via the PHY chip 502 and the data transfer control device; 500 is sent to the print processing unit 512 via the bus 504 ifi-connected. . Then, the print data is subjected to a predetermined process in a print processing unit 512, and is printed on a paper by a print unit (print data output unit) 514 including a print header and the like. It is output by Byeon.
  • a print unit (print data output unit) 514 including a print header and the like. It is output by Byeon.
  • 13 ⁇ 427B shows an internal block diagram of a scanner that is one of the IT devices, and Fig. 28B shows its external view.
  • the CPU 520 controls the entire system.
  • the operation unit 5 2 1 is for the user to operate the scanner.
  • the ROM 526 stores a control program and the like, and the RAM 528 functions as a work area of the CPU 520.
  • An image of a document is read by an image reading unit (device for capturing data) 522 including a light source, a photoelectric converter, and the like, and data of the read image is processed by an image processing unit 524.
  • the processed image data is sent directly to the data transfer control device 500 via the bus 505.
  • the data transfer control device 500 generates a packet by adding a header or the like to the image data, and transmits the packet to another node such as a personal computer via the 11 chip 502.
  • Figure 27C shows an internal block diagram of a CD-R drive, which is one of the electronic devices, and Figure 28C shows its external view.
  • the CPU 530 performs control such as system rest.
  • the operation unit 531 is for the user to operate the CD-R.
  • a control program and the like are stored in the ROM 536, and the RAM 538 functions as a work area of the CPU 530.
  • Read / write unit consisting of laser, memory, optical system, etc. (device for capturing data or storing data) Data read from CD-R 532 by 533 The signal is input to the processing unit 534, and given signal processing such as error correction processing is performed. Then, the data subjected to the signal processing is sent to the data transfer control device 500 via the bus 506 ifi-connected.
  • the data transfer control unit 500 generates a packet by adding a header or the like to the data, and transmits the packet to another node such as a personal computer via the PHY chip 502.
  • the data sent from another node via the 1! ⁇ chip 502 and the data transfer control device 500 is transmitted to the signal processing unit 534 via the bus 506. Then, a given signal processing is performed on this data by the ⁇ sign processing unit 534, and the data is stored in the CD-R 532 by the capturing unit 533.
  • a CPU for data transfer control in the data transfer controller ⁇ 500 is separately provided. It may be provided.
  • the data transfer control device [1] of the present embodiment for an electronic device, high-speed data transfer becomes possible. Therefore, when the user issues a printout instruction using a personal computer or the like, printing is completed with a small time lag. In addition, the user can view the read image with a small time lag after instructing the scanner to capture the image. Also, it will be possible to read data from CD-R overnight and write data to CD-R at high speed. Further, in parallel, it becomes easy to connect and use a plurality of electronic devices to one host system, or to connect and use a plurality of electronic devices to a plurality of host systems.
  • the processing load of a firmware operating on a CPU can be reduced, and an inexpensive CPU and a low-speed noise can be used. Further, since the cost and the size of the data transfer control device can be reduced, the cost and the size of the electronic equipment can be reduced.
  • the data transfer control device is applicable to the data transfer control device is, for example, various optical disk drives (CDROM, DVD), magneto-optical disk drive (MO), hard disk drive, TV, You can think of extreme things such as VTRs, video cameras, audio equipment, telephones, projectors, personal computers, electronic organizers, and card processors.
  • the configuration of the data transfer control device of the present invention is particularly preferably the configuration shown in FIG. 6, but is not limited thereto.
  • a broadcast or error report, or a report indicating whether or not the packet was received during the self-identification period i? Y is added to the control information of the bucket.
  • a given sword which feeds a given message in the back of the packet to the leading end of the packet's control layer, uses not only Fig. 6 but also the various configurations shown in Fig. 8, etc.
  • the present invention is not particularly limited to the power that is particularly desirable to be applied to data transmission in accordance with the I ⁇ III ⁇ 1394 standard.
  • the present invention can be applied to a standard based on the same idea as IE 1394 or a data transfer based on a standard that extends IE 1394.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

明 細 書 丁一夕転送制御装置及び電子機器
[技術分野]
本発明は、 デ一夕転送制御装置及びこれを含む ¾子機器に関する。 [背景技術]
近年、 I E E E 1394と呼ばれるインタ一フェース規格が脚光を浴びている。 この I E E E 1394は、 次 |_ 代のマルチメディアにも対応可能な ¾速シリアル バスインターフェースを规^化したものである。この I EEE 1394によれば、 勉画像などのリアルタイム ' が ¾求されるデ一夕も扱うことができる。 また、 I E E E 1394のバスには、 プリン夕、 スキャナ、 CD— Rドライブ、 ハードデ イスク ドライブなどのコンピュータの周辺機器のみならず、 ビデオカメラ、 VT R、 TVなどの家瓱川 ίί化製 も接続できる。 このため、 II子機器のデジタル化 を飛躍的に促進できるものとして期待されている。
このような I EEE 1394の概要については、 例えば 「I EEE 1394ハ ィ ' パフォーマンス - シリアルバスの溉耍」 ( I nt e r f ac e Ap r. 1 996の 1〜 10 1) 、 「P C周辺機器川バス規格胙総覧」 (I nt e r f a c e Jan. 1997の 106 H〜 1 16頁) 、 「I EEE 1394— 1995 (F i r eWi r e) のリアルタイム転送モ一ドとマルチメディァ対応プロ トコ ル」 (I nt e rf ac e J an. 1997の 136〜 146頁) に 1 示され ている。 また、 I EEE 1394に準拠したデータ転送制御装置としては、 テキ サス ·ィンスツルメンッ社製の T S B 12 L V 3 1などが知られている。
しかしながら、 この I E E E 1394に準拠したデータ転送制御装置には次の ような課題があることが判明した。
即ち、 現在の I EEE 1394規格によれば最大で 40 OMbp sの転送速度 が実現可能となっている。 しかし、 現実には、 処理のオーバーヘッ ドの存在に起 因して、 システム全体の実転送速度はこれよりもかなり低くなつている。つまり、 C P U上で動作するファームウェアやアプリケーションソフ卜力 送信デ一夕を 準備したり、 受信デ一夕を取り込んだりするなどの処理に多くの時問を要してし まい、 バス上での転送速度が速くても、 結局、 高速なデータ転送を実現できない。 特に、 周辺機器に組み込まれる C P Uは、 パーソナルコンピュータなどのホス トシステムに組み込まれる C P Uに比べて処理能力が低い。 このため、 ファーム ウェアやアプリケーションソフ卜の処理のオーバ一へッ ドの問題は、 非常に深刻 なものとなる。 従って、 このようなオーバ一ヘッドの問题を効果的に解消できる 技術が ¾まれている。
[発明のリ 示]
本¾叨は、 以上のような技術的課 ϋに鑑みてなされたものであり、 その 的と するところは、 ファームウェアやアプリケーションソフトなどの処理のォーノ 一 へッドを' 1¾減し、 小規枚なハードウェアで高速なデ一夕転送を実現できるデータ 転送制御装; ίϊ及びこれが川 I、られる', 子機器を提供することにある。
上記課 ®を解決するために本 叨は、 バスに接続される ¾数のノ一ド問でのデ 一夕転送のためのデータ 送制御装; Sであって、 各ノードから転送されてきたパ ケットを上 j'3が使川できるように整形するバケツ 卜整形-丁段と、 '整形されたパケ ヅ 卜の制御^ ' をランダムアクセス可能な記 tfi:手段の制御^ ' 領域に き込み、 整形されたバケツトのデ一夕を前記記憶手段のデータ領域に き込むバケツト分 離手段とを含み、 前記パケッ ト分離手段が、 前記データ領域に き込まれるデー 夕のアドレスを指すデータポインタを前記バケツ ト整形手段に渡し、 前記バケツ ト整形手段が、 前記バケツ ト分離手段から渡された前記データポインタをバケツ トの制御情報に付加することを特徴とする。
本発明によれば、 パケット整形手段が、 パケッ ト分離手段から渡されたデータ ポインタをパケッ トの制御情報に付加する。 そして、 データポインタが付加され たバケツ 卜の制御情報が記憶手段の制御情報領域に書き込まれ、 バケツトのデ一 夕がデ一夕領域に書き込まれる。 このように、 制御情報を制御情報領域に書き込 み、 データをデ一夕領域に書き込むことで、 ファームウェアやアプリケーション ソフ 卜などの上層の処理負荷を軽減でき、 システム全体の実転送速度を向上でき るようになる。 また、 ファームウェアなどの上層が、 デ一夕ポインタを使用して、 パケッ 卜の制御情裉に対応するデ一夕をデ一夕領域から容易に読み出すことがで きるようになる。 また、 デ一夕ポインタの付加はバケツ ト整形手段により行われ、 バケツ ト分離手段がこれに関与する必要がないため、 バケツ ト分離手段の構成や 記憶手段への き込み処理を簡素化できる。
また本 ¾叨は、 前記パケッ ト整形 ΐ段が、 パケッ トの少なくとも制御情银とデ
—夕を区別するための夕グ ' 'ί報を生成すると共に、 生成された該夕グ愔報をパケ ッ トに関迚づけ、 パケッ ト分離 ^段が、 パケッ トに ί¾迚づけられた i ifflタグ ' ί報に^づいて、 バケツ 卜の制御 银を ι' ',记制御 ½報 /ί域に ^き込み、 バケツ 卜 のデータを ·記データ領域に ; き込むことを特徴とする。このようにすることで、 簡易なハードウヱァ構成で、 バケツ 卜の制御 'ί を制御 ί' ^域にデータをデー 夕領域に分離して ^納することが可能になる。
また本 ¾叨は、 記パケッ ト分離 段が、 パケッ トの制御^報が, 4き込まれて いると、 パケッ トに ί 迚づけられた 记夕グ ½報に Λづき判断した ¾合には、 m 記制御' h 報 l域に ,'ίき込まれる制御怙報のアドレスを ^す制御怙 ポインタを ΙΗ 新し、 パケッ トのデータが き込まれていると、 ι' 記夕グ½银に ·½づき判断した 場合には、 ¾記データ領域に ¾き込まれるデータのァドレスを指すデ一夕ボイン 夕を 3!新することを特徴とする。 このようにすれば、 制御情報ポインタの更新処 理とデ一夕ポインタの更新処理を夕グ' t報を利用して切り替え、 パケッ トを制御 情報とデ一夕に分離できるようになる。 これにより、 パケッ トの分離処现の簡素 化を図れる。
また本発明は、 バスに接続される複数のノード間でのデ一夕転送のためのデ一 夕転送制御装置であって、 各ノードから転送されてきたバケツ トを上層が使用で きるように整形するバケツ ト整形手段と、 整形されたバケツ 卜を記憶手段に書き 込む— き込み手段とを含み、 前記パケッ ト整形手段が、 バスに接続される全ての ノードに対して送信されたバケツ トか否かを示すブロードキャス ト情報を、 パケ ットの制御情報に付加することを特徴とする。
本発明によれば、 ファームウェアなどの上層は、 処理対象となるパケットがブ ロードキャス卜されたバケツ トか否かを、 バケツ卜の制御情報に付加されたプロ ードキャスト情報を調べるだけで知ることができる。 このため、 他の情報をデコ —ドするなどの処理を 、略することが可能になり、 ファームウェアなどの上層の 処理负担を軽減できる。
また本允叨は、 バスに接続される複数のノード問でのデ一夕転送のためのデ一 夕転送制御装 であって、 各ノードから転送されてきたパケットを上屈が使用で きるように整形するバケツ 卜整形手段と、 整形されたバケツトを記憶手段に ¾き 込む^き込み ^段とを み、 m¾パケット整形 ^段が、 パケッ トにエラーがあつ たか^かを すエラ一ステータス t, 報を、 パケッ トの制御' h に付加することを 特徴とする。
本允叨によれば、 ファームウェアなどの上 ^は、 処理対象となるパケッ トにェ ラーがあるか。かを、 パケッ 卜の制御' ' に付加されたエラーステータス ' 報を , ベるだけで知ることができる。 このため、 他の' h'i をデコードするなどの処 ¾ を することが可能になり、 ファームウェアなどの \-.rnの処 ί\ &を 'ι 減でき る。
また 允叫は、 整形されたバケツ 卜の制御 'hi報を ¾^,¾位7^段の制御 ί'; 領域 に き込み、 整形されたバケツ 卜のデータを前記記憶手段のデータ領域に, 11き込 むバケツ 卜分離手段を含み、 バケツ卜にエラーがあると判断された場合には、 前 記デ一夕領域に ¾き込まれた;]亥バケツ卜のデータを無効にすることを特徴とする。 このようにすることで、 デ一夕領域に、 正しいデ一夕のみを迚続して格納できる ようになり、 アプリケーションソフトなどの上層がデ一夕領域から速続して正し ぃデ一夕を読み出すことが可能になる。 これにより、 上層とのイン夕一フェース の簡素化を図れるようになる。
また本発明は、 バスに接続される複数のノード問でのデ一夕転送のためのデ一 夕転送制御装置であって、 各ノードから転送されてきたパケットを上層が使用で きるように整形するバケツ 卜整形手段と、 整形されたバケツ 卜を記憶手段に書き 込む書き込み手段とを含み、 前記パケッ ト整形手段が、 自己識別期間に受信した パケットか否かを示す情報を ケッ 卜の制御情報に付加することを特徴とする。 本発明によれば、 ファームウェアなどの上層は、 処理対象となるパケッ トが自 己識別期問に受信したバケツトか否かを、 バケツ 卜の制御佶報に付加された情報 を調べるだけで簡易に知ることができるようになる。 これにより、 例えば、 複数 の自己識別バケツトを 1つにパッケージングすることで得られたパケッ 卜と、 そ れ以外のバケツトとの区別などが容易になる。
また本¾叨は、 バスに接続される複数のノード問でのデ一夕転送のためのデ一 夕転送制御装 ISであって、 各ノードから転送されてきたバケツトを上屑が使川で きるように整形するバケツ ト整形手段と、 整形されたバケツトを¾½ ^段に ^き 込む き込み手段とを含み、 记パケット整形手段が、 各ノードから転送されて きたバケツ 卜に対して時系列で後ろ側に所与の^報を付加し、 Ώΰ ύき込み手段 が、 前記所 の' h 報を、 前記記惊手段においてバケツ 卜の制御 ½報の先^ Mに, き込むことを特徴とする。
本 ¾明によれば、 時系列でバケツ 卜の後ろ側に付加された 'ί報が、 ,记憶手段に おいてパケッ トの制御佶報の先頭側に ¾き込まれる。 従って、 ファームウェアな どの上^は、 他の ½報をデコードすることなく、 所与の ½報を ί??ί に確認できる ようになる。 この結 ¾、 ファームウェアなどの上^の処观 ft担を大幅に^減でき る。
なお本 % I Jでは、 前記所与の情報は、 パケットの転送元に返したァクノリッジ メント情報、 データ転送の速度を特定するためのスピードコード情報、 バスに接 続される全てのノードに対して送信されたバケツ 卜か否かを示すブロードキャス ト情報、 ΰ己識別期問に受信したパケットか否かを示す情報、 及びパケッ トにェ ラーがあつたか否かを示すエラ一ステータス情報の少なくとも 1つであることが 望ましい。
また本発明は、 後段のアプリケーションに接続される第 1のバスと、 該デ一夕 転送制御装置をコン卜ロールする第 2のバスと、 物理層のデバィスに電気的に接 続される第 3のバスと、 前記記憶手段に電気的に接続される第 4のバスと、 前記 第 1、 第 2、 第 3のバスのいずれかと前記第 4のバスとの間にデータ経路を確立 するための調停を行う調停手段とを含むことを特徴とする。
本発明によれば、 互いに分離される第 1、 第 2、 第 3のバスが設けられる。 そ して調停手段の調停により、 これらの第 1、 第 2、 第 3のバスのいずれかと、 ラ ンダムアクセス可能な記憶手段の第 4のバスとの問にデータ絰路が確立される。 このようにすることで、 他のノードから物理屑のデバイスを介して受信したパケ ッ卜を、 所望の配 Eで記憶手段に格納することが可能になる。 また、 パケットの 制御惜裉の^み出しや ¾き込みは ¾ 2のバスを用いて行い、 バケツ 卜のデータの み出しゃ^き込みは 1のバスを川いて行うことも可能になる。 これにより、 トランザクション! ¾やアプリケーション などの上^の処现 ftftlを蛏減できる。 また、 ίβ 1、 ' 2のバスとして低速なバスを採川したり、 データ転送制御装; を コントロールするデバイスとして低速で安肺なデバイスを採用することができる。 この結 ¾、 データ転送制御装; δϊの小規模化、 低コス ト化を図れるようになる。 なお、 ίΠ ΐ、 ¾ 2、 ίΠ 3、 第 4のバスは、 各々、 アプリケーション、 デ一夕転 送制御装; をコントロールするデバイス、 物理/ のデバイス、 R A Mに、 少なく とも VII気的に接^されていればよく、 これらのバス上に他のデバイスを介 ^させ てもよい。
また本 明では、 ι¾-【1己バケツ ト整形手段と 記 ½手段との問に設けられる F I F Oを含むようにしてもよい。
また本発 Π刀では、 I E E E 1 3 9 4の規格に準拠したデータ転送を行うことが 望ましい。
また本発叨に係る^子機器は、 上記のいずれかのデータ転送制御装 ΪΞと、 前記 デー夕転送制御装置及びノ スを介して他のノードから受信したデータに所与の処 理を施す装置と、 処理が施されたデ一夕を出力又は記憶するための装置とを含む ことを特徴とする。 また本発叨に係る電子機器は、 上記のいずれかのデータ転送 制御装置と、 前記データ転送制御装置及びバスを介して他のノードに送信するデ —夕に所与の処理を施す装置と、 処理が施されるデ一夕を取り込むための装置と を含むことを特徴とする。 本発明によれば、 他のノードから転送されたデータを電子機器において出力し たり記憶したりする処理、 電子機器において取り込んだデ一夕を他のノードに転 送したりする処理を高速化することが可能になる。 また、 本発明によれば、 デ一 夕転送制御装置を小規模化できると共に、 デ一夕転送を制御するファームウェア などの処理负担を軽減できるため、 電子機器の低コスト化、 小規模化などを図る ことも可能になる。
[図而の簡 な説明]
図 1 A、 図 1 B、 図 1 Cは、 非同期転送とァイソクロナス転送について説明す るための図である。
図 2 A、 図 2 Bは、 ツリー識別について , 叨するための図である。
図 3は、 Γ」己識別について説明するための図である。
図 4 A、 m 4 B , 図 4 C、 図 4 Dは、 セルフ I Dパケットなどの物现 のパケ ッ 卜のフォーマツ卜を示す図である。
図 5は、 I E E E 1 3 9 4のプロトコル構成について示す図である。
図 6は、 本実施形態のデータ転送制御装 の構成例を示す図である。
図 7は、 ヘッダ (制御' ί' ) 域とデ一夕領域の分離について説明するための 図である。
図 8は'、 本実施形態の比較例の構成例について示す図である。
図 9は、図 8の構成によるデ一夕転送の手法について説明するための図である。 図 1 0は、 データ転送の手法の他の例について説叨するための図である。
図 1 1は、 本実施形態のデータ転送の手法について説明するための図である。 図 1 2は、 受信バケツ 卜をヘッダとデータに分離して R A Mのヘッダ領域とデ
—夕領域に格納する手法について説明するための図である。
図 1 3は、 ヘッダ領域に格納するヘッダにデータポインタを含ませる手法につ いて説明するための図である。
図 1 4は、 パケット分離回路が渡したデータポインタを、 パケッ ト整形回路が パケットのへッダに付加する手法について説明するための図である。 図 15は、 TAGについて説明するための図である。
図 16は、 RAMの各領域のサイズを可変に制御する手法について説明するた めの図である。
図 17A、 図 17B、 図 17 C、 図 17Dは、 ブロードキャスト情報をバケツ トのトレイラ一に付加する手法について説明するための図である。
図 18A、 図 18Bは、 エラ一ステータス情報をパケットのトレイラ一に付加 すると共に、 バケツ 卜にエラ一があった場合に RAMのデ一夕を無効にする手法 について説明するための図である。
図 19は、 セルフ I D期間について説明するための図である。
図 20A、 図 20Bは、 セルフ I D i]i?l]に受信したパケットか否かを示す情報 を、 バケツ 卜のトレイラ一に付加する手法について説明するための図である。 図 21 A、 図 2 1 Bは、 バケツト整形において時系列でバケツ卜の後ろ側に付 加された ' 報を、 RAMにおいてバケツ卜のヘッダの先頭側に ¾き込む手法につ いて説明するための図である。
図 22は、 受信側の構成の一例を示す図である。
図 23は、 受信側の動作について説明するためのタイミング波形図である。 図 24 Aは、 I EEE 1394規格の非同期バケツ 卜のフォ一マツ 卜であり、 図 24Bは、 RAMのヘッダ領域に格納される非同期受信バケツ 卜のヘッダ部分 のフォーマットである。
図 25A、 図 25B、 図 25 C、 図 25 Dは、 ヘッダボイン夕とデ一夕ポィン 夕の更新について説明するための図である。
図 26 Aは、 バケツ卜がセルフ I Dバケツトである場合のヘッダ部分のフォー マットであり、 図 26 Bは、 パケットがセルフ I Dパケッ ト以外の PHYバケツ トである場合のヘッダ部分のフォーマツ 卜である。
図 27A、 図 27B、 図 27 Cは、 種々の電子機器の内部ブロック図の例であ る。
図 28A、 図 28B、 図 28 Cは、 種々の電子機器の外観図の例である。 [発明を実施するための最良の形態]
以下、 本発明の好適な突施形態について図面を用いて詳細に説明する。
1. I E E E 1394
まず、 I E E E 1394の概要について簡準に説明する。
1 - 1 データ転送速度、 接続トポ口ジー
I EEE 1394 (I EEE 1394— 1995、 P 1394. a) では 10 0〜400Mb p sの高速なデ一夕転送が可能となっている (P 1394. bで は 800〜320 OMbp s) 。 また、 転送速度が異なるノードをバスに接続す ることも許される。
各ノードはツリー状に接続されており、 1つのバスに ¾太で 63ί[ のノードが 接続 能になっている。 なお、 バスブリツジを利 )Πすれば約 64000龍のノ一 ドを接あ ίすることも可能である。
¾源が投入されたり、 途中でデバイスの抜き差しが発生すると、 バスリセッ ト が発生し、 接続トポロジーに関する情報が全てクリアされる。 そして、 バスリセ ッ ト後、 ツリー識別 (ルートノードの決定) 、 自己識別が行われる。 その後、 ァ イソクロナスリソースマネージャ、 サイクルマス夕、 バスマネージャ^の管 ノ
—ドが決定される。 そして、 通常のパケッ ト転送が 1¾始される。
1. 2 転送方式
I EE Ε 1394では、 バケツ 卜の転送方式として、 信頼性が要求されるデ一 夕の転送に好適な非冋期転送と、 リアルタイム性が要求される勤画像や ί声など のデ一夕の転送に好適なアイソクロナス転送が用意されている。
図 1Aに、 非同期サブアクションの例を示す。 1つのサブアクションは、 調停、 パケッ ト転送、 ァクノ リッジメン卜からなる。 即ち、 データ転送に先立って、 ま ず、 バスの使用権に関する調停が行われる。 そしてソース (転送元) ノードから デスティネーション (転送先) ノードにパケッ トが転送される。 このパケッ トの ヘッダにはソース I Dとデスティネーション I Dが含まれる。 デスティネ一ショ ンノ一ドは、 このデスティネーション I Dを読んで、 自ノード宛のパケッ トか否 かを判断する。 デスティネーションノードは、 パケッ トを受け取ると、 ソ一スノ ―ドにァクノ リッジメン卜 (A C K ) のバケツ 卜を返す。
パケッ ト転送と A C Kの問にはァクノ リッジギヤヅプが存在する。 また、 1つ のサブアクションと次のサブアクションの間にはサブアクションギヤップが存在 する。 そして、 サブアクションギャップに相当する一定のバス · アイ ドル I 問が 経過しないと、 次のサブアクションの調停を閲始できない。 これによりサブァク シヨン ffl互の衝突が回避される。
図 1 Bに、 ァイソクロナスサブアクションの冽を示す。 アイツクロナス転送は ブロードキャス 卜 (バスに接続される全てのノードに転送) で突行されるため、 パケッ ト受信時に A C Kは返送されない。 また、 アイツクロナス転送では、 ノ一 ド I Dではなくチャネル^ を使川してバケツ 卜転送が行われる。 なお、 サブァ クシヨン問にはアイソクロナスギヤップが存在する。
図 1 Cに、 デ一夕転送!]、 ϊのバスの様子を示す。 ァイソクロナス転送は、 サイク ルマスタが一^周 jfiiにサイクルスタートパケッ 卜を允生することで問始する。 これにより、 1つのチャネル当たり、 1 2 5〃s½に少なくとも 1つのパケッ トを 転送できるようになる。 この結 、 動画像や などのリアルタイム性が^求さ れるデ一夕の転送が可能になる。
同期転送はァイソクロナス転送の合 に行われる。 即ち、 ァイソクロナス転 送の方が非刚 J転送よりも優先 ί位が くなつている。 これは、 m 1 C (Z示すよ うに、 ァイソクロナスギャップの時問を、 非同期転送のサブアクションギャップ の時問よりも短くすることで実現される。
1 . 3 ッリ一識別
ッリー識別はバスリセッ 卜の後に行われる。 ッリー識別によりノード問の親子 関係やルー卜ノードが決定される。
まず、 リーフノード ( 1つのノードにしか接続されていないノード) 力、 隣接 するノードに、 ペアレン トノーティフアイを送る。 例えば図 2 Aのようにノード A、 B、 C、 D、 Eが接続されている場合には、 ノード Aからノード Bに、 ノー ド D及び Eからノード Cに、 ペアレントノーティフアイ (P N ) が送られる。 ペアレントノ一ティフアイを受け取ったノードは、 送り元のノードを自身の子 と認知する。 そして、 チャイルドノ一ティフアイをそのノードに送る。 例えば図
2 Aでは、 ノード Bからノード Aに、 ノード Cからノード D及び Eにチャイルド ノーティフアイ (C N ) が送られる。 これによつてノード B、 A間、 ノード C、 D問、 ノード C、 E問の親子 ί 係が決定する。
ノード B、 Cの親子関係は、 どちらが先にペアレントノーティフアイを送った かで決定される。 例えば図 2 Βのように、 ノード Cの方が先にペアレントノーテ ィフアイを送ると、 ノード Βが親になりノード Cが子になる。
ポー卜の接続先の全てのノードが β身の子となるノードがル一卜になる。 図 2 Βでは、 ノード Βがルートになる。 なお、 I E E E 1 3 9 4では、 全てのノード がルートになる可能性がある。
1 . 4 i:i己識別
ツリー識別の後、 C1己識別が行われる。 己識別においては、 接続トポロジー においてルートノードから いノ一ドから脉 1にセルフ I Dバケツ 卜が転送される。 より π休的には、 例えば図 3において、 まず、 ルートノード Bのポート 1 の小さいポート) に接続されるノード Aが、 セルフ I Dパケッ ト (ΰ己識別パ ケッ 卜) を仝てのノードにブロードキャス トする。
次に、 ルートノード Βのポート 2 ( ?1Μ·が大きいポート) に接続されるノード Cが選択され、 このノード Cのポー卜 1 ( S ^の小さいポー卜) に接^されるノ ―ド Dがセルフ I Dパケッ 卜をブロードキャス 卜する。 次に、 ノード Cのポート 2 ( ^ ^の大きいポート) に接^されるノード Eがセルフ I Dパケッ トをブロー ドキャス トし、 その後、 ノード Cがブロードキャス トする。 ¾後に、 ルートであ るノード Bがセルフ I Dバケツ 卜をブロードキャス トし、 自己識別が完了する。 セルフ I Dバケツ 卜には各ノードの I Dが含まれる。 ブロードキャス トを行う 時点で他のノードから受け取ったセルフ I Dパケッ 卜の個数が、 この各ノードの I Dとなる。 例えば図 3では、 ノード Aがブロードキャス トを行う時点では、 ど のノードもセルフ I Dバケツ 卜を発していないため、ノード Aの I Dは 0になる。 ノード Aは、 この I D二 0をセルフ I Dパケッ トに含ませてブロードキャス トす る。 また、 ノード Dがブロードキャス 卜を行う時点では、 ノード Aのみがセルフ I Dパケッ トを発している。 このため、 ノード Dの I Dは 1になる。 同様に、 ノ —ド E、 C、 Bの IDは、 各々、 2、 3、 4になる。
図 4Aにセルフ IDバケツ 卜のフォーマツ 卜を示す。 同図に示すようにセルフ I Dバケツ 卜には各ノードの基本情報が含まれる。 具体的には、 各ノードの I D (PHY_I D) 、 リンク層がアクティブか否か (L) 、 ギャップカウント (g a p_c n t ) 、 転送速度 (s p) 、 ァイソクロナスリソースマネージャになれ る能力を苻するか否か (C) 、 ί¾力状態 (pwr) 、 ポートの状態 (p0、 p l、 p 2 ) などに |¾する ½報が含まれる。
なお、 冈 4Bに、 ノードのポート数が 4ί|ί|以上の場合に使川されるセルフ I D パケッ ト # 1、 #2、 # 3のフォーマッ トを示す。 ポート数が 4〜 1 1 の場合 にはセルフ I Dパケッ ト # 0 (図 4Α) 及び # 1力;、 12~ 19 の ¾合にはセ ルフ IDパケッ ト #0、 # 1及び #2が、 20〜27^の¾合にはセルフ I Dパ ケッ ト #0、 # 1、 #2及び #3が使川されることになる。
また、 図 4 C、 図 4Dに、 セルフ I Dバケツ 卜と同様に、 物现 のバケツ ト (P HYバケツ ト) であるリンクォンバケツ ト、 PHY構成パケヅ 卜のフォーマツ 卜 を示す。
1. 5 アイツクロナスリソースマネージャ
ァイソクロナスリソースマネージャ (IRM) は以下の 機能を する。 笫 1に、 ァイソクロナス転送に必要な稀々のリソースを提 ί共する。 例えば、 チ ャネル 号レジス夕や 'ίίί域幅レジス夕を提供する。 第 2に、 バスマネージャの I Dを示すレジス夕を提供する。 第 3に、 バスマネージャがいない場合に、 簡易的 なバスマネージャとなる役割を有する。
I RMになれる能力を有し (アイソクロナスリソースを管理する能力を有し)、 且つ、 勁作状態になっている (リンク層がアクティブになっている) ノードの中 で ( I RMになれる資格を有するノードの中で) 、 ルートに最も近い (I Dが最 も大きい) ノードが I RMになる。 より、 具体的には、 図 4 Aのセルフ I Dパケ ッ 卜において、 I RMになれる能力を有するか否かを示す C (CONT ENDE R) ビッ 卜と、 リンク層がアクティブか否かを示す L (L I NK一 ACT I VE) ビッ トが共に 1になっているノードの中で、 ルートに一番近いノード (P H Y— I Dがー ¾大きいノード) が I R Mになる。 例えば、 ルートノードのセルフ I D バケツ 卜の Cビッ トと Lビッ 卜が 1の場合には、 ルー-卜ノードが I R Mになる。 1 . 6 サイクルマス夕、 バスマネージャ
サイクルマス夕は、 図 1 Cに示すサイクルス夕一トバケツ トを送信する役割を 有し、 ルー卜ノードがサイクルマス夕になる。
バスマネージャは、 トポロジーマップ (各ノードの接続状態) の作成、 スビ一 ドマップの作成、 バスの 力管理、 サイクルマス夕の決定、 ギャップカウン卜の 最適化などの ih ' を行う。
1 . 7 プロ トコル構成
図 5を川いて、 I E E E 1 3 9 4のプロ トコル構成 (^構 )S) について説 HJjす る。
I E E E 1 3 9 4のプロ トコルは、 物理屑、 リンク層、 トランザクション屑に より^成される。 また、 シリアルバスマネージメントは、 物理 )'3、 リンク層、 ト ランザクシヨン層をモニタ一したり制御したりするものであり、 ノードの制御や バスのリソース管理のための極々の機能を提供する。
物理 は、 リンク^により使用されるロジカルシンボルを; ^ に変換した り、 バスの調 ί' を行ったり、 バスの物理的インターフェースを定: ί'ίする。
リンク層は、 アドレッシング、 デ一夕チェック、 デ一夕フレーミング、 サイク ル制御などを提供する。
トランザクション層は、 リード、 ライ ト、 ロックなどのトランザクションを行 うためのプロ トコルを定義する。
物理層及びリンク層は、 通常、 データ転送制御装置 (イン夕一フェースチップ) などのハードウェアにより実現される。 また、 トランザクション層は、 C P U上 で動作するファームウェアや、 ハードウヱァにより実現される。
2 . 全体構成
次に、 本実施形態の全体構成について図 6を用いて説明する。
図 6において、 P H Yイン夕一フェース 1 0は、 物理層のプロ トコルを実現す る PHYチップとのィン夕一フェースを行う回路である。
リンクコア 20 (リンク手段) は、 リンク層のプロ トコルやトランザクション 層のプロ 卜コルの一部を実現する回路であり、 ノード問でのパケッ ト転送のため の各極サービスを提供する。 レジス夕 22は、 これらのプロ トコルを実現したリ ンクコア 20を制御するためのレジス夕である。
F I FO (AT F) 30、 F I FO ( I TF) 32、 F I FO (R F) 34は、 各々、 非同期送信用、 ァイソクロナス送信用、 受信川の F I FOであり、 例えば レジス夕や 導休メモリなどのハードゥヱァにより構成される。本実施形態では、 これらの F I FO30、 32、 34の段数は非常に少ない。 例えば 1つの F I F 0の段数は、 好ましくは 3段以下であり、 に好ましくは 2段以下となる。
DMA C 40, 42、 44は、 各々、 ATF、 I TF、 RF l]の DMAコン ト ローラである。 これらの DMAC40、 42、 44を川いることで、 CPU66 に介人されることなく、 RAM 80とリンクコア 20との問でのデ一夕転送が可 能になる。 なお、 レジス夕 46は、 D MAC 40、 42、 44などを制御するレ ジス夕である。
ポートインターフェース 50は、 アプリケーション^のデバイス (例えばプリ ン夕の印字処现を行うデバイス) とのインターフェースを行う回路である。 本実 施形態では、 このポー卜イン夕一フェース 50を川いて、 例えば 8ビッ トのデ一 夕転送が可能になっている。
F I FO (PF) 52は、 アプリケーション のデバイスとの問でのデ一夕転 送のための F I FOであり、 DMAC 54は、 P F用の D M Aコントローラであ る。 レジス夕 56は、 ポートイン夕一フェース 50や DM AC 54を制御するレ ジス夕である。
CPUインターフェース 60は、 データ転送制御装置をコントロールする CP U 66とのィン夕ーフェースを行う回路である。 CPUィン夕一フェース 60は、 アドレスデコーダ 62、 データ同期化回路 63、 割り込みコントローラ 64を含 む。 クロック制御回路 68は、 本実施形態で使用されるクロックを制御するもの であり、 PHYチップから送られてくる S CLKや、 マス夕一クロックである H CLKが入力される。
ノ ッファマネージャ 70は、 RAM 80とのィン夕ーフェースを管理する回路 である。 バッファマネージャ 70は、 バッファマネージャの制御のためのレジス 夕 72、 RAM80へのバス接続を調停する調停回路 74、 各種の制御信号を生 成するシーケンサ 76を含む。
RAM 80は、 ランダムアクセス可能なバケツト記憶手段として機能するもの であり、 その機能は例えば SRAM、 DRAMなどにより実現される。 そして、 本実施形態では、 図 7に示すように、 この RAM80がヘッダ領域 (広義には制 御情報領域) とデ一夕領域に分離されている。 そして、 パケットのヘッダ (広義 には制御 は図 7のへッダ 域に格納され、 パケッ トのデ一夕はデータ ¾1域 に格納される。
なお R A M 80は、 本実施形態のデ一夕転送制御装; に内蔵させることが特に 望ましいが、 その一部又は全部を外付けにすることも可能である。
バス 90 (或いはバス 92、 94) は、 アプリケーションに接続されるもので ある (ίβΐのバス) 。 またバス 96 (成いはバス 98) はデ一夕転送制御装^を コントロールするためのものであり、 データ転送制御装 をコントロールするデ バイス (例えば CPU) に ¾気的に接^される ( 2のバス) 。 またバス 100 (或いはバス 102、 104、 105、 106、 107、 108、 109 ) は、 物理 /@のデバイス (例えば PHYチップ) に電気的に接続されるものである (
3のバス) 。 また、 バス 1 10は、 ランダムアクセス可能な記憶手段である RA Mに it気的に接続されるものである (第 4のバス) 。
ノ ヅ フ ァマネージャ 70の調停回路 74は、 DMAC40、 DMAC42、 D MAC44, CPUインターフェース 60、 DMA C 54からのバスアクセス要 求の調停を行う。 そして、 この調停結果に基づいて、 各々、 バス 105、 107、 109、 98、 94のいずれかと、 RAM 80のバス 1 10との問にデ一夕の絰 路が確立される (第 1、 第 2、 第 3のバスのいずれかと ¾ 4のバスとの間にデ一 夕経路が確立される) 。
本実施形態の 1つの特徴は、 ランダムアクセスが可能でありバケツトを格納す る RAM80を設けると共に、 互いに分離されるバス 90、 96、 100と、 こ れらのバスを RAM 80のバス 1 1 0に接続するための調停回路 7 とを設けた 点にある。
例えば図 8に、 本実施形態と構成の異なるデータ転送制御装置の例を示す。 こ のデータ転送制御装匿では、 リンクコア 902は、 PHYインターフェース 90 0、 バス 922を介して PHYチップと接続される。 また、 リンクコア 902は、 F I FO 904、 906、 908、 C P Uイン夕一フェース 9 10、 バス 920 を介して CPU 9 1 2に接続される。 そして、 CPU 9 1 2は、 バス 924を介 して、 CPUにローカルなメモリである RAM 9 14に接続される。
なお、 F I FO 904、 906、 908は、 図 6の F I FO30、 32、 34 と^なり、 に段数の多いものとなる (例えば 1つの; F I FOが 1 6段程度)。 図 8の構成のデータ転送制御装 iSを川いた場合のデータ転送の手法について図 9を川いて説明する。 PHYチップ 930を介して他のノードから送られてきた 受信パケヅ トは、 バス 922、 デ一夕転送制御装; 932、 バス 920を介して CPU 9 1 2が受け取る。 そして、 CPU 9 1 2は、 受け取った受 ί パケッ トを バス 924を介して RAM 9 14に き込む。 そして、 C P U 9 1 2は、 受信パ ケッ トをアプリケーション屑が使川できるように加工し、 バス 926を介してァ プリケ一ション ίのデバイス 934に転送する。
一方、アプリケーション^のデバイス 934からのデ一夕を転送する場合には、 CPU 9 1 2は、 このデ一夕を RAM 9 14に窗き込む。 そして、 RAM9 14 のデータにヘッダを付加することで I EEE 1 394に準拠したバケツ トを生成 する。 そして生成されたパケッ トは、 データ転送制御装置 932、 PHYチップ 930などを介して他のノードに送信される。
しかしながら、 このようなデ一夕転送手法によると、 CPU9 1 2の処理負荷 が非常に重くなる。 従って、 ノード間を接続するシリアルバスの転送速度が高速 になっても、 CPU 9 1 2の処理のオーバ一ヘッ ドなどに起因して、 システム全 体の実転送速度は低くなり、 結局、 高速なデータ転送を実現できない。
このような閊題を解決する 1つの手法として、 図 10に示すように、 デ一夕転 5 PC
17 一 送制御装置 932と RAM 9 14との間でのデータ転送や、 RAM 914とアブ リケーシヨン層のデバイス 934との間でのデ一夕転送を、 ハードウエア DMA により実現する手法も考えられる。
しかしながら、 この手法では、 CPUバス 928が、 データ転送制御装 -1393 2、 RAM 9 14問でのデ一夕転送、 RAM9 14、 CPU 912間でのデータ 転送、 RAM914、 アプリケーション層デバイス 934問でのデータ転送に使 川されることになる。 従って、 システム全体のデ一夕転送の高速化を図ろうとす ると、 CPUバス 928として PC Iバスのような高速なバスを使用しなければ ならなくなり、 これは、 デ一夕転送制御装 を使川する; 了-機器の高コス 卜化を ■!く。
これに対して、 本実施形態では図 1 1に示すように、 データ転送制御装 ' 12 0、 アプリケーション層デバイス 124問のバス 90と、 CPUバス 96と、 デ 一夕転送制御装 ΪΗ120、RAM80問のバス 1 10とが互いに分離されている。 従って、 CPUバス 96をデ一夕転送の制御のみに使用できるようになる。 また、 バス 90を占 fiして、 データ転送制御装; S 120、 アプリケーション屑デバイス 124問でデ一夕転送を行うことができるようになる。 例えば、 デ一夕転送制御 装置 120が紐み込まれる ΐί^機器がプリン夕である場合には、 バス 90を占^ して印字データを転送できるようになる。 この結^、 CPU 66の処理 / , を輕 減でき、 システム全体の実転送速度を高めることができる。 また CPU 66とし て安価なものを採川できると共に、 CPUバス 96として高速なバスを使) Hする 必要性がなくなる。 このため、 ¾子機器の低コス ト化、 小規模化を図れるように なる。
3. 受信パケヅ トフォーマツ ト
3. 1 本実施形態の特徴
本実施形態では、 図 7に示すように、 R A M 80の記憶領域を、 パケッ トのへ ッダ (広義には制御情報) が格納されるヘッダ領域 (広義には制御情報領域) と パケッ トのデ一夕が格納されるデータ領域に分離している。
例えば図 8の比較例では、 C P U 9 12は、 受信した順序で F I F◦ 908か ら受信パケットを受け取らなければならない。 従って、 受信パケットをヘッダと デ一夕に分離する処理を実現しょうとすると、 F I FO 908から読み出した受 信バケツ トを CPU 912が口一カルメモリである RAM 9 14に一旦書き込み、 その RAM9 14から CPU9 12が受信パケヅトを読み出してヘッダとデ一夕 に分離する必要がある。 従って、 CPU 9 12の処理负荷が非常に重くなり、 こ れは結局、 システム全体の実転送速度の低下という事態を招く。
これに対して、 図 6の本実施形態では、 R A M 80の記†, 領域がへッダ領域と データ領域に分離される。 より具体的には、 図 12に示すように、 各受信パケッ 卜のヘッダとデータがハードウェアにより分離され、 ヘッグがヘッダ領域に、 デ 一夕がデータ 域に 納される。 従って、 CPU 66の処理 荷が図 8に比べて 非常に' 1 くなり、 システム全体の ¾転送逨度を^上できる。 また、 CPU66と して安価なものを採川できると Jt.に CPU 66に接続されるバスも低速なもので 済むため、 データ転送制御装 や'ίϊ Ρ機器の小規模化、 低コスト化を図れるよう になる。
また、 本 施形態によれば、 ヘッダはヘッダ領域にまとめられて格納され、 デ —夕もデータ領域にまとめられて格納される。 従って、 ヘッダゃデ一夕の^み出 し処理や き込み処 !の ίί?ί 化を図ることができ、 処理のオーバーへッ ドを' | 減 化できる。 例えば、 図 1 1の手法でデ一夕転送を行う場合には、 CPU 66は、 CPUバス 96を介してへヅダ領域にのみアクセスしヘッダを み出したり き 込んだりするだけでデータ転送を制御できるようになる。 また、 アプリケ一ショ ン層のデバイス 124は、 データ領域のデ一夕を連続してバス 90を介して読み 出したり、 デ一夕を連続してデ一夕領域に書き込んだりすることが可能になる。 そして、 本実施形態では、 図 13に示すように、 ヘッダ領域に格納される各へ ッダと、 デ一夕領域に格納される各データとを、 ヘッダに含ませたデータポイン 夕により対応させている。 このデータポインタの付加は以下のようにして実現す る。
即ち図 14に示すように、 本実施形態では、 リンクコア 20がパケッ ト整形回 路 160を含み、 DMAC44 (広義には書き込み手段) がパケッ ト分離回路 1 80を含む。 ここでパケッ ト整形回路 160は、 各ノードから転送されてきたパ ケッ トを上層 (例えばトランザクション層、 アプリケーション層) が使用できる ように整形する。 また、 パケッ ト分離回路 180は、 パケッ トを分離し、 バケツ 卜のヘッダやトレイラ一 (フッター) を RAM80のヘッダ領域に ¾き込み、 ノ ケッ 卜のデータを RAM80のデータ領域に書き込むための処理を行う。
バケツ 卜分離回路 180は、 デ一夕領域に書き込まれるデ一夕のアドレス (先 頭アドレス) を指すデータポインタをパケッ ト整形回路 160に渡す。 データポ イン夕を渡されたバケツ ト整形回路 160は、 そのデータポインタをバケツ 卜の ヘッダに付加する (ffiめ込む) 。 そして、 データポインタが付加されたヘッダは、 図 13に示すようにヘッダ領域に格納され、そのデータポィンタが指すデータは、 データ領域に^納される。 この場合、 ヘッダやデータを, き込むアドレス WAD Rはバケツ 卜分離回路 180が允生することになる。
以上のようにすることで、 へッダ領域からへヅダを ,¾ίϊみ出したファームウェア などが、 そのへッダに対応するデータのデータ領域での格納ァドレスを容易に知 ることができるようになる。 また、 データポインタの付加は、 パケッ ト幣形回路 160により行われ、 DMAC44 (パケッ ト分離回路 180 ) はこれに 1 与す る必 がない。 従って、 DMAC 44が RAM80へのデ一夕, き込み処 に'、1 ί 念できるようになり、 D M A C 44の问路 成ゃ処 ίψ.を ίϊΐί^化できるようになる。 また、 本¾施形態では、 図 1 5に示すように、 受信パケッ トのス夕一卜 (へッ ダの^初) 、 ヘッダ、 デ一夕、 トレイラ一を区別するための TAGを生成し、 こ の TAGを受 パケッ トに関連づけている。 より具体的には、 図 14において、 リンクコア 20力 受信パケヅ 卜のスタート (ヘッダの最初)、 ヘッダ、 デ一夕、 トレイラ一を RDとして F I F034に転送する際に、 図 15に示す 2ビッ トの TAGも同 に F I F〇 34に出力する。 そして、 本実施形態では、 受信バケツ 卜に関連づけられたこの TAGを利川して、 図 12に示すように、 受信パケッ ト をヘッダとデータに分離しヘッダ領域とデ一夕領域に格納している。 より具体的 には、 図 14において、 DMA C 44のパケッ ト分離回路 180が、 受信パケヅ トと共に F I FO 34から出力される D TAG (二 TAG) を判別し、 この判別 結果に基づいて受信バケツトをヘッダとデータに分離し、 R AM 8 0に書き込ん でいる。 なお、 T A Gは、 少なくともヘッダとデータを区別できるものであれば よい。
例えば、 T A Gを利用せずに受信バケツ 卜のへッダとデータを分離する手法と して、 ヘッダに含まれる t c 0 d e (トランザクションコード) を利用する手法 が考えられる。 即ち、 t c 0 d eをデコードして、 ヘッダのサイズを調べ、 その サイズの分だけ受信パケットをへッダ領域に格納し、 残りをデータ領域に格納す る。
しかしながら、 この -法では、 t c 0 d eをデコードする回路が必要となり、 路が大規投化してしまう。
これに対して、 T A Gを利川すれば、 D MA C 4 4は、 T A Gを兄るだけで'受 信パケッ トをヘッダとデ一夕に分離できる。 従って、 回路をそれほど人 «投化す ることなく、 簡易な処 で受信バケツ卜のヘッダとデータを分離できるようにな る。
なお、 本実施形態では図 1 6に示すように、 R A M 8 0のへッダ領域を、 受信 川、 送信川の領域に分離することが望ましい。 また、 データ領域を、 受信川、 送 ^川の領域に分離したり、 アイソク口ナス転送川、 同期転送川の領域に分離す るようにしてもよい。 また、 ヘッダ領域とデータ領域の他に、 これらの ^域と分 離された C P U 6 6のワーク領域を設けることが望ましい。
更に、 R A M 8 0の記位領域が 数の領域に分離される場合には、 各領域のサ ィズを可変に制御することが望ましい。 より具体的には図 1 6に示すように、 各 颌域の境界のァドレスを指すポインタ P 1〜P 6を可変に制御する。 このように すれば、 アプリケーションに応じた最適な領域分割を実現できる。 この場合、 R A M 8 0の各領域のサイズは、 電源投入後もダイナミックに可変制御できること が望ましい。 このようにすれば、 受信処理の際には受信用の領域を広くし、 送信 処理の際には送信用の領域を広くすることが可能になり、 限られたリソースを有 効利 fflできるようになる。
また、 本実施形態では、 図 1 7 Aに示すように、 バスに接続される全てのノー ドに対して送信されたパケッ トか否かを示す BC (広義にはブロードキャスト情 報) を、 バケツ ト整形の際に、 バケツ トの例えばトレイラ一(広義には制御情報) に付加する。
即ち、 I E EE 1394の非同期転送では、 転送先のノードを指定するために パケヅ トに対して 16ビヅ 卜のデスティネーシヨン I D (De s t ID) を含ま せる。 そして、 図 17 Bに示すように、 リンクコア (リンク屑) は、 他ノード宛 のパケッ トについては上 j'3のファームウェア ( トランザクション層) に伝えない ようにする。 このようにすることで、 16ビッ トの De s t IDをデコードする などの無駄な処理をファームウェアが行うのを防止できる。
しかしながら、 パケヅ トに^まれる D e s t I Dが 0x 3 Fである ¾合には、 そのパケッ トは 5てのノードにブロードキャス トされたものになる。 従って、 リ ンクコアは、 そのパケッ トを上 のファームウェアに伝えることになる。 このた め、 結局、 ファームウェアは、 そのパケッ トの D e s t I Dをデコードして、 ブ ロードキャス 卜されたものか^かを判断しなければならなくなる。
そこで、 水^施形態では、 図 17 Cに示すように、 063 10が0 3 ?で ある ¾合には、 ブロードキャス 卜½¾である B Cを 1にする。 一方、 図 17Dに 示すように、 D e s t I Dが 0 X 3 Fでない場合には、 BCを 0にする。 このよ うにすれば、 ファームウェアは、 1ビッ トの B Cの を, ベるだけで、 そのパケ ッ トがブロードキャス トされたものか否かを判断できるようになる。 即ち、 ファ ームウェアは、 16ビッ トの D e s t I Dをデコードしなくても、 そのパケッ ト がブロードキャス トされたものか否かを判断できるようになる。 従って、 ファー ムウェアは D e s t I Dをデコードしなくてよくなり、 ファームウェアの処理 ft 担を軽減できる。 この結果、 システム全体の実転送速度を向上できるようになる。 また、 本実施形態では、 図 18 Aに示すように、 パケッ トの例えばへッダ一に エラ一があったか否かを示す H CE (広義にはエラーステータス情報) を、 パケ ッ 卜整形の際に、 バケツ 卜の例えばトレイラ一 (広義には制御情報) に付加する。 このようにすれば、 ファームウェアは、 1ビッ 卜の H CEの値を調べるだけで、 そのパケッ トにエラ一があったか否かを判断できるようになる。 即ち、 ファーム ウェアは、 3 2ビッ トのヘッダ C R Cをデコードしなくても、 そのパケッ トにェ ラーがあつたか否かを判断できるようになる。 この結果、 ファームウェアの処理 負担を軽減でき、 システム全体の実転送速度を向上できるようになる。
なお、 パケッ トにエラ一があると判断された場合には、 データ領域に書き込ま れた当該パケッ トのデ一夕を無効にすることが望ましい。 より具体的には、 図 1 8 Bにおいて、データ 3を含むバケツ 卜にエラ一があると判断された場合には(H C E二 1 ) 、 デ一夕ポインタ D Pを、 デ一夕 3が格納されている領域の先頭アド レスに戻す。 このようにすることで、 デ一夕領域でのデ一夕の迚続性を維持でき る。 即ち、 デ一夕頟域に、 正しいデ一夕のみを迚続して格納できるようになり、 アプリケーションソフ トがデータ領域から連続して正しいデ一夕を読み出すこと が可能になる。 また、 パケッ トにエラ一があったか否かをファームウェアが H C Eにより確認し、 ファームウェアが相手ノードに対してバケツ 卜の [ 送信を耍求 できるようになる。 このように本¾施形態によれば、 ファームウェアやアプリケ —シヨンソフ トの処理负担を '| 減でき、 システム全体の実転送速度を | j上できる ようになる。
なお、 エラ一ステータス情報としては、 ヘッダ C R Cエラーの他にも、 データ C R Cエラーなどを考えることもできる。
さて、 図 1 9に示すように、 セルフ I D期問においては、 バスに接続される仝 てのノードからセルフ I Dパケッ 卜が送られてくる。 そして、 各セルフ I Dパケ ッ 卜の笫 1クヮ ドレッ トは、ノード I Dなどの基本情報が含まれるデ一夕本体(ボ ディ) になっており、 第 2クヮ ドレッ トは、 第 1クヮ ドレヅ 卜の反転であるパリ ティ (エラーチェック情報) になっている (詳しくは、 図 4 A参照) 。
例えば図 8の構成のデータ転送制御装置では、 これらの一速のセルフ I Dパケ ッ トを図 2 O Aに示すように整形する。 即ち、 物理層のバケツ トであるセルフ I Dパケッ トに対して、 上層 (トランザクション層やアプリケーション層) にイン 夕一フェースするためのヘッダを付加するというバケツ 卜整形が行われる。 そし て、 整形されたバケツ トは、 C P U 9 1 2の口一カルメモリである R A M 9 1 4 に格納される。 しかしながら、 セルフ I Dバケツ 卜は、 ノード数に応じた個数だけ必要であり、 バスに 6 3個のノードが接続されると、 例えば最小で 6 3個のセルフ I Dバケツ トを保持する必要がある。 即ち、 セルフ I Dパケッ トの個数は、 通常、 非常に多 い。 従って、 これらのセルフ I Dパケッ トにヘッダを付加し、 そのまま R A Mに 格納すると、 R A Mの空き容量が圧迫されてしまい、 各ノードのリソースを有効 利用できなくなってしまう。 また、 それそれのセルフ I Dパケッ トを受け取る毎 に、 ファームウェアは必要な処理を行わなければならない。 従ってセルフ I Dパ ケッ 卜の個数が増加すると、 ファームウェアの処理负担が¾加する。 更に、 セル フ I D it)]!?',]が終了した後、 即ちバスリセッ トが発生してから最初のァ一ビトレ一 シヨン · リセッ ト · ギャップが ¾生した後には、 その受け取ったセルフ I Dパケ ッ 卜の整形作 が必^になる。従って、 セルフ I Dバケツ 卜の個数が ¾加すると、 この整形作業の処 も増加する。
そこで、 本実施形態では図 2 0 Bに示すように、 転送されてくる一迚のパケッ トを、 ヘッダ (広^には制御 ½報) と、 一連のセルフ I Dパケッ トからなるデ一 夕とによりフレームが構成されるパケッ トに整形している。 つまり、 一速のセル フ I Dバケツ トを 1つにパッケージングし、 このパッケージングされたものに 1 つのヘッダを付加し、 上屑にィン夕一フヱ一スしている。
このようにすることで、 本実施形態では、 パケッ ト,记憶:丁-段である R A M (図 6の R A M 8 0 ) の空き容 Sが圧迫される τ 態を効果的に解消することに成功し ている。 また、 本実施形態では、 セルフ I Dパケッ トが Ν個あった場合にも、 整 形後のパケッ 卜は 1籠になる。 従って、 整形後のバケツ 卜を R A Mから み出す ためには、 1回のパケッ ト読み出しを行えば济むようになる。 従って、 ファーム ウェアなどの処理] ¾担を格段に軽減できる。
更に本実施形態では、 図 2 0 Bに示すように、 セルフ I D期問に受信したパケ ッ トか否かを示すステータス情報である B Rを、 パケッ トのトレイラ一 (広義に は制御情報) に付加している。
即ち、 図 4 A〜図 4 Dに示すように、 物理層が扱う P H Yパケッ トには、 セル フ I Dバケツ 卜の他にリンクォンバケツ 卜と P H Y構成バケツ 卜がある。 そして 本実施形態では、 セルフ I Dパケッ トと他の PHYパケッ ト (リンクオンバケツ ト、 PHY構成パケッ ト) とをファームウェアなどが容易に区別できることが望 ましい。 セルフ I Dパケッ トにはデ一夕ポインタなどが付加されており、 セルフ I Dバケツ トと他の PHYバケツ トとではファームウェアの取り扱いが異なった ものになるからである。
ところが、 バケツ 卜の極類を区別するための情報として I EEE 1394にお いて規格化されている t c 0 d eを用いても、 処理対象となるパケッ トが、 PH Yバケツ 卜の中のどのバケツ 卜なのかを区別できない。
本突施形態によれば、 図 20 Bに示すようにパケッ トのトレイラ一に、 セルフ I D期 jに受 ί, したバケツ トか かを示す BRが付加される。 このため、 セルフ I Dバケツ 卜と他の ΡΗΥバケツ 卜とをファームウェア等が容易に区別できるよ うになり、 処理 を ^減できる ο
なお、 本実施形態では、 セルフ I Dバケツ 卜の第 2クヮ ドレヅ トのパリティを 削除し、 このパリティが 余されたセルフ I Dパケッ ト (セルフ IDパケッ トの デ一夕本体) の並びにより、 整形後のバケツ トのデ一夕部分を構成するようにす ることが ¾ましい。 このようにすることで、 整形後のパケッ トのサイズを、 ノ リ ティを削除しない場合に比べて - -分程度にすることができ、 セルフ I Dパケッ ト の記位に必要な RAMの使川 ¾ を更に節約できる。
さて、 図 1 Αで説明したように、 非同期転送でデスティネーションノードがパ ケヅ トを受信すると、 デスティネーション (転送先) ノードはソース (転送元) ノードに対して ACKを返す。 その一方で、 デスティネーションノードのリンク コアは、 受信したパケッ トに対して、 ソースノードに返した ACKを付加する。 これにより、 ソースノードに返した ACKをファームウェアなどの上層に伝える ことができる。 より具体的には、 図 14のバケツ 卜整形回路 160が、 図 2 1 A に示すようにトレイラ一に ACKを付加する。 この ACKは 4ビッ 卜のコードで あり、 このコードにより、 ァクノリッジコンプリート、 ァクノリッジペンディン グ、 ァクノリッジビジー、 ァクノ リッジエラーなどの状態を知ることができる。 しかしながら、 図 2 1 Aでは、 バケツ ト整形の際に、 時系列で後ろ側にある 卜 レイラ一に ACKが付加され、 RAMにおいても、 ヘッダの後ろ側に ACKが書 き込まれる。 従って、 ファームウェアが AC Kを確認する場合には以下のような 処理を行わなければならない。 即ち、 まずファームウェアは、 へヅダの先頭側に ある 4ビットの t c 0 d eをデコードし、 ヘッダのサイズを調べる。 そして、 そ のヘッダのサイズに基づき ACK (トレイラ一)が格納されるァドレスを算出し、 ACKを読み出す。 従って、 ファームウェアが ACKを確認するための処理は ft 荷が重く、 システム全体の突転送速度の向上の妨げとなる。 特に、 ァクノリヅジ エラーの場合などは、 A C Kを確認するために行った処 i が全て無駄なものにな つてしまう。
そこで、 施形態では、 図 2 1 Βに示すように、 パケッ ト整形において時系 列でバケツ 卜の後ろ側に付加された A C Κなどの所与の' h 報を、 R A Mにおいて、 パケットのへヅダの先頭側 (例えば先頭の第 1クヮドレット) に き込むように してもよい。 このようにすれば、 ファームウェアは、 t c odeをデコードする ことなく、 A C Kなどの所^の ' 報を確認できるようになる。 A C K等がへッダ の先頭側に^納されており、 ヘッダのサイズなどを t c o d eで調べる必要がな いからである。
なお、 ヘッダ長 (ヘッダのサイズ) を固定にし、 A CKなどの所^の' ' をへ ッダ領域に き込むようにしてもよい。 このようにヘッダ長を il定にすれば、 へ ッダ領域中の任意の固定長ヘッダの任意のクヮドレツ 卜に ACKなどの所与の ' 報を格納したとしても、 ファームウェアは、 上記所与の情報に ΠΪ易にアクセスで きるようになるからである。 また、 この場合に、 ヘッダ領域中の任意の固定長へ ッダの先頭クヮドレツ 卜又は最終クヮドレットに、 上記所与の情報を格納するこ とが更に望ましい。 このようにすれば、 固定長ヘッダの先頭又は最終クヮドレツ ト以外に上記所与の情報を格納する場合に比べて、 ヘッダ内のデータの連続性を 維持できるからである。
また、 上記所与の情報としては、 A C K (ソースノードに返したァクノリッジ メント情報) 以外にも、 s pd (デ一夕転送の速度を特定するためのスピードコ ード情報) 、 BC (バスに接続される全てのノードに対して送信されたパケット か否かを示すブロードキャス ト情報) 、 BR (セルフ I D期間に受信したパケッ 卜か否かを示す情報) 、 HCE (パケットにエラーがあつたか否かを示すエラー ステータス情報) など、 種々のものを考えることができる。
3. 2 構成
図 22に、 リンクコア 20、 F I FO 34 D MA C 44の詳細な構成の一例 を示す。
リンクコア 20は、 バス監視回路 130、 直列 ·並列変換回路 132、 バケツ ト整形回路 160を含む。 そして、 バケツ ト整形回路 160は、 バケツト診断回 路 142、 シーケンサ 167、 ノ ソファ 168、 セレクタ 170を含み、 パケヅ ト診断回路 142は、 TAG生成回路 162、 ヘッダ &トレイラ一生成回路 16
4、 エラ一チェック回路 166を含む。
ここで、 バス監視回路 130は、 PHYイン夕一フェース 10を介して PHY チップに接続される 8ビヅト幅のデ一夕バス D、 2ビヅ ト幅のコントロ一ルバス CTLを監視する回路である。
直列 ·並列変換 路 132は、 デ一夕バス Dのデータを 32ビヅ トのデ一夕に 変換する回路である。 例えば、 転送速度が 40 OMbp sの場合には 8ビッ トの データが 32ビッ 卜のデ一夕に、 20 OMbp sの場合には 4ビッ 卜のデ一夕が
32ビッ トのデ一夕に、 100Mbp sの 合には 2ビッ トのデ一夕が 32ビッ トのデ一夕に変換される。
バケツ 卜診断回路 142は、 バケツ 卜の診断を行う回路である。 TAG生成回 路 162は、 ヘッダ、 デ一夕、 トレイラ一などを区別するための TAGを生成す る回路であり、ヘッダ &トレイラ一生成回路 164は、ヘッダ及びトレイラ一(フ ッ夕一) を生成する回路である。 また、 エラ一チェック回路 166は、 パケット に含まれるパリティなどのエラーチェック情報をチェックしてエラ一を検出する 回路である。
シーケンサ 167は各種の制御信号を生成するものである。 バッファ 168、 セレクタ 170は、 直列 ·並列変換回路 132からの D I、 パケッ ト診断回路 1
42からのヘッダ及びトレイラ一、 DMAC44からのデータポィン夕のいずれ かを、 バケツ 卜診断回路 142からの信号 S E Lにより選択するためのものであ る。
F I FO 34は、 リンコア 20からの出力デ一夕である RDの位相と、 RAM 80への書き込みデ一夕である WDATAの位相とを調整するためのバッファと して機能するものであり、 F I FO状態判断回路 35を含む。 F I FO状態判断 回路 35は、 F I FOが空になると、 EMPTYをアクティブにし、 F I FOが フルになると、 FUL Lをアクティブにする。
DMAC44 (¾き込み手段) は、 パケット分離回路 180、 アクセス要求突 行回路 1 90、 アクセス要求 ¾生回路 192を含む。
パケッ ト分離回路 180は、 パケッ 卜整形回路 160により ' 形されたパケヅ 卜を分離して、 ヘッダ及び卜レイラ一を RAM80のヘッダ領域に、 デ一夕をデ —夕領域に き込むための回路である (図 12参照) 。 バケツト分離回路 180 は、 T A G判別回路 182、 ポインタ更新回路 184、 アドレス発生回路 188 を含む。
TAG判別回路 182は、 TAG生成回路 1 62により生成された T A G (D TAG) を判別する回路である。
ポインタ更新回路 184は、 TAG判別回路 1 82の出力を受け、 R A M 80 にヘッダゃデ—夕を^き込むためのヘッダポインタ(広 には制御 ^報ポインタ) やデータポィン夕を更新するための回路である。
アドレス発生回路 188は、 ポインタ更新回路 184の出力を受け、 RAM 8 0への書き込みァドレス WAD Rを発生する回路である。
アクセス要求実行回路 190は、 リンクコア 20からのアクセス要求を実行す るための回路である。 アクセス要求実行回路 190は、 F I FO状態判断回路 3 5からの FUL Lがアクティブになると、 FFULLをアクティブにする。 パケ ット整形回路 160内のシーケンサ 167は、 FFULLがアクティブでないこ とを条件に、 RD (RxD a t a) のストローブ信号である RD Sをアクティブ にする。
なお RF A I Lは、 受信における失敗を、 シーケンサ 167がアクセス要求実 行回路 190に対して知らせるための信号である。
アクセス要求発生回路 192は、 RAM 80へのアクセス耍求を発生するため の回路である。 アクセス要求究生回路 192は、 バッファマネージャ 70からの 書き込みァクノリッジメントである WACKや F I FO状態判断回路 35からの EMPTYを受け、 書き込み要求である WREQをバッファマネージャ 70に出 力する。
3. 3 受信側の動作
次に、 本実施形態の励作の, 1 細について図 23のタイミング波形図などを用い て説明する。
まず、 リンクコア 20の ¾ί乍について説 HJjする。
PHYチップを介して他のノードからのバケツ 卜を受信すると、 バケツト診断 回路 142がそのパケッ トを 断する。 そして、 ヘッダ &トレイラ一生成回路 1 64がヘッダを生成 (整形) する。 このヘッダは、 ノ ソファ 168を介してセレ クタ 170に入力され、 パケッ 卜診断回路 142からの信^ S E Lに基づきセレ クタ 170がこのヘッダを選択する。 これにより、 図 23の A 1に示すように、 RDとしてヘッダ (H0〜H4) が F I F〇34に出力されることになる。 なお、 I ] 24 Aに、 シリアルバス ヒで転送される非同期パケットのフォーマツ ト ( I E E E 1394規¾) を示す。 一方、 図 24 Bに、 R AM 80のへッダ領 域に格納される非同朋受信バケツ卜のヘッダ部分のフォーマツトを示す (同図に おいて網掛けとなっている部分が卜レイラ一である) 。 このように本実施形態で は、 図 24 Aに示すフォーマットのパケッ トを、 ファームウェアなどの上層が使 用できるように、 図 24 Bに示すフォーマツ卜のバケツ 卜に整形している。 また本実施形態では、 へッダの第 4クヮドレッ トである H4 (図 23の A2) は、 図 24 Bに示すようにデ一夕領域からデータを取り出すためのデータポィン 夕になっている。 このデ一夕ポインタ (H4) は、 DMAC44 (ポインタ更新 回路 184) からバッファ 168を介してセレクタ 170に入力され、 セレクタ 170がこれを選択する。 このように、 パケッ ト整形回路 160は、 DMAC4 4からデ一夕ポインタを受け取り、 そのデ一夕ポインタを、 RAM80に書き込 まれるヘッダに埋め込んでいる。
次に、 PHYチップから、 デ一夕バス Dを介してパケッ トのデ一夕部分が送ら れてくる。 直列 ·並列変換回路 132は、 このデ一夕部分を 32ビッ トのデ一夕 である D Iに変換し、 バケツ ト診断回路 142及びバッファ 168に出力する。 なお、 D I Eは、 D Iが有効か無効かを示す信号であり、 D I Sは、 D Iの取 り込みタイ ミングを知らせるためのス トロ一ブ信号である。
直列 ·並列変換回路 132からの D Iは、 バッファ 168を介してセレクタ 1 70に入力され、 セレクタ 170がこれを選択する。 これにより、 A 3に示すよ うに、 RDとしてデータ D 0〜Dnが F I F034に出力される。
次に、 へッダ&トレィラ一生成回路 164からのトレイラ一がバッファ 168 を介してセレクタ 170に入力され、 セレクタ 170がこれを選択する。 これに より、 A 4に示すように、 R Dとして トレイラ一 ( H 5。 図 24 Bの網掛け部分) が F I FO 34に出力される。
さて、 TAG生成回路 162は、 RDとして出力される ' を区別するための TAGを生成している。 本突施形態では図 15に示すように TAGは 2ビヅ 卜で あり、 (00) 、 (0 1 ) 、 ( 10) 、 ( 1 1 ) は、 各々、 ヘッダ、 卜レイラ一、 デ一夕、 スタート (ヘッグの^初) を^す。 従って、 例えば図 23では、 ( 1 1) 、 (00) 、 ···、 ( 10) 、 ···、 ( 01 ) というように T AGが変化する。 F I F034には、 この 2ビッ 卜の TAGと 32ビッ 卜の RDとからなる 34ビッ 卜 のデ一夕が人力されることになる。
次に、 F I FO 34の勤作について説明する。
F I F034は、 リンクコア 20からの TAG、 RDを受け、 A 5、 A 6に示 すように、 DTAG、 WD AT Aとして出力する。
F I FO 34内の F I FO状態判断回路 35は、 内蔵するカウン夕一により、 F I FO 34のデ一夕数 (F I FOカウン ト) をカウントする。 そして、 F I F 034がフル (データ数 =2) になった場合には、 図 23の A7に示すように F ULLをァクティブ (Hレベル) にする。 また、 F I FO 34が空 (デ一夕数 = 0) になった場合には、 A 8に示すように EMP TYをアクティブにする。 F I FO 34がフルになったことは、 FULL、 FFULLにより、 DMAC44内 のアクセス要求実行回路 190やリンクコア 20内のシーケンサ 167に伝えら れる。 また、 F I FO 34が空になったことは、 EMPTYにより、 DMAC4 4内のアクセス要求 ¾生回路 192に伝えられる。
次に、 DMAC 44の勁作について説明する。
アクセス要求究生回路 192は、 A 9に示すように EMP T Yが非ァクティブ (Lレベル) になったこと (F I FO 34が空でないこと) を条件に、 A 10に 示すように WR E Qをアクティブにする。 そして、 ノ ッファマネージャ 70から WACKを受け取ると、 WRE Qを非ァクティブにする。
さて、 本 JC施形態では、 受 i 時のバス調停においては、 DMAC44からのァ クセス^求の優先顺位を Sも高く している。 従って、 A 10、 A l lに示すよう に、 DMAC44からの WREQと、 C P Uイン夕一フェース 60やポート川の DMAC 54からの Ot he r WR E Qとが競合した場合には、 WREQの方が 優先する。 即ち、 A 12、 A 13に示すように、 WACKの方が◦ t he r WA CKよりも先にアクティブになる。 このように、 WREQと Ot he rWREQ が競 した場合に、 WRE Qの方を優先させるのは、 以下の理由による。 即ち、 I EEE 1394では、 S C S Iなどとは なり、 他のノードからのパケッ トが 転送クロックに同期して次々に 'fc送されてくる。 従って、 これらの I 断なく転送 されてくるパケッ 卜を優先して RAM 80に次々に洛納する必要があるからであ る。
また、 本実施形態では、 CPUイン夕一フェース 60やポート fflの DMAC 5 4からのアクセス要求をバッファマネージャ 70が受け付けている問は、 A 14 に示すように、 DMAC 44のアクセス要求は所与の期「iS1だけ待たされる。 従つ て、 リンクコア 20からの RDと、 バッファマネージャ 70への WD AT Aとは 同期しない。 この理由により、 本実施形態では、 RDと WDATAの位祀を調整 するための F I FO 34を設けている。 この場合、 F I FO 34は、 位相調整の ために必要な最低限の段数 (好ましくは 3段以下、 更に好ましくは 2段以下) を 備えていればよい。 バケツ ト分離回路 180に含まれる TAG判別回路 182は、 WDATAと共 に F I F〇 34から出力される DT AGを判別し、 WDATAが、 スタート (へ ッダの最初) 、 ヘッダ、 デ一夕、 トレイラ一のいずれなのかを判定する。 そして、 ポインタ更新回路 184は、 この判定結果に基づいて、 ヘッダポインタゃデ一夕 ポインタの更新を行う。 次に、 アドレス発生回路 188は、 更新されたヘッダポ ィン夕ゃデ一夕ポインタに基づいて、 WDATAの窗き込みァドレスである WA DRを允生する。
より具体的には、 例えば、 WDATAがス夕一卜又はヘッダであると D TAG に Sづき判定された場合は、 ポインタ IH新回路 184力 図 25 Aに示すように、 へ'ソダポインタ HPのインクリメン ト (広義には Hi新) を行う。 そして、 ァドレ ス允生问路 188は、 図 23の A 15に示すように、 インクリメン トされるへ'ソ ダボイン夕に応じた WAD Rを発生する。
次に、 WDATAがデータであると D TAGに づき判定された場合は、 ポィ ン夕 31斩回路 184力 図 25 Bに示すように、 デ一夕ポインタ D Pのインクリ メントを行う。 このデ一夕ポインタ D Pは、 パケッ ト整形回路 160によりへッ ダの笫 4クヮ ドレツ 卜に ¾め込まれた H4に ffl当する。 ァドレス ¾生回路 188 は、 図 23の A 1 6に すように、 インクリメン トされるデータポインタに応じ た WAD Rを g生する。
次に、 WDATAがトレイラ一であると 0丁八0に¾づき判定された場合は、 ポインタ更新回路 184が、 図 25 Cに示すように、 ヘッダポインタのインクリ メントを行う。 そして、 ァドレス発生回路 188は、 図 23の A 17に示すよう に、 インクリメン卜されるヘッダボイン夕に応じた WADRを発生する。
なお、 最終的には図 25 Dに示すように、 ヘッダポインタは、 処理対象となつ たパケッ トのへッダ部分の下側の境界(次のパケッ 卜のへヅダ部分の上侧の境界) を指すようになる。 また、 デ一夕ポインタは、 パケッ トのデータ部分の下側の境 界 (次のパケッ トのデータ部分の上側の境界) を指すようになる。 ヘッダポイン 夕やデータポインタの最終位置は、 受信に失敗がなかった (RFAI Lが非ァク ティブ) ことを条件に、 図 6のレジス夕 46内のヘッグポインタ設定レジス夕や デ一夕ボイン夕設定レジス夕にリストァされる。
以上のようにして、 バケツトを分離してヘッダ領域とデ一夕領域に書き込むこ とが可能になる。
なお、 へッダ領域とデータ領域の境界などの、 R A M 8 0を分離する領域の境 界 (図 1 6の P 1〜P 6 ) の設定は、 C P Uインターフェース 6 0を介して C P U 6 6 (ファームウェア等) せ、 図 6のレジス夕 4 6に含まれるポィン夕設定レ ジス夕に対して、 境界のァドレスを指すポィン夕を設定することで実現される。 また、 データ領域が複数の領域に分離される場合 (例えば図 1 6に示すように ァイソクロナス転送川と非同期転送用の領域に分離される場合、 或いは第 1、 第 2の非同期転送川の領域に分離される場合等) には、 例えば t c o d eなどのパ ケッ卜の制御 ί報に Afeづき、 分離された複数の領域のいずれかにバケツ卜のデ一 夕を書き込むようにすることが望ましい。
より具体的には、 図 2 2に示すように、 D MA C 4 4が、 複数のデ一夕ポイン 夕、 冽えば第 1、 2のデータボイン夕をパケット整形回路 1 6 0に対して渡す ようにする (3個以上のデ一夕ポインタを渡してもよい) 。 そして、 パケット整 形回路 1 6 0は、 例えば、 アイソク口ナス転送時 (或いは第 2の非 fr ]期転送時) には D M A C 4 4からの第 1のデータポインタを選択し、 非同転送時 (成いは第 1の非同期転送時) には D M A C 4 4からの第 2のデータポィン夕を選択するよ うにする。 即ち、 パケッ ト整形回路 1 6 0内のパケッ ト診断回路 1 4 2力 t c o d eなどのパケットの制御情報に基づいて、 アイソク口ナス転送か非 ίΠΙ Π転送 か (或いは第 2の非同期転送か第 1の非同期転送か) を判別し、 この判別結果に 基づき信号 S E Lを制御する。 そして、 バッファ 1 6 8を介してセレクタ 1 7 0 に入力される第 1、 第 2のデータポインタのいずれかを選択するようにする。 こ れにより、 ァイソクロナス転送 (或いは第 2の非同期転送) のパケッ トには第 1 のデ一夕ポインタが埋め込まれ、 非同期転送 (或いは第 1の非同期転送) のパケ ットには第 2のデータポインタが埋め込まれるようになる。 この結果、 デ一夕領 域を分離する特定の領域に、連続的にデータを格納することが可能になる。即ち、 デジタルカメラにおける動画像デ一夕をァイソクロナス転送/]]データ領域に連続 的に格納したり、 プリン夕における印字デ一夕を第 2の非同期転送用データ領域 に連続的に格納したりすること (第 1の非同期転送 fflデータ領域にはコマンドデ —夕、 ステータスデ一夕などの制御用データを格納する) が可能になる。
また、 本実施形態では図 24 Bに示すように、 へッダの後ろ側に、 s p d (デ 一夕転送の速度を特定するためのスピードコード情報) 、 BC (バスに接続され る全てのノードに対して送信されたバケツ トか否かを示すブロードキャス ト情 報) 、 HCE (バケツ 卜にエラ一があったか否かを示すエラ一ステータス' h報) 、 ACK (ソースノードに返したァクノ リヅジメント が付加される。 これら の spd、 BC、 HCE、 ACKは、 図 22のリンクコア 20内のヘッダ &トレ ィラ一 -成 I 路 1 64により 成され、 ノ ソファ 1 68、 セレクタ 170の機能 により付加される。
また、 図 22のエラーチェヅク回路 166は、 受信パケヅ 卜のへッダー C R C をチェックし、 受信パケッ トのヘッダにエラ一があった場合には、 HCEを 1に 設定する。 そして、 HCEが 1になると、 RF A I Lがアクティブになる。 そし て、 RFA I Lがアクティブになると、 デ一夕ポインタの 終位 (図 25 Dの H4+ (n+ 1 ) ) は、 図 6のレジス夕 46内のデータポインタ設定レジスタに リス トアされない。 これにより、 図 18Bで説明した、 デ一夕ポインタ DPをノ ΐ に Κしデ一夕 3を無効にする処理が実現される。
また、 図 26 Αに、 パケッ トがセルフ I Dパケッ トである場合に、 RAM80 のヘッダ領域に格納されるヘッダ部分のフォーマッ トを示し、 図 26Bに、 パケ ヅ 卜がセルフ IDバケツ ト以外の PHYパケヅ トである場合に、 ヘッダ領域に格 納されるヘッダ部分のフォーマツ トを示す。
バケツ 卜がセルフ I D期問中のセルフ I Dパケヅ 卜である場合には、 図 26 A に示すように、 セルフ I D期問に受信したバケツ トか否かを示す情報である BR が 1となる。 一方、 セルフ I D 0間外のリンクオンパケッ トや PHY構成バケツ トである場合には、 図 26 Bに示すように BRが 0になる。 このようにすること で、 t c 0 d eが同じ 0 X Eであっても、 ファームウェアはこれらのパケヅ 卜を 区別できるようになる。 なお、 図 24B、 図 26A、 図 26Bでは、 s pd、 B C、 HCE、 ACK、 BRを、 ヘッダの後ろ侧に付加しているが、 図 2 1 Bで説明したように、 これら の spd、 BC、 HCE、 ACK、 BRを、 ヘッダの先頭側に付加するようにし てもよい。
4. ; 子機器
次に、本実施形態のデータ転送制御装置を含む ¾子機器の例について説明する。 例えば図 27 Aに' 子機器の 1つであるプリン夕の内部ブロック図を示し、 図 28 Aにその外 |¾図を示す。 CPU (マイクロコンピュー夕) 5 10はシステム 全体の制御などを行う。 操作部 5 1 1はプリン夕をユーザが操作するためのもの である。 ROM5 16には、 制御プログラム、 フォン トなどが格納され、 RAM 5 18は CPU 5 10のワーク領域として機能する。 ^示パネル 5 19はプリン 夕の勋作状態をユーザに知らせるためのものである。
PHYチップ502、 データ転送制御装; 500を介して、 パーソナルコンビ ュ一夕などの他のノードから送られてきた印字デ一夕は、 バス 504を介して印 字処理部 5 12に ifi接送られる。 そして、 印字デ一夕は、 印字処 ¾部 5 12にて 所与の処 が施され、 プリン卜ヘッダなどからなる印字部 (デ一夕を出力するた めの ¾ ) 5 14により紙に印卞されて出力される。
1¾27 Bに lTf機器の 1つであるスキャナの内部ブロック図を示し、 図 28 B にその外観図を示す。 CPU 520はシステム全体の制御などを行う。 操作部 5 2 1はスキャナをユーザが操作するためのものである。 ROM 526には制御プ ログラムなどが格納され、 RAM 528は CPU 520のワーク領域として機能 する。
光源、光電変換器などからなる画像 み取り部(デ一夕を取り込むための装置) 522により原稿の画像が読み取られ、 読み取られた画像のデータは画像処理部 524により処理される。 そして、 処理後の画像データがバス 505を介してデ 一夕転送制御装置 500に直接送られる。 データ転送制御装置 500は、 この画 像デ一夕にヘッダなどを付加することでパケッ 卜を生成し、 11¥チヅプ502 を介してパーソナルコンピュータなどの他のノードに送信する。 図 27 Cに電子機器の 1つである CD— Rドライブの内部プロック図を示し、 図 28 Cにその外観図を示す。 CPU 530はシステム全休の制御などを行う。 操作部 53 1は CD— Rをユーザが操作するためのものである。 ROM 536に は制御プログラムなどが格納され、 RAM 538は CPU 530のワーク領域と して機能する。
レーザ、 モ一夕、 光学系などからなる読み取り &書き込み部 (デ一夕を取り込 むための装置又はデ一夕を記憶するための装置) 533により CD— R 532か ら読み取られたデータは、 信号処理部 534に入力され、 エラー訂正処理などの 所与の信 処理が施される。 そして、 信号処 ί が施されたデータが、 バス 506 を介してデータ転送制御装^ 500に ifi接送られる。 データ転送制御装; 500 は、 このデ一夕にヘッダなどを付加することでパケッ トを生成し、 PHYチップ 502を介してパーソナルコンピュータなどの他のノードに送信する。
一方、 ?1!丫チップ502、 データ転送制御装^ 500を介して、 他のノード から送られてきたデ一夕は、 バス 506を介して信号処理部 534に :接送られ る。 そして、 ^号処理部 534によりこのデータに所与の信 ¾処现が施され、 み取り き込み部 533により CD— R 532に記憶される。
なお、 図 27 A、 図 27 B、 図 27 Cにおいて、 CPU 5 1 0、 5 20、 53 0の他に、 デ一夕 送制御装^ 500でのデ一夕転送制御のための CPUを別に 設けるようにしてもよい。
本実施形態のデータ転送制御装 [1を ¾子機器に用いることで、 ^速なデ一夕転 送が可能になる。 従って、 ユーザがパーソナルコンピュータなどによりプリント アウトの指示を行つた場合に、 少ないタイムラグで印字が完了するようになる。 また、 スキャナへの画像取り込みの指示の後に、 少ないタイムラグで読み取り画 像をユーザは見ることができるようになる。 また、 CD— Rからのデ一夕の読み 取りや、 CD— Rへのデ一夕の書き込みを高速に行うことができるようになる。 更に、 ί列えば 1つのホストシステムに複数の電子機器を接続して利用したり、 複 数のホス卜システムに複数の電子機器を接続して利用したりすることも容易にな る。 また本実施形態のデ一夕転送制御装置を電子機器に用いることで、 C P U上で 動作するファームゥヱァの処理負荷が軽減され、 安価な C P Uや低速のノ スを用 いることが可能になる。 更に、 データ転送制御装置の低コスト化、 小規模化を図 れるため、 電子機器の低コスト化、 小規模化も図れるようになる。
なお本実施形態のデータ転送制御装 isを適用できる^子機器としては、 上記以 外にも例えば、 種々の光ディスクドライブ (C D R O M、 D V D ) 、 光磁気ディ スクドライブ(M O ) 、 ハードディスクドライブ、 T V、 V T R、 ビデオカメラ、 オーディオ機器、 ¾話機、 プロジェクタ、 パーソナルコンピュータ、 電子手帳、 ヮードプロセッサなど極々のものを考えることができる。
なお、 ィ、 %叨は本 施形態に限定されず、 水 iiJJの^ の萜囲内で 々の変形 ' 施が可能である。
例えば、 本 ¾明のデータ転送制御装^の構成は、 図 6に す構成が特に ¾まし いが、 これに限定されるものではない。 特に、 ブロードキャスト やエラ一ス テ一夕ス ½報や ΰ己識別期 i?yに受信したパケツ トか否かを示す ½報を、 バケツ ト の制御^報に付加する究 Iリ]や、 時系列で後ろ侧にある所与の佶報をパケットの制 御恬 の先^側に ¾き込む允 il刀では、 図 6のみならず、 図 8などの砘々の構成を
} 川することができる。
また、 本允明は、 I Ε Ε Ε 1 3 9 4規格でのデータ 送に適用されることが特 に望ましい力 これに限定されるものではない。 例えば I E E E 1 3 9 4と同様 の思想に^づく規格や I E E E 1 3 9 4を允展させた規格におけるデ一夕転送に も本¾明は適用できる。

Claims

請 求 の 範 囲
1 . バスに接続される複数のノード間でのデ一夕転送のためのデータ転送制御装 置であって、
各ノードから転送されてきたパケットを上層が使用できるように整形するパケ ッ 卜整形手段と、
整形されたパケッ卜の制御情報をランダムアクセス可能な記憶手段の制御情報 領域に害き込み、 整形されたバケツ 卜のデータを前記記憶手段のデータ領域に富 き込むバケツト分離手段とを含み、
前記バケツト分離手段が、
前記デ一夕領域に T き込まれるデータのァドレスを指すデータボイン夕を前 バケツ卜整形]^段に渡し、
前記バケツト整形手段が、
前記バケツト分離平段から渡された前記データポィン夕をバケツ 卜の制御 '報 に付加することを特徴とするデ一夕転送制御装置。
2 . 求頃 1において、
前記バケツト整形手段が、
パケヅトの少なくとも制御情報とデ一夕を区別するための夕グ情報を生成する と共に、 ^成された該夕グ ¾報をバケツ 卜に関連づけ、
前記バケツト分離手段が、
バケツ卜に関連づけられた前記タグ情報に基づいて、 パケッ卜の制御 ' 银を前 記制御情報領域に書き込み、 バケツトのデ一夕を前記デ一夕領域に書き込むこと を特徴とするデータ転送制御装置。
3 . 請求項 2において、
前記バケツト分離手段が、
バケツ卜の制御情報が書き込まれていると、 パケッ 卜に関連づけられた前記夕 グ情報に基づき判断した場合には、 前記制御情報領域に書き込まれる制御愔報の アドレスを指す制御情報ポインタを更新し、 バケツ トのデ一夕が書き込まれてい ると、 前記タグ情報に基づき判断した場合には、 前記デ一夕領域に書き込まれる データのアドレスを指すデータポインタを更新することを特徴とするデ一夕転送 制御装置。
4 . バスに接続される複数のノード間でのデータ転送のためのデ一夕転送制御装 置であって、
各ノードから転送されてきたバケツ卜を上層が使用できるように整形するパケ ッ ト整形手段と、
整形されたバケツトを記憶手段に窗き込む^き込み手段とを含み、
前記バケツ ト整形丁-段が、
バスに接続される全てのノードに対して送信されたパケッ トか否かを示すブ口 ードキャス卜 ti'i報を、 パケッ トの制御 :银に付加することを特徴とするデータ転 送制御装 i 。
5 . バスに接 される複数のノード問でのデータ転送のためのデ一夕転送制御装 置であって、
各ノードから 送されてきたパケットを上 J が使用できるように整形するパケ ット整形手段と、
整形されたバケツ卜を記憶手段に ¾き込む ¾き込み手段とを含み、
前記バケツト幣形 段が、
バケツ 卜にエラ一があったか否かを示すエラーステータス ' 報を、 バケツ 卜の 制御情報に付加することを特徴とするデータ転送制御装置。
6 . 詰求 ¾1 5において、
整形されたパケッ卜の制御情報を前記記憶手段の制御情報領域に書き込み、 整 形されたバケツトのデ一夕を前記記憶手段のデータ領域に害き込むバケツ ト分離 手段を含み、
バケツ卜にエラーがあると判断された場合には、 前記データ領域に書き込まれ た該パケッ トのデータを無効にすることを特徴とするデータ転送制御装置。
7 . バスに接続される複数のノード問でのデ一夕転送のためのデ一夕転送制御装 置であって、
各ノードから転送されてきたパケッ トを上層が使用できるように整形するパケ ット整形手段と、
整形されたバケツ卜を記憶手段に書き込む書き込み手段とを含み、
前記バケツ 卜整形手段が、
自己識別期[¾に受信したバケツ 卜か否かを示す情報を、 バケツ卜の制御^報に 付加することを特徴とするデータ転送制御装置。
8 . バスに接続される ¾数のノード間でのデ一夕転送のためのデ一夕転送制御装 匿であって、
各ノードから転送されてきたパケットを上^が使川できるように整形するパケ ット整形 段と、
整形されたバケツ 卜を, fflte ^段に^き込む き込み 段とを含み、
前記バケツト整形 ^段が、
各ノードから転送されてきたパケッ トに対して 系列で後ろ侧に所 'i-の ' 報を 付加し、
前記 き込み手段が、
前記所^の ' 裉を、 ι½記■¾ til ^段においてパケッ トの制御 ½银の先 ^侧に , ίίき 込むことを特徴とするデ一夕転送制御装 。
9 . 求項 8において、
¾記所 の ½報が、
バケツ卜の転送元に返したァクノリッジメン卜' ' 、 デ一夕転送の速度を特定 するためのスピードコード' 報、 バスに接続される全てのノードに対して送信さ れたパケヅトか否かを示すブロードキャスト佶報、 ί I己識別期問に受 ί3したパケ ットか否かを示す情報、 及びバケツ卜にエラーがあつたか否かを示すエラーステ —タス情報の少なくとも 1つであることを特徴とするデータ転送制御装置。
1 0 . 諳求項 1において、
後段のアプリケーションに接続される第 1のバスと、
該デ一夕転送制御装置をコントロールする第 2のバスと、
物理層のデバイスに電気的に接続される第 3のバスと、
前記記憶手段に電気的に接続される第 4のバスと、 前記第 1、 第 2、 第 3のバスのいずれかと前記第 4のバスとの間にデータ経路 を確立するための調停を行う調停手段とを含むことを特徴とするデータ転送制御
1 1 . 請求項 4において、
後段のアプリケーションに接続される第 1のバスと、
該デ一夕転送制御装置をコントロールする第 2のバスと、
物理層のデバイスに ΐβ気的に接続される第 3のバスと、
前記記憶手段に ¾気的に接続される第 4のバスと、
前記第 1、 笫 2、 ¾ 3のバスのいずれかと前記^ 4のバスとの間にデ一夕経路 を確立するための調停を行う調停手段とを含むことを特徴とするデータ転送制御 装置。
1 2 . ^求项 5において、
後段のアプリケーションに接続される第 1のバスと、
該データ転送制御装^をコントロールする第 2のバスと、
物理^のデバイスに ¾気的に接続される第 3のバスと、
前記記 tS手段に^気的に接続される第 4のバスと、
前記¾ 1、 2、 ¾ 3のバスのいずれかと前記第 4のバスとの問にデータ経路 を確立するための調停を行う調停 段とを含むことを特徴とするデ一夕転送制御 装置。
1 3 . 詰求¾ 7において、
後段のアプリケーションに接続される第 1のバスと、
該デ一夕転送制御装置をコントロールする第 2のバスと、
物理層のデバイスに電気的に接続される第 3のバスと、
前記記憶手段に電気的に接続される第 4のバスと、
前記第 1、 第 2、 第 3のバスのいずれかと前記第 4のバスとの問にデ一夕経路 を確立するための調停を行う調停平段とを含むことを特徴とするデータ転送制御 装置。
1 4 . 請求項 8において、 後段のアプリケーションに接続される第 1のバスと、
該デ一夕転送制御装置をコントロールする第 2のバスと、
物理層のデバイスに電気的に接続される第 3のバスと、
前記記憶手段に電気的に接続される第 4のバスと、
前記第 1、 第 2、 第 3のバスのいずれかと前記第 4のバスとの間にデ一夕経路 を確立するための調停を行う調停手段とを含むことを特徴とするデータ転送制御 装置。
1 5 . 請求项 1において、
前記バケツト整形手段と前記記憶手段との問に設けられる F I F Oを含むこと を特徴とするデータ転送制御装 i 。
1 6 . 求 ¾1 4において、
前記バケツト整形手段と前記記憶 段との問に設けられる F I F〇を含むこと を特徴とするデータ転送制御装蹬。
1 7 . 求 tf! 5において、
前記バケツト整形手段と前記 手段との問に設けられる F I F Oを含むこと を特徴とするデ一夕転送制御装 Wo
1 8 . 諸求 7において、
前記バケツ 卜整形 ΐ段と前記記憶 段との に設けられる F I F Oを含むこと を特徴とするデータ転送制御装 ϊ。
1 9 . 求项 8において、
前記バケツト整形手段と前記記憶手段との問に設けられる F I F Oを含むこと を特徴とするデ一夕転送制御装置。
2 0 . 請求 ¾ 1において、
I E E E 1 3 9 4の規格に準拠したデ一夕転送を行うことを特徴とするデータ 転送制御装置。
2 1 . 請求項 4において、
I E E E 1 3 9 4の規格に準拠したデータ転送を行うことを特徴とするデータ 転送制御装置。
22. 請求項 5において、
I EEE 1394の規格に準拠したデ一夕転送を行うことを特徴とするデ一夕 転送制御装置。
23. 請求項 7において、
I EEE 1394の規格に準拠したデータ転送を行うことを特徴とするデ一夕 転送制御装置。
24. 請求项 8において、
I EEE 1394の規格に準拠したデ一夕転送を行うことを特徴とするデータ 転送制御装置。
25. ^求 i乃至 24のいずれかのデ一夕転送制御装匿と、
前記デー夕転送制御装 及びノ、'スを介して他のノードから受信したデータに所
^の処理を施す装置と、
処 ¾が施されたデ一夕を出力又は記憶するための装置とを含むことを 徴とす る電子機器。
26. , 求項 1乃至 24のいずれかのデータ転送制御装置と、
前記データ転送制御装 i! 及びバスを介して他のノードに送信するデ一タに所与 の処 を施す と、
処理が施されるデータを取り込むための装 とを含むことを特徴とする II了-機
PCT/JP1999/005902 1998-10-27 1999-10-26 Controleur de transfert de donnees et dispositif electronique WO2000025215A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/582,294 US6839347B1 (en) 1998-10-27 1999-10-26 Data transfer controller and electronic device
EP99949418A EP1049019B1 (en) 1998-10-27 1999-10-26 Data transfer controller and electronic device
DE69935065T DE69935065T2 (de) 1998-10-27 1999-10-26 Datenübertragungssteuerinrichtung und elektronisches gerät

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10/321488 1998-10-27
JP32148898A JP3543647B2 (ja) 1998-10-27 1998-10-27 データ転送制御装置及び電子機器

Publications (1)

Publication Number Publication Date
WO2000025215A1 true WO2000025215A1 (fr) 2000-05-04

Family

ID=18133129

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/005902 WO2000025215A1 (fr) 1998-10-27 1999-10-26 Controleur de transfert de donnees et dispositif electronique

Country Status (8)

Country Link
US (1) US6839347B1 (ja)
EP (1) EP1049019B1 (ja)
JP (1) JP3543647B2 (ja)
KR (1) KR100464468B1 (ja)
CN (1) CN1146798C (ja)
DE (1) DE69935065T2 (ja)
TW (1) TW449696B (ja)
WO (1) WO2000025215A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001006708A1 (fr) * 1999-07-15 2001-01-25 Seiko Epson Corporation Dispositif de gestion de transfert de donnees et appareil electronique
US6857028B1 (en) 1999-07-15 2005-02-15 Seiko Epson Corporation Data transfer control device and electronic equipment

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6639918B1 (en) * 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
JP4505985B2 (ja) * 2000-12-04 2010-07-21 ソニー株式会社 データ転送方法、データ転送装置、通信インターフェース方法および通信インターフェース装置
JP4166956B2 (ja) * 2001-01-12 2008-10-15 パイオニア株式会社 データ伝送システム、コネクション確立方法及び情報伝送装置
JP3870717B2 (ja) * 2001-05-14 2007-01-24 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7324220B1 (en) * 2001-07-09 2008-01-29 Lexmark International, Inc. Print performance under the windows® operating system
US9836424B2 (en) 2001-08-24 2017-12-05 Intel Corporation General input/output architecture, protocol and related methods to implement flow control
WO2003019393A1 (en) 2001-08-24 2003-03-06 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
US7177971B2 (en) 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
US20030115513A1 (en) 2001-08-24 2003-06-19 David Harriman Error forwarding in an enhanced general input/output architecture and related methods
US7734812B2 (en) * 2002-06-06 2010-06-08 International Business Machines Corporation Method and apparatus for processing outgoing internet protocol packets
JP2004056376A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd 半導体装置及びデータ転送制御方法
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
US7512695B2 (en) 2003-05-07 2009-03-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system to control the communication of data between a plurality of interconnect devices
US7443785B2 (en) * 2004-03-17 2008-10-28 Sony Ericsson Mobile Communications Ab Selective error correction for ad hoc networks having multiple communication modes
US7826457B2 (en) * 2004-05-11 2010-11-02 Broadcom Corp. Method and system for handling out-of-order segments in a wireless system via direct data placement
US20060176895A1 (en) * 2005-02-07 2006-08-10 Yakov Kamen Data delivery pipeline optimized by cell-based data cascade technology
US7996583B2 (en) * 2006-08-31 2011-08-09 Cisco Technology, Inc. Multiple context single logic virtual host channel adapter supporting multiple transport protocols
US7870306B2 (en) * 2006-08-31 2011-01-11 Cisco Technology, Inc. Shared memory message switch and cache
DE102017208824B4 (de) * 2017-05-24 2022-12-29 Wago Verwaltungsgesellschaft Mbh Busumsetzer
KR101988171B1 (ko) * 2018-04-27 2019-06-11 벨로넥트 인코퍼레이션 접속된 노드들에 향상된 속도의 버스를 제공하기 위한 기기
DE102018115100A1 (de) * 2018-06-22 2019-12-24 Krohne Messtechnik Gmbh Verfahren zur Fehlerbehandlung bei Buskommunikation und Buskommunikationssystem
TW202203048A (zh) * 2020-07-10 2022-01-16 日商索尼半導體解決方案公司 通信裝置及通信方法、以及程式

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803821A2 (en) * 1996-04-26 1997-10-29 Texas Instruments Incorporated DMA channel assignment in a data packet transfer device
JPH1023101A (ja) * 1996-07-02 1998-01-23 Fujitsu Ltd データ転送インタフェース回路及びデータ転送方法
JPH1117773A (ja) * 1997-06-20 1999-01-22 Sony Corp シリアルインタフェース回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3152667B2 (ja) 1991-03-06 2001-04-03 日本放送協会 データチャンネル受信装置
US5815678A (en) * 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
JPH1040211A (ja) 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
JP3731263B2 (ja) * 1996-09-11 2006-01-05 ソニー株式会社 通信方法及び電子機器
US6324178B1 (en) * 1998-05-26 2001-11-27 3Com Corporation Method for efficient data transfers between domains of differing data formats

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803821A2 (en) * 1996-04-26 1997-10-29 Texas Instruments Incorporated DMA channel assignment in a data packet transfer device
JPH1023101A (ja) * 1996-07-02 1998-01-23 Fujitsu Ltd データ転送インタフェース回路及びデータ転送方法
JPH1117773A (ja) * 1997-06-20 1999-01-22 Sony Corp シリアルインタフェース回路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Direct connection of digital steel cameras: connecting different type of machines by standardization", NIKKEI ELECTRONICS, no. 698, 8 September 1997 (1997-09-08), pages 107 - 111 (PWG: PRINTER WORKING GROUP), XP002927820 *
See also references of EP1049019A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001006708A1 (fr) * 1999-07-15 2001-01-25 Seiko Epson Corporation Dispositif de gestion de transfert de donnees et appareil electronique
US6857028B1 (en) 1999-07-15 2005-02-15 Seiko Epson Corporation Data transfer control device and electronic equipment
US6978327B1 (en) 1999-07-15 2005-12-20 Seiko Epson Corporation Data transfer control device and electronic equipment for performing data
US7430618B2 (en) 1999-07-15 2008-09-30 Seiko Epson Corporation Data transfer control device and electronic equipment

Also Published As

Publication number Publication date
DE69935065D1 (de) 2007-03-22
DE69935065T2 (de) 2007-06-28
CN1292121A (zh) 2001-04-18
JP2000134229A (ja) 2000-05-12
KR20010024814A (ko) 2001-03-26
JP3543647B2 (ja) 2004-07-14
EP1049019B1 (en) 2007-02-07
TW449696B (en) 2001-08-11
US6839347B1 (en) 2005-01-04
EP1049019A1 (en) 2000-11-02
KR100464468B1 (ko) 2004-12-31
EP1049019A4 (en) 2002-05-29
CN1146798C (zh) 2004-04-21

Similar Documents

Publication Publication Date Title
WO2000025215A1 (fr) Controleur de transfert de donnees et dispositif electronique
US6519268B1 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
JP3543649B2 (ja) データ転送制御装置及び電子機器
US6857028B1 (en) Data transfer control device and electronic equipment
JP3543648B2 (ja) データ転送制御装置及び電子機器
JP3584789B2 (ja) データ転送制御装置及び電子機器
US6580711B1 (en) Serial interface circuit and signal processing method of the same
JP3733699B2 (ja) シリアルインタフェース回路
JP3494041B2 (ja) データ転送制御装置及び電子機器
JP3494040B2 (ja) データ転送制御装置及び電子機器
US6978327B1 (en) Data transfer control device and electronic equipment for performing data
EP1049020B1 (en) Data transfer controller and electronic device
JPH1117710A (ja) シリアルインタフェース回路
JP2004173304A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99803399.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 09582294

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020007007150

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1999949418

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999949418

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007007150

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1020007007150

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1999949418

Country of ref document: EP