JP5563700B2 - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP5563700B2
JP5563700B2 JP2013118170A JP2013118170A JP5563700B2 JP 5563700 B2 JP5563700 B2 JP 5563700B2 JP 2013118170 A JP2013118170 A JP 2013118170A JP 2013118170 A JP2013118170 A JP 2013118170A JP 5563700 B2 JP5563700 B2 JP 5563700B2
Authority
JP
Japan
Prior art keywords
circuit
ecc
processor
main memory
crcc
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013118170A
Other languages
Japanese (ja)
Other versions
JP2013211049A (en
Inventor
覚 船木
康弘 清藤
雅士 末永
小倉  真
英二 小林
明弘 小野塚
裕介 関
俊樹 清水
由季子 田原
裕太 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013118170A priority Critical patent/JP5563700B2/en
Publication of JP2013211049A publication Critical patent/JP2013211049A/en
Application granted granted Critical
Publication of JP5563700B2 publication Critical patent/JP5563700B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラマブル電子装置を備える制御装置に関する。   The present invention relates to a control device including a programmable electronic device.

原子力プラントや化学プラントなど潜在的な危険性の高いプロセス設備では、万が一の事態に作業員および周辺環境への影響を低減するため、隔壁等の防護設備による受動的な対策および緊急停止装置等の安全装置を用いる能動的な対策が講じられる。このうち、安全装置等の制御には、従来リレー等の電磁的・機械的な手段により実現されていた。   In potentially dangerous process facilities such as nuclear power plants and chemical plants, in order to reduce the impact on workers and the surrounding environment in the event of an emergency, passive measures such as protective equipment such as partition walls, emergency stop devices, etc. Active measures using safety devices are taken. Of these, control of safety devices and the like has been conventionally realized by electromagnetic and mechanical means such as relays.

しかし、近年、プログラマブル電子装置(Programmable Logic Controller:PLC)に代表されるプログラム可能な制御機器における技術の発展に伴い、これらを安全制御システムの制御手段として利用するニーズが高まっている。   However, in recent years, with the development of technology in programmable control equipment represented by programmable electronic devices (Programmable Logic Controller: PLC), there is an increasing need to use these as control means of a safety control system.

例えば、IEC61508は、そのような動向に対応して発行された国際規格であり、電気的/電子的/プログラム可能な電子的装置を安全制御システムの一部に利用する場合の要件が規定されている(非特許文献1)。   For example, IEC61508 is an international standard issued in response to such a trend, and requirements for using an electrical / electronic / programmable electronic device as part of a safety control system are defined. (Non-Patent Document 1).

IEC61508では、安全制御システムの能力の尺度としてSafety Integrity Level(SIL)を定義し、1から4までのレベルに対応する水準の要求事項を規定している。SILが高いほどプロセス設備の持つ潜在的な危険性を低減できる度合が大きいことを示す。すなわち、プロセス設備の異常を検出した際、どれだけ確実に所定の安全制御を実施できるかを意味する。   In IEC61508, Safety Integrity Level (SIL) is defined as a measure of the capability of a safety control system, and requirements of levels corresponding to levels from 1 to 4 are defined. The higher the SIL, the greater the degree to which the potential danger of the process equipment can be reduced. That is, it means how reliably predetermined safety control can be performed when an abnormality in the process equipment is detected.

安全制御装置は、通常稼働状態で非活性となっていても、プロセス設備の異常発生時には直ちに活性化することを求められる。そのため、常時自己診断を行い、自身の健全性をチェックし続けることが重要となる。また、高いSILが要求される安全制御システムでは、未検出の故障によりシステムが不動作となる確率を極小とするため、広範囲・高精度な自己診断を実施する必要がある。   Even if the safety control device is inactive in the normal operation state, it is required to be activated immediately when an abnormality occurs in the process equipment. Therefore, it is important to always perform self-diagnosis and check its own soundness. In addition, in a safety control system that requires a high SIL, it is necessary to perform a wide range and high accuracy self-diagnosis in order to minimize the probability that the system will not operate due to an undetected failure.

IEC61508では、安全制御装置を構成する要素部品の種類ごとに、各々適用される自己診断技法を紹介し、それぞれの技法の有効性を診断率という形で示している。診断率は、各構成要素における全故障のうち、その診断技法を採用したとき検出可能な故障の割合を示す。例えば、RAMの診断技法"abraham"では、最高99%の診断率を主張可能であるとされている(特許文献2)。   In IEC61508, self-diagnosis techniques to be applied are introduced for each type of component parts constituting the safety control device, and the effectiveness of each technique is shown in the form of a diagnostic rate. The diagnosis rate indicates the proportion of failures that can be detected when the diagnosis technique is adopted among all failures in each component. For example, it is said that a diagnosis rate of up to 99% can be claimed in the RAM diagnostic technique “abraham” (Patent Document 2).

また、PLCの構成要素の一つであるプロセッサの故障検出手段として、複数のプロセッサを用いて、相互の出力結果の整合性を監視する方法が有効である。   In addition, a method of monitoring the consistency of the output results of each other using a plurality of processors is effective as a failure detection means for a processor that is one of the components of the PLC.

複数のプロセッサ出力を相互診断する方式としては、各プロセッサが同様の制御処理を同時に実行し、その出力が一致していることを確認しあう手段が効果的である。   As a method for mutually diagnosing the outputs of a plurality of processors, it is effective to perform a similar control process at the same time and confirm that the outputs match each other.

例えば、非同期に動作する複数のプロセッサの出力を照合することにより、プロセッサが故障しても即時検出するという技術がある(特許文献1)。   For example, there is a technique in which the outputs of a plurality of processors operating asynchronously are collated to detect immediately even if a processor fails (Patent Document 1).

特開2007−11639号公報JP 2007-11639 A 米国登録6779128号公報US Registration No. 6779128

IEC61508−1〜7,“Functional safety of electrical/electronic/programmable electronic safety-related systems”part1〜part7IEC 61508-1 to 7, “Functional safety of electrical / electronic / programmable electronic safety-related systems” part 1 to part 7

特許文献1に記載されたものは、プロセッサ照合手段によりプロセッサの診断ができる。しかしながら、プロセッサ照合手段の出力からメインメモリまでのメモリインターフェースで故障が発生した場合に、ハード的な検出手段がないため、ソフトウェアによる故障検出を行わなければならない。プロセッサのソフトウェアによる診断処理はメモリに期待値をライトリードバック比較することで、メモリインターフェースの診断を行うことは可能である。しかし、n回目の診断処理とn+1回目の診断処理の間の実稼働期間は、異常を検出できず不安定なまま動作継続する可能性がある、という問題があった。   In the device described in Patent Document 1, the processor can be diagnosed by the processor verification means. However, when a failure occurs in the memory interface from the output of the processor verification means to the main memory, there is no hardware detection means, so failure detection by software must be performed. In the diagnosis process by the processor software, the memory interface can be diagnosed by comparing the read / write-back value with the expected value in the memory. However, there is a problem that during the actual operation period between the n-th diagnosis process and the (n + 1) -th diagnosis process, an abnormality may not be detected and the operation may continue without being unstable.

本発明は斯かる点に鑑みてなされたものであり、故障を即時かつ確実に検出して不安定な状態で処理し続けることを阻止できるようにすることを目的とする。   The present invention has been made in view of such a point, and an object of the present invention is to be able to immediately and surely detect a failure and prevent it from being processed in an unstable state.

上記課題を解決するため、本発明の制御装置は、第一プロセッサが所定のプログラムを実行した結果としてメインメモリに格納される第一情報から第一誤り検出符号を作成し、予めメインメモリに記憶されている誤り検出符号である第二記憶情報と比較することで異常を検する第一符号生成部と、第一プロセッサと同一の演算結果を出力するべく構成されている第二プロセッサがプログラムを実行した結果としてメインメモリに格納される第二情報から第二誤り検出符号を作成し、第二記憶情報と比較することで異常を検する第二符号生成部とを備える。さらに、第一プロセッサ及び/又は第二プロセッサがメインメモリから第一情報あるいは第二情報である第一記憶情報を読み出す時、メインメモリから読み出した第一記憶情報と第二記憶情報に対し、必要に応じてエラー訂正を行って第一符号生成部及び第二符号生成部に供給する訂正処理部と、第一符号生成部が第一誤り検出符号と第二記憶情報との不一致を検出した場合、及び/又は第二符号生成部が第二誤り検出符号と第二記憶情報との不一致を検出した場合、第一プロセッサが第一記憶情報をメインメモリから読み出す動作及び第二プロセッサが第二記憶情報をメインメモリから読み出す動作を禁止する、割込制御部とを備える。さらに、第一情報と第二情報が同一であるか否かを検出して割込制御部に報告すると共に、第一誤り検出符号と第二誤り検出符号が同一であるか否かを検出して割込制御部に報告することで、第一誤り検出符号と第二誤り検出符号とが同一でない時には、第一情報あるいは第二情報を第一記憶情報としてメインメモリに書き込むことを禁止する照合部とを備える。 In order to solve the above problem, the control device of the present invention creates a first error detection code from first information stored in the main memory as a result of the first processor executing a predetermined program, and stores it in the main memory in advance. a first code generator which detect the in abnormality by comparing the second stored information is an error detection code which has been, the second processor being configured to output a first processor and the same operation result program create a second error detection code from the second information stored in the main memory as a result of performing, and a second code generator to detect the in abnormality by comparing the second storage information. Further, when the first processor and / or the second processor reads the first information or the first memory information as the second information from the main memory, it is necessary for the first memory information and the second memory information read from the main memory. When the error correction is performed according to the correction processing unit supplied to the first code generation unit and the second code generation unit, and the first code generation unit detects a mismatch between the first error detection code and the second storage information And / or when the second code generation unit detects a mismatch between the second error detection code and the second storage information, the first processor reads the first storage information from the main memory, and the second processor stores the second memory. An interrupt control unit that prohibits an operation of reading information from the main memory. Further, it detects whether the first information and the second information are the same and reports them to the interrupt control unit, and detects whether the first error detection code and the second error detection code are the same. By reporting to the interrupt control unit, when the first error detection code and the second error detection code are not the same, it is prohibited to write the first information or the second information to the main memory as the first storage information A part.

本発明の制御装置では、ライト時において照合部が第一情報と第二情報が一致するか否かを検出することにより、第一プロセッサ、第二プロセッサおよびこれらのプロセッサと照合部の間にあるバスインターフェースとの故障を検出する。そして、照合部が第一誤り検出符号と第二誤り検出符号が一致するか否かを検出することにより、第一符号生成部、第二符号生成部およびこれらの生成部と照合部の間にあるバスインターフェースの故障を検出する。   In the control apparatus of the present invention, the collation unit detects whether the first information and the second information match at the time of writing, so that the first processor, the second processor, and these processors and the collation unit are present. Detects a failure with the bus interface. Then, the collation unit detects whether the first error detection code and the second error detection code match, so that the first code generation unit, the second code generation unit, and between these generation unit and the collation unit A failure of a certain bus interface is detected.

すなわち、本発明の制御装置では、照合部は、第一情報あるいは第二情報に生じるビットエラーを常に検出することができる。また、照合部は、検出したビットエラーに基づいて第一情報および第二情報のメインメモリに対する書き込みの制御を行う。それゆえ、本発明では、ライト中に各プロセッサあるいは各バスインターフェースの故障によりビットエラーが生じた場合、第一情報あるいは第二情報がメインメモリに書き込まれないようにすることができる。   That is, in the control device of the present invention, the collation unit can always detect a bit error occurring in the first information or the second information. The collation unit controls the writing of the first information and the second information to the main memory based on the detected bit error. Therefore, in the present invention, when a bit error occurs due to a failure of each processor or each bus interface during writing, the first information or the second information can be prevented from being written to the main memory.

本発明の制御装置では、リード時において照合部が第一情報と第二情報が一致するか否かを検出することにより、第一プロセッサ、第二プロセッサおよびこれらのプロセッサと照合部の間にあるバスインターフェースとの故障を検出する。そして、第一照合部は故障が検出された場合、メインメモリから記憶情報を読み出さないようにしている。   In the control device of the present invention, the collation unit detects whether the first information and the second information match at the time of reading, so that the first processor, the second processor, and these processors and the collation unit are present. Detects a failure with the bus interface. The first verification unit prevents the stored information from being read from the main memory when a failure is detected.

メインメモリから記憶情報を読み出した場合に、第一符号生成部は、記憶情報の第一記憶情報および第一情報で新たに生成した誤り検出符号と、記憶情報の第二記憶情報とが同一であるか否かを検出することにより、メインメモリおよび当該メインメモリと第一符号生成部との間にあるバスインターフェースの故障を検出する。また、第二符号生成部は、記憶情報の第一記憶情報および第二情報で新たに生成した誤り検出符号と、記憶情報の第二記憶情報とが同一であるか否かを検出することにより、メインメモリおよび当該メインメモリと第一符号生成部との間にあるバスインターフェースの故障を検出する。   When the storage information is read from the main memory, the first code generation unit is configured such that the first storage information of the storage information and the error detection code newly generated from the first information are the same as the second storage information of the storage information. By detecting whether or not there is, a failure of the main memory and a bus interface between the main memory and the first code generation unit is detected. Further, the second code generation unit detects whether or not the error detection code newly generated from the first storage information and the second information of the storage information is the same as the second storage information of the storage information. The failure of the main memory and the bus interface between the main memory and the first code generation unit is detected.

第一符号生成部および第二符号生成部は、いずれか一方の符号生成部で故障を検出した場合に、第一プロセッサおよび第二プロセッサそれぞれに対して第一記憶情報の入力を行わないようにしている。それゆえ、本発明では、リード中に各プロセッサあるいは各バスインターフェースの故障によりビットエラーが生じた場合、当該ビットエラーを誤検出することなく、第一記憶情報が第一プロセッサおよび第二プロセッサに入力させないことができる。   The first code generation unit and the second code generation unit do not input the first storage information to each of the first processor and the second processor when any one of the code generation units detects a failure. ing. Therefore, in the present invention, when a bit error occurs due to a failure of each processor or each bus interface during reading, the first storage information is input to the first processor and the second processor without erroneously detecting the bit error. You can not let it.

本発明によれば、各プロセッサあるいは各バスインターフェースに発生した故障を確実に検出できる。ライト時に故障を検出した場合、メインメモリに対する情報の書き込みを禁止し、リード時に故障を検出した場合、各プロセッサに対する情報の入力を禁止する。つまり、故障を即時かつ確実に検出して不安定な状態で処理し続けることを阻止できる。これにより、安全性をより向上させる。   According to the present invention, a failure occurring in each processor or each bus interface can be reliably detected. When a failure is detected during writing, writing of information to the main memory is prohibited, and when a failure is detected during reading, input of information to each processor is prohibited. That is, it is possible to prevent the failure from being detected immediately and reliably and continuing to be processed in an unstable state. Thereby, safety is further improved.

制御システムを示すブロック図である。It is a block diagram which shows a control system. 本発明の一実施形態に係る制御装置を適用したCPU装置を示すブロック図である。It is a block diagram which shows the CPU apparatus to which the control apparatus which concerns on one Embodiment of this invention is applied. A系CRC回路を示すブロック図である。It is a block diagram which shows A system CRC circuit. ECC回路を示すブロック図である。It is a block diagram which shows an ECC circuit. CPU装置のモードの遷移を示す状態遷移図である。It is a state transition diagram showing the transition of the mode of the CPU device. 本発明の一実施形態に係る制御装置を適用したCPU装置の動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of CPU apparatus to which the control apparatus which concerns on one Embodiment of this invention is applied. 本発明の一実施形態に係る制御装置を適用したCPU装置の動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of CPU apparatus to which the control apparatus which concerns on one Embodiment of this invention is applied. 本発明の一実施形態に係る制御装置を適用したCPU装置の動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of CPU apparatus to which the control apparatus which concerns on one Embodiment of this invention is applied. 本発明の一実施形態に係る制御装置を適用したCPU装置の故障検出範囲を示す表である。It is a table | surface which shows the failure detection range of CPU apparatus to which the control apparatus which concerns on one Embodiment of this invention is applied.

以下、発明を実施するための最良の形態(以下、「実施の形態」とする)について以下の順序で説明を行う。以下に述べる実施の形態は、本発明の好適な具体例である。そのため、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、下記の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。例えば、以下の説明で挙げる各パラメータの数値的条件は好適例に過ぎず、説明に用いた各図における寸法、形状および配置関係も概略的なものである。   Hereinafter, the best mode for carrying out the invention (hereinafter referred to as “embodiment”) will be described in the following order. The embodiments described below are preferred specific examples of the present invention. Therefore, various technically preferable limitations are attached. However, the scope of the present invention is not limited to these embodiments unless otherwise specified in the following description. For example, the numerical conditions of each parameter given in the following description are only suitable examples, and the dimensions, shapes, and arrangement relationships in the drawings used for the description are also schematic.

1.一実施形態
(1)制御システムの構成
(2)CPU装置の構成
(3)A系CRC回路の構成の一例
(4)ECC回路の構成の一例
(5)CPU装置のモード遷移
(6)CPU装置の動作
(7)CPU装置の故障検出範囲
1. Embodiments (1) Configuration of control system (2) Configuration of CPU device (3) Example of configuration of A system CRC circuit (4) Example of configuration of ECC circuit (5) Mode transition of CPU device (6) CPU device (7) CPU device failure detection range

<1.一実施形態>
[制御システムの構成]
以下、本発明の実施の形態の例について、図1〜図9を参照して説明する。
図1は、発明の一実施形態である制御システム101を示すブロック図である。
制御システム101は、CPU装置102と、上位装置103と、下位装置104と、制御対象105よりなる。
<1. One Embodiment>
[Control system configuration]
Examples of embodiments of the present invention will be described below with reference to FIGS.
FIG. 1 is a block diagram showing a control system 101 according to an embodiment of the invention.
The control system 101 includes a CPU device 102, a higher-level device 103, a lower-level device 104, and a control target 105.

上位装置103は、所定のプログラムを記憶しており、CPU装置102とネットワーク106で接続されている。   The host device 103 stores a predetermined program and is connected to the CPU device 102 via the network 106.

CPU装置102は、上位装置103からネットワーク106を介して所定のプログラムをダウンロードし、当該プログラムに基づいて演算を行う。また、CPU装置102は下位装置104ともネットワーク106で接続されており、演算結果を当該ネットワークを介して下位装置104に出力する。   The CPU device 102 downloads a predetermined program from the host device 103 via the network 106, and performs an operation based on the program. The CPU device 102 is also connected to the lower level device 104 via the network 106, and outputs the calculation result to the lower level device 104 via the network.

このCPU装置102は、後述するように複数のプロセッサを備えており、一般モードあるいは安全モードのいずれかで、プログラムに基づいた演算を行う。一般モードは、各プロセッサで独立した演算を行うモードある。また、安全モードは、各プロセッサで同一の演算を行い、その演算結果が同一であるか否かを検証することにより、プロセッサの健全性を確認するモードである。さらに、CPU装置102は、テストモードで稼動する場合もある。テストモードは、予めCPU装置102に記憶されたテストプログラムに基づいて、CPU装置102が正常に動作するか否かを検証するモードである。一般モードおよび安全モード時のCPU装置102は基本的に演算結果を下位装置104に入力するが、テストモード時のCPU装置102は下位装置104になにも出力しない。すなわち、テストモードは、CPU装置102による下位装置104の制御が行われていないときに行われる。なお、一般モード、安全モードおよびテストモードの切り替えは、予めCPU装置102に設定されたスケジューラにより行われる。   As will be described later, the CPU device 102 includes a plurality of processors, and performs calculation based on a program in either the general mode or the safety mode. The general mode is a mode in which each processor performs independent calculations. The safety mode is a mode in which the soundness of the processor is confirmed by performing the same operation in each processor and verifying whether or not the operation result is the same. Further, the CPU device 102 may operate in a test mode. The test mode is a mode for verifying whether or not the CPU device 102 normally operates based on a test program stored in the CPU device 102 in advance. The CPU device 102 in the general mode and the safety mode basically inputs the calculation result to the lower device 104, but the CPU device 102 in the test mode outputs nothing to the lower device 104. That is, the test mode is performed when the CPU device 102 is not controlling the lower device 104. Note that switching between the general mode, the safety mode, and the test mode is performed by a scheduler set in the CPU device 102 in advance.

下位装置104は、制御対象105との間で制御情報の入出力を行うインターフェースである。下位装置104は、制御対象105と接続されており、CPU装置102から入力される演算結果に基づいて制御対象105を動作させる。この制御対象105は、制御を行う際に安全性が求められる、例えば原子力プラントや化学プラント等の潜在的な危険性の高いプロセス設備である。   The lower level device 104 is an interface for inputting / outputting control information to / from the control target 105. The lower level device 104 is connected to the control target 105 and operates the control target 105 based on the calculation result input from the CPU device 102. The control object 105 is a process facility with high potential danger such as a nuclear power plant or a chemical plant, which requires safety when performing control.

[CPU装置の構成]
次に、制御システム101を構成するCPU装置102について図2を参照して説明する。
図2は、CPU装置102を示すブロック図である。なお、以下に示すCPU装置102は、CPU装置102が上位装置103からダウンロードしたプログラムに基づいて、安全モードで演算を行う場合を想定している。ただし、CPU装置102が、上位装置103から所定のプログラムをダウンロードするときだけは、安全モードとは異なる動作を行う。
[Configuration of CPU device]
Next, the CPU device 102 constituting the control system 101 will be described with reference to FIG.
FIG. 2 is a block diagram showing the CPU device 102. Note that the CPU device 102 shown below assumes a case where the CPU device 102 performs calculations in the safety mode based on a program downloaded from the host device 103. However, only when the CPU device 102 downloads a predetermined program from the host device 103, an operation different from the safety mode is performed.

まず、CPU装置102が、上位装置103から所定のプログラムをダウンロードするときに使用する構成について説明する。このときCPU装置102において使用される構成は、A系プロセッサ202と、B系プロセッサ203と、制御装置204の一部と、メインメモリ205である。制御装置204の一部とは、ネットワークコントローラ206、CRC回路207およびECC回路232である。以下、本例では、CPU装置102を構成するプロセッサがA系プロセッサ202およびB系プロセッサ203という2個の場合について説明するが、プロセッサの台数に制限はなく、それにより本発明が制約を受けることはない。   First, a configuration used when the CPU device 102 downloads a predetermined program from the host device 103 will be described. The configuration used in the CPU device 102 at this time is an A-system processor 202, a B-system processor 203, a part of the control device 204, and a main memory 205. A part of the control device 204 is a network controller 206, a CRC circuit 207, and an ECC circuit 232. Hereinafter, in this example, the case where there are two processors, the A-system processor 202 and the B-system processor 203, constituting the CPU device 102 will be described. However, the number of processors is not limited, and the present invention is restricted thereby. There is no.

上位装置103からの所定のプログラムのダウンロードは、マルチタスクモード、すなわちA系プロセッサ202あるいはB系プロセッサ203のいずれか一方により行われる。このとき、ネットワークコントローラ206は、ネットワーク106を介して上位装置103からプログラムである32ビット幅のデータ列を取得する。ネットワークコントローラ206は、図示しないDMA(Direct Memory Access)コントローラを含んでおり、メインメモリ205のどの位置に当該プログラムを書き込むかを決定する。すなわち、アドレスである32ビット幅のデータ列を生成する。また、ネットワークコントローラ206は、CRC回路207およびECC回路232と接続されており、上位装置103から取得したプログラムおよび生成したアドレスをCRC回路207およびECC回路232に出力する。   Download of a predetermined program from the host apparatus 103 is performed in the multitask mode, that is, either the A-system processor 202 or the B-system processor 203. At this time, the network controller 206 acquires a 32-bit data string as a program from the higher-level device 103 via the network 106. The network controller 206 includes a DMA (Direct Memory Access) controller (not shown) and determines in which position in the main memory 205 the program is to be written. That is, a 32-bit wide data string as an address is generated. The network controller 206 is connected to the CRC circuit 207 and the ECC circuit 232, and outputs the program acquired from the host device 103 and the generated address to the CRC circuit 207 and the ECC circuit 232.

CRC回路207は、ネットワークコントローラ206から入力されるアドレスおよびプログラムを併せた64ビットの幅のデータ列から8ビットのCRCC(Cyclic Redundancy Check Codes)を生成する。また、CRC回路207は、ECC回路232と接続されており、生成したCRCCをECC回路232へ出力する。ECC回路232は、CRCC、プログラム本体およびアドレスを併せた合計72ビット幅のデータ列から8ビット幅のデータ列のECC(Error-Correcting Code)を生成し、プログラム本体、CRCCおよびECCをメインメモリ205に書き込む。このECC回路232は、安全モードの演算でも用いられる。そこで、このECC回路232についてのより詳細な説明は安全モードに関する構成の説明を行う箇所に記載する。   The CRC circuit 207 generates 8-bit CRCC (Cyclic Redundancy Check Codes) from a 64-bit wide data string combining the address and program input from the network controller 206. The CRC circuit 207 is connected to the ECC circuit 232 and outputs the generated CRCC to the ECC circuit 232. The ECC circuit 232 generates an ECC (Error-Correcting Code) of an 8-bit data string from a total 72-bit data string including the CRCC, the program body, and the address, and stores the program body, CRCC, and ECC in the main memory 205. Write to. The ECC circuit 232 is also used in the safety mode calculation. Therefore, a more detailed description of the ECC circuit 232 will be described in a place where the configuration related to the safety mode is described.

メインメモリ205は、データ記憶領域229、CRCC記憶領域230およびECC記憶領域231という3つの領域を有している。データ記憶領域229は、プログラムが書き込まれる領域である。CRCC記憶領域230は、ネットワークコントローラ206を経由してCRC回路で生成されたCRCCが書き込まれる領域である。ECC記憶領域231は、ネットワークコントローラ206経由してECC回路232で生成されたECCが書き込まれる領域である。   The main memory 205 has three areas: a data storage area 229, a CRCC storage area 230, and an ECC storage area 231. The data storage area 229 is an area where a program is written. The CRCC storage area 230 is an area in which CRCC generated by the CRC circuit via the network controller 206 is written. The ECC storage area 231 is an area in which ECC generated by the ECC circuit 232 via the network controller 206 is written.

次に、CPU装置102が、上位装置103からダウンロードしたプログラムに基づいて安全モードで演算を行う際に使用される構成について説明する。このときCPU装置102において使用される構成は、A系プロセッサ202と、B系プロセッサ203と、CRC回路207を除いた制御装置204と、メインメモリ205である。   Next, a configuration used when the CPU device 102 performs a calculation in the safety mode based on a program downloaded from the host device 103 will be described. The configuration used in the CPU device 102 at this time is an A-system processor 202, a B-system processor 203, a control device 204 excluding the CRC circuit 207, and a main memory 205.

A系プロセッサ202は、上位装置103からダウンロードした所定のプログラムを実行してタスクを処理する。その際、タスクによっては情報のライト/リードを制御装置204を介してメインメモリ205に対し行うものもある。A系プロセッサ202は、制御装置204とA系プロセッサバス208により接続されており、A系プロセッサバス208を介して制御装置204に情報の入出力を行う。ライト時には、A系プロセッサ202は、アドレス、データおよびコマンドをA系プロセッサバス208を介して制御装置204に出力する。一方、リード時には、A系プロセッサ202は、アドレスおよびコマンドをA系プロセッサバス208を介して制御装置204に出力する。   The A system processor 202 executes a predetermined program downloaded from the host device 103 to process a task. At this time, some tasks write / read information to / from the main memory 205 via the control device 204. The A-system processor 202 is connected to the control device 204 via the A-system processor bus 208, and inputs / outputs information to / from the control device 204 via the A-system processor bus 208. At the time of writing, the A-system processor 202 outputs the address, data, and command to the control device 204 via the A-system processor bus 208. On the other hand, at the time of reading, the A-system processor 202 outputs an address and a command to the control device 204 via the A-system processor bus 208.

データおよびアドレスは、32ビット幅のデータ列である。一方、コマンドは、制御装置204およびメインメモリ205を制御する1ビットのデータである。本例では、制御装置204およびメインメモリ205は、コマンドが‘1’のときにライトに対応する動作を行い、コマンドが‘0’のときにリード動作を行うものとする。   Data and address are 32-bit wide data strings. On the other hand, the command is 1-bit data for controlling the control device 204 and the main memory 205. In this example, it is assumed that the control device 204 and the main memory 205 perform an operation corresponding to writing when the command is ‘1’, and perform a read operation when the command is ‘0’.

また、B系プロセッサ203は、A系プロセッサ202と同じ機能を備えたものである。つまり、B系プロセッサ203は、上位装置103からダウンロードした所定のプログラムを実行してタスクを処理する際に、当該タスクに応じた情報等のライト/リードを制御装置204を介してメインメモリ205に対し行うものである。B系プロセッサ203は、制御装置204とB系プロセッサバス211により接続されており、B系プロセッサバス211を介して制御装置204に情報の入出力を行う。ライト時には、B系プロセッサ203は、アドレス、データおよびコマンドをB系プロセッサバス211を介して制御装置204に出力する。一方、リード時には、B系プロセッサ203は、アドレスおよびコマンドをB系プロセッサバス211を介して制御装置204に出力する。   The B processor 203 has the same function as the A processor 202. That is, when the B processor 203 executes a predetermined program downloaded from the host device 103 to process a task, the B processor 203 writes / reads information or the like corresponding to the task to the main memory 205 via the control device 204 This is what we do. The B-system processor 203 is connected to the control device 204 via the B-system processor bus 211, and inputs / outputs information to / from the control device 204 via the B-system processor bus 211. At the time of writing, the B processor 203 outputs the address, data, and command to the control device 204 via the B processor bus 211. On the other hand, at the time of reading, the B processor 203 outputs an address and a command to the control device 204 via the B processor bus 211.

制御装置204は、当該制御装置204を構成する各ブロックおよびバスと、A系プロセッサ202と、B系プロセッサ203と、メインメモリ205に故障があるか否かを検出するものである。
制御装置204は、A系CRC回路209と、B系CRC回路212と、照合回路214と、ECC回路232と、割込制御部220とを含んで構成される。さらに、制御装置204は、ネットワークコントローラ206と、出力切替スイッチ221を含む。
The control device 204 detects whether or not there is a failure in each block and bus constituting the control device 204, the A-system processor 202, the B-system processor 203, and the main memory 205.
The control device 204 includes an A-system CRC circuit 209, a B-system CRC circuit 212, a verification circuit 214, an ECC circuit 232, and an interrupt control unit 220. Further, the control device 204 includes a network controller 206 and an output changeover switch 221.

A系CRC回路209は、入力される所定の桁数のビット幅のデータ列からCRCCを生成する回路である。   The A-system CRC circuit 209 is a circuit that generates a CRCC from a data string of a predetermined number of bits having a bit width.

本例のA系CRC回路209は、ライト時とリード時では異なる処理を行う。
ライト時のA系CRC回路209は、A系プロセッサ202から入力されるアドレスおよびデータを併せた64ビット幅のデータ列からCRCCを生成する。また、A系CRC回路209は、照合回路214とA系CRCCバス210で接続されており、生成したCRCCを照合回路214へ出力する。
The A-system CRC circuit 209 of this example performs different processing at the time of writing and at the time of reading.
The A-system CRC circuit 209 at the time of writing generates a CRCC from a 64-bit wide data string that combines the address and data input from the A-system processor 202. The A system CRC circuit 209 is connected to the verification circuit 214 via the A system CRCC bus 210, and outputs the generated CRCC to the verification circuit 214.

リード時のA系CRC回路209は、A系プロセッサ202から入力されるアドレスおよびライト時にメインメモリ205に書き込まれたデータを併せた64ビット幅のデータ列から新たにCRCCを生成する。そして、当該メインメモリ205に記憶されたCRCCと、新たに生成したCRCCとが同じデータ列であるか否かを判定する。   The A-system CRC circuit 209 at the time of reading newly generates a CRCC from a 64-bit wide data string that combines the address input from the A-system processor 202 and the data written to the main memory 205 at the time of writing. Then, it is determined whether the CRCC stored in the main memory 205 and the newly generated CRCC are the same data string.

このA系CRC回路209は、割込制御部220と接続されており、その判定結果(一致/不一致)に基づいた論理信号(以下、「A系CRCC照合不一致」という)を生成して割込制御部220に出力する。   The A-system CRC circuit 209 is connected to the interrupt control unit 220 and generates a logic signal (hereinafter referred to as “A-system CRCC verification mismatch”) based on the determination result (match / mismatch). Output to the controller 220.

B系CRC回路212は、A系CRC回路209と同じ回路であり、所定の桁数のビット幅のデータ列からCRCCを生成する回路である。   The B-system CRC circuit 212 is the same circuit as the A-system CRC circuit 209, and is a circuit that generates a CRCC from a data string having a predetermined number of bits.

本例のB系CRC回路212は、ライト時とリード時では異なる処理を行う。   The B-system CRC circuit 212 of this example performs different processing at the time of writing and at the time of reading.

ライト時のB系CRC回路212は、B系プロセッサ203から入力されるアドレスおよびデータを併せた64ビット幅のデータ列からCRCCを生成する。また、B系CRC回路212は、照合回路214とB系CRCCバス213で接続されており、生成したCRCCを照合回路214へ出力する。 The B-system CRC circuit 212 at the time of writing generates a CRCC from a 64-bit wide data string that combines the address and data input from the B-system processor 203. The B-system CRC circuit 212 is connected to the verification circuit 214 via the B-system CRCC bus 213, and outputs the generated CRCC to the verification circuit 214.

リード時のB系CRC回路212は、B系プロセッサ203から入力されるアドレスおよびライト時にメインメモリ205に書き込まれたデータを併せた64ビット幅のデータ列から新たにB系CRCCを生成する。そして、当該メインメモリ205に記憶されたCRCCと、新たに生成したCRCCとが同じデータ列であるか否かを判定する。   The B-system CRC circuit 212 at the time of reading newly generates a B-system CRCC from a 64-bit wide data string that combines the address input from the B-system processor 203 and the data written to the main memory 205 at the time of writing. Then, it is determined whether the CRCC stored in the main memory 205 and the newly generated CRCC are the same data string.

このB系CRC回路212は、割込制御部220と接続されており、その判定結果(一致/不一致)に基づいた論理信号(以下、「B系CRCC照合不一致」という)を生成して割込制御部220に出力する。以下、A系CRC回路209で生成されるCRCCをA系CRCCと記載し、B系CRC回路212で生成されるCRCCをB系CRCCと記載する。   The B-system CRC circuit 212 is connected to the interrupt control unit 220 and generates a logic signal (hereinafter referred to as “B-system CRCC verification mismatch”) based on the determination result (match / mismatch). Output to the controller 220. Hereinafter, the CRCC generated by the A system CRC circuit 209 is referred to as an A system CRCC, and the CRCC generated by the B system CRC circuit 212 is referred to as a B system CRCC.

照合回路214は、入力される2つのデータ列の一致/不一致を判定する回路である。この照合回路214は、ECC回路232と内部バス215およびCRCC内部バス216という2本のバスでECC回路232と接続されている。さらに、照合回路214は、割込制御部220とも接続されている。   The collation circuit 214 is a circuit that determines the match / mismatch of two input data strings. The collation circuit 214 is connected to the ECC circuit 232 through two buses of an ECC circuit 232, an internal bus 215, and a CRCC internal bus 216. Further, the verification circuit 214 is also connected to the interrupt control unit 220.

ライト時の照合回路214は、A系プロセッサ202から入力されるアドレスおよびデータと、A系CRC回路209から入力されるA系CRCCとを併せた72ビット幅のデータ列を、B系プロセッサ203から入力されるアドレスおよびデータと、B系CRC回路212から入力されるB系CRCCとを併せた72ビットのデータ列と比較して一致/不一致を判定する。このとき照合回路214は、そのデータ列の判定結果(一致/不一致)に基づいた論理信号(以下、「照合不一致」という)を生成して割込制御部220に出力する。相互のデータ列が一致、すなわち判定結果が一致である場合に限り、照合回路214は、A系プロセッサ202から入力されるアドレス、データ、コマンドを内部バス215を介してECC回路232に出力し、A系CRCCをCRCC内部バス216を介してECC回路232に出力する。   The collation circuit 214 at the time of writing generates a 72-bit width data string combining the address and data input from the A system processor 202 and the A system CRCC input from the A system CRC circuit 209 from the B system processor 203. A match / mismatch is determined by comparing a 72-bit data string that combines the input address and data with the B CRCC input from the B CRC circuit 212. At this time, the collation circuit 214 generates a logic signal (hereinafter referred to as “collation mismatch”) based on the determination result (match / mismatch) of the data string and outputs it to the interrupt control unit 220. The collation circuit 214 outputs the address, data, and command input from the A-system processor 202 to the ECC circuit 232 via the internal bus 215 only when the mutual data strings match, that is, when the determination results match. The A-system CRCC is output to the ECC circuit 232 via the CRCC internal bus 216.

リード時の照合回路214は、A系プロセッサ202から入力されるアドレスのデータ列を、B系プロセッサ203から入力されるアドレスのデータ列と比較して一致/不一致を判定する。このとき照合回路214は、その判定結果(一致/不一致)に基づいて照合不一致を生成して割込制御部220に出力する。相互のデータ列が一致しているすなわち、判定結果が一致である場合に限り、照合回路214は、A系プロセッサ202から入力されるアドレスおよびコマンドを内部バス215を介してECC回路232に出力する。   The collating circuit 214 at the time of reading compares the address data string input from the A-system processor 202 with the address data string input from the B-system processor 203 to determine a match / mismatch. At this time, the collation circuit 214 generates a collation mismatch based on the determination result (match / mismatch) and outputs it to the interrupt control unit 220. The collation circuit 214 outputs the address and command input from the A-system processor 202 to the ECC circuit 232 via the internal bus 215 only when the mutual data strings match, that is, when the determination results match. .

ECC回路232は、所定の桁数のビット幅のデータ列からECCを生成する。また、生成したECCを利用することにより、当該データ列のエラーを検出し、検出したエラーが訂正可能な1ビットエラーの場合に当該データ列を訂正する。   The ECC circuit 232 generates an ECC from a data string having a bit width of a predetermined number of digits. Further, by using the generated ECC, an error in the data string is detected, and when the detected error is a correctable 1-bit error, the data string is corrected.

ECC回路232は、ライト時とリード時では異なった処理を行う。このECC回路232は、メインメモリ205の間でデータ列のやりとりができるように、メモリバス217、CRCCメモリバス218およびECCメモリバス219によって接続されている。   The ECC circuit 232 performs different processing at the time of writing and at the time of reading. The ECC circuit 232 is connected by a memory bus 217, a CRCC memory bus 218, and an ECC memory bus 219 so that data strings can be exchanged between the main memories 205.

ライトのECC回路232は、照合回路214から入力されるアドレス、データおよびCRCCを併せた72ビット幅のデータ列でECCを生成する。そして、生成したECCをECCメモリバス219を介してメインメモリ205に出力する。そして、ECC回路232は、照合回路214から入力されるアドレス、データ、コマンドをメモリバス217を介してメインメモリ205に出力し、照合回路214から入力されるCRCCをCRCCメモリバス218を介してメインメモリ205に出力する。   The write ECC circuit 232 generates an ECC with a 72-bit wide data string that combines the address, data, and CRCC input from the verification circuit 214. Then, the generated ECC is output to the main memory 205 via the ECC memory bus 219. Then, the ECC circuit 232 outputs the address, data, and command input from the verification circuit 214 to the main memory 205 via the memory bus 217, and the CRCC input from the verification circuit 214 to the main memory via the CRCC memory bus 218. Output to the memory 205.

リード時のECC回路232は、メインメモリ205に書き込まれているデータと、照合回路214から入力されるアドレスおよびCRCCとを併せた72ビット幅のデータ列から新たにECCを生成する。そして、ECC回路232は、新たに生成したECCと、メインメモリ205に書き込まれたECCとの一致不一致を判定する。また、ECC回路232は、割込制御部220と接続されており、その判定結果(一致/不一致)に基づいた論理信号(以下、「ECC照合不一致」という)を生成して割込制御部220に出力する。   The ECC circuit 232 at the time of reading newly generates an ECC from a 72-bit width data string that combines the data written in the main memory 205, the address input from the verification circuit 214, and the CRCC. Then, the ECC circuit 232 determines whether or not the newly generated ECC matches the ECC written in the main memory 205. The ECC circuit 232 is connected to the interrupt control unit 220 and generates a logic signal (hereinafter referred to as “ECC verification mismatch”) based on the determination result (match / mismatch). Output to.

判定結果が一致の場合、ECC回路232は、メインメモリ205に書き込まれているデータおよびCRCCを照合回路214を介してA系CRC回路209およびB系CRC回路212に出力するとともに、ECC照合不一致(一致)を生成して割込制御部220に出力する。   When the determination result is coincident, the ECC circuit 232 outputs the data and CRCC written in the main memory 205 to the A-system CRC circuit 209 and the B-system CRC circuit 212 via the collation circuit 214 and ECC collation mismatch ( Match) is generated and output to the interrupt control unit 220.

判定結果が不一致の場合、ECC回路232は、新たに生成したECCおよびメインメモリ205に書き込まれているECCを利用してメインメモリ205に書き込まれたECCおよびCRCCのエラーチェックを行う。   If the determination results do not match, the ECC circuit 232 performs error checking of the ECC and CRCC written in the main memory 205 using the newly generated ECC and the ECC written in the main memory 205.

訂正可能なエラーの場合は、ECC回路232は、データおよびCRCCのエラー訂正を行い、エラー訂正を行ったデータおよびCRCCを照合回路214を介してA系CRC回路209およびB系CRC回路212に出力するとともに、ECC照合不一致(一致)を生成して割込制御部220に出力する。   In the case of a correctable error, the ECC circuit 232 corrects the data and CRCC error, and outputs the error-corrected data and CRCC to the A-system CRC circuit 209 and the B-system CRC circuit 212 via the collation circuit 214. At the same time, ECC verification mismatch (match) is generated and output to the interrupt control unit 220.

訂正不可能なエラーの場合は、ECC回路232は、ECC照合不一致(不一致)を生成して割込制御部220に出力する。   In the case of an uncorrectable error, the ECC circuit 232 generates an ECC verification mismatch (mismatch) and outputs it to the interrupt control unit 220.

割込制御部220は、A系割込要求をA系プロセッサ202に出力し、B系割込要求をB系プロセッサ203に出力する。また、割込制御部220は、A系割込要求とB系割込要求を制御する機能を備え、A系割込要求をアサートするためのA系割込要求レジスタと、割込要因を示すA系割込要因レジスタで構成する。また、B系割込要求をアサートするためのB系割込要求レジスタと、割込要因を示すB系割込要因レジスタを備える。   The interrupt control unit 220 outputs an A-system interrupt request to the A-system processor 202, and outputs a B-system interrupt request to the B-system processor 203. The interrupt control unit 220 has a function of controlling the A system interrupt request and the B system interrupt request, and indicates an A system interrupt request register for asserting the A system interrupt request, and an interrupt factor. Consists of an A-system interrupt factor register. A B system interrupt request register for asserting a B system interrupt request and a B system interrupt factor register indicating an interrupt factor are provided.

割込制御部220は、A系プロセッサ202に対するA系割込要求とB系プロセッサ203に対するB系割込要求独立に制御することが可能である。   The interrupt control unit 220 can control the A-system interrupt request to the A-system processor 202 and the B-system interrupt request to the B-system processor 203 independently.

A系割込要求レジスタと、B系割込要求レジスタ、A系割込要因レジスタ、B系割込要因レジスタはA系プロセッサ202とB系プロセッサ203からアクセスすることが可能な構造となっている。   The A system interrupt request register, the B system interrupt request register, the A system interrupt factor register, and the B system interrupt factor register can be accessed from the A system processor 202 and the B system processor 203. .

割込制御部220は、各プロセッサの異常または各プロセッサからメインメモリ205までのインターフェースの異常およびメインメモリ205の異常を検出すると、制御装置204を不安全な状態から回避する機能を備える。すなわち、割込制御部220は、A系CRC回路209からのA系CRC照合不一致、B系CRC回路212からB系CRC照合不一致、照合回路214からの照合不一致あるいはECC回路232からのECC照合不一致のいずれか一つの論理信号に基づいて、A系プロセッサ202およびB系プロセッサ203が現在行っている演算を中断させるか否かを決定する。割込制御部220は他の割込要因についても制御を行っているが、本発明では言及しない。   The interrupt control unit 220 has a function of avoiding the control device 204 from an unsafe state when an abnormality of each processor or an abnormality of an interface from each processor to the main memory 205 and an abnormality of the main memory 205 are detected. That is, the interrupt control unit 220 determines that the A-system CRC verification mismatch from the A-system CRC circuit 209, the B-system CRC verification mismatch from the B-system CRC circuit 212, the verification mismatch from the verification circuit 214, or the ECC verification mismatch from the ECC circuit 232 Based on any one of the logic signals, it is determined whether or not to interrupt the operation currently being performed by the A-system processor 202 and the B-system processor 203. The interrupt control unit 220 controls other interrupt factors, but is not mentioned in the present invention.

ところで、出力切替スイッチ221は、A系プロセッサ202、B系プロセッサ203およびネットワークコントローラ206に接続されている。この出力切替スイッチ221は、A系プロセッサ202あるいはB系プロセッサ203の演算結果のいずれか一方を選択し、選択した方プロセッサの演算結果をネットワークコントローラ206に出力する。つまり、出力切替スイッチ221は、選択した方のプロセッサの演算結果がネットワークコントローラ206を介してネットワーク106上にある上位装置103あるいは下位装置104に出力されるようにするためのスイッチである。   Incidentally, the output changeover switch 221 is connected to the A-system processor 202, the B-system processor 203, and the network controller 206. The output changeover switch 221 selects one of the operation results of the A processor 202 or the B processor 203 and outputs the operation result of the selected processor to the network controller 206. That is, the output changeover switch 221 is a switch for outputting the calculation result of the selected processor to the upper apparatus 103 or the lower apparatus 104 on the network 106 via the network controller 206.

[A系CRC回路の構成]
次に、A系CRC回路209およびB系CRC回路212の回路構成の一例について図3を参照して説明する。
図3は、A系CRC回路209の一例およびその周辺を示す図である。なお、A系CRC回路209とB系CRC回路212は同じ回路であるので、B系CRC回路212の説明は省略する。
[Configuration of A system CRC circuit]
Next, an example of the circuit configuration of the A system CRC circuit 209 and the B system CRC circuit 212 will be described with reference to FIG.
FIG. 3 is a diagram showing an example of the A-system CRC circuit 209 and its periphery. Since the A system CRC circuit 209 and the B system CRC circuit 212 are the same circuit, the description of the B system CRC circuit 212 is omitted.

A系CRC回路209は、A系プロセッサバス208を介してA系プロセッサ202および照合回路214と接続されているCRC計算回路302と、A系プロセッサ202を介してA系プロセッサ202および照合回路214と接続されているスイッチと、デジタル比較器304とよりなる。   The A-system CRC circuit 209 includes a CRC calculation circuit 302 connected to the A-system processor 202 and the verification circuit 214 via the A-system processor bus 208, and the A-system processor 202 and the verification circuit 214 via the A-system processor 202. It consists of a connected switch and a digital comparator 304.

スイッチの端子S2はCRC計算回路302およびデジタル比較器304と接続されており、端子S1はCRCバスで照合回路214と接続されており、端子S3はデジタル比較器304と接続されている。このスイッチは、A系プロセッサ202から入力されるコマンドに基づいて接続する端子を切り替える。より具体的には、スイッチは、コマンドが‘1’のとき、すなわちライト時に端子S1と端子S2を接続し、入力されるコマンドが‘0’のとき、すなわちリード時に端子S1と端子S3を接続する。   The switch terminal S2 is connected to the CRC calculation circuit 302 and the digital comparator 304, the terminal S1 is connected to the verification circuit 214 via a CRC bus, and the terminal S3 is connected to the digital comparator 304. This switch switches terminals to be connected based on a command input from the A-system processor 202. More specifically, the switch connects the terminal S1 and the terminal S2 when the command is “1”, that is, when writing, and connects the terminal S1 and the terminal S3 when the input command is “0”, that is, when reading. To do.

CRC計算回路302は、ライト時にA系プロセッサ202から入力されるアドレスおよびデータでA系CRCCを計算し、計算したA系CRCCをA系CRCCバス210を介して照合回路214へ出力する。   The CRC calculation circuit 302 calculates the A-system CRCC using the address and data input from the A-system processor 202 at the time of writing, and outputs the calculated A-system CRCC to the verification circuit 214 via the A-system CRCC bus 210.

また、CRC計算回路302は、リード時にA系プロセッサ202から入力されるアドレスおよび照合回路214を介してメインメモリ205から取得したデータでA系CRCCを計算し、計算したA系CRCCをデジタル比較器304に出力する。   The CRC calculation circuit 302 calculates an A-system CRCC using the address input from the A-system processor 202 at the time of reading and data acquired from the main memory 205 via the verification circuit 214, and the calculated A-system CRCC is a digital comparator. It outputs to 304.

デジタル比較器304は、リード時のみ動作する。デジタル比較器304は、CRC計算回路302が計算したA系CRCCと、照合回路214を介してメインメモリ205から取得したCRCCを比較し、その比較結果に応じた論理信号であるA系CRCC照合不一致を割込制御部220に出力する。   The digital comparator 304 operates only when reading. The digital comparator 304 compares the A-system CRCC calculated by the CRC calculation circuit 302 with the CRCC acquired from the main memory 205 via the verification circuit 214, and the A-system CRCC verification mismatch, which is a logic signal corresponding to the comparison result Is output to the interrupt control unit 220.

[ECC回路の構成]
次に、ECC回路232の回路構成の一例について図4を参照して説明する。
図4は、ECC回路232の一例およびその周辺を示す図である。
[Configuration of ECC circuit]
Next, an example of the circuit configuration of the ECC circuit 232 will be described with reference to FIG.
FIG. 4 is a diagram illustrating an example of the ECC circuit 232 and its periphery.

ECC回路232は、第一切替スイッチ402と、第二切替スイッチ403と、ECC計算回路404と、第三切替スイッチ405と、ECC比較回路406と、ECC訂正回路408と、第四切替スイッチ409と、第五切替スイッチ410と、スイッチ制御回路411よりなる。   The ECC circuit 232 includes a first changeover switch 402, a second changeover switch 403, an ECC calculation circuit 404, a third changeover switch 405, an ECC comparison circuit 406, an ECC correction circuit 408, and a fourth changeover switch 409. , A fifth changeover switch 410 and a switch control circuit 411.

第一切替スイッチ402は、ECC計算回路404と、内部バス215あるいはメモリバス217のいずれか一方とを接続するスイッチである。
第一切替スイッチ402の端子S4は内部バス215で照合回路214と接続されており、端子S5はメモリバス217でメインメモリ205と接続されており、端子S6はECC計算回路404と接続されている。この第一切替スイッチ402は、スイッチ制御回路411により接続する端子を制御される。具体的には、ライト時に、端子S4と端子S6を接続することで、ECC計算回路404と内部バス215を接続する。一方、リード時に、端子S5と端子S6を接続してECC計算回路404とメモリバス217を接続する。
The first changeover switch 402 is a switch that connects the ECC calculation circuit 404 and either the internal bus 215 or the memory bus 217.
The terminal S4 of the first changeover switch 402 is connected to the verification circuit 214 via the internal bus 215, the terminal S5 is connected to the main memory 205 via the memory bus 217, and the terminal S6 is connected to the ECC calculation circuit 404. . The first changeover switch 402 is controlled by a switch control circuit 411 for a terminal to be connected. Specifically, at the time of writing, the ECC calculation circuit 404 and the internal bus 215 are connected by connecting the terminal S4 and the terminal S6. On the other hand, at the time of reading, the ECC calculation circuit 404 and the memory bus 217 are connected by connecting the terminals S5 and S6.

第二切替スイッチ403は、ECC計算回路404と、CRCC内部バス216あるいはCRCCメモリバス218のいずれか一方とを接続するスイッチである。
第二切替スイッチ403の端子S7はCRCC内部バス216で照合回路214と接続されており、端子S8はCRCCメモリバス218でメインメモリ205と接続されており、端子S9はECC計算回路404と接続されている。この第二切替スイッチ403は、スイッチ制御回路411により接続する端子を制御される。具体的には、ライト時に、端子S7と端子S9を接続してECC計算回路404とCRCC内部バス216を接続する。一方、リード時に、端子S8と端子S9を接続してECC計算回路404とCRCCメモリバス218を接続する。
The second changeover switch 403 is a switch that connects the ECC calculation circuit 404 and either the CRCC internal bus 216 or the CRCC memory bus 218.
The terminal S7 of the second changeover switch 403 is connected to the verification circuit 214 via the CRCC internal bus 216, the terminal S8 is connected to the main memory 205 via the CRCC memory bus 218, and the terminal S9 is connected to the ECC calculation circuit 404. ing. The second changeover switch 403 is controlled by a switch control circuit 411 at a terminal to be connected. Specifically, at the time of writing, the terminal S7 and the terminal S9 are connected, and the ECC calculation circuit 404 and the CRCC internal bus 216 are connected. On the other hand, at the time of reading, the ECC calculation circuit 404 and the CRCC memory bus 218 are connected by connecting the terminals S8 and S9.

ライト時のECC計算回路404は、内部バス215を介して照合回路214から入力されるアドレスおよびデータと、CRCC内部バス216を介して照合回路214から入力されるCRCCからECCを生成し、生成したECCを第三切替スイッチ405を介して出力する。   The ECC calculation circuit 404 at the time of writing generates an ECC from the address and data input from the verification circuit 214 via the internal bus 215 and the CRCC input from the verification circuit 214 via the CRCC internal bus 216. The ECC is output via the third changeover switch 405.

一方、リード時のECC計算回路404は、メモリバス217を介してメインメモリ205から取得するデータと、CRCCメモリバス218を介してメインメモリ205から取得するCRCCと、内部バス215を介して照合回路214から入力されるアドレスからECCを生成し、生成したECCを第三切替スイッチ405を介して出力する。   On the other hand, the ECC calculation circuit 404 at the time of reading includes data acquired from the main memory 205 via the memory bus 217, CRCC acquired from the main memory 205 via the CRCC memory bus 218, and a verification circuit via the internal bus 215. An ECC is generated from the address input from 214, and the generated ECC is output via the third changeover switch 405.

第三切替スイッチ405は、ECC回路232からの出力をECC比較回路406あるいはメインメモリ205のいずれかに切り替えるスイッチである。
第三切替スイッチ405の端子S10はECC計算回路404と接続されており、端子S12はECC比較回路406と接続されており、端子S11はECCメモリバス219でメインメモリ205と接続されている。この第三切替スイッチ405は、スイッチ制御回路411により接続する端子を制御される。具体的には、ライト時に、端子S10と端子S11を接続してECC計算回路404で生成されたECCをECCメモリバス219に出力する。一方、リード時に、端子S10と端子S12を接続してECC計算回路404で生成されたECCをECC比較回路406に出力する。
The third changeover switch 405 is a switch for changing the output from the ECC circuit 232 to either the ECC comparison circuit 406 or the main memory 205.
The terminal S10 of the third changeover switch 405 is connected to the ECC calculation circuit 404, the terminal S12 is connected to the ECC comparison circuit 406, and the terminal S11 is connected to the main memory 205 via the ECC memory bus 219. The third changeover switch 405 is controlled by a switch control circuit 411 at a terminal to be connected. Specifically, at the time of writing, the terminals S 10 and S 11 are connected and the ECC generated by the ECC calculation circuit 404 is output to the ECC memory bus 219. On the other hand, at the time of reading, the terminals S10 and S12 are connected and the ECC generated by the ECC calculation circuit 404 is output to the ECC comparison circuit 406.

ECC比較回路406は、第三切替スイッチ405によりリード時のみ処理を行う。ECC比較回路406は、メインメモリ205からECCメモリバス219を介して取得したECCと、ECC計算回路404で生成されたECCそれぞれのデータ列の排他的論理和を計算することにより、これらの各ECCのエラーチェックを行う。ここでのエラーチェックは、エラーなし(全ビット一致)か、1ビットエラーか、2ビット以上のエラーか、を検出するとともに、これらの各エラーが訂正可能であるか否かを検出する、ことを指す。ECC比較回路406は、このようなエラーチェック結果をECC訂正回路408およびスイッチ制御回路411に出力する。 The ECC comparison circuit 406 performs processing only at the time of reading by the third changeover switch 405. The ECC comparison circuit 406 calculates the exclusive OR of the ECC acquired from the main memory 205 via the ECC memory bus 219 and the data string of each of the ECC generated by the ECC calculation circuit 404. Check for errors. The error check here detects whether there is no error (all bits match), 1-bit error, or error of 2 bits or more, and whether each of these errors can be corrected. Point to. The ECC comparison circuit 406 outputs such an error check result to the ECC correction circuit 408 and the switch control circuit 411.

ECC訂正回路408は、第三切替スイッチ405によりリード時のみ処理を行う。ECC訂正回路408は、メインメモリ205から読み出したデータおよびCRCCのエラーの訂正をECC比較回路406から入力されたエラーチェック結果に基づいて行う。 The ECC correction circuit 408 performs processing only at the time of reading by the third changeover switch 405. The ECC correction circuit 408 corrects the data read from the main memory 205 and the CRCC error based on the error check result input from the ECC comparison circuit 406.

訂正不可能な1ビットエラーおよび2ビット以上のエラーの場合、ECC訂正回路408は割込制御部220にECC照合不一致(不一致)を出力する。   In the case of an uncorrectable 1-bit error and an error of 2 bits or more, the ECC correction circuit 408 outputs an ECC collation mismatch (mismatch) to the interrupt control unit 220.

訂正可能な1ビットエラーの場合、ECC訂正回路408は、メインメモリ205から読み出したデータまたはCRCCのビット訂正をECC比較回路406から入力されるエラーチェック結果を利用して行うとともに、割込制御部220にECC照合不一致(一致)を出力する。   In the case of a correctable 1-bit error, the ECC correction circuit 408 performs bit correction of data read from the main memory 205 or CRCC using an error check result input from the ECC comparison circuit 406 and an interrupt control unit. The ECC verification mismatch (match) is output to 220.

第四切替スイッチ409は、内部バス215とメモリバス217の接続のオン/オフを切り替えるスイッチである。第四切替スイッチ409の端子S13は内部バス215に接続しており、端子S14はメモリバス217に接続している。この第四切替スイッチ409は、スイッチ制御回路411によりオン/オフを制御される。ライト時に、端子S13と端子S14を接続して照合回路214から入力されるアドレス、データおよびコマンドをメインメモリ205に出力するようにする。リード時にECC比較回路406で検出したエラーチェック結果がエラーなしあるいは訂正可能な1ビットエラーの場合、端子S13と端子S14を接続してメインメモリ205に記憶されたデータを照合回路214に出力するようにする。   The fourth changeover switch 409 is a switch for turning on / off the connection between the internal bus 215 and the memory bus 217. The terminal S13 of the fourth changeover switch 409 is connected to the internal bus 215, and the terminal S14 is connected to the memory bus 217. The fourth changeover switch 409 is controlled to be turned on / off by the switch control circuit 411. At the time of writing, the terminal S13 and the terminal S14 are connected to output the address, data, and command input from the verification circuit 214 to the main memory 205. When the error check result detected by the ECC comparison circuit 406 at the time of reading is an error-free or correctable 1-bit error, the terminal S13 and the terminal S14 are connected to output the data stored in the main memory 205 to the verification circuit 214. To.

第五切替スイッチ410は、CRCC内部バス216とCRCCメモリバス218の接続のオン/オフを切り替えるスイッチである。第五切替スイッチ410の端子S15はCRCC内部バス216に接続しており、端子S16はCRCCメモリバス218に接続している。この第五切替スイッチ410は、スイッチ制御回路411によりオン/オフを制御される。ライト時に、端子S15と端子S16を接続して照合回路214から入力されるCRCCをメインメモリ205に出力するようにする。リード時においてECC比較回路406で検出したエラーチェック結果がエラーなしあるいは訂正可能な1ビットエラーの場合、端子S15と端子S16を接続してメインメモリ205に記憶されたCRCCを照合回路214に出力するようにする。   The fifth changeover switch 410 is a switch for turning on / off the connection between the CRCC internal bus 216 and the CRCC memory bus 218. The terminal S15 of the fifth changeover switch 410 is connected to the CRCC internal bus 216, and the terminal S16 is connected to the CRCC memory bus 218. The fifth changeover switch 410 is controlled to be turned on / off by the switch control circuit 411. At the time of writing, the terminals S15 and S16 are connected to output the CRCC input from the collation circuit 214 to the main memory 205. When the error check result detected by the ECC comparison circuit 406 at the time of reading is an error-free or correctable 1-bit error, the terminal S15 and the terminal S16 are connected and the CRCC stored in the main memory 205 is output to the verification circuit 214. Like that.

スイッチ制御回路411は、第一切替スイッチ402、第二切替スイッチ403、第三切替スイッチ405、第四切替スイッチ409および第五切替スイッチ410の各端子の接続を制御するものである。この制御は、内部バス215を介して照合回路214から入力されるコマンドおよびECC比較回路406から入力されるエラーチェック結果に基づいて行われる。   The switch control circuit 411 controls connection of each terminal of the first changeover switch 402, the second changeover switch 403, the third changeover switch 405, the fourth changeover switch 409, and the fifth changeover switch 410. This control is performed based on the command input from the verification circuit 214 via the internal bus 215 and the error check result input from the ECC comparison circuit 406.

[CPU装置のモード遷移]
次に、CPU装置102のモードの遷移について図5を参照して説明する。
図5は、CPU装置102のモードの遷移を示す状態遷移図である。
[Mode transition of CPU device]
Next, the mode transition of the CPU device 102 will be described with reference to FIG.
FIG. 5 is a state transition diagram showing mode transition of the CPU device 102.

まず、CPU装置102が起動されると、当該CPU装置102はOS立ち上がりモードになる(ステップS501)。このとき、CPU装置102は、上位装置103に記憶された所定のプログラムをネットワーク経由で取得する。   First, when the CPU device 102 is activated, the CPU device 102 enters an OS startup mode (step S501). At this time, the CPU device 102 acquires a predetermined program stored in the host device 103 via the network.

そして、CPU装置102は、スケジューラにより、前述の一般モード(ステップS502)、安全モード(ステップS503)あるいはテストモード(ステップS504)のいずれかのモードで稼動する。なお、スケジューラにより、モードの変更が行われる場合は、OS立ち上がりモードに移行する(ステップS506、ステップS507およびステップS508)。   The CPU device 102 is operated by the scheduler in any of the above-described general mode (step S502), safety mode (step S503), or test mode (step S504). In addition, when the mode is changed by the scheduler, the mode shifts to the OS startup mode (step S506, step S507, and step S508).

CPU装置102は、一般モードでの演算中にCPU装置102に異常が発生すると、CPU装置102は演算を中止する(ステップS509)。   If an abnormality occurs in the CPU device 102 during the calculation in the general mode, the CPU device 102 stops the calculation (step S509).

また、CPU装置102は、安全モードでの演算中にCPU装置102に以上が発生すると、CPU装置102は演算を中止する(ステップS510)。   Further, when the above occurs in the CPU device 102 during the calculation in the safety mode, the CPU device 102 stops the calculation (step S510).

また、CPU装置102は、テストモードの実行、すなわちテストプログラムによりCPU装置102を構成する各ブロックおよび各バスの故障を検出すると、当該CPU装置102を停止する(ステップS511)。   Further, when executing a test mode, that is, detecting a failure of each block and each bus constituting the CPU device 102 by the test program, the CPU device 102 stops the CPU device 102 (step S511).

以上に示した各状態のうち、ステップS510のエラーを検出するために、CPU装置102は、図2から図4に示した構成となっている。つまり、本実施形態の図2乃至図4の構成は、安全モードでCPU装置102の異常を確実に検出し、異常停止モードに至らせるためのものである。   Among the states shown above, the CPU device 102 has the configuration shown in FIGS. 2 to 4 in order to detect the error in step S510. That is, the configurations of FIGS. 2 to 4 of the present embodiment are for reliably detecting an abnormality of the CPU device 102 in the safety mode and reaching the abnormal stop mode.

[CPU装置の動作]
次に、安全モード時における制御装置204の動作を図6〜図8を参照して説明する。
図6は、故障がない場合の制御装置204の動作を示すタイミングチャートである。
[Operation of CPU device]
Next, the operation of the control device 204 in the safety mode will be described with reference to FIGS.
FIG. 6 is a timing chart showing the operation of the control device 204 when there is no failure.

A系プロセッサ202およびB系プロセッサ203が、予め上位装置103から取得した所定のプログラムに基づいて、メインメモリ205に対してライトを行う時の制御装置204の動作について説明する。なお、B系CRC回路212はA系CRC回路209と同じ構成であるので、以下ではB系CRC回路に関する動作を図3に示すA系CRC回路を参照して説明する。   An operation of the control device 204 when the A-system processor 202 and the B-system processor 203 write to the main memory 205 based on a predetermined program acquired in advance from the host device 103 will be described. Since the B-system CRC circuit 212 has the same configuration as the A-system CRC circuit 209, the operation relating to the B-system CRC circuit will be described below with reference to the A-system CRC circuit shown in FIG.

まず、A系プロセッサ202は、メインメモリ205に書き込み要求を行うと(T601)、A系プロセッサバス208を介してアドレス、データおよびライトを示すコマンド(‘1’)を制御装置204のA系CRC回路209および照合回路214へ出力する。すると、A系CRC回路209は、A系プロセッサ202から入力されたコマンドをトリガーにスイッチ303の端子S1と端子S2を接続する。そして、A系CRC回路209のCRC計算回路302は、A系プロセッサ202から入力されたアドレスおよびデータからA系CRCCを生成する。そして、A系CRC回路209のCRC計算回路302は、生成したA系CRCCをA系CRCCバスを介して照合回路214に出力する(T602)。 First, when the A processor 202 makes a write request to the main memory 205 (T601), the A processor CRC of the control device 204 sends a command ('1') indicating the address, data, and write via the A processor bus 208. It outputs to the circuit 209 and the collation circuit 214. Then, the A system CRC circuit 209 connects the terminal S1 and the terminal S2 of the switch 303 with the command input from the A system processor 202 as a trigger. The CRC calculation circuit 302 of the A system CRC circuit 209 generates an A system CRCC from the address and data input from the A system processor 202. Then, the CRC calculation circuit 302 of the A system CRC circuit 209 outputs the generated A system CRCC to the collation circuit 214 via the A system CRCC bus (T602).

一方、B系プロセッサ203もA系プロセッサ202と同様の動作を行う。まず、B系プロセッサ203は、メインメモリ205に書き込み要求を行うと(T603)、B系プロセッサバス211を介してデータ、アドレスおよびライトを示すコマンド(‘1’)を制御装置204のB系CRC回路212および照合回路214へ出力する。すると、B系CRC回路212は、B系プロセッサ203から入力されたコマンドをトリガーにスイッチ303の端子S1と端子S2を接続する。そして、B系CRC回路212のCRC計算回路302は、B系プロセッサ203から入力されたアドレスおよびデータからB系CRCCを生成する。そして、B系CRC回路212のCRC計算回路302は生成したB系CRCCを照合回路214に出力する(T604)。 On the other hand, the B processor 203 performs the same operation as the A processor 202. First, when the B processor 203 makes a write request to the main memory 205 (T603), the B processor CRC of the control device 204 sends a command ('1') indicating data, address and write via the B processor bus 211. It outputs to the circuit 212 and the collation circuit 214. Then, the B-system CRC circuit 212 connects the terminal S1 and the terminal S2 of the switch 303 using a command input from the B-system processor 203 as a trigger. The CRC calculation circuit 302 of the B system CRC circuit 212 generates a B system CRCC from the address and data input from the B system processor 203. Then, the CRC calculation circuit 302 of the B system CRC circuit 212 outputs the generated B system CRCC to the collation circuit 214 (T604).

照合回路214は、A系CRC回路209のCRC計算回路302から入力されるA系CRCCと、B系CRC回路212のCRC計算回路302から入力されるB系CRCCとが一致するか否かを判定する(T605)。各故障検出対象に故障がないケースでは、判定結果が一致となるので、照合回路214は、A系プロセッサバス208を介してA系プロセッサ202から入力されるアドレス、データおよびコマンドを内部バス215を介してECC回路232に出力する。さらに、照合回路214は、A系CRC回路209から入力されるA系CRCCをCRCC内部バス216を介してECC回路232に出力する。なお、ECC回路232にはB系CRC回路212からの出力を入力するようにしてもよいので、以下ではA系CRCCおよびB系CRCCを区別せず単にCRCCと記載する。   The collation circuit 214 determines whether or not the A system CRCC input from the CRC calculation circuit 302 of the A system CRC circuit 209 matches the B system CRCC input from the CRC calculation circuit 302 of the B system CRC circuit 212. (T605). In the case where there is no failure in each failure detection target, the determination results are the same. Therefore, the collation circuit 214 sends the address, data, and command input from the A-system processor 202 via the A-system processor bus 208 to the internal bus 215. To the ECC circuit 232. Further, the collation circuit 214 outputs the A system CRCC input from the A system CRC circuit 209 to the ECC circuit 232 via the CRCC internal bus 216. Since the output from the B-system CRC circuit 212 may be input to the ECC circuit 232, the A-system CRCC and the B-system CRCC are simply described as CRCC in the following.

ECC回路232は、照合回路214から入力されたコマンドをトリガーに、第一切替スイッチ402の端子S4と端子S6を接続し、第二切替スイッチ403の端子S7と端子S9を接続し、第三切替スイッチ405の端子S10と端子S11を接続し、第四切替スイッチ409の端子S13と端子S14を接続し、第五切替スイッチ410の端子S15と端子S16を接続する。ECC計算回路404は、照合回路214から入力されるアドレス、データおよびCRCCでECCを生成し、生成したECCをECCメモリバス219を介してメインメモリ205に出力する。このとき、ECC回路232は、照合回路214から入力されたデータ、コマンドおよびデータをメモリバス217を介してメインメモリ205に出力し、照合回路214から入力されたCRCCをCRCCメモリバス218を介してメインメモリ205に出力する(T606)。   The ECC circuit 232 connects the terminal S4 and the terminal S6 of the first changeover switch 402, connects the terminal S7 and the terminal S9 of the second changeover switch 403, and uses the command inputted from the verification circuit 214 as a trigger. The terminals S10 and S11 of the switch 405 are connected, the terminals S13 and S14 of the fourth changeover switch 409 are connected, and the terminals S15 and S16 of the fifth changeover switch 410 are connected. The ECC calculation circuit 404 generates an ECC using the address, data, and CRCC input from the collation circuit 214 and outputs the generated ECC to the main memory 205 via the ECC memory bus 219. At this time, the ECC circuit 232 outputs the data, command, and data input from the verification circuit 214 to the main memory 205 via the memory bus 217, and the CRCC input from the verification circuit 214 via the CRCC memory bus 218. The data is output to the main memory 205 (T606).

メインメモリ205は、ECC回路232から入力されたコマンドをトリガーにして、ECC回路232から入力された各アドレスが示す位置にECC回路232から入力されたデータ、CRCCおよびECCを記憶する。すなわち、メインメモリ205は、アドレスに基づいて、データをデータ記憶領域229に記憶し、CRCCをCRCC記憶領域230に記憶し、ECCをECC記憶領域231に記憶する(T607)。   The main memory 205 uses the command input from the ECC circuit 232 as a trigger, and stores the data, CRCC, and ECC input from the ECC circuit 232 at the position indicated by each address input from the ECC circuit 232. That is, based on the address, the main memory 205 stores data in the data storage area 229, stores CRCC in the CRCC storage area 230, and stores ECC in the ECC storage area 231 (T607).

以上の処理が完了した後、メインメモリ205が制御装置204の各回路に書き込み終了応答を出力すると、メインメモリ205の各回路は書き込み動作を終了する(T608)。   After the above processing is completed, when the main memory 205 outputs a write end response to each circuit of the control device 204, each circuit of the main memory 205 ends the write operation (T608).

続いて、A系プロセッサ202およびB系プロセッサ203が、予め上位装置103から取得した所定のプログラムに基づいて、メインメモリ205からリードを行う時の制御装置204の動作について説明する。   Next, the operation of the control device 204 when the A-system processor 202 and the B-system processor 203 read from the main memory 205 based on a predetermined program acquired in advance from the host device 103 will be described.

まず、A系プロセッサ202およびB系プロセッサ203は制御装置204に対して読み込み要求を行う。すると、A系プロセッサ202は、A系プロセッサバス208を介して制御装置204の照合回路214にアドレスおよびリードを示すコマンド(‘0’)を出力するとともに、当該コマンドをA系CRC回路209に出力する。A系CRC回路209は、A系プロセッサ202から入力されたコマンドをトリガーにスイッチ303の端子S1と端子S3を接続する。   First, the A processor 202 and the B processor 203 make a read request to the control device 204. Then, the A-system processor 202 outputs a command (“0”) indicating an address and a read to the verification circuit 214 of the control device 204 via the A-system processor bus 208 and outputs the command to the A-system CRC circuit 209. To do. The A system CRC circuit 209 connects the terminal S1 and the terminal S3 of the switch 303 with a command input from the A system processor 202 as a trigger.

一方、B系プロセッサ203は、B系プロセッサバス211を介してメインメモリ205の照合回路214にアドレスおよびリードを示すコマンド(‘0’)を出力するとともに、当該コマンドをB系CRC回路212に出力する。B系CRC回路212は、B系プロセッサ203から入力されたコマンドをトリガーにスイッチ303の端子S1と端子S3を接続する。   On the other hand, the B processor 203 outputs a command (“0”) indicating an address and a read to the collation circuit 214 of the main memory 205 via the B processor bus 211 and outputs the command to the B CRC circuit 212. To do. The B-system CRC circuit 212 connects the terminal S1 and the terminal S3 of the switch 303 using a command input from the B-system processor 203 as a trigger.

ここで、照合回路214は、A系プロセッサ202から入力されたアドレスと、B系プロセッサ203から入力されたアドレスとを比較し、比較結果が一致であるか否かを判定する(T609)。   Here, the collation circuit 214 compares the address input from the A-system processor 202 with the address input from the B-system processor 203, and determines whether or not the comparison result is coincident (T609).

照合回路214が一致と判定すると、照合回路214は、A系プロセッサ202から入力されたアドレスおよびコマンドを内部バス215を介してECC回路232に出力する。すると、ECC回路232は、照合回路214から入力されたコマンドをトリガーに、第一切替スイッチ402の端子S5と端子S6を接続し、第二切替スイッチ403の端子S8と端子S9を接続し、第三切替スイッチ405の端子S10と端子S12を接続する。そして、ECC回路232は、照合回路214から入力されたアドレスおよびコマンドをメモリバスを介してメインメモリ205に出力する。   If the collation circuit 214 determines that they match, the collation circuit 214 outputs the address and command input from the A-system processor 202 to the ECC circuit 232 via the internal bus 215. Then, the ECC circuit 232 connects the terminal S5 and the terminal S6 of the first changeover switch 402, connects the terminal S8 and the terminal S9 of the second changeover switch 403, using the command input from the verification circuit 214 as a trigger, The terminals S10 and S12 of the three changeover switch 405 are connected. Then, the ECC circuit 232 outputs the address and command input from the verification circuit 214 to the main memory 205 via the memory bus.

メインメモリ205は、ECC回路232から入力されたコマンドをトリガーにして、ECC回路232から入力されたアドレスに従って、メインメモリ205に記憶されたデータをメモリバスを介してECC回路232に出力する。このとき、メインメモリ205は、ECC回路232から入力されたアドレスに従って、記憶しているCRCCをCRCCメモリバス218を介してECC回路232に出力する。さらに、メインメモリ205は、ECC回路232から入力されたアドレスに従って、記憶しているECCをECCメモリバス219を介してECC回路232に出力する。   The main memory 205 uses the command input from the ECC circuit 232 as a trigger, and outputs the data stored in the main memory 205 to the ECC circuit 232 via the memory bus in accordance with the address input from the ECC circuit 232. At this time, the main memory 205 outputs the stored CRCC to the ECC circuit 232 via the CRCC memory bus 218 in accordance with the address input from the ECC circuit 232. Further, the main memory 205 outputs the stored ECC to the ECC circuit 232 via the ECC memory bus 219 in accordance with the address input from the ECC circuit 232.

すると、ECC回路232のECC計算回路404は、照合回路214から入力されたアドレスおよびメインメモリ205から取得したデータおよびCRCCから新たにECCを生成してECC比較回路406に出力する。   Then, the ECC calculation circuit 404 of the ECC circuit 232 newly generates an ECC from the address input from the collation circuit 214, the data acquired from the main memory 205, and the CRCC, and outputs the ECC to the ECC comparison circuit 406.

ECC比較回路406は、新たに生成したECCと、メインメモリ205から取得したECCとの排他的論理和を計算する。そして、前述のエラーチェックを行い、エラーチェック結果をECC訂正回路408およびスイッチ制御回路411に出力する。本ケースではエラーチェック結果がエラーなしとなるので、スイッチ制御回路411は、第四切替スイッチ409の端子S13とS14を接続し、第五切替スイッチ410の端子S15とS16を接続する。すると、メインメモリ205から取得したデータが、内部バス215、照合回路214およびA系プロセッサバス208を介してA系CRC回路209のCRC計算回路302へ出力される。このとき、メインメモリ205から取得したCRCCがCRCC内部バス216、照合回路214およびA系CRCCバスを介してA系CRC回路209のデジタル比較器304に出力される。なお、メインメモリ205から取得したデータおよびCRCCは、B系CRC回路212にも同様に入力される(T610)。   The ECC comparison circuit 406 calculates an exclusive OR of the newly generated ECC and the ECC acquired from the main memory 205. Then, the aforementioned error check is performed, and the error check result is output to the ECC correction circuit 408 and the switch control circuit 411. In this case, since the error check result indicates no error, the switch control circuit 411 connects the terminals S13 and S14 of the fourth changeover switch 409 and connects the terminals S15 and S16 of the fifth changeover switch 410. Then, the data acquired from the main memory 205 is output to the CRC calculation circuit 302 of the A system CRC circuit 209 via the internal bus 215, the verification circuit 214 and the A system processor bus 208. At this time, the CRCC acquired from the main memory 205 is output to the digital comparator 304 of the A system CRC circuit 209 via the CRCC internal bus 216, the collation circuit 214, and the A system CRCC bus. The data and CRCC acquired from the main memory 205 are similarly input to the B-system CRC circuit 212 (T610).

ここで、A系CRC回路209のCRC計算回路302は、A系プロセッサバス208を介してA系プロセッサ202から出力されているアドレスおよびECC回路232から入力されたデータから新たにCRCCを生成してデジタル比較器304に入力する。デジタル比較器304は、新たに生成したCRCCと、ECC回路232から入力されたCRCCとを比較し、その比較結果一致であるが否かを判定する。   Here, the CRC calculation circuit 302 of the A-system CRC circuit 209 newly generates a CRCC from the address output from the A-system processor 202 via the A-system processor bus 208 and the data input from the ECC circuit 232. Input to the digital comparator 304. The digital comparator 304 compares the newly generated CRCC with the CRCC input from the ECC circuit 232, and determines whether or not the comparison result is coincident.

本ケースでは、判定結果が一致となるので、ECC回路232から出力されたデータ、すなわちメインメモリ205に記憶されたデータがA系プロセッサバス208を介してA系プロセッサ202に出力される(T611)。このとき、B系プロセッサ203にも同様に、B系CRC回路212からB系プロセッサバス211を介して、メインメモリ205に記憶されたと同じデータが出力される(T612)。   In this case, since the determination results are the same, the data output from the ECC circuit 232, that is, the data stored in the main memory 205 is output to the A-system processor 202 via the A-system processor bus 208 (T611). . At this time, the same data stored in the main memory 205 is also output to the B processor 203 from the B system CRC circuit 212 via the B processor bus 211 (T612).

図7は、A系プロセッサ202、A系CRC回路209、A系プロセッサバス208、B系プロセッサ203、B系CRC回路212およびB系プロセッサバス211のいずれかで故障が起きた場合の制御装置204の動作を示すタイミングチャートである。なお、T701〜T704は、図6のT601〜T604と同じなので、それらの説明は省略する。   FIG. 7 shows a control device 204 when a failure occurs in any of the A-system processor 202, the A-system CRC circuit 209, the A-system processor bus 208, the B-system processor 203, the B-system CRC circuit 212, and the B-system processor bus 211. It is a timing chart which shows the operation | movement. T701 to T704 are the same as T601 to T604 in FIG.

T704のタイミングの直後、すなわちライト中に、A系プロセッサ202、A系CRC回路209、A系プロセッサバス208、B系プロセッサ203、B系CRC回路212およびB系プロセッサバス211のいずれかで故障が起きたとする(T705)。すると、照合回路214は、A系CRCCバス210を介してA系CRC回路209から入力されたA系CRCCおよびB系CRCCバス213を介してB系CRC回路212から入力されたB系CRCCを比較する。そして、照合回路214はそれぞれの比較結果が一致であるか否かを判定する(T706)。   Immediately after the timing of T704, that is, during writing, a failure occurs in any of the A system processor 202, the A system CRC circuit 209, the A system processor bus 208, the B system processor 203, the B system CRC circuit 212, and the B system processor bus 211. It is assumed that it has occurred (T705). Then, the verification circuit 214 compares the A system CRCC input from the A system CRC circuit 209 via the A system CRCC bus 210 and the B system CRCC input from the B system CRC circuit 212 via the B system CRCC bus 213. To do. Then, the collation circuit 214 determines whether or not the respective comparison results match (T706).

本ケースでは、判定結果が不一致となるので、照合回路214は、A系プロセッサ202およびB系プロセッサ203に応答を返す。また、照合回路214は、割込制御部220に照合不一致(不一致)を出力し、A系割込要因レジスタおよびB系割込要因レジスタに要因を登録する。そして、A系割込要因レジスタおよびB系割込要因レジスタにより、T607の時点でA系プロセッサ202およびB系プロセッサ203の処理がそれぞれ一次中断される。   In this case, since the determination results do not match, the collation circuit 214 returns a response to the A-system processor 202 and the B-system processor 203. The collation circuit 214 outputs a collation mismatch (mismatch) to the interrupt control unit 220 and registers the factor in the A-system interrupt factor register and the B-system interrupt factor register. Then, the processing of the A-system processor 202 and the B-system processor 203 is temporarily interrupted at the time of T607 by the A-system interrupt factor register and the B-system interrupt factor register.

以上のようにして、本ケースのような故障が生じた際、メインメモリ205へのデータの書き込みが行われなくなり、その後のプログラムの実行が割込制御部220によって中断される。   As described above, when a failure such as this case occurs, data is not written to the main memory 205, and execution of the subsequent program is interrupted by the interrupt control unit 220.

次に、照合回路214、内部バス215、CRCC内部バス216、ECC回路232、メモリバス、CRCCメモリバス218、ECCメモリバス219およびメインメモリ205のいずれかで故障が起きたときの制御装置204の動作について図8を参照して説明する。
図8は、制御装置204の動作を示すタイミングチャートである。なお、T801〜T809は図6に示すT601〜T609と同じなので、それらの説明は省略する。
Next, the controller 204 when a failure occurs in any of the verification circuit 214, internal bus 215, CRCC internal bus 216, ECC circuit 232, memory bus, CRCC memory bus 218, ECC memory bus 219, and main memory 205 The operation will be described with reference to FIG.
FIG. 8 is a timing chart showing the operation of the control device 204. Since T801 to T809 are the same as T601 to T609 shown in FIG.

T809のタイミングの直後、すなわちリード中に、照合回路214、内部バス215、CRCC内部バス216、ECC回路232、メモリバス217、CRCCメモリバス218、ECCメモリバス219およびメインメモリ205のいずれかで故障が起きているとする(T810)。   Immediately after the timing of T809, that is, during reading, a failure occurs in any of the verification circuit 214, internal bus 215, CRCC internal bus 216, ECC circuit 232, memory bus 217, CRCC memory bus 218, ECC memory bus 219, and main memory 205 Is assumed to occur (T810).

メインメモリ205は、記憶しているデータをECC回路232から入力されたアドレスに従ってメモリバスを介してECC回路232に出力する。このとき、メインメモリ205は、記憶しているECCをECC回路232から入力されたアドレスに従ってECCメモリバス219を介してECC回路232に出力するとともに、記憶しているCRCCをECC回路232から入力されたアドレスに従ってCRCCメモリバス218を介してECC回路232に出力する。そして、ECC回路232のECC計算回路404は、照合回路214から内部バス215を介して入力されたアドレスと、メインメモリ205から取得したデータおよびCRCCから新たにECCを生成してECC比較回路406に出力する。   The main memory 205 outputs the stored data to the ECC circuit 232 via the memory bus according to the address input from the ECC circuit 232. At this time, the main memory 205 outputs the stored ECC to the ECC circuit 232 via the ECC memory bus 219 in accordance with the address input from the ECC circuit 232, and the stored CRCC is input from the ECC circuit 232. The data is output to the ECC circuit 232 via the CRCC memory bus 218 according to the address. Then, the ECC calculation circuit 404 of the ECC circuit 232 newly generates an ECC from the address input from the verification circuit 214 via the internal bus 215, the data acquired from the main memory 205, and the CRCC, and sends the ECC to the ECC comparison circuit 406. Output.

ECC計算回路404は、新たに生成したECCと、メインメモリ205から読み出したECCの排他的論理和を計算することにより、前述のエラーチェックを行う。そして、エラーチェック結果をECC比較回路406およびスイッチ制御回路411に出力する。本ケースではエラーチェック結果が‘ビットエラーなし’となるので、スイッチ制御回路411は、第四切替スイッチ409の端子S13とS14を接続し、第五切替スイッチ410の端子S15とS16を接続する。すると、メインメモリ205から取得したデータが、内部バス215、照合回路214およびA系プロセッサバス208を介してA系CRC回路209のCRC計算回路302へ出力される。このとき、メインメモリ205から取得したCRCCがCRCC内部バス216、照合回路214およびA系CRCCバスを介してA系CRC回路209のデジタル比較器304に出力される。なお、メインメモリ205から取得したデータおよびCRCCは、B系CRC回路212にも同様に入力される(T811)。   The ECC calculation circuit 404 performs the error check described above by calculating the exclusive OR of the newly generated ECC and the ECC read from the main memory 205. The error check result is output to the ECC comparison circuit 406 and the switch control circuit 411. In this case, since the error check result is “no bit error”, the switch control circuit 411 connects the terminals S13 and S14 of the fourth changeover switch 409 and connects the terminals S15 and S16 of the fifth changeover switch 410. Then, the data acquired from the main memory 205 is output to the CRC calculation circuit 302 of the A system CRC circuit 209 via the internal bus 215, the verification circuit 214 and the A system processor bus 208. At this time, the CRCC acquired from the main memory 205 is output to the digital comparator 304 of the A system CRC circuit 209 via the CRCC internal bus 216, the collation circuit 214, and the A system CRCC bus. Note that the data and CRCC acquired from the main memory 205 are similarly input to the B-system CRC circuit 212 (T811).

A系CRC回路209のCRC計算回路302は、A系プロセッサバス208を介してA系プロセッサ202から入力されたアドレスおよびECC回路232から入力されるデータから新たにCRCCを生成してA系CRC回路209のデジタル比較器304に出力する。このデジタル比較器304は、新たに生成したCRCCと、ECC回路232から入力されたCRCCとを比較し、その比較結果が一致であるか否かを判定する(T812)。   The CRC calculation circuit 302 of the A-system CRC circuit 209 newly generates a CRCC from the address input from the A-system processor 202 and the data input from the ECC circuit 232 via the A-system processor bus 208 to generate an A-system CRC circuit. It outputs to the digital comparator 304 of 209. The digital comparator 304 compares the newly generated CRCC with the CRCC input from the ECC circuit 232, and determines whether or not the comparison result is coincident (T812).

一方、B系CRC回路212のCRC計算回路302は、B系プロセッサバス211を介してB系プロセッサ203から入力されたアドレスおよびECC回路232から入力されるデータから新たにCRCCを生成してB系CRC回路212のデジタル比較器304に出力する。このデジタル比較器304は、新たに生成したCRCCと、ECC回路232から入力されたCRCCとを比較し、その比較結果が一致であるか否かを判定する(T813)。   On the other hand, the CRC calculation circuit 302 of the B system CRC circuit 212 newly generates a CRCC from the address input from the B system processor 203 and the data input from the ECC circuit 232 via the B system processor bus 211 to generate the B system. The data is output to the digital comparator 304 of the CRC circuit 212. The digital comparator 304 compares the newly generated CRCC with the CRCC input from the ECC circuit 232, and determines whether or not the comparison result is coincident (T813).

本ケースでは、A系CRC回路209のデジタル比較器304およびB系CRC回路212のデジタル比較器304の両方あるいはいずれか一方が、不一致であると判定する。すると、不一致を検出した方のデジタル比較器304は、割込制御部220にCRC照合不一致(不一致)を出力し、A系割込要因レジスタあるいはB系割込要因レジスタに要因を登録する。そして、A系割込要因レジスタあるいはB系割込要因レジスタにより、T607の時点でA系プロセッサ202およびB系プロセッサ203の処理がそれぞれ一時中断される。   In this case, it is determined that the digital comparator 304 of the A system CRC circuit 209 and / or the digital comparator 304 of the B system CRC circuit 212 do not match. Then, the digital comparator 304 that has detected the mismatch outputs a CRC verification mismatch (mismatch) to the interrupt control unit 220 and registers the factor in the A-system interrupt factor register or the B-system interrupt factor register. Then, the processing of the A-system processor 202 and the B-system processor 203 is temporarily suspended at the time of T607 by the A-system interrupt factor register or the B-system interrupt factor register.

以上のようにして、本ケースのような故障が発生した際に、A系プロセッサ202およびB系プロセッサ203がデータを読み込めなくなり、その後のプログラムの実行が割込制御部220によって中断される。   As described above, when a failure such as this case occurs, the A-system processor 202 and the B-system processor 203 cannot read data, and the execution of the subsequent program is interrupted by the interrupt control unit 220.

[CPU装置の故障検出範囲]
次に、CPU装置102の故障検出範囲についてまとめる。
図9は、CPU装置102の故障検出範囲を示す表である。
図9(a)は、安全モードで稼働しているときのCPU装置102の故障検出範囲を示す表である。
[Fault detection range of CPU device]
Next, the failure detection range of the CPU device 102 will be summarized.
FIG. 9 is a table showing a failure detection range of the CPU device 102.
FIG. 9A is a table showing a failure detection range of the CPU device 102 when operating in the safety mode.

前述したように、安全モードのときにCPU装置102を構成する各ブロックおよび各バス(以下、「故障検出対象」という)の故障を検出する構成要素としてCPU装置102はA系CRC回路209、B系CRC回路212、照合回路214およびECC回路232を備えている。   As described above, as a component for detecting a failure of each block and each bus (hereinafter referred to as “failure detection target”) constituting the CPU device 102 in the safety mode, the CPU device 102 includes the A-system CRC circuit 209, B A system CRC circuit 212, a verification circuit 214, and an ECC circuit 232 are provided.

A系CRC回路209の故障検出対象は、A系プロセッサバス208と、照合回路214と、内部バス215と、CRCC内部バス216と、ECC回路232と、メモリバス217と、CRCCメモリバス218と、ECCメモリバス219と、メインメモリ205である。   The fault detection target of the A system CRC circuit 209 includes the A system processor bus 208, the collation circuit 214, the internal bus 215, the CRCC internal bus 216, the ECC circuit 232, the memory bus 217, the CRCC memory bus 218, An ECC memory bus 219 and a main memory 205.

B系CRC回路212の故障検出対象は、B系プロセッサバス211と、照合回路214と、内部バス215と、CRCC内部バス216と、ECC回路232と、メモリバス217と、CRCCメモリバス218と、ECCメモリバス219と、メインメモリ205である。   The failure detection target of the B-system CRC circuit 212 includes the B-system processor bus 211, the verification circuit 214, the internal bus 215, the CRCC internal bus 216, the ECC circuit 232, the memory bus 217, the CRCC memory bus 218, An ECC memory bus 219 and a main memory 205.

照合回路214の故障検出対象は、A系プロセッサ202、B系プロセッサ203、A系CRC回路209、B系CRC回路212、A系プロセッサバス208およびB系プロセッサバス211である。   The failure detection targets of the verification circuit 214 are the A system processor 202, the B system processor 203, the A system CRC circuit 209, the B system CRC circuit 212, the A system processor bus 208, and the B system processor bus 211.

ECC回路232の故障検出対象は、メモリバス217と、CRCCメモリバス218と、ECCメモリバス219と、メインメモリ205である。   The failure detection targets of the ECC circuit 232 are the memory bus 217, the CRCC memory bus 218, the ECC memory bus 219, and the main memory 205.

図9(b)は、テストモードで稼働しているときのCPU装置102の故障検出範囲を示す表である。テストモードでは、表に示すようなテストプログラムを動作させることにより、A系プロセッサ202、B系プロセッサ203、A系CRC回路209、B系CRC回路212、A系プロセッサバス208、B系プロセッサバス211、照合回路214、内部バス215、CRCCメモリバス218、ECC回路232、メモリバス217、CRCCメモリバス218、ECCメモリバス219およびメインメモリ205の診断を独立して行う。なお、故障検出対象は図9(a)の表に示したものと同じなので、故障検出対象に関する説明は省略する。   FIG. 9B is a table showing a failure detection range of the CPU device 102 when operating in the test mode. In the test mode, by operating a test program as shown in the table, the A system processor 202, the B system processor 203, the A system CRC circuit 209, the B system CRC circuit 212, the A system processor bus 208, and the B system processor bus 211 , The collation circuit 214, the internal bus 215, the CRCC memory bus 218, the ECC circuit 232, the memory bus 217, the CRCC memory bus 218, the ECC memory bus 219, and the main memory 205 are independently diagnosed. Since the failure detection target is the same as that shown in the table of FIG. 9A, the description regarding the failure detection target is omitted.

以上説明したように、本実施形態は、複数のプロセッサからの出力を単に比較してそれらの出力の一致/不一致を判定することにより故障を検出するだけではなく、当該比較を行う手段の故障の検出を行えるようにした。そのため、CPU装置102での処理中(安全モード時)における、当該CPU装置102を構成する各ブロックおよび各バスの故障をより確実に検出することができる。そして、故障が検出されるとすぐに、当該処理を中止するようにした。例えば、潜在的な危険性の高いプロセス設備の制御中に何らかの故障が発生しても、すぐにその制御が中断されるので、安全性をより向上させる、という効果がある。   As described above, the present embodiment not only detects a failure by simply comparing outputs from a plurality of processors and determining whether or not the outputs match, but also the failure of the means for performing the comparison. Added detection. Therefore, it is possible to more reliably detect a failure of each block and each bus constituting the CPU device 102 during processing in the CPU device 102 (in the safety mode). As soon as a failure is detected, the processing is stopped. For example, even if a failure occurs during the control of a potentially dangerous process facility, the control is immediately interrupted, so that the safety is further improved.

なお、本実施形態ではECC回路232を設けてあるが、このECC回路232を設けなくても上述したものと同様の効果が得られる。ただし、ECC回路232を設けない場合は、内部バス215とメモリバス217が接続されており、CRCC内部バス216とCRCCメモリバス218が接続されていることが必要となる。   Although the ECC circuit 232 is provided in this embodiment, the same effect as described above can be obtained without providing the ECC circuit 232. However, when the ECC circuit 232 is not provided, the internal bus 215 and the memory bus 217 are connected, and the CRCC internal bus 216 and the CRCC memory bus 218 need to be connected.

以上、本発明の実施形態の例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことはいうまでもない。   As mentioned above, although the example of embodiment of this invention was demonstrated, this invention is not limited to the said embodiment example, Unless it deviates from the summary of this invention described in the claim, other modifications Needless to say, application examples are included.

101…制御システム、102…CPU装置、103…上位装置、104…下位装置、105…制御対象、106…ネットワーク、202…A系プロセッサ、203…B系プロセッサ、204…制御装置、205…メインメモリ、206…ネットワークコントローラ、207…CRC回路、208…A系プロセッサバス、209…A系CRC回路、210…A系CRCCバス、211…B系プロセッサバス、212…B系CRC回路、213…B系CRCCバス、214…照合回路、215…内部バス、216…CRCC内部バス、217…メモリバス、218…CRCCメモリバス、219…ECCメモリバス、220…割込制御部、221…出力切替スイッチ、229…データ記憶領域、230…CRCC記憶領域、231…ECC記憶領域、232…ECC回路、302…CRC計算回路、303…スイッチ、304…デジタル比較器、402…第一切替スイッチ、403…第二切替スイッチ、404…ECC計算回路、405…第三切替スイッチ、406…ECC比較回路、408…ECC訂正回路、409…第四切替スイッチ、410…第五切替スイッチ、411…スイッチ制御回路   DESCRIPTION OF SYMBOLS 101 ... Control system, 102 ... CPU apparatus, 103 ... High-order apparatus, 104 ... Low-order apparatus, 105 ... Control object, 106 ... Network, 202 ... A system processor, 203 ... B system processor, 204 ... Control apparatus, 205 ... Main memory , 206 ... Network controller, 207 ... CRC circuit, 208 ... A system processor bus, 209 ... A system CRC circuit, 210 ... A system CRCC bus, 211 ... B system processor bus, 212 ... B system CRC circuit, 213 ... B system CRCC bus, 214 ... collation circuit, 215 ... internal bus, 216 ... CRCC internal bus, 217 ... memory bus, 218 ... CRCC memory bus, 219 ... ECC memory bus, 220 ... interrupt control unit, 221 ... output selector switch, 229 ... Data storage area, 230 ... CRCC storage area, 231 ... ECC storage 232 ... ECC circuit 302 ... CRC calculation circuit 303 ... switch 304 ... digital comparator 402 ... first changeover switch 403 ... second changeover switch 404 ... ECC calculation circuit 405 ... third changeover switch 406 ... ECC comparison circuit, 408 ... ECC correction circuit, 409 ... fourth switch, 410 ... fifth switch, 411 ... switch control circuit

Claims (2)

第一プロセッサが所定のプログラムを実行した結果としてメインメモリに格納される第一情報から第一誤り検出符号を作成し、予め前記メインメモリに記憶されている誤り検出符号である第二記憶情報と比較することで異常を検出する第一符号生成部と、
前記第一プロセッサと同一の演算結果を出力するべく構成されている第二プロセッサが前記プログラムを実行した結果として前記メインメモリに格納される第二情報から第二誤り検出符号を作成し、前記第二記憶情報と比較することで異常を検出する第二符号生成部と、
前記第一プロセッサ及び/又は前記第二プロセッサが前記メインメモリから前記第一情報あるいは前記第二情報である第一記憶情報を読み出す時、前記メインメモリから読み出した前記第一記憶情報と前記第二記憶情報に対し、必要に応じてエラー訂正を行って前記第一符号生成部及び前記第二符号生成部に供給する訂正処理部と、
前記第一符号生成部が前記第一誤り検出符号と前記第二記憶情報との不一致を検出した場合、及び/又は前記第二符号生成部が前記第二誤り検出符号と前記第二記憶情報との不一致を検出した場合、前記第一プロセッサが前記第一記憶情報を前記メインメモリから読み出す動作及び前記第二プロセッサが前記第二記憶情報を前記メインメモリから読み出す動作を禁止する、割込制御部と、
前記第一情報と前記第二情報が同一であるか否かを検出して前記割込制御部に報告すると共に、前記第一誤り検出符号と前記第二誤り検出符号が同一であるか否かを検出して前記割込制御部に報告することで、前記前記第一情報あるいは前記第二情報の前記メインメモリへの書き込みを制御する照合部と
を備える制御装置。
A first error detection code is created from first information stored in the main memory as a result of the first processor executing a predetermined program, and second storage information that is an error detection code stored in the main memory in advance A first code generation unit that detects an abnormality by comparing;
A second processor configured to output the same operation result as the first processor generates a second error detection code from second information stored in the main memory as a result of executing the program; A second code generation unit for detecting an abnormality by comparing with the two storage information;
When the first processor and / or the second processor reads the first information or the first storage information as the second information from the main memory, the first storage information read from the main memory and the second memory A correction processing unit that performs error correction on the stored information as needed and supplies the first code generation unit and the second code generation unit;
When the first code generation unit detects a mismatch between the first error detection code and the second storage information, and / or the second code generation unit includes the second error detection code and the second storage information. An interrupt control unit that prohibits an operation in which the first processor reads the first storage information from the main memory and an operation in which the second processor reads the second storage information from the main memory when a mismatch is detected When,
Whether or not the first information and the second information are the same is detected and reported to the interrupt control unit, and whether or not the first error detection code and the second error detection code are the same And a verification unit that controls writing of the first information or the second information to the main memory by detecting the error and reporting the interrupt to the interrupt control unit.
前記割込制御部割込要因レジスタを有し、前記第一符号生成部が前記第一誤り検出符号と前記第二記憶情報との不一致を検出した場合、及び/又は前記第二符号生成部が前記第二誤り検出符号と前記第二記憶情報との不一致を検出した場合、前記メインメモリ又は前記訂正処理部に起因する故障として、前記割込要因レジスタに登録すると共に、前記照合部が前記第一情報と前記第二情報との不一致を検出した場合、及び/又は前記照合部が前記第一誤り検出符号と前記第二誤り検出符号との不一致を検出した場合、前記第一符号生成部、前記第二符号生成部、前記第一プロセッサ又は前記第二プロセッサに起因する故障として、前記割込要因レジスタに登録する、
請求項1記載の制御装置。
The interrupt control unit has an interrupt factor register, and the first code generation unit detects a mismatch between the first error detection code and the second storage information, and / or the second code generation unit. Is registered in the interrupt factor register as a failure caused by the main memory or the correction processing unit when the mismatch between the second error detection code and the second storage information is detected, and the verification unit When a mismatch between the first information and the second information is detected, and / or when the matching unit detects a mismatch between the first error detection code and the second error detection code, the first code generation unit , Registering in the interrupt factor register as a failure caused by the second code generation unit, the first processor or the second processor,
The control device according to claim 1.
JP2013118170A 2013-06-04 2013-06-04 Control device Expired - Fee Related JP5563700B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013118170A JP5563700B2 (en) 2013-06-04 2013-06-04 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013118170A JP5563700B2 (en) 2013-06-04 2013-06-04 Control device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009001899A Division JP5344936B2 (en) 2009-01-07 2009-01-07 Control device

Publications (2)

Publication Number Publication Date
JP2013211049A JP2013211049A (en) 2013-10-10
JP5563700B2 true JP5563700B2 (en) 2014-07-30

Family

ID=49528738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013118170A Expired - Fee Related JP5563700B2 (en) 2013-06-04 2013-06-04 Control device

Country Status (1)

Country Link
JP (1) JP5563700B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7359543B2 (en) * 2018-12-18 2023-10-11 ファナック株式会社 Machine control device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161798A (en) * 1992-11-24 1994-06-10 Hitachi Ltd Information processor
JPH06348516A (en) * 1993-06-08 1994-12-22 Hitachi Ltd Information processor
JPH11338833A (en) * 1998-05-22 1999-12-10 Hitachi Ltd Multiprocessor type controller and scalable controller system
JP2006285631A (en) * 2005-03-31 2006-10-19 Yokogawa Electric Corp Duplex system

Also Published As

Publication number Publication date
JP2013211049A (en) 2013-10-10

Similar Documents

Publication Publication Date Title
JP5344936B2 (en) Control device
Johnson An introduction to the design and analysis of fault-tolerant systems
US10379946B2 (en) Controller
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
EP3373144A1 (en) Method and computer system for fault tolerant data integrity verification of safety-related data
JP2013175118A (en) Control device, memory failure detection method thereof and self-diagnostic method thereof
JP5563700B2 (en) Control device
KR20050121729A (en) Program-controlled unit and method
CN111033470A (en) Ensuring correct program sequence in dual processor architecture
JP6332134B2 (en) Memory diagnostic circuit
KR101983125B1 (en) Method for performing failsafe calculations
JP2014010712A (en) Electronic device, electronic device control method and electronic device control program
JP5352815B2 (en) Control apparatus and control method
JP2019191770A (en) Failure detection device and failure detection method and failure detection program
US20240013847A1 (en) Electronic circuit and method for self-diagnosis of a data memory
JP2014225110A (en) Safety controller
WO2016042751A1 (en) Memory diagnosis circuit
US10262752B2 (en) Method and apparatus for identifying erroneous data in at least one memory element
Noha Ecc handling in tmsx70-based microcontrollers
CN116931824A (en) Method for running memory unit and executing application program in computer-aided mode
KR100802666B1 (en) Circuit arrangement and method for operating such a circuit arrangement
JP2014048850A (en) Control method of duplexing input signal control device and duplexing output signal control device, duplexing input signal control device thereof and duplexing output signal control device thereof
Perrone et al. Department of Electrical Engineering Charlottesville, Virginia bwj@ virginia. edu
JPH02247756A (en) Memory device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140612

R150 Certificate of patent or registration of utility model

Ref document number: 5563700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees