Data communication system, data communication method, data communication device and storage medium
Abstract
[Task] It is possible to prevent the data transfer efficiency in the bus system from being lowered without increasing the cost.
Solution.In a data communication system in which communication between a source node that transmits information data and a destination node that receives the information data is performed using a connection ID indicating a logical connection between the nodes, the destination node is described above. By notifying the source node of the time interval required for the reception process of, the time when the i-th data (i is an arbitrary integer) is transmitted and the time when the i + 1-th data is transmitted are set. It is possible to optimally set the time interval for efficient data communication.
Term
Term ended
Projected expiry passed 9 April 2018, 8.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
19 claims: 6 independent, 13 dependent
- 1【特許請求の範囲】 【請求項1】 情報データを送信するソースノードと、該情報データを受信するデスティネーションノードとの間の通信を、各ノード間の論理的な接続を示すコネクションIDを用いて行うデータ通信システムにおいて、 上記デスティネーションノードの受信処理に必要となる時間間隔を上記ソースノードに通知することを特徴とするデータ通信システム。
- 2【請求項2】 上記時間間隔は、受信した情報データを一時的に記憶する記憶手段から該情報データを読み出す時間により決定されることを特徴とする請求項1に記載のデータ通信システム。
- 3【請求項3】 上記通信システムは更に、上記コネクションIDを管理するコントロールノードを含み、 上記コントロールノードは、通信を行う複数のノード間に対して論理的なコネクションを設定することを特徴とする請求項1または2に記載のデータ通信システム。
- 4【請求項4】 上記時間間隔は、上記コントロールノードに対しても通知されることを特徴とする請求項3に記載のデータ通信システム。
- 5【請求項5】 上記デスティネーションノードは上記情報データに含まれる転送終了を示すデータに応じて、上記情報データの受信処理を終了することを特徴とする請求項1~4の何れか1項に記載のデータ通信システム。
- 6【請求項6】 上記デスティネーションノードは、上記転送終了を示すデータに基づき、上記ソースノードとの間に設定されたコネクションIDを解放することを特徴とする請求項5に記載のデータ通信システム。
- 7【請求項7】 上記コントロールノードは上記情報データに含まれる転送終了を示すデータに応じて、上記情報データの転送を終了させることを特徴とする請求項3または4に記載のデータ通信システム。
- 8【請求項8】 上記コントロールノードは、上記転送終了を示すデータに基づき、上記ソースノードと上記デスティネーションノードとの間に設定されたコネクションIDを解放させることを特徴とする請求項7に記載のデータ通信システム。
- 9【請求項9】 上記情報データは、IEEE1394規格に準拠するasynchronous転送方式を用いて送信されることを特徴とする請求項1~8の何れか1項に記載のデータ通信システム。
- 10【請求項10】 上記情報データは、通信システム上の全てのノードに対してブロードキャストされることを特徴とする請求項1~9の何れか1項に記載のデータ通信システム。
- 11【請求項11】 上記ソースノードは、n個のデスティネーションノードの受信処理に必要となるn個の時間間隔から最大の時間的間隔を選択することを特徴とする請求項1~10の何れか1項に記載のデータ通信システム。
- 12【請求項12】 上記ソースノードは、上記情報データを受信したデスティネーションノードからのレスポンスを受信するレスポンス期間を有し、上記レスポンス期間を越えても該レスポンスを検出できない場合に通信異常を検出することを特徴とする請求項1~11の何れか1項に記載のデータ通信システム。
- 13【請求項13】 上記レスポンス期間は、上記時間間隔に基づいて設定されることを特徴とする請求項12に記載のデータ通信システム。
- 14【請求項14】 情報データを送信するソースノードと、該情報データを受信するデスティネーションノードと、上記ソースノードと上記デスティネーションノードとの間の通信を管理するコントロールノードとを含むデータ通信システムにおいて、 上記デスティネーションノードの受信処理に必要となる時間間隔を上記コントロールノードに通知することを特徴とするデータ通信方法。
- 15【請求項15】 情報データを送信するソースノードと、該情報データを受信するデスティネーションノードとの間の通信を、各ノード間の論理的な接続を示すコネクションIDを用いて行うデータ通信システムに適用可能なデータ通信方法において、 上記デスティネーションノードの受信処理に必要となる時間間隔を上記ソースノードに通知することを特徴とするデータ通信方法。
- 16【請求項16】 情報データを送信するソースノードと、該情報データを受信するデスティネーションノードと、該ソースノードと該デスティネーションノードとの間の通信を管理するコントロールノードとを含む通信システムに適用可能なデータ通信方法において、 上記デスティネーションノードの受信処理に必要となる時間間隔を上記コントロールノードに通知することを特徴とするデータ通信方法。
- 17【請求項17】 情報データを送信するソースノード、該情報データを受信するデスティネーションノードとの通信を管理するデータ通信装置において、 上記デスティネーションノードの受信処理に必要となる時間間隔を受信する受信手段と、 上記時間間隔を上記ソースノードに送信する送信手段とを具備することを特徴とするデータ通信装置。
- 18【請求項18】 請求項15または16に記載のデータ通信方法を構成するステップがコンピュータから読み出し可能に格納されていることを特徴とする記憶媒体。
- 19【請求項19】 請求項17に記載の各手段としてコンピュータを機能させるためのプログラムを格納したことを特徴とする記憶媒体。
Independent claims19
266 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to a system in which a plurality of electronic devices (hereinafter referred to as devices) are connected by using a data communication bus capable of mixing and communicating control signals and data, and data communication is performed between the devices. is there.
【0002】
[Conventional technology]
Hard disks and printers are the most frequently used computer peripherals, and these peripherals have SCSI, which is a typical digital interface (hereinafter referred to as digital I / F) for general-purpose interfaces for small computers. A connection is made between computers and data communication is performed.
【0003】
In addition, recording / playback devices such as digital cameras and digital video cameras are also one of the peripheral devices used as input means to personal computers (hereinafter referred to as PCs). In recent years, images such as still images and moving images taken by digital cameras and video cameras have been used. The number of users is increasing as technology in the field of importing a digital camera to a PC, storing it on a hard disk, or editing it on a PC and then printing it in color with a printer is advancing.
【0004】
When the captured image data is output from a PC to a printer or hard disk, data communication is performed via the above SCSI, etc. In such a case, information with a large amount of data such as image data is sent. For this reason, these digital I / Fs are required to have a high transfer data rate and are versatile.
【0005】
FIG. 6 shows a block diagram when a digital camera, a PC, and a printer are connected as a conventional example. In Figure 6, 101 is a digital camera, 102 is a personal computer (PC), and 103 is a printer. Furthermore, 104 is the memory that is the recording unit of the digital camera, 105 is the decoding circuit of the image data, 106 is the image processing unit, 107 is the D / A converter, 108 is the EVF that is the display unit, and 109 is the digital I of the digital camera. The / O section, 110 is the digital I / O section with the digital camera of the PC, and 111 is the operation section such as the keyboard and mouse.
【0006】
112 is the image data decoding circuit, 113 is the display, 114 is the hard disk device, 115 is the memory such as RAM, 116 is the MPU of the arithmetic processing unit, 117 is the PCI bus, and 118 is the SCSI interface (board) of the digital I / F. , 119 is the SCSI interface of the printer connected to the PC with a SCSI cable, 120 is the memory, 121 is the printer head, 122 is the printer controller of the printer control unit, and 123 is the driver.
【0007】
Next, the procedure for capturing the image captured by the digital camera into the PC and outputting it from the PC to the printer will be described. When the image data stored in the memory 104 of the digital camera 101 is read out, one of the read image data is decoded by the decoding circuit 105 and image processing for display by the image processing circuit 106. Is displayed on the EVF108 via the D / A converter 107. On the other hand, it goes from the digital I / O section 109 for external output to the digital I / O section 110 of the PC 102 along the cable.
【0008】
In the PC 102, the image data input from the digital I / O section 110 using the PCI bus 117 as a mutual transmission bus is stored in the hard disk 114 when stored, and decoded by the decoding circuit 112 when displayed. After that, it is stored as a display image in the memory 115, converted into an analog signal on the display 113, and then displayed. Operation inputs such as when editing on the PC 102 are performed from the operation unit 111, and the entire processing of the PC 102 is performed by the MPU 116.
【0009】
When printing out an image, the image data is transmitted from the SCSI interface board 118 in the PC 102 on the SCSI cable, received by the SCSI interface 119 on the printer 103 side, and formed as a print image in the memory 120. The printer head 121 and the driver 123 operate under the control of the printer controller 122 to print the print image data read from the memory 120.
【0010】
The above is the procedure for importing or printing conventional image data on a PC. In this way, conventionally, each device is connected to the host PC, and the image data captured by the recording / playback device is printed after passing through the PC.
【0011】
In addition, AV devices such as digital VTRs, TVs, and tuners, personal computers (hereinafter referred to as PCs), etc. are connected to each other using the IEEEP1394 serial bus (hereinafter referred to as 1394), and digital video signals are transmitted between them. , A communication system for transmitting and receiving digital audio signals and the like has been proposed.
【0012】
In these systems, it is important to transfer data in real time, so data communication is performed by so-called synchronous communication (hereinafter referred to as Isochronous communication).
【0013】
In this case, the real-time performance of the data transfer is guaranteed, but the reliable communication is not guaranteed. However, as problems with the digital interface mentioned in the above conventional example, SCSI has a low transfer data rate, a thick cable for parallel communication, the type and number of peripheral devices to be connected, the connection method, etc. There are restrictions, and inconveniences in many respects have also been pointed out.
【0014】
Further, in the case of the conventional 1394 communication, since the synchronous communication is performed, it is not guaranteed that the communication is surely performed. Therefore, if you want to transfer data reliably, you cannot use the conventional 1394 Isochronous communication.
【0015】
Further, in the conventional 1394 Isochronous communication, the total number of communications is limited to 64 even when there is a vacancy in the communication band. Therefore, there is a problem that the conventional 1394 Isochronous communication cannot be used when it is desired to perform a large number of communications that do not require much communication band.
【0016】
Further, in the conventional 1394 communication method, it is conceivable that the data transfer is interrupted due to a bus reset or an error during the data transfer. In this case, with the conventional 1394 communication method, it is not possible to know what kind of data content has been lost.
【0017】
Therefore, the conventional 1394 communication method has a problem that it is required to take a very complicated communication procedure in order to recover from the data transfer interruption. In order to solve the above problem, a connection ID that represents a logical connection between the source node for transmitting arbitrary data and the destination node for receiving the data, which is connected on the serial bus. A protocol for logically connecting by number has been proposed.
【0018】
In the protocol using the above connection ID, when the destination node does not return a response even if the predetermined fixed cycle (timeout cycle or response cycle) is exceeded after the source node transfers the data. In the source node, the data is retransmitted.
【0019】
[Problems to be Solved by the Invention]
However, in the above protocol, since the above response cycle is a predetermined fixed value, when the speed of transferring the data to the subsequent circuit after receiving the data is slow in the device serving as the destination node. Will cause the data retransmission to occur frequently. Therefore, there is a problem that the data transfer efficiency in the network or the bus system is remarkably lowered.
【0020】
Further, in order to prevent this, if the data transfer speed inside the device connected to the network or the bus system is increased, there is a problem that the cost of the connected device must be increased.
【0021】
The present invention has been made to solve the above problems, and it is possible to easily detect the data lost due to the interruption of the data transfer, and to surely and recover from the interruption of the data transfer. This can be done easily, preventing the data transfer efficiency in the network or bus system from decreasing, and reducing the data transfer speed inside the device connected to the network or bus system to reduce costs. The purpose is to provide various equipment and systems.
【0022】
[Means for solving problems]
The data communication system of the present invention is data in which communication between a source node for transmitting information data and a destination node for receiving the information data is performed using a connection ID indicating a logical connection between the nodes. The communication system is characterized in that the source node is notified of the time interval required for the reception processing of the destination node. Another feature of the data communication system of the present invention is that the time interval is determined by the time for reading the information data from the storage means for temporarily storing the received information data. .. Another feature of the data communication system of the present invention is that the communication system further includes a control node that manages the connection ID, and the control node is logical for a plurality of nodes that communicate with each other. It is characterized by setting a typical connection. Another feature of the data communication system of the present invention is that the time interval is also notified to the control node. Another feature of the data communication system of the present invention is that the destination node ends the reception process of the information data according to the data including the information data indicating the end of transfer. There is. Another feature of the data communication system of the present invention is that the destination node releases the connection ID set with the source node based on the data indicating the end of transfer. It is supposed to be. Another feature of the data communication system of the present invention is that the control node terminates the transfer of the information data according to the data including the information data indicating the end of the transfer. Another feature of the data communication system of the present invention is that the control node releases the connection ID set between the source node and the destination node based on the data indicating the end of transfer. Sa It is characterized by being able to do it. Another feature of the data communication system of the present invention is that the above-mentioned information data is transmitted by using an asynchronous transfer method conforming to the IEEE1394 standard. Another feature of the data communication system of the present invention is that the information data is broadcast to all nodes on the communication system. Another feature of the data communication system of the present invention is that the source node selects the maximum time interval from the n time intervals required for the reception processing of the n destination nodes. It is characterized by. Another feature of the data communication system of the present invention is that the source node has a response period for receiving a response from the destination node that has received the information data, and even if the response period is exceeded. It is characterized in that a communication abnormality is detected when the response cannot be detected. Another feature of the data communication system of the present invention is that the response period is set based on the time interval. Another feature of the data communication system of the present invention is communication between a source node that transmits information data, a destination node that receives the information data, and the source node and the destination node. In a data communication system including a control node that manages the above, the control node is notified of the time interval required for the reception processing of the destination node. It is a feature. Another feature of the data communication system of the present invention is that the source node selects the maximum time interval from the n time intervals required for the reception processing of the n destination nodes. It is characterized by. Another feature of the data communication system of the present invention is that the source node has a response period for receiving a response from the destination node that has received the information data, and even if the response period is exceeded. It is characterized in that a communication abnormality is detected when the response cannot be detected. Another feature of the data communication system of the present invention is that the response period is set based on the time interval. Another feature of the data communication system of the present invention is communication between a source node that transmits information data, a destination node that receives the information data, and the source node and the destination node. In a data communication system including a control node that manages the above, the control node is notified of the time interval required for the reception processing of the destination node. It is a feature. Another feature of the data communication system of the present invention is that the source node selects the maximum time interval from the n time intervals required for the reception processing of the n destination nodes. It is characterized by. Another feature of the data communication system of the present invention is that the source node has a response period for receiving a response from the destination node that has received the information data, and even if the response period is exceeded. It is characterized in that a communication abnormality is detected when the response cannot be detected. Another feature of the data communication system of the present invention is that the response period is set based on the time interval. Another feature of the data communication system of the present invention is communication between a source node that transmits information data, a destination node that receives the information data, and the source node and the destination node. In a data communication system including a control node that manages the above, the control node is notified of the time interval required for the reception processing of the destination node.
【0023】
The data communication method of the present invention is data in which communication between a source node for transmitting information data and a destination node for receiving the information data is performed using a connection ID indicating a logical connection between the nodes. A data communication method applicable to a communication system is characterized in that the source node is notified of the time interval required for the reception processing of the destination node. Another feature of the data communication method of the present invention is communication between a source node that transmits information data, a destination node that receives the information data, and the source node and the destination node. In the data communication method applicable to the communication system including the control node that manages the above, the control node is notified of the time interval required for the reception processing of the destination node.
【0024】
The data communication device of the present invention is a data communication device that manages communication with a source node that transmits information data and a destination node that receives the information data, and sets a time interval required for reception processing of the destination node. It is characterized by including a receiving means for receiving and a transmitting means for transmitting the time interval to the source node.
【0025】
The storage medium of the present invention is characterized in that the steps constituting the data communication method are stored so as to be readable from a computer. Another feature of the storage medium of the present invention is that a program for operating a computer is stored as each of the above means.
【0026】
[Action]
Since the present invention has the above-mentioned technical means, the source node detects the time interval of data reception of the destination node when making a logical connection, and the above-mentioned source node uses the above-mentioned detection result to detect the i-th i. The time interval between the time when the third data (i is an arbitrary integer) is transmitted and the time when the i + 1th data is transmitted will be set.
【0027】
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, examples of the present invention will be described with reference to FIG. In Figure 1, 10 is a computer, 12 is an arithmetic processor (MPU), 14 is a first 1394 interface, 16 is a first control unit such as a keyboard, 18 is a first decoder, 20 is a CRT display, etc. The display device, 22 is the hard disk, 24 is the first memory, which is the internal memory of the computer 10 according to the present embodiment, and 26 is the internal computer bus such as the PCI bus.
【0028】
28 is the VCR, 30 is the imaging optical system, 32 is the analog-to-digital (A / D) converter, 34 is the video processor, 36 is the compression / decompression circuit, 38 is the first memory, and 40 is the second. Memory, 42 is the first data selector, 44 is the second 1394 interface, 46 is the first memory control circuit, 48 is the second memory control circuit, 50 is the system controller, 52 is the second control unit, 54 is the finder, 56 is the D / A converter, and 58 is the recorder.
【0029】
In addition, 60 is the printer, 62 is the third 1394 interface, 64 is the second data selector, 66 is the third controls, 68 is the printer controller, 70 is the second decoder, and 72 is the third memory. , 74 is the image processor, 76 is the driver, and 78 is the printer head.
【0030】
The computer 10, the VCR 28, and the printer 60 form a node of the 1394 serial bus by the first to third 1394 interfaces 14, 44, 62, and the first to third 1394 interfaces 14, 44, It is connected to each other via 62, and data can be exchanged and controlled by commands.
【0031】
In this embodiment, for example, computer 10 operates as a controller for transmitting and receiving image signals on a 1394 serial bus. In the computer 10 according to the present embodiment, for example, the MPU 12 and the 1394 interface 14, the keyboard 16, the decoder 18, the CRT display 20, the hard disk 22, the internal memory 24, etc. are provided by the computer internal bus 26 such as the PCI bus. Each internal device is interconnected.
【0032】
The MPU12 executes the software recorded on the hard disk 22 and moves various data to the internal memory 24. The MPU12 also performs arbitration operations for each device connected by the PCI bus 26.
【0033】
1394 The interface 14 receives the image signal transferred on the 1394 serial bus, and also transmits the image signal recorded on the hard disk 22 and the image signal stored in the internal memory 24.
【0034】
The 1394 interface 14 also transmits command data to other devices connected on the 1394 serial bus. In addition, the 1394 interface 14 transfers the signal transferred on the 1394 serial bus to another 1394 node.
【0035】
The operator causes the MPU12 to execute the software recorded on the hard disk 22 through an operation unit such as the keyboard 16. Information such as the software is presented to the operator by a display device 20 such as a CRT display.
【0036】
The decoder 18 decodes the image signal received from the 1394 serial bus through the above software. The decoded image signal is also presented to the operator by a display device 20 such as a CRT display.
【0037】
In this embodiment, for example, the VCR 28 operates as an image signal input device. The luminance signal (Y) and color difference signal (C) of the image input from the imaging optical system 30 are each converted into digital data by the A / D converter 32.
【0038】
The digital data is multiplexed by the video processing unit 34. After that, the data amount of the image information is compressed by the compression / expansion circuit 36. Generally, the compression processing circuit is provided independently of YC, but here, for simplification of the explanation, an example of compression processing in YC time division is shown.
【0039】
Next, a shuffling process is performed for the purpose of strengthening the image data against transmission path errors. The purpose of this process is to convert a burst error, which is a continuous code error, into a random error, which is a discrete error that is easy to correct or interpolate.
【0040】
In addition, if the purpose of equalizing the bias of the amount of information generated due to the density in the screen of the image is emphasized, if this processing step is brought before the above compression processing, a variable length code such as run length can be obtained. It is convenient when used.
【0041】
In response to this, data identification (ID) information for data shuffling restoration is added. The ID added by this ID addition operation is used as auxiliary information in the decompression processing (information amount expansion processing) at the time of reproduction together with the mode information of the above system recorded at the same time. Error correction (ECC) information is added to reduce errors during playback of these data. Up to the addition of such a redundant signal is processed for each independent recording area corresponding to each information such as video and audio.
【0042】
As described above, the image signal to which the ID information and the ECC information are added is recorded by the recording unit 58 on a recording medium such as a magnetic tape, and is temporarily stored in the first memory 38 described later.
【0043】
On the other hand, the image data multiplexed by the video processing unit 34 is digital-to-analog converted by the D / A converter 56 and observed by the operator with the electronic viewfinder 54.
【0044】
Further, the operator transmits various operation information to the system controller 50 via the second operation unit 52, and the system controller 50 controls the entire VCR by the operation information.
【0045】
Further, the image data multiplexed by the video processing unit 34 is output to the second memory 40 and temporarily stored. The operation of the first memory 38 and the second memory 40 described above is controlled by the system controller 50 via the first memory control circuit 46 and the second memory control circuit 48, respectively.
【0046】
The first data selector 42 selects the data from the first memory 38 and the second memory 40 described above and passes them to the second 1394 interface 44, or the data from the second 1394 interface 44. Select to pass to either the first memory 38 or the second memory 40.
【0047】
By the above operation, the compressed image data and the uncompressed image data can be selected and output by the operator from the second 1394 interface 44 in the VCR 28.
【0048】
The second 1394 interface 44 receives command data for controlling the VCR 28 through the 1394 serial bus. The received command data is input to the system controller 50 through the first data selector 42.
【0049】
The stem controller 50 creates response data for the above command data and sends the data to the 1394 serial bus through the first data selector 42 and the second 1394 interface 44.
【0050】
In this embodiment, for example, the printer 60 operates as an image print output device. The third 1394 interface 62 receives the image signal transferred on the 1394 serial bus and the command data for controlling the printer 60 through the 1394 serial bus. The third 1394 interface 62 also transmits response data to the command.
【0051】
The received image data is input to the second decoder 70 through the second data selector 64. The second decoder 70 decodes the image data and outputs it to the image processing unit 74. The image processing unit 74 temporarily stores the decoded image data in the third memory 72.
【0052】
On the other hand, the received command data is input to the printer controller 68 through the second data selector 64. The printer controller 68 performs various printing-related controls such as paper feed control by the driver 76 and position control of the printer head 78 based on the command data.
【0053】
Further, the printer controller 68 transmits the image data temporarily stored in the third memory 72 as print data to the printer head 78 to perform the printing operation.
【0054】
As described above, the first to third 1394 interfaces 14, 44, and 62 according to the present embodiment each constitute a node of the 1394 serial bus. The first 1394 interface 14 operates as a control node or a controller, the second 1394 interface 44 operates as a source node for image data, and the third 1394 interface 44 operates as a destination node.
【0055】
The operation of each node according to the present embodiment is shown below with reference to FIG. In Figure 2, 200 is the controller, 202 is the source node, 204 is the destination node, 206 is the subsystem inside the source node, 208 is the object such as image data, 210 is the first memory space inside the destination node, 212. Is the first connection, 214 is the nth memory space of the destination, and 216 is the nth connection.
【0056】
The controller 200 is a node that manages a connection ID for establishing a connection between the source node 202 that performs data transfer and the destination node 204, and a memory space address described later.
【0057】
The controller 200 may be a node independent of the source node 202 and the destination node 204, or the source node or the destination node and the controller may be the same. In the latter case, no transaction is required between the controller and the source or destination node, which is the same node as the controller.
【0058】
In this embodiment, an example is shown in which the controller 200 exists on a node different from the source node 202 and the destination node 204. In the communication device of the present embodiment, it is possible to establish a plurality of connections.
【0059】
The source node 202 writes an object 208 such as image data from the internal subunit 206 to the first memory space 210 inside the destination node, for example, through the first connection 212. Further, data transfer by the above-mentioned connection is performed by using, for example, an asynchronous broadcast packet.
【0060】
Next, the operation of each node of the controller 200, the source node 202, and the destination node 204 described above will be described with reference to FIG. 3 (a). The controller negotiates to make a connection between the source node selected by the user and the destination node. Packets for making connections are used for negotiation.
【0061】
The packet is, for example, an asynchronous broadcast packet, and a connection ID indicating a connection number and an interval time allowed for destination are written in the payload in the packet. Each node identifies the connection by the above connection ID.
【0062】
In addition, the interval at which the source node transfers data is determined by the interval time. The source node that receives the above negotiation packet from the controller waits for the transmission command packet from the controller. On the other hand, the destination node that has received the negotiation packet waits for the asynchronous broadcast packet of the inquiry from the source node.
【0063】
After the above negotiation is completed, the controller sends a command packet for data transmission to the source node. The source node that receives the above command packet sends an asynchronous broadcast packet of the inquiry to the destination node. The above-mentioned connection ID is written in the inquiry packet.
【0064】
Upon receiving the inquiry packet, the destination node collates the connection ID written in the inquiry packet with the connection ID by the negotiation described above, and the inquiry packet is a packet from the source node of the same connection. Determine if it is.
【0065】
When the inquiry packet has the same connection, the destination node broadcasts a response packet in which the same connection ID as the inquiry packet, the capacity of the buffer for receiving data, and the node offset of the destination node are written by asynchronous broadcast. Send out.
【0066】
As described above, at the time of data transfer, the source node performs a write transaction with respect to the node offset of the destination node written in the response packet from the destination node instructed by the controller. The write transaction is performed using asynchronous broadcast packets.
【0067】
The source node transmits the data by segmenting the data to be transmitted. The divided data is called segment data. The segment data is sent in one broadcast transaction. The amount of data in the segment data is determined, for example, by the capacity of the FIFO memory (not shown) of the node that receives the data.
【0068】
The source node transmits the above segment data using an asynchronous broadcast packet. An asynchronous broadcast packet containing one segment data is called a segment packet. In the segment packet, the above-mentioned connection ID and the sequence number indicating the order of the above-mentioned segment data are written.
【0069】
The destination node that received the packet collates the connection ID written in the segment packet with the connection ID notified in advance by the controller.
【0070】
If the connection ID written in the segment packet matches the connection ID notified in advance by the controller, the destination node receives the packet, and the same connection ID as the packet and the received data in the received data. A response packet in which the sequence number is written is transmitted using asynchronous broadcast. The source node identifies the packet to its own node by the connection ID of the received packet.
【0071】
The above-mentioned response operation occurs when one segment data is exchanged. As described above, the inquiry packet is transmitted from the source node to the destination node prior to data transfer. The destination node notifies the buffer size of the buffer that the destination node itself has by using the response packet for the inquiry.
【0072】
In the above example, the response packet is transmitted with one segment data transmission, but after the above-mentioned buffer held by the destination node is filled with the segment data, the destination node receives the response packet. May be configured to transmit. In the case of this configuration, the number of response operations performed by the destination node can be reduced, which has the effect of simplifying the destination node.
【0073】
Monitor data inconsistencies by comparing the sequence number of the i-th received segment packet with the sequence number of the (i + 1) th-received segment packet. When an inconsistency is detected in the sequence number, the destination node can request segment data from the source node again by sending a response packet indicating a retransmission request.
【0074】
Further, in the response packet indicating the retransmission request, the sequence number in which the retransmission request has occurred can be specified. On the other hand, the source node waits for a response from the destination node after sending the segment packet.
【0075】
As described above, the destination node sends a response packet in which the connection ID and the sequence number are written as an asynchronous broadcast packet. The above connection ID is written in the response packet transmitted by the broadcast packet.
【0076】
If this value matches the connection ID indicating the connection with the target destination node, the packet is a response packet. Upon receiving the response packet, the source node increments the sequence number and similarly sends the next segment packet.
【0077】
By repeating the above procedure, the source node transfers data. The time for the source node to wait for a response from the destination node is determined by the above-mentioned interval time, and this cycle is referred to as a response cycle.
【0078】
After sending the i-th segment packet, if the response cannot be received even after the response cycle is exceeded, the source node retransmits the same segment packet as the i-th segment packet above.
【0079】
Further, when receiving the retransmission request response from the destination node as described above, the source node transmits the segment packet of the sequence number specified in the response packet.
【0080】
In the present embodiment, the above procedure has an effect that the data transfer can be easily restored even when the data transfer is interrupted due to the occurrence of a bus reset or some error. When the data transfer is completed by sending all the segment packets, the source node sends a broadcast packet indicating the segment end.
【0081】
The controller that receives this packet releases the connection ID and the node offset, and the data transfer ends. In the present embodiment, the controller that has received the segment end explicitly releases the connection ID and the node offset.
【0082】
However, since the packet indicating the segment end is a broadcast packet, the destination node can detect the end of the data transfer by the segment end packet. Therefore, the destination node may release the connection ID and the node offset.
【0083】
In order to reliably transfer data, it is desirable that the data transfer be resumed promptly even if the data transfer is interrupted due to the occurrence of a bus reset or some error. As described above, in the present invention, the problem is solved by providing a procedure for requesting retransmission.
【0084】
Next, the procedure of the retransmission request will be described with reference to FIG. 3 (b). For example, if the data transfer is interrupted when the sequence number is i, each node first rebuilds the bus according to the procedure specified in the standard. After the bus reconstruction is completed, the destination node sends a retransmission request packet (resend request) in which the destination _offset, the connection ID, and the sequence number i are written as a broadcast packet. If the data transfer can be resumed, the source node returns an ack response.
【0085】
The source node then matches the connection ID of the received packet, matches the node offset, and sequentially sends the data in the data string after the requested sequence number, that is, the data string starting with the sequence number (i + 1), in a broadcast packet. To do.
【0086】
According to the above procedure, the source node, the destination node, and the controller node can easily and surely restart the subsequent data transfer even if the data transfer is interrupted without considering the node ID. Further, as described above, in the present embodiment, there is an effect that the control procedure of the controller can be simplified even when the data transfer is interrupted.
【0087】
Next, with reference to FIG. 4, the details of data transfer performed between the source node and the destination node according to the present invention will be described. In Figure 4, 250 is the source node, 252 is the communication data buffer inside the destination node, 254 is the next-stage circuit inside the destination node, 256 is the i-th data transfer, 258 is the i-th response, and 260 is (i). +1) th data transfer, 262 is the (i + 1) th response, 264 is the response cycle, 266 is the data movement inside the destination node, and 268 is the delay associated with the data movement inside the destination node.
【0088】
Data is transferred from the source node 250 by the i-th data transfer 256. The transferred data is temporarily stored in the communication data buffer 252 inside the destination, and then the data is moved to the next stage circuit 254.
【0089】
When the data movement is completed, the response data to that effect is created in the communication buffer 252 and sent to the source node 250 (i-th response 258). As mentioned above, the delay 268 occurs due to the data movement 266 inside the destination node.
【0090】
The delay time 268 is transmitted to the source node 250 as an interval time at the time of the above-mentioned negotiation. The source node 250 determines the response period 264 from the interval time.
【0091】
As shown in FIG. 4, the response cycle 264 is usually set as a cycle longer than the above interval time. The (i + 1) th data transfer 260 and the (i + 1) th response 258 from the source node 250 are performed in the same manner as the i-th data transfer 256 and the i-th response 258 described above. Further, by repeating the operation, all the data is transferred.
【0092】
By configuring as described above, in the present embodiment, the response cycle can be dynamically set at the time of connection based on the performance of the destination node, so that even if the performance of the destination node is not so high, It is possible to prevent the occurrence of retransmitted packets.
【0093】
Further, in the present embodiment, the response cycle can be set short when the performance of the destination node is high and long when the performance of the destination node is low. It has the effect of improving operability.
【0094】
Next, the above-mentioned asynchronous packet will be described with reference to FIG. The asynchronous packet according to the present invention is, for example, a data packet having 4 bytes (32 bits, hereinafter referred to as a quadlet) as a unit.
【0095】
In an asynchronous packet, the first 16 bits are the destination _ID field, which indicates the node ID of the recipient. When broadcasting is performed as in this embodiment, the value of this field is FFFF (hexary number).
【0096】
The next 6 bits field is the transaction label (tl) field, which is a tag unique to each transaction. The next 2 bits field is the retry (rt) code, which specifies whether the packet will attempt to retry.
【0097】
The next 4 bits field is the transaction code (tcode). tcode specifies the format of the packet and the type of transaction it must execute. In this embodiment, for example, this value is 0001.<sub>2 </sub>Use the transaction of the data block write request.
【0098】
The next 4-bit field is the priority (pri) field, which specifies the priority. In this embodiment, since an asynchronous packet is used, the value of this field is 0000.<sub>2 </sub>Is. The next 16 bits are the source_ID field, which indicates the sending node ID. The next 48 bits are the destination _offset field, which specifies the lower 48 bits of the packet's destination node address.
【0099】
In the present invention, for example, the value of the destination _offset is determined by the value of the connection_ID field described later. The next 16 bits are the data_length field, which indicates the length of the data field, which will be described later, in bytes.
【0100】
The next 16 bits are the extended_tcode field, which is 0000 in the write request transaction of the data block used in this embodiment.<sub>16</sub>Is.
【0101】
The next 32 bits are the header_CRC field, and the above-mentioned destination _ID field to extended_tcode field is called a packet header and is used for error detection of the packet header.
【0102】
The next 16 bits are the connection ID (connection _ID) field described above, which identifies the connection by the data. With the connection ID, it is possible to establish a connection of (2 to the 16th power) × (number of nodes). Therefore, in the present invention, the number of connections can be increased until the total amount of bandwidth used by each connection reaches the capacity of the bus.
【0103】
The next 8 bits are the protocol type (protocol _type) fields, which indicate the procedure for data transfer using the header information. The transfer procedure of this embodiment includes, for example, 01.<sub>16</sub>The value of is used. The next 8 bits are the control flags (control_flags) field where the control data is written.
【0104】
The most significant bit of the control flag field is, for example, the resume request (resend _request) flag, and when the value of this bit is 1, it indicates that a data retransmission request has occurred.
【0105】
The next 16 bits are the sequence number (sequence _number) field. As described above, a continuous value is used for the sequence number field for data packets sent and received with a specific connection ID.
【0106】
The destination node monitors the continuity of significant data by the sequence number field, and if a discrepancy occurs, makes a retransmission request to the source node.
【0107】
The next 16 bits are the confirmation number (reconfirmation _number) field. This field is meaningful only when the value of the above-mentioned retransmission request flag is 1.
【0108】
When the value of the retransmission request flag described above is 1, this field indicates the sequence number of the start packet in which the retransmission request is occurring. The next 16 bits are the buffer size (buffer _size) fields. This field contains the buffer size of the destination node.
【0109】
The next 48 bits are the offset _address field. The offset address of the destination node is written in this field.
【0110】
The next 32 bits are the destination interval (destination_interval) field. The destination node notifies the source node and the control node of the above-mentioned interval time by this field.
【0111】
The next field is a variable length data field, which is referred to as the packet payload. In this embodiment, if the data field is not a multiple of the quadlet, the bits less than the quadlet are padded with zeros.
【0112】
The next 32 bits field is the data_CRC field, which, like the header_CRC field above, is used to detect errors between the header information and the data field above. Needless to say, the data_CRC field may be attached only to the data field.
【0113】
By the above operation, in the present embodiment, it is possible to prevent the data transfer efficiency in the network or the bus system from being lowered, and to reduce the data transfer speed in the connected destination node.
【0114】
In the above embodiment, the case where there is one destination node is shown, but it goes without saying that the same method can be applied even when there are a plurality of destination nodes.
【0115】
When there are a plurality of destination nodes, the maximum value may be set as the above-mentioned response cycle, or a plurality of individual destination nodes may be set individually.
【0116】
(Other Embodiments of the present invention) The present invention may be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.) or a device composed of one device. good.
【0117】
Further, in order to operate various devices so as to realize the functions of the above-described embodiment, software for realizing the functions of the above-described embodiment is provided to a device connected to the various devices or a computer in the system. The present invention also includes those carried out by supplying a program code and operating the above-mentioned various devices according to a program stored in a computer (CPU or MPU) of the system or device.
【0118】
Further, in this case, the program code itself of the software realizes the function of the above-described embodiment, and stores the program code itself and means for supplying the program code to the computer, for example, such a program code. The storage medium constitutes the present invention. As a storage medium for storing such a program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a non-volatile memory card, a ROM, or the like can be used.
【0119】
Further, by executing the program code supplied by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) or other application software in which the program code is running on the computer, etc. Needless to say, such a program code is included in the embodiment of the present invention even when the functions of the above-described embodiment are jointly realized.
【0120】
Furthermore, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the CPU provided in the function expansion board or function expansion unit is based on the instruction of the program code. It goes without saying that the present invention also includes a case where a part or all of the actual processing is performed by the processing, and the function of the above-described embodiment is realized by the processing.
【0121】
[Effect of the invention]
As described above, in the present invention, the data transfer efficiency in the network or the bus system is prevented from being lowered, and the data transfer speed in the device connected to the network or the bus system is lowered. It has the effect of being able to provide equipment that can reduce costs.
【0122】
Further, according to the present invention, when the communication band is not used so much, a large number of communications can be performed simultaneously, and data lost due to interruption of data transfer can be easily detected. There is an effect that the recovery from the interruption can be performed reliably and easily.
[Simple explanation of drawings]
[Figure 1]
It is a block diagram which shows the embodiment of this invention.
[Figure 2]
It is a block diagram which shows the operation of each node which concerns on this invention.
[Fig. 3]
It is a figure which shows the diagram of the transfer of a command and data between each node which concerns on this invention.
[Fig. 4]
It is a figure which shows the detail of the data transfer performed between the source node and the destination node which concerns on this invention.
[Fig. 5]
It is a figure which shows the asynchronous packet which concerns on this invention.
[Fig. 6]
It is a block diagram which shows the conventional example.
[Explanation of symbols]
10 computer 12 Arithmetic processing unit (MPU) 14 First 1394 interface 16 First operation unit such as keyboard 18 First decoder 20 Display devices such as CRT displays 22 hard disk 24 First memory 26 Computer internal bus such as PCI bus 28 VCR 30 Imaging optics 32 A / D converter 34 Video processing unit 36 Compression / decompression circuit 38 Second memory 40 Third memory 42 First data selector 44 Second 1394 interface 46 First memory control circuit 48 Second memory control circuit 50 system controller 52 Second operation unit 54 Electronic viewfinder 56 D / A converter 58 Recording section 60 printer 62 Third 1394 interface 64 Second data selector 66 Third operation unit 68 Printer controller 70 Second decoder 72 Fourth memory 74 Image processing unit 76 driver 78 Printer head 200 control nodes 202 202 Source node 204 Destination node 206 Subunit inside the source node 208 object such as image data 210 First memory space inside the destination node 212 First connection 214 Nth memory space inside the destination node 216th nth connection 250 source nodes 252 Communication data buffer inside the destination node 254 Next-stage circuit inside the destination node 256th data transfer 258 i-th response 260 (i + 1) th data transfer 262 (i + 1) th response 264 Response cycle 266 Data movement inside the destination node 268 Delay due to data movement inside the destination node
76 members in 7 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 9791798 | Japan | A | |
| JP19980097917 | – | – | – |
Members76
| Document | Office | Kind | |
|---|---|---|---|
| EP0938218A2 | European Patent Office (EPO) | A2 | |
| EP0939529A2 | European Patent Office (EPO) | A2 | |
| EP0939530A2 | European Patent Office (EPO) | A2 | |
| JPH11252153A | Japan | A | |
| JPH11261608A | Japan | A | |
| JPH11261621A | Japan | A | |
| KR19990072861A | Republic of Korea | A | |
| KR19990072864A | Republic of Korea | A | |
| KR19990072911A | Republic of Korea | A | |
| KR19990072916A | Republic of Korea | A | |
| KR19990072917A | Republic of Korea | A | |
| KR19990072918A | Republic of Korea | A | |
| CN1233023A | China | A | |
| JPH11298509AThis record | Japan | A | |
| JPH11308255A | Japan | A | |
| JPH11308256A | Japan | A | |
| JPH11313091A | Japan | A | |
| JPH11313124A | Japan | A | |
| CN1234671A | China | A | |
| CN1234672A | China | A | |
| JPH11317755A | Japan | A | |
| CN1235303A | China | A | |
| CN1235460A | China | A | |
| CN1235462A | China | A | |
| JPH11355319A | Japan | A | |
| JPH11355320A | Japan | A | |
| JP2000032005A | Japan | A | |
| JP2000032010A | Japan | A | |
| EP0984600A2 | European Patent Office (EPO) | A2 | |
| EP0984601A2 | European Patent Office (EPO) | A2 | |
| EP0984602A2 | European Patent Office (EPO) | A2 | |
| EP0938218A3 | European Patent Office (EPO) | A3 | |
| EP0939529A3 | European Patent Office (EPO) | A3 | |
| KR100294960B1 | Republic of Korea | B1 | |
| KR100311706B1 | Republic of Korea | B1 | |
| KR100311707B1 | Republic of Korea | B1 | |
| KR100312276B1 | Republic of Korea | B1 | |
| CN1119001C | China | C | |
| US2003156093A1 | United States of America | A1 | |
| US2003172201A1 | United States of America | A1 | |
| US2003193948A1 | United States of America | A1 | |
| KR100407095B1 | Republic of Korea | B1 | |
| US6678769B1 | United States of America | B1 | |
| US6690648B2 | United States of America | B2 | |
| CN1161940C | China | C | |
| US6804250B2 | United States of America | B2 | |
| CN1179280C | China | C | |
| CN1184786C | China | C | |
| CN1184787C | China | C | |
| US6895003B1 | United States of America | B1 | |
| US7002964B1 | United States of America | B1 | |
| MY123326A | Malaysia | A | |
| MY125043A | Malaysia | A | |
| JP3814407B2 | Japan | B2 | |
| JP3862403B2 | Japan | B2 | |
| KR100664634B1 | Republic of Korea | B1 | |
| CN1301471C | China | C | |
| MY128864A | Malaysia | A | |
| EP0939529B1 | European Patent Office (EPO) | B1 | |
| DE69935940D1 | Germany | D1 | |
| JP4026979B2 | Japan | B2 | |
| MY134779A | Malaysia | A | |
| DE69935940T2 | Germany | T2 | |
| JP4046846B2 | Japan | B2 | |
| JP4065466B2 | Japan | B2 | |
| MY135481A | Malaysia | A | |
| JP4143205B2 | Japan | B2 | |
| MY138138A | Malaysia | A | |
| EP0984601A3 | European Patent Office (EPO) | A3 | |
| EP0938218B1 | European Patent Office (EPO) | B1 | |
| US7590133B2 | United States of America | B2 | |
| DE69941313D1 | Germany | D1 | |
| EP0939530A3 | European Patent Office (EPO) | A3 | |
| EP0984600A3 | European Patent Office (EPO) | A3 | |
| EP0984602A3 | European Patent Office (EPO) | A3 | |
| JP4428750B2 | Japan | B2 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Decision of refusalJAPANESE INTERMEDIATE CODE: A02A02 | A02 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 11-298509
- Publication, DOCDB
- H11298509
- Publication, EPODOC
- JPH11298509
- Application
- 10097917
- Application, DOCDB
- 9791798
- Application, EPODOC
- JP19980097917
Titles2
- Japanese
- 【発明の名称】データ通信システム、データ通信方法、データ通信装置及び記憶媒体
- English
- Description: Data communication system, data communication method, data communication device and storage medium.
Classification
- IPC, 2
- G06F13 00
- H04L12 40