WO2005029778A1 - 通信制御回路および通信制御方法 - Google Patents

通信制御回路および通信制御方法 Download PDF

Info

Publication number
WO2005029778A1
WO2005029778A1 PCT/JP2003/011796 JP0311796W WO2005029778A1 WO 2005029778 A1 WO2005029778 A1 WO 2005029778A1 JP 0311796 W JP0311796 W JP 0311796W WO 2005029778 A1 WO2005029778 A1 WO 2005029778A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
communication
transmission
response
serial bus
Prior art date
Application number
PCT/JP2003/011796
Other languages
English (en)
French (fr)
Inventor
Suehiro Kawanishi
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/011796 priority Critical patent/WO2005029778A1/ja
Priority to JP2005509036A priority patent/JP4040654B2/ja
Publication of WO2005029778A1 publication Critical patent/WO2005029778A1/ja
Priority to US11/329,096 priority patent/US7330921B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to a communication control circuit for transmitting and receiving data with one or more communication nodes connected via a bus in a synchronous transfer mode based on a unique communication cycle, and a communication control method in the communication control circuit.
  • the present invention relates to a communication control circuit and a communication control method capable of guaranteeing a real-time response of transmission data.
  • an asynchronous transfer mode and an asynchronous transfer mode are prepared as operation modes of data transfer.
  • the isochronous transfer mode is an operation mode that guarantees transmission within an isochronous cycle to all communication nodes that have issued transmission requests, and mainly transfers image and audio data in one direction in real time. It is intended to
  • the asynchronous transfer mode is an operation mode in which a certain bandwidth is not guaranteed. Data is transferred to a specific node, and the receiving node returns a response. And are obliged. Therefore, control commands and the like are usually transferred using the asynchronous transfer mode.
  • control commands and the like are usually transferred using the asynchronous transfer mode.
  • the use of the isochronous transfer mode is required. I have.
  • a communication node assigned to a management station periodically transmits a cyclical trigger packet indicating a start of a communication cycle in an asynchronous communication phase, while a communication node assigned to a normal station.
  • a transmission request is issued in the asynchronous communication phase to obtain a transmission opportunity.
  • a cyclic data communication system configured to transmit data (see, for example, Patent Document 1).
  • high-speed transfer and high-response control are possible by obtaining data transmission timing in the asynchronous communication phase and transferring data in the asynchronous communication phase.
  • Patent Document 1
  • the manufacturing cost and installation area of the communication system will be large Kuna', the c example, the receiving side Roh one de head to over the time of transfer by the external control device generates a receive interrupt by an external controller It is necessary to detect the occurrence, set response data, issue a response data transfer start command, and so on. Due to the occurrence of such overhead, it was difficult to guarantee real-time data transfer. Disclosure of the invention
  • the present invention has been made in view of such a point, and it is possible to execute a process of receiving a response to transmitted data within a predetermined time using a synchronous transfer mode without using an external control circuit. It is an object to provide a simple communication control circuit.
  • Another object of the present invention is to provide a communication system capable of executing a process of receiving a response to transmitted data within a predetermined time using a synchronous transfer mode without using an external control circuit.
  • the purpose is to provide a control method.
  • the communication control circuit is a communication control circuit that controls data transmission and reception performed in a synchronous transfer mode based on a unique communication cycle with one or more communication nodes connected through the serial bus 10.
  • An allowable time calculation unit 101 that calculates an allowable time until the communication data is received based on the communication cycle; andresponse data received as a response to the transmission data transmitted through the serial bus 10;
  • a response time management unit that manages whether or not reception is performed within the allowable time calculated by the allowable time calculation unit.
  • Such a communication control circuit is provided, for example, in the communication node 1 on the transmission side that transmits control data and the like for controlling the operation of another communication node.
  • the permissible time calculation unit 101 determines the data length of the transmission data transmitted to each communication node connected to the serial bus 10 and the data length of the response data corresponding to the transmission data. Then, the number of communication nodes to which the transmission data is to be transmitted and the transmission time, and the allowable time until receiving the response data to the transmission data are calculated based on the communication cycle.
  • the response time management unit 102 receives the response data received as a response to the transmission data transmitted through the serial bus 10 within the allowable time calculated by the allowable time calculation unit 101. Manage whether it was done.
  • the time until a response to the transmission data is received is managed based on the communication cycle specified in the synchronous transfer mode. For example, if a response is received within the allowable time, the next transmission data is managed. If the allowable time is exceeded before sending and receiving a response, processing can be performed when an error is notified.
  • This communication control circuit is a communication control circuit that controls data transmission and reception performed in a synchronous transfer mode based on a unique communication cycle with one or more communication nodes connected through the serial bus 10.
  • a response data holding unit 201 that previously holds response data corresponding to transmission data transmitted from the predetermined communication node on the serial bus 10; and the transmission data received through the serial bus 10.
  • a reception data extraction unit 202 for extracting a data addressed to itself from the data, and a response data to the transmission data extracted by the reception data extraction unit 202 from the response data holding unit 201.
  • a response data output unit 203 for requesting transmission of the transmission data to a transmission source.
  • Such a communication control circuit is provided, for example, in a communication node 2 on the receiving side that receives control data and the like from a control host that controls the operation of devices connected to the communication control circuit.
  • the response data holding unit 201 previously holds response data corresponding to transmission data transmitted from a predetermined communication node corresponding to the control host.
  • the reception data extraction unit 202 extracts the transmission data received via the serial bus 10 and addressed to itself.
  • the response data output unit 203 acquires the response data corresponding to the transmission data from the response data holding unit 201, Requests transmission of transmission data to the sender.
  • the response data corresponding to the received transmission data is transmitted to the transmission source communication node 1 via the serial bus 10.
  • the transmission data transmitted to the communication node on the serial bus takes a communication cycle defined in the synchronous transfer mode until the response from the communication node of the transmission destination is received. Since it is managed on the basis, real-time data transfer can be guaranteed. Also, the response time is set based on the communication cycle.
  • response data to the transmission data is obtained from response data stored in advance, and the transmission source Since the control is performed so as to return the response, the overhead of processing the response is reduced. As a result, a response can be received in a short time at the communication node of the transmission source, and real-time data transfer can be guaranteed.
  • FIG. 1 is a principle configuration diagram showing the principle of the present invention.
  • FIG. 2 is a diagram showing a configuration example of a communication system to which the present invention is applied.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a communication node serving as a control host.
  • FIG. 4 is a block diagram showing the internal configuration of the 1394 IZF module provided in the control host.
  • FIG. 5 is a block diagram showing an example of a hardware configuration of a communication node to be controlled.
  • FIG. 6 is a block diagram showing the internal configuration of the 1394 I / F module provided in the communication node to be controlled.
  • FIG. 7 is a diagram illustrating an example of a packet configuration when a control command is transmitted from a communication node that is a control host.
  • FIG. 8 is a diagram showing the data transmission / reception timing on the serial bus when the time-out time is set to a time corresponding to one cycle of the isochronous cycle.
  • Figure 9 shows that the time-out time is set to two cycles of the isochronous cycle.
  • FIG. 8 is a diagram showing data transmission / reception timing on the serial bus in the case where the data is transmitted.
  • FIG. 10 is a flowchart showing the flow of processing when transmitting a control command in a communication node which is a control host.
  • FIG. 11 is a flowchart showing the flow of processing at the time of receiving a control command in a communication node on the receiving side of the control command.
  • FIG. 2 is a diagram showing a configuration example of a communication system to which the present invention is applied.
  • the present invention is applied to a communication system in which a plurality of communication nodes 1 to 5 are connected via a serial bus 10.
  • Each of the communication nodes 1 to 5 is realized, for example, as a computer device, a home appliance, a manufacturing device in an FA system, or the like.
  • FIG. 1 shows an example in which five communication nodes are connected to the serial bus 10 as an example, the present invention is applicable when there are two or more communication nodes.
  • data can be transmitted and received in a synchronous transfer mode based on a unique communication cycle.
  • one of the communication nodes is assigned to a management station for synchronous transfer, and the management station periodically transmits a signal indicating the start of a communication cycle on the serial bus 10 to realize synchronous transfer.
  • the present invention is applied to a case where data is transmitted from any communication node to another communication node and a response is returned from the communication node of the transmission destination to the transmission source.
  • a response is returned from the communication node of the transmission destination to the transmission source.
  • real-time data transfer and response to the data transfer are guaranteed. For example, if one communication node is used as a control host and another communication node is used as a device to be controlled, control data is simultaneously transferred from the control host to multiple devices to be controlled in a certain communication cycle.
  • the present invention is applicable to a system in which it is confirmed that a response from control data has been received within a predetermined time, and the process proceeds to the next control.
  • FIG. 1 is a principle configuration diagram showing the principle of the present invention.
  • Fig. 1 As an example, It is assumed that communication node 1 is the data transmission side. Also, the communication node 2 is shown as a representative of the data receiving side.
  • the communication node 1 on the transmission side includes an allowable time calculation unit 101, a response time management unit 102, a lower layer control unit 103, and an IZF (interface) circuit 104. are doing.
  • the communication node 2 on the receiving side includes a response data holding unit 201, a reception data extraction unit 202, a response data output unit 203, a lower layer control unit 204, and an IZF circuit 205. ing.
  • the allowable time calculation unit 101, the response time management unit 102, the lower layer control unit 103, and the IZF circuit 104 are connected to, for example, the serial bus 10 for communication.
  • the communication is provided in the I / F module.
  • the allowable time calculation unit 101, the response time management unit 102, and the lower layer control unit 103 are provided, for example, by being integrated on the same substrate.
  • the allowable time calculation unit 101 is configured to transmit the data length of the transmission data transmitted to each of the communication nodes 2 to 5 connected to the serial bus 10, the data length of the response data corresponding to the transmission data, and Based on the number of communication nodes at the data transmission destination, the allowable time until the response data corresponding to the transmission data is received is calculated based on the communication cycle specified in the synchronous transfer mode.
  • the response time management unit 102 determines whether or not the response data received as a response to the transmission data transmitted through the serial bus 10 is within the allowable time calculated by the allowable time calculation unit 101 Or manage.
  • the lower-layer control unit 103 specifies the electrical interface to the I-circuit 104 and transmits and receives packets for transmitting transmission data to the serial bus 10 and receiving response data from the serial bus 10. It performs control processing of lower layers on the network protocol, including control on communication cycles and the like.
  • This lower layer includes, for example, control for each of the electrical interface, packet transmission / reception, and communication cycle.
  • the IZF circuit 104 is electrically connected to the serial bus 10 and transmits a signal output from the lower layer control unit 103 to the serial bus 10.
  • the signal received through the serial bus 10 is supplied to the lower layer control unit 103.
  • the response data holding unit 201, the reception data extraction unit 202, the response data output unit 203, the lower layer control unit 204, and the I / F circuit 205 include, for example, It is provided in the communication I / F module for performing communication by connecting to the serial bus 10.
  • the response data holding unit 201, the reception data extraction unit 202, and the response data output unit 203 are provided, for example, integrated on the same substrate.
  • the response data holding unit 201 holds response data corresponding to transmission data to be transmitted before receiving data from the communication node 1.
  • the reception data extraction unit 202 extracts transmission data addressed to the communication node 2 from transmission data received via the serial bus 10.
  • the response data output unit 203 acquires the response data corresponding to the transmission data extracted by the reception data extraction unit 202 from the response data holding unit 201, and lowers the transmission to the communication node 1 that is the transmission source. Request to layer controller 204.
  • the lower-layer control unit 204 corresponds to the function of the lower-layer control unit 103, and receives transmission data from the serial bus 10 and transmits response data to the serial bus 10. It specifies the electrical interface to the IZF circuit 205 and controls the lower layers of the network protocol, including control over packet transmission / reception and communication cycles.
  • the circuit 205 corresponds to the function of the IZF circuit 104 and is electrically connected to the serial bus 10 to transmit a signal output from the lower layer control unit 204 to the serial bus 10. . Also, the signal received through the serial bus 10 is supplied to the lower layer control unit 204.
  • a request for transmitting predetermined data to each of the communication nodes 2 to 5, for example, is issued by the processing of the upper layer application.
  • the permissible time calculation unit 101 acquires information on the data length of the transmission data and the data length of the response data corresponding to the transmission data from the requested transmission data. These data may be stored in association with, for example, a recording medium in advance.
  • the permissible time calculation unit 101 calculates the length of each data, the number of communication nodes at the transmission destination, and the like. Then, the allowable time until the response from each of the communication nodes 2 to 5 is received after transmission of the transmission data is calculated based on the communication cycle specified in the synchronous transfer mode. Here, the permissible time calculation unit 101 determines the time required for data transmission according to the data length of the transmission data and the right for each of the communication nodes 2 to 5 to perform data communication on the serial bus 10.
  • Transmission data requested by the processing unit of the upper layer application program is stored in a bucket in the lower layer control unit 103, output to the IZF circuit 104, and transmitted to the serial bus 10 .
  • the response time management unit 102 monitors the data received through the IF circuit 104 and the lower layer control unit 103, and counts the time until the response data is received.
  • each of the communication nodes 2 to 5 on the receiving side receives the data transmitted to the serial bus 10.
  • the data is received by the IZF circuit 205, passed to the lower layer control unit 204, and the data is extracted from the packet.
  • the reception data extraction unit 202 extracts transmission data addressed to the communication node 2 from the extracted data.
  • the response data output unit 203 acquires the response data to be sent back to the extracted transmission data from the response data holding unit 201, and stores the response data in the lower layer. Output to the control unit 204 to request transmission to the communication node 1. As a result, the response data is stored in a predetermined bucket in the lower layer control unit 204, and when the transmission right on the serial path 10 is obtained, this packet is transmitted to the serial via the I / F circuit 205. Sent out on bus 10.
  • the response data transmitted to the serial bus 10 is received by the I / F circuit 104.
  • the response time management unit 102 acquires the received response data via the lower layer control unit 103, and returns the response data from all the communication nodes 2 to 5 within the allowable time. It is determined whether or not it has been received. Receive within the allowed time If this is done, the application program processing unit in the upper layer is notified of this fact and requests the output of transmission data to be transmitted next. If the message is not received within the allowable time, an error is notified to, for example, an application program processing unit of an upper layer.
  • the communication node 1 on the data transmission side can receive a response to the transmitted data by communication using the synchronous transfer mode, and manage the time until this response based on the communication cycle. Can be. Therefore, it is possible to recognize whether or not the communication node on the receiving side has received the transmission data within a predetermined time, and it is possible to secure real-time data transfer.
  • the above-mentioned real-time property is realized by processing in the lower layer on the network protocol, so that these processing functions can be performed without using an external control circuit. Can be implemented in the control circuit in the communication I ZF module. Therefore, the manufacturing cost and the set area can be reduced, the processing overhead is reduced, and real-time data transfer can be performed more accurately.
  • the communication node 2 on the data receiving side obtains response data corresponding to the transmission data from the response data previously held in the response data holding unit 201. It is controlled to reply to the sender. Therefore, by implementing such a function in the control circuit in the communication IZF module, high-speed response processing with little overhead can be performed without performing processing in an upper layer application by an external control circuit. , And real-time performance of data transfer can be more easily ensured.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the communication node 1 serving as a control host.
  • the communication node 1 is realized as a computer device such as a PC. 2 shows a configuration example.
  • the communication node 1 has a CPU (Central Processing Unit) 110, a RAM (Random Access Memory) 120, a HDD (Hard Disk Drive) 130, a graphic processing unit 140, an input I / F 150, and 1394. 1 / F module 160, which are interconnected via an internal bus 170.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • 1 / F module 160 which are interconnected via an internal bus 170.
  • the CPU 110 executes a program stored in the HDD 130 to control the operation of the entire communication node 1.
  • the RAMI 20 temporarily stores at least a part of a program executed by the CPU 110 and various data necessary for processing by the program.
  • the HDD 130 stores an OS (Operating System), application programs, and various data.
  • the application program includes a program for controlling the operation of other communication nodes 2 to 5 and a communication control program for controlling the upper layer of the communication protocol of the IEEE 1394 bus (here, serial bus 10). Etc. are included.
  • a monitor 141 is connected to the graphic processing unit 140.
  • the graphic processing unit 140 displays an image on the screen of the monitor 141 in accordance with an instruction from the CPU 110.
  • a keyboard 151 and a mouse 152 are connected to the input IZF 150.
  • the input IZF 150 transmits signals from the keyboard 151 and the mouse 152 to the CPU 110 via the internal bus 170.
  • I / F module 160 is a communication IZF on the transmitting side of control signals to communication nodes 2 to 5, and communicates with other communication nodes 2 to 5 via serial bus 10 according to the IEEE 1394 standard. Send and receive data.
  • FIG. 4 is a block diagram showing the internal configuration of the 1394 1 / F module 160.
  • the 1394 I / F module 160 includes an I / F circuit 161 and a communication control LSI 162 as shown in FIG.
  • the I circuit 161 is electrically connected to the serial bus 10 to transmit and receive signals.
  • the communication control LS 1162 is configured to operate the I ZF circuit according to the processing of the upper layer application program executed by the CPU 110. 16 Controls the operation of 1.
  • the communication control LSI 162 includes transmission control of control commands to the other communication nodes 2 to 5 and response to the control commands.
  • a control circuit for managing data reception timing is mounted.
  • the communication control LSI 16 2 includes a physical layer control circuit 6 2 1, a link layer control circuit 6 2 2, a transaction layer control circuit 6 2 3, a transmission memory 6 2 4, a reception memory 6 2 5, and a bus reset control circuit. 6 26, a timeout management circuit 6 27, and a response data management circuit 6 28.
  • the physical layer control circuit 62 1 performs signal conversion processing between an electric signal transmitted and received via the serial bus 10 and a logical signal used in the link layer control circuit 62 2. Specifically, encoding and decoding of logic signals used by the link layer control circuit 622, provision of electrical I / F such as levels of electrical signals, and execution of arbitration for the right to use the serial bus 10 It performs processing such as communication clock resynchronization control.
  • the link layer control circuit 622 performs signal processing between the physical layer control circuit 621 and the transaction layer control circuit 623.
  • the transaction layer control circuit 623 receives data and instructions from the transaction layer control circuit 623, generates a standard packet based on the IEEE 1394 standard, requests the physical layer control circuit 621 to transmit, and The data output from the physical layer control circuit 621 is subjected to data check, data frame division, and the like, and data is extracted from the bucket and transferred to the transaction layer control circuit 623. If it becomes the root node, it performs control processing of the isochronous cycle.
  • the transaction layer control circuit 623 includes an upper layer application program executed by the CPU 110 via the transmission memory 624 and the reception memory 625, and the link layer control circuit 622. Signal processing is performed between. For example, the data and instructions stored in the transmission memory 624 are transmitted to the link layer control circuit 622, and the data received from the link layer control circuit 622 are stored in the reception memory 625. I do.
  • the transmission memory 624 is a first-in first-out (FIFO) data buffer dedicated to transmission in the asynchronous transfer mode, and stores data and instructions generated by processing of the upper layer application program in the internal bus 17.
  • the response data management circuit 628 receives and holds the received data and outputs the held data and instructions to the transaction layer control circuit 623 in response to a request from the response data management circuit 628 or the like.
  • the reception memory 625 is a FIFO data buffer dedicated to reception in the asynchronous transfer mode, and holds the data received from the transaction layer control circuit 623 to the response data management circuit 628. Output.
  • the bus reset control circuit 626 is a circuit for controlling an initialization (bus reset) operation in the serial bus 10, and notifies the timeout management circuit 627 of the number of connection nodes after the completion of the bus reset.
  • the time-out management circuit 627 sets a time-out period (hereinafter referred to as a time-out time) when a response to this control command is received when transmitting a control command to the communication nodes 2 to 5 based on an isochronous cycle. Set and count the reception time.
  • the timeout management circuit 627 Upon receiving a task start request issued by processing of an upper layer application program via the internal bus 170, the timeout management circuit 627 notifies the response data management circuit 628 of a control command for the requested task. Then, the data length of the response data corresponding to these is acquired, and according to the response data, the data length of the control command to be transmitted, and the number of connection nodes notified from the bus reset control circuit 626, Calculate and set the timeout period.
  • the timeout time is measured based on, for example, a clock signal supplied to this circuit or by counting the isochronous cycles output by the link layer control circuit 622. I'm sorry.
  • the response data management circuit 628 notifies the timeout management circuit 627 of the data length of the response data corresponding to the transmitted control command, and then stores the response data stored in the reception memory 625.
  • the data is monitored, and whether or not the response data is received within the timeout period is determined based on the information from the timeout management circuit 627. If the response data is received normally, the next control command Allow transmission. Specifically, the determination result is notified to the upper layer application program processing unit through the internal bus 170, the next control command is stored in the transmission memory 624, and the control command is read out. Request.
  • FIG. 5 is a block diagram showing a hardware configuration example of the communication node 2 on behalf of these. Note that the other communication nodes 3 to 5 can also be realized with the same hardware configuration. You can.
  • Communication node 2 consists of CPU 210, ROM (Read Only Memory) / RAM 220, device I ZF 230, controlled device 240, and 13941 ZF module 250, which are interconnected via internal bus 260 Have been.
  • the CPU 210 executes a program stored in ROM / RAM 220 to control the operation of communication node 2 as a whole.
  • the ROMZRAM 220 holds application programs and data to be executed by the CPU 210 in advance, and temporarily stores various data required for processing by the programs.
  • the abbreviated program includes a program for controlling the operation of the controlled device 240 in accordance with a control signal from the communication node 1 as a control host, and a communication program for the IE 1394 bus (here, the serial bus 10). It includes a communication control program that controls the upper layer of the protocol.
  • the control target device 240 is a device whose operation is controlled by the communication node 1 which is a control host.
  • the controlled device 240 is configured as a manufacturing machine for manufacturing a product or a part thereof.
  • the 13941 ZF module 250 is a communication IZF on the receiving side of the control signal from the communication node 1, and transmits and receives data to and from the other communication nodes 1 and 3 to 5 through the serial bus 10 according to the IEEE 1394 standard. .
  • FIG. 6 is a block diagram showing the internal configuration of the 1394 IZF module 250.
  • the 1394 IZF module 250 includes an I / F circuit 251 and a communication control LSI 252.
  • the I / F circuit 251 is electrically connected to the serial bus 10 to transmit and receive signals.
  • the communication control LS 1252 controls the operation of the IZF circuit 251 according to the processing of the upper layer application program executed by the CPU 210.
  • the communication control LSI 252 includes a control circuit for controlling transmission of response data to a control command received from the communication node 1.
  • the communication control LSI 252 includes a physical layer control circuit 521, a link layer control circuit 522, It includes a transaction layer control circuit 523, a transmission memory 524, a reception memory 525, and a data filter circuit 526.
  • the physical layer control circuit 5 2 1, the link layer control circuit 5 2 2, and the transaction layer control circuit 5 2 3 are the physical layer control circuit 6 2 1, the link layer control circuit 6 2 2, and the transaction layer control of the communication node 1, respectively. It has a function similar to that of the circuit 623. That is, the physical layer control circuit 521 performs a signal conversion process between an electric signal transmitted / received via the serial bus 10 and a logical signal used in the link layer control circuit 522.
  • the link layer control circuit 522 performs processing such as control of packet transmission and reception between the physical layer control circuit 521 and the transaction layer control circuit 523.
  • the transaction layer control circuit 523 comprises an upper layer application program processing section executed by the CPU 210 via the transmission memory 524 and the reception memory 525, and a link layer control circuit 522. And performs signal processing.
  • the transmission memory 524 is a transmission-only memory in the asynchronous transfer mode, and holds response data to a control command transmitted from the communication node 1 in advance, and responds to a request from the data filter circuit 526. Then, the corresponding response data is output to the transaction layer control circuit 523.
  • the reception memory 525 is a FIFO data buffer dedicated to reception in the isochronous transfer mode, and temporarily holds data from the transaction layer control circuit 523, and stores the data in the data filter circuit 526. Output to
  • the data filter circuit 526 extracts the control command received from the communication node 1 and addressed to the own node from the control commands stored in the reception memory 525, and the upper layer application through the internal bus 260. In addition to notifying the program processing unit, it requests the transmission memory 524 to transmit response data corresponding to the control command.
  • FIG. 7 is a diagram illustrating an example of a packet configuration when a control command is transmitted from the communication node 1.
  • the control command for each of the communication nodes 2 to 5 to be controlled is processed by the processing of the application program executed by the CPU 110.
  • the operation of multiple communication nodes synchronized at the same timing is controlled as one task.
  • control commands for each of one or more communication nodes to be controlled by this task are transmitted at once.
  • control commands for the respective communication nodes 2 to 5 are transmitted on the serial bus 10 in synchronization with the isochronous cycle for each task.
  • FIG. 7 shows an example of a data bucket transmitted when the start of one task is requested.
  • This data bucket is generated as an isochronous bucket based on the IEEE 1394 standard in the link layer control circuit 622, and a channel or the like indicating the communication node of the transmission destination is specified at the head.
  • a header section is provided.
  • “3F” is specified as the channel number so that all the communication nodes connected as the destination are specified in the head part.
  • the data bucket of FIG. 7 is broadcast-transferred onto the serial bus 10.
  • control commands for each connected communication node are stored in order. Since a unique control command is prepared for each communication node, the communication node to be controlled is specified only by the control command.
  • the communication node 1 can recognize the number of connected communication nodes in the bus reset control circuit 6 26 when the bus reset is executed. Control command storage areas are provided for the number of nodes set. Then, when there is a control command to be transmitted to each communication node in each task, the control command is stored in a corresponding area. Therefore, no data is stored in the area corresponding to the communication node where there is no control command to be transmitted, for example, except for the synchronous data indicating the head of each area.
  • the data length of the data bucket transmitted to each communication node can be suppressed, and the receiving process on the receiving side can be simplified. Also, if the data length of the control command transmitted to each communication node is known, it is possible to calculate the data length of the transmitted data bucket.
  • the communication nodes 2 to 5 on the receiving side transmit data packets as responses using different channels. As described above, these data packets are composed of header information in which information designating the communication node 1 as a destination is stored, and a data area in which response data is stored. Therefore, if the data length of the response data is known, it is possible to calculate the data length of the returned data packet.
  • the timeout management circuit 627 calculates the timeout time, and counts the time until the response is received.
  • the timeout time is calculated on the basis of the isochronous cycle according to the data lengths of the transmitted control commands and the response data corresponding thereto and the number of connected nodes.
  • FIG. 8 is a diagram showing the data transmission / reception timing on the serial bus 10 when the time-out time is set to one isochronous cycle time.
  • a cycle start signal (C S) transmitted from the root node starts a 125 ⁇ sec sec- ondless cycle.
  • the communication node 1 broadcast-transmits a data bucket storing a control command corresponding to the requested task.
  • the communication node on the receiving side extracts the control command addressed to its own node from the received data packet, and then transfers the data packet to another communication node.
  • data packets from communication node 1 are distributed to all connected communication nodes 2 to 5.
  • the communication node that has extracted the control command addressed to the own node returns response data using different channels after executing the process of acquiring the right to use on the serial bus 10. After the transfer by one communication node is completed, the response data is returned by another communication node that has acquired the right to use the bus.
  • the transfer rate specified on the serial bus 10 and the transmission from the communication node 1 The time required for these data transfers can be calculated from the length of the data bucket transmitted and the length of the data bucket returned as a response.
  • the processing time from the transmission of the cycle start signal to the transmission of data by the communication node 1 and the processing time required to acquire the right to use the bus in each communication node on the receiving side are almost constant. Therefore, taking into account these times, the timeout management circuit 6 27 of the communication node 1 is required to receive the response data from all the communication nodes that transmitted the control command at the time of one task start request. Time can be estimated, and the timeout time can be calculated from this time. That is, the timeout management circuit 627 determines the number of connected nodes, the data length of each control command transmitted to request one task start, and the data of response data corresponding to these control commands. From the length, the time-out time can be calculated.
  • FIG. 9 is a diagram showing data transmission / reception timing on the serial bus 10 when the time-out time is set to two periods of the isochronous cycle.
  • the time-out management circuit 6 27 is designed to allow the time required to receive response data from all communication nodes that transmitted a control command when requesting one task start to be within one isochronous cycle, for example. For example, as shown in FIG. 8, the time until the output of the next cycle start signal after transmission may be set as the timeout time. If the time until reception exceeds one cycle of the isochronous cycle, for example, as shown in FIG. 9, the time for a plurality of cycles of the isochronous cycle may be set as the timeout time. . Note that FIG. 9 shows another example in which six communication nodes on the receiving side are connected. By setting the time-out time in this manner, it is possible to confirm the reception of response data in synchronization with the data transfer cycle specified in the asynchronous transfer mode, and real-time control is assured. .
  • FIG. 10 is a flowchart showing the flow of processing when the communication node 1 transmits a control command.
  • step S101 at the time of the bus reset process, the bus reset control circuit 626 notifies the number of connection nodes to the time count management circuit 627.
  • step S1002 the process waits for the transfer of data for requesting the task start from the processing unit of the application program in the upper layer. When the data is transferred, the process proceeds to step S1003. At this time, a control command corresponding to the requested task is stored in the transmission memory 624.
  • step S103 the timeout management circuit 627 sets the data length of the control command corresponding to the task.
  • the data length of response data corresponding to each control command is inquired to the response data management circuit 628, and these data lengths are obtained and set.
  • step S1004 the timeout management circuit 627 calculates a timeout time from the data length of the transmitted control command and response data and the number of connected nodes.
  • step S105 the control command is read from the transmission memory 624, and the called control command is stored in the transaction layer control circuit 623, the link layer control circuit 622, and the physical layer.
  • the data packet output to the IZF circuit 161 via the control circuit 621 and storing the control command is transmitted on the serial bus 10.
  • the timeout management circuit 627 starts counting time.
  • step S106 response data from the destination communication node is received and received via the physical layer control circuit 61, the link layer control circuit 62, and the transaction layer control circuit 623. Is stored in the memory for application 6 25.
  • the response data management circuit 628 determines that the stored data is response data to the transmitted task start request, the process proceeds to step S107. If the response data no longer exists in the reception memory 6 25, the process proceeds to step S 110.
  • step S107 reception of the response data read from the reception memory 625 is notified to the time-out management circuit 627, and an inquiry is made as to whether or not this response data has been received within the time-out time. As a result, if it is within the time-out time, the flow proceeds to step S0108. If the time-out time is exceeded, the flow proceeds to step S109.
  • step S108 the response data management circuit 628 opens the next task to the upper layer application program processing unit via the internal bus 170. Request data to start, return to step S106, monitor reception memory 625, and wait for response data to be received next. Therefore, steps S 106 to S 108 are repeated until response data from all communication nodes at the transmission destination is received.
  • step S109 since the reception time exceeds the timeout time, an error is notified to the upper layer application program processing unit through the internal bus 170, and the process proceeds to step S11010. move on.
  • step S01010 it is determined whether or not the end of the process is notified from the upper layer application program processing unit. If not, the process returns to step S0102, and if notified, the process is performed. To end.
  • FIG. 11 is a flowchart showing the flow of processing at the time of receiving a control command in the communication node 2 on behalf of the control command receiving side.
  • step S111 the process waits for reception of a data packet from the control host (communication node 1), and if received, proceeds to step S1102.
  • the received data packet is processed by the physical layer control circuit 521, the link layer control circuit 522, and the transaction layer control circuit 523, and the extracted control commands and data are sequentially stored in the reception memory 525. Is stored.
  • step S112 the data filter circuit 526 reads one piece of received data from the reception memory 525.
  • step S1103 if the data read from the receiving memory 525 is a control command addressed to the own node, the data filter circuit 526 proceeds to step S1104. In this case, the process proceeds to step S111. Since the received data bucket is a broadcast bucket, the communication node 2 transfers the received data bucket to another communication node.
  • step S114 the data filter circuit 526 notifies the processing unit of the application program of the upper layer via the internal bus 260 that the control command addressed to the own node has been received.
  • step S1105 the address storing the response data corresponding to the received control command is designated in the transmission memory 524, and the response data is read. Request expulsion.
  • step S116 the specified response data is read from the transmission memory 524, and the transaction layer control circuit 523, the link layer control circuit 522, and the physical layer control circuit 521 Is supplied to the IZF circuit 251, and transmitted to the communication node 1 through the serial bus 10. Then, after the transmission, the process proceeds to step S111.
  • the physical layer control circuit 5 2 1 the physical layer control circuit 5 2 1
  • the right to use the serial bus 10 is requested to the root node (for example, the communication node 1), and when the right to use is obtained, the IZF circuit 25 Send through one.
  • the IZF circuit 25 Send through one.
  • response data from each communication node that has received the control command is sequentially transmitted to the communication node 1.
  • step S1107 if the end of the process is instructed from the application program processing unit of the upper layer, the process ends. If not instructed, the process returns to step S111 and waits for reception of the next data bucket from communication node 1.
  • one of the communication node on the control host side and the communication node to be controlled is controlled
  • circuits such as the communication control LSIs 162 and 252 in the IZF module tasks can be performed without the need for the CPU to process upper-layer application programs. It is possible to construct a system in which the start instruction and the response to it are completed periodically.
  • the communication control LSI on the control host side can recognize the transmitted control commands and the respective data lengths of the corresponding response data, so that the time delay until the reception of the response data corresponding to each transmitted control command can be achieved. Since the reception time can be managed based on the isochronous cycle by calculating the time, real-time control can be easily ensured. In addition, since the control of the isochronous cycle is performed at the link layer level, the management of the reception time based on this cycle is executed as the processing of the lower layer without being related to the processing of the external CPU. Therefore, high-speed processing with little overhead is realized.
  • the operation of multiple nodes is included in one task, and control of these communication nodes is controlled.
  • control command by broadcast, it is possible to complete the task start instruction and the response reception operation to a plurality of communication nodes that require synchronous operation within a specific time.
  • response data to the control command is held in the communication control LSI in advance, so that when a control command is received, an overhead occurs due to processing of an external CPU. Without this, response data can be returned in a short time. Therefore, real-time control can be maintained more reliably.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

 同期転送モードを用いて、送信したデータに対する応答を一定時間内に受信する処理を外部制御回路を用いずに実行する。許容時間算出部(101)は、シリアルバス(10)に接続された各通信ノードに対して送信する送信データのデータ長と、これらの送信データに対応する応答データのデータ長と、送信データの送信先の通信ノード数とから、送信データに対する応答データを受信するまでの許容時間を、同期転送モードで規定された通信サイクルを基にして算出する。応答時間管理部(102)は、シリアルバス(10)を通じて送信された送信データに対する応答として受信された応答データが、許容時間算出部(101)により算出された許容時間内に受信されたか否かを管理する。これにより、送信データに対する応答データを受信するまでの時間が保証される。

Description

明 細 書 通信制御回路および通信制御方法 技術分野
本発明は、 バスを通じて接続された 1つ以上の通信ノードとの間で、 固有の通 信サイクルに基づく同期転送モードによりデータの送受信を行う通信制御回路、 およびこの通信制御回路における通信制御方法に関し、 特に、 送信データに対す る応答のリアルタイム性を保証することが可能な通信制御回路および通信制御方 法に関する。 背景技術
近年の F A (Factory Automat ion) システムでは、 制御点数や転送データの 容量が増加していることから、 制御コマンドゃデ一タの転送に用レ、られる通信回 線の高速化が必要とされている。 これとともに、 例えば様々なメーカ製の機器を 統合して制御可能とするために、 汎用的な規格の通信回線を用いることが要求さ れている。 一方で、 主に家庭用の電子機器間で、 1 0 0 M b p s〜4 0 0 M b p sといった比較的大容量のデータを転送することが可能なシリアルインタフエ一 ス 格として、 I E E E (the Institute of Electrical and Electronic Engi neers) 1 3 9 4インタフェースが知られており、 F Aシステムにおいても、 こ の I E E E 1 3 9 4インタフェースを用いることが検討されている。
ところで、 I E E E 1 3 9 4インタフェースでは、 データ転送の動作モードと して、 ァイソクロナス転送モードと、 ァシンクロナス転送モードとが用意されて いる。 このうち、 ァイソクロナス転送モードは、 送信要求を発したすべての通信 ノードに対してァイソクロナスサイクル内における送信を保証する動作モードで あり、 主に画像や音声のデータを 1方向にリアルタイムで転送することを目的と している。
これに对して、 ァシンクロナス転送モードは、 一定の帯域幅を保証しない動作 モードであり、 データを特定のノードに転送し、 受信したノードは応答を返すこ とが義務づけられている。 従って、 制御コマンド等は通常、 ァシンクロナス転送 モードを用いて転送される。 しかし、 例えば F Aシステムにおいて、 制御対象の デバイスにタスク開始のための制御コマンドを送信する場合等には、 制御のリァ ルタイム性を保証する必要があるため、 ァイソクロナス転送モードを用いること が要求されている。
なお、 従来の関連技術として、 管理局に割り当てられた通信ノードが、 ァイソ クロナス通信フェーズにおいて、 通信サイクルの開始を示すサイタリック トリガ パケットを周期的に送信する一方、 通常局に割り当てられた通信ノードが、 アイ ソクロナス通信フェーズにおいて、 管理局に割り当てられた通信ノードから送信 されるサイクリック トリガパケットに応答して、 ァシンクロナス通信フェーズに おいて送信要求を発して送信機会を得ることにより、 目的とするデータを送信す るように構成されたサイクリックデータ通信システムがあつた (例えば、 特許文 献 1参照) 。 このシステムでは、 ァイソクロナス通信フェーズによりデータの送 信タイミングを得て、 ァシンクロナス通信フェーズにおいてデータを転送するこ とにより、 高速転送および高応答の制御を可能としている。
特許文献 1
特開 2 0 0 3— 8 5 7 9号公報 (段落番号 〔0 1 0 9〕 〜 〔0 1 1 7〕 、 図 9 )
上述したように、 ァシンクロナス転送モードでは、 データ転送のリアルタイム 性が保証されないため、 ァイソクロナス転送モードを用いてタスク開始のための 制御コマンド等の転送を行うことが要求されていた。 しカゝし、 ァイソクロナス転 送モードでは、 受信データに対する応答を返すことが義務づけられておらず、 応 答の送信や応答の受信確認を行うには、 制御コマンドの送信側および受信側とも に、 通信制御 L S I (Large Scale Integration) の外部に M P U (Micro Proc essing Unit) 等の制御装置を設けて、 この外部制御装置の処理により通信の制 御を行う必要があった。 このため、 通信システムの製造コストや設置面積が大き くなってしまうとともに、 外部制御装置による転送時のオーバへッドが発生する c 例えば、 受信側のノ一ドでは、 外部制御装置により受信割り込み発生の検出ゃ応 答データのセット、 応答データの転送開始命令の発行等が行われる必要がある。 このようなオーバへッドの発生により、 データ転送のリアルタイム性を保証する ことが難しかった。 発明の開示
本発明はこのような点に鑑みてなされたものであり、 同期転送モードを用いて、 送信したデータに対する応答を一定時間内に受信する処理を外部制御回路を用レヽ ずに実行することが可能な通信制御回路を提供することを目的とする。
また、 本発明の他の目的は、 同期転送モードを用いて、 送信したデータに対す る応答を一定時間内に受信する処理を外部制御回路を用レ、ずに実行することが可 能な通信制御方法を提供することである。
本発明では上記課題を解決するために、 図 1に示すような通信制御回路が提供 される。 この通信制御回路は、 シリアルバス 1 0を通じて接続された 1つ以上の 通信ノードとの間で、 固有の通信サイクルに基づく同期転送モードにより行われ るデータの送受信を制御する通信制御回路であり、 前記各通信ノードに対して送 信する送信データのデータ長と、 前記送信データに対応する応答データのデータ 長と、 前記送信データの送信先の通信ノード数とから、 前記送信データに対する 前記応答データを受信するまでの許容時間を前記通信サイクルを基にして算出す る許容時間算出部 1 0 1と、 前記シリアルバス 1 0を通じて送信された前記送信 データに対する応答として受信された応答データが、 前記許容時間算出部 1 0 1 により算出された前記許容時間内に受信されたか否かを管理する応答時間管理部 1 0 2とを有することを特徴とする。
このような通信制御回路は、 例えば他の通信ノードの動作を制御するための制 御データ等を送信する送信側の通信ノード 1に設けられる。 ここで、 許容時間算 出部 1 0 1は、 シリアルバス 1 0に接続された各通信ノードに対して送信する送 信データのデータ長と、 これらの送信データに対応する応答データのデータ長と、 送信データの送信先の通信ノード数と力ゝら、 送信データに対する応答データを受 信するまでの許容時間を通信サイクルを基にして算出する。 応答時間管理部 1 0 2は、 シリアルバス 1 0を通じて送信された送信データに対する応答として受信 された応答データが、 許容時間算出部 1 0 1により算出された許容時間内に受信 されたか否かを管理する。 これにより、 送信データに対する応答を受信するまで の時間が、 同期転送モードで規定された通信サイクルを基にして管理され、 例え ば、 許容時間内に応答を受信した場合には次の送信データを送信し、 応答を受信 するまでに許容時間を超えた場合にはエラーを通知するといつた処理を行うこと ができる。
また、 本発明ではさらに、 図 1に示すような通信制御回路が提供される。 この 通信制御回路は、 シリアルバス 1 0を通じて接続された 1つ以上の通信ノードと の間で、 固有の通信サイクルに基づく同期転送モードにより行われるデータの送 受信を制御する通信制御回路であり、 前記シリアルバス 1 0上の所定の前記通信 ノードから送信される送信データに対応する応答データをあらかじめ保持する応 答データ保持部 2 0 1と、 前記シリアルバス 1 0を通じて受信された前記送信デ ータから自分宛てのものを抽出する受信データ抽出部 2 0 2と、 前記受信データ 抽出部 2 0 2により抽出された前記送信データに対する応答データを前記応答デ ータ保持部 2 0 1から取得して、 前記送信データの送信元への送信を要求する応 答データ出力部 2 0 3とを有することを特徴とする。
このような通信制御回路は、 例えばこの通信制御回路に接続された機器の動作 を制御する制御ホストからの制御データ等を受信する受信側の通信ノード 2に設 けられる。 ここで、 応答データ保持部 2 0 1は、 この制御ホストに該当する所定 の通信ノードから送信される送信データに対応する応答データをあらかじめ保持 する。 受信データ抽出部 2 0 2は、 シリアルバス 1 0を通じて受信された送信デ ータから自分宛てのものを抽出する。 応答データ出力部 2 0 3は、 受信データ抽 出部 2 0 2により自分宛ての送信データが抽出された場合に、 この送信データに 対する応答データを応答データ保持部 2 0 1から取得して、 送信データの送信元 への送信を要求する。 これにより、 受信された送信データに対応する応答データ 、 シリアルバス 1 0を通じて送信元の通信ノード 1に送信される。
本発明の通信制御回路では、 シリアルバス上の通信ノードに送信した送信デー タに対して、 送信先の通信ノードからの応答を受信するまでの時間が、 同期転送 モードで規定された通信サイクルを基にして管理されるので、 データ転送のリァ ルタイム性を保証することができる。 また、 通信サイクルを基にして応答時間を 管理することで、 ネットワークプロトコル上の下位層での処理により上記のリア ルタイム性が実現されるので、 外部の制御回路を用いる必要がなくなり、 処理の オーバへッドを低減して、 リアルタイムのデータ転送をより正確に行うことが可 能となる。
また、 本発明の通信制御回路では、 シリアルバス上の所定の通信ノードからの 送信データを受信した際に、 この送信データに対する応答データを、 あらかじめ 保持していた応答データから取得して、 送信元に対して返信するように制御する ので、 応答の処理のオーバヘッドが低減される。 これにより、 送信元の通信ノー ドにおいて応答を短時間で受信することができ、 データ転送のリアルタイム性を 保証することが可能となる。
本発明の上記および他の目的、 特徴および利点は本発明の例として好ましい実 施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。 図面の簡単な説明
図 1は、 本発明の原理を示す原理構成図である。
図 2は、 本発明が適用される通信システムの構成例を示す図である。
図 3は、 制御ホストとなる通信ノードのハードウエア構成例を示すブロック図 である。
図 4は、 制御ホストに設けられた 1 3 9 4 I Z Fモジュールの内部構成を示す ブロック図である。
図 5は、 制御対象となる通信ノードのハードウエア構成例を示すプロック図で める。
図 6は、 制御対象の通信ノードに設けられた 1 3 9 4 I / Fモジュールの内部 構成を示すプロック図である。
図 7は、 制御ホストである通信ノードから制御コマンドが送信される際のパケ ット構成例を示す図である。
図 8は、 タイムァゥト時間がァイソクロナスサイクルの 1周期分の時間に設定 された場合におけるシリアルバス上のデータ送受信タイミングを示す図である。 図 9は、 タイムァゥト時間がァイソクロナスサイクルの 2周期分の時間に設定 された場合におけるシリアルバス上のデータ送受信タイミングを示す図である。 図 1 0は、 制御ホストである通信ノードにおける制御コマンド送信時の処理の 流れを示すフローチャートである。
図 1 1は、 制御コマンドの受信側の通信ノ一ドにおける制御コマンド受信時の 処理の流れを示すフローチャートである。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して詳細に説明する。
図 2は、 本発明が適用される通信システムの構成例を示す図である。
図 2に示すように、 本発明は、 複数の通信ノード 1〜5が、 シリアルバス 1 0 を通じて接続された通信システムに適用される。 各通信ノード 1〜5は、 例えば コンピュータ機器や家電製品、 F Aシステム内の製造装置等として実現される。 なお、 図 1では一例として 5つの通信ノードがシリアルバス 1 0に接続された例 を示しているが、 本発明は 2つ以上の通信ノードが存在する場合に適用可能であ る。
シリアルバス 1 0上の通信では、 固有の通信サイクルに基づく同期転送モード によりデータの送受信を行うことが可能となっている。 例えば、 いずれかの通信 ノードを同期転送のための管理局に割り当て、 この管理局が通信サイクルの開始 を示す信号をシリアルバス 1 0上に定期的に送信することにより、 同期転送が実 現される。
本発明は、 いずれかの通信ノードから、 他の通信ノードに対してデータを送信 したときに、 送信先の通信ノードから送信元に応答を返す場合に適用される。 そ して、 このような通信を同期転送モードを利用して実行することにより、 データ 転送とこれに対する応答のリアルタイム性を保証する。 例えば、 いずれかの通信 ノードを制御ホストとし、 他の通信ノードを制御対象の機器とした場合に、 ある 通信サイクルにおいて、 制御ホストから複数の制御対象の機器に対して一斉に制 御データを転送し、 制御データからの応答を所定時間内に受信したことを確認し て、 次の制御に移行するようなシステムに適用可能である。
図 1は、 本発明の原理を示す原理構成図である。 なお、 図 1では例として、 通 信ノード 1をデータの送信側とした場合を想定する。 また、 データの受信側を代 表して、 通信ノード 2を示している。
図 1に示すように、 送信側の通信ノード 1は、 許容時間算出部 1 0 1、 応答時 間管理部 1 0 2、 下位層制御部 1 0 3および I Z F (インタフェース) 回路 1 0 4を具備している。 また、 受信側の通信ノード 2は、 応答データ保持部 2 0 1、 受信データ抽出部 2 0 2、 応答データ出力部 2 0 3、 下位層制御部 2 0 4および I Z F回路 2 0 5を具備している。
通信ノード 1において、 許容時間算出部 1 0 1、 応答時間管理部 1 0 2、 下位 層制御部 1 0 3および I Z F回路 1 0 4は、 例えば、 シリアルバス 1 0と接続し て通信を行うための通信 I / Fモジュール内に設けられる。 また、 これらのうち、 許容時間算出部 1 0 1、 応答時間管理部 1 0 2および下位層制御部 1 0 3は、 例 えば同一基板上に集積されて設けられる。
許容時間算出部 1 0 1は、 シリアルバス 1 0に接続された各通信ノード 2〜 5 に対して送信する送信データのデータ長と、 これらの送信データに対応する応答 データのデータ長と、 送信データの送信先の通信ノード数とから、 送信データに 対する応答データを受信するまでの許容時間を、 同期転送モードで規定された通 信サイクルを基にして算出する。
応答時間管理部 1 0 2は、 シリアルバス 1 0を通じて送信された送信データに 対する応答として受信された応答データが、 許容時間算出部 1 0 1により算出さ れた許容時間内に受信されたか否かを管理する。
下位層制御部 1 0 3は、 送信データのシリアルバス 1 0への送信、 および応答 データのシリアルバス 1 0からの受信のために、 I 回路 1 0 4に対する電気 的インタフェースの規定や、 パケット送受信、 通信サイクル等に対する制御を含 むネットワークプロ トコル上の下位層の制御処理を行う。 この下位層には例えば、 電気的インタフェース、 パケット送受信および通信サイクルのそれぞれに対する 制御等が含まれる。
I Z F回路 1 0 4は、 シリアルバス 1 0に電気的に接続して、 下位層制御部 1 0 3から出力された信号をシリアルバス 1 0上に送信する。 また、 シリアルバス 1 0を通じて受信した信号を、 下位層制御部 1 0 3に供給する。 一方、 通信ノード 2において、 応答データ保持部 2 0 1、 受信データ抽出部 2 0 2、 応答データ出力部 2 0 3、 下位層制御部 2 0 4および I / F回路 2 0 5は、 例えば、 シリアルバス 1 0と接続して通信を行うための通信 I / Fモジュール内 に設けられる。 また、 これらのうち、 応答データ保持部 2 0 1、 受信データ抽出 部 2 0 2および応答データ出力部 2 0 3は、 例えば同一基板上に集積されて設け られる。
応答データ保持部 2 0 1は、 通信ノード 1からのデータ受信に先立って、 送信 される送信データに対応する応答データをあらかじめ保持する。 受信データ抽出 部 2 0 2は、 シリアルバス 1 0を通じて受信された送信データから、 通信ノード 2宛てのものを抽出する。 応答データ出力部 2 0 3は、 受信データ抽出部 2 0 2 により抽出された送信データに対する応答データを応答データ保持部 2 0 1から 取得して、 送信元である通信ノード 1への送信を下位層制御部 2 0 4に対して要 求する。
下位層制御部 2 0 4は、 下位層制御部 1 0 3の機能に対応し、 送信データのシ リアルバス 1 0からの受信、 および応答データのシリアルバス 1 0への送信のた めに、 I Z F回路 2 0 5に対する電気的インタフェースの規定や、 パケット送受 信、 通信サイクル等に対する制御を含むネットワークプロトコル上の下位層の制 御処理を行う。
1 ?回路2 0 5は、 I Z F回路 1 0 4の機能に対応し、 シリアルバス 1 0に 電気的に接続して、 下位層制御部 2 0 4から出力された信号をシリアルバス 1 0 上に送信する。 また、 シリアルバス 1 0を通じて受信した信号を、 下位層制御部 2 0 4に供給する。
以下、 通信ノード 1および 2における動作について説明する。
通信ノード 1では、 上位層のアプリケーションの処理により、 例えば通信ノー ド 2〜 5に対してそれぞれ所定のデータを送信する要求が発せられる。 このとき、 許容時間算出部 1 0 1は、 要求された送信データから、 この送信データのデータ 長、 この送信データに対応する応答データのデータ長の情報を取得する。 これら のデータは、 例えば記録媒体にあらかじめ対応付けて記憶しておけばよ 、。
許容時間算出部 1 0 1は、 これらの各データ長と、 送信先の通信ノード数とか ら、 送信データの送信後に各通信ノード 2〜 5からの応答を受信するまでの許容 時間を、 同期転送モードで規定された通信サイクルを基にして算出する。 ここで、 許容時間算出部 1 0 1は、 送信データのデータ長に応じたデータ送信に必要な時 間や、 受信した各通信ノード 2〜 5がシリアルバス 1 0上でデータ通信を行う権 利を取得するための調停時間、 および、 応答データのデータ長に応じた各通信ノ 一ド 2〜 5からの応答データ送信に要する時間等から、 応答データの受信までに 最低限必要な時間を算出することが可能であるので、 これらの時間の経過後に現 れるいずれかの通信サイクルの開始時 (例えば最初に現れる通信サイクルの開始 時) までを、 許容時間として算出することができる。
また、 上位層のアプリケーションプログラムの処理部から要求された送信デー タは、 下位層制御部 1 0 3においてバケツトに格納されて I Z F回路 1 0 4に出 力され、 シリアルバス 1 0に送出される。 これとともに、 応答時間管理部 1 0 2 は、 I F回路 1 0 4および下位層制御部 1 0 3を通じて受信されるデータを監 視して、 応答データが受信されるまでの時間をカウントする。
一方、 受信側の各通信ノード 2〜 5は、 シリアルバス 1 0に送信されたデータ を受信する。 通信ノード 2では、 I ZF回路 2 0 5においてデータが受信されて 下位層制御部 2 0 4に渡され、 データがパケットから取り出される。 受信データ 抽出部 2 0 2は、 取り出されたデータから、 この通信ノード 2宛ての送信データ を抽出する。
送信データが抽出されると、 応答データ出力部 2 0 3は、 抽出された送信デー タに対して返信すべき応答データを、 応答データ保持部 2 0 1から取得し、 この 応答データを下位層制御部 2 0 4に出力して、 通信ノード 1への送信を要求する。 これにより、 応答データは下位層制御部 2 0 4において所定のバケツトに格納さ れ、 シリアルパス 1 0上への送信権利が得られると、 このパケットが I / F回路 2 0 5を介してシリアルバス 1 0上に送出される。
通信ノード 1では、 シリアルバス 1 0に送出された応答データが、 I / F回路 1 0 4により受信される。 応答時間管理部 1 0 2は、 受信された応答データを下 位層制御部 1 0 3を介して取得し、 送信先のすべての通信ノード 2〜 5からの応 答データについて、 許容時間内に受信したか否かを判断する。 許容時間内に受信 された場合は、 上位層のアプリケーションプログラム処理部に対してその旨を通 知し、 次に送信すべき送信データの出力を要求する。 また、 許容時間内に受信さ れなかった場合には、 例えば上位層のアプリケーションプログラム処理部に対し てエラーを通知する。
以上の処理により、 データ送信側の通信ノード 1では、 同期転送モードを利用 した通信により、 送信したデータに対する応答を受信することができ、 この応答 までの時間を通信サイクルを基にして管理することができる。 従って、 送信デー タを受信側の通信ノードが決められた時間内に受信したか否かを認識することが でき、 データ転送のリアルタイム性を確保することができる。
また、 通信サイクルを基にして応答時間を管理することで、 ネットワークプロ トコル上の下位層での処理により上記のリアルタイム性が実現されるので、 外部 の制御回路を用いずに、 これらの処理機能を通信 I ZFモジュール内の制御回路 に実装することが可能となる。 従って、 製造コストや設定面積を縮小できるとと もに、 処理のオーバヘッドが低減されて、 リアルタイムのデータ転送をより正確 に行うことが可能となる。
また、 データ受信側の通信ノード 2では、 送信データを受信した際に、 この送 信データに対する応答データを、 応答データ保持部 2 0 1にあら力 じめ保持して いた応答データから取得して、 送信元に対して返信するように制御される。 従つ て、 このような機能を通信 I ZFモジュール内の制御回路に実装することにより、 外部の制御回路による上位層のアプリケーションでの処理を行わずに、 オーバへ ッドの少ない高速な応答処理を行うことができ、 データ転送のリアルタイム性を より容易に確保することが可能となる。
次に、 上記の通信システムの通信 I Z F規格として I E E E 1 3 9 4を用いる とともに、 通信ノード 1を制御ホス ト、 通信ノード 2〜 5を制御対象の機器とし、 通信ノード 1から送信される制御コマンドにより通信ノード 2〜 5の動作を制御 する場合を想定して、 本発明の実施の形態例について具体的に説明する。
まず、 図 3は、 制御ホス トとなる通信ノード 1のハードウェア構成例を示すブ 口ック図である。
図 3では、 通信ノード 1が P C等のコンピュータ機器として実現された場合の 構成例を示している。 この通信ノード 1は、 CPU (Central Processing Uni t) 1 10、 RAM (Random Access Memory) 1 20、 HDD (Hard Disk Driv e) 1 30、 グラフィック処理部 140、 入力 Iノ F 1 50、 および 1 394 1 /Fモジュール 160によって構成され、 これらは内部バス 1 70を介して相互 に接続されている。
CPU 1 10は、 HDD 1 30に格納されたプログラムを実行して、 通信ノー ド 1全体の動作を制御する。 RAMI 20は、 C PU 1 10に実行させるプログ ラムの少なくとも一部や、 このプログラムによる処理に必要な各種データを一時 的に記憶する。
HDD 1 30には、 OS (Operating System) やアプリケーションプログラ ム、 各種データが格納される。 アプリケーションプログラムとしては、 他の通信 ノード 2〜 5の動作を制御するためのプログラムや、 I EEE 1 394バス (こ こではシリアルバス 10) の通信プロトコルのうち上位層に対する制御を行う通 信制御プログラム等が含まれる。
グラフィック処理部 140には、 モニタ 141が接続されている。 このグラフ ィック処理部 140は、 CPU1 10からの命令に従って、 モニタ 141の画面 上に画像を表示させる。 入力 IZF 1 50には、 キーボード 1 51やマウス 15 2が接続されている。 この入力 IZF 1 50は、 キーボード 1 51やマウス 15 2からの信号を、 内部バス 1 70を介して CPU1 10に送信する。
1 394 I /Fモジユーノレ 160は、 通信ノード 2〜 5に対する制御信号の送 信側の通信 IZFであり、 I EEE 1394規格に従って、 シリアルバス 10を 通じて他の通信ノード 2〜5との間でデータの送受信を行う。
図 4は、 1 394 1 /Fモジュール 160の内部構成を示すブロック図である ( 1 394 I /Fモジュール 160は、 図 4に示すように、 I,F回路 161と 通信制御 L S I 162とを具備する。 I 回路 161は、 シリアルバス 10に 電気的に接続して信号の送受信を行う。 通信制御 LS 1 1 62は、 CPU1 10 により実行される上位層のアプリケーシヨンプログラムの処理に従って、 I ZF 回路 16 1の動作を制御する。 この通信制御 LS I 162には、 他の通信ノード 2〜 5に対する制御コマンドの送信制御、 およびこの制御コマンドに対する応答 データの受信タイミングの管理を行う制御回路が実装されている。
通信制御 L S I 1 6 2は、 物理層制御回路 6 2 1、 リンク層制御回路 6 2 2、 トランザクション層制御回路 6 2 3、 送信用メモリ 6 2 4、 受信用メモリ 6 2 5、 バスリセット制御回路 6 2 6、 タイムアウト管理回路 6 2 7、 および応答データ 管理回路 6 2 8を具備している。
物理層制御回路 6 2 1は、 シリアルバス 1 0を介して送受信される電気信号と、 リンク層制御回路 6 2 2で使用する論理的な信号との間の信号変換処理を行う。 具体的には、 リンク層制御回路 6 2 2が使用する論理信号のェンコ一ドおよびデ コード、 電気信号のレベル等の電気的 I / Fの規定、 シリアルバス 1 0の使用権 に対するアービトレーションの実行、 通信クロックの再同期制御等の処理を行う。 リンク層制御回路 6 2 2は、 物理層制御回路 6 2 1とトランザクション層制御 回路 6 2 3との間で信号処理を行う。 具体的には、 トランザクション層制御回路 6 2 3からデータや命令を受け取って、 I E E E 1 3 9 4規格に基づく標準パケ ットを生成して、 物理層制御回路 6 2 1に送信を要求するとともに、 物理層制御 回路 6 2 1から出力されるデータに対して、 データチェック、 データのフレーム 分け等を行ってバケツトからデータを抽出し、 トランザクション層制御回路 6 2 3に引き渡す。 また、 ルートノードとなった場合には、 ァイソクロナスサイクル の制御処理を行う。
トランザクション層制御回路 6 2 3は、 送信用メモリ 6 2 4および受信用メモ リ 6 2 5を介して、 C P U 1 1 0により実行される上位層のアプリケーションプ ログラムと、 リンク層制御回路 6 2 2との間で信号処理を行う。 例えば、 送信用 メモリ 6 2 4に格納されたデータや命令をリンク層制御回路 6 2 2に伝達させ、 また、 リンク層制御回路 6 2 2から受け取ったデータを受信用メモリ 6 2 5に格 納する。
送信用メモリ 6 2 4は、 ァイソクロナス転送モードによる送信専用の F I F O (First In First Out) 方式のデータバッファであり、 上位層のアプリケーシ ヨンプログラムの処理によって生成されたデータや命令を、 内部バス 1 7 0を通 じて受け取って保持し、 応答データ管理回路 6 2 8の要求等に応じて、 保持して いるデータや命令をトランザクション層制御回路 6 2 3に出力する。 受信用メモリ 6 2 5は、 ァイソクロナス転送モ一ドによる受信専用の F I F O 方式のデータバッファであり、 トランザクション層制御回路 6 2 3から受け取つ たデータを保持して、 応答データ管理回路 6 2 8に出力する。
バスリセッ ト制御回路 6 2 6は、 シリアルバス 1 0における初期化 (バスリセ ッ ト) 動作を制御する回路であり、 バスリセッ トの完了後に、 接続ノード数をタ ィムァゥト管理回路 6 2 7に通知する。
タイムァゥト管理回路 6 2 7は、 通信ノード 2 〜 5への制御コマンド送信時に この制御コマンドに対する応答受信時にタイムアウトとされる時間 (以下、 タイ ムアウト時間と呼称する) をァイソクロナスサイクルを基に設定し、 受信時間の カウントを行う。 タイムアウト管理回路 6 2 7は、 上位層のアプリケーションプ ログラムの処理により発せられるタスク開始要求を内部バス 1 7 0を通じて受信 すると、 要求されたタスクのための制御コマンドを応答データ管理回路 6 2 8に 通知して、 これらに対応する応答データのデータ長を取得し、 この応答データお よび送信する制御コマンドのデータ長と、 バスリセット制御回路 6 2 6から通知 されている接続ノード数とに応じて、 タイムアウト時間を算出し、 設定する。 な お、 タイムアウト時間は、 例えば、 この回路に供給されるクロック信号を基に計 時しても、 あるいは、 リンク層制御回路 6 2 2によって出力されるアイソクロナ スサイクルをカウントすることにより計時してもよレ、。
応答データ管理回路 6 2 8は、 タイムアウト管理回路 6 2 7に対して、 送信さ れる制御コマンドに対応する応答データのデータ長を通知するとともに、 その後 に受信用メモリ 6 2 5に格納される応答データを監視して、 その応答データがタ ィムァゥト時間内に受信されたか否かをタイムァゥト管理回路 6 2 7からの情報 に基づいて判断し、 正常に受信された場合には、 次の制御コマンドの送信を許可 する。 具体的には、 内部バス 1 7 0を通じて判断結果を上位層のアプリケーショ ンプログラム処理部に対して通知して、 次の制御コマンドを送信用メモリ 6 2 4 に格納させ、 その制御コマンドの読み出しを要求する。
次に、 制御ホストの制御対象となる通信ノードの構成について説明する。 図 5 は、 これらを代表して通信ノード 2のハードウエア構成例を示すプロック図であ る。 なお、 他の通信ノード 3 〜 5も、 同様のハードウェア構成により実現するこ とができる。
通信ノード 2は、 CPU 210、 ROM (Read Only Memory) /R AM22 0、 デバイス I ZF 230、 制御対象デバイス 240、 および 13941 ZFモ ジュール 250によって構成され、 これらは内部バス 260を介して相互に接続 されている。
CPU210は、 ROM/RAM220に格納されたプログラムを実行して、 通信ノード 2全体の動作を制御する。 ROMZRAM220は、 CPU210に 実行させるアプリケーションプログラムやデータをあらかじめ保持するとともに、 このプログラムによる処理に必要な各種データを一時的に記憶する。 また、 アブ リケーシヨンプログラムとしては、 制御ホストである通信ノード 1からの制御信 号に従って制御対象デバイス 240の動作を制御するためのプログラムや、 I E EE 1394バス (ここではシリアルバス 10) の通信プロ トコルのうち上位層 に対する制御を行う通信制御プログラム等が含まれる。
制御対象デバイス 240は、 制御ホストである通信ノード 1によってその動作 が制御されるデバイスである。 例えば、 本システムが F Aシステムに適用された 場合、 制御対象デバイス 240は、 製品を製造するための製造機械、 またはその 一部として構成される。
13941 ZFモジュール 250は、 通信ノード 1からの制御信号の受信側の 通信 IZFであり、 I EEE 1394規格に従って、 シリアルバス 10を通じて 他の通信ノード 1および 3〜 5との間でデータの送受信を行う。
図 6は、 1394 IZFモジュール 250の内部構成を示すブロック図である。 1394 IZFモジュール 250は、 図 6に示すように、 I/F回路 251と、 通信制御 L S I 252とを具備する。 IノF回路251は、 シリアルバス 10に 電気的に接続して信号の送受信を行う。 通信制御 LS 1252は、 CPU210 により実行される上位層のアプリケーションプログラムの処理に従って、 IZF 回路 251の動作を制御する。 この通信制御 L S I 252には、 通信ノード 1力 ら受信した制御コマンドに対する応答データの送信を制御する制御回路が実装さ れている。
通信制御 L S I 252は、 物理層制御回路 521、 リンク層制御回路 522、 トランザクション層制御回路 5 2 3、 送信用メモリ 5 2 4、 受信用メモリ 5 2 5、 およびデータフィルタ回路 5 2 6を具備している。
物理層制御回路 5 2 1、 リンク層制御回路 5 2 2およびトランザクション層制 御回路 5 2 3は、 それぞれ通信ノード 1の物理層制御回路 6 2 1、 リンク層制御 回路 6 2 2およびトランザクション層制御回路 6 2 3と同様の機能を有する。 すなわち、 物理層制御回路 5 2 1は、 シリアルバス 1 0を介して送受信される 電気信号と、 リンク層制御回路 5 2 2で使用する論理的な信号との間の信号変換 処理を行う。 リンク層制御回路 5 2 2は、 物理層制御回路 5 2 1とトランザクシ ョン層制御回路 5 2 3との間で、 パケット送受信の制御等の処理を行う。 トラン ザクシヨン層制御回路 5 2 3は、 送信用メモリ 5 2 4および受信用メモリ 5 2 5 を介して、 C P U 2 1 0により実行される上位層のアプリケーションプログラム 処理部とリンク層制御回路 5 2 2との間で信号処理を行う。
送信用メモリ 5 2 4は、 ァイソクロナス転送モードによる送信専用メモリであ り、 通信ノード 1からの送信される制御コマンドに対する応答データをあらかじ め保持し、 データフィルタ回路 5 2 6からの要求に応じて、 対応する応答データ をトランザクション層制御回路 5 2 3に出力する。
受信用メモリ 5 2 5は、 ァイソクロナス転送モードによる受信専用の F I F O 方式のデータバッファであり、 トランザクション層制御回路 5 2 3からのデータ を一時的に保持して、 そのデータをデータフィルタ回路 5 2 6に出力する。
データフィルタ回路 5 2 6は、 通信ノード 1から受信され、 受信用メモリ 5 2 5に格納された制御コマンドから、 自ノード宛てのものを抽出して、 内部バス 2 6 0を通じて上位層のアプリケーシヨンプログラム処理部に通知するとともに、 この制御コマンドに対応する応答データの送信を送信用メモリ 5 2 4に対して要 求する。
次に、 制御ホストである通信ノード 1から送信される制御コマンドについて説 明する。 図 7は、 通信ノード 1から制御コマンドが送信される際のパケット構成 例を示す図である。
通信ノード 1では、 C P U 1 1 0により実行されるアプリケーションプロダラ ムの処理により、 制御対象の通信ノード 2〜 5のそれぞれに対する制御コマンド の送信が要求されるが、 この際に、 同じタイミングで同期させる複数の通信ノー ドの動作を 1つのタスクとして制御する。 すなわち、 1つのタスクの開始を要求 すると、 このタスクで制御対象となる 1つ以上の通信ノードのそれぞれに対する 制御コマンドが、 一度にまとめて送信される。 そして、 シリアルバス 1 0上には、 ァイソクロナスサイクルに同期して、 各通信ノード 2〜 5に対する制御コマンド がタスクごとに送信される。
図 7では、 1つのタスクの開始が要求された場合に送信されるデータバケツト の例を示している。 このデータバケツトはリンク層制御回路 6 2 2において、 I E E E 1 3 9 4規格に基づくァイソクロナスバケツトとして生成され、 先頭部に は、 送信先の通信ノードを示すチャネル等が指定されるヘッダ部が設けられる。 ここで、 へッド部では宛て先として接続されたすベての通信ノードが指定される ように、 チャネル番号として 「3 F」 が指定される。 これにより、 図 7のデータ バケツトは、 シリアルバス 1 0上にブロードキャスト転送される。
また、 このようなヘッダ部に続いて、 接続された各通信ノードに対する制御コ マンドが順に格納される。 制御コマンドとしては、 各通信ノードに対して独自の ものが用意されるので、 制御コマンドのみにより制御対象の通信ノードが特定さ れる。
ここで、 通信ノード 1は、 バスリセットが実行された際に、 バスリセット制御 回路 6 2 6において、 接続されている通信ノードの数を認識することができ、 へ ッダ部の後には、 接続されたノード数分の制御コマンド格納領域が設けられる。 そして、 各タスクで、 各通信ノードに対して送信すべき制御コマンドがある場合 に、 対応する領域にそれらの制御コマンドが格納される。 従って、 送信すべき制 御コマンドが存在しない通信ノードに対応する領域には、 例えば各領域の先頭を 示す同期データ等以外はデータが格納されない。
このような単純なデータパケットの構造により、 各通信ノードに対して送信さ れるデータバケツトのデータ長を抑制することができ、 受信側の受信処理も単純 化することができる。 また、 各通信ノードに対して送信する制御コマンドのデー タ長がわかれば、 送信されるデータバケツトのデータ長を算出することが可能と なる。 一方、 受信側の通信ノード 2〜5からは、 応答としてのデータパケットがそれ ぞれ異なるチャネルを用いて送信される。 これらのデータパケットは、 上記と同 様に、 宛て先として通信ノード 1を指定する情報等が格納されたヘッダ情報と、 応答データが格納されるデータ領域とから構成される。 従って、 応答データのデ ータ長がわかれば、 返送されるデータパケットのデータ長を算出することが可能 である。
ここで、 通信ノード 1におけるタイムァゥト時間の算出について説明する。 上述したように、 通信ノード 1では、 制御コマンドの送信時に、 タイムアウト 管理回路 6 2 7においてタイムァゥト時間が算出され、 応答受信までの時間が力 ゥントされる。 タイムアウト時間は、 送信される制御コマンドおよびこれらに対 する応答データの各データ長と、 接続ノード数とに応じて、 ァイソクロナスサイ クルを基にして算出される。
図 8は、 タイムァゥト時間がアイソクロナスサイクルの 1周期分の時間に設定 された場合におけるシリアルバス 1 0上のデータ送受信タイミングを示す図であ る。
ァイソクロナス転送モードでは、 ルートノードから送信されるサイクルスター ト信号 (C S ) により、 1 2 5 μ s e cのァイソクロナスサイクルが開始される。 サイクルスタート信号の送信後には、 まず通信ノード 1から、 要求されたタスク に対応する制御コマンドが格納されたデータバケツトがブロードキャスト転送さ れる。
受信側の通信ノ一ドでは、 受け取ったデータパケット内に自ノード宛ての制御 コマンドを抽出した後、 そのデータパケットを他の通信ノードに転送する。 これ により、 接続されたすベての通信ノード 2〜 5に対して通信ノード 1からのデー タパケットが行き渡る。 自ノード宛ての制御コマンドを抽出した通信ノードは、 シリアルバス 1 0上の使用権を取得する処理の実行後に、 それぞれ異なるチヤネ ルを使用して応答データを返送する。 1つの通信ノードによる転送が終了した後、 次にバスの使用権を取得した他の通信ノードによつて応答データの返送が行われ る。
ここで、 シリアルバス 1 0上で規定された転送速度や、 通信ノード 1から送信 されるデータバケツトのデータ長、 および応答として返送されるデータバケツト のデータ長から、 これらのデータ転送に必要な時間は計算することができる。 ま た、 サイクルスタート信号の送信から通信ノード 1によるデータ送信までの処理 時間や、 受信側の各通信ノードにおけるバス使用権の取得のために要する処理時 間もほぼ一定となる。 従って、 通信ノード 1のタイムアウト管理回路 6 2 7は、 これらの時間を考慮して、 1つのタスク開始要求の際に制御コマンドを送信した すべての通信ノ一ドから応答データを受信するまでに必要な時間を推測すること ができ、 この時間からタイムアウト時間を算出することができる。 すなわち、 タ ィムアウト管理回路 6 2 7は、 接続されたノード数と、 1つのタスク開始を要求 するために送信される各制御コマンドのデータ長と、 これらの制御コマンドに対 応する応答データのデータ長とから、 タイムァゥト時間を算出することができる ことになる。
図 9は、 タイムァゥト時間がァイソクロナスサイクルの 2周期分に設定された 場合におけるシリアルバス 1 0上のデータ送受信タイミングを示す図である。 タイムアウト管理回路 6 2 7は、 1つのタスク開始を要求した際に制御コマン ドを送信したすべての通信ノードから応答データを受信するまでの時間が、 例え ば 1つのアイソクロナスサイクル内に収まるようであれば、 図 8に示したように、 送信後の次のサイクルスタート信号の出力までの時間をタイムァゥト時間に設定 すればよい。 また、 受信までの時間がァイソクロナスサイクルの 1周期分を超え る場合には、 例えば図 9に示すように、 ァイソクロナスサイクルの複数周期分の 時間をタイムアウト時間に設定すればよい。 なお、 図 9では他の例として、 受信 側の通信ノードが 6つ接続された場合を示している。 このようにタイムァゥト時 間を設定することにより、 ァイソクロナス転送モードで規定されたデータ転送周 期に同期して、 応答データの受信確認を行うことが可能となり、 制御のリアルタ ィム性が保証される。
次に、 図 1 0は、 通信ノード 1における制御コマンド送信時の処理の流れを示 すフローチヤ一トである。
ステップ S 1 0 0 1において、 バスリセット処理時において、 バスリセット制 御回路 6 2 6は接続ノード数をタイムァゥト管理回路 6 2 7に対して通知する。 ステップ S 1 0 0 2において、 上位層のアプリケーションプログラムの処理部 からの、 タスク開始を要求するデータの転送を待機し、 転送された場合にステツ プ S 1 0 0 3に進む。 このとき、 要求されたタスクに対応する制御コマンドが送 信用メモリ 6 2 4に格納される。
ステップ S 1 0 0 3において、 タイムアウト管理回路 6 2 7は、 タスクに対応 する制御コマンドのデータ長を設定する。 これとともに、 応答データ管理回路 6 2 8に対して、 各制御コマンドに対応する応答データのデータ長を問い合わせ、 これらのデータ長を取得して設定する。
ステップ S 1 0 0 4において、 タイムアウト管理回路 6 2 7は、 送信される制 御コマンドと応答データの各データ長、 および接続ノード数から、 タイムアウト 時間を算出する。
ステップ S 1 0 0 5において、 送信用メモリ 6 2 4から制御コマンドを読み出 して、 呼び出された制御コマンドが、 トランザクション層制御回路 6 2 3、 リン ク層制御回路 6 2 2、 および物理層制御回路 6 2 1を介して I Z F回路 1 6 1に 出力され、 制御コマンドが格納されたデータパケットがシリアルバス 1 0上に送 信される。 これとともに、 タイムアウト管理回路 6 2 7は、 計時を開始する。 ステップ S 1 0 0 6において、 送信先の通信ノードからの応答データが受信さ れ、 物理層制御回路 6 2 1、 リンク層制御回路 6 2 2、 およびトランザクション 層制御回路 6 2 3を介して受信用メモリ 6 2 5に格納される。 そして、 応答デー タ管理回路 6 2 8は、 格納されたデータが送信したタスク開始要求に対する応答 データであると判断すると、 ステップ S 1 0 0 7に進む。 また、 受信用メモリ 6 2 5に応答データが存在しなくなった場合はステップ S 1 0 1 0に進む。
ステップ S 1 0 0 7において、 受信用メモリ 6 2 5から読み出した応答データ の受信をタイムァゥト管理回路 6 2 7に通知し、 この応答データがタイムァゥト 時間内に受信されたか否かを問い合わせる。 この結果、 タイムアウト時間内であ る場合はステップ S 1 0 0 8に進み、 タイムァゥト時間を超えていた場合にはス テツプ S 1 0 0 9に進む。
ステップ S 1 0 0 8において、 応答データ管理回路 6 2 8は、 内部バス 1 7 0 を通じて、 上位層のアプリケーションプログラム処理部に対して、 次のタスク開 始を指示するデータを要求し、 ステップ S 1 0 0 6に戻って、 受信用メモリ 6 2 5を監視し、 次に受信される応答データを待機する。 従って、 ステップ S 1 0 0 6〜S 1 0 0 8は、 送信先のすべての通信ノードからの応答データが受信される まで繰り返される。
一方、 ステップ S 1 0 0 9において、 受信時間がタイムアウト時間を超えてい るため、 上位層のアプリケーションプログラム処理部に対して、 内部バス 1 7 0 を通じてエラーを通知し、 ステップ S 1 0 1 0に進む。
ステップ S 1 0 1 0において、 上位層のアプリケーションプログラム処理部か ら処理の終了が通知されるか否かを判断し、 通知されない場合はステップ S 1 0 0 2に戻り、 通知された場合は処理を終了する。
次に、 図 1 1は、 制御コマンドの受信側を代表して通信ノード 2における制御 コマンド受信時の処理の流れを示すフローチャートである。
ステップ S 1 1 0 1において、 制御ホスト (通信ノード 1 ) からのデータパケ ットの受信を待機し、 受信するとステップ S 1 1 0 2に進む。 受信したデータパ ケットは、 物理層制御回路 5 2 1、 リンク層制御回路 5 2 2およびトランザクシ ヨン層制御回路 5 2 3によって処理され、 抽出された制御コマンドやデータが受 信用メモリ 5 2 5に順次格納される。
ステップ S 1 1 0 2において、 データフィルタ回路 5 2 6は、 受信したデータ を受信用メモリ 5 2 5から 1つ読み出す。
ステップ S 1 1 0 3において、 データフィルタ回路 5 2 6は、 受信用メモリ 5 2 5から読み出したデータが自ノード宛ての制御コマンドである場合にはステツ プ S 1 1 0 4に進み、 そうでない場合にはステップ S 1 1 0 7に進む。 なお、 受 信されるデータバケツトはブロードキャストバケツトであるため、 通信ノード 2 は、 受信したデータバケツトを他の通信ノードに対して転送する。
ステップ S 1 1 0 4において、 データフィルタ回路 5 2 6を、 自ノード宛ての 制御コマンドを受信したことを、 上位層のアプリケ一ションプログラムの処理部 に対して内部バス 2 6 0を通じて通知する。
ステップ S 1 1 0 5において、 受信した制御コマンドに対応する応答データが 格納されたァドレスを送信用メモリ 5 2 4に対して指定し、 この応答データの読 み出しを要求する。
ステップ S 1 1 0 6において、 指定された応答データが送信用メモリ 5 2 4か ら読み出され、 トランザクション層制御回路 5 2 3、 リンク層制御回路 5 2 2お よび物理層制御回路 5 2 1による処理を経て I Z F回路 2 5 1に供給され、 シリ アルバス 1 0を通じて通信ノード 1に対して送信される。 そして、 送信後にステ ップ S 1 1 0 7に進む。 ここで、 物理層制御回路 5 2 1は、 リンク層制御回路 5
2 2によって生成されたデータバケツトの送信が要求されると、 シリアルバス 1 0の使用権をルートノード (例えば通信ノード 1 ) に対して要求し、 使用権を取 得すると、 I Z F回路 2 5 1を通じて送信を行う。 これにより、 シリアルバス 1 0上では、 制御コマンドを受け取った各通信ノードからの応答データが順次通信 ノード 1に送信される。
ステップ S 1 1 0 7において、 上位層のアプリケーションプログラム処理部か ら処理の終了が指示された場合は処理を終了する。 また、 指示されない場合はス テツプ S 1 1 0 1に戻って、 通信ノード 1からの次のデータバケツトの受信を待 機する。
以上のように、 制御ホスト側の通信ノード、 および制御対象の通信ノードの 1
3 9 4 I Z Fモジュール内に、 上記の通信制御 L S I 1 6 2および 2 5 2のよう な回路がそれぞれ実装されることにより、 C P Uによる上位層のアプリケーショ ンプログラムの処理を必要とすることなく、 タスク開始指示とそれに対する応答 とが周期的に完了されるシステムを構築することが可能となる。
制御ホスト側の通信制御 L S Iでは、 送信される制御コマンドとそれらに対応 する応答データの各データ長とを認識可能としておくことにより、 送信した各制 御コマンドに対応する応答データの受信までのタイムァゥト時間を算出して、 ァ イソクロナスサイクルを基準に受信時間を管理することができるため、 制御のリ アルタイム性を容易に確保することが可能となる。 また、 ァイソクロナスサイク ルの制御はリンク層レベルで行われるため、 このサイクルを基準とした受信時間 の管理は、 外部の C P Uの処理に関係することなく、 下位層の処理として実行さ れるので、 オーバへッドの少ない高速な処理が実現される。
また、 複数ノードでの動作を 1つのタスクに含め、 これらの通信ノードへの制 御コマンドをブロードキャスト転送する構成により、 同期動作の必要な複数の通 信ノードへのタスク開始指示および応答の受信動作を、 特定の時間内に完了させ ることが可能となる。
一方、 制御対象の通信ノードでは、 制御コマンドに対する応答データを通信制 御 L S I内にあらかじめ保持しておくことにより、 制御コマンドを受信した際に、 外部の C P Uの処理によるオーバへッドが発生することなく、 応答データを短時 間で返送することが可能となる。 従って、 制御のリアルタイム性をより確実に保 持することが可能となる。
上記については単に本発明の原理を示すものである。 さらに、 多数の変形、 変 更が当業者にとって可能であり、 本発明は上記に示し、 説明した正確な構成およ び応用例に限定されるものではなく、 対応するすべての変形例および均等物は、 添付の請求項おょぴその均等物による本発明の範囲とみなされる。

Claims

請 求 の 範 囲
1 . シリアルバスを通じて接続された 1つ以上の通信ノードとの間で、 固有の 通信サイクルに基づく同期転送モードにより行われるデータの送受信を制御する 通信制御回路において、
前記各通信ノードに対して送信する送信データのデータ長と、 前記送信データ に対応する応答データのデータ長と、 前記送信データの送信先の通信ノード数と から、 前記送信データに対する前記応答データを受信するまでの許容時間を前記 通信サイクルを基にして算出する許容時間算出部と、
前記シリアルバスを通じて送信された前記送信データに対する応答として受信 された応答データが、 前記許容時間算出部により算出された前記許容時間内に受 信されたか否かを管理する応答時間管理部と、
を有することを特徴とする通信制御回路。
2 . 前記許容時間算出部は、 前記送信データのデータ長と、 前記送信データに 対する前記応答データのデータ長と、 前記送信データの送信先の通信ノード数と に応じて、 前記送信データの送信時以後のいずれかの前記通信サイクルの開始時 までの時間を前記許容時間として算出することを特徴とする請求の範囲第 1項記 載の通信制御回路。
3 . 前記送信データの前記シリアルバスへの送信および前記応答データの前記 シリアルバスからの受信のために、 電気的インタフェース、 パケット送受信およ び前記通信サイクルのそれぞれに対する制御を含むネットワークプロトコル上の 下位層の制御処理を行う下位層制御部をさらに有し、
前記許容時間算出部、 前記応答時間管理部および前記下位層制御部が、 同一基 板上に集積されたことを特徴とする請求の範囲第 1項記載の通信制御回路。
4 . 前記下位層制御部は、 所定のヘッダに続いて、 前記シリアルバスに接続さ れた前記各通信ノードに送信する前記送信データを順に格納した送信バケツトを 生成して前記シリアルバス上に同報送信するように制御することを特徴とする請 求の範囲第 3項記載の通信制御回路。
5 . 前記送信データは、 前記各通信ノードの動作を制御するための制御データ であることを特徴とする請求の範囲第 1項記載の通信制御回路。
6 . シリアルバスを通じて接続された 1つ以上の通信ノードとの間で、 固有の 通信サイクルに基づく同期転送モードにより行われるデータの送受信を制御する 通信制御回路において、
前記シリアルバス上の所定の前記通信ノードから送信される送信データに対応 する応答データをあらかじめ保持する応答データ保持部と、
前記シリアルバスを通じて受信された前記送信データから自分宛てのものを抽 出する受信データ抽出部と、
前記受信データ抽出部により抽出された前記送信データに対する応答データを 前記応答データ保持部から取得して、 前記送信データの送信元への送信を要求す る応答データ出力部と、
を有することを特徴とする通信制御回路。
7 . 前記送信データの前記シリアルバスからの受信および前記応答データの前 記シリアルバスへの送信のために、 電気的インタフェース、 パケット送受信およ び前記通信サイクルのそれぞれに対する制御を含むネットワークプロトコル上の 下位層の制御処理を行う下位層制御部をさらに有し、
前記応答データ保持部、 前記受信データ抽出部、 前記応答データ出力部および 前記下位層制御部が、 同一基板上に集積されたことを特徴とする請求の範囲第 6 項記載の通信制御回路。
8 . シリアルバスを通じて接続された 1つ以上の通信ノードとの間で、 固有の 通信サイクルに基づく同期転送モードにより行われるデータの送受信を制御する ための通信制御方法において、
前記各通信ノードに対して送信する送信データのデータ長と、 前記送信データ に対応する応答データのデータ長と、 前記送信データの送信先の通信ノード数と から、 前記送信データに対する前記応答データを受信するまでの許容時間を前記 通信サイクルを基にして算出し、
前記シリアルバスを通じて送信された前記送信データに対する応答として受信 された応答データが、 前記許容時間内に受信されたか否かを管理する、
ことを特徴とする通信制御方法。
9 . シリアルバスを通じて接続された 1つ以上の通信ノードとの間で、 固有の 通信サイクルに基づく同期転送モードにより行われるデータの送受信を制御する ための通信制御方法において、
前記シリアルバス上の所定の前記通信ノードから送信される送信データに対応 する応答データをあらかじめ保持し、
前記シリアルバスを通じて受信された前記送信データから自分宛てのものを抽 出し、
抽出された前記送信データに対する応答データを、 あら力 じめ保持していた応 答データの中から取得して、 前記送信データの送信元への送信を要求する、 ことを特徴とする通信制御方法。
PCT/JP2003/011796 2003-09-16 2003-09-16 通信制御回路および通信制御方法 WO2005029778A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2003/011796 WO2005029778A1 (ja) 2003-09-16 2003-09-16 通信制御回路および通信制御方法
JP2005509036A JP4040654B2 (ja) 2003-09-16 2003-09-16 通信制御回路および通信制御方法
US11/329,096 US7330921B2 (en) 2003-09-16 2006-01-11 Communication control circuit and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/011796 WO2005029778A1 (ja) 2003-09-16 2003-09-16 通信制御回路および通信制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/329,096 Continuation US7330921B2 (en) 2003-09-16 2006-01-11 Communication control circuit and communication control method

Publications (1)

Publication Number Publication Date
WO2005029778A1 true WO2005029778A1 (ja) 2005-03-31

Family

ID=34362479

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/011796 WO2005029778A1 (ja) 2003-09-16 2003-09-16 通信制御回路および通信制御方法

Country Status (3)

Country Link
US (1) US7330921B2 (ja)
JP (1) JP4040654B2 (ja)
WO (1) WO2005029778A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028445A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 送受信制御装置、電子機器、データ送信方法及び制御プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255018A1 (en) * 2002-10-04 2004-12-16 Brian Taraci Method and apparatus for providing universal web access functionality with port contention resolution
JP4409401B2 (ja) * 2004-10-08 2010-02-03 株式会社日立製作所 パケット転送装置及びストレージシステム
US7694051B2 (en) * 2007-03-22 2010-04-06 Moxa Technologies Co., Ltd. Method for calculating master/slave response time-out under continuous packet format communications protocol
KR101486372B1 (ko) * 2007-07-25 2015-01-26 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
JP6010908B2 (ja) * 2012-01-06 2016-10-19 富士ゼロックス株式会社 送受信システム及びプログラム
CN108234595B (zh) * 2017-11-29 2021-05-14 山东鲁能软件技术有限公司 日志传输方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172436A (ja) * 1995-12-20 1997-06-30 Oki Electric Ind Co Ltd 回線制御システム
JP2000244539A (ja) * 1999-02-23 2000-09-08 Toshiba Corp データ収集伝送装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2247835C3 (de) * 1972-09-29 1978-10-05 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum Regenerieren der Speicherinhalte von MOS-Speichern und MOS-Speicher zur Durchführung dieses Verfahrens
US4691303A (en) * 1985-10-31 1987-09-01 Sperry Corporation Refresh system for multi-bank semiconductor memory
US5265231A (en) * 1991-02-08 1993-11-23 Thinking Machines Corporation Refresh control arrangement and a method for refreshing a plurality of random access memory banks in a memory system
US5818948A (en) * 1996-10-23 1998-10-06 Advanced Micro Devices, Inc. Architecture for a universal serial bus-based PC speaker controller
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
JP2000293322A (ja) 1999-04-01 2000-10-20 Toshiba Tec Corp 画像形成システムと転送方法
AU4501200A (en) * 1999-04-30 2000-11-17 Daniel Kelvin Jackson Method and apparatus for extending communications over usb
JP3646672B2 (ja) 2001-06-20 2005-05-11 オムロン株式会社 サイクリックデータ通信システム
US20030110154A1 (en) * 2001-12-07 2003-06-12 Ishihara Mark M. Multi-processor, content-based traffic management system and a content-based traffic management system for handling both HTTP and non-HTTP data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172436A (ja) * 1995-12-20 1997-06-30 Oki Electric Ind Co Ltd 回線制御システム
JP2000244539A (ja) * 1999-02-23 2000-09-08 Toshiba Corp データ収集伝送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028445A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 送受信制御装置、電子機器、データ送信方法及び制御プログラム

Also Published As

Publication number Publication date
US20060123163A1 (en) 2006-06-08
JP4040654B2 (ja) 2008-01-30
US7330921B2 (en) 2008-02-12
JPWO2005029778A1 (ja) 2006-11-30

Similar Documents

Publication Publication Date Title
EP0852357B1 (en) Method for handling interrupts in a high speed I/O controller
JP3843667B2 (ja) データ転送制御装置及び電子機器
US7701855B2 (en) Communication device, communication system, communication method, communication program and recording medium storing the communication program
CN106959935B (zh) 一种兼容i2c通信与ipmb通信的方法
EP1132821A2 (en) Method and apparatus for arbitrating on an acyclic directed graph
JP2003044184A (ja) データ処理装置及び電力制御方法
JP6709086B2 (ja) 通信制御装置、および、通信制御方法
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
US7330921B2 (en) Communication control circuit and communication control method
US7826492B2 (en) Communication system, cycle master node and communication method
Steinberg et al. An empirical analysis of the IEEE-1394 serial bus protocol
JP2004517374A (ja) アイソクロノスデータ転送システム及び方法
US7406555B2 (en) Systems and methods for multiple input instrumentation buses
EP1351459B1 (en) Data transfer control device and electronic equipment
WO2001006708A1 (fr) Dispositif de gestion de transfert de donnees et appareil electronique
JP4200133B2 (ja) シリアル通信バス用のデータリンク層デバイス
JP2001274813A (ja) 情報信号処理装置及び情報信号処理方法並びに記憶媒体
CN112583838B (zh) Autbus总线与Can总线的协议转换装置及方法、设备及介质
JPH11177591A (ja) 伝送媒体接続装置、伝送媒体接続制御装置、動作周期生成装置、および記録媒体
JP3606145B2 (ja) データ転送制御装置及び電子機器
JP2003110651A (ja) データ処理方法、データ処理装置、通信プロトコル及びプログラム
KR200239091Y1 (ko) Ieee1394 ohci 카드
Park et al. IEEE1394 OHCI device driver architecture for guarantee real-time requirement
JP4067199B2 (ja) データ処理装置
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

WWE Wipo information: entry into national phase

Ref document number: 2005509036

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11329096

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11329096

Country of ref document: US