JP4003420B2 - 演算装置 - Google Patents
演算装置 Download PDFInfo
- Publication number
- JP4003420B2 JP4003420B2 JP2001229218A JP2001229218A JP4003420B2 JP 4003420 B2 JP4003420 B2 JP 4003420B2 JP 2001229218 A JP2001229218 A JP 2001229218A JP 2001229218 A JP2001229218 A JP 2001229218A JP 4003420 B2 JP4003420 B2 JP 4003420B2
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- calculation
- microcomputer
- executed
- run pulse
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の属する技術分野】
本発明は、演算装置に関するものである。
【0002】
【従来の技術】
従来、車両において例えば電動パワーステアリング装置のモータ制御等を行う電子制御装置では、そのマイクロコンピュータが所定の制御ルーチンを一定の制御周期内で正常に実行しているか否かをウォッチドッグタイマ回路を用いて監視している。
【0003】
マイクロコンピュータは、制御ルーチンを実行する過程で、この制御ルーチンの各制御処理に対応して設けられている判定フラグを正常状態又は異常状態のいずれかに設定する。そして、1回又は数回の制御ルーチンを実行する毎に周期的に実行する制御監視ルーチンにおいて各判定フラグの状態を判定し、全ての判定フラグが正常状態であったときには、ウォッチドッグタイマ回路に接続されたウォッチドッグ端子の信号状態(ハイレベル又はローレベル)を切り替える。このため、ウォッチドッグタイマ回路に制御監視ルーチンの周期で切り替わるランパルス信号(ウォッチドッグパルス)が出力され、ウォッチドッグタイマ回路がマイクロコンピュータの作動を許容する。
【0004】
一方、マイクロコンピュータは、制御監視ルーチンにおいて、少なくとも1つの判定フラグが異常状態であったときには、ウォッチドッグ端子の信号状態を前回のままとし、あるいは、ランパルス信号の出力自体を停止する。このため、制御監視ルーチンの周期で切り替わるランパルス信号が入力されなくなることから、ウォッチドッグタイマ回路がマイクロコンピュータをリセットする。その結果、マイクロコンピュータが制御ルーチンを所定の制御時間内に実行できなかったときには、制御ルーチンの実行が外部から中止される。
【0005】
【発明が解決しようとする課題】
ところが、マイクロコンピュータを構成するCPUの演算回路(ALU)や、ROMあるいはRAMのメモリが何らかの理由で正常に機能しないことがある。例えば、RAMへのデータ書き換えができないことがある。この場合、制御ルーチンで実行する演算処理において誤った演算結果が出されるにも拘らず、制御ルーチンは所定の制御時間内に実行される。従って、各判定フラグは正常状態に設定され、ランパルス信号が制御監視ルーチンの周期で切り替わる。その結果、マイクロコンピュータがウォッチドッグタイマ回路によってリセットされず、間違った演算結果に基づく制御が実行されることになる。
【0006】
本発明は、上記課題を解決するためになされたものであって、その目的は、演算装置の演算処理が正常に実行されず演算結果が誤っている可能性があるときに演算処理の実行を中止することができる演算装置を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するため、請求項1に記載の発明は、演算処理を含む所定の制御処理を繰り返し実行する演算手段と、ハイレベル及びローレベルの2つの信号状態を取るランパルス信号を出力するランパルス生成手段と、前記ランパルス生成手段が出力する前記ランパルス信号の信号状態を切り替えるようにランパルスフラグの値を設定する監視手段とを備え、前記演算手段は、前記制御処理を所定の処理時間内に実行できたか否かを判定し、前記ランパルス生成手段は、前記処理時間内に実行できたことを示す判定結果が得られた場合は、前記ランパルスフラグの値に対応する信号状態の前記ランパルス信号を出力し、前記処理時間内に実行できなかったことを示す判定結果が得られた場合は、前記ランパルス信号の出力を停止し、前記監視手段は、前記演算手段によって演算可能な所定の演算問題を所定の監視周期毎に前記演算手段に演算させてその演算結果を取得し、前記演算結果と、前記演算問題に対して予め設定された答えとを照合することで前記演算処理が正常に実行されたか否かを判定し、前記演算処理が正常に実行されたときには、前記ランパルス信号の前記信号状態を前記監視周期の自然数倍からなる切替周期で切り替えるように前記ランパルスフラグの値を設定することを特徴とする。
【0008】
請求項1に記載の発明によれば、演算手段が演算処理を正常に実行できない可能性があるときには、ランパルス生成手段が出力するランパルス信号の信号状態が所定の切替周期で切り替わらなくなる。従って、ランパルス信号を外部で監視し、演算処理が正常に実行できない可能性があるときに演算手段に演算処理を外部から中止させることが可能となる。その結果、演算装置の演算処理が正常に実行されず演算結果が誤っている可能性があるときに演算処理の実行を中止することができる。さらに、制御処理が処理時間内に実行できなかったときにはランパルス信号の出力が停止される。従って、ランパルス信号を外部で監視し、演算手段が演算処理を所定の処理時間内に実行できなかったときに演算手段の演算処理を外部から中止させることが可能となる。その結果、演算装置の演算処理が処理時間内に実行されなかったときに演算処理の実行を中止することができる。
【0011】
請求項2に記載の発明は、請求項1に記載の発明において、前記演算問題として、その演算問題に対する正しい答えが設定された第1演算問題と、その演算問題に対する誤った答えが設定された第2演算問題とが用いられ、前記監視手段は、前記第1演算問題に対する演算結果がその答えに一致するか否か、又は、前記第2演算問題に対する演算結果がその答えに一致しないか否かによって前記演算処理が正常に実行されたか否かを判定することを特徴とする。
【0012】
請求項2に記載の発明によれば、請求項1に記載の発明の作用に加えて、演算装置が演算処理を正常に実行しない可能性があるときに、その演算処理の実行をより確実に中止することができる。
【0013】
請求項3に記載の発明は、請求項2に記載の発明において、前記監視手段は、前記第1演算問題と前記第2演算問題とを交互に前記演算手段に演算させ、前記第1演算問題に対する演算結果がその答えに一致するときと、前記第2演算問題に対する演算結果がその答えに一致しないときに、前記ランパルス信号の信号状態を前記監視周期で切り替えるように前記ランパルスフラグの値を設定することを特徴とする。
【0014】
請求項3に記載の発明によれば、請求項2に記載の発明の作用に加えて、演算手段が演算処理を正常に実行できない可能性があるときには、ランパルス生成手段が出力するランパルス信号の信号状態が監視周期で切り替わらなくなる。従って、ランパルス信号の信号状態を監視周期の2倍以上の自然数倍からなる切替周期で切り替える場合に比較して、演算処理が正常に実行できない可能性があるときにより早い時点で演算手段に演算処理を外部から中止させることが可能となる。
【0015】
請求項4に記載の発明は、請求項1〜請求項3のいずれか一項に記載の発明において、前記演算手段及びランパルス生成手段は、第1コンピュータからなり、前記監視手段は、第2コンピュータからなることを特徴とする。
【0016】
請求項4に記載の発明によれば、請求項1〜請求項3のいずれか一項に記載の発明の作用に加えて、第1コンピュータが実行する演算処理が正常であるか否かが第2コンピュータによって監視される。従って、演算処理を行う第1コンピュータの負荷を増大させることなく、第2コンピュータによって第1コンピュータが実行する演算処理を監視することができる。
【0017】
請求項5に記載の発明は、請求項1〜請求項4のいずれか一項に記載の発明において、前記ランパルス信号の前記信号状態が前記切替周期で切り替わらなかったときには前記演算手段に前記制御処理の実行を中止させる演算制御手段を備えていることを特徴とする。
【0018】
請求項5に記載の発明によれば、請求項1〜請求項4のいずれか一項に記載の発明の作用に加えて、演算手段が演算処理を正常に実行できない可能性があるときには、演算手段が実行する制御処理が演算制御手段によって中止される。
【0019】
【発明の実施の形態】
(第1実施形態)
以下、本発明を車両用の電子制御装置に具体化した第1実施形態を図1〜図5に従って説明する。
【0020】
本実施形態の演算装置としての電子制御装置10は、車両において例えば電動パワーステアリング装置のモータ制御御等の車両制御を行うためのものである。図2に示すように、電子制御装置10は、同一の図示しない回路基板上に実装されたメインマイクロコンピュータ(以下、メインマイコンという。)11、サブマイクロコンピュータ(以下、サブマイコンという。)12、ウォッチドッグタイマ13等によって構成されている。尚、メインマイコン11及びサブマイコン12は、それぞれ1チップマイコンである。本実施形態では、メインマイコン11が演算手段、ランパルス生成手段及び第1コンピュータであり、サブマイコン12が監視手段及び第2コンピュータである。また、ウォッチドッグタイマ13が演算制御手段である。
【0021】
メインマイコン11は前記車両制御を行うためのものであって、メインCPU14、ROM15、RAM16等から構成されている。メインマイコン11は、車両制御を行うためのメイン制御ルーチンを所定の処理周期(例えば500μsec.)のタイマ割り込みで繰り返し実行する。
【0022】
メイン制御ルーチンは、図4に示すように、順次実行されるn個の制御処理プログラムを備えている。各制御処理プログラムに従って実行される第1処理〜第n処理は、それぞれ予め設定された処理時間内に実行されるように設定されている。即ち、各処理は通常それぞれの処理時間内に実行されるようになっているが、何らかの問題があると処理時間内に実行できないことがある。この状態を検出するため、各制御処理プログラムにはそれぞれに判定フラグFLG1,FLG2,…,FLGnが設けられている。各判定フラグFLG1〜FLGnは、対応する制御処理がその処理時間内で実行できたか否かをその制御処理の実行毎に判定して記録するために設けられている。
【0023】
メイン制御ルーチンに従って実行するメイン制御処理として、メインCPU14は、図4に示すように、先ずS11で各判定フラグFLG1〜FLGnを「1」に設定した後、S12〜Snで、各制御処理プログラムに従う制御処理を順次実行する。各制御処理において、メインCPU14は、図示しないセンサ等の出力値や、他の電子制御装置から送信されるデータ等の入力情報を入力変数とする所定の演算処理を実行し、演算結果に基づく制御情報を各種制御機器あるいは他の電子制御装置に出力する。そして、メインCPU14は、各制御処理を実行する毎に、実行した制御処理がその処理時間内で終了したときにはその制御処理に対応する判定フラグFLG1〜FLGnを「0」に設定する。反対に、各制御処理がその処理時間内で終了しなかったときには対応する判定フラグFLG1〜FLGnを「1」に設定する。メインCPU14は、全ての制御処理を実行するとメイン制御ルーチンを終了する。
【0024】
また、メインCPU14は、メイン制御ルーチンの各制御処理プログラムをそれぞれ所定の処理時間内で実行できたか否かを判定するためのランパルス生成ルーチンを所定の判定周期毎に繰り返し実行する。本実施形態では、判定周期は、メイン制御ルーチンの処理周期の2倍の長さ(1msec.)に設定されている。
【0025】
ランパルス生成ルーチンに従って実行するランパルス生成処理として、メインCPU14は、図5に示すように、S21〜S(20+n)で、各判定フラグFLG1〜FLGnが「0」であるか否かを順次判定する。そして、全ての判定フラグFLG1〜FLGnが「0」であったときには、S(21+n)で、サブマイコン12が設定するランパルスフラグRPFLGに基づいて設定した信号状態をランパルス信号SRPの信号状態としてウォッチドッグタイマ13に出力する。詳述すると、ランパルスフラグRPFLGが「1」であるときには、信号状態を「H」レベルとして出力し、また、ランパルスフラグRPFLGが「0」であるときには、信号状態を「L」レベルとして出力する。即ち、メインマイコン11は、「H」及び「L」レベルの2つの信号状態を取るランパルス信号SRPを出力する。
【0026】
一方、S21〜S(20+n)のいずれかのステップSj(21≦j≦20+n、nは自然数)で判定フラグFLGkが「1」であったときにはS(22+n)でランパルス信号SRPの出力を停止する。
【0027】
即ち、メインCPU14は、ランパルス生成処理として、実行したメイン制御ルーチンの各制御処理がそれぞれの処理時間内に実行できたときには、サブCPU17が設定するランパルスフラグRPFLGに基づいて信号状態が設定されるランパルス信号SRPをウォッチドッグタイマ13に出力する。一方、実行したメイン制御ルーチンの制御処理がそれぞれの処理時間内に実行できなかったときには、ランパルスフラグRPFLGの状態に関係なくランパルス信号SRPの出力を停止する。
【0028】
サブマイコン12はメインマイコン11がメイン制御ルーチンの各制御処理で実行する演算処理が正常に実行されているか否かを監視するためのものであって、メインマイコン11よりも処理能力が低いサブCPU17と、ROM18及びRAM19等から構成されている。サブマイコン12は、メインマイコン11の演算内容を監視するための演算監視ルーチンのみをメイン制御ルーチンよりも長い所定の監視周期(例えば、5msec.)で繰り返し実行する。
【0029】
演算監視ルーチンに従って実行する演算監視処理として、サブCPU17は、図1に示すように、S31〜S35で、予め順序付けてROM18に記憶されている一連の演算問題Q1,Q2,…,Qk,…,Q10(1≦k≦10、kは自然数)をその順序で1つずつ順次読み出し、読み出した演算問題Qkをメインマイコン11に送って演算させる。そして、S36でその演算結果M1,M2,…,Mk,…,M10をメインCPU14から取得する。なお、本実施形態では10個の演算問題Q1〜Q10を順次メインマイコン11に演算させているが、一連の演算問題Qkの数は10でなくてもよい。
【0030】
ROM18に記憶されている各演算問題Qkは、メインマイコン11がメイン制御処理の各制御処理で実行する演算処理において実行する関数に入力される複数の変数ak,bk,ckからなる。そして、サブCPU17は、この各変数ak,bk,ckをメインマイコン11に前記関数にて演算処理させ、その演算結果Mkを取得する。
【0031】
さらに、ROM18には、各演算問題Qkに対する答えA1,A2,…,Ak,…,A10が予め記憶されている。各答えA1〜A10は、その問題Qkに対するメインマイコン11の演算結果Mkと照合するためのものである。各答えA1〜A10は、図3に示すように、メインマイコン11に順次実行させる演算問題Q1(即ち、変数a1,b1,c1)〜Qk(ak,bk,ck)〜Q10(a10,b10,c10)の順番kに対して、1つずつ順に正誤が切り替わるように設定されている。即ち、1番目の演算問題Q1に対してはその演算問題Q1に対する正しい答えA1が設定され、2番目の演算問題Q2に対してはその演算問題Q2に対する誤った答えA2が設定されている。同様に、順序が奇数番の各演算問題Q3,Q5,Q7,Q9に対してはその演算問題Qkに対する正しい答えA3,A5,A7,A9が設定され、順序が偶数番の各演算問題Q4,Q6,Q8,Q10に対してはその演算問題Qkに対する誤った答えA4,A6,A8,A10が設定されている。そして、サブCPU17は、10個の演算問題Q1〜Q10を、その答えAkが交互に正誤となるようにメインCPU14に演算問題Qkを順番kで順次演算させる。なお、各演算問題Q2,Q4,Q6,Q8,Q10に対して設定される誤った答えA2,A4,A6,A8,A10は、各演算問題Q2,Q4,Q6,Q8,Q10に対して得られる可能性がある1つの誤った演算結果であってもよく、また、複数の誤った演算結果であってもよい。本実施形態では、演算問題Q1,Q3,Q5,Q7,Q9がそれぞれ第1演算問題であり、演算問題Q2,Q4,Q6,Q8,Q10がそれぞれ第2演算問題である。
【0032】
次に、サブCPU17は、S37〜S41で、今回実行する処理でメインCPU14に実行させた演算問題Qkの順番kと、その演算結果Mkとに基づいて、ランパルス生成ルーチンでメインCPU14が出力するランパルス信号SRPの信号状態をランパルスフラグRPFLGとして設定する。
【0033】
詳述すると、S37で、今回演算させた演算問題Qkの順番kが偶数番であるか否かを判定し、偶数番であったときには、S38で、取得した演算結果Mkがその演算問題Qkに対する答えAkと一致しないか否かを判定する。そして、S38で演算結果Mkが答えAkと一致しないときには、S39でランパルスフラグRPFLGを「0」とし、このランパルスフラグRPFLGをメインマイコン11に出力して本処理を終了する。一方、S38で演算結果Mkが答えAkと一致したときには、S40でランパルスフラグRPFLGを「1」とし、このランパルスフラグRPFLGをメインマイコン11に出力して本処理を終了する。
【0034】
また、サブCPU17は、S37で今回演算させた問題Qkの順番kが奇数番であったときには、S41で、取得した演算結果Mkが、その問題Qkに対する答えAkと一致するか否かを判定する。そして、S41で演算結果Mkが答えAkと一致したときには、S40で、ランパルスフラグRPFLGを「1」とし、このランパルスフラグRPFLGをメインマイコン11に出力して本処理を終了する。一方、S41で演算結果Mkが答えAkと一致しなかったときには、S39でランパルスフラグRPFLGを「0」とし、このランパルスフラグRPFLGをメインマイコン11に出力して本処理を終了する。
【0035】
即ち、サブCPU17は、S37〜S41で、正しい答えA1,A3,A5,A7,A9が設定されている演算問題Q1,Q3,Q5,Q7,Q9に対するメインマイコン11の演算結果M1,M3,M5,M7,M9が、各答えA1,A3,A5,A7,A9に一致したときに、メインマイコン11が正常な演算処理を行っていると判定する。同様に、誤った答えA2,A4,A6,A8,A10が設定されている問題Q2,Q4,Q6,Q8,Q10に対するメインマイコン11の演算結果M2,M4,M6,M8,M10が、各答えA2,A4,A6,A8,A10に一致しないときに、メインマイコン11が正常な演算処理を行っていると判定する。そして、サブCPU17は、監視周期毎に順番kに従ってメインマイコン11に実行させる各演算問題Qkに対する演算結果Mkが正しいときに、メインマイコン11に出力するランパルスフラグRPFLGを監視周期毎に切り替える。即ち、サブCPU17は、メインマイコン11が出力するランパルス信号SRPの信号状態を、監視周期の1倍(最小自然数)の長さの切替周期で切り替えるように設定する。
【0036】
ウォッチドッグタイマ13は公知の電子回路であり、ランパルス信号SRPの信号状態が監視周期で切り替わらなかったときには、リセット信号RSTをメインCPU14に出力してリセットし、メイン制御処理の実行を中止させる。
【0037】
次に、以上のように構成された本実施形態の作用について説明する。
メインマイコン11は、処理周期毎に繰り返し実行するべきメイン制御処理において制御処理の1つが所定の処理時間内に実行できなかったときには、判定周期毎に実行するランパルス生成処理においてランパルス信号SRPの出力を停止する。すると、ランパルス信号SRPが入力されなくなったウォッチドッグタイマ13がメインマイコン11をリセットする。
【0038】
従って、メインマイコン11がメイン制御処理を所定の処理時間で実行されているか否かがウォッチドッグタイマ13によって監視され、処理時間内に実行できなかったときにはメイン制御ルーチンの実行が中止される。
【0039】
また、サブマイコン12は、監視周期毎に実行する演算監視処理において、メインマイコン11に演算させた演算問題Qkの演算結果Mkと、その演算問題Qkに対する答えAkとを照合することによって、メインマイコン11がメイン制御処理の各制御処理において実行する演算処理が正常に実行されるか否かを監視する。そして、演算処理が正常に実行されない可能性があるときには、メインマイコン11が出力するランパルス信号SRPの信号状態を設定するランパルスフラグRPFLGを監視周期で切り替えないようにする。すると、メインマイコン11がランパルスフラグRPFLGに基づいて出力するランパルス信号SRPの信号状態が監視周期で切り替わらない状態が発生し、ウォッチドッグタイマ13がメインマイコン11をリセットする。
【0040】
従って、メインマイコン11がメイン制御処理の各制御処理で演算処理を正常に実行しているか否かが監視され、各制御処理がその処理時間内に実行されている状態においても、演算処理が正常に実行されなかった可能性があるときにはメイン制御処理の実行が中止される。
【0041】
次に、以上詳述した本実施形態によって得られる各効果を列挙する。
(1) メインマイコン11がメイン制御処理の各制御処理を処理時間内で実行している状態においても、各制御処理で演算処理が正常に実行されない可能性があるときにはメイン制御処理の実行が中止される。その結果、メインマイコン11が正常な演算処理をしなかったことによる誤った演算結果に基づく制御を防止することができる。
【0042】
(2) メインマイコン11に演算させる問題Qkとして、正しい答えA1,A3,A5,A7,A9が設定された第1演算問題Q1,Q3,Q5,Q7,Q9と、誤った答えA2,A4,A6,A8,A10が設定された第2演算問題Q2,Q4,Q6,Q8,Q10とが用いられる。そして、第1演算問題Qkに対する演算結果Mkが正しい答えAkに一致するか否か、又は、第2演算問題Qkに対する演算結果Qkが誤った答えAkに一致しないか否かによって演算処理が正常に実行されているか否かが判定される。その結果、メインマイコン11が正常な演算処理をしなかったことによる誤った演算結果に基づく制御をより確実に防止することができる。
【0043】
(3) 正しい答えA1,A3,A5,A7,A9が設定された第1演算問題Q1,Q3,Q5,Q7,Q9と、誤った答えA2,A4,A6,A8,A10が設定された第2演算問題Q2,Q4,Q6,Q8,Q10とを交互にメインマイコン11に演算させている。そして、第1演算問題Qkに対する演算結果Mkが正しい答えQkに一致するときと、第2演算問題Qkに対する演算結果Mkが誤った答えAkに一致しないときに、ランパルス信号SRPの信号状態を監視周期の1倍の切替周期毎に切り替えている。このため、ランパルス信号SRPの信号状態を監視周期の2倍以上の自然数倍の長さの切替周期毎に切り替えるようにした場合に比較して、メインマイコン11が演算処理を正常に実行でなくなったときにランパルス信号SRPの信号状態がより早い時点で切り替わらなくなる。
【0044】
従って、メインマイコン11が実行するメイン制御処理において演算処理が正常に実行できなくなった可能性があるときに、より早い時点でメイン制御処理の実行を中止することができる。
【0045】
(4) メイン制御処理を実行するメインマイコン11が、サブマイコン12が実行する演算監視処理によって設定されるランパルスフラグRPFLGに基づいて信号状態が設定されるランパルス信号SRPを出力する。このため、メインマイコン11が実行するメイン制御処理での演算処理が正常であるか否かが、メイン制御処理を実行しないサブマイコン12によって監視される。
【0046】
従って、メイン制御処理を実行するメインマイコン11の負荷を増大させることがなく、より簡易な構成のサブマイコン12によってメインマイコン11が実行するメイン制御処理を監視することができる。また、サブマイコン12が監視結果に基づいて設定するランパルスフラグRPFLGに基づいてメインマイコン11がランパルス信号SRPを出力するので、演算処理を監視するサブマイコン12の負荷が増大しない。その結果、簡易機能のサブマイコン12を従来の電子制御装置に追加するだけで本実施形態の電子制御装置10を構成することができる。
(第2実施形態)
次に、本発明を第1実施形態と同様の電子制御装置に具体化した第2実施形態を図6に従って説明する。
【0047】
図6に示すように、本実施形態の演算装置としての電子制御装置20は、メインマイコン21、サブマイコン22、第1ウォッチドッグタイマ23及び第2ウォッチドッグタイマ24等によって構成されている。本実施形態では、メインマイコン21が演算手段、ランパルス生成手段及び第1コンピュータであり、サブマイコン22が監視手段及び第2コンピュータである。
【0048】
メインマイコン21は前記第1実施形態のメインマイコン11と同一の構成であって、前記処理周期でメイン制御ルーチンを繰り返し実行し、また、前記判定周期でランパルス制御ルーチンを繰り返し実行する。そして、メイン制御処理の各制御処理をその処理時間内で実行できたときにランパルス信号SRP1を第1ウォッチドッグタイマ23に出力可能となる。一方、各制御処理をその処理時間内で実行できなかったときにはランパルス信号SRP1の第1ウォッチドッグタイマ23への出力を停止する。
【0049】
一方、サブマイコン22は、前記第1実施形態でサブマイコン12が監視周期で繰り返し実行する演算監視ルーチンを実行する。そして、各演算監視処理毎に、演算問題Qkをメインマイコン21に演算させてその演算結果Mkを取得し、この演算結果Mkを答えAkに照合することで、メインマイコン21が演算処理を正常に実行できるか否かを判定する。次いで、メインマイコン21が演算処理を正常に実行できたときには、ランパルス信号SRP1の信号状態を監視周期で切り替えるようにランパルスフラグRPFLGを設定してメインマイコン21に出力する。
【0050】
メインマイコン21は、ランパルス生成処理においてメイン制御処理の各制御処理がその処理時間内に実行できたときに、サブマイコン22が演算監視処理で設定したランパルスフラグRPFLGの状態に基づいてランパルス信号SRP1の信号状態を設定し、この信号状態でランパルス信号SRP1を出力する。
【0051】
また、本実施形態では、サブマイコン22は、演算監視ルーチンに加え、メインマイコン21が実行するランパルス生成ルーチンと同様のランパルス生成ルーチンを実行する。このランパルス生成ルーチンは、例えば演算監視ルーチンと同じ監視周期で繰り返し実行される。
【0052】
このルーチンで実行するランパルス生成処理としてサブマイコン22は、実行した演算監視ルーチンの各制御処理がその処理時間内に実行できたか否かを判定し、この判定結果に基づいてランパルス信号SRP2を第2ウォッチドッグタイマ24に出力する。出力するランパルス信号SRP2の信号状態は、演算監視ルーチンの各制御処理がその処理時間内に実行できたときには、前回の処理で設定した信号状態から切り替えられる。一方、各制御処理がその処理時間内に実行できなかったときには出力が停止される。
【0053】
即ち、サブマイコン22は、演算監視処理の各制御処理をその処理時間内に実行できているときには、監視周期で信号状態が切り替わるランパルス信号SRP2を出力する。反対に、各制御処理をその処理時間内に実行できなかったときにはランパルス信号SRP2の出力自体を停止させる。
【0054】
第1ウォッチドッグタイマ23は、メインマイコン21から出力されるランパルス信号SRP1の信号状態が監視周期で切り替わらなかったときに、メインマイコン21及びサブマイコン22を共にリセットする。
【0055】
第2ウォッチドッグタイマ24は、サブマイコン22から出力されるランパルス信号SRP2の信号状態が監視周期で切り替わらなかったときに、メインマイコン21及びサブマイコン22を共にリセットする。
【0056】
以上のように構成された本実施形態は、前記第1実施形態の作用に加えて次のような作用を有する。
メインマイコン11は、処理周期毎に繰り返し実行するべきメイン制御処理において制御処理の1つが所定の処理時間内に実行できなかったときには、判定周期毎に実行するランパルス生成処理においてランパルス信号SRP1の出力を停止する。すると、ランパルス信号SRP1が入力されなくなった第1ウォッチドッグタイマ23がメインマイコン21及びサブマイコン22を共にリセットする。
【0057】
従って、メインマイコン11がメイン制御処理を所定の処理時間で実行されているか否かが第1ウォッチドッグタイマ23によって監視され、処理時間内に実行できなかったときにはメイン制御ルーチンの実行が、サブマイコン22の演算監視処理の実行と共に中止される。
【0058】
また、サブマイコン22が監視周期毎に繰り返し実行する演算監視処理が処理時間内に実行できなかったときには、同じ監視周期毎に実行するランパルス生成処理においてランパルス信号SRP2の出力を停止する。すると、ランパルス信号SRP2が入力されなくなった第2ウォッチドッグタイマ24がメインマイコン21及びサブマイコン22を共にリセットする。
【0059】
従って、サブマイコン22が演算監視処理を所定の処理時間内に実行しているかる否かが第2ウォッチドッグタイマ24によって外部から監視され、処理時間内に実行できなかったときにはメインマイコン21によるメイン制御処理と共にその実行が中止される。
【0060】
以上詳述した本実施形態によれば、前記第1実施形態の(1)〜(4)に記載した各効果の他に下記の効果を得ることができる。
(1) サブマイコン22が実行する演算監視処理が所定の処理時間内に実行できたか否かが自己診断され、実行できなかったときにはメインマイコン21が実行するメイン制御処理と共に演算監視処理の実行が中止される。
【0061】
従って、メインマイコン21がメイン制御処理で実行する演算処理が正常に実行されているか否かをサブマイコン22が演算監視処理によって正常に監視できなくなったときにはメイン制御処理の実行が中止される。このため、メインマイコン21がメイン制御処理で実行する演算処理が正常に実行されているか否かをより確実に監視し、正常に実行されない可能性があるときにメイン制御処理の実行を中止することができる。
【0062】
次に、上記各実施形態以外の実施形態を列挙する。
・ 上記第1実施形態で、メインマイコン11が、メイン制御ルーチンをランパルス生成ルーチンと共に判定周期で実行する構成とする。この場合にも、上記実施形態の(1)〜(4)の各効果を得ることができる。第2実施形態においても同様である。
【0063】
・ 上記第1実施形態で、サブマイコン12が実行する演算監視処理においてメインマイコン11に演算させる演算問題Qkに対する答えAkが、演算問題Qkの順序に対して、2つ毎あるいは3つ毎のように複数個毎に正誤が切り替わるように設定された構成とする。例えば、2つ毎に正誤を切り替える場合には、1,2番目の各演算問題Q1,Q2に対しては正しい答えA1,A2を設定し、3,4番目の各演算問題Q3,Q4に対しては誤った答えA3,A4を設定するといったように正誤を設定する。そして、演算監視処理において1,2番目の演算問題Q1,Q2に対するメインマイコン11の演算結果M1,M2が正しい答えA1,A2に一致するときには、ランパルスフラグRPFLGを2回連続して「0」に設定する。また、3,4番目の演算問題Q3,Q4に対する演算結果M3,M4が誤った答えA3,A4に一致しないときにはランパルスフラグRPFLGを2回連続して「1」に設定する。このようにランパルスフラグRPFLGを設定することで、メインマイコン11が出力するランパルス信号SRPの信号状態を、監視周期の2倍(自然数倍)の長さの切替周期で切り替えるように設定する。この場合には、上記実施形態の(1),(2),(4)に記載した各効果を得ることができる。但し、ランパルス信号SRPの信号状態を監視周期で切り替えるように設定する前記実施形態と比較して、メインマイコン11が実行する演算処理が正常に実行されなくなったときに演算処理を中止するタイミングが遅くなる。第2実施形態においても同様である。
【0064】
・ 上記第1実施形態で、サブマイコン12が、メインマイコン11の演算監視処理だけでなく、車両の例えばエンジン制御、トランスミッション制御等のパワートレイン制御や、サスペンション制御、パワーステアリング制御、スキッド制御等の車体制御等の制御処理をも実行する構成とする。この場合には、上記実施形態の(1),(2),(3)に記載した各効果を得ることができる。第2実施形態においても同様である。
【0065】
・ 上記第2実施形態で、メインマイコン21がサブマイコン22に一連の演算問題Qkを順次演算させることで、サブマイコン22が実行する演算処理が正常に実行されているか否かを外部から監視し、異常時にランパルス信号SRP2の信号状態を異常状態とする構成とする。即ち、両マイコン21,22が、それぞれ制御処理で実行する演算処理が正常に行われているか否かを互いに監視する構成とする。このような構成によれば、第1実施形態の(1)〜(4)に記載したの各効果と第2実施形態の(1)に記載した効果に加え、サブマイコン22が演算監視処理で実行する演算処理が正常に実行されているか否かを監視することができる。
【0066】
・ 上記第1実施形態では、それぞれが1チップマイコンであるメインマイコン11及びサブマイコン12が回路基板に実装された電子制御装置10に具体化したが、同一の半導体チップにメインマイクロコンピュータ11とサブマイクロコンピュータ12とが形成された電子制御装置10に具体化してもよい。第2実施形態も同様である。
【0067】
また、メインマイコン11あるいはサブマイコン12の構成要素が別々の半導体チップに形成されたマルチチップマイコンであってもよく、メインCPU14あるいはサブCPU17だけが半導体チップに形成されたマイクロプロセッサを構成要素とするマイコンであってもよい。第2実施形態も同様である。
【0068】
・ 図7(a)に示すように、演算手段を第1コンピュータとしてのメインマイクロコンピュータ30とし、ランパルス生成手段及び演算監視手段を第2コンピュータとしてのサブマイクロコンピュータ31とする。そして、メインマイコン30が実行するメイン制御処理の各制御処理で設定された判定フラグFLG1〜FLGnに基づき、サブマイコン31が実行するランパルス生成処理で出力するランパルス信号SRPの信号状態を切り替えるとともに、演算監視処理での照合結果に基づいてランパルス信号SRPの信号状態を設定する。このサブマイコン31が生成するランパルス信号SRPを入力するウォッチドッグタイマ32が、メインマイコン30が実行するメイン制御処理での演算処理が正常でなかったときにメインマイコン30及びサブマイコン31を共にリセットする構成とする。このような構成では、上記第1実施形態の(1)〜(4)に記載した各効果を得ることができる上に、メインマイコン11の負荷をより小さくすることができる。
【0069】
・ 図7(b)に示すように、演算手段、ランパルス生成手段及び監視手段を、同一のマイクロコンピュータ40とし、このマイコン40が、メイン制御ルーチン及びランパルス生成ルーチンに加えて、演算監視ルーチンをも実行する構成とする。そして、メイン制御処理の各制御処理で実行する演算処理が正常に実行されているか否かを演算監視処理によって自己診断し、その診断結果に基づいて設定する信号状態をランパルス生成ルーチンで生成するランパルス信号の信号状態とする構成とする。このランパルス信号に基づいてウォッチドッグタイマ41が、マイコン40をリセットする。この場合には、メイン制御処理を実行するマイクロコンピュータ40自らが、自身で行う演算処理が正常に実行されているか否かを判定し、その結果に基づいてメイン制御処理の実行を外部から中止することができる。このような構成では、上記実施形態の(1)〜(3)の各効果を得ることができる。
【0070】
・ 本発明を実施する演算装置は、車両制御を行う電子制御装置に限らず、演算処理を行う演算手段を備えた各種測定装置、各種遊戯装置等の電子機器であってもよい。
【0071】
以下、前述した各実施形態から把握される技術的思想をその効果とともに列挙する。
(1) 請求項4に記載の発明において、前記第2コンピュータ(図6に示すサブマイコン22)は、2つの信号状態を取るランパルス信号を出力するとともに、前記監視周期毎に演算問題を前記演算手段に演算させてその演算結果を取得したときにランパルス信号の信号状態を切り替える副ランパルス生成手段(同じくサブマイコン22)を備えていることを特徴とする演算装置(同じく電子制御装置20)。
【0072】
このような構成によれば、第1コンピュータ(同じくメインマイコン21)に加え、第2コンピュータが所定の処理時間で演算処理を実行しているか否かを監視し、実行できない可能性があったときに外部から演算処理の実行を中止させることが可能となる。
【0073】
(2) 請求項1〜請求項3のいずれか一項に記載の発明において、前記演算手段、ランパルス生成手段及び監視手段は、第1コンピュータ(メインマイコン21)が具備するとともに第2コンピュータ(サブマイコン22)も具備し、前記第2コンピュータの監視手段は前記第1コンピュータの演算処理が正常に実行されたか否かを監視し、第1コンピュータの監視手段は第2コンピュータの演算処理が正常に実行されたか否かを監視することを特徴とする演算装置。
【0074】
このような構成によれば、それぞれが制御処理を実行する2つのコンピュータ同士で互いに演算処理が正常に実行されているか否かを監視して、演算処理の実行を中止させることが可能となる。
【0075】
(3) 請求項1〜請求項3のいずれか一項に記載の発明において、前記演算手段は第1コンピュータ(図7(a)におけるメインマイコン30)からなり、前記ランパルス生成手段及び監視手段は第2コンピュータ(同じくサブマイコン31)からなることを特徴とする演算装置。
【0076】
このような構成によれば、演算処理を行う第1コンピュータの負荷を増大させることなく、第2コンピュータによって第1コンピュータが実行する演算処理を監視することができる。
【0077】
(4) 請求項1〜請求項3のいずれか一項に記載の発明において、前記演算手段、ランパルス生成手段及び監視手段は同一のコンピュータ(図7(b)におけるマイクロコンピュータ40)からなることを特徴とする演算装置。
【0078】
このような構成によれば、コンピュータが実行する演算処理が正常であるか否かをコンピュータ自身で監視し、演算処理が正常でない可能性があるときに演算処理の実行を外部から中止することが可能となる。
【0079】
【発明の効果】
請求項1〜請求項5に記載の発明によれば、演算装置の演算処理が所定の処理時間内に実行されている状態においても、正常に実行されず演算結果が誤っている可能性があるときには演算処理の実行を中止することができる。
【図面の簡単な説明】
【図1】 第1実施形態の電子制御装置でサブマイコンが実行する演算監視ルーチンのフローチャート。
【図2】 電子制御装置の構成を示すブロック図。
【図3】 演算監視ルーチンでメインマイコンに演算させる演算問題を示す表。
【図4】 メインマイコンが実行するメイン制御ルーチンのフローチャート。
【図5】 メインマイコンが実行するランパルス生成ルーチンのフローチャート。
【図6】 第2実施形態における電子制御装置の構成を示すブロック図。
【図7】 (a),(b)は共にその他の実施形態における電子制御装置の構成を示すブロック図。
【符号の説明】
10…演算装置としての電子制御装置、11…演算装置を構成する演算手段、ランパルス生成手段及び第1コンピュータとしてのメインマイクロコンピュータ、12…演算装置を構成する監視手段及び第2コンピュータとしてのサブマイクロコンピュータ、13…演算装置を構成する演算制御手段としてのウォッチドッグタイマ、20…演算装置としての電子制御装置、21…演算装置を構成する演算手段、ランパルス生成手段及び第1コンピュータとしてのメインマイクロコンピュータ、22…演算装置を構成する監視手段、第2コンピュータ及び副ランパルス生成手段としてのサブマイクロコンピュータ、30…演算手段及び第1コンピュータとしてのメインマイクロコンピュータ、31…ランパルス生成手段、監視手段及び第2コンピュータとしてのサブマイコン、40…演算手段、ランパルス生成手段、監視手段としてのマイクロコンピュータ、A1〜A10…答え、M1〜M10…演算結果、Q1,Q3,Q5,Q7,Q9…演算問題としての第1演算問題、Q2,Q4,Q6,Q8,Q10…演算問題としての第2演算問題、SRP…ランパルス信号、SRP1…ランパルス信号、SRPP2…ランパルス信号。
Claims (5)
- 演算処理を含む所定の制御処理を繰り返し実行する演算手段と、
ハイレベル及びローレベルの2つの信号状態を取るランパルス信号を出力するランパルス生成手段と、
前記ランパルス生成手段が出力する前記ランパルス信号の信号状態を切り替えるようにランパルスフラグの値を設定する監視手段とを備え、
前記演算手段は、前記制御処理を所定の処理時間内に実行できたか否かを判定し、
前記ランパルス生成手段は、前記処理時間内に実行できたことを示す判定結果が得られた場合は、前記ランパルスフラグの値に対応する信号状態の前記ランパルス信号を出力し、前記処理時間内に実行できなかったことを示す判定結果が得られた場合は、前記ランパルス信号の出力を停止し、
前記監視手段は、
前記演算手段によって演算可能な所定の演算問題を所定の監視周期毎に前記演算手段に演算させてその演算結果を取得し、
前記演算結果と、前記演算問題に対して予め設定された答えとを照合することで前記演算処理が正常に実行されたか否かを判定し、
前記演算処理が正常に実行されたときには、前記ランパルス信号の前記信号状態を前記監視周期の自然数倍からなる切替周期で切り替えるように前記ランパルスフラグの値を設定することを特徴とする演算装置。 - 前記演算問題として、その演算問題に対する正しい答えが設定された第1演算問題と、その演算問題に対する誤った答えが設定された第2演算問題とが用いられ、
前記監視手段は、
前記第1演算問題に対する演算結果がその答えに一致するか否か、又は、前記第2演算問題に対する演算結果がその答えに一致しないか否かによって前記演算処理が正常に実行されたか否かを判定することを特徴とする請求項1に記載の演算装置。 - 前記監視手段は、
前記第1演算問題と前記第2演算問題とを交互に前記演算手段に演算させ、
前記第1演算問題に対する演算結果がその答えに一致するときと、前記第2演算問題に対する演算結果がその答えに一致しないときに、前記ランパルス信号の前記信号状態を前記監視周期で切り替えるように前記ランパルスフラグの値を設定することを特徴とする請求項2に記載の演算装置。 - 前記演算手段及びランパルス生成手段は、第1コンピュータからなり、
前記監視手段は、第2コンピュータからなることを特徴とする請求項1〜請求項3のいずれか一項に記載の演算装置。 - 前記ランパルス信号の前記信号状態が前記切替周期で切り替わらなかったときには前記演算手段に前記制御処理の実行を中止させる演算制御手段を備えていることを特徴とする請求項1〜請求項4のいずれか一項に記載の演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001229218A JP4003420B2 (ja) | 2001-07-30 | 2001-07-30 | 演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001229218A JP4003420B2 (ja) | 2001-07-30 | 2001-07-30 | 演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003044323A JP2003044323A (ja) | 2003-02-14 |
JP4003420B2 true JP4003420B2 (ja) | 2007-11-07 |
Family
ID=19061603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001229218A Expired - Fee Related JP4003420B2 (ja) | 2001-07-30 | 2001-07-30 | 演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4003420B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5163807B2 (ja) * | 2010-03-18 | 2013-03-13 | トヨタ自動車株式会社 | マイコン相互監視システム及びマイコン相互監視方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4747930B2 (ja) * | 2006-04-24 | 2011-08-17 | トヨタ自動車株式会社 | 電子制御装置、及び、演算機能検査方法 |
JP5176405B2 (ja) * | 2007-06-20 | 2013-04-03 | 株式会社明電舎 | コンピュータの異常検出・復旧方式 |
JP5057911B2 (ja) * | 2007-09-14 | 2012-10-24 | アルパイン株式会社 | マルチプロセッサシステム |
KR101479234B1 (ko) * | 2008-09-04 | 2015-01-06 | 삼성전자 주식회사 | 로봇 및 그 제어 방법 |
JP5861438B2 (ja) * | 2011-12-16 | 2016-02-16 | 株式会社オートネットワーク技術研究所 | 制御装置及び処理監視方法 |
JP5772716B2 (ja) * | 2012-05-21 | 2015-09-02 | 株式会社デンソー | 電子制御装置 |
JP6081239B2 (ja) * | 2013-03-13 | 2017-02-15 | 日立オートモティブシステムズ株式会社 | 制御装置の異常監視装置および異常監視方法 |
JP6224545B2 (ja) * | 2014-08-05 | 2017-11-01 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
CN110678950B (zh) * | 2017-05-25 | 2021-11-12 | 三菱电机株式会社 | 电子式电路断路器 |
-
2001
- 2001-07-30 JP JP2001229218A patent/JP4003420B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5163807B2 (ja) * | 2010-03-18 | 2013-03-13 | トヨタ自動車株式会社 | マイコン相互監視システム及びマイコン相互監視方法 |
US8495433B2 (en) | 2010-03-18 | 2013-07-23 | Toyota Jidosha Kabushiki Kaisha | Microcomputer mutual monitoring system and a microcomputer mutual monitoring method |
Also Published As
Publication number | Publication date |
---|---|
JP2003044323A (ja) | 2003-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4003420B2 (ja) | 演算装置 | |
JP3714141B2 (ja) | 電子制御システムの暴走監視装置 | |
JPS6227831A (ja) | 演算器チエツク回路 | |
US20030093725A1 (en) | Method and circuit for monitoring microcomputer for onboard electronic control device | |
JPH07281912A (ja) | スタック異常検出装置 | |
US5497481A (en) | Microcomputer computer system having plural programmable timers and preventing memory access operations from interfering with timer start requests | |
JPH02157957A (ja) | マイクロプロセッサ | |
JP2924392B2 (ja) | マイクロコンピュータシステム | |
JPS6362776B2 (ja) | ||
JP2690910B2 (ja) | 制御記憶装置 | |
JPH01310422A (ja) | マイクロコンピュータのリセット回路 | |
JPH01128147A (ja) | 演算装置 | |
JP2592525B2 (ja) | 共通バスシステムの異常検出回路 | |
JPS6269352A (ja) | マイクロプロセツサ | |
JPS63282535A (ja) | シグナルプロセツサ | |
JPH01189735A (ja) | マイクロプログラムの診断方式 | |
JPS63639A (ja) | プログラムデバツグ方式 | |
JPS63268044A (ja) | ウオツチ・ドツグ・タイマ | |
JPS60105054A (ja) | マイクロコンピユ−タの暴走防止装置 | |
JPH03142503A (ja) | プログラマブルコントローラ | |
JPH0328957A (ja) | マイクロコンピュータシステム | |
JPH0782370B2 (ja) | シ−ケンサのタイマ処理装置 | |
JPS6363931B2 (ja) | ||
JPS584446A (ja) | マイクロプログラム制御装置 | |
JPH07334389A (ja) | S/wデバッグ用ドータボード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040317 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070514 |
|
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: 20070731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070813 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4003420 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |