JP2009282849A - Microcomputer - Google Patents
Microcomputer Download PDFInfo
- Publication number
- JP2009282849A JP2009282849A JP2008135750A JP2008135750A JP2009282849A JP 2009282849 A JP2009282849 A JP 2009282849A JP 2008135750 A JP2008135750 A JP 2008135750A JP 2008135750 A JP2008135750 A JP 2008135750A JP 2009282849 A JP2009282849 A JP 2009282849A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ecc
- error
- circuit
- memory
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 73
- 238000012937 correction Methods 0.000 claims description 28
- 238000002347 injection Methods 0.000 claims description 24
- 239000007924 injection Substances 0.000 claims description 24
- 238000003745 diagnosis Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 15
- 230000007704 transition Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012631 diagnostic technique Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本発明は、ECC(Error Correction Code)による誤り訂正機能を備えたマイクロコンピュータ、さらにはそれにおけるECC機能の診断技術に関するものである。 The present invention relates to a microcomputer having an error correction function based on ECC (Error Correction Code), and further relates to a diagnostic technique for the ECC function in the microcomputer.
ECCは、記憶装置などからデータを読み出す際、データの誤りを訂正するために本来のデータとは別に付加される冗長なデータを指しており、ECCによる誤り訂正機能は、コンピュータや通信の分野で持ち入れられているエラー訂正技術である。ある一定の情報をメモリから読み出したとき、あるいは受信したときに、その情報のエラーを検出し、最小単位の1ビットを自動的に訂正することができる。マイクロコンピュータにおいて、メモリから読み出されたデータの信頼性を向上させるには、プログラムなどのデータにECCを付加して記録し、読み出されたデータについてECCを用いて誤り訂正を行うことが有効とされる。ECC機能を実現するためのハードウェアは、ECC回路と称される。このECC回路では、ECC付き読み出しデータにエラーチェック処理を施し、読み出しデータに誤りがある場合には、その誤り訂正が行われる。そして誤り訂正が完了すると、ECCは不要であるので削除される。 ECC refers to redundant data that is added separately from the original data to correct data errors when data is read from a storage device or the like. The error correction function by ECC is used in the field of computers and communications. It is an error correction technology that has been introduced. When certain information is read from the memory or received, an error in the information can be detected and one bit of the minimum unit can be automatically corrected. In order to improve the reliability of the data read from the memory in a microcomputer, it is effective to add ECC to data such as a program and record it, and to perform error correction using the ECC for the read data It is said. Hardware for realizing the ECC function is referred to as an ECC circuit. In this ECC circuit, error check processing is performed on read data with ECC, and if there is an error in the read data, the error is corrected. When the error correction is completed, the ECC is unnecessary and is deleted.
例えば自動車の制御系などに使用されるマイクロコンピュータは、制御プログラムによって重要な制御を行っている。この制御プログラムを格納するプログラム格納用メモリの記憶内容が何らかの原因で変化した場合には、マイクロコンピュータは正しい制御を行うことができないので、危険な状態を招きかねない。従って自動車の制御系などに用いられるマイクロコンピュータのECC誤り訂正機能には高い信頼性が要求され、ECC回路自体の診断も必要とされる。 For example, a microcomputer used in an automobile control system performs important control by a control program. If the stored contents of the program storage memory for storing the control program change for some reason, the microcomputer cannot perform correct control, which may lead to a dangerous state. Accordingly, high reliability is required for the ECC error correction function of the microcomputer used in the control system of the automobile, and the ECC circuit itself needs to be diagnosed.
しかしながら、ECC回路を診断するためには、ECC回路を介して読み出したデータと期待値との比較が必要、かつECC回路を構成する論理式に基づきデータを導く必要があり、論理設計に起因するいろいろな組合せを考慮しなければならず、ソフトウェアが複雑化する。ソフトウェアが複雑化すると新たな不具合を発生させる原因になる。そこで、ECC回路を二重化し、二つのECC回路の出力信号が一致するか否かをコンパレータなどの比較器で検出することが考えられる(例えば特許文献1参照)。 However, in order to diagnose the ECC circuit, it is necessary to compare the data read through the ECC circuit with the expected value, and to derive the data based on the logical expression constituting the ECC circuit. Various combinations must be considered, and the software becomes complicated. If the software becomes complicated, it may cause new problems. Therefore, it is conceivable to duplicate the ECC circuit and detect whether or not the output signals of the two ECC circuits match with a comparator such as a comparator (for example, see Patent Document 1).
しかしながら、ECC回路を二重化し、二つのECC回路の出力信号が一致するか否かをコンパレータなどの比較器で検出する構成においては、上記比較器によって二つのECC回路の出力信号の不一致は検出できても、二重化されたECC回路の何れが故障しているのかの判定はできない。また、上記比較器で不一致が検出された場合の処理として強制的にリセットすることが考えられるが、例えば自動車の制御系などに使用されるマイクロコンピュータの場合には、リセットによって周辺回路およびマイクロコンピュータの外部に接続される各種周辺回路での処理が不所望に中断され、それによって制御対象が暴走した場合には危険な状態を招きかねない。 However, in the configuration in which the ECC circuit is duplicated and the comparator or the like detects whether or not the output signals of the two ECC circuits match, the above comparator cannot detect the mismatch of the output signals of the two ECC circuits. However, it cannot be determined which of the duplicated ECC circuits is faulty. Further, it is conceivable to forcibly reset as a process when a mismatch is detected by the comparator. For example, in the case of a microcomputer used in a control system of an automobile, the peripheral circuit and the microcomputer are reset. If the processing in various peripheral circuits connected to the outside of the device is undesirably interrupted and the control target runs away, a dangerous state may be caused.
本発明の目的は、二重化されたECC回路の何れが故障しているかの判定を可能とする技術を提供することにある。 An object of the present invention is to provide a technique that makes it possible to determine which of the duplicated ECC circuits has failed.
また本発明の別の目的は、二重化されたECC回路の何れが故障しているかを判定し、その判定結果に基づいてマイクロコンピュータの信頼性を向上させるための技術を提供することにある。 Another object of the present invention is to provide a technique for determining which of the duplicated ECC circuits has failed and improving the reliability of the microcomputer based on the determination result.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。 A representative one of the inventions disclosed in the present application will be briefly described as follows.
すなわち、メモリからデータ読み出しが行われる毎に、第1CPUは、第1比較回路での比較結果から不一致を検出したか否かを判定し、それに基づいて上記メモリにECCエラーを発生させるための所定データを書き込み、第1ECC回路の故障と第2ECC回路の故障とを判別する処理を実行する。上記処理により、上記第1ECC回路の故障と上記第2ECC回路の故障との判別が行われ、このことが、二重化されたECC回路の何れが故障しているかの判定を可能とする。 That is, every time data is read from the memory, the first CPU determines whether or not a mismatch has been detected from the comparison result in the first comparison circuit, and based on this, a predetermined error for generating an ECC error in the memory is determined. Data is written, and processing for discriminating between the failure of the first ECC circuit and the failure of the second ECC circuit is executed. By the above processing, the failure of the first ECC circuit and the failure of the second ECC circuit are discriminated, and this makes it possible to determine which of the duplicated ECC circuits has failed.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、二重化されたECC回路の何れが故障しているかの判定が可能とされる。また。二重化されたECC回路の何れが故障しているかを判定し、その判定結果に基づいてマイクロコンピュータの信頼性を向上させることができる。 That is, it is possible to determine which of the duplicated ECC circuits has failed. Also. It is possible to determine which of the duplicated ECC circuits has failed, and to improve the reliability of the microcomputer based on the determination result.
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. Representative Embodiment First, an outline of a typical embodiment of the invention disclosed in the present application will be described. The reference numerals in the drawings referred to with parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
〔1〕本発明の代表的な実施の形態に係るマイクロコンピュータ(1)は、データマットとECCマットとを含むメモリ(10)と、上記メモリのデータマットとECCマットのそれぞれにデータを書き込みおよび読み出し可能なメモリインタフェース(31、32)と、上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第1ECC回路(41)とが含まれる。また、上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第2ECC回路(42)と、上記第1ECC回路を内蔵する上記第1メモリインタフェース(31)を介して得られたデータを伝達可能な第1バス(61)と、上記第2ECC回路を内蔵する第2メモリインタフェース(32)を介して得られたデータを伝達可能な第2バス(62)とが含まれる。さらに、上記第1バスに結合され、上記第1バスを介して取り込まれたデータを処理可能な第1CPU(21)と、上記第2バスに結合され、上記第2バスを介して取り込まれたデータを処理可能な第2CPU(22)と、上記第1ECC回路の出力情報と上記第2ECC回路の出力情報とが一致するか否かの比較を可能とする第1比較回路(51)とが含まれる。そして、上記メモリからデータ読み出しが行われる毎に、上記第1CPUは、上記第1比較回路での比較結果に基づいて不一致を検出したか否かを判断し、不一致を検出した場合には、上記メモリのデータマットとECCマットのそれぞれにECCエラーを発生させるための所定データを書き込んだ後にそれを読み出し、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする故障診断処理(S209〜S222)を実行する。 [1] A microcomputer (1) according to a typical embodiment of the present invention includes a memory (10) including a data mat and an ECC mat, and writes data to each of the data mat and the ECC mat of the memory. A readable memory interface (31, 32) and a first ECC circuit (41) that performs error check of data read from the memory and corrects the error of the read data when there is an error. included. Further, an error check of the data read from the memory is performed, and if there is an error in the read data, a second ECC circuit (42) for correcting the error of the data and the first ECC incorporating the first ECC circuit. A first bus (61) capable of transmitting data obtained via the memory interface (31) and a second bus capable of transmitting data obtained via the second memory interface (32) incorporating the second ECC circuit. 2 buses (62). Further, the first CPU (21) coupled to the first bus and capable of processing the data captured via the first bus, and the second CPU coupled to the second bus and captured via the second bus. A second CPU (22) capable of processing data, and a first comparison circuit (51) capable of comparing whether or not the output information of the first ECC circuit matches the output information of the second ECC circuit. It is. Each time data is read from the memory, the first CPU determines whether or not a mismatch is detected based on the comparison result in the first comparison circuit. Failure diagnosis processing for writing predetermined data for generating an ECC error in each of the data mat and the ECC mat of the memory and then reading the data so as to distinguish between the failure of the first ECC circuit and the failure of the second ECC circuit (S209 to S222) are executed.
上記メモリからデータ読み出しが行われる毎に、上記第1CPUは、上記第1比較回路での比較結果に基づいて不一致を検出したか否かを判断し、不一致を検出した場合には、上記故障診断処理故障診断処理(S209〜S222)により、上記第1ECC回路の故障と上記第2ECC回路の故障との判別が行われる。このことが、二重化されたECC回路の何れが故障しているかの判定を可能とする。 Each time data is read from the memory, the first CPU determines whether or not a mismatch has been detected based on the comparison result of the first comparison circuit. If a mismatch is detected, the failure diagnosis is performed. By the processing failure diagnosis processing (S209 to S222), the failure of the first ECC circuit and the failure of the second ECC circuit are determined. This makes it possible to determine which of the duplicated ECC circuits has failed.
〔2〕上記〔1〕において、上記第1CPUによる故障診断処理は、上記第1比較回路での比較結果に基づいて不一致検出を把握した場合、ECCエラーを発生させるための所定データを上記メモリのデータマットとECCマットのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路及び上記第1バスを介して伝達された上記所定データを、上記所定データの誤り訂正後の期待値と比較し、その比較結果に基づいて、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする処理を含めることができる。 [2] In the above [1], when the failure diagnosis processing by the first CPU grasps the mismatch detection based on the comparison result in the first comparison circuit, predetermined data for generating an ECC error is stored in the memory. After writing to each of the data mat and the ECC mat, the data mat is read out, and the predetermined data transmitted through the first ECC circuit and the first bus is compared with an expected value after error correction of the predetermined data. Based on the comparison result, it is possible to include a process that makes it possible to discriminate between the failure of the first ECC circuit and the failure of the second ECC circuit.
〔3〕上記〔1〕において、上記メモリから読み出され、上記第1ECC回路及び上記第1バスを介して伝達された第1読み出しデータと、上記メモリから読み出され、上記第2ECC回路及び上記第2バスを介して伝達された第2読み出しデータとが一致するか否かの比較を可能とする第2比較回路(52)を含めることができる。その場合において、上記第1CPUによる故障診断処理には、上記第1比較回路での比較結果に基づいて不一致検出を把握した場合、ECCエラーを発生させるための所定データを上記メモリのデータマットとECCマットのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路及び上記第1バスを介して伝達された上記所定データを、上記所定データの誤り訂正後の期待値と比較し、その比較結果と、上記第1比較回路での比較結果と、上記第2比較回路での比較結果とに基づいて、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする処理を含めることができる。 [3] In [1], the first read data read from the memory and transmitted via the first ECC circuit and the first bus, and read from the memory, the second ECC circuit, and the A second comparison circuit (52) that can compare whether the second read data transmitted through the second bus matches or not can be included. In that case, in the failure diagnosis processing by the first CPU, when the mismatch detection is grasped based on the comparison result in the first comparison circuit, the predetermined data for generating the ECC error is set as the data mat of the memory and the ECC. After writing to each of the mats, reading it, comparing the predetermined data transmitted via the first ECC circuit and the first bus with the expected value after error correction of the predetermined data, and the comparison result; Including a process that makes it possible to discriminate between the failure of the first ECC circuit and the failure of the second ECC circuit based on the comparison result of the first comparison circuit and the comparison result of the second comparison circuit. it can.
〔4〕上記〔3〕において、上記故障診断処理は、上記所定データと上記所定データの誤り訂正後の期待値とが一致せず、且つ、上記第1読み出しデータと上記第2読み出しデータとが一致しない場合には、上記第1ECC回路の故障と判断する第1処理(S219)と、上記所定データと上記所定データの誤り訂正後の期待値とが一致し、且つ、上記第1ECC回路でのエラーチェック結果と上記第2ECC回路でのエラーチェック結果とが一致しない場合には、上記第2ECC回路の故障と判断する第2処理(S215)とを含めることができる。 [4] In the above [3], in the failure diagnosis process, the predetermined data does not match an expected value after error correction of the predetermined data, and the first read data and the second read data are If they do not match, the first process (S219) for determining that the first ECC circuit has failed, the predetermined data and the expected value after error correction of the predetermined data match, and the first ECC circuit If the error check result does not match the error check result in the second ECC circuit, a second process (S215) for determining that the second ECC circuit has failed can be included.
〔5〕上記〔4〕において、上記第1CPU(21)は、上記故障診断処理において上記第2ECC回路の故障と判断した場合、リセットしても安全な状態へ遷移するためのシステム停止処理を実行し(S216)、その後、リセット処理に遷移する(S219)ように構成することができる。 [5] In [4], when the first CPU (21) determines that the second ECC circuit has failed in the failure diagnosis process, the first CPU (21) executes a system stop process for transitioning to a safe state even if reset. (S216), and thereafter, it can be configured to shift to a reset process (S219).
このようにリセット前の安全なシステム停止処理を実行し、その処理が完了した後にリセット処理に遷移されることにより、システム全体としての信頼性をさらに向上させることができる。 Thus, by executing the safe system stop process before resetting and shifting to the reset process after the process is completed, the reliability of the entire system can be further improved.
〔6〕上記〔4〕において、上記第1CPUは、上記故障診断処理において上記第1ECC回路の故障と判断した場合、速やかにリセット処理に遷移するように構成することができる。 [6] In the above [4], the first CPU can be configured to promptly transition to a reset process when it is determined in the fault diagnosis process that the first ECC circuit has failed.
〔7〕また、別の観点によれば、本発明の代表的な実施の形態に係る別のマイクロコンピュータ(1)において、第1CPUは、ECCエラーを発生させるための所定データを上記メモリのデータマットとECCマットのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路及び上記第1バスを介して伝達された上記所定データを、上記所定データの誤り訂正後の期待値と比較し、その比較結果に基づいて、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とするエラーインジェクション処理(S202,S310〜S320)を実行するように構成することができる。 [7] According to another aspect, in another microcomputer (1) according to a representative embodiment of the present invention, the first CPU uses predetermined data for generating an ECC error as data in the memory. After writing to each of the mat and the ECC mat, it is read, and the predetermined data transmitted through the first ECC circuit and the first bus is compared with an expected value after error correction of the predetermined data, and the comparison Based on the result, it is possible to perform an error injection process (S202, S310 to S320) that makes it possible to distinguish between the failure of the first ECC circuit and the failure of the second ECC circuit.
〔8〕上記〔7〕において、上記エラーインジェクション処理は、所定の時間間隔で定期的に実行されるように構成することができる。 [8] In the above [7], the error injection processing can be configured to be periodically executed at predetermined time intervals.
〔9〕上記〔7〕において、上記エラーインジェクション処理は、上記マイクロコンピュータへの通電開始によるパワーオンリセットに起因して実行されるように構成することができる。 [9] In the above [7], the error injection process may be executed due to a power-on reset due to the start of energization of the microcomputer.
〔10〕上記〔7〕において、上記エラーインジェクション処理は、上記マイクロコンピュータのリセットに起因して実行されるように構成することができる。 [10] In the above [7], the error injection process may be executed due to resetting of the microcomputer.
2.実施の形態の説明
次に、実施の形態について更に詳述する。
2. Next, the embodiment will be described in more detail.
図4には、本発明にかかるマイクロコンピュータ(マイクロコントローラ又はマイクロプロセッサなどと称されることもある)が示される。図4に示されるマイクロコンピュータ1は、特に制限されないが、自動車の制御系システムに搭載されるもので、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。上記マイクロコンピュータ1は、特に制限されないが、第1割り込みコントローラ11、第2割り込みコントローラ12、メモリ10、第1CPU(中央処理装置)21、第2CPU22、第1メモリインタフェース31、第2メモリインタフェース32、第1比較回路51、第2比較回路52、PWMタイマ54、SCI(Serial Communication Interface)55、CAN(Controller Area Network)56、及びAD変換器57とを含む。
FIG. 4 shows a microcomputer according to the present invention (sometimes referred to as a microcontroller or a microprocessor). The microcomputer 1 shown in FIG. 4 is not particularly limited, but is mounted on a control system of an automobile, and is formed on one semiconductor substrate such as a single crystal silicon substrate by a known semiconductor integrated circuit manufacturing technique. The microcomputer 1 is not particularly limited, but includes a first interrupt
第1CPU21、第2CPU22は、それぞれメモリ10にロードされたプログラムに従って所定の演算処理を実行する。第1CPU21がメインCPUとされるとき、第2CPU22はサブCPUとされる。上記第1割り込みコントローラ11は、上記第1CPU21に対する割り込み処理を行い、上記第2割り込みコントローラ12は、上記第2CPU22に対する割り込み処理を行う。上記第1CPU21は、第1CPUバス61に結合され、この第1CPUバス61を介して各種データやアドレス信号及びコントロール信号のやり取りを可能とする。上記第2CPU21は、第2CPUバス62に結合され、この第2CPUバス62を介して各種データやアドレス信号及びコントロール信号のやり取りを可能とする。上記メモリ10は、ランダムアクセス可能なRAM(ランダム・アクセス・メモリ)とされ、上記第1CPU21や上記第2CPU22で実行されるプログラムや、そのプログラム実行に必要とされる各種データなどが格納される。上記メモリ10は、上記第1メモリインタフェース31を介して第1CPUバス61に結合される。また、上記メモリ10は、上記第2メモリインタフェース32を介して第2CPUバス62に結合される。上記第1メモリインタフェース31及び上記第2メモリインタフェース32には、ECC(Error Correction Code)回路が内蔵され、上記メモリから読み出されたデータのエラーチェックが行われ、読み出しデータに誤りがある場合には当該データの誤り訂正が行われるようになっている。また、上記第1メモリインタフェース31は、上記メモリ10のデータマット10AとECCマット10Bのそれぞれにデータを書き込む機能を有する。上記第1比較回路51は、上記第1メモリインタフェース31でのエラーチェック結果と、上記第2メモリインタフェース32でのエラーチェック結果とが一致するか否かを比較する。上記第2比較回路52は、第1メモリインタフェース31を介して上記第1CPUバス61に出力された読み出しデータと、第2メモリインタフェース32を介して第2CPUバス62に出力された読み出しデータとを比較する。上記第1CPUバス61には、バスブリッジ53を介して周辺バス63が結合される。この周辺バス57には、PWMタイマ54、SCI55、CAN56、及びAD変換器57が結合される。PWMタイマ54はPWMパルスを生成し、このPWMパルスのデューティ比を変化させる。上記PWMタイマ54は、上記PWMパルスのデューティ値パターンをセット可能なRAMと、PWMパルスの生成を可能とするPWMコントローラとを含む。上記PWMコントローラは、PWMカウンタを含み、上記PWMパルスの単位波形は、上記RAM内のデューティ値と上記PWMカウンタの出力値とのコンペアマッチにより生成され、上記コンペアマッチ毎に次のデューティ値が上記CPUの介在無しに上記RAMからロードされることで、上記PWMパルスのデューティ値の時系列変化が可能にされる。上記SCI55は、外部との間でシリアル通信を可能とする。上記CAN56は、所定のポートを介してコントロールエリアネットワークにおける各種情報のやり取りを可能とする。上記AD変換器57は、センサーなどから伝達されたアナログ信号をマイクロコンピュータ1での処理可能なディジタル信号に変換する。
Each of the
図1には、図4に示されるマイクロコンピュータにおける主要部の詳細な構成例が示される。 FIG. 1 shows a detailed configuration example of a main part of the microcomputer shown in FIG.
上記メモリ10は、データを格納するためのデータマット10Aと、このデータマット10Aに格納されたデータに対応するECCが格納されるECCマット10Bとが設けられている。上記データマット10Aからデータが読み出される場合には、それに対応するECCがECCマット10Bから読み出されるようになっている。上記第1メモリインタフェース31は上記データマット10Aと上記ECCマット10Bのそれぞれに所定データの書き込みを可能とする機能を有する。
The
上記第1メモリインタフェース31は、上記メモリ10から読み出されたデータを、それに対応するECCに基づいてエラーチェックを行い、ECCエラーを生じた場合には、最小単位の1ビットを自動的に訂正するための第1ECC回路41と、ECCエラーを生じた場合に、そのエラーにかかるデータが格納されていたメモリ10におけるアドレス(「エラーアドレス」という)を一時的に保持するための第1エラーアドレスレジスタ71とを含む。上記エラーチェックの結果は、ECCエラー情報に反映される。このECCエラー情報は、1ビットのフラグ情報とされ、第1メモリインタフェース31内の適宜のレジスタに保持される。このECCエラー情報は、特に制限されないが、ECCエラーを生じた場合には論理値“1”とされ、ECCエラーを生じていない場合には論理値“0”とされる。上記第1エラーアドレスレジスタ71の保持情報(エラーアドレス)は第1CPUバス61を介して第1CPU21に出力される。上記メモリ10からの読み出しデータ(ECCエラーを生じた場合にはエラー訂正されたデータ)は、第1CPUバス61及び第1比較回路51に出力される。また、ECCエラーの有無を示すECCエラー情報は第1比較回路51及び割り込みコントローラ11,12に出力される。そして、上記メモリ10への書き込みデータ(ECC付データ)は、第1CPUバス61から上記第1メモリインタフェース31を介して上記メモリ10のデータマット10AとECCマット10Bへ伝達される。
The
上記第2メモリインタフェース32は、上記メモリ10から読み出され、上記第1メモリインタフェース31に供給されるのと同一のデータ及びECCに基づいてエラーチェックを行い、ECCエラーを生じた場合には、最小単位の1ビットを自動的に訂正するための第2ECC回路42と、ECCエラーを生じた場合に、そのエラーにかかるデータが格納されていたメモリ10におけるアドレス(「エラーアドレス」という)を一時的に保持するための第2エラーアドレスレジスタ72とを含む。また、上記エラーチェックの結果は、ECCエラー情報に反映される。このECCエラー情報は、1ビットのフラグ情報とされ、第1メモリインタフェース31内の適宜のレジスタに保持される。このECCエラー情報は、特に制限されないが、ECCエラーを生じた場合には論理値“1”とされ、ECCエラーを生じていない場合には論理値“0”とされる。上記第2エラーアドレスレジスタ72の保持情報(エラーアドレス)は第2CPUバス62を介して第2CPU22に出力される。上記メモリ10からの読み出しデータ(ECCエラーを生じた場合にはエラー訂正されたデータ)は、第2CPUバス62及び第2比較回路52に出力される。また、ECCエラーの有無を示すECCエラー情報は第2比較回路52に出力される。このECCエラー情報も、特に制限されないが、上記第1メモリインタフェース31から出力されるのと同様に、ECCエラーを生じた場合には論理値“1”とされ、ECCエラーを生じていない場合には論理値“0”とされる。 上記第1比較回路51は、上記第1メモリインタフェース31から出力された読み出しデータと、上記第2メモリインタフェース32から出力された読み出しデータとを比較するためのコンパレータ511と、上記第1メモリインタフェース31から出力されたECCエラー情報と、上記第2メモリインタフェース32から出力されたECCエラー情報とを比較するためのコンパレータ512と、上記コンパレータ511,512の出力信号の論理和を得る論理和ゲート513とを含む。上記第1ECC回路41及び上記第2ECC回路42が正常に動作されている場合、上記第1メモリインタフェース31から出力された読み出しデータと、上記第2メモリインタフェース32から出力された読み出しデータとが一致し、上記第1メモリインタフェース31から出力されたECCエラー情報と、上記第2メモリインタフェース32から出力されたECCエラー情報とが一致する。この場合、上記コンパレータ511,512の出力信号は双方とも論理値“0”となり、論理和ゲート513の出力も論理値“0”となる。これに対して、上記第1メモリインタフェース31から出力された読み出しデータと、上記第2メモリインタフェース32から出力された読み出しデータとが不一致の場合、コンパレータ511の出力信号は論理値“1”となり、上記第1メモリインタフェース31から出力されたECCエラー情報と、上記第2メモリインタフェース32から出力されたECCエラー情報とが不一致の場合、コンパレータ512の出力信号は論理値“1”となる。従って、論理和ゲート513の出力信号が論理値“0”の場合には、第1ECC回路41及び第2ECC回路42は双方とも正常に動作しており、論理和ゲート513の出力信号(第1比較回路51の出力信号)が論理値“1”の場合には、第1ECC回路41又は第2ECC回路42が故障しているおそれがある。このような論理和ゲート513の出力信号は不一致検出信号として第1割り込みコントローラ11及び第2割り込みコントローラ12の双方に伝達される。
The
上記第2比較回路52は、上記第1メモリインタフェース31及び上記第1CPUバス61を介して伝達された読み出しデータと、上記第2メモリインタフェース32及び上記第2CPUバス62を介して伝達された読み出しデータとを比較するためのコンパレータ521を含む。上記両データが一致すればコンパレータ521の出力信号は論理値“0”となり、上記両データが不一致の場合にはコンパレータ521の出力信号は論理値“1”となる。このようなコンパレータ521の出力信号は、不一致検出信号として第1割り込みコントローラ11及び第2割り込みコントローラ12の双方に伝達される。
The
上記第1割り込みコントローラ11は、上記第1メモリインタフェース31からのECCエラー情報や、上記第1比較回路51からの不一致検出結果、上記第2比較回路52からの不一致検出結果を取り込み、所定の優先順位に従って上記第1CPU21に対する割り込み制御を行う。
The first interrupt
上記第2割り込みコントローラ12は、上記第2メモリインタフェース32からのECCエラー情報や、上記第1比較回路51からの不一致検出結果、上記第2比較回路52からの不一致検出結果を取り込み、所定の優先順位に従って上記第2CPU22に対する割り込み制御を行う。
The second interrupt
上記第1CPU21は、上記第1CPUバス61を介して上記メモリ10からの読み出しデータ(命令を含む)を取得して所定の演算処理を実行する。また、上記第1CPUバス61を介して上記第1メモリインタフェース31に対して上記メモリ10への書き込みデータを出力する。そして、上記第1CPU21は、上記第1割り込みコントローラ11からの割り込み要求に応じて、所定の割り込み処理を実行する。
The
上記第2CPU22は、上記第2CPUバス62を介して上記メモリ10からの読み出しデータ(命令を含む)を取得して所定の演算処理を実行する。また、上記第2CPUバス62を介して上記第2メモリインタフェース32に対して上記メモリ10への書き込みデータを出力する。そして、上記第2CPU22は、上記第2割り込みコントローラ12からの割り込み要求に応じて、所定の割り込み処理を実行する。
The
上記第1比較回路51からの不一致検出結果、上記第2比較回路52からの不一致検出結果は、上記第1CPU21や上記第2CPU22へも伝達されるようなっている。これによって、第1CPU21や上記第2CPU22は、上記第1比較回路51での不一致検出結果や、上記第2比較回路52での不一致検出結果を把握することができる。
The mismatch detection result from the
図2には、上記マイクロコンピュータ1における主要な処理の流れが示される。 FIG. 2 shows a main processing flow in the microcomputer 1.
上記第1CPU21及び第2CPU22では、メモリ10から取得した命令(プログラム)を実行することによって、例えば自動車における制御対象の動作を制御する。このとき、上記第1CPU21及び第2CPU22では、SCI55やACN56を介して外部との間で各種情報のやり取りを可能とする。また、各種センサーからのアナログ信号がAD変換器57を介して取り込むことができる。さらに、PWMタイマ54を制御してPWMパルスのデューティ比を変化させる。このような動作を「通常動作」という。そして、上記マイクロコンピュータ1は、必要に応じて通常動作からエラーインジェクション処理へ遷移することができる。通常動作がメインルーチンで行われるとき、上記エラーインジェクション処理はサブルーチンで行われる。このようなエラーインジェクション処理は、上記マイクロコンピュータ1の信頼性をさらに向上させるために、所定の時間間隔(例えば10分間隔)で定期的に実施される。例えば上記第1CPU21及び第2CPU22では、エラーインジェクション処理を実施するか否かの判別が行われ(S201)、この判別に基づいて、通常動作からエラーインジェクション処理に遷移される。尚、上記エラーインジェクション処理については、後に図3を参照しながら詳述する。
The
上記エラーインジェクション処理が終了されて通常動作が再開され(S203)、上記第1CPU21及び第2CPU22によるメモリアクセスが発生すると(S204)、このメモリアクセスがメモリ10からのリードアクセスか否かの判別が行われ(S205)、リードアクセスの場合には、上記第1比較回路51および上記第2比較回路52において不一致検出が行われる(S206)。メモリ10からのリードアクセスにて上記第1比較回路51の不一致または上記第2比較回路52の不一致を検出した場合には、不一致検出結果が論理値“1”とされ、それに基づいて第1割り込みコントローラ11及び第2割り込みコントローラ12によって、それぞれ第1CPU21及び第2CPU22に対して割り込み要求が発生される(S207)。この割り込み要求を受けて、第1CPU21及び第2CPU22では、当該割り込み要求に対して直ぐにリセットする必要があるか否かの判別が行われる(S208)。当該割り込み要求に対して、直ぐにリセットする必要が無いと判断された場合は、故障診断処理に遷移される。この故障診断処理は、ステップS209〜S222の処理を含む。
When the error injection process is finished and normal operation is resumed (S203), and memory access by the
上記故障診断処理は以下のように行われる。 The failure diagnosis process is performed as follows.
不一致を検出した場合、不一致が発生したメモリアドレスがエラーアドレスレジスタ71,72に保持されているため、このエラーアドレスが、第1CPU21及び第2CPU22により読み出される(S209)。そして、第1CPU21は、上記メモリ10における上記エラーアドレスのデータマット10AとECCマット10Bのそれぞれに、ECCエラーを発生させるための所定データ(読み出された際にECCエラーとなってしまうデータを意味し、以下、それを「テストデータ」と称する)を書き込む(S210)。そして、上記第1CPU21は、上記ECCエラーを発生させるためのテストデータが第1ECC回路41によってエラー訂正された場合の期待値を、上記第1CPU21内の適宜のレジスタに保持する(S211)。次に第1CPU21は、上記第1メモリインタフェース31を介して上記メモリ10から上記テストデータを読出しを行う(S212)。このとき、第1ECC回路41では、上記メモリ10から読み出されたテストデータのエラー訂正が行われる。第1CPU21は、上記第1ECC回路41でエラー訂正が行われたテストデータと、上記ステップS211で内部の適宜のレジスタに格納しておいた期待値とを比較する(S213)。この比較において、エラー訂正が行われたテストデータと期待値とが不一致であると判断された場合には、第2比較回路52での比較結果は一致か否かの判別が行われる(S217)。この判別において、第2比較回路52での比較結果は不一致であると判断された場合には、第1ECC回路41が故障していると判断し(S219)、この場合には、第1CPU21によるリセット処理に遷移される(S220)。また、上記ステップS217の判別において、第2比較回路52での比較結果は一致すると判断された場合には、第2比較回路52の故障と判断し(S218)、第1CPU21によるリセット処理に遷移される(S220)。さらに、上記ステップS213の判別において、エラー訂正が行われたテストデータと期待値とが一致すると判断された場合には、上記第1比較回路51での比較結果は一致か否かの判別が行われる(S214)。この判別において、上記第1比較回路51での比較結果は不一致であると判断された場合、上記第2ECC回路42の故障が疑われるが(S215)、上記第1ECC回路41は正常であり、第1メモリインタフェース31を介することにより正しいデータを取得できることから、直ちにリセット処理に遷移する必要はなく、むしろ、リセット前の安全なシステム停止処理を実行し(S216)、その処理が完了した後にリセットする(S220)ようにしたほうが、システム全体としての信頼性を向上させる上で好ましい。ここで、「リセット前の安全なシステム停止処理」とは、直ちにシステムがリセットされた場合に不都合を生ずる場合の回避措置であり、例えば現在、モータのPWM制御中であれば、当該モータの回転を安全に停止させるための処理を挙げることができる。また、SCI55やCAN56を介して通信が行われている場合には、当該通信が終了するまでリセットするのを待ったほうが良い場合があり、かかる場合においては、通信が終了するまでリセットするのを待たせる処理も、上記ステップS216における「リセット前の安全なシステム停止処理」に含めることができる。さらに、A/D変換器57によって入力アナログ信号のA/D変換処理が行われている場合には、当該A/D変換処理が終了するまでリセットするのを待たせる処理も、上記ステップS216における「リセット前の安全なシステム停止処理」に含めることができる。
When a mismatch is detected, the memory address where the mismatch occurred is held in the error address registers 71 and 72, so this error address is read by the
また、上記ステップS214の判別において、上記第1比較回路51での比較結果は一致すると判断された場合、故障ではないにもかかわらず、何らかの原因で一時的に故障検出されたと考えられるため(S221)、リセットするか否かの判別を行う(S222)。この判別においてリセットの必要がある(yes)と判断された場合には、リセット前の安全なシステム停止処理を行った後にリセットされる(S216,S220)。また、上記ステップS222の判別において、リセットの必要はない(no)と判断された場合には、故障診断処理が終了され、通常動作が開始される(S203)。
In the determination in step S214, if it is determined that the comparison results in the
上記故障診断処理が実行されることで、第1CC回路41及び第2ECC回路42の何れが故障しているのかを判定することができ、しかも故障の場合にはシステムがリセットされることで、エラーにかかるデータに基づく不所望な処理が回避され、また、必要に応じてリセット要求前の安全なシステム停止処理(S216)が行われることで、マイクロコンピュータ1による動作制御の信頼性の向上を図ることができる。
By executing the fault diagnosis process, it is possible to determine which of the
次に、上記ステップS202のエラーインジェクション処理について、図3を参照しながら説明する。上記ステップS202のエラーインジェクション処理は、ECCエラーを発生させるためのテストデータを上記メモリ10のデータマット10AとECCマット10Bのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路41及び上記第1CPUバスを介して伝達された上記テストデータを、上記テストデータの誤り訂正後の期待値と比較し、その比較結果に基づいて、上記第1ECC回路41の故障と上記第2ECC回路42の故障との判別を可能とするもので、基本的には図2における故障診断処理と同様の処理とされる。ただし、上記ステップS202のエラーインジェクション処理では、通常動作における上記メモリ10へのリードアクセスの有無にかかわらず、任意のアドレスのデータマットとECCマットのそれぞれにテストデータの書き込みが行われる点が大きく相違する。すなわち、上記ステップS202のエラーインジェクション処理では、図3に示されるように、第1CPU21によって、上記メモリ10における任意のアドレスのデータマットとECCマットのそれぞれに、ECCエラーを発生させるためのテストデータの書き込みが行われる(S310)。そして、上記第1CPU21は、上記ECCエラーを発生させるためのテストデータが第1ECC回路41によってエラー訂正された場合の期待値を、上記第1CPU21内の適宜のレジスタに保持する(S311)。次に第1CPU21は、上記第1メモリインタフェース31を介して上記メモリ10から上記テストデータを読出しを行う(S312)。このとき、第1ECC回路41では、上記メモリ10から読み出されたテストデータのエラー訂正が行われる。第1CPU21は、上記第1ECC回路41でエラー訂正が行われたテストデータと、上記ステップS211で内部の適宜のレジスタに格納しておいた期待値とを比較する(S313)。この比較において、エラー訂正が行われたテストデータと期待値とが不一致であると判断された場合には、第2比較回路52での比較結果は一致か否かの判別が行われる(S317)。この判別において、第2比較回路52での比較結果は不一致であると判断された場合には、第1ECC回路41が故障していると判断し(S319)、この場合には、第1CPU21によるリセット処理に遷移される(S320)。また、上記ステップS317の判別において、第2比較回路52での比較結果は一致すると判断された場合には、第2比較回路52の故障と判断し(S318)、第1CPU21によるリセット処理に遷移される(S320)。さらに、上記ステップS313の判別において、エラー訂正が行われたテストデータと期待値とが一致すると判断された場合には、上記第1比較回路51での比較結果は一致か否かの判別が行われる(S314)。この判別において、上記第1比較回路51での比較結果は不一致であると判断された場合、上記第2ECC回路42の故障と判断し(S315)、リセット前の安全なシステム停止処理が行われ(S316)、その処理が完了した後にリセット処理に遷移される(S320)。ここで、リセット前の安全なシステム停止処理とは、直ちにシステムがリセットされた場合に不都合を生ずる場合の回避措置であり、その具体例は図2におけるステップ216の場合と同様とされる。
Next, the error injection process in step S202 will be described with reference to FIG. In the error injection process in step S202, test data for generating an ECC error is written in each of the
また、上記ステップS314の判別において、上記第1比較回路51での比較結果は一致すると判断された場合には、本サブルーチンによるエラーインジェクション処理が終了され、図2に示されるメインルーチンに戻され、通常動作が開始される(S203)。
If it is determined in step S314 that the comparison results in the
このようなエラーインジェクション処理が、所定の時間間隔で定期的に実行されることで、第1CC回路41及び第2ECC回路42の何れが故障しているのかを判定することができ、しかも故障の場合にはシステムがリセットされることで、エラーにかかるデータに基づく不所望な処理が回避され、また、必要に応じてリセット要求前の安全なシステム停止処理(S316)が行われることで、マイクロコンピュータ1による動作制御の信頼性の向上を図ることができる。
Such error injection processing is periodically executed at predetermined time intervals, so that it is possible to determine which of the
上記の例によれば、以下の作用効果を得ることができる。 According to the above example, the following effects can be obtained.
(1)上記メモリ10からデータ読み出しが行われる毎に、上記第1CPU21は、第1比較回路52での比較結果に基づいてECCエラーを生じたか否かを判断し、ECCエラーを生じた場合には、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする故障診断処理故障診断処理(S209〜S222)が行われることで、二重化されたECC回路の何れが故障しているかの判定を行うことができる。
(1) Each time data is read out from the
(2)上記ステップS217の判別において、第2比較回路52での比較結果は一致すると判断された場合には、第2比較回路52の故障と判断し(S218)、第1CPU21によるリセット処理に遷移される(S220)。さらに、上記ステップS213の判別において、エラー訂正が行われたテストデータと期待値とが一致すると判断された場合には、上記第1比較回路51での比較結果は一致か否かの判別が行われる(S214)。この判別において、上記第1比較回路51での比較結果は不一致であると判断された場合には、直ちにリセット処理に遷移する必要はなく、リセット前の安全なシステム停止処理を実行し(S216)、その処理が完了した後にリセット処理に遷移される(S220)ことにより、システム全体としての信頼性をさらに向上させることができる。
(2) If it is determined in step S217 that the comparison results in the
(3)エラーインジェクション処理(S202)が所定の時間間隔で定期的に実施されることにより、上記マイクロコンピュータ1の信頼性をさらに向上させることができる。 (3) Since the error injection process (S202) is periodically performed at predetermined time intervals, the reliability of the microcomputer 1 can be further improved.
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.
例えば、電源投入に起因して行われるパワーオンリセットや、割り込み等のリセット処理の際に、上記エラーインジェクション処理(S202)が行われるようにしても良い。このようにすることで、上記マイクロコンピュータ1の信頼性をさらに向上させることができる。 For example, the error injection process (S202) may be performed at the time of a power-on reset performed due to power-on or a reset process such as an interrupt. By doing so, the reliability of the microcomputer 1 can be further improved.
1 マイクロコンピュータ
10 メモリ
10A データマット
10B ECCマット
11 第1割り込みコントローラ
12 第2割り込みコントローラ
21 第1CPU
22 第2CPU
31 第1メモリインタフェース
32 第2メモリインタフェース
41 第1ECC回路
42 第2ECC回路
51 第1比較回路
52 第2比較回路
61 第1CPUバス
62 第2CPUバス
DESCRIPTION OF SYMBOLS 1
22 Second CPU
31
Claims (10)
上記メモリのデータマットとECCマットのそれぞれにデータを書き込み可能な第1メモリインタフェースと、
上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第1ECC回路と、
上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第2ECC回路と、
上記第1ECC回路を介して得られたデータを伝達可能な第1バスと、
上記第2ECC回路を介して得られたデータを伝達可能な第2バスと、
上記第1バスに結合され、上記第1バスを介して取り込まれたデータを処理可能な第1CPUと、
上記第2バスに結合され、上記第2バスを介して取り込まれたデータを処理可能な第2CPUと、
上記第1ECC回路の出力情報と上記第2ECC回路の出力情報とが一致するか否かの比較を可能とする第1比較回路と、を含み、
上記メモリからデータ読み出しが行われる毎に、上記第1CPUは、上記第1比較回路での比較結果に基づいて不一致を検出したか否かを判断し、不一致を検出た場合には、上記メモリのデータマットとECCマットのそれぞれにECCエラーを発生させるための所定データを書き込み、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする故障診断処理を実行するものであることを特徴とするマイクロコンピュータ。 A memory including a data mat capable of storing data and an ECC mat;
A first memory interface capable of writing data to each of the memory data mat and the ECC mat;
A first ECC circuit that performs an error check on the data read from the memory and corrects the error of the data if there is an error in the read data;
A second ECC circuit that performs an error check on the data read from the memory and corrects the error of the data if there is an error in the read data;
A first bus capable of transmitting data obtained via the first ECC circuit;
A second bus capable of transmitting data obtained via the second ECC circuit;
A first CPU coupled to the first bus and capable of processing data captured via the first bus;
A second CPU coupled to the second bus and capable of processing data captured via the second bus;
A first comparison circuit enabling comparison of whether the output information of the first ECC circuit and the output information of the second ECC circuit match,
Each time data is read from the memory, the first CPU determines whether or not a mismatch is detected based on the comparison result in the first comparison circuit. If a mismatch is detected, the first CPU Predetermined data for generating an ECC error is written in each of the data mat and the ECC mat, and a failure diagnosis process is executed that enables discrimination between the failure of the first ECC circuit and the failure of the second ECC circuit. A microcomputer characterized by.
上記第1CPUによる故障診断処理は、上記第1比較回路での比較結果に基づいてECCエラーを把握した場合、ECCエラーを発生させるための所定データを上記メモリのデータマットとECCマットのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路及び上記第1バスを介して伝達された上記所定データを、上記所定データの誤り訂正後の期待値と比較し、その比較結果と、上記第1比較回路での比較結果と、上記第2比較回路での比較結果とに基づいて、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とする処理を含む請求項1記載のマイクロコンピュータ。 First read data read from the memory and transmitted via the first ECC circuit and the first bus, and read from the memory and transmitted via the second ECC circuit and the second bus A second comparison circuit that enables comparison of whether or not the second read data matches,
In the failure diagnosis processing by the first CPU, when an ECC error is grasped based on the comparison result of the first comparison circuit, predetermined data for generating the ECC error is written in each of the data mat and the ECC mat of the memory. Thereafter, it is read out, the predetermined data transmitted via the first ECC circuit and the first bus is compared with an expected value after error correction of the predetermined data, and the comparison result is compared with the first comparison circuit. The microcomputer according to claim 1, further comprising: a process that makes it possible to distinguish between a failure in the first ECC circuit and a failure in the second ECC circuit based on the comparison result in step 1 and the comparison result in the second comparison circuit. .
上記所定データと上記所定データの誤り訂正後の期待値とが一致し、且つ、上記第1ECC回路でのエラーチェック結果と上記第2ECC回路でのエラーチェック結果とが一致しない場合には、上記第2ECC回路の故障と判断する第2処理と、を含む請求項3記載のマイクロコンピュータ。 In the failure diagnosis process, if the predetermined data does not match the expected value after error correction of the predetermined data, and the first read data and the second read data do not match, the first ECC A first process for determining a circuit failure;
If the predetermined data and the expected value after error correction of the predetermined data match and the error check result in the first ECC circuit does not match the error check result in the second ECC circuit, the first data The microcomputer according to claim 3, further comprising: a second process for determining that the 2ECC circuit is faulty.
上記メモリのデータマットとECCマットのそれぞれにデータを書き込み可能な第1メモリインタフェースと、
上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第1ECC回路と、
上記メモリから読み出されたデータのエラーチェックを行い、読み出しデータに誤りがある場合には当該データの誤り訂正を行う第2ECC回路と、
上記第1ECC回路を介して得られたデータを伝達可能な第1バスと、
上記第2ECC回路を介して得られたデータを伝達可能な第2バスと、
上記第1バスに結合され、上記第1バスを介して取り込まれたデータを処理可能な第1CPUと、
上記第2バスに結合され、上記第2バスを介して取り込まれたデータを処理可能な第2CPUと、を含み、
上記第1CPUは、ECCエラーを発生させるための所定データを上記メモリのデータマットとECCマットのそれぞれに書き込んだ後にそれを読み出し、上記第1ECC回路及び上記第1バスを介して伝達された上記所定データを、上記テストデータの誤り訂正後の期待値と比較し、その比較結果に基づいて、上記第1ECC回路の故障と上記第2ECC回路の故障との判別を可能とするエラーインジェクション処理を実行するものであることを特徴とするマイクロコンピュータ。 A memory including a data mat capable of storing data and an ECC mat;
A first memory interface capable of writing data to each of the memory data mat and the ECC mat;
A first ECC circuit that performs an error check on the data read from the memory and corrects the error of the data if there is an error in the read data;
A second ECC circuit that performs an error check on the data read from the memory and corrects the error of the data if there is an error in the read data;
A first bus capable of transmitting data obtained via the first ECC circuit;
A second bus capable of transmitting data obtained via the second ECC circuit;
A first CPU coupled to the first bus and capable of processing data captured via the first bus;
A second CPU coupled to the second bus and capable of processing data captured via the second bus;
The first CPU writes predetermined data for generating an ECC error to each of the data mat and the ECC mat of the memory and then reads the predetermined data and transmits the predetermined data transmitted via the first ECC circuit and the first bus. The data is compared with the expected value after error correction of the test data, and based on the comparison result, an error injection process is executed that makes it possible to discriminate between the failure of the first ECC circuit and the failure of the second ECC circuit. A microcomputer characterized by being a thing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008135750A JP2009282849A (en) | 2008-05-23 | 2008-05-23 | Microcomputer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008135750A JP2009282849A (en) | 2008-05-23 | 2008-05-23 | Microcomputer |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009282849A true JP2009282849A (en) | 2009-12-03 |
Family
ID=41453225
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008135750A Withdrawn JP2009282849A (en) | 2008-05-23 | 2008-05-23 | Microcomputer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009282849A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8682501B2 (en) | 2012-05-31 | 2014-03-25 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
| EP3480958A1 (en) | 2017-11-07 | 2019-05-08 | Renesas Electronics Corporation | Bus bridge with improved fault detection |
-
2008
- 2008-05-23 JP JP2008135750A patent/JP2009282849A/en not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8682501B2 (en) | 2012-05-31 | 2014-03-25 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
| US9043046B2 (en) | 2012-05-31 | 2015-05-26 | Renesas Electronics Corporation | Data processing device, microcontroller, and self-diagnosis method of data processing device |
| EP3480958A1 (en) | 2017-11-07 | 2019-05-08 | Renesas Electronics Corporation | Bus bridge with improved fault detection |
| KR20190051835A (en) | 2017-11-07 | 2019-05-15 | 르네사스 일렉트로닉스 가부시키가이샤 | Semiconductor device and semiconductor system including the same |
| US10891186B2 (en) | 2017-11-07 | 2021-01-12 | Renesas Electronics Corporation | Semiconductor device and semiconductor system including the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9207661B2 (en) | Dual core architecture of a control module of an engine | |
| US10281525B2 (en) | Semiconductor device and diagnostic test method for both single-point and latent faults using first and second scan tests | |
| US10062451B2 (en) | Background memory test apparatus and methods | |
| JP2015018414A (en) | Microcomputer | |
| JP6658417B2 (en) | Electronic control unit | |
| KR102131230B1 (en) | Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof | |
| JP6729407B2 (en) | Microcomputer | |
| CN105868060A (en) | Method for operating a data processing unit of a driver assistance system and data processing unit | |
| JP2009282849A (en) | Microcomputer | |
| JP2015035121A (en) | Semiconductor integrated circuit device | |
| JP5978873B2 (en) | Electronic control unit | |
| US11831337B2 (en) | Semiconductor device and error detection methods | |
| JP6588068B2 (en) | Microcomputer | |
| US20220222135A1 (en) | Electronic control device | |
| JP2006259935A (en) | Computation device with computation abnormality determination function | |
| JP2000259444A (en) | Data processor and its testing method | |
| JP4411600B2 (en) | Duplex system | |
| JP4422076B2 (en) | Data processing device, electronic control unit, and automobile | |
| JP2000035923A (en) | Abnormality detecting method and abnormality detecting device | |
| CN101311909A (en) | Method for diagnosing system abnormality | |
| CN116700224B (en) | Method and device for detecting functional safety mechanism failure of vehicle | |
| JP2011232910A (en) | Memory diagnosis system | |
| JP5924195B2 (en) | Electronic equipment | |
| JP4842036B2 (en) | Semiconductor device and abnormality detection method of timing control circuit | |
| JP3009238B2 (en) | Register failure detection device for microcomputer addition |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100527 |
|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110802 |