WO2020090034A1 - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
WO2020090034A1
WO2020090034A1 PCT/JP2018/040516 JP2018040516W WO2020090034A1 WO 2020090034 A1 WO2020090034 A1 WO 2020090034A1 JP 2018040516 W JP2018040516 W JP 2018040516W WO 2020090034 A1 WO2020090034 A1 WO 2020090034A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
fpga
unit
processing device
output
Prior art date
Application number
PCT/JP2018/040516
Other languages
English (en)
French (fr)
Inventor
高橋 智一
貴夫 今澤
圭輔 山本
雅裕 白石
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2018/040516 priority Critical patent/WO2020090034A1/ja
Priority to JP2020554666A priority patent/JPWO2020090034A1/ja
Publication of WO2020090034A1 publication Critical patent/WO2020090034A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems

Definitions

  • the present invention relates to a processing device that constitutes a system that requires high reliability.
  • Functional safety is adopted in systems that require high reliability, such as systems that control processes in nuclear power plants and factory plants. Functional safety is to reduce the risk of system failure by adding a monitoring function or a protection device to the system.
  • the hardware constituting a part of the system may be multiplexed or diversified.
  • multiplexing means providing a plurality of pieces of hardware having the same function to prepare for a failure due to a failure of a part of the hardware.
  • diversification means that multiplexed hardware is configured by different hardware parts.
  • an FPGA Field Programmable Gate Array
  • it is required to multiplex or diversify the components that carry out the basic functions of each processing device (module), such as the FPGA installed in the input / output device and the arithmetic device.
  • a hardware circuit of two systems that performs the same processing for the same input signal and generates the same output signal is provided, and the hardware circuit is confirmed by confirming that the two output signals match. You can check the normal operation of. When an abnormality occurs in one of the hardware circuits, the output signals of the two hardware circuits do not match, so that the abnormality can be easily detected.
  • a common cause failure may occur in the multiplexed hardware circuits of the 2nd system.
  • the common factor failure means that the same part in a plurality of hardware elements similarly fails due to a common factor.
  • the output signals of the two systems show the same incorrect value. In this case, the abnormality cannot be detected by monitoring whether the output signals match each other.
  • Patent Document 1 describes a technique that enables detection of an abnormality caused by such a common factor failure.
  • the invention described in Patent Document 1 includes an output signal collating unit that collates output signals with a plurality of processing circuits that perform the same processing on the same input signal and generate the same output signal. I have it.
  • the output signal matching unit is provided separately from the processing circuits of the plurality of systems, so that it is possible to detect an abnormality when a common factor failure occurs in the processing circuits.
  • the output signal matching unit is not multiplexed, and if a failure occurs in the output signal matching unit, there is a possibility that the safety function may be lost due to a single point failure.
  • the present invention has been made in view of the above background, and provides a processing device having high safety and capable of detecting an abnormality.
  • the present invention provides a processing device that can detect an abnormality even when a common factor failure occurs, and that can detect an abnormality by eliminating the possibility of loss of safety function due to a single point failure.
  • the processing device of the present invention includes a plurality of processing circuits that perform the same processing on the same input signal and generate the same output signal, and the processing circuits of the plurality of systems respectively An output signal collating unit that collates an output signal of the processing circuit with an output signal of another processing circuit.
  • FIG. 6 is a diagram for explaining the assignment of input / output terminals and the layout of internal logic of the FPGA according to the present embodiment.
  • FIG. 6 is a diagram for explaining the assignment of input / output terminals and the layout of internal logic of the FPGA according to the present embodiment. It is a figure which shows the internal logic structure of FPGA which concerns on the modification 1 of this embodiment. It is a figure for demonstrating the example of internal logic arrangement which avoided using the embedded microprocessor which concerns on the modification 4 of this embodiment. It is a figure for demonstrating the diagnosis period concerning the modification 6 of this embodiment. It is a figure which shows an example of the logic circuit before providing the activation condition injection circuit concerning the modification 7 of this embodiment. It is a figure for demonstrating the activation condition injection circuit concerning the modification 7 of this embodiment. It is the figure which showed typically the division
  • FPGA segmentation structure of the processing circuit
  • FIG. 1 is a diagram showing an overall configuration of a processing device 10 according to the present embodiment.
  • the processing device 10 processes a signal output from a signal source (sensor) 11 installed in a facility such as a power plant or a factory as an input signal, and an output signal as a processing result as a transmission signal. Send to. Further, in the present embodiment, the processing device 10 uses the transmission signal from the processing device 20 to which the signal from the signal source 21 is input as a part of the input.
  • the processing device 10 has an A system and a B system.
  • the A system includes an input terminal unit 121, an inter-processor communication output terminal unit 122, an inter-processor communication input terminal unit 123, a shutdown signal output terminal unit 124, an inter-system verification output terminal unit 125, and an inter-system verification system.
  • the FPGA 100 having the input terminal unit 126 is provided.
  • the internal logic of the FPGA 100 can be externally programmed.
  • the A system also includes a power supply 341A, a clock 342A, and a reset 343A.
  • the B system includes an input terminal unit 221, an inter-processing device communication output terminal unit 222, an inter-processing device communication input terminal unit 223, a shutdown signal output terminal unit 224, and an inter-system verification input terminal unit 225. And an FPGA 200 having an output terminal unit 226 for intersystem verification.
  • the internal logic of FPGA 200 can be externally programmed.
  • the B system includes a power supply 341B, a clock 342B, and a reset 343B.
  • the output terminal unit 222 for inter-processor communication is not connected (open).
  • the input signal group (input signals 1 to 3) in the FPGA 100 and the input signal group (input signals 1 to 3) in the FPGA 200 are signals input in parallel from the common signal source 11 to the A system and the B system, and are the same. Signal. Specifically, the input signal 1 input to the FPGA 100 and the input signal 1 input to the FPGA 200 are the same, and the same applies to the input signals 2 and 3.
  • the FPGA 100 and the FPGA 200 each have the same function, perform the same processing on the same input signal, and generate the same output signal.
  • the A system and the B system operate on different power systems.
  • the A system operates by the power source 341A
  • the B system operates by the power source 341B.
  • the clock and reset are also independent for the A system and the B system.
  • the A system operates by the clock 342A and the reset 343A
  • the B system operates by the clock 342B and the reset 343B.
  • the processing device 10 has a transceiver (described as TRS in FIG. 1) 320 for transmitting / receiving signals to / from the processing device 20 and a switch for cutting off the power supplied to the transceiver 320 as a common part separately from the A system and the B system.
  • a transceiver (described as TRS in FIG. 1) 320 for transmitting / receiving signals to / from the processing device 20 and a switch for cutting off the power supplied to the transceiver 320 as a common part separately from the A system and the B system.
  • SW 331 and a switch 332.
  • the switches 331 and 332 are connected in series, and when either one of the switch 331 and the switch 332 is turned off, the power supply of the transceiver 320 is cut off and the communication between the processing devices 10 and 20 is cut off. Further, between the A system and the B system, an insulating element 350 for transmitting and receiving signals with different power supply systems is provided.
  • the inter-system verification output terminal unit 125 of the FPGA 100 is connected to the inter-system verification input terminal unit 225 of the FPGA 200 via the insulating element 350.
  • the inter-system verification output terminal unit 226 of the FPGA 200 is connected to the inter-system verification input terminal unit 126 of the FPGA 100 via the insulating element 350.
  • the insulating element 350 will be described in detail with reference to FIG. 20 described later.
  • the processing device 20 has a hardware configuration similar to that of the processing device 10, and uses the signal output from the signal source 21 as an input signal.
  • the processing devices 10 and 20 are connected to each other via the transceiver 320 and the transceiver (not shown) of the processing device 20.
  • FIG. 2 is a diagram showing a configuration example of the internal logic of the FPGA 100 according to this embodiment.
  • the configuration of the internal logic of the FPGA 100 will be described with reference to FIG. Since the internal logical configuration of the FPGA 200 is the same as that of the FPGA 100, the description will be omitted.
  • the reference numerals of the constituent elements of the FPGA 200 are the same as the reference numerals of the corresponding constituent elements of the FPGA 100 unless there is an inconvenience in the explanation.
  • the output signal matching unit described below is referred to as the output signal matching unit 111 for both the output signal matching units of the FPGAs 100 and 200.
  • the FPGA 100 has, as internal logic, an arithmetic unit (1 system) 105, an arithmetic unit (2 system) 106, an internal signal matching unit 107, a communication control unit (1 system) 108, a communication control unit (2 system) 109, an internal signal matching. It is configured to include a unit 110, an output signal matching unit 111, and an OR gate 112. The portion indicated by the dotted line 199 is the end point of the communication path 360 (see FIG. 3 described later) between the processing devices 10 and 20.
  • FIG. 3 is a diagram for explaining a communication path 360 between the processing devices 10 and 20 according to this embodiment.
  • the FPGA 100Z included in the processing device 20 is an A-system FPGA corresponding to the FPGA 100 in the processing device 10.
  • the communication frame transmitted from the processing device 10 to the processing device 20 includes an output terminal unit 122 for communication between processing devices, a transceiver 320, a communication medium connecting the processing devices 10 and 20, a transceiver (not shown) of the processing device 20, and
  • the end point 199Z on the side of the processing device 20 is reached via an input terminal unit (not shown) for communication between the processing devices of the FPGA 100Z.
  • the communication frame transmitted from the processing device 20 to the processing device 10 includes an output terminal unit (not shown) for inter-processing device communication of the FPGA 100Z, a transceiver of the processing device 20, a communication medium connecting the processing devices 10 and 20, and a transceiver 320. And the end point 199 on the side of the processing device 10 via the input terminal portion 123 for communication between the processing devices.
  • arithmetic unit (1 system) 105 arithmetic unit (2 system) 106, internal signal matching unit 107, communication control unit (1 system) 108, communication control unit (2 system) 109, internal signal matching unit as internal logic. 110 and the output signal matching unit 111 will be described in order.
  • arithmetic unit As shown in FIG. 2, the arithmetic unit (1 system) 105 and the arithmetic unit (2 system) 106 use the same signal input from the input terminal unit 121 as an input signal, and perform the same processing.
  • the calculation unit (1 system) 105 and the calculation unit (2 system) 106 perform a predetermined calculation based on the input value of the input signal group, and output the calculation result. Since the arithmetic unit (1 system) 105 and the arithmetic unit (2 system) 106 have the same function, the explanation of the arithmetic unit (2 system) 106 will be omitted and the explanation of the arithmetic unit (1 system) 105 will be continued.
  • FIG. 4 is a diagram for explaining an example of a calculation executed by the calculation unit (1 system) 105 and the calculation unit (2 system) 106 according to the present embodiment.
  • the input signal 1 is “1”
  • the input signal 2 is “1”
  • the input signal 3 is “1”
  • the arithmetic unit (1 system) 105 and the arithmetic unit (2 system) 106 have 8 bits.
  • the data “0xAA” is output.
  • FIG. 4 shows an example of the calculation executed by the calculation unit (1 system) 105 and the calculation unit (2 system) 106.
  • a predetermined value is calculated according to the value of the input signal. It may be a more complicated operation such as performing four arithmetic operations.
  • the output data is not limited to 8 bits, and may be long data such as 32 bits or 1 bit.
  • the number of input signals is not limited to three, and each input signal may be 1 bit or multiple bits.
  • FIG. 5 is a diagram for explaining the processing executed by the internal signal matching unit 107 according to this embodiment.
  • the operation result “X1” output from the operation unit (1 system) 105 and the operation result “X2” output from the operation unit (2 system) 106 are collated bit by bit by the EOR gate 141.
  • the comparison result for each bit is aggregated by the OR gate 142. If there is a mismatch in any of the bits of the two calculation results, an abnormality signal for notifying the occurrence of abnormality is output.
  • the output abnormal signal is input to the OR gate 112 (see FIG. 2).
  • FIG. 6 is a diagram for explaining processing of a normal case of the internal signal matching unit 107 according to this embodiment.
  • both the output (calculation result) X1 of the calculation unit (1 system) 105 and the output (calculation result) X2 of the calculation unit (2 system) 106 are “0xAA (10101010 in binary notation)”, the EOR gate 141
  • the outputs (X1 ⁇ X2) are all 0, and the abnormal signal is "0" indicating no abnormality. That is, the arithmetic unit (1 system) 105 and the arithmetic unit (2 system) 106 are determined to be operating normally.
  • FIG. 7 is a diagram for explaining processing of an abnormal case by the internal signal matching unit 107 according to this embodiment. It is assumed that an abnormality has occurred in the arithmetic unit (1 system) 105 and “0xAB” is output as an erroneous arithmetic result. In this case, due to the mismatching of the least significant bits, the least significant bit of the output (X1 ⁇ X2) of the EOR gate 141 becomes “1" and the abnormal signal becomes "1" indicating that there is an abnormality. That is, it is determined that an abnormality has occurred in either the arithmetic unit (1 system) 105 or the arithmetic unit (2 system) 106.
  • the internal signal matching unit 107 must detect the abnormality.
  • the communication control unit (1 system) 108 and the communication control unit (2 system) 109 are functional units having the same input signal and performing the same processing.
  • the communication control unit (1 system) 108 and the communication control unit (2 system) 109 have a function of controlling communication between the processing devices 10 and 20. Since the communication control unit (1 system) 108 and the communication control unit (2 system) 109 have the same functions, the description of the communication control unit (2 system) 109 is omitted, and the communication control unit (1 system) 108 Continue the explanation.
  • the communication control unit (1 system) 108 transmits the data of the calculation result output by the calculation unit (1 system) 105 to the processing device 20. It should be noted that what is transmitted to the processing device 20 is the calculation result output by the communication control unit (1 system) 108, and the output result of the communication control unit (2 system) 109, which is the same data, is transmitted to the processing device 20. Not sent. Further, the communication control unit (1 system) 108 outputs the data received from the processing device 20 to the computing unit (1 system) 105 and the computing unit (2 system) 106. Further, the communication control unit (1 system) 108 and the communication control unit (2 system) 109 have a communication abnormality detection function for detecting an abnormality when an abnormality occurs in the communication path 360 (see FIG. 3).
  • FIG. 8 is a diagram for explaining a process executed by the communication control unit (first system) 108 according to the present embodiment.
  • the calculation result data output from the calculation unit (1 system) 105 is input to the CRC generation unit 150 (see FIG. 9 described below) of the communication control unit (1 system) 108 and the output frame generation unit 161.
  • the CRC generation unit 150 generates a CRC code from the calculation result data input from the calculation unit (first system) 105, and outputs the CRC code to the output frame generation unit 161.
  • FIG. 9 is a diagram for explaining the processing executed by the CRC generation unit 150 according to this embodiment.
  • the data input to the CRC generation unit 150 is first input to the 6-bit CRC generation logic 151.
  • the 6-bit CRC generation logic 151 generates a 6-bit CRC code from the input 8-bit data.
  • the generated CRC code is inverted in polarity by the inverter 152 and then output to the output frame generation unit 161 (see FIG. 8).
  • a 6-bit CRC code is used, but this is merely an example and the present invention is not limited to this.
  • a 16-bit CRC code may be used, or a longer CRC code may be used, depending on the size of data to be transmitted / received and the required error detection rate.
  • the output frame generation unit 161 sets the data of the calculation result input from the calculation unit (first system) 105 and the CRC code input from the CRC generation unit 150 in a predetermined communication frame format (see a figure described later). 10)), and outputs as serial data to the inter-processor communication output terminal unit 122, the inter-system matching output terminal unit 125, and the output signal matching unit 111 (see FIG. 2).
  • the serial data output from the inter-processor communication output terminal unit 122 is transmitted to the processor 20 via the transceiver 320 (see FIG. 1). This transmission processing is repeatedly executed at a predetermined timing, for example, a fixed cycle time interval.
  • FIG. 10 is a diagram showing a communication frame format generated by the output frame generation unit 161 according to this embodiment.
  • the communication frame 510 includes a frame start flag 511 indicating the beginning of the frame, a data area 512, a CRC area 513, and a frame end flag 514 indicating the end of the frame.
  • the data area 512 contains the data of the operation result output by the operation unit (1 system) 105
  • the CRC area 513 contains the CRC code output by the CRC generation unit 150.
  • the input frame analysis unit 162 outputs serial data from the processing device 20 output from the transceiver 320 and input from the inter-processing device communication input terminal unit 123 (hereinafter, also referred to as communication frame or input frame). Confirm the soundness (see FIGS. 1 and 2).
  • the input frame analysis unit 162 checks the soundness of the input frame by checking the CRC code stored in the CRC area 513 (see FIG. 10) of the input frame in the CRC check unit 155 (see FIG. 11 described later). Check.
  • the input frame analysis unit 162 outputs the data stored in the data area 512 of the input frame to the arithmetic unit (1 system) 105 and the arithmetic unit (2 system) 106. To do. If an error is confirmed as a result of the check, a signal notifying the error detection (error detection signal) is output to the OR gate 164.
  • FIG. 11 is a diagram for explaining the processing executed by the CRC check unit 155 according to this embodiment.
  • the data described as “DATA [7: 0]” in FIG. 11
  • the CRC code (described as “CRC [5: 0]” in FIG. 11) input to the CRC check unit 155 are the 6-bit CRC.
  • the 6-bit CRC check logic 156 is supplied with a 6-bit CRC initial value.
  • the 6-bit CRC check logic 156 generates a 6-bit check CRC code (described as “CRCCHK [5: 0]” in FIG. 11) from the input 14-bit data and 6-bit CRC initial value. It is output to the magic number matching unit 157.
  • the magic number collation unit 157 collates the check CRC code with the magic number (in FIG. 11, described as “6′h14 (6 bit data is written in hexadecimal)”), and if a mismatch is detected, Assuming that the content of the input frame is erroneous, a signal notifying the error detection is output to the OR gate 164 (see FIG. 8).
  • FIG. 12 is a diagram for explaining the processing of the CRC check unit 155 according to this embodiment in a normal case and an abnormal case.
  • the processing device 10 When both the data (see the data area 512 in FIG. 10) and the CRC code (see the CRC area 513) of the communication frame received from the processing device 20 are normally received by the processing device 10, the normal case of FIG. As shown, the output of the 6-bit CRC check logic 156 and the magic number match, and the error output is "0".
  • the inter-processor communication time-out detection unit 163 is a functional unit that detects disconnection of communication between the processor units 10 and 20.
  • the inter-processor communication timeout detection unit 163 monitors the reception interval of serial data (communication frame, input frame) sent from the processor 20 in a constant cycle, and the reception of the communication frame from the processor 20 is constant. When the period is stopped, a signal notifying the error detection is output to the OR gate 164.
  • the communication timeout detection unit 163 can detect the communication disconnection.
  • an abnormality signal for notifying the occurrence of abnormality is output via the OR gate 164.
  • the output abnormal signal is input to the OR gate 112 (see FIG. 2).
  • Safety communication (safety layer, black channel)
  • Anomalies that should be assumed in safety communication defined in the safety communication standard IEC 61784-3 referenced by the functional safety standard IEC 61508-2 include deterioration, loss, unacceptable delay, There are unintended repetitions, incorrect sequences, insertions, masquerades and addressing errors.
  • a communication layer that can detect all of these abnormalities at the transmission end and the reception end of communication is called a safety layer.
  • any possible communication abnormality can be detected by the safety layer. Therefore, in the safety communication, the reliability of the communication path can be considered as unquestionable. It may be a connection method or a communication medium. Such a communication path is called a black channel.
  • the communication channel 360 (see FIG. 3) of is a black channel.
  • the CRC abnormality detection described above is effective for the abnormality of deterioration.
  • the timeout abnormality detection described above is effective for the abnormality of the delay that is lost or unacceptable.
  • the method of assigning a sequence number in the communication frame is effective for unintended repetition and abnormal sequence errors.
  • the frame sending side increments the numerical value of the sequence number in the communication frame and sends each time the frame is sent, and the receiving side confirms that the numerical value in the received communication frame is correctly incremented.
  • the method of assigning the sequence number is also effective for abnormal insertion. Further, it is possible to take measures by adopting such a form that the black channel has a buffer of less than one frame.
  • the processing devices corresponding to the master and the slave each add their own address in the communication frame and transmit, thereby matching the address with the expected value on the receiving side, It is possible to detect the above abnormality. Further, when detecting an abnormality in communication, erroneous detection of an abnormality may occur due to sudden noise such as lightning strike. In consideration of the toughness of communication, an embodiment may be adopted in which the abnormality is not immediately determined by one-time abnormality detection, but is determined to be abnormal when a predetermined number of consecutive abnormalities are detected.
  • Internal logic configuration of FPGA Internal signal matching unit
  • serial data output from the communication control unit (1 system) 108 and the communication control unit (2 system) 109 is collated by the internal signal collating unit 110.
  • the processing content of the internal signal matching unit 110 is the same as that of the internal signal matching unit 107 described above except that the bit width of the input signal is different, and thus the description thereof is omitted.
  • an abnormality occurs in either the communication control unit (1 system) 108 or the communication control unit (2 system) 109 and different data is output by the internal signal matching unit 110, this can be detected. ..
  • Output signal matching unit >> The serial data (communication frame) output from the communication control unit (1 system) 108 of the FPGA 100 and the communication control unit (1 system) 108 of the FPGA 200 is output by the output signal matching unit 111 of the FPGA 100 and the output signal matching unit 111 of the FPGA 200. Matched to each other.
  • FIG. 13 is a diagram for explaining the processing executed by the output signal matching unit 111 according to this embodiment.
  • the serial data output from the communication control unit (first system) 108 of the FPGA 100 is output to the frame detection unit A172 of the FPGA 100 and the inter-system matching output terminal unit 125.
  • the serial data output to the inter-system verification output terminal unit 125 is input to the input synchronization unit 171 of the output signal verification unit 111 of the FPGA 200 via the inter-system verification input terminal unit 225 (see FIG. 1). ..
  • the serial data output from the inter-system verification output terminal unit 226 of the FPGA 200 is input to the input synchronization unit 171 of the FPGA 100 via the inter-system verification input terminal unit 126.
  • the input synchronization unit 171 synchronizes the serial data input from the FPGA 200 with the A system clock 342A (see FIG. 1) and then outputs the serial data to the frame detection unit B173.
  • the frame verification unit A172 informs the data verification unit 174 and the intersystem verification timeout detection unit 175 that the A system frame reception is completed.
  • the notification is sent and the A-system output data and the CRC code acquired from the communication frame are output to the data collating unit 174.
  • the frame detection unit B173 completes the reception of the serial data of the serial data input from the input synchronization unit 171
  • the data detection unit 174 and the inter-system verification time-out detection unit 175 complete the reception of the B-system frame.
  • the notification is sent, and the B-system output data and the CRC code acquired from the serial data are output to the data collating unit 174.
  • Output signal matching unit Data matching
  • the data collating unit 174 collates the A system output data and the CRC code sent from the frame detecting unit A172 with the B system output data and the CRC code sent from the frame detecting unit B173, and when a mismatch is detected, collates. An error detection signal is output to notify the detection of mismatch.
  • FIG. 14 is a diagram for explaining the processing executed by the data matching unit 174 according to this embodiment.
  • the A system output data and the CRC code sent from the frame detection unit A172 are latched in the flip-flop group 182 at the timing when the A system frame reception completion notification is received.
  • the B system output data and the CRC code sent from the frame detection unit B173 are latched in the flip-flop group 183 at the timing when the B system frame reception completion notification is received.
  • the reception completion detecting unit 181 sends out a collation start instruction signal when both the A-system frame reception completion notification and the B-system frame reception completion notification are received.
  • the values latched in the flip-flop group 182 and the flip-flop group 183 are set in the verification flip-flop group 184 at the timing when the verification start instruction signal is sent.
  • the value set in the collation flip-flop group 184 is collated by the EOR gate 185.
  • the results are aggregated by the OR gate 186, and if there is a mismatch in any one bit, an error detection signal is output.
  • the output error detection signal is input to the OR gate 176 (see FIG. 13).
  • FIG. 15 is a diagram for explaining the process of the data collating unit 174 according to the present embodiment at the normal time.
  • the collation is matched and the error detection signal becomes "0".
  • FIG. 16 is a diagram for explaining processing of the data collating unit 174 according to the present embodiment at the time of abnormality.
  • a signal change may occur under the influence of external noise.
  • the inter-system collation timeout detection unit 175 monitors the reception time difference between the A-system frame reception completion notification from the frame detection unit A172 and the B-system frame reception completion notification from the frame detection unit B173. If the reception time difference exceeds the permissible range, an error detection signal is output as an inter-system verification timeout. The output error detection signal is input to the OR gate 176.
  • FIG. 17 is a diagram for explaining the processing executed by the inter-system collation timeout detection unit 175 according to this embodiment.
  • the intersystem collation timeout detection unit 175 is configured by the state machine 190.
  • the initial state is an idle state (described as idle in FIG. 17) 191.
  • the state machine 190 transits to the timeout monitoring state (described as timeout monitoring in FIG. 17) 192.
  • the state machine 190 counts the time until receiving the B-system frame reception completion notification in the timeout monitoring state 192. If the B-system frame reception completion notification is received within the timeout allowable time, the state machine 190 returns to the idle state 191.
  • the state machine 190 transits to the error output state (described as error output in FIG. 17) 194 and notifies that the timeout has been detected. Error detection signal.
  • the output error detection signal is input to the OR gate 176 (see FIG. 13).
  • the state machine 190 transits to the timeout monitoring state (described as timeout monitoring in FIG. 17) 193.
  • the state machine 190 counts the time until the A-system frame reception completion notification is received in the timeout monitoring state 193.
  • the state machine 190 returns to the idle state 191. If the A-system frame reception completion notification is not received within the timeout allowable time, the state machine 190 transits to the error output state 194 and outputs an error detection signal notifying that the timeout has been detected.
  • the output error detection signal is input to the OR gate 176.
  • an abnormal signal notifying the occurrence of an abnormality is output via the OR gate 176. It The output abnormal signal is input to the OR gate 112 (see FIG. 2).
  • FIG. 18 is a diagram for explaining processing executed by the buffer 113 according to this embodiment.
  • the buffer 113 is composed of a shift register 149 in which 64 flip-flops are cascade-connected.
  • the transmission data output from the communication control unit (1 system) 108 is delayed by 64 cycles by the buffer 113, and then output to the transceiver 320 and transmitted to the processing device 20.
  • inter-system collation timeout detection unit 175 (see FIG. 13) described above, even when the allowable time-out period is 16 cycles, inter-system collation is performed before transmission to the processing device 20 is started.
  • the timeout detection can be completed. Therefore, when an abnormality occurs, the transmission of the transmission data (communication frame) to the processing device 20 can be stopped.
  • the received data from the A system and the B system are temporarily stored, and the collation is collectively performed at the timing when the reception of the communication frames from both the A system and the B system is completed.
  • the data collation method is not limited to this.
  • a data collation method in which serial data received from the A system and the B system is collated bit by bit at any time may be considered. According to this method, it is possible to perform data transmission and collation in parallel, and by removing the buffer corresponding to the buffer 113 described above, transmission to the processing device 20 is performed without causing a time delay. It is possible. It is also effective as a countermeasure against the abnormal insertion that should be assumed in the safety communication described above.
  • the OR gate 112 of the FPGA 100 includes an abnormal signal output from the internal signal matching unit 107 of the FPGA 100, an abnormal signal output from the communication control unit (1 system) 108, and a communication control unit (2 system). ) 109, the abnormal signal output from the internal signal matching unit 110, and the abnormal signal output from the output signal matching unit 111 are aggregated, and the result is used as a shutdown signal to output a shutdown signal. Output to the switch 331 (see FIG. 1) via the terminal portion 124.
  • the switch 33 when the shutdown signal input from the OR gate 112 of the FPGA 100 is “1”, that is, the internal signal matching unit 107 of the FPGA 100, the communication control unit (1 system) 108, or the communication control unit (2 system).
  • the switch 331 is turned off.
  • the power supplied to the transceiver 320 is cut off, and as a result, the communication between the processing devices 10 and 20 is cut off.
  • the internal signal matching unit 107, the communication control unit (1 system) 108, the communication control unit (2 system) 109, the internal signal matching unit 110, and the output signal matching unit included in the FPGA 200 are similar.
  • the switch 332 is turned off.
  • the power supplied to the transceiver 320 is cut off, and as a result, the communication between the processing devices 10 and 20 is cut off.
  • FIG. 19 is a diagram showing a specific example of the switches 331 and 332 according to this embodiment.
  • MOSFETs Metal-Oxide Semiconductor Field-Effect Transistors
  • the shutdown signal from the FPGA 100 is “1”
  • the gate of the MOSFET 331A is turned off, the power supplied to the transceiver 320 is cut off, and the communication between the processing devices 10 and 20 is cut off.
  • the shutdown signal from the FPGA 200 is “1”
  • the gate of the MOSFET 332A is turned off, the power supplied to the transceiver 320 is cut off, and the communication between the processing devices 10 and 20 is cut off.
  • the shutdown signal “1” is output from the FPGA 100, 200, both MOSFETs 331A, 332A are turned off, and the power is cut off.
  • the MOSFETs 331A and 332A are connected in series, and even if one of the MOSFETs 331A and 332A is not turned off due to a failure, the power of the transceiver 320 is cut off.
  • the above-described embodiment disconnects the communication between the processing devices 10 and 20 by disconnecting the power supply of the transceiver 320 when an abnormality is detected, but the communication disconnection realizing means is not limited to this.
  • a switch may be mounted on the signal transmission path of the transmission / reception signal, and the switch may be turned off when an abnormality is detected to disconnect the communication.
  • the transmission / reception signal is fixed to “0” or “1” when an abnormality is detected by passing the transmission / reception signal through an AND gate or the like, and communication is disconnected by this is also considered.
  • the FPGA 100 and the FPGA 200 each have the same function, perform the same processing on the same input, and generate the same output signal. Therefore, as long as there is no abnormality such as a failure in both the FPGA 100 and the FPGA 200, their outputs match. Further, when a failure occurs in either the FPGA 100 or the FPGA 200, the output signal matching unit 111 can detect the abnormality.
  • the output signal matching unit 111 since the output signal matching unit 111 is provided in both the FPGA 100 and the FPGA 200 and is multiplexed, even if any one of the output signal matching units 111 fails, the safety function is not lost. Further, the switches 331 and 332 are also multiplexed, and even if one of them fails, the safety function is not lost. Further, in the present embodiment, the output signal matching unit 111 detects the abnormality of the communication frame between the processing devices 10 and 20, so that the communication path 360 (see FIG. 3) is broken even if the communication path has a single configuration. Can be detected. More specifically, in FIG. 2, when an abnormality occurs in the communication path 360, the abnormality is detected by the communication control unit (1 system) 108 and the communication control unit (2 system) 109, and the output signal matching unit 111 is notified. Then, the communication path 360 is disconnected.
  • FIG. 20 is a diagram for explaining the roles of the insulating element and the inter-system separation of the power supply, the clock, and the reset according to this embodiment.
  • a power supply 341A is supplied to the A system
  • a power supply 341B is supplied to the B system.
  • the power planes are separated by the A system power plane 361A and the B system power plane 361B by providing a physical gap.
  • An insulating element 350 is provided between the A system and the B system in order to send and receive signals with different power supply systems.
  • FIG. 20 shows an example in which a magnetic isolator is used as the insulating element, a capacitor isolator, a photocoupler, or the like may be used instead.
  • the A system includes a transmitter 342P as a clock 342A and a reset control IC 343P as a reset 343A
  • the B system includes a transmitter 342Q as a clock 342B and a reset control IC 343Q as a reset 343B. Similar to the power supply described above, by providing these components independently for the A system and the B system, even if one of the above components fails in the other system, the other system will operate. The failure can be detected.
  • FIG. 21 is a diagram for explaining the assignment of input / output terminals and the layout of the internal logic of the FPGA 100 according to this embodiment.
  • FIG. 22 is a diagram for explaining the assignment of input / output terminals and the layout of the internal logic of the FPGA 200 according to this embodiment.
  • the FPGA 100 and the FPGA 200 each have the same function, perform the same processing on the same input, and generate the same output signal.
  • the FPGA 100 and the FPGA 200 have different input / output signals and input / output terminal assignments (pin assignments).
  • the pin assignment of the input signal 1 is PN39 in the FPGA 100, but is assigned to PN11 in the FPGA 200.
  • the FPGA 100 and the FPGA 200 have different pin assignments, the physical layout of the internal logic of the FPGA 100 and the FPGA 200 are different. By collating the outputs of the two FPGAs 100 and 200 having different physical layouts of the input / output terminal section and the internal logic, it is possible to detect an abnormality even if a common factor failure occurs in the FPGA manufacturing process.
  • the verification of the bitstream file generated by the FPGA placement and routing tool is also performed while operating the FPGA. Even if a common factor failure due to a bug of the FPGA placement and routing tool occurs, it is possible to detect the abnormality.
  • the above-described example is a method in which the physical layout of the internal logic is changed as a result by changing the assignment of the input / output signals and the input / output terminals between the FPGA 100 and the FPGA 200.
  • FIG. 23 is a diagram showing the internal logical configuration of the FPGA 100A according to the first modification of the present embodiment.
  • Modification 1 is an example of multiplexing of 3 systems including A system, B system and C system
  • FPGA 100A is an FPGA provided in the A system.
  • the C system has the same configuration as the A system and the B system, and includes an FPGA and a power supply, a clock, and a reset independent of the A system and the B system.
  • switches 331 and 332 for cutting off the power supplied to the transceiver 320 In addition to the switches 331 and 332 for cutting off the power supplied to the transceiver 320, switches that are turned off by a shutdown signal from the FPGA of the C system are connected in series. When the shutdown signal “1” is output from any of the A-system, B-system, and C-system FPGAs, the power supply of the transceiver 320 is cut off and the communication between the processing devices 10 and 20 is cut off.
  • the FPGA 100A further includes an output signal matching unit 111A that matches the serial data from the C-system FPGA with the serial data (communication frame) output by the communication control unit (1st system) 108.
  • the output signal matching unit 111A has the same configuration as the output signal matching unit 111. Further, an abnormal signal output from the output signal matching unit 111A is added to the input to the OR gate 112A.
  • the output signal collating unit 111 collates the A-system serial data with the B-system serial data, and if there is a disagreement, outputs an abnormal signal to the OR gate 112A.
  • the output signal collating unit 111A collates the A-system serial data with the C-system serial data, and when there is a disagreement, outputs an abnormal signal to the OR gate 112A.
  • the shutdown signal “1” is output, the power supply of the transceiver 320 is cut off, and the processing devices 10 and 20 are connected. Communication is disconnected.
  • both of the processing devices 10 and 20 have a duplex configuration, but the processing device 20 may not have a multiplexing configuration or may have a triple configuration. In this way, a flexible system configuration can be obtained by not limiting the multiplexing configuration of the processing devices that are communication partners.
  • both the processing devices 10 and 20 transmit data.
  • the processing device 20 may transmit the heartbeat for confirming the life and death as serial data (communication frame) at predetermined intervals without transmitting the data.
  • the input frame analysis unit 162 (see FIG. 8) does not operate and error detection is not performed.
  • the inter-processor communication timeout detection unit 163 outputs a signal for notifying the error detection to the OR gate 164 (see FIG. 8) when the reception of the heartbeat from the processor 20 is interrupted for a certain period.
  • a microprocessor (hard IP (Intellectual Property)) embedded in an FPGA may be used in order to improve processing speed and reduce power consumption.
  • the microprocessor causes a common factor failure. Therefore, it is desirable to avoid the use of the embedded microprocessor and operate only by the hardware logic defined by the designer (user, user) of the internal logic of the FPGA. By doing so, it is possible to avoid common factor failures caused by the microprocessor. For the same reason, it is desirable to avoid the use of FPGA embedded hard IP and to operate only with the hardware logic defined by the designer of the FPGA internal logic.
  • FIG. 24 is a diagram for explaining an example of the internal logical arrangement avoiding the use of the embedded microprocessor according to the modified example 4 of the present embodiment.
  • An embedded microprocessor is arranged in the internal area 198 of the FPGA 100B.
  • the output signal matching unit 111 and the OR gate 112 are arranged excluding the internal region 198.
  • the internal signal matching unit may be omitted without duplicating the arithmetic unit and the communication control unit.
  • the cost can be reduced by simplifying the internal logic.
  • the degree of multiplicity may be two or more such as triplex. By increasing the multiplicity, it is possible to reduce the risk of processing the input signal.
  • the output signal matching unit can detect only the failure of the internal logic that is actually operating. For example, even if there is a failure in a logic circuit that does not operate unless specific conditions are met, such as a process that occurs at low frequency or is executed only in a special state, it cannot be detected immediately. ..
  • a diagnosis period for diagnosing whether the logic circuit operates normally is provided, and during the diagnosis period, a specific condition for operating the logic circuit is intentionally injected and the logic circuit is activated, so that the output signal matching unit detects the failure. be able to.
  • FIG. 25 is a diagram for explaining a diagnosis period according to the modified example 6 of the present embodiment.
  • the FPGAs 100 and 200 perform a periodic operation as shown in FIG.
  • the FPGAs 100 and 200 perform data transmission / reception between the processing devices 10 and 20 in the normal operation period 610.
  • the diagnostic period 620 it is diagnosed whether the logic circuit is functioning properly.
  • the FPGAs 100 and 200 repeatedly perform the normal operation period 610 and the diagnosis period 620 as one cycle.
  • FIG. 26 is a diagram showing an example of a logic circuit before the activation condition injection circuit according to the modified example 6 of the present embodiment is added.
  • the logic circuit 400 is a part of the arithmetic unit (1 system) 105, the arithmetic unit (2 system) 106, the communication control unit (1 system) 108, and the communication control unit (2 system) 109 that execute the main functions of the FPGAs 100 and 200.
  • And is an example of a logic circuit configured by an AND gate 401 and an OR gate 402.
  • the input signal C is asserted (the signal becomes “1”) only in a special state that occurs at low frequency.
  • FIG. 27 is a diagram for explaining an activation condition injection circuit according to Modification 6 of the present embodiment.
  • the activation condition injection circuit 410 is a circuit for activating the input signal C of the logic circuit 400.
  • the activation condition injection circuit 410 forcibly switches the value of the input signal C to “1” and activates the OR gate 402.
  • the OR gate 420 fails in the logic circuit 400 and an abnormality occurs in which the value of the input signal C is not reflected in the output signal Q, the abnormality can be detected by the output signal matching unit.
  • the modification 6 is the activation condition injection circuit 410 in the logic circuit 400, which is configured by the AND gate 401 and the OR gate 402, but may be another logic circuit.
  • the activation condition injection circuit 410 By providing the activation condition injection circuit 410 to the signal line of the input signal that is asserted at low frequency, even if a failure occurs in the logic circuit that does not operate unless specific conditions are met, this is detected. be able to.
  • Processing circuit is divided into two in each system»
  • each of the A-system and B-system processing circuits is configured by one FPGA.
  • the processing circuit in each system may be divided into two and configured with two FPGAs, or may be divided into a larger number.
  • FIG. 28 is a diagram schematically showing a division configuration of the processing circuit (FPGA) according to the modified example 7 of the present embodiment.
  • the main function of the processing device 10A is divided into an internal logic 115A and an internal logic 115B.
  • the internal logic 115A is mounted on the FPGA 100C and FPGA 200C
  • the internal logic 115B is mounted on the FPGA 100D and FPGA 200D.
  • the outputs of the FPGAs 100C and 200C are collated with each other in the output signal collating unit 116A of the FPGA 100C and the output signal collating unit 116A of the FPGA 200C, respectively.
  • the outputs of the FPGAs 100D and 200D are mutually collated by the output signal collating unit 116B of the FPGA 100D and the output signal collating unit 116B of the FPGA 200D, respectively.
  • the present invention is not limited to the above-described embodiments, and includes other modifications and applications without departing from the gist of the present invention described in the claims. Further, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. Further, the control lines and information lines are shown as being considered necessary for explanation, and not all the control lines and information lines in the product are necessarily shown.
  • Processing device 100, 100A, 100B, 100C, 100D, 100Z, 200, 200C, 200D
  • FPGA processing circuit
  • Operation unit (1 system) (Internal logic)
  • 106 arithmetic unit (2 systems) (internal logic)
  • Internal signal matching unit (internal logic)
  • Communication control unit (1 system) (internal logic)
  • Communication control unit (2 system) (Internal logic)
  • Internal signal matching unit (internal logic)
  • 111,111A output signal collating unit (internal logic) 112, 112A OR gate (internal logic) 116A, 116B
  • Output signal matching unit (internal logic) 341A, 341B Power supplies 342A, 342B Clocks 343A, 343B Reset 350 Insulation element 360 Communication path 410 Activation condition injection circuit

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Safety Devices In Control Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

高い安全性を有し、異常の検出が可能である処理装置を提供する。例えば、共通要因故障が発生した場合においても異常の検出を可能であり、一点故障による安全機能喪失の可能性を排除して異常の検出が可能である処理装置を提供する。 本発明における処理装置は、それぞれ同一の機能を有する複数の系により多重化された処理回路(100)を備える。それぞれの処理回路(100)の出力信号を相互に照合する出力信号照合部(111)を、それぞれの処理回路(100)が具備する。これにより、処理回路(100)において異常が発生した場合、出力信号には異なる信号が現れ、出力信号照合部(111)が出力信号を対比することにより、異常を検出することが可能である。また、出力信号照合部(111)が多重化されており、出力信号照合部(111)の一点故障による安全機能喪失の可能性を排除することが可能である。

Description

処理装置
 本発明は高い信頼性が要求されるシステムを構成する処理装置に関する。
 原子力発電所や工場プラントにおいてプロセスを制御するシステムなど、高い信頼性が要求されるシステムでは、機能安全(functional safety)が採用される。機能安全とは、システムに対して監視機能あるいは保護装置などを付加することにより、システム障害のリスクを低減するものである。
 機能安全のために、例えば、システムの一部を構成するハードウェアが多重化あるいは多様化される場合がある。多重化とは、同一機能を有するハードウェアを複数設けることで、一部のハードウェアの故障などによる障害に備えるものである。また、多様化とは、多重化されるハードウェアを互いに異なるハードウェア部品で構成するものである。
プロセス制御システムにFPGA(Field Programmable Gate Array)が採用される例がある。このような例では、入出力装置や演算装置に搭載するFPGAなど、各処理装置(モジュール)における基幹機能を担う部品については、多重化または多様化が要求される。
例えば、同一の入力信号に対して同一の処理を行い、同一の出力信号を生成する2つの系のハードウェア回路を設け、2つの出力信号が一致していることを確認することでハードウェア回路の正常動作を確認することができる。どちらか一方のハードウェア回路に異常が発生すると、2つのハードウェア回路の出力信号が不一致となるので、異常を容易に検出することができる。
 一方で、ハードウェアの多重化を行う場合、多重化された2系のハードウェア回路に、共通要因故障(CCF:Common Cause Failure)が発生することがある。共通要因故障とは、共通する要因により複数のハードウェアにおける同じ個所が同じように故障することである。2つの系で同時に共通要因故障が起こると、2つの系の出力信号が同じ不正な値を示す。この場合、出力信号同士が一致するか否かを監視することで異常を検出することはできない。共通要因故障の要因としては、例えば、複数のハードウェアに共通に採用されている部品におけるロット不良がある。特許文献1には、このような共通要因故障に起因する異常であっても検出を可能にする技術が記載されている。
特開2018-101241号公報
 特許文献1に記載の発明は、同一の入力信号に対して同一の処理を行い、同一の出力信号を生成する、複数系の処理回路に対し、それらの出力信号を照合する出力信号照合部を備えている。出力信号照合部は、複数系の処理回路とは別に具備されることにより、処理回路に共通要因故障が発生したときに、異常を検出することを可能である。しかしながら、出力信号照合部は多重化されておらず、出力信号照合部に故障が発生した場合には、一点故障により安全機能喪失に陥る可能性がある。
 本発明は、上記した背景を鑑みてなされたものであって、高い安全性を有し、異常の検出が可能である処理装置を提供する。例えば、共通要因故障が発生した場合においても異常の検出を可能とする処理装置であり、一点故障による安全機能喪失の可能性を排除して異常の検出が可能である処理装置を提供する。
 上記課題を解決するため、本発明の処理装置は、同一の入力信号に対して同一の処理を行い、同一の出力信号を生成する複数系の処理回路を備え、前記複数系の処理回路それぞれは、当該処理回路の出力信号と、他の処理回路の出力信号とを照合する出力信号照合部を備える。
 本発明によれば、高い安全性を有し、異常の検出が可能である処理装置を提供することができる。
 上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
本実施形態に係る処理装置の全体構成を示す図である。 本実施形態に係るFPGAの内部論理の構成例を示す図である。 本実施形態に係る処理装置間の通信路を説明するための図である。 本実施形態に係る演算部(1系)および演算部(2系)が実行する演算の例を説明するための図である。 本実施形態に係る内部信号照合部が実行する処理を説明するための図である。 本実施形態に係る内部信号照合部の、正常ケースの処理を説明するための図である。 本実施形態に係る内部信号照合部の、異常ケースの処理を説明するための図である。 本実施形態に係る通信制御部(1系)が実行する処理を説明するための図である。 本実施形態に係るCRC生成部が実行する処理を説明するための図である。 本実施形態に係る出力フレーム生成部が生成する、通信フレームフォーマットを示す図である。 本実施形態に係るCRCチェック部が実行する処理を説明するための図である。 本実施形態に係るCRCチェック部の正常ケースおよび異常ケースにおける処理を説明するための図である。 本実施形態に係る出力信号照合部が実行する処理を説明するための図である。 本実施形態に係るデータ照合部が実行する処理を説明するための図である。 本実施形態に係るデータ照合部の、正常時における処理を説明するための図である。 本実施形態に係るデータ照合部の、異常時における処理を説明するための図である。 本実施形態に係る系間照合タイムアウト検出部が実行する処理を説明するための図である。 本実施形態に係るバッファが実行する処理を説明するための図である。 本実施形態に係るスイッチの具体例を示した図である。 本実施形態に係る電源、クロック、リセットの系間分離と絶縁素子の役割を説明するための図である。 本実施形態に係るFPGAの入出力端子の割り当ておよび内部論理のレイアウトを説明するための図である。 本実施形態に係るFPGAの入出力端子の割り当ておよび内部論理のレイアウトを説明するための図である。 本実施形態の変形例1に係るFPGAの内部論理構成を示す図である。 本実施形態の変形例4に係る埋め込みマイクロプロセッサの使用を避けた内部論理配置の例を説明するための図である。 本実施形態の変形例6に係わる診断期間を説明するための図である。 本実施形態の変形例7に係わる活性化条件注入回路を付与する前の論理回路の一例を示す図である。 本実施形態の変形例7に係わる活性化条件注入回路を説明するための図である。 本実施形態の変形例7に係わる処理回路(FPGA)の分割構成を模式的に示した図である。
 以下、本発明を実施するための形態(実施形態)における処理装置について、図面を参照しながら説明する。
≪処理装置の全体構成≫
 図1は、本実施形態に係る処理装置10の全体構成を示す図である。処理装置10は、発電所や工場などの施設の設備に設置された信号源(センサ)11から出力された信号を入力信号として処理して、処理結果である出力信号を送信信号として処理装置20に送信する。また、本実施形態では、処理装置10は、信号源21からの信号を入力される処理装置20からの送信信号を入力の一部とする。
 処理装置10には、A系とB系とが存在する。A系は、入力端子部121、処理装置間通信用出力端子部122、処理装置間通信用入力端子部123、シャットダウン信号用出力端子部124、系間照合用出力端子部125および系間照合用入力端子部126を有するFPGA100を備える。FPGA100の内部論理は、外部からプログラミングが可能である。また、A系は、電源341A、クロック342Aおよびリセット343Aを備える。
A系と同様にB系は、入力端子部221、処理装置間通信用出力端子部222、処理装置間通信用入力端子部223、シャットダウン信号用出力端子部224、系間照合用入力端子部225および系間照合用出力端子部226を有するFPGA200を備える。FPGA200の内部論理は、外部からプログラミングが可能である。また、B系は、電源341B、クロック342Bおよびリセット343Bを備える。なお、処理装置間通信用出力端子部222は未接続(オープン)である。
FPGA100における入力信号群(入力信号1~3)と、FPGA200における入力信号群(入力信号1~3)は、共通の信号源11からA系およびB系に並列に入力される信号であり、同一の信号である。詳しくは、FPGA100に入力される入力信号1とFPGA200に入力される入力信号1とは同一であり、入力信号2,3についても同様である。
FPGA100およびFPGA200は、それぞれ同一の機能を有しており、同一の入力信号に対して同一の処理を行い、同一の出力信号を生成する。
 A系とB系とは、それぞれ異なる電源系統で動作している。A系は電源341Aによって動作し、B系は電源341Bによって動作する。またクロック、リセットについても、A系とB系とでは、それぞれ独立である。A系はクロック342Aとリセット343Aによって動作し、B系はクロック342Bとリセット343Bによって動作する。
 処理装置10は、A系とB系とは別に共通部分として、処理装置20との信号を送受信するトランシーバ(図1ではTRSと記載)320、トランシーバ320に供給される電源を遮断するためのスイッチ(図1ではSWと記載)331およびスイッチ332を備える。スイッチ331,332は、直列に接続されており、スイッチ331およびスイッチ332の何れか一方がオフになるとトランシーバ320の電源供給は遮断され、処理装置10,20間の通信が遮断される。またA系とB系との間には、異なる電源系統で信号の行き来をするための絶縁素子350を備える。
 FPGA100の系間照合用出力端子部125は、絶縁素子350を介してFPGA200の系間照合用入力端子部225と接続される。また、FPGA200の系間照合用出力端子部226は、絶縁素子350を介してFPGA100の系間照合用入力端子部126と接続される。絶縁素子350については、後記する図20で詳細に説明する。
 処理装置20は、処理装置10と同様のハードウェア構成であって、信号源21からの出力された信号を入力信号としている。トランシーバ320と処理装置20のトランシーバ(不図示)を介して、処理装置10,20は相互に接続される。
≪FPGAの内部論理構成≫
 図2は、本実施形態に係るFPGA100の内部論理の構成例を示す図である。図2を参照しながら、FPGA100の内部論理の構成について説明する。なお、FPGA200の内部論理構成は、FPGA100と同一であるため、説明を省略する。
 なお、FPGA200の構成要素の符号について、説明する上での不都合がない限りにおいて、FPGA100の対応する構成要素の符号と同一とする。例えば、後記する出力信号照合部について、FPGA100,200の双方の出力信号照合部に対して出力信号照合部111と記載する。
 FPGA100は、内部論理として、演算部(1系)105、演算部(2系)106、内部信号照合部107、通信制御部(1系)108、通信制御部(2系)109、内部信号照合部110、出力信号照合部111およびORゲート112を含んで構成される。点線199で示される箇所は、処理装置10,20間の通信路360(後記する図3参照)の端点である。
 図3は、本実施形態に係る処理装置10,20間の通信路360を説明するための図である。処理装置20に備わるFPGA100Zは、処理装置10におけるFPGA100に対応するA系のFPGAである。処理装置10から処理装置20へ送信される通信フレームは、処理装置間通信用出力端子部122、トランシーバ320、処理装置10,20間を接続する通信媒体、処理装置20のトランシーバ(不図示)およびFPGA100Zの処理装置間通信用入力端子部(不図示)を経由して、処理装置20側の端点199Zに到達する。
 処理装置20から処理装置10へ送信される通信フレームは、FPGA100Zの処理装置間通信用出力端子部(不図示)、処理装置20のトランシーバ、処理装置10,20間を接続する通信媒体、トランシーバ320および処理装置間通信用入力端子部123を経由して、処理装置10側の端点199に到達する。
 以下、内部論理としての演算部(1系)105、演算部(2系)106、内部信号照合部107、通信制御部(1系)108、通信制御部(2系)109、内部信号照合部110および出力信号照合部111を順に説明する。
≪FPGAの内部論理構成:演算部≫
 図2に示すように、演算部(1系)105および演算部(2系)106は、入力端子部121から入力された同一の信号を入力信号としており、かつ同一の処理を行う。演算部(1系)105および演算部(2系)106は、入力信号群の入力値に基づいて所定の演算を行い、その演算結果を出力する。演算部(1系)105および演算部(2系)106は同等の機能を有するので、演算部(2系)106についての説明は省略し、演算部(1系)105について説明を続ける。
 図4は、本実施形態に係る演算部(1系)105および演算部(2系)106が実行する演算の例を説明するための図である。例えば、入力信号1が「1」、入力信号2が「1」、入力信号3が「1」であったならば、演算部(1系)105および演算部(2系)106は、8ビットのデータ「0xAA」を出力する。なお、図4は、演算部(1系)105および演算部(2系)106で実行する演算の一例を示したものであって、この他にも、入力信号の値に応じて、所定の四則演算を行うなど、より複雑な演算であってもよい。また、出力するデータは、8ビットに限定されるものではなく、32ビットなどの長いデータであってもよいし、1ビットであってもよい。また、入力信号について、入力信号は3つとは限らず、各入力信号は1ビットであっても複数ビットであってもよい。
≪FPGAの内部論理構成:内部信号照合部≫
 図2に戻って、演算部(1系)105および演算部(2系)106から出力された演算結果は、内部信号照合部107によって照合される。
 図5は、本実施形態に係る内部信号照合部107が実行する処理を説明するための図である。
 演算部(1系)105から出力された演算結果「X1」および演算部(2系)106から出力された演算結果「X2」は、EORゲート141によって、ビットごとに照合される。ビットごとの照合結果は、ORゲート142によって集約される。2つの演算結果の何れかのビットに不一致があった場合には、異常の発生を通知する異常信号が出力される。出力された異常信号は、ORゲート112に入力される(図2参照)。
 図6は、本実施形態に係る内部信号照合部107の、正常ケースの処理を説明するための図である。演算部(1系)105の出力(演算結果)X1および演算部(2系)106の出力(演算結果)X2がともに「0xAA(二進表記で10101010)」だった場合は、EORゲート141の出力(X1^X2)は、全て0となり、異常信号は異常なしを示す「0」となる。即ち、演算部(1系)105および演算部(2系)106は正常動作していると判定される。
 図7は、本実施形態に係る内部信号照合部107の、異常ケースの処理を説明するための図である。演算部(1系)105において異常が発生し、誤った演算結果として「0xAB」が出力されたとする。この場合、最下位ビットの照合不一致により、EORゲート141の出力(X1^X2)の最下位ビットが「1」となって、異常信号は異常ありを示す「1」となる。即ち、演算部(1系)105か演算部(2系)106の何れかに異常が発生したと判定される。
 上記したとおり、演算部(1系)105および演算部(2系)106の何れかで異常が発生し、誤った演算結果が出力された場合は、内部信号照合部107によって異常を検出することができる。
≪FPGAの内部論理構成:通信制御部≫
 図2に戻って通信制御部(1系)108および通信制御部(2系)109は、入力信号が同一であり、かつ同一の処理を行う機能部である。通信制御部(1系)108および通信制御部(2系)109は、処理装置10,20間の通信を制御する機能を備えている。通信制御部(1系)108と通信制御部(2系)109とは、同等の機能を有するので、通信制御部(2系)109の説明を省略し、通信制御部(1系)108の説明を続ける。
 通信制御部(1系)108は、演算部(1系)105が出力した演算結果のデータを、処理装置20へ送信する。なお、処理装置20に送信されるのは、通信制御部(1系)108が出力した演算結果であって、同じデータである通信制御部(2系)109の出力結果は、処理装置20に送信されない。
 また、通信制御部(1系)108は、処理装置20から受信したデータを、演算部(1系)105および演算部(2系)106へ出力する。
 また、通信制御部(1系)108および通信制御部(2系)109は、通信路360(図3参照)内で異常が発生した場合に、この異常を検出する通信異常検出機能を備える。
≪FPGAの内部論理構成:通信制御部:出力フレーム生成≫
 図8は、本実施形態に係る通信制御部(1系)108が実行する処理を説明するための図である。演算部(1系)105から出力された演算結果のデータは、通信制御部(1系)108のCRC生成部150(後記する図9参照)と、出力フレーム生成部161とへ入力される。CRC生成部150は、演算部(1系)105より入力される演算結果のデータからCRCコードを生成し、出力フレーム生成部161へ出力する。
 図9は、本実施形態に係るCRC生成部150が実行する処理を説明するための図である。CRC生成部150に入力されたデータは、まず6ビットCRC生成論理151へ入力される。6ビットCRC生成論理151は、入力された8ビットデータから6ビットのCRCコードを生成する。生成されたCRCコードは、インバータ152により極性反転された後、出力フレーム生成部161(図8参照)へ出力される。
 なお、本実施形態では6ビットのCRCコードを使用しているが、あくまでも一例であって、これに限定するものではない。送受信するデータのサイズや、求められる誤り検出率などの要求に応じて、例えば、16ビットのCRCコードでもよいし、さらに長いCRCコードでもよい。
 図8に戻り、出力フレーム生成部161は、演算部(1系)105より入力される演算結果のデータと、CRC生成部150から入力されるCRCコードを、所定の通信フレームフォーマット(後記する図10参照)に変換した後に、シリアルデータとして処理装置間通信用出力端子部122、系間照合用出力端子部125および出力信号照合部111(図2参照)に出力する。
 処理装置間通信用出力端子部122から出力されたシリアルデータは、トランシーバ320を介して処理装置20に送信される(図1参照)。この送信処理は所定のタイミング、例えば一定周期の時間間隔、で繰り返し実行される。
 図10は、本実施形態に係る出力フレーム生成部161が生成する、通信フレームフォーマットを示す図である。通信フレーム510は、フレームの先頭を示すフレーム開始フラグ511と、データエリア512と、CRCエリア513と、フレームの終わりを示すフレーム終了フラグ514とを含んで構成される。データエリア512には、演算部(1系)105が出力した演算結果のデータが入り、CRCエリア513には、CRC生成部150が出力したCRCコードが入る。
≪FPGAの内部論理構成:通信制御部:入力フレーム解析≫
 図8に戻って、入力フレーム解析部162は、トランシーバ320が出力し、処理装置間通信用入力端子部123から入力された処理装置20からのシリアルデータ(以下、通信フレーム、入力フレームとも記す)(図1、図2参照)の健全性を確認する。入力フレーム解析部162は、CRCチェック部155(後記する図11参照)において、入力フレームのCRCエリア513(図10参照)に格納されたCRCコードのチェックを行うことにより、入力フレームの健全性を確認する。
 チェックの結果、健全性が確認できた場合は、入力フレーム解析部162は、入力フレームのデータエリア512に格納されたデータを、演算部(1系)105および演算部(2系)106へ出力する。チェックの結果、エラーが確認された場合は、エラー検出を通知する信号(エラー検出信号)をORゲート164に出力する。
 図11は、本実施形態に係るCRCチェック部155が実行する処理を説明するための図である。CRCチェック部155に入力されたデータ(図11では、「DATA[7:0]」と記載)とCRCコード(図11では、「CRC[5:0]」と記載)は、まず6ビットCRCチェック論理156へ入力される。また、6ビットCRCチェック論理156には、6ビットCRC初期値が入力される。6ビットCRCチェック論理156は、入力された計14ビットのデータおよび6ビットCRC初期値から6ビットのチェック用CRCコード(図11では「CRCCHK[5:0]」と記載)を生成した後、マジックナンバー照合部157に出力する。
 マジックナンバー照合部157は、チェック用CRCコードと、マジックナンバー(図11では「6'h14(6ビットのデータを十六進表記)」と記載)とを照合し、不一致が検出された場合は、入力フレームの内容に誤りがあるとして、エラー検出を通知する信号をORゲート164に出力する(図8参照)。
 図12は、本実施形態に係るCRCチェック部155の正常ケースおよび異常ケースにおける処理を説明するための図である。処理装置20から受信した通信フレームのデータ(図10のデータエリア512参照)とCRCコード(CRCエリア513参照)が、処理装置10において、ともに正常に受信された場合は、図12の正常ケースに示すとおり、6ビットCRCチェック論理156の出力とマジックナンバーとは一致し、エラー出力は「0」となる。
 これに対して、通信フレームのデータとCRCコードの何れかが誤って受信された場合(図12ではデータ(DATA[7:0])に誤りが発生)、図12の異常ケースに示すとおり、6ビットCRCチェック論理156の出力とマジックナンバーとは不一致となり、エラー検出信号は「1」となる。
 上記した機能により、通信路360内で、信号に誤りが発生した場合は、CRCチェック部155によって、誤りを検出することができる。
≪FPGAの内部論理構成:通信制御部:タイムアウト検出≫
 図8に戻り、処理装置間通信タイムアウト検出部163は、処理装置10,20の間の通信断を検出する機能部である。処理装置間通信タイムアウト検出部163は、処理装置20から一定の周期で送られてくるシリアルデータ(通信フレーム、入力フレーム)の受信間隔を監視し、処理装置20からの通信フレームの受信が、一定期間途絶えた場合にエラー検出を通知する信号をORゲート164に出力する。
 上記した機能により、通信路360内において通信断が発生した場合は、処理装置間通信タイムアウト検出部163によって、これを検出することができる。
 CRCチェック部155および処理装置間通信タイムアウト検出部163の双方または何れか一方でエラーが検出された場合は、ORゲート164を介し、異常の発生を通知する異常信号が出力される。なお、出力された異常信号は、ORゲート112(図2参照)に入力される。
 上述した実施形態は、通信異常検出の機能として最も簡易な一例を示しており、これに限定するものではない。
≪FPGAの内部論理構成:通信制御部:安全通信(安全レイヤ、ブラックチャネル)≫
 機能安全規格IEC 61508-2が参照する安全通信規格IEC 61784-3において規定される、安全通信で想定すべき異常としては、劣化(corruption)、消失(loss)、受容できない遅延(unacceptable delay)、意図しない繰り返し(unintended repetition)、誤った順序(incorrect sequence)、挿入(insertion)、偽装(masquerade)およびアドレス誤り(addressing)がある。また、通信の送信端および受信端において、これら全ての異常検出が可能な通信プロトコルを実装したものは安全レイヤ(safety layer)と呼ばれる。安全レイヤ間の通信路においては、考え得るあらゆる通信異常に対して、安全レイヤによって異常が検出可能であるため、安全通信において、当該通信路の信頼性は不問と考えることができ、どのような接続方法、通信媒体であってもよい。このような通信路はブラックチャネル(black channel)と呼ばれる。
 図2に戻り、通信制御部(1系)108および通信制御部(2系)109において、上記した安全通信で想定すべき全ての異常に対する異常検出機能を具備すれば、処理装置10,20間の通信路360(図3参照)は、ブラックチャネルとなる。
 上記の各通信異常を検出する具体的手段の例として、劣化の異常に対しては、前述したCRC異常検出が有効である。また、消失、受容できない遅延の異常に対しては、前述したタイムアウト異常検出が有効である。
 意図しない繰り返し、誤った順序の異常に対しては、通信フレーム中にシーケンス番号を付与する方式が有効である。例えば、フレーム送信側は、フレーム送信の都度、通信フレーム中のシーケンス番号の数値をインクリメントして送信し、受信側では、受信した通信フレーム中の当該数値が正しくインクリメントされていることを確認することにより、上記異常を検出することができる。挿入の異常に対しても、前記のシーケンス番号を付与する方式が有効である。またブラックチャネル内に1フレーム分未満のバッファしか持たない、といった形態をとることにより対策が可能である。
 偽装、アドレス誤りの異常に対しては、マスターおよびスレーブに相当する処理装置が、各々、通信フレーム中に自アドレスを付与して送信することにより、受信側で当該アドレスを期待値と照合し、上記異常を検出することが可能である。
 また、通信の異常検出においては、落雷などの突発的なノイズによって、異常の誤検出が生じる場合がある。通信のタフネス性に配慮し、一回の異常検出で即に異常と判断せず、所定の回数連続で異常が検出された場合に、異常と判断するといった実施形態でもよい。
≪FPGAの内部論理構成:内部信号照合部≫
 図2に戻って、通信制御部(1系)108および通信制御部(2系)109から出力されたシリアルデータは、内部信号照合部110によって照合される。内部信号照合部110の処理内容については、入力信号のビット幅が異なる点を除けば、前述の内部信号照合部107と同様であるため、説明を省略する。内部信号照合部110により、通信制御部(1系)108および通信制御部(2系)109の何れかで異常が発生し、異なるデータが出力された場合には、これを検出することができる。
≪FPGAの内部論理構成:出力信号照合部≫
 FPGA100の通信制御部(1系)108およびFPGA200の通信制御部(1系)108から出力されたシリアルデータ(通信フレーム)は、FPGA100の出力信号照合部111およびFPGA200の出力信号照合部111において、相互に照合される。
 図13は、本実施形態に係る出力信号照合部111が実行する処理を説明するための図である。FPGA100の通信制御部(1系)108から出力されたシリアルデータは、FPGA100のフレーム検出部A172と、系間照合用出力端子部125とに出力される。系間照合用出力端子部125に出力されたシリアルデータは、系間照合用入力端子部225(図1参照)を介して、FPGA200の出力信号照合部111の入力同期化部171へ入力される。
 また逆に、FPGA200の系間照合用出力端子部226から出力されたシリアルデータは、系間照合用入力端子部126を介してFPGA100の入力同期化部171へ入力される。
 入力同期化部171は、FPGA200から入力されたシリアルデータを、A系のクロック342A(図1参照)に同期化した後、フレーム検出部B173へ出力する。
 フレーム検出部A172は、通信制御部(1系)108から入力されたシリアルデータについて、シリアルデータの受信を完了すると、データ照合部174および系間照合タイムアウト検出部175に対し、A系フレーム受信完了通知を送出するとともに、当該通信フレームから取得したA系出力データとCRCコードを、データ照合部174へ出力する。同様に、フレーム検出部B173は、入力同期化部171から入力されたシリアルデータについて、シリアルデータの受信を完了すると、データ照合部174および系間照合タイムアウト検出部175に対し、B系フレーム受信完了通知を送出するとともに、当該シリアルデータから取得したB系出力データとCRCコードを、データ照合部174へ出力する。
≪FPGAの内部論理構成:出力信号照合部:データ照合≫
 データ照合部174は、フレーム検出部A172から送られるA系出力データおよびCRCコードと、フレーム検出部B173から送られるB系出力データおよびCRCコードとを照合し、不一致が検出された場合は、照合不一致の検出を通知する、エラー検出信号を出力する。
 図14は、本実施形態に係るデータ照合部174が実行する処理を説明するための図である。フレーム検出部A172から送られるA系出力データおよびCRCコードは、A系フレーム受信完了通知を受領したタイミングで、フリップフロップ群182にラッチされる。同様に、フレーム検出部B173から送られるB系出力データおよびCRCコードは、B系フレーム受信完了通知が受領されたタイミングで、フリップフロップ群183にラッチされる。
 受信完了検出部181は、A系フレーム受信完了通知とB系フレーム受信完了通知の双方が受領されたときに、照合開始指示信号を送出する。
 フリップフロップ群182およびフリップフロップ群183にラッチされた値は、照合開始指示信号が送出されたタイミングで、照合用フリップフロップ群184にセットされる。
 照合用フリップフロップ群184にセットされた値は、EORゲート185によって照合される。その結果はORゲート186によって集約され、何れか1ビットでも不一致があった場合は、エラー検出信号が出力される。出力されたエラー検出信号は、ORゲート176(図13参照)に入力される。
 図15は、本実施形態に係るデータ照合部174の、正常時における処理を説明するための図である。A系出力データおよびCRCコードと、B系出力データおよびCRCコードとがともに正常だった場合には、照合は一致し、エラー検出信号は「0」となる。
 図16は、本実施形態に係るデータ照合部174の、異常時における処理を説明するための図である。通信路360内において、外来ノイズなどの影響を受けて信号変化が起きる場合がある。信号変化によりデータに誤り(図16ではA系出力データの最下位ビットに誤り発生)が生じた場合、照合は不一致となり、エラー検出信号は「1」となる。
≪FPGAの内部論理構成:出力信号照合部:タイムアウト検出≫
 図13に戻り、系間照合タイムアウト検出部175は、フレーム検出部A172からのA系フレーム受信完了通知と、フレーム検出部B173からのB系フレーム受信完了通知との受信時間差を監視する。受信時間差が許容範囲を超えた場合は、系間照合タイムアウトとして、エラー検出信号を出力する。出力されたエラー検出信号は、ORゲート176に入力される。
 図17は、本実施形態に係る系間照合タイムアウト検出部175が実行する処理を説明するための図である。系間照合タイムアウト検出部175は、ステートマシン190によって構成される。初期状態は、アイドル状態(図17ではアイドルと記載)191である。
 アイドル状態191において、A系フレーム受信完了通知を受領すると、ステートマシン190は、タイムアウト監視状態(図17ではタイムアウト監視と記載)192へ遷移する。ステートマシン190は、タイムアウト監視状態192において、B系フレーム受信完了通知を受領するまでの時間をカウントする。タイムアウト許容時間内にB系フレーム受信完了通知が受領された場合は、ステートマシン190は、アイドル状態191に戻る。タイムアウト許容時間内に、B系フレーム受信完了通知が受領されなかった場合は、ステートマシン190は、エラー出力状態(図17ではエラー出力と記載)194へ遷移し、タイムアウトが検出されたことを通知するエラー検出信号を出力する。出力されたエラー検出信号は、ORゲート176(図13参照)に入力される。
 アイドル状態191において、B系フレーム受信完了通知を受領すると、ステートマシン190は、タイムアウト監視状態(図17ではタイムアウト監視と記載)193へ遷移する。ステートマシン190は、タイムアウト監視状態193において、A系フレーム受信完了通知を受領するまでの時間をカウントする。タイムアウト許容時間内にA系フレーム受信完了通知が受領された場合は、ステートマシン190は、アイドル状態191に戻る。タイムアウト許容時間内に、A系フレーム受信完了通知が受領されなかった場合は、ステートマシン190は、エラー出力状態194へ遷移し、タイムアウトが検出されたことを通知するエラー検出信号を出力する。出力されたエラー検出信号は、ORゲート176に入力される。
 図13に戻って、データ照合部174および系間照合タイムアウト検出部175の何れか一方または双方でエラーが検出された場合は、ORゲート176を介し、異常の発生を通知する異常信号が出力される。出力された異常信号は、ORゲート112に入力される(図2参照)。
≪FPGAの内部論理構成:出力信号照合部:通信フレーム送信≫
 バッファ113は、出力信号照合部111において異常が検出された場合に、処理装置20への通信フレーム送信を中止するための送信遅延を目的として具備されたものである。なお、図2では、バッファ113の記載を省略している。
 図18は、本実施形態に係るバッファ113が実行する処理を説明するための図である。図18において、バッファ113は、64個のフリップフロップをカスケード接続した、シフトレジスタ149によって構成される。通信制御部(1系)108から出力された送信データは、バッファ113により、64サイクル遅延された後、トランシーバ320へ出力され、処理装置20へ送信される。
 これにより、例えば、前述した系間照合タイムアウト検出部175(図13参照)において、タイムアウトの許容時間を16サイクルとした場合においても、処理装置20への送信が開始される前に、系間照合タイムアウトの検出を完了できる。このため、異常発生時には、処理装置20への送信データ(通信フレーム)の送信を中止することができる。
 上記した実施形態は、A系およびB系からの受信データを一時的に蓄積しておき、A系およびB系の双方からの通信フレームの受信を完了したタイミングで、一括して照合を行うものであるが、データ照合の方式としてはこれに限定しない。例えばこの他にも、A系およびB系から受信したシリアルデータを、1ビットずつ随時照合していく、といったデータ照合の方式も考えられる。この方式によれば、データの送信と照合とを並行して行うことができ、前述のバッファ113に相当するバッファを除することにより、時間的遅延を生じることなく処理装置20への送信を行うことが可能である。また、前述した安全通信で想定すべき挿入の異常に対する対策としても有効である。
≪FPGAの内部論理構成:異常信号の処理≫
 図2に戻って、FPGA100のORゲート112は、FPGA100の内部信号照合部107から出力される異常信号と、通信制御部(1系)108から出力される異常信号と、通信制御部(2系)109から出力される異常信号と、内部信号照合部110から出力される異常信号と、出力信号照合部111から出力される異常信号とを集約し、その結果をシャットダウン信号として、シャットダウン信号用出力端子部124を介してスイッチ331(図1参照)へ出力する。スイッチ331は、FPGA100のORゲート112からのシャットダウン信号の入力が「1」のとき、即ち、FPGA100の内部信号照合部107か、通信制御部(1系)108か、通信制御部(2系)109か、内部信号照合部110か、出力信号照合部111かの何れかが異常信号を出力していた場合に、スイッチ331がオフになる。これにより、トランシーバ320に供給される電源が遮断され、結果として、処理装置10,20の間の通信が切断される。
 FPGA200についても、同様であって、FPGA200に備わる内部信号照合部107か、通信制御部(1系)108か、通信制御部(2系)109か、内部信号照合部110か、出力信号照合部111かの何れかが異常信号を出力していた場合に、スイッチ332がオフになる。これにより、トランシーバ320に供給される電源が遮断され、結果として、処理装置10,20の間の通信が切断される。
≪スイッチおよびトランシーバ≫
 図19は、本実施形態に係るスイッチ331,332の具体例を示した図である。図19において、スイッチ331,332としてMOSFET(Metal-Oxide Semiconductor Field-Effect Transistor)331A,332Aを用いている。FPGA100からのシャットダウン信号が「1」のとき、MOSFET331Aのゲートがオフになり、トランシーバ320に供給される電源が遮断され、処理装置10,20間の通信が切断される。また、FPGA200からのシャットダウン信号が「1」のとき、MOSFET332Aのゲートがオフになり、トランシーバ320に供給される電源が遮断され、処理装置10,20間の通信が切断される。
 異常が発生した場合には、FPGA100,200からシャットダウン信号「1」が出力され、MOSFET331A,332Aの双方がオフになり、電源が遮断される。MOSFET331A,332Aは直列に接続されており、仮に何れか一方に故障が発生してオフにならなかったとしても、トランシーバ320の電源は遮断される。
 上記した実施形態は、異常検出時にトランシーバ320の電源が切断されることによって、処理装置10,20間の通信を切断するものであるが、通信切断の実現手段としては、これに限定するものではなく、様々なバリエーションが考えられる。例えば、送受信信号の信号伝送経路上にスイッチを実装し、異常検出時に当該スイッチをオフすることによって、通信を切断するようにしてもよい。また、送受信信号にANDゲートなどを介することにより、異常検出時に送受信信号を「0」または「1」に固着させ、これによって通信を切断する例なども考えられる。
≪処理装置の特徴≫
 上記したとおり、FPGA100およびFPGA200は、それぞれ同一の機能を有しており、同一の入力に対して同一の処理を行い、同一の出力信号を生成するものである。このため、FPGA100およびFPGA200双方に故障などの異常がない限りは、双方の出力は一致する。また、FPGA100およびFPGA200の何れかに故障が発生した場合には、出力信号照合部111によって異常を検出することができる。
 また、出力信号照合部111は、FPGA100およびFPGA200の双方に具備されて多重化されているため、何れかの出力信号照合部111が故障した場合においても、安全機能喪失に陥ることはない。また、スイッチ331,332も多重化されており、何れかが故障した場合においても、安全機能喪失に陥ることはない。
 さらに本実施形態では、出力信号照合部111が、処理装置10,20間の通信フレームの異常を検出することによって、シングル構成の通信路であっても、通信路360(図3参照)の故障を検出可能としている。詳しくは、図2において、通信路360において異常が発生した場合には、通信制御部(1系)108および通信制御部(2系)109で異常が検出され、出力信号照合部111に通知されて、通信路360が切断される。
≪絶縁素子、電源、クロックおよびリセットの特徴≫
 図20は、本実施形態に係る電源、クロック、リセットの系間分離と絶縁素子の役割を説明するための図である。前述したとおり、A系とB系は、それぞれ異なる電源系統で動作している。A系には電源341Aが供給され、B系には電源341Bが供給される。A系とB系とを異なった電源プレーンで動作させるため、処理装置10のプリント回路基板上において、電源プレーンはA系電源プレーン361AとB系電源プレーン361Bとで、物理的ギャップを設けて分離する。A系とB系との間には、異なる電源系統で信号の行き来をするために、絶縁素子350を設ける。図20では、絶縁素子として、磁気アイソレータを使用した例を示しているが、この他にもコンデンサーアイソレータやフォトカプラなどを使用してもよい。
 このようにA系とB系とで、電源を別系統として備えることにより、どちらか一方の系において電源が故障した場合においても、もう一方の系でその故障を検出することができる。
 また図20において、A系は、クロック342Aとして発信器342Pおよびリセット343Aとしてリセット制御IC343Pを備えており、B系は、クロック342Bとして発信器342Qおよびリセット343Bとしてリセット制御IC343Qを備えている。上述した電源と同様に、A系とB系とで、これらの部品を独立して備えることによって、何れか一方の系において、上記部品の何れかが故障した場合においても、もう一方の系でその故障を検出することができる。
≪FPGAの内部論理レイアウトの特徴≫
 図21は、本実施形態に係るFPGA100の入出力端子の割り当ておよび内部論理のレイアウトを説明するための図である。図22は、本実施形態に係るFPGA200の入出力端子の割り当ておよび内部論理のレイアウトを説明するための図である。
 前述したとおり、FPGA100とFPGA200とはそれぞれ同一の機能を有しており、同一の入力に対して同一の処理を行い、同一の出力信号を生成するものである。FPGA100とFPGA200とは、入出力信号と入出力端子の割り当て(ピンアサイン)が異なっている。例えば、入力信号1のピンアサインは、FPGA100ではPN39であるのに対し、FPGA200では、PN11に割り当てられている。
 またFPGA100とFPGA200とが、異なるピンアサインであることにより、FPGA100とFPGA200との内部論理の物理的配置がそれぞれ異なっている。入出力端子部と内部論理の物理的配置が異なる2つのFPGA100,200の出力を照合することにより、FPGAの製造過程における共通要因故障が発生しても、異常の検出が可能となる。
 また、入出力端子部と内部論理の物理的配置が異なる2つのFPGA100,200の出力を照合することにより、FPGA配置配線ツールによって生成されるビットストリームファイルの検証についても、FPGAを動作しながら検証することができ、FPGA配置配線ツールのバグによる共通要因故障が発生しても、異常を検出することが可能である。
 上述した例は、FPGA100とFPGA200とで、入出力信号と入出力端子の割り当てを変えることにより、その結果として内部論理の物理的配置を異なるものとする手法であるが、この他にも、FPGA配置配線ツールを使用し、設計者が意図的に配置配線制約を与えることによって、内部論理の物理的配置を2つのFPGA100,200で異なる配置とする手法もある。以上の手法を用いることで、FPGA100,200の製造業者が同一で、製造ロットが同一であって共通要因故障が発生したとしても、処理装置10は異常を検出して、処理装置20との通信を切断することが可能である。
 さらに、FPGA100,200における共通要因故障の回避策として、異なる製造業者のFPGAを用いる手法がある。異なる製造業者のFPGAを採用することで、製造過程における共通要因故障やFPGA配置配線ツールのバグによる共通要因故障を排除することができる。
 また、別の回避策として、同一製造業者であっても異なるパッケージ種のFPGAを用いる手法がある。異なるパッケージ種のFPGAを採用することで、製造過程における共通要因故障のリスクを小さくできる。また、同一製造業者の同一機能のFPGAであっても、パッケージ種が異なることで、ビットストリームファイルは相違するため、FPGA配置配線ツールのバグによる共通要因故障が発生しても、異常を検出することが可能である。
≪変形例1:二重化超の多重化≫
 上記した実施形態では、処理装置10でA系とB系との2系に多重化しているが、さらに多重化してもよい。図23は、本実施形態の変形例1に係るFPGA100Aの内部論理構成を示す図である。変形例1は、A系、B系およびC系とからなる3系の多重化の例であって、FPGA100Aは、A系に備わるFPGAである。C系は、A系やB系と同様の構成であって、FPGA、および、A系とB系とから独立した電源とクロックとリセットとを備える。
 トランシーバ320に供給される電源を遮断するためにスイッチ331,332に加えて、C系のFPGAからのシャットダウン信号によりオフになるスイッチが直列に接続される。A系、B系およびC系の何れかのFPGAからシャットダウン信号の「1」が出力されれば、トランシーバ320の電源供給は遮断され、処理装置10,20間の通信が遮断される。
 FPGA100と比較して、FPGA100Aは、C系のFPGAからのシリアルデータと通信制御部(1系)108が出力するシリアルデータ(通信フレーム)を照合する出力信号照合部111Aをさらに備える。出力信号照合部111Aは、出力信号照合部111と同等の構成である。また、ORゲート112Aへの入力には、出力信号照合部111Aが出力する異常信号が加わる。
 出力信号照合部111は、A系のシリアルデータとB系のシリアルデータとを照合し、不一致があった場合には、ORゲート112Aに異常信号を送出する。出力信号照合部111Aは、A系のシリアルデータとC系のシリアルデータとを照合し、不一致があった場合には、ORゲート112Aに異常信号を送出する。A系のシリアルデータ、B系のシリアルデータおよびC系のシリアルデータ全てが一致しない場合には、シャットダウン信号「1」が出力されてトランシーバ320の電源供給が遮断され、処理装置10,20間の通信が切断される。
 処理装置の系の多重化度を上げることにより、入力信号の処理に関するリスクを低減することができる。また、上記したように、出力信号照合部を追加することによって、さらなる系の多重化を行うことができる。
≪変形例2:一方の処理装置でのみの多重化≫
 上記した実施形態では、処理装置10,20の双方が、二重化構成にしているが、処理装置20は、多重化構成としない、または、3重化構成としてもよい。このように、通信相手となる処理装置の多重化構成を限定しないことで、柔軟なシステム構成をとることができる。
≪変形例3:片方向の通信≫
 上記した実施形態では、処理装置10,20の双方が、データを送信していた。処理装置20は、データを送信せず、生死確認のためのハートビートをシリアルデータ(通信フレーム)として所定の間隔で送信するようにしてもよい。この場合、入力フレーム解析部162(図8参照)は動作せず、エラー検出を行わない。処理装置間通信タイムアウト検出部163は、処理装置20からのハートビートの受信が、一定期間途絶えた場合にエラー検出を通知する信号をORゲート164(図8参照)に出力する。
≪変形例4:埋め込みマイクロプロセッサを使用しない構成≫
 一般のFPGAの論理構成では、処理速度向上や低消費電力化のために、FPGAに埋め込まれているマイクロプロセッサ(ハードIP(Intellectual Property))を使用する場合がある。しかしながら、マイクロプロセッサを使用すると、当該マイクロプロセッサが共通要因故障の原因となってしまう。このため、埋め込みマイクロプロセッサの使用を避け、FPGAの内部論理の設計者(ユーザ、利用者)が定義したハードウェアロジックのみによって動作することが望ましい。このようにすることで、マイクロプロセッサが原因となる共通要因故障を避けることができる。同様の理由で、FPGA埋め込みのハードIPの使用を避け、FPGAの内部論理の設計者が定義したハードウェアロジックのみによって動作することが望ましい。
 図24は、本実施形態の変形例4に係る埋め込みマイクロプロセッサの使用を避けた内部論理配置の例を説明するための図である。FPGA100Bの内部領域198には、埋め込みマイクロプロセッサが配置されている。内部論理として、演算部(1系)105、演算部(2系)106、内部信号照合部107、通信制御部(1系)108、通信制御部(2系)109、内部信号照合部110、出力信号照合部111およびORゲート112は、内部領域198を除いて配置されている。
≪変形例5:FPGAの内部論理を多重化構成≫
 上記した実施形態では、FPGA100の入力信号の処理は、演算部(1系)105と演算部(2系)106とで2重化され、内部信号照合部107で処理結果を照合している。また、通信制御についても、通信制御部(1系)108と通信制御部(2系)109とで2重化され、内部信号照合部110で処理結果を照合している。
 演算部や通信制御部を2重化せず、内部信号照合部を省略してもよい。内部論理を簡略することで、コストを削減することができる。
 また、逆に3重化など多重度を2以上にしてもよい。多重度を上げることで、入力信号の処理に関するリスクを低減することができる。
≪変形例6:非活性論理の活性化≫
 上記した実施形態では、出力信号照合部は、実際に動作している内部論理の故障しか検出することができない。例えば、低頻度で発生する、特別な状態においてのみ実行される処理など、特定の条件が揃わないと動作しない論理回路に対しては、たとえ故障があっても、直ぐにそれを検出することはできない。このような低頻度で動作する論理回路の故障に対しては、処理装置間のデータ送受信を行う通常動作期間とは別に、当該論理回路が正常に動作するかを診断するための診断期間(後記する図25参照)を設け、この診断期間中に、当該論理回路が動作する特定の条件を意図的に注入し、当該論理回路を活性化させることより、出力信号照合部でその故障を検知することができる。
 図25は、本実施形態の変形例6に係わる診断期間を説明するための図である。FPGA100,200は、図25に示すように周期的な動作を行う。FPGA100,200は、通常動作期間610において、処理装置10,20間のデータ送受信を行う。診断期間620において、論理回路が正しく機能しているかの診断を行う。FPGA100,200は、通常動作期間610と診断期間620とを1周期として、繰り返し動作を行う。
 図26は、本実施形態の変形例6に係わる活性化条件注入回路を付与する前の論理回路の一例を示す図である。論理回路400は、FPGA100,200の主たる機能を実行する演算部(1系)105、演算部(2系)106、通信制御部(1系)108および通信制御部(2系)109の一部であって、ANDゲート401およびORゲート402によって構成されて論理回路の例である。入力信号A、B、Cのなかで、入力信号Cは、低頻度で発生する、ある特別な状態のときにしかアサート(信号が「1」となる)されない。
 図27は、本実施形態の変形例6に係わる活性化条件注入回路を説明するための図である。活性化条件注入回路410は、論理回路400の入力信号Cを活性化するための回路である。活性化条件注入回路410は、診断期間620において、活性化条件注入信号が入力されると、入力信号Cの値を強制的に「1」に切り替え、ORゲート402を活性化させる。これにより、もし論理回路400において、ORゲート420が故障し、入力信号Cの値が出力信号Qに反映されない異常が起こった場合においても、出力信号照合部によって、その異常を検出することが可能となる。
 変形例6は、ANDゲート401およびORゲート402によって構成されて論理回路400における活性化条件注入回路410であったが、他の論理回路であってもよい。低頻度でアサートされる入力信号の信号線に対して、活性化条件注入回路410を付与することで、特定の条件が揃わないと動作しない論理回路に故障が発生しても、これを検出することができる。
≪変形例7:各系で処理回路(FPGA)を2分割≫
 上述した実施形態は、A系およびB系それぞれの処理回路が、1つのFPGAで構成されている。各系で処理回路を2分割して2つのFPGAで構成するようにしてもよいし、それ以上の個数に分割してもよい。
 図28は、本実施形態の変形例7に係わる処理回路(FPGA)の分割構成を模式的に示した図である。処理装置10Aの主機能を、内部論理115Aと内部論理115Bとに分割し、内部論理115AはFPGA100CとFPGA200Cとに、内部論理115BはFPGA100DとFPGA200Dとに、それぞれ実装している。
 FPGA100C,200Cの出力は、FPGA100Cの出力信号照合部116AおよびFPGA200Cの出力信号照合部116Aにおいて、A系とB系それぞれ相互に照合される。また、FPGA100D,200Dの出力は、FPGA100Dの出力信号照合部116BおよびFPGA200Dの出力信号照合部116Bにおいて、A系とB系それぞれ相互に照合される。
 単一のFPGAで実装することができない大規模な処理回路であっても、上記したように複数のFPGAに分割して構成することができる。A系とB系のそれぞれにおいて、分割した処理回路(FPGA)の出力信号を相互に照合することで、何れかの出力信号照合部が故障した場合においても、安全機能喪失に陥ることはない。また、図21と図22とで説明したように、A系とB系とでFPGAの内部論理を異なるようにレイアウトすることで、FPGAの製造過程における共通要因故障が発生しても、異常の検出が可能となる。
 本構成において、使用する全てのFPGAに、同一製造業者かつ同一パッケージ種のFPGAを採用することで、各系で単一のFPGAを使用するよりも、ビットストリームファイルの検証の効果をより高めることができる。また上記の実施形態において、全ての処理装置に備わる全てのFPGAに、同一製造業者かつ同一製造ロットのFPGAを採用することで、FPGAの製造過程における不良があった場合には、それをより確実に検出することが可能である。
 本発明は上記の実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
 また、上記した各実施形態例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。
10,10A,20 処理装置
100,100A,100B,100C,100D,100Z,200,200C,200D FPGA(処理回路)
105 演算部(1系)(内部論理)
106 演算部(2系)(内部論理)
107 内部信号照合部(内部論理)
108 通信制御部(1系)(内部論理)
109 通信制御部(2系)(内部論理)
110 内部信号照合部(内部論理)
111,111A 出力信号照合部(内部論理)
112,112A ORゲート(内部論理)
116A,116B 出力信号照合部(内部論理)
341A,341B 電源
342A,342B クロック
343A,343B リセット
350 絶縁素子
360 通信路
410 活性化条件注入回路

Claims (15)

  1.  同一の入力信号に対して同一の処理を行い、同一の出力信号を生成する複数系の処理回路を備え、
     前記複数系の処理回路それぞれは、当該処理回路の出力信号と、他の処理回路の出力信号とを照合する出力信号照合部を備える
     ことを特徴とする処理装置。
  2.  前記複数系の処理回路ぞれぞれは、FPGA(Field Programmable Gate Array)によって構成される
     ことを特徴とする請求項1に記載の処理装置。
  3.  前記FPGAに配置される処理回路は、ユーザが定義可能なハードウェアロジックのみで構成される
     ことを特徴とする請求項2に記載の処理装置。
  4.  前記複数系の処理回路を構成するFPGAそれぞれにおいて、入出力信号と端子との組み合わせが異なる
     ことを特徴とする請求項2に記載の処理装置。
  5.  前記複数系の処理回路を構成するFPGAそれぞれにおいて、内部論理の物理的配置が異なる
     ことを特徴とする請求項2に記載の処理装置。
  6.  前記複数系の処理回路を構成するFPGAそれぞれにおいて、製造業者およびパッケージ種の何れか一方または双方が異なる
     ことを特徴とする請求項2に記載の処理装置。
  7.  前記処理装置は、他の装置との通信データを送受信する通信路を備え、
     前記複数系の処理回路ぞれぞれは、前記他の装置から受信した通信データの異常を検出する通信制御部を備え、
     前記通信制御部は、前記出力信号照合部による前記出力信号を照合の結果が一致する場合には、前記出力信号を前記他の装置に送信する
     ことを特徴とする請求項1から6の何れか1項に記載の処理装置。
  8.  前記通信制御部は、安全レイヤの通信プロトコルを実装し、前記通信路はブラックチャネルである
     ことを特徴とする請求項7に記載の処理装置。
  9.  前記出力信号照合部の照合の結果が不一致である場合には、前記通信路が切断される
     ことを特徴とする請求項7に記載の処理装置。
  10.  前記複数系の処理回路は、それぞれ別系統の電源を備える
     ことを特徴とする請求項1~6,8,9の何れか1項に記載の処理装置。
  11.  前記複数系の処理回路のなかの2つの処理回路において、当該2つの処理回路の間で信号が行き来するための絶縁素子を有する
     ことを特徴とする請求項10に記載の処理装置。
  12.  前記複数系の処理回路は、それぞれ別系統のクロックおよびリセットを備える
     ことを特徴とする請求項1~6,8~9の何れか1項に記載の処理装置。
  13.  前記複数系の処理回路それぞれは、所定の条件が揃わないと動作しない論理回路に対して、当該論理回路を活性化させる入力信号を入力する論理回路と、前記入力信号を入力する期間を設けている
     ことを特徴とする請求項1~6,8~9の何れか1項に記載の処理装置。
  14.  前記複数系の処理回路それぞれは、複数のFPGAによって構成され、かつ当該FPGAの各々が、前記出力信号照合部を備える
     ことを特徴とする、請求項2~6,8~9の何れか1項に記載の処理装置。
  15.  前記複数系の処理回路を構成する全てのFPGAは、製造業者および製造ロットが同一である
     ことを特徴とする、請求項4または5の何れか1項に記載の処理装置。
PCT/JP2018/040516 2018-10-31 2018-10-31 処理装置 WO2020090034A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2018/040516 WO2020090034A1 (ja) 2018-10-31 2018-10-31 処理装置
JP2020554666A JPWO2020090034A1 (ja) 2018-10-31 2018-10-31 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/040516 WO2020090034A1 (ja) 2018-10-31 2018-10-31 処理装置

Publications (1)

Publication Number Publication Date
WO2020090034A1 true WO2020090034A1 (ja) 2020-05-07

Family

ID=70463018

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/040516 WO2020090034A1 (ja) 2018-10-31 2018-10-31 処理装置

Country Status (2)

Country Link
JP (1) JPWO2020090034A1 (ja)
WO (1) WO2020090034A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023152853A1 (ja) * 2022-02-10 2023-08-17 三菱電機株式会社 安全保護システムのバックアップ装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267973A (ja) * 1988-09-02 1990-03-07 Fujitsu Ltd 動作保証回路を有する診断用回路
JP2013083514A (ja) * 2011-10-07 2013-05-09 Keihin Corp バッテリ監視装置
JP2017103677A (ja) * 2015-12-03 2017-06-08 株式会社東芝 制御装置
JP2018072967A (ja) * 2016-10-26 2018-05-10 株式会社日立製作所 制御システム
JP2018101241A (ja) * 2016-12-20 2018-06-28 株式会社日立製作所 処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267973A (ja) * 1988-09-02 1990-03-07 Fujitsu Ltd 動作保証回路を有する診断用回路
JP2013083514A (ja) * 2011-10-07 2013-05-09 Keihin Corp バッテリ監視装置
JP2017103677A (ja) * 2015-12-03 2017-06-08 株式会社東芝 制御装置
JP2018072967A (ja) * 2016-10-26 2018-05-10 株式会社日立製作所 制御システム
JP2018101241A (ja) * 2016-12-20 2018-06-28 株式会社日立製作所 処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023152853A1 (ja) * 2022-02-10 2023-08-17 三菱電機株式会社 安全保護システムのバックアップ装置

Also Published As

Publication number Publication date
JPWO2020090034A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
US10229016B2 (en) Redundant computer system utilizing comparison diagnostics and voting techniques
US7237144B2 (en) Off-chip lockstep checking
US7802138B2 (en) Control method for information processing apparatus, information processing apparatus, control program for information processing system and redundant comprisal control apparatus
US7877627B1 (en) Multiple redundant computer system combining fault diagnostics and majority voting with dissimilar redundancy technology
US5271023A (en) Uninterruptable fault tolerant data processor
US7848232B2 (en) Time division multiplexed communication bus and related methods
JP2017530461A (ja) 冗長ccdlを備える2路アーキテクチャ
CN106796541B (zh) 数据处理装置
US9477559B2 (en) Control device, control method and recording medium storing program thereof
US9783138B2 (en) Vehicle control device
CN107276710B (zh) 基于时间同步状态监控的时间触发以太网故障诊断方法
WO2009155993A1 (en) A safety system for a machine
JP2017534502A (ja) 2路アーキテクチャ
US10298520B2 (en) Relay apparatus
WO2020090034A1 (ja) 処理装置
US10691080B2 (en) Computerised system
US10467889B2 (en) Alarm handling circuitry and method of handling an alarm
KR101581309B1 (ko) 보드단위별 연동고장검출 및 배제 방식 항공전자장비
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
JP2007293678A (ja) 共用バス接続診断装置
US11409255B2 (en) Output control apparatus
CN107992018B (zh) 控制系统
US10268613B2 (en) Redundant control system devoid of programmable devices
RU120256U1 (ru) Трехканальная отказоустойчивая система на конфигурируемых процессорах с вне- и внутрикристальным резервированием
JP2007271533A (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: 18939076

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020554666

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18939076

Country of ref document: EP

Kind code of ref document: A1