WO2019026613A1 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- WO2019026613A1 WO2019026613A1 PCT/JP2018/026815 JP2018026815W WO2019026613A1 WO 2019026613 A1 WO2019026613 A1 WO 2019026613A1 JP 2018026815 W JP2018026815 W JP 2018026815W WO 2019026613 A1 WO2019026613 A1 WO 2019026613A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- controller
- control device
- network
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- the present invention relates to a control device.
- Patent Document 1 discloses a device connected to a plurality of multiplex communication lines for transmitting data, and outputting each data transmitted to each multiplex communication line to another multiplex communication line, wherein the multiplex communication line of the relay source is A reception buffer group consisting of a plurality of buffers for temporarily holding data received via the reception buffer, and a plurality of buffers for transmitting data from the reception buffer group and temporarily holding the data prior to transmission to the multiplex communication line of the relay destination , A first transfer means for transferring the data held in the reception buffer group to the main buffer group, and a transmission for transmitting the data held in the main buffer group to the multiplex communication line of the relay destination And said first transfer means collectively operates said data stored in said reception buffer group at predetermined time intervals.
- Data relay apparatus is disclosed which is characterized in that transfer.
- Patent Document 1 The invention described in Patent Document 1 has room for improvement in terms of latency of data transfer.
- the control device is a control device that is connectable to a plurality of networks and transfers a frame between the plurality of networks, the routing control unit controlling transfer of the frame, and the plurality A transmission queue for receiving the frame from the network and inputting the frame to the routing control unit, and storing the frame output from the routing control unit with the network as a transfer destination And a plurality of controllers for transmitting the frame stored in the transmission queue to the network, and the routing control unit stores a designated frame of the input frames as a retransmission target frame.
- the frame excluding the retransmission target frame is output to the transmission queue of the controller corresponding to the transfer destination network, and the controller corresponding to the transfer destination network can not store any more frames in the transmission queue. If so, a normal transmission unit that designates the input frame as the retransmission target frame and stores it in the buffer, and a cancellation signal indicating that the full state has been canceled from any of the plurality of controllers. And a signal handling unit that outputs the retransmission target frame whose transfer destination is the network corresponding to the controller that has transmitted the cancellation signal to the transmission queue of the controller that has transmitted the cancellation signal, Before the full state has disappeared Transmitting the resolved signal to said signal remedying.
- control unit 1 Functional block diagram showing a functional configuration of the control device 1 in the first embodiment Diagram showing an example of priority rule 15 A diagram showing an example of the routing table 16 A diagram showing an example of the retry counter 17 Flow chart showing external reception process of controller 20 Flow chart showing internal reception processing of controller 20 Flow chart showing transmission processing of the controller 20 Flow chart showing the operation of the MPFO management unit 12 Flow chart showing the operation of the normal transmission unit 13 Flow chart showing the operation of the signal handling unit 14 The figure which shows an example of the resending management table 18 in the modification 1. Flow chart showing operation of buffer rearranging unit in modification 2 Functional block diagram showing a functional configuration of the control device 1A in the second embodiment Flowchart representing the process of the normal transmission unit 13 in the second embodiment
- FIGS. 1 to 11 a first embodiment of a control device according to the present invention will be described with reference to FIGS. 1 to 11.
- the controller is connected to at least two networks.
- the present embodiment will be described as being connected to six networks.
- FIG. 1 is a hardware configuration diagram of the control device 1.
- the control device 1 is connected to a plurality of networks, that is, first to sixth six networks.
- Six networks are CAN (Controller Area Network), TCP / IP, LIN (Local Interconnect Network) etc., for example.
- the communication protocol used in each network is not limited to this, and may be connected to Media Oriented System Transport (MOST) or FlexRay.
- MOST Media Oriented System Transport
- FlexRay FlexRay
- the communication protocol used in each network may be the same.
- the control device 1 may be connected to two to five networks, or may be connected to seven or more networks.
- the control device 1 includes a routing control unit 10 and six controllers as many as the number of connected networks, that is, a first controller 20a, a second controller 20b, a third controller 20c, a fourth controller 20d, and a fifth controller. 20e and a sixth controller 20f.
- Each of the first controller 20a to the sixth controller 20f is provided in the control device 1 corresponding to each of the first network to the sixth network, and transmits and receives frames with the corresponding network.
- the name of a group of data to be transmitted and received differs depending on the communication protocol, in the present embodiment, all are called "frames" regardless of the communication protocol.
- any communication protocol identifies the frame by “ID”.
- ID is a CAN-ID in CAN, a Protected ID in LIN, and a destination IP address in TCP / IP.
- ID another value may be used.
- TCP / IP a combination of a source IP address and a destination port number may be used.
- the first controller 20a, the second controller 20b, the third controller 20c, the fourth controller 20d, the fifth controller 20e, and the sixth controller 20f will be collectively referred to as a controller 20.
- Each of the controllers 20 is connected to the routing control unit 10 by a signal line inside the control device 1.
- the routing control unit 10 controls frame transfer between the first to sixth networks by performing frame input / output with each controller 20 that transmits / receives a frame to / from the corresponding network.
- the first controller 20a first receives a frame transferred from the first network to the second network, and the routing controller 10 receives this from the first controller 20a and outputs it to the second controller 20b of the transfer destination.
- the second controller 20b transmits to the second network.
- the first controller 20a to the sixth controller 20f are also referred to as the first channel (CH1) to the sixth channel (CH6).
- the routing control unit 10 includes a CPU 2 that is a central processing unit, a ROM 3 that is a read only memory, a RAM 4 that is a readable and writable memory, and a flash memory 5 that is a non-volatile storage device.
- the CPU 2 develops the program stored in the ROM 3 on the RAM 4 and executes the program to exhibit the function described later.
- the information stored in the flash memory 5 will be described later.
- Each of the controllers 20 is an application specific integrated circuit or ASIC (application specific integrated circuit). However, each or any of the controllers 20 may be configured as an FPGA (Field-Programmable Gate Array), or may be realized by software.
- the software implementation means that each controller has a CPU, ROM, and RAM (not shown), and the CPU expands the program stored in the ROM to the RAM and executes the same function as ASIC. It is.
- FIG. 2 is a functional block diagram showing a functional configuration of the control device 1. However, FIG. 2 also shows storage areas and information used by the functional blocks.
- the routing control unit 10 includes an MPFO management unit 12, a normal transmission unit 13, a signal handling unit 14, and a protocol conversion unit 19.
- the routing control unit 10 further includes an MPFO buffer 11 which is a storage area, and the flash memory 5 stores a priority rule 15, a routing table 16, and a retry counter 17.
- MPFO of the MPFO management unit 12 and the MPFO buffer 11 means Most Priority First Out.
- the first controller 20a to the sixth controller 20f have the first transmission queue 21a to the sixth transmission queue 21f, which are storage areas.
- the first transmission queue 21a, the second transmission queue 21b, the third transmission queue 21c, the fourth transmission queue 21d, the fifth transmission queue 21e, and the sixth transmission queue 21f will be collectively referred to as a "transmission queue 21". Also, in the following, a state in which many frames are stored in the transmission queue 21 and no more frames can be stored is referred to as a "full state”.
- the MPFO management unit 12 stores, in the MPFO buffer 11, frames received by the respective controllers 20 from the networks.
- the normal transmission unit 13 transmits the frame stored in the MPFO buffer 11 to the transmission queue 21 of the controller 20 corresponding to the transfer destination network.
- the routing control unit 10 receives a cancellation signal, which will be described later, from the controller 20, the signal handling unit 14 executes frame re-transmission processing. Details will be described later.
- the protocol conversion unit 19 processes the frame received by the controller 20 from the outside according to the transfer destination network.
- the MPFO buffer 11 stores frames received by each controller 20 from each network. However, a retransmission waiting flag is added to each frame stored in the MPFO buffer 11. In the initial state in which a frame is newly stored in the MPFO buffer 11, the value of the retransmission waiting flag is set to zero, which indicates that retransmission is not awaited. However, in the initial state, the retransmission waiting flag itself may not be set to the frame, and when it becomes the retransmission waiting, a value “1” may be added to indicate that the retransmission waiting state is in progress.
- the priority rule 15 stores the transfer priority of each frame identifier. In other words, frames with higher priority described in the priority rule 15 are transmitted to the transmission queue 21 earlier.
- FIG. 3 is a diagram showing an example of the priority rule 15.
- priorities 1 to 5 and IDs corresponding to the respective priorities are shown.
- the priority is represented, for example, by an integer of 1 or more, and the smaller the numerical value, the higher the priority.
- the priority rule 15 is as shown in the example of FIG. 3, the frames with CAN-ID “10” and “30” and the destination IP address “192.168.1.10” in the MPFO buffer 11 If there are a total of three frames, then they are sent to the transmit queue 21 in the following order. That is, the frame is transmitted in the order of the frame whose CAN-ID is “10”, the frame whose destination IP address is “192.168.1.10”, and the frame whose CAN-ID is “30”. Returning to FIG. 2, the description will be continued.
- the routing table 16 stores a transfer destination channel for each frame ID and a retry bit.
- the transfer destination channel can not be rewritten unless the network configuration or the like is changed, but the retry bit can be rewritten according to the transfer status of the frame to each network.
- the transfer destination channel is information indicating one or more networks of the transfer destination, and a channel corresponding to each network is designated. For example, to forward a frame having a certain ID to the second and third networks, the destination channel is represented as "2, 3".
- the retry bit is information indicating the presence or absence of a retransmission target frame for each channel for each frame ID.
- “1” indicates that there is a frame to be retransmitted
- “0” indicates that there is no frame to be retransmitted
- the number corresponding to the larger channel number is described first. That is, when the retry bit is “000001”, only the first digit is “1”, so that only the channel 1 has a retransmission target frame, and the channels 2 to 6 have no retransmission target frame.
- FIG. 4 is a diagram showing an example of the routing table 16.
- the first line of the example shown in FIG. 4 indicates that a frame with an ID of “10” is to be transferred to channel “3”, ie, the third network.
- the frame whose ID is “10” has a retry bit of “000100”, it is indicated that a retransmission target frame exists for the third network.
- the transfer destination channel is “3, 4, 5”
- it is shown that the frame with the ID “20” is transferred to three networks.
- the frame having the ID of "20” has a retry bit of "001100”
- the retry counter 17 is information indicating the presence of a retransmission target frame for each transfer destination network, more specifically, the number of IDs of the retransmission target frames for each transfer destination network.
- the routing table 16 described above indicates the presence of a retransmission target frame of each channel for each frame ID. Therefore, in order to determine whether or not there is a retransmission target frame for a certain channel, it is necessary to confirm the retry bits of all the IDs. However, by referring to the retry counter 17, it can be simply determined whether or not there is a frame to be retransmitted for a certain channel.
- the frame Since the presence of the retransmission target frame indicates that the transmission queue is already full, even if the frame is temporarily transmitted to the transmission queue 21 of the channel in which the retransmission target frame is present, the frame is accepted by the controller 20. Rejected and an error is returned. Therefore, in the present embodiment, no frame is transmitted to the transmission queue 21 of the channel in which the retransmission target frame is present. Details will be described later.
- FIG. 5 is a diagram showing an example of the retry counter 17.
- the example of the retry counter 17 shown in FIG. 5 corresponds to the first to third lines of the routing table 16 shown in FIG. That is, in FIG. 5, the counter value of channel 4 is "1" and the counter value of channel 3 is "2". This is because in the retry bit in FIG. 4, there is one ID in which the fourth bit is “1” and two ID in which the third bit is “1”. It corresponds to the thing. Then, in the retry bit of FIG. 4, since the first, second, fifth and sixth digits are all zero, the retry counter 17 of FIG.
- each controller 20 not only transmits / receives a frame to / from the connected network, that is, the outside of the control device 1, but also transmits / receives a frame to / from the routing control unit 10 existing inside the control device 1.
- the process in which the controller 20 receives a frame from the outside of the control device 1 is referred to as “external reception process”, and the process in which the controller 20 receives a frame from the routing control unit 10 existing inside the control device 1 It is called "reception process”.
- FIG. 6 is a flowchart showing an external reception process in which the controller 20 receives a frame from the outside.
- the controller 20 executes the process shown in FIG. 6 at predetermined time intervals, for example, every 1 ms.
- the controller 20 determines whether a frame has been received from the outside, and if it is determined that it has been received, the process proceeds to S302, and if it is determined that it has not been received, End the process.
- the controller 20 stores the received frame in the MPFO buffer 11, and ends the operation shown in FIG.
- the received frame is not stored as it is in the MPFO buffer 11, but the received frame is transmitted to the routing control unit 10 and the processing is entrusted to the MPFO managing unit 12 in the routing control unit 10.
- FIG. 7 is a flowchart showing internal reception processing.
- the controller 20 executes the process shown in FIG. 7 at predetermined time intervals, for example, every 1 ms.
- the controller 20 determines whether or not a frame has been received from the routing control unit 10. If it is determined that it has been received, the process proceeds to S306, and if it is determined that it has not been received, FIG. The process shown in the flowchart is ended.
- the controller 20 determines whether or not the transmission queue 21 has a vacancy, in other words, whether or not the received frame can be stored in the transmission queue 21. If the controller 20 determines that the transmission queue 21 has a vacancy, it proceeds to S307, and if it determines that the transmission queue 21 has no vacancy, ie, it is in a full state, it proceeds to S308.
- the controller 20 stores the received frame in the transmission queue 21 and ends the operation shown in FIG. In S308, the controller 20 returns an error to the effect that the frame can not be accepted to the routing control unit 10, and ends the operation shown in FIG.
- FIG. 8 is a flowchart showing a process in which the controller 20 transmits a frame to the outside.
- the controller 20 executes the process shown in FIG. 8 at predetermined time intervals, for example, every 1 ms.
- the controller 20 first determines whether a frame is stored in the transmission queue 21 in S311. If the controller 20 determines that a frame is stored in the transmission queue 21, the process proceeds to S312. If the controller 20 determines that a frame does not exist in the transmission queue 21, the operation illustrated in FIG. 8 is ended.
- the controller 20 determines whether the frame can be transmitted to the network. If it is determined that transmission to the network is possible, the process proceeds to step S313. If it is determined that transmission to the network is not possible, the operation illustrated in FIG. 8 is ended.
- the negative determination is made in S312, for example, the case where the network cable is not connected or the case where the transmission is on standby in accordance with the communication protocol.
- the controller 20 transmits a frame to the network.
- the controller 20 determines whether the transmission queue 21 is full, in other words, the new frame can not be received until now, but the new transmission is possible by the transmission in S313. To judge.
- the controller 20 proceeds to S315 when making an affirmative determination in S314, and proceeds to S316 when making a negative determination.
- the controller 20 transmits a cancellation signal to the routing control unit 10.
- the cancellation signal includes the channel number in which the transmission queue 21 is full. For example, since the channel number is "1", the controller 20a transmits, for example, the information of "CH1" included in the cancellation signal from the controller 20a.
- the controller 20 deletes the frame transmitted at S313 from the transmission queue 21 and ends the operation shown in FIG.
- FIG. 9 is a flowchart showing the operation of the MPFO management unit 12.
- the MPFO management unit 12 executes the process shown in FIG. 9 at predetermined time intervals, for example, every 1 ms.
- the MPFO management unit 12 first determines in S321 whether or not a frame has been received from the controller 20. If it is determined that the frame is received, the process proceeds to S322. If it is determined that the frame is not received, the program whose operation is represented by FIG. 9 is ended. Note that the ID of the frame determined to have been received in S321 will be referred to as a "received frame ID" in the description of FIG.
- the MPFO managing unit 12 determines whether a frame having the same ID as the received frame ID is stored in the MPFO buffer 11. If the MPFO management unit 12 determines that a frame having the same ID as the received frame ID is stored in the MPFO buffer 11, the process proceeds to S323, and if it is determined that a frame having the same ID is not stored. Go to S324.
- the MPFO management unit 12 overwrites the frame having the same ID as the received frame ID and stored in the MPFO buffer 11 with the frame determined to be received in S321, and the operation is represented by FIG. Exit the program. However, at this time, instead of overwriting all the information, the value of the retransmission waiting flag described later is maintained. In S324, the MPFO managing unit 12 newly stores the frame determined to be received in S321 in the MPFO buffer 11, and ends the program whose operation is represented by FIG.
- FIG. 10 is a flowchart showing the operation of the normal transmission unit 13. As described above, the normal transmission unit 13 can not directly transmit data to each network, but transmits a frame to be transmitted to each controller connected to the network.
- the normal transmission unit 13 first determines whether a frame is present in the MPFO buffer 11 or not. When it is determined that the frame is present in the MPFO buffer 11, the normal transmission unit 13 proceeds to S332, and when it is determined that the frame is not present in the MPFO buffer 11, the program whose operation is represented by FIG. However, in S331, the normal transmission unit 13 treats the flag with the retransmission waiting flag as not being present.
- the normal transmission unit 13 refers to the priority rule 15 to determine the frame with the highest priority among the frames present in the MPFO buffer 11. In the description of FIG. 10, this frame is hereinafter referred to as a "target frame".
- protocol conversion processing is performed on the target frame according to the transmission destination network.
- the protocol conversion unit 19 executes this process. However, if the communication protocols of the transmission source network and the transmission destination network are the same, S333 is omitted.
- the normal transmission unit 13 refers to the routing table 16 to specify the transmission destination channel.
- the normal transmission section 13 refers to the retry counter 17 to determine whether the retry counter of the transmission destination channel is zero or not, thereby determining whether the controller 20 of the transmission destination channel is full. to decide. If the normal transmission unit 13 determines that the retry counter of the transmission destination channel is zero, that is, if it is determined that the controller 20 corresponding to the transmission destination channel is not in the full state and that the target frame can be stored in the transmission queue 21 Proceeding to S336, if it is determined that the retry counter of the transmission destination channel is not zero, that is, if it is determined that the controller 20 corresponding to the transmission destination channel is full, the process proceeds to S340.
- the normal transmission unit 13 sends the target frame to the transmission queue 21 of the transmission destination channel. Since the retry counter of the transmission destination channel is zero, S336 is executed based on the idea that the transmission queue 21 has not overflowed at least at the present time and the possibility of being accepted by the transmission queue 21 is high.
- the normal transmission unit 13 determines whether the transmission to the transmission queue 21 has been successfully performed. When it is determined that the normal transmission unit 13 has successfully transmitted, the process proceeds to S338, and when it is determined that the normal transmission has not been performed, the process proceeds to S340. In S 338, the normal transmission unit 13 deletes the target frame from the MPFO buffer 11 and ends the program whose operation is represented by FIG. 10.
- the normal transmission unit 13 adds a retransmission waiting flag to the target frame and returns the result to the MPFO buffer 11.
- the normal transmission unit 13 counts up the retry counter of the transmission destination channel, in other words, increments it.
- the normal transmission unit 13 rewrites the corresponding retry bit in the routing table 16 to "1", and ends the program whose operation is represented by FIG. If the corresponding retry bit is already “1” in S342, the corresponding retry counter should be “1” or more, so there is no possibility to further increment the retry bit from “1”.
- the normal transmission unit 13 makes the determination in S335, if the transmission queue 21 is just full and the retry counter is zero, the following processing is performed. First, an affirmative determination is made in S335, and the target frame is transmitted to the transmission queue 21 in S336. However, because the transmission queue 21 is full, the controller 20 does not accept the target frame and returns an error (S306 in FIG. 7: NO, S308). In response to this, the normal transmission unit 13 makes a negative determination in S 337, and counts up the retry counter in S 341.
- FIG. 11 is a flowchart showing the operation of the signal handling unit 14.
- the cancellation signal includes the channel number having the transmission queue 21 whose state is full.
- the channel of the number included in the cancellation signal is also referred to as a “cancelled channel”.
- FIG. 11 the same processing as that shown in FIG. 10 is assigned the same step number to simplify the description.
- step S351 the signal handling unit 14 determines whether the counter value of the cancellation channel in the retry counter 17 is zero. When it is determined that the counter value of the cancellation channel is zero, the signal handling unit 14 ends the program whose operation is represented by FIG. If the signal handling unit 14 determines that the counter value of the cancellation channel is not zero, the process proceeds to S352. In S352, the signal handling unit 14 refers to the routing table 16 to identify the transmission target ID. That is, the signal handling unit 14 specifies an ID with the highest priority among the IDs for which the retry bit corresponding to the cancellation channel is “1” in the routing table 16. For example, when the routing table 16 is as shown in FIG.
- the signal handling unit 14 performs protocol conversion of the target frame, and in the following S336, transmits the target frame to the transmission queue 21.
- the signal handling unit 14 determines whether the target frame has been successfully transmitted to the transmission queue 21. If the signal handling unit 14 determines that the transmission has been successfully performed, the process proceeds to S338, and if the signal handling unit 14 determines that the transmission is not successfully performed, the process proceeds to S357.
- the signal handling unit 14 deletes the target frame from the MPFO buffer 11.
- the signal handling unit 14 decrements the value of the cancellation channel in the retry counter 17, that is, decreases the value by “1”.
- the signal handling unit 14 Since the value of the retry counter 17 takes an integer value of zero or more, it does not necessarily become zero after the execution of this step.
- the signal handling unit 14 rewrites the corresponding retry bit in the routing table 16 from "1" to "0", and ends the program whose operation is represented by FIG.
- the signal handling unit 14 returns the target frame to the MPFO buffer 11 in S357, which is executed when the negative determination is made in S337, and ends the program whose operation is represented by FIG.
- the control device 1 is connectable to a plurality of networks, and transfers frames from the transfer source network to the transfer destination network.
- the control device 1 is provided corresponding to each of a plurality of networks, with a routing control unit 10 that controls transfer of frames, receives a frame from the network, inputs it to the routing control unit 10, and transfers the network. And a plurality of controllers 20 for transmitting the frames stored in the transmission queue 21 to the network.
- the routing control unit 10 stores an MPFO buffer 11 that stores a designated frame of the input frames as a retransmission target frame, and a controller 20 corresponding to the transfer destination network of the frames excluding the retransmission target frame of the input frames.
- the control device 1 When the transmission of the frame to the transmission queue 21 by the normal transmission unit 13 fails, the control device 1 sets the frame as a retransmission target frame and transfers the frame excluding the retransmission target frame. Therefore, even if a retransmission target frame occurs, the control device 1 can transfer a frame with low latency. Then, upon receiving the cancellation signal from the controller 20, the routing control unit 10 transmits the retransmission target frame to the transmission queue 21. Therefore, the control device 1 can transfer another frame when the transfer destination network is congested and can not transmit a new frame to the transmission queue 21, and can further transmit a retransmission target frame by receiving a cancellation signal. That is, the control device 1 can transfer a frame with low latency, including a frame to be retransmitted.
- the control device 1 includes a retry counter 17 indicating the number of identifiers of retransmission target frames for each of a plurality of networks, an identifier of a frame, that is, one or more transfer destination networks for each CAN-ID or destination IP address, And a routing table 16 indicating the presence or absence of a retransmission target frame for each frame identifier.
- the normal transmission unit 13 refers to the retry counter 17 and determines whether the controller 20 corresponding to the transfer destination network is in the full state (FIG. 10, S335).
- the routing control unit 10 determines that the transmission queue 21 is already in the controller 20 of the transmission destination channel, The frame is not transmitted to the transmission queue 21 of the controller 20. Therefore, the load on the controller 20 can be reduced. If the routing control unit 10 constantly transmits a frame to the transmission queue 21 regardless of the state of the retry counter 17, the controller 20 determines that the reception in the transmission queue 21 is accepted, that is, the load on the internal reception process increases, and the frame is transmitted. Takes extra time. In addition, since the routing control unit 10 refers to the retry counter 17 instead of the retry bits of all the IDs in the routing table 16, it can quickly determine whether or not there is a frame to be retransmitted in a certain channel.
- control device 1 When the control device 1 receives a frame having the same identifier before transfer, the control device 1 overwrites the previously received frame with a newly received frame except for information indicating whether it is a retransmission target frame or not.
- the MOFO management unit 12 is provided (S322 in FIG. 9: YES, S323). Therefore, the control device 1 can transfer only the latest frame for the same identifier.
- the frame that the controller 20 receives from the outside includes priority information indicating the transfer priority, that is, an ID.
- the normal transmission unit 13 and the signal handling unit 14 transmit, to the controller 20, the frame with the highest priority among the frames that can be transmitted to the controller 20. Therefore, the control device 1 can preferentially transfer frames with high priority.
- the control device 1 includes the protocol conversion unit 19 that processes the received frame according to the transfer destination network. Therefore, the control device 1 can transfer frames between networks having different communication protocols.
- the retransmission target flag is added to each frame stored in the MPFO buffer 11, and it is determined whether or not it is the retransmission target frame based on the value of the flag.
- management of information indicating whether or not to be retransmitted is not limited to this, and various methods can be used.
- a table for managing retransmission target frames may be provided.
- FIG. 12 is a diagram showing an example of the retransmission management table 18 that manages retransmission target frames.
- the retransmission management table 18 stores, for example, “YES” or “NO”, which indicates whether each frame ID is to be retransmitted.
- the example shown in FIG. 12 indicates that only the frame ID "10" is to be retransmitted.
- “YES” is written in the process of S340 of FIG. 10
- “NO” is written in the process of S338 of FIG.
- the routing control unit 10 may include a buffer organizing unit that deletes unsent frames for which a predetermined time or more has elapsed since reception.
- FIG. 13 is a flowchart showing the operation of the buffer organizing unit.
- the buffer organizing unit executes a program whose operation is represented by FIG. 13 every predetermined time, for example, every 100 ms.
- the buffer organizing unit first determines in S 361 whether or not a frame for which a predetermined time or more has elapsed since reception is stored in the MPFO buffer 11. If the buffer organizing unit determines that a frame for which a predetermined time or more has elapsed since reception is stored in the MPFO buffer 11, the process proceeds to S362, and if a frame for which a predetermined time or more has elapsed since reception does not exist in the MPFO buffer 11. End the program whose operation is represented by FIG. In S362, the buffer organizing unit deletes the corresponding frame, that is, the frame whose predetermined time or more has elapsed from reception from the MPFO buffer 11, and ends the program whose operation is represented by FIG. However, in S362, the retransmission waiting flag is also deleted.
- the predetermined time in S361 can be set to any time, and for example, the maximum delay time of communication defined by the application may be set.
- the control device 1 includes a buffer organizing unit that discards frames not transferred within a predetermined time from reception. Therefore, the control device 1 can discard the frame having the old information without transferring it.
- a plurality of IDs may be transferred to the same network. However, each ID may be transferred to a different network. In this case, since the value of the retry counter 17 represents the value of the retry bit in the routing table 16 as it is, the routing table 16 may not have a row of retry bits.
- the control device 1 includes the retry counter 17 which indicates the presence of the retransmission target frame for each transfer destination network.
- the normal transmission unit 13 refers to the retry counter 17 to determine whether the controller 20 corresponding to the transfer destination network is in the full state.
- the transmission target frame does not exist in the frame transmission destination network (FIG. 10, S335: YES)
- the received frame is transmitted to the transmission queue 21, and the transmission target frame exists in the frame transmission destination network. If it is determined (FIG. 10, S335: NO), the received frame is not transmitted to the transmission queue 21. Therefore, in the present modification, the routing table 16 may not include the row of retry bits.
- the protocol conversion unit 19 is a part of the routing control unit 10. However, the protocol conversion unit 19 may exist independently of the routing control unit 10. In this case, the protocol conversion unit 19 may be realized by hardware, for example, an ASIC or software.
- FIGS. 14-15 A second embodiment of the control device will be described with reference to FIGS. 14-15.
- the same components as in the first embodiment will be assigned the same reference numerals and differences will be mainly described.
- the points that are not particularly described are the same as in the first embodiment.
- the present embodiment is different from the first embodiment mainly in that the control device 1 does not include the retry counter 17.
- control device 1A in the second embodiment is the same as that of the control device 1 in the first embodiment, and therefore the description thereof is omitted.
- FIG. 14 is a functional block diagram showing a functional configuration of the control device 1A in the second embodiment. The difference from the control device 1 in the first embodiment is that the retry counter 17 is not provided.
- FIG. 15 is a flowchart showing the process of the normal transmission unit 13 in the second embodiment.
- the processing from the start of the operation to S334 is the same as that of the first embodiment, and thus the description thereof is omitted.
- the normal transmission unit 13 refers to the retry bit of the transmission destination channel in all the IDs of the routing table 16 in S334A. For example, when the destination channel is channel 3, the third lowest bit of retry bits in all the IDs is referred to.
- the normal transmission unit 13 determines whether all the referred retry bits are zero. For example, in the above-described example, it is determined whether the third bit from the bottom of the retry bit in all the IDs is zero.
- the control device 1A includes, for each frame identifier, a routing table 16 indicating the presence or absence of a retransmission target frame for each network.
- the normal transmission unit 13 refers to the routing table 16 to determine whether the controller 20 corresponding to the transfer destination network is full (FIG. 15, S334A, S335A).
- the received frame is transmitted to the transmission queue, and any frame for the transfer destination network If there is a retransmission target frame in the identifier of (S, FIG. 15, S335A: NO), the received frame is not transmitted to the transmission queue. Therefore, the control device 1A can omit the retry counter 17.
- the program is stored in the ROM (not shown), the program may be stored in the flash memory 5.
- the control device 1 may include an input / output interface (not shown), and the program may be read from another device via a medium available to the input / output interface and the control device 1 when necessary.
- the medium refers to, for example, a storage medium removable from the input / output interface or a communication medium, that is, a wired, wireless, light or other network, or a carrier wave or digital signal propagating through the network.
- some or all of the functions implemented by the program may be implemented by a hardware circuit or an FPGA.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
待ち時間の少ない転送が可能となる。制御装置は、ルーティング制御部と、送信キュー、複数のコントローラと、を備え、ルーティング制御部は、バッファと、入力されたフレームのうち再送対象フレームを除くフレームを転送先のネットワークに対応するコントローラの送信キューに出力すると共に、転送先のネットワークに対応するコントローラが送信キューにこれ以上のフレームを格納できないフル状態である場合には、入力されたフレームを再送対象フレームに指定してバッファに格納する通常送信部と、複数のコントローラのいずれかからフル状態が解消したことを示す解消シグナルを受信すると、解消シグナルを送信したコントローラに対応するネットワークを転送先とする再送対象フレームを、解消シグナルを送信したコントローラの送信キューに出力するシグナル対処部とを備え、コントローラは、フル状態が解消すると解消シグナルをシグナル対処部に送信する。
Description
本発明は、制御装置に関する。
車両には複数の電子制御ユニットが搭載され、それぞれの電子制御ユニットはネットワークを介して通信を行う。電子制御ユニットの通信が複数のネットワークにまたがる場合は通信の中継に時間を要することがあり、迅速な通信が求められる。
特許文献1には、データを伝送する複数の多重通信線に接続され、各多重通信線に伝送される各データを他の多重通信線に出力する装置であって、中継元の多重通信線を介して受信したデータを一時保持する複数のバッファからなる受信バッファ群と、該受信バッファ群からのデータが転送され、中継先の多重通信線への送信に先立ってデータを一時保持する複数のバッファからなるメインバッファ群と、前記受信バッファ群に保持されたデータを前記メインバッファ群に転送する第1転送手段と、前記メインバッファ群に保持されたデータを中継先の多重通信線に送信する送信手段と、を備えたデータ中継装置において、前記第1転送手段は、前記受信バッファ群に保持されたデータを、所定の時間間隔毎に、一括して前記メインバッファ群に転送することを特徴とするデータ中継装置が開示されている。
特許文献1には、データを伝送する複数の多重通信線に接続され、各多重通信線に伝送される各データを他の多重通信線に出力する装置であって、中継元の多重通信線を介して受信したデータを一時保持する複数のバッファからなる受信バッファ群と、該受信バッファ群からのデータが転送され、中継先の多重通信線への送信に先立ってデータを一時保持する複数のバッファからなるメインバッファ群と、前記受信バッファ群に保持されたデータを前記メインバッファ群に転送する第1転送手段と、前記メインバッファ群に保持されたデータを中継先の多重通信線に送信する送信手段と、を備えたデータ中継装置において、前記第1転送手段は、前記受信バッファ群に保持されたデータを、所定の時間間隔毎に、一括して前記メインバッファ群に転送することを特徴とするデータ中継装置が開示されている。
特許文献1に記載されている発明は、データ転送の待ち時間の点で改善の余地がある。
本発明の第1の態様による制御装置は、複数のネットワークと接続可能であり前記複数のネットワーク間でフレームを転送する制御装置であって、前記フレームの転送を制御するルーティング制御部と、前記複数のネットワークのそれぞれに対応して備えられ、当該ネットワークから前記フレームを受信して前記ルーティング制御部に入力すると共に、当該ネットワークを転送先として前記ルーティング制御部から出力された前記フレームを格納する送信キューを備え、前記送信キューに格納された前記フレームを当該ネットワークに送信する複数のコントローラと、を備え、前記ルーティング制御部は、入力された前記フレームのうち指定されたフレームを再送対象フレームとして格納するバッファと、入力された前記フレームのうち前記再送対象フレームを除くフレームを転送先の前記ネットワークに対応する前記コントローラの前記送信キューに出力すると共に、転送先の前記ネットワークに対応する前記コントローラが前記送信キューにこれ以上のフレームを格納できないフル状態である場合には、入力された前記フレームを前記再送対象フレームに指定して前記バッファに格納する通常送信部と、前記複数のコントローラのいずれかから前記フル状態が解消したことを示す解消シグナルを受信すると、前記解消シグナルを送信した前記コントローラに対応するネットワークを転送先とする前記再送対象フレームを、前記解消シグナルを送信した前記コントローラの前記送信キューに出力するシグナル対処部とを備え、前記コントローラは、前記フル状態が解消すると前記解消シグナルを前記シグナル対処部に送信する。
本発明によれば、再送対象フレームも含めて待ち時間の少ないフレームの転送が可能である。
―第1の実施の形態―
以下、図1~図11を参照して、本発明にかかる制御装置の第1の実施の形態を説明する。制御装置は、少なくとも2つのネットワークに接続される。本実施の形態では6つのネットワークに接続されるとして説明する。
以下、図1~図11を参照して、本発明にかかる制御装置の第1の実施の形態を説明する。制御装置は、少なくとも2つのネットワークに接続される。本実施の形態では6つのネットワークに接続されるとして説明する。
(ハードウエア構成)
図1は、制御装置1のハードウエア構成図である。制御装置1は、複数のネットワーク、すなわち第1~第6の6つのネットワークと接続される。6つのネットワークはたとえばCAN(Controller Area Network)、TCP/IP、LIN(Local Interconnect Network)などである。ただしそれぞれのネットワークにおいて用いられる通信プロトコルはこれに限定されず、MOST(Media Oriented System Transport)やFlexRayに接続されてもよい。またそれぞれのネットワークで用いられる通信プロトコルは同一でもよい。また制御装置1は、2つ~5つのネットワークに接続されてもよいし、7つ以上のネットワークに接続されてもよい。
図1は、制御装置1のハードウエア構成図である。制御装置1は、複数のネットワーク、すなわち第1~第6の6つのネットワークと接続される。6つのネットワークはたとえばCAN(Controller Area Network)、TCP/IP、LIN(Local Interconnect Network)などである。ただしそれぞれのネットワークにおいて用いられる通信プロトコルはこれに限定されず、MOST(Media Oriented System Transport)やFlexRayに接続されてもよい。またそれぞれのネットワークで用いられる通信プロトコルは同一でもよい。また制御装置1は、2つ~5つのネットワークに接続されてもよいし、7つ以上のネットワークに接続されてもよい。
制御装置1は、ルーティング制御部10と、接続されるネットワークと同数の6つのコントローラ、すなわち第1コントローラ20aと、第2コントローラ20bと、第3コントローラ20cと、第4コントローラ20dと、第5コントローラ20eと、第6コントローラ20fとを備える。第1コントローラ20a~第6コントローラ20fのそれぞれは、第1ネットワーク~第6ネットワークのそれぞれに対応して制御装置1に備えられ、それぞれ対応するネットワークとのフレームの送受信を行う。なお通信プトロコルによって送受信の対象となる一塊のデータの名称が異なるが、本実施の形態では通信プロトコルに関わらず全て「フレーム」と呼ぶ。また、通信プロトコルによってフレームを識別する識別子が異なるが本実施の形態ではいずれの通信プロトコルも「ID」によってフレームを識別することとする。たとえば「ID」は、CANにおけるCAN-ID、LINにおけるProtected ID、TCP/IPにおける送信先IPアドレスである。ただしIDは他の値を用いてもよく、たとえばTCP/IPでは送信元のIPアドレスと送信先のポート番号との組み合わせを用いてもよい。
以下では、第1コントローラ20a、第2コントローラ20b、第3コントローラ20c、第4コントローラ20d、第5コントローラ20e、および第6コントローラ20fをまとめてコントローラ20と呼ぶ。コントローラ20のそれぞれは、制御装置1の内部の信号線によりルーティング制御部10と接続される。ルーティング制御部10は、対応するネットワークとの間でフレームを送受信する各コントローラ20とフレームの入出力を行うことで、第1~第6のネットワーク間でのフレームの転送を制御する。たとえば第1ネットワークから第2ネットワークへ転送されるフレームは、まず第1コントローラ20aが受信し、これをルーティング制御部10が第1コントローラ20aから入力して転送先の第2コントローラ20bに出力し、第2コントローラ20bが第2ネットワークに送信する。また以下では、ルーティング制御部10の動作の説明において、第1コントローラ20a~第6コントローラ20fを第1チャンネル(CH1)~第6チャンネル(CH6)とも呼ぶ。
ルーティング制御部10は、中央演算装置であるCPU2と、読み取り専用メモリであるROM3と、読み書き可能なメモリであるRAM4と、不揮発性記憶装置であるフラッシュメモリ5とを備える。CPU2は、ROM3に格納されるプログラムをRAM4に展開して実行することにより後述する機能を発揮する。フラッシュメモリ5に格納される情報は後述する。
コントローラ20のそれぞれは、特定用途向け集積回路、すなわちASIC(application specific integrated circuit)である。ただしコントローラ20のそれぞれ、またはいずれかがFPGA(Field-Programmable Gate Array)として構成されてもよいし、ソフトウエアにより実現されてもよい。ソフトウエアによる実現とは、それぞれのコントローラが不図示のCPU、ROM、およびRAMを備え、CPUがROMに格納されたプログラムをRAMに展開して実行することによりASICと同様の機能を発揮することである。
(機能構成)
図2は、制御装置1の機能構成を示す機能ブロック図である。ただし図2では、機能ブロックにより利用される記憶領域および情報も併記している。
図2は、制御装置1の機能構成を示す機能ブロック図である。ただし図2では、機能ブロックにより利用される記憶領域および情報も併記している。
ルーティング制御部10は、MPFO管理部12と、通常送信部13と、シグナル対処部14と、プロトコル変換部19とを備える。またルーティング制御部10は、記憶領域であるMPFOバッファ11を備え、フラッシュメモリ5には優先度ルール15、ルーティングテーブル16、およびリトライカウンタ17が格納される。なおMPFO管理部12およびMPFOバッファ11の「MPFO」とは、Most Priority First Outを意味する。第1コントローラ20a~第6コントローラ20fは、記憶領域である第1送信キュー21a~第6送信キュー21fを備える。以下では、第1送信キュー21a、第2送信キュー21b、第3送信キュー21c、第4送信キュー21d、第5送信キュー21e、および第6送信キュー21fをまとめて「送信キュー21」と呼ぶ。また以下では、送信キュー21にフレームが多数格納され、これ以上のフレームを格納できない状態を「フル状態」と呼ぶ。
MPFO管理部12は、それぞれのコントローラ20が各ネットワークから受信したフレームをMPFOバッファ11に格納する。通常送信部13は、MPFOバッファ11に格納されたフレームを転送先のネットワークに対応するコントローラ20の送信キュー21に送信する。シグナル対処部14は、ルーティング制御部10がコントローラ20から後述する解消シグナルを受信すると、フレームの再送信処理を実行する。詳しくは後述する。プロトコル変換部19は、コントローラ20が外部から受信したフレームを転送先のネットワークに応じて加工する。
MPFOバッファ11には、それぞれのコントローラ20が各ネットワークから受信したフレームが格納される。ただしMPFOバッファ11に格納されるそれぞれのフレームには再送待ちフラグが付加される。MPFOバッファ11に新たにフレームが格納された初期状態では、再送待ちフラグの値は再送待ちではないことを示すゼロが設定される。ただし初期状態においてフレームに再送待ちフラグそのものを設定せず、再送待ちとなった際に再送待ち状態であることを示す値の「1」を付与してもよい。
優先度ルール15は、フレームの識別子ごとの転送の優先度が格納される。換言すると、優先度ルール15に記載された優先度が高いフレームほど先に送信キュー21に送信される。
図3は、優先度ルール15の一例を示す図である。図3に示す例では1~5の優先度と、それぞれの優先度に対応するIDが示されている。優先度はたとえば1以上の整数で表され、数値が小さいほど優先される。優先度ルール15が図3の例に示すとおりである場合に、MPFOバッファ11にCAN-IDが「10」、「30」のフレームと、送信先IPアドレスが「192.168.1.10」のフレームの合計3つのフレームが存在すると、これらは次の順番で送信キュー21に送信される。すなわち、CAN-IDが「10」のフレーム、送信先IPアドレスが「192.168.1.10」のフレーム、CAN-IDが「30」のフレーム、の順番で送信される。図2に戻って説明を続ける。
ルーティングテーブル16には、フレームのIDごとの転送先チャンネル、およびリトライbitが格納される。転送先チャンネルはネットワーク構成等が変更されない限り書き換えられないが、リトライbitは各ネットワークへのフレームの転送の状況に応じて書き換えられる。転送先チャンネルとは、転送先の1以上のネットワークを示す情報であり、各ネットワークに対応するチャンネルが指定される。たとえば、あるIDを有するフレームを第2ネットワークと第3ネットワークに転送することが、転送先チャンネルが「2、3」として表される。リトライbitとは、フレームのIDごとにチャンネルごとの再送対象フレームの有無を示す情報である。たとえば再送対象フレームが存在することを「1」、存在しないことを「0」で表し、チャンネル番号の大きい方に対応する数字を先に記載する。すなわちリトライbitが「000001」の場合は、1桁目のみが「1」なのでチャンネル1のみ再送対象フレームが存在し、チャンネル2~6は再送対象フレームが存在しないことを示す。
図4は、ルーティングテーブル16の一例を示す図である。図4に示す例の1行目では、IDが「10」のフレームはチャンネル「3」、すなわち第3ネットワークに転送することが示されている。またIDが「10」のフレームはリトライbitが「000100」なので、第3ネットワークに対して再送対象フレームが存在することが示されている。図4の2行目では、転送先チャンネルが「3、4、5」なので、IDが「20」のフレームは3つのネットワークに転送することが示されている。またIDが「20」のフレームはリトライbitが「001100」なので、第3ネットワークおよび第4ネットワークに対して再送対象フレームが存在することが示されている。換言すると第5ネットワークに対しては再送対象フレームが存在しないことが示されている。図4の3行目に示すIDが「30」のフレームはリトライbitが「000000」なので、再送対象フレームが存在しないことが示されている。図2に戻って説明を続ける。
リトライカウンタ17は、転送先のネットワークごとの再送対象フレームの存在、より詳細には転送先のネットワークごとの再送対象フレームのIDの数を示す情報である。上述したルーティングテーブル16は、フレームのIDごとに各チャンネルの再送対象フレームの存在を示している。そのため、あるチャンネルについて再送対象フレームが存在するか否かを判断するためには全てのIDのリトライbitを確認する必要がある。しかしリトライカウンタ17を参照することで、あるチャンネルについて再送対象フレームが存在するか否かを簡便に判断できる。なお再送対象フレームの存在は、送信キューがすでに一杯であることを示しているので、再送対象フレームが存在するチャンネルの送信キュー21に仮にフレームを送信しても、そのフレームはコントローラ20により受け入れが拒否されエラーが返される。そのため本実施の形態では、再送対象フレームが存在するチャンネルの送信キュー21にはフレームを送信しない。詳しくは後述する。
図5は、リトライカウンタ17の一例を示す図である。図5に示すリトライカウンタ17の例は、図4に示すルーティングテーブル16の1~3行目に対応している。すなわち図5では、チャンネル4のカウンタ値が「1」、チャンネル3のカウンタ値が「2」である。これは図4のリトライbitにおいて、4桁目のビットが「1」となっているIDが1つ存在すること、および3桁目のビットが「1」となっているIDが2つ存在することに対応している。そして図4のリトライbitにおいて、1,2,5,6桁目は全てゼロなので図5のリトライカウンタ17も同様にチャンネル1,2,5,6がゼロとなっている。
(コントローラ20の動作)
図6~図8を参照してコントローラ20の詳細な動作を説明する。前述のとおりそれぞれのコントローラ20は、接続されたネットワーク、すなわち制御装置1の外部とのフレームの送受信だけでなく、制御装置1の内部に存在するルーティング制御部10とのフレームの送受信も行う。以下では、コントローラ20が制御装置1の外部からフレームを受信する処理を「外部受信処理」と呼び、コントローラ20が制御装置1の内部に存在するルーティング制御部10からフレームを受信する処理を「内部受信処理」と呼ぶ。
図6~図8を参照してコントローラ20の詳細な動作を説明する。前述のとおりそれぞれのコントローラ20は、接続されたネットワーク、すなわち制御装置1の外部とのフレームの送受信だけでなく、制御装置1の内部に存在するルーティング制御部10とのフレームの送受信も行う。以下では、コントローラ20が制御装置1の外部からフレームを受信する処理を「外部受信処理」と呼び、コントローラ20が制御装置1の内部に存在するルーティング制御部10からフレームを受信する処理を「内部受信処理」と呼ぶ。
図6は、コントローラ20が外部からフレームを受信する外部受信処理を示すフローチャートである。コントローラ20は、所定の時間間隔、たとえば1msごとに図6に示す処理を実行する。
図6ではまずコントローラ20は、S301では、外部からフレームを受信したか否かを判断し、受信したと判断する場合はS302に進み、受信していないと判断する場合は図6のフローチャートで示す処理を終了する。S302ではコントローラ20は、受信したフレームをMPFOバッファ11へ格納して図6に示す動作を終了する。ただしS302では厳密には、受信したフレームをそのままMPFOバッファ11へ格納するのではなく、受信したフレームをルーティング制御部10に送信して処理をルーティング制御部10内のMPFO管理部12に委ねる。
図7は、内部受信処理を示すフローチャートである。コントローラ20は、所定の時間間隔、たとえば1msごとに図7に示す処理を実行する。
図7ではまずコントローラ20は、S305では、ルーティング制御部10からフレームを受信したか否かを判断し、受信したと判断する場合はS306に進み、受信していないと判断する場合は図7のフローチャートで示す処理を終了する。S306ではコントローラ20は、送信キュー21に空きがあるか否か、換言すると送信キュー21に受信したフレームを格納可能であるか否かを判断する。コントローラ20は送信キュー21に空きがあると判断する場合はS307に進み、送信キュー21に空きがない、すなわちフル状態であると判断するとS308に進む。S307ではコントローラ20は、受信したフレームを送信キュー21へ格納して図7に示す動作を終了する。S308ではコントローラ20は、フレームを受け入れられない旨のエラーをルーティング制御部10に返して図7に示す動作を終了する。
図8は、コントローラ20が外部にフレームを送信する処理を示すフローチャートである。コントローラ20は、所定の時間間隔、たとえば1msごとに図8に示す処理を実行する。図8ではまずコントローラ20は、S311では送信キュー21にフレームが格納されているか否かを判断する。コントローラ20は、送信キュー21にフレームが格納されていると判断する場合はS312に進み、送信キュー21にフレームが存在しないと判断する場合は図8に示す動作を終了する。S312ではコントローラ20は、フレームをネットワークに送信可能であるか否かを判断する。ネットワークに送信可能であると判断する場合はS313に進み、ネットワークに送信が不可能であると判断する場合は図8に示す動作を終了する。なおS312において否定判断する場合は、たとえばネットワークケーブルが接続されていない場合や、通信プロトコルに従い送信を待機している場合である。
S313ではコントローラ20は、ネットワークにフレームを送信する。続くS314ではコントローラ20は、送信キュー21がフル状態であるか否か、換言するとこれまで新たなフレームの受け入れが不可能な状態であったがS313における送信により新たな送信が可能となったか否かを判断する。コントローラ20はS314において肯定判断する場合はS315に進み、否定判断する場合はS316に進む。S315ではコントローラ20は、ルーティング制御部10に解消シグナルを送信する。この解消シグナルには、送信キュー21のフル状態が解消されたチャンネル番号が含まれる。たとえばコントローラ20aはチャンネル番号が「1」なので、たとえばコントローラ20aからの解消シグナルには「CH1」の情報を含めて送信する。続くS316ではコントローラ20は、S313において送信したフレームを送信キュー21から削除して図8に示す動作を終了する。
(MPFO管理部12の動作)
図9は、MPFO管理部12の動作を示すフローチャートである。MPFO管理部12は、所定の時間間隔、たとえば1msごとに図9に示す処理を実行する。図9ではまずMPFO管理部12はS321において、コントローラ20からフレームを受信したか否かを判断する。MPFO管理部12はフレームを受信したと判断する場合はS322に進み、フレームを受信していないと判断する場合は図9により動作が表されるプログラムを終了する。なおS321において受信したと判断したフレームのIDを図9の説明において「受信フレームID」と呼ぶ。S322ではMPFO管理部12は、MPFOバッファ11に受信フレームIDと同一のIDを有するフレームが格納されているか否かを判断する。MPFO管理部12は、MPFOバッファ11に受信フレームIDと同一のIDを有するフレームが格納されていると判断する場合はS323に進み、同一のIDを有するフレームは格納されていないと判断する場合はS324に進む。
図9は、MPFO管理部12の動作を示すフローチャートである。MPFO管理部12は、所定の時間間隔、たとえば1msごとに図9に示す処理を実行する。図9ではまずMPFO管理部12はS321において、コントローラ20からフレームを受信したか否かを判断する。MPFO管理部12はフレームを受信したと判断する場合はS322に進み、フレームを受信していないと判断する場合は図9により動作が表されるプログラムを終了する。なおS321において受信したと判断したフレームのIDを図9の説明において「受信フレームID」と呼ぶ。S322ではMPFO管理部12は、MPFOバッファ11に受信フレームIDと同一のIDを有するフレームが格納されているか否かを判断する。MPFO管理部12は、MPFOバッファ11に受信フレームIDと同一のIDを有するフレームが格納されていると判断する場合はS323に進み、同一のIDを有するフレームは格納されていないと判断する場合はS324に進む。
S323ではMPFO管理部12は、受信フレームIDと同一のIDを有しておりMPFOバッファ11に格納されているフレームを、S321において受信したと判断したフレームで上書きして図9により動作が表されるプログラムを終了する。ただしこのとき、全ての情報を上書きするのではなく、後述する再送待ちフラグの値は維持する。S324ではMPFO管理部12は、MPFOバッファ11にS321において受信したと判断したフレームを新たに格納して図9により動作が表されるプログラムを終了する。
(通常送信部13の動作)
図10は、通常送信部13の動作を示すフローチャートである。前述のとおり、通常送信部13はそれぞれのネットワークに対して直接のデータの送信は実行できず、ネットワークに接続されたそれぞれのコントローラに対して送信すべきフレームを送る。
図10は、通常送信部13の動作を示すフローチャートである。前述のとおり、通常送信部13はそれぞれのネットワークに対して直接のデータの送信は実行できず、ネットワークに接続されたそれぞれのコントローラに対して送信すべきフレームを送る。
図10ではまず通常送信部13は、MPFOバッファ11にフレームが存在するか否かを判断する。通常送信部13は、MPFOバッファ11にフレームが存在すると判断する場合はS332に進み、MPFOバッファ11にフレームが存在しないと判断すると図10により動作が表されるプログラムを終了する。ただしS331では通常送信部13は、再送待ちフラグが付与されているフラグは存在しないものとして扱う。
S332では通常送信部13は、優先度ルール15を参照してMPFOバッファ11に存在するフレームのうち最も優先度が高いフレームを決定する。なお図10の説明では、以下このフレームを「対象フレーム」と呼ぶ。続くS333では対象フレームを対象として、送信先のネットワークにあわせてプロトコル変換処理を行う。この処理はプロトコル変換部19が実行する。ただし送信元のネットワークと送信先のネットワークの通信プロトコルが同一の場合はS333は省略する。続くS334では通常送信部13は、ルーティングテーブル16を参照し、送信先チャンネルを特定する。続くS335では通常送信部13は、リトライカウンタ17を参照し、送信先チャンネルのリトライカウンタがゼロであるか否かを判断することで、送信先チャンネルのコントローラ20がフル状態であるか否かを判断する。通常送信部13は、送信先チャンネルのリトライカウンタがゼロであると判断する場合、すなわち送信先チャンネルに対応するコントローラ20がフル状態ではなく、送信キュー21に対象フレームを格納可能と判断する場合はS336に進み、送信先チャンネルのリトライカウンタがゼロではないと判断する場合、すなわち送信先チャンネルに対応するコントローラ20がフル状態であると判断する場合はS340に進む。
S336では通常送信部13は、対象フレームを送信先チャンネルの送信キュー21に送る。なおS336は、送信先チャンネルのリトライカウンタがゼロなので、少なくとも現時点ではそのチャンネルにおいて送信キュー21が溢れておらず送信キュー21に受け入れられる可能性が高いとの考えに基づいて実行している。続くS337では通常送信部13は、正常に送信キュー21に送信できたか否かを判断する。通常送信部13は正常に送信できたと判断する場合はS338に進み、正常に送信できなかったと判断する場合はS340に進む。S338では通常送信部13は、MPFOバッファ11から対象フレームを削除して図10により動作が表されるプログラムを終了する。
S335またはS337において否定判断されると実行されるS340では通常送信部13は、対象フレームに再送待ちフラグを付与してMPFOバッファ11に戻す。続くS341では通常送信部13は、送信先チャンネルのリトライカウンタをカウントアップ、換言するとインクリメントする。続くS342では通常送信部13は、ルーティングテーブル16の該当するリトライbitを「1」に書き換えて図10により動作が表されるプログラムを終了する。なおS342において、該当するリトライbitがすでに「1」である場合は、該当するリトライカウンタが「1」以上になっているはずなので、リトライbitを「1」からさらにインクリメントする状況は起こりえない。
なお通常送信部13がS335の判断を行った際に、送信キュー21がちょうど一杯になりリトライカウンタがゼロの場合は、次のような処理が行われる。まずS335で肯定判断が行われてS336において対象フレームを送信キュー21に送信する。しかしコントローラ20は、送信キュー21が一杯なので対象フレームを受け入れずエラーを返す(図7のS306:NO、S308)。これを受けて通常送信部13はS337において否定判断をし、S341においてリトライカウンタをカウントアップする。
(シグナル対処部14の動作)
図11は、シグナル対処部14の動作を示すフローチャートである。シグナル対処部14は、コントローラ20から解消シグナル(図8のS315)を受信すると図11に示す処理を開始する。この解消シグナルには、フル状態が解消された送信キュー21を有するチャンネル番号が含まれる。以下では、解消シグナルに含まれる番号のチャンネルを「解消チャンネル」とも呼ぶ。なお図11では図10に示す処理と同一の処理には同一のステップ番号を付して説明を簡略化する。
図11は、シグナル対処部14の動作を示すフローチャートである。シグナル対処部14は、コントローラ20から解消シグナル(図8のS315)を受信すると図11に示す処理を開始する。この解消シグナルには、フル状態が解消された送信キュー21を有するチャンネル番号が含まれる。以下では、解消シグナルに含まれる番号のチャンネルを「解消チャンネル」とも呼ぶ。なお図11では図10に示す処理と同一の処理には同一のステップ番号を付して説明を簡略化する。
図11ではまずシグナル対処部14はS351において、リトライカウンタ17における解消チャンネルのカウンタ値がゼロであるか否かを判断する。シグナル対処部14は、解消チャンネルのカウンタ値がゼロであると判断する場合は特段の処理が必要ないので図11により動作が表されるプログラムを終了する。シグナル対処部14は、解消チャンネルのカウンタ値がゼロではないと判断する場合はS352に進む。S352ではシグナル対処部14は、ルーティングテーブル16を参照して送信対象IDを特定する。すなわちシグナル対処部14は、ルーティングテーブル16において解消チャンネルに対応するリトライbitが「1」になっているIDのうち、最も優先度の高いIDを特定する。たとえばルーティングテーブル16が図4に示すものであり、解消チャンネルが「3」の場合に、解消チャンネルに対応するリトライbitが「1」になっているIDは「10」と「20」である。このうち優先度が高い方の「10」が本ステップにおいて特定される。この特定したフレームを図11の説明において「対象フレーム」と呼ぶ。
続くS333ではシグナル対処部14は対象フレームのプロトコル変換を行い、続くS336において対象フレームを送信キュー21に送信する。続くS337ではシグナル対処部14は、対象フレームを正常に送信キュー21に送信できたか否かを判断する。シグナル対処部14は、正常に送信できたと判断する場合はS338に進み、正常に送信できなかったと判断する場合はS357に進む。S338ではシグナル対処部14は、MPFOバッファ11から対象フレームを削除する。続くS355ではシグナル対処部14は、リトライカウンタ17における解消チャンネルの値をデクリメント、すなわち「1」だけ減少させる。なおリトライカウンタ17の値はゼロ以上の整数の値をとるので、本ステップの実行後も必ずしもゼロにはならない。続くS356ではシグナル対処部14は、ルーティングテーブル16の該当するリトライbitを「1」から「0」に書き換えて図11により動作が表されるプログラムを終了する。S337において否定判定されると実行されるS357ではシグナル対処部14は、対象フレームをMPFOバッファ11に戻して図11により動作が表されるプログラムを終了する。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)制御装置1は、複数のネットワークと接続可能であり転送元ネットワークから転送先ネットワークにフレームを転送する。制御装置1は、フレームの転送を制御するルーティング制御部10と、複数のネットワークのそれぞれに対応して備えられ、当該ネットワークからフレームを受信してルーティング制御部10に入力すると共に、当該ネットワークを転送先としてルーティング制御部10から出力されたフレームを格納する送信キュー21を備え、送信キュー21に格納されたフレームを当該ネットワークに送信する複数のコントローラ20と、を備える。ルーティング制御部10は、入力されたフレームのうち指定されたフレームを再送対象フレームとして格納するMPFOバッファ11と、入力されたフレームのうち再送対象フレームを除くフレームを転送先のネットワークに対応するコントローラ20の送信キュー21に出力する(図10、S336)と共に、転送先のネットワークに対応するコントローラ20が送信キュー21にこれ以上のフレームを格納できないフル状態である場合には(S335:NOまたはS337:NO)、入力されたフレームを再送対象フレームに指定してバッファに格納する(S340)通常送信部13と、複数のコントローラ20のいずれかからフル状態が解消したことを示す解消シグナルを受信すると、解消シグナルを送信したコントローラ20に対応するネットワークを転送先とする再送対象フレームを、解消シグナルを送信したコントローラ20の送信キュー21に出力する(図11、S336)シグナル対処部14とを備える。コントローラ20は、フル状態が解消すると解消シグナルをシグナル対処部14に送信(図8、S315)する。
制御装置1は、通常送信部13によるフレームの送信キュー21への送信に失敗するとそのフレームを再送対象フレームとし、再送信対象フレームを除くフレームを転送する。そのため再送信対象フレームが発生しても、制御装置1は待ち時間の少ないフレームの転送が可能である。そしてルーティング制御部10はコントローラ20から解消シグナルを受信すると、再送対象フレームを送信キュー21に送信する。そのため制御装置1は、転送先のネットワークが混雑していて送信キュー21に新たなフレームを送信できない場合に他のフレームを転送することができ、さらに解消シグナルの受信により再送対象フレームを送信できる。すなわち制御装置1は、再送対象フレームも含めて待ち時間の少ないフレームの転送が可能である。
(2)制御装置1は、複数のネットワークごとの再送対象フレームの識別子の数を示すリトライカウンタ17と、フレームの識別子、すなわちCAN-IDや送信先IPアドレスごとの1または複数の転送先ネットワーク、およびフレームの識別子ごとの再送対象フレームの有無を示すルーティングテーブル16を備える。通常送信部13はリトライカウンタ17を参照して、転送先のネットワークに対応するコントローラ20がフル状態であるか否かを判断する(図10、S335)。
すなわちルーティング制御部10は、リトライカウンタ17を参照して送信先チャンネルのリトライカウンタ17の値がゼロでない場合は、すでに送信先チャンネルのコントローラ20では送信キュー21がフル状態であると判断して、そのコントローラ20の送信キュー21にフレームを送信しない。したがってコントローラ20の負荷を軽減することができる。仮にルーティング制御部10がリトライカウンタ17の状態に関わらず常に送信キュー21にフレームを送信すると、コントローラ20は送信キュー21への受け入れ判断、すなわち内部受信処理の負荷が増大してしまい、フレームの送信に余分な時間を要する。またルーティング制御部10は、ルーティングテーブル16の全IDのリトライbitではなくリトライカウンタ17を参照するので、あるチャンネルにおいて再送対象のフレームが存在するか否かを迅速に判断できる。
(3)制御装置1は、転送を行う前に同一の識別子を有するフレームを受信すると、再送対象フレームであるか否かを示す情報を除いて新たに受信したフレームで従前に受信したフレームを上書きする(図9のS322:YES,S323)MOFO管理部12を備える。そのため制御装置1は、同一の識別子について最新のフレームのみを転送することができる。
(4)コントローラ20が外部から受信するフレームには転送の優先度を示す優先度情報、すなわちIDが含まれる。通常送信部13およびシグナル対処部14は、コントローラ20に送信可能なフレームのうち最も優先度が高いフレームをコントローラ20に送信する。そのため制御装置1は、優先度が高いフレームを優先的に転送することができる。
(5)制御装置1は、転送先のネットワークに応じて受信したフレームを加工するプロトコル変換部19を備える。そのため制御装置1は、通信プロトコルが異なるネットワーク同士のフレームの転送を行うことができる。
(変形例1)
上述した第1の実施の形態では、MPFOバッファ11に格納されるフレームごとに再送対象フラグを付加し、そのフラグの値により再送対象フレームであるか否かを判断した。しかし再送対象であるか否かを示す情報の管理はこれに限定されず、様々な手法を用いることができる。たとえば、再送対象フレームを管理するテーブルを設けてもよい。
上述した第1の実施の形態では、MPFOバッファ11に格納されるフレームごとに再送対象フラグを付加し、そのフラグの値により再送対象フレームであるか否かを判断した。しかし再送対象であるか否かを示す情報の管理はこれに限定されず、様々な手法を用いることができる。たとえば、再送対象フレームを管理するテーブルを設けてもよい。
図12は、再送対象フレームを管理する再送管理テーブル18の一例を示す図である。再送管理テーブル18は、フレームIDごとに再送対象であるか否かを示す情報、たとえば「YES」または「NO」が格納される。図12に示す例では、フレームID「10」のみが再送対象であることが示されている。再送管理テーブル18は、図10のS340における処理で「YES」が書き込まれ、図11のS338における処理で「NO」が書き込まれる。
(変形例2)
ルーティング制御部10は、受信から所定時間以上経過した未送信のフレームを削除するバッファ整理部を備えてもよい。図13は、バッファ整理部の動作を示すフローチャートである。バッファ整理部は、所定時間ごと、たとえば100msごとに図13により動作があらわされるプログラムを実行する。
ルーティング制御部10は、受信から所定時間以上経過した未送信のフレームを削除するバッファ整理部を備えてもよい。図13は、バッファ整理部の動作を示すフローチャートである。バッファ整理部は、所定時間ごと、たとえば100msごとに図13により動作があらわされるプログラムを実行する。
図13ではまずバッファ整理部は、S361において、受信から所定時間以上経過したフレームがMPFOバッファ11に格納されているか否かを判断する。バッファ整理部は、受信から所定時間以上経過したフレームがMPFOバッファ11に格納されていると判断する場合はS362に進み、受信から所定時間以上経過したフレームはMPFOバッファ11に存在しないと判断する場合は図13により動作が表されるプログラムを終了する。S362ではバッファ整理部は、該当するフレーム、すなわち受信から所定時間以上経過したフレームをMPFOバッファ11から削除して図13により動作が表されるプログラムを終了する。ただしS362では、再送待ちフラグもあわせて削除する。S361における所定時間は任意の時間を設定することができ、たとえばアプリケーションにより規定される通信の最大遅延時間を設定してもよい。
本変形例によれば、次の作用効果が得られる。
(6)制御装置1は、受信から所定時間以内に転送されないフレームを破棄するバッファ整理部を備える。そのため制御装置1は、古い情報を有するフレームを転送することなく破棄することができる。
(6)制御装置1は、受信から所定時間以内に転送されないフレームを破棄するバッファ整理部を備える。そのため制御装置1は、古い情報を有するフレームを転送することなく破棄することができる。
(変形例3)
上述した実施の形態では、複数のIDが同一のネットワークに転送される場合があった。しかしそれぞれのIDが異なるネットワークに転送されてもよい。この場合は、リトライカウンタ17の値がルーティングテーブル16におけるリトライbitの値をそのまま表すので、ルーティングテーブル16はリトライbitの列を備えなくてもよい。
上述した実施の形態では、複数のIDが同一のネットワークに転送される場合があった。しかしそれぞれのIDが異なるネットワークに転送されてもよい。この場合は、リトライカウンタ17の値がルーティングテーブル16におけるリトライbitの値をそのまま表すので、ルーティングテーブル16はリトライbitの列を備えなくてもよい。
本変形例によれば、次の作用効果が得られる。
(7)制御装置1は、転送先のネットワークごとの再送対象フレームの存在を示すリトライカウンタ17を備える。通常送信部13はリトライカウンタ17を参照して、転送先のネットワークに対応するコントローラ20がフル状態であるか否かを判断する。その結果、フレームの送信先のネットワークに送信対象フレームが存在しない場合に(図10、S335:YES)、受信したフレームを送信キュー21に送信し、フレームの送信先のネットワークに送信対象フレームが存在する場合は(図10、S335:NO)、受信したフレームを送信キュー21に送信しない。そのため本変形例では、ルーティングテーブル16はリトライbitの列を備えなくてもよい。
(7)制御装置1は、転送先のネットワークごとの再送対象フレームの存在を示すリトライカウンタ17を備える。通常送信部13はリトライカウンタ17を参照して、転送先のネットワークに対応するコントローラ20がフル状態であるか否かを判断する。その結果、フレームの送信先のネットワークに送信対象フレームが存在しない場合に(図10、S335:YES)、受信したフレームを送信キュー21に送信し、フレームの送信先のネットワークに送信対象フレームが存在する場合は(図10、S335:NO)、受信したフレームを送信キュー21に送信しない。そのため本変形例では、ルーティングテーブル16はリトライbitの列を備えなくてもよい。
(変形例4)
上述した実施の形態では、プロトコル変換部19はルーティング制御部10の一部であった。しかしプロトコル変換部19は、ルーティング制御部10とは独立して存在してもよい。この場合にプロトコル変換部19は、ハードウエア、たとえばASICにより実現されてもよいし、ソフトウエアにより実現されてもよい。
上述した実施の形態では、プロトコル変換部19はルーティング制御部10の一部であった。しかしプロトコル変換部19は、ルーティング制御部10とは独立して存在してもよい。この場合にプロトコル変換部19は、ハードウエア、たとえばASICにより実現されてもよいし、ソフトウエアにより実現されてもよい。
―第2の実施の形態―
図14~図15を参照して、制御装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、制御装置1がリトライカウンタ17を備えない点で、第1の実施の形態と異なる。
図14~図15を参照して、制御装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、制御装置1がリトライカウンタ17を備えない点で、第1の実施の形態と異なる。
(構成)
第2の実施の形態における制御装置1Aのハードウエア構成は、第1の実施の形態における制御装置1と同様なので説明を省略する。
第2の実施の形態における制御装置1Aのハードウエア構成は、第1の実施の形態における制御装置1と同様なので説明を省略する。
図14は、第2の実施の形態における制御装置1Aの機能構成を示す機能ブロック図である。第1の実施の形態における制御装置1との相違点は、リトライカウンタ17を備えない点である。
図15は、第2の実施の形態における通常送信部13の処理を表すフローチャートである。動作の開始からS334までの処理は第1の実施の形態と同様なので説明を省略する。S334の次に通常送信部13はS334Aにおいて、ルーティングテーブル16の全IDにおける送信先チャンネルのリトライbitを参照する。たとえば送信先チャンネルがチャンネル3の場合は、全てのIDにおけるリトライbitの下から3ビット目を参照する。続くS335Aでは通常送信部13は、参照した全てのリトライbitがゼロであったか否かを判断する。たとえば前述の例では全てのIDにおけるリトライbitの下から3ビット目がゼロであったか否かを判断する。通常送信部13は、参照した全てのリトライbitがゼロであると判断する場合はS336に進み、参照したリトライbitのうち1つでもゼロではないと判断する場合はS340に進む。S336およびS340以下の処理は第1の実施の形態と同様なので説明を省略する。
上述した第2の実施の形態によれば、次の作用効果が得られる。
(8)制御装置1Aは、フレームの識別子ごとに、それぞれのネットワークに対する再送対象フレームの有無を示すルーティングテーブル16を備える。通常送信部13は、ルーティングテーブル16を参照して、転送先のネットワークに対応するコントローラ20がフル状態であるか否かを判断する(図15、S334A、S335A)。その結果、転送先のネットワークについていずれのフレームの識別子においても再送対象フレームが存在しない場合に(図15、S335A:YES)受信したフレームを送信キューに送信し、転送先のネットワークについていずれかのフレームの識別子において再送対象フレームが存在する場合は(図15、S335A:NO)受信したフレームを送信キューに送信しない。そのため制御装置1Aは、リトライカウンタ17を省略することができる。
(8)制御装置1Aは、フレームの識別子ごとに、それぞれのネットワークに対する再送対象フレームの有無を示すルーティングテーブル16を備える。通常送信部13は、ルーティングテーブル16を参照して、転送先のネットワークに対応するコントローラ20がフル状態であるか否かを判断する(図15、S334A、S335A)。その結果、転送先のネットワークについていずれのフレームの識別子においても再送対象フレームが存在しない場合に(図15、S335A:YES)受信したフレームを送信キューに送信し、転送先のネットワークについていずれかのフレームの識別子において再送対象フレームが存在する場合は(図15、S335A:NO)受信したフレームを送信キューに送信しない。そのため制御装置1Aは、リトライカウンタ17を省略することができる。
プログラムは不図示のROMに格納されるとしたが、プログラムはフラッシュメモリ5に格納されていてもよい。また、制御装置1が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと制御装置1が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1…制御装置
10…ルーティング制御部
11…バッファ
12…管理部
13…通常送信部
14…シグナル対処部
15…優先度ルール
16…ルーティングテーブル
17…リトライカウンタ
18…再送管理テーブル
19…プロトコル変換部
20…コントローラ
21…送信キュー
10…ルーティング制御部
11…バッファ
12…管理部
13…通常送信部
14…シグナル対処部
15…優先度ルール
16…ルーティングテーブル
17…リトライカウンタ
18…再送管理テーブル
19…プロトコル変換部
20…コントローラ
21…送信キュー
Claims (8)
- 複数のネットワークと接続可能であり前記複数のネットワーク間でフレームを転送する制御装置であって、
前記フレームの転送を制御するルーティング制御部と、
前記複数のネットワークのそれぞれに対応して備えられ、当該ネットワークから前記フレームを受信して前記ルーティング制御部に入力すると共に、当該ネットワークを転送先として前記ルーティング制御部から出力された前記フレームを格納する送信キューを備え、前記送信キューに格納された前記フレームを当該ネットワークに送信する複数のコントローラと、を備え、
前記ルーティング制御部は、
入力された前記フレームのうち指定されたフレームを再送対象フレームとして格納するバッファと、
入力された前記フレームのうち前記再送対象フレームを除くフレームを転送先の前記ネットワークに対応する前記コントローラの前記送信キューに出力すると共に、転送先の前記ネットワークに対応する前記コントローラが前記送信キューにこれ以上のフレームを格納できないフル状態である場合には、入力された前記フレームを前記再送対象フレームに指定して前記バッファに格納する通常送信部と、
前記複数のコントローラのいずれかから前記フル状態が解消したことを示す解消シグナルを受信すると、前記解消シグナルを送信した前記コントローラに対応するネットワークを転送先とする前記再送対象フレームを、前記解消シグナルを送信した前記コントローラの前記送信キューに出力するシグナル対処部とを備え、
前記コントローラは、前記フル状態が解消すると前記解消シグナルを前記シグナル対処部に送信する制御装置。 - 請求項1に記載の制御装置において、
前記複数のネットワークごとの前記再送対象フレームの存在を示すリトライカウンタをさらに備え、
前記通常送信部は前記リトライカウンタを参照して、転送先の前記ネットワークに対応する前記コントローラが前記フル状態であるか否かを判断する制御装置。 - 請求項1に記載の制御装置において、
前記フレームの識別子ごとに、それぞれのネットワークに対する前記再送対象フレームの有無を示すルーティングテーブルをさらに備え、
前記通常送信部は、前記ルーティングテーブルを参照して、転送先の前記ネットワークに対応する前記コントローラが前記フル状態であるか否かを判断する制御装置。 - 請求項1に記載の制御装置において、
前記複数のネットワークごとの前記再送対象フレームの数を示すリトライカウンタと、
前記フレームの識別子ごとの1または複数の転送先ネットワーク、および前記フレームの識別子ごとの前記再送対象フレームの有無を示すルーティングテーブルをさらに備え、
前記通常送信部は前記リトライカウンタを参照して、転送先の前記ネットワークに対応する前記コントローラが前記フル状態であるか否かを判断する制御装置。 - 請求項1に記載の制御装置において、
前記転送を行う前に同一の識別子を有するフレームを受信すると、前記再送対象フレームであるか否かを示す情報を除いて新たに受信したフレームで従前に受信したフレームを上書きする管理部をさらに備える制御装置。 - 請求項1に記載の制御装置において、
受信から所定時間以内に転送されないフレームを破棄するバッファ整理部をさらに備える制御装置。 - 請求項1に記載の制御装置において、
前記フレームには転送の優先度を示す優先度情報が含まれ、
前記通常送信部および前記シグナル対処部は、前記コントローラに送信可能なフレームのうち最も優先度が高いフレームを前記コントローラに送信する制御装置。 - 請求項1に記載の制御装置において、
転送先のネットワークに応じて受信したフレームを加工するプロトコル変換部をさらに備える制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18840460.2A EP3641230B1 (en) | 2017-08-03 | 2018-07-18 | Control apparatus |
JP2019534021A JPWO2019026613A1 (ja) | 2017-08-03 | 2018-07-18 | 制御装置 |
US16/631,736 US11159456B2 (en) | 2017-08-03 | 2018-07-18 | Control apparatus |
CN201880048762.5A CN110999225B (zh) | 2017-08-03 | 2018-07-18 | 控制装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-151078 | 2017-08-03 | ||
JP2017151078 | 2017-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019026613A1 true WO2019026613A1 (ja) | 2019-02-07 |
Family
ID=65232666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/026815 WO2019026613A1 (ja) | 2017-08-03 | 2018-07-18 | 制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11159456B2 (ja) |
EP (1) | EP3641230B1 (ja) |
JP (1) | JPWO2019026613A1 (ja) |
CN (1) | CN110999225B (ja) |
WO (1) | WO2019026613A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022043590A (ja) * | 2020-09-04 | 2022-03-16 | 株式会社東芝 | 電子機器、及び磁気ディスク装置 |
JP7480675B2 (ja) * | 2020-10-29 | 2024-05-10 | 株式会社デンソー | 中継装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63209247A (ja) * | 1987-02-25 | 1988-08-30 | Fujitsu Ltd | パケツト交換方式 |
JPH06284453A (ja) * | 1993-03-26 | 1994-10-07 | Nec Corp | Atmセルスイッチ |
JPH0865308A (ja) * | 1994-08-17 | 1996-03-08 | Toshiba Corp | 即時性優先制御方式 |
JP2002519912A (ja) * | 1998-06-30 | 2002-07-02 | サン・マイクロシステムズ・インコーポレイテッド | 出力ポートバッファの割当てを用いるフロー制御 |
JP2004350138A (ja) | 2003-05-23 | 2004-12-09 | Denso Corp | データ中継装置および多重通信システム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL100127A0 (en) * | 1991-03-11 | 1992-08-18 | Future Domain Corp | Scsi controller |
JPH0766820A (ja) * | 1993-08-24 | 1995-03-10 | Matsushita Electric Ind Co Ltd | フロー制御方式 |
JP3213697B2 (ja) * | 1997-01-14 | 2001-10-02 | 株式会社ディジタル・ビジョン・ラボラトリーズ | 中継ノードシステム及び同システムにおける中継制御方法 |
US6504846B1 (en) * | 1999-05-21 | 2003-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers using a single buffer bit |
JP3882747B2 (ja) * | 2002-12-12 | 2007-02-21 | 日本電気株式会社 | 無線アクセスネットワーク及びその動作制御方法 |
JP4275504B2 (ja) * | 2003-10-14 | 2009-06-10 | 株式会社日立製作所 | データ転送方法 |
AU2005266943C1 (en) * | 2004-07-23 | 2011-01-06 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
US8769541B2 (en) * | 2009-12-31 | 2014-07-01 | Facebook, Inc. | Load balancing web service by rejecting connections |
JP5340186B2 (ja) * | 2010-01-21 | 2013-11-13 | アラクサラネットワークス株式会社 | パケット中継装置及びパケットを中継する方法 |
CN102752084B (zh) * | 2012-07-27 | 2013-05-29 | 湖南先步信息股份有限公司 | 一种多设备can通讯智能重发方法 |
US9621484B2 (en) * | 2014-12-29 | 2017-04-11 | Oracle International Corporation | System and method for supporting efficient buffer reallocation in a networking device |
US9917762B2 (en) * | 2015-07-07 | 2018-03-13 | Dell Products L.P. | Microburst monitoring system |
US20170055031A1 (en) * | 2015-08-19 | 2017-02-23 | Opentv, Inc. | Method to transmit and receive mpeg-ts over a thunderbolt cable |
-
2018
- 2018-07-18 CN CN201880048762.5A patent/CN110999225B/zh active Active
- 2018-07-18 JP JP2019534021A patent/JPWO2019026613A1/ja active Pending
- 2018-07-18 EP EP18840460.2A patent/EP3641230B1/en active Active
- 2018-07-18 US US16/631,736 patent/US11159456B2/en active Active
- 2018-07-18 WO PCT/JP2018/026815 patent/WO2019026613A1/ja unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63209247A (ja) * | 1987-02-25 | 1988-08-30 | Fujitsu Ltd | パケツト交換方式 |
JPH06284453A (ja) * | 1993-03-26 | 1994-10-07 | Nec Corp | Atmセルスイッチ |
JPH0865308A (ja) * | 1994-08-17 | 1996-03-08 | Toshiba Corp | 即時性優先制御方式 |
JP2002519912A (ja) * | 1998-06-30 | 2002-07-02 | サン・マイクロシステムズ・インコーポレイテッド | 出力ポートバッファの割当てを用いるフロー制御 |
JP2004350138A (ja) | 2003-05-23 | 2004-12-09 | Denso Corp | データ中継装置および多重通信システム |
Non-Patent Citations (1)
Title |
---|
See also references of EP3641230A4 |
Also Published As
Publication number | Publication date |
---|---|
US11159456B2 (en) | 2021-10-26 |
EP3641230A1 (en) | 2020-04-22 |
EP3641230A4 (en) | 2021-03-10 |
JPWO2019026613A1 (ja) | 2020-04-02 |
CN110999225A (zh) | 2020-04-10 |
US20200186470A1 (en) | 2020-06-11 |
EP3641230B1 (en) | 2022-03-02 |
CN110999225B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7787479B2 (en) | Gateway apparatus and routing method | |
KR960015862B1 (ko) | 데이타 송신방법 및 장치 | |
JP6961063B2 (ja) | ネットワークハブ、転送方法及び車載ネットワークシステム | |
JP6961062B2 (ja) | 電子制御ユニット、通信方法及び車載ネットワークシステム | |
US10374959B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
JP2009253557A (ja) | 車載用の中継接続ユニット | |
JP5821624B2 (ja) | 通信制御装置、並列計算機システム及び通信制御方法 | |
JP2014508454A (ja) | データパケットを受信及び転送する装置及び方法 | |
WO2019026613A1 (ja) | 制御装置 | |
JP2014086812A (ja) | Canシステム及びノード | |
JP2011520368A (ja) | 機能的に区別される送信イベントメモリを備えた通信システムの加入者ノード | |
WO2017203903A1 (ja) | 電子制御ユニット、通信方法及び車載ネットワークシステム | |
JP5728043B2 (ja) | ゲートウェイ装置 | |
WO2017203906A1 (ja) | ネットワークハブ、転送方法及び車載ネットワークシステム | |
WO2017047657A1 (ja) | バッファ制御装置、通信ノード、及び中継装置 | |
JP4917557B2 (ja) | 車載用の中継接続ユニット | |
US8498304B2 (en) | Communication controller | |
JP4372110B2 (ja) | データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法 | |
CN114531943A (zh) | 数据传输方法、分段报文和自动化通信网络 | |
JP4228850B2 (ja) | パケット中継装置 | |
JP2007135107A (ja) | 中継接続ユニット | |
US20210226818A1 (en) | Communication gateway for communicating data frames for a motor vehicle | |
JP5186957B2 (ja) | ネットワーク中継装置、通信システムおよびネットワーク中継方法 | |
JP2006074087A (ja) | 帯域制御装置およびプログラム | |
JP2005072727A (ja) | パケット転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18840460 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019534021 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2018840460 Country of ref document: EP Effective date: 20200116 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |