WO2000025215A1 - Controleur de transfert de donnees et dispositif electronique - Google Patents
Controleur de transfert de donnees et dispositif electronique Download PDFInfo
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 208
- 238000007493 shaping process Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000000926 separation method Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 34
- 238000009482 thermal adhesion granulation Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 26
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 23
- 230000008569 process Effects 0.000 description 13
- 108091007163 high choriolytic enzyme Proteins 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000005773 Enders reaction Methods 0.000 description 1
- 101100450271 Oryzias latipes hceb gene Proteins 0.000 description 1
- 101710162453 Replication factor A Proteins 0.000 description 1
- 102100035729 Replication protein A 70 kDa DNA-binding subunit Human genes 0.000 description 1
- 235000002597 Solanum melongena Nutrition 0.000 description 1
- 244000061458 Solanum melongena Species 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40091—Bus bridging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing 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
Claims
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)
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)
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)
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)
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 |
-
1998
- 1998-10-27 JP JP32148898A patent/JP3543647B2/ja not_active Expired - Fee Related
-
1999
- 1999-10-26 CN CNB998033995A patent/CN1146798C/zh not_active Expired - Fee Related
- 1999-10-26 DE DE69935065T patent/DE69935065T2/de not_active Expired - Lifetime
- 1999-10-26 US US09/582,294 patent/US6839347B1/en not_active Expired - Fee Related
- 1999-10-26 KR KR10-2000-7007150A patent/KR100464468B1/ko not_active IP Right Cessation
- 1999-10-26 WO PCT/JP1999/005902 patent/WO2000025215A1/ja active IP Right Grant
- 1999-10-26 EP EP99949418A patent/EP1049019B1/en not_active Expired - Lifetime
- 1999-10-27 TW TW088118595A patent/TW449696B/zh not_active IP Right Cessation
Patent Citations (3)
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)
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)
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 |