(57)【特許請求の範囲】
【請求項１】
１命令の実行により同時には操作できないように別個のアドレスにそれぞれ割り当てられた複数の出力ポートと、前記複数の出力ポートのそれぞれ毎に設けられかつ監視対象プログラムを互いに共有するようにして当該監視プログラムの一巡実行ループ中に、１命令実行時間の遅れを持って順次に実行されるように相連続するステップとして、前記監視対象プログラムを挟んでその前後に挿入された状態信号送出用のオンオフ一対の複数のポート操作命令を格納したＲＯＭと、を含み、それにより、前記監視対象プログラムの実行に連動して、前記複数の出力ポートから、前記各対のポート操作命令の実行タイミングの相違に対応する一定のタイミングズレを相互に有する複数の周期的な状態信号を出力するように構成したマイクロコンピュータと、
前記マイクロコンピュータの前記複数の出力ポートから出力される複数の周期的な状態信号の少なくとも２つに着目して、両者間に論理不一致が生ずる毎に、所定の時間だけ計時動作を繰り返し、前記計時動作の完了と共に計時完了信号を出力するタイマを有し、前記タイマによって、両者間におけるタイミングズレを監視し、そのタイミングズレが規定範囲を外れたことに基づいて前記マイクロコンピュータの動作異常を判定するタイミング監視回路と、
を具備することを特徴とするマイクロコンピュータの動作監視装置。
【請求項２】
前記監視対象プログラムの前側並びに後側に相連続するステップとして挿入された一連のポート操作命令の前後には割り込み禁止命令と割り込み許可命令とが挿入されていることを特徴とする請求項１に記載のマイクロコンピュータの動作監視装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータ並びにその動作監視装置に係り、特に、動作状態監視用として２以上の状態信号を外部へ送出する機能を供えたマイクロコンピュータ、並びに、それら状態信号を用いて当該マイクロコンピュータの動作異常を監視するようにした動作監視装置に関する。
【０００２】
【従来の技術】
従来、マイクロコンピュータの動作異常を監視するための方法としては、ウォッチドッグタイマ回路等と称される周期監視型の動作異常監視回路を用いたものが知られている。
【０００３】
この様な周期監視型の監視回路を備えたマイクロコンピュータシステムのハードウェア構成を図５に概略的に示す。同図において、ＣＰＵ１は、この例にあっては、車両用アンチロックブレーキシステム（ＡＢＳ）の制御に用いられる制御用８ビットワンチップマイクロコンピュータであり、その内部には、図示しないが、制御用各種のシステムプロクラムが格納されたＲＯＭ、ワーキングエリア等として使用されるＲＡＭ、それらを統括制御するためのマイクロプロセッサ等が内蔵されている。周知の如く、この種のＣＰＵ１には、多数の入出力ポートが備えられているが、この例ではそれらの中で、ＣＰＵ１の動作状態を外部に知らせる状態信号送出用の出力ポートＰと、ＣＰＵ１に対して強制的にリセットをかけるリセット信号受け付け用のリセット端子ＲＳＴのみが示されている。出力ポートＰから得られる状態信号は、ＣＰＵ１が正常に動作している限り、ほぼ一定周期を有するパルス列となるのに対して、ＣＰＵ１に何等かの動作異常が発生すると、上記のパルス列は途絶えたり、或いは周期が長くなる。なお、出力ポートＰは抵抗Ｒ５を介して電源Ｖｃｃにプルアップされており、そのためＣＰＵ１がリセット信号を受け付けてリセット状態に入り、出力ポートＰがハイインピーダンス状態となると、出力ポートＰの電位は“Ｈ”にプルアップされる。
【０００４】
一方、監視回路２では、入力端子ＩＮに得られる状態信号（パルス列）の周期を常時監視しており、これが後述する基準時間Ｔｒｅｆよりも短ければ、ＣＰＵ１は正常に動作していると判定し、その出力端子ＯＵＴから“Ｈ”を出力するのに対し、状態信号の周期が基準時間Ｔｒｅｆよりも長くなったり、或いはパルス列が途絶えて状態信号のレベルが“Ｈ”または“Ｌ”に固定されると、ＣＰＵ１において何等かの動作異常が発生したものと判定し、その出力端子ＯＵＴから“Ｌ”を出力する。
【０００５】
ＣＰＵ１では、リセット端子ＲＳＴに得られる信号が“Ｈ”から“Ｌ”に変化するのに応答して、ハードウェア的にリセット動作を実行し、これに基づき必要な異常対応処理を実行することで、制御系に与える影響を最小限に止めるように構成されている。
【０００６】
監視回路２の具体的な一例を図６に詳細に示す。同図に示されるように、周期監視型の監視回路２は、入力端子ＩＮに得られる状態信号の立ち上がりエッジを検出して微小幅“Ｈ”パルスを出力する微分回路ＤＦと、微分回路ＤＦから得られる微小巾“Ｈ”パルスに応答して微小時間オンするトランジスタＱと、抵抗Ｒ１，Ｒ２を介して電源Ｖｃｃにより所定の時定数カーブを描いて充電されかつ前述のトランジスタＱを介して瞬時に放電されるコンデンサＣと、電源Ｖｃｃを抵抗Ｒ３とＲ４とで分圧することによりしきい値電圧Ｖｔｈを生成するしきい値電圧生成回路と、演算増幅器ＯＰを中心として構成されコンデンサＣの充電電圧Ｖｃをしきい値電圧Ｖｔｈと比較し、その比較結果を出力端子ＯＵＴに出力するコンパレ−タＣＯＭＰとから構成されている。そして、入力端子ＩＮに得られる状態信号（パルス列）の周期が基準時間Ｔｒｅｆよりも短い場合、コンデンサＣの充電電圧Ｖｃはしきい値電圧Ｖｔｈに至る前にトランジスタＱを介して放電され、その結果コンパレ−タＣＯＭＰの出力である出力端子ＯＵＴの電位は“Ｈ”に維持されている。これに対して、入力端子ＩＮに得られる状態信号（パルス列）の周期が基準時間Ｔｒｅｆよりも長くなったり、或いはパルス列が途絶えて“Ｈ”もしくは“Ｌ”に固定されると、コンデンサＣの充電電圧Ｖｃはしきい値電圧Ｖｔｈを越え、これによりコンパレ−タＣＯＭＰが作動して、出力端子ＯＵＴの電位は“Ｈ”から“Ｌ”へと変化する。この“Ｈ”から“Ｌ”への変化に応答して、ＣＰＵ１では強制的にリセットが掛けられる。
【０００７】
ＣＰＵ１に内蔵されたＲＯＭに格納されたプログラムの構成を図７のフロ−チャ−トに概略的に示す。一般に、この種のマイクロコンピュ−タのプログラムは、電源投入直後に実行されるべきシステムイニシャライズプログラムと本来の目的である制御プログラムとに大別されるのであるが、ここで問題としている動作状態監視のためには、さらにポ−トＰオン命令、ポ−トＰオフ命令並びに制御周期Ｔｃの経過監視処理とが追加される。この例では、ポ−トＰオン命令とポ−トＰオフ命令とは制御プログラムを挟んでその前後に配置されている。ポ−トＰオン命令とは、ポ−トＰに相当するアドレスを指定してこれをオンすべき命令であり、またポ−トＰオフ命令とはポ−トＰのアドレスを指定してこれをオフすべき命令である。制御周期経過監視処理とは、ポ−トＰがオンされてからあらかじめ決められた制御周期Ｔｃが経過したことを監視する処理である。これらの処理を追加することにより、ＣＰＵが正常に動作している場合には、ポ−トＰからはほぼ一定の周期でオンオフを繰り返すパルス列が出力される。
【０００８】
すなわち、電源投入によりパワ−オンリセットが掛かって処理が開始されると、まずシステムイニシャライズ処理が実行されて、各種フラグやレジスタ類の初期設定がなされた後（ステップ７０１）、制御プログラムの実行に先立ちポ−トＰオン命令が実行されて、出力ポ−トＰの状態はオン（“Ｈ”）に設定操作される（ステップ７０２）。その後、制御プログラムが実行されることにより（ステップ７０３）、ポートＰのオン状態はその時々で変化する制御プログラムの実行所要時間で規定されるオン時間Ｔｏｎだけ維持される。制御プログラムの実行が終了すると、ポートＰオフ命令が実行されて、ポートＰの状態はオフ（“Ｌ”）に設定操作される。その後制御周期Ｔｃの経過判定処理が実行されることにより（ステップ７０５）、ポートＰのオフ状態は、ポートＰをオンさせたのち、制御周期Ｔｃが経過するまでに相当するオフ時間Ｔｏｆｆだけ維持される。その結果、ＣＰＵ１が正常に動作している場合には、ポ−トＰから出力されるパルス列の周期Ｔｘは制御周期Ｔｃに一致するのに対し、制御プログラムの実行中に何等かの異常が発生してその実行時間が異常に長くなると、ポートＰから出力されるパルス列の周期Ｔｘは制御周期Ｔｃよりも長くなり、また制御プログラムの実行中に何等かの異常が発生して、制御プログラムの実行が中断してしまうと、ポートＰ操作命令（ポートＰオン命令並びにポートＰオフ命令）は実行されなくなり、その結果ポートＰからの状態信号は“Ｈ”もしくは論理“Ｌ”に固定される。そして、周期監視型の監視回路２では、ポートＰから出力される状態信号の内容が、上述した正常時の場合と異常時の場合とのいずれにあるかに基づいて、ＣＰＵ１の動作異常を判定することができるのである。
【０００９】
次に、周期監視型の監視回路２における想定される異常時の動作を図８のタイミングチャートに示す。なお、図において（ａ）はＣＰＵ１のポートＰから出力されて入力端子ＩＮに供給される状態信号、（ｂ）は微分回路ＤＦから出力される微小幅“Ｈ”パルス、（ｃ）はコンデンサＣの充電電圧、（ｄ）は出力端子ＯＵＴからＣＰＵ１のリセット端子ＲＳＴに供給される信号である。
【００１０】
同図に示されるように、ＣＰＵ１が正常に動作している場合、入力端子ＩＮに供給される状態信号中のオン周期Ｔｘは前述した制御周期Ｔｃに維持されている。そのため、コンデンサＣの充電電圧Ｖｃは、状態信号中のオンタイミングに応答して繰り返し放電され、しきい値電圧Ｖｔｈを越えることはなく、その結果、出力端子ＯＵＴのレベルは“Ｈ”に維持されている。これに対して、時刻ｔ１にＣＰＵに何等かの異常が発生したことにより、状態信号のレベルが“Ｈ”に固定されてしまうと、最新のオンタイミングである時刻ｔ０から基準時間Ｔｒｅｆが経過した時点において、コンデンサＣの充電電圧Ｖｃはしきい値電圧Ｖｔｈを越え、出力端子ＯＵＴのレベルは“Ｈ”から“Ｌ”に変化する。そして、この論理“Ｈ”から論理“Ｌ”への変化タイミングに応答して、ＣＰＵ１ではリセット動作が行われる。
【００１１】
この様に、図５並びに図６に示される周期監視型の監視回路を備えた動作異常監視方法によれば、状態信号のレベルを“Ｈ”もしくは“Ｌ”に固定させてしまうような動作異常に対しては、最新のオン時刻ｔ０から基準時間Ｔｒｅｆが経過した時点において異常発生を確実に判定し、必要に応じてＣＰＵ１に対してリセットを掛けることができる。ここで、基準時間Ｔｒｅｆの値は、原理的には、制御周期Ｔｃと略一致させることができる。換言すれば、この様な動作異常監視方法によれば、状態信号のレベルを“Ｈ”または論理“Ｌ”に固定させるような異常動作であるかぎり、その発生時刻ｔ１から最大１制御周期Ｔｃ以内において、異常動作の発生を判定し、これによりＣＰＵ１に対してリセットを掛けることが可能となる。
【００１２】
【発明が解決しようとする課題】
ところで、この種のＣＰＵにおいて所謂プログラム暴走等の動作異常が発生した場合、多数存在する出力ポートのいずれかが、動作異常が発生しているにも拘らず、繰り返しオンオフして所謂バタツキ現象を起こすことが希に経験的に知られている。この様なバタツキ現象には、プログラムの暴走中に当該出力ポートにかかるオンオフ命令がたまたま実行されたことを原因とする場合（以下、第１の原因による場合と称する）と、プログラムの暴走中にフェッチ動作の乱れにより別の命令が当該出力ポートに関するオンオフ命令に化けてしまい、それにより当該出力ポートから疑似的なオンオフ出力が発せられている場合（以下、第２の原因による場合と称する）とがあるものと推定される。そして、この様な第２の原因による場合がもしも上述した状態信号出力用の出力ポートＰについて起こると、先に説明した従来の動作異常監視方法においては様々な不都合が生ずるとの知見が得られた。
【００１３】
周期監視型の監視回路２における従来想定されていない異常時の動作（１）を図９のタイミングチャートに示す。なお、同図において、（ａ）〜（ｄ）の信号の意味するところは、図８に示されるものと同様であるから、説明は省略する。
【００１４】
同図に示されるように、ＣＰＵ１が正常に動作している場合、状態信号中のオン周期Ｔｘは制御周期Ｔｃに維持されており、前述の経過を経て出力端子ＯＵＴの信号レベルは“Ｈ”に維持されている。これに対して、時刻ｔ２においてＣＰＵ１に何等かの動作異常が発生したものとすると、従来想定された異常動作の場合には、図中１点鎖線ｌ１に示されるように、その後状態信号のレベルは“Ｌ”に固定され、前述の経過を経て、正常なオン出力が得られた時刻ｔ０から基準時間Ｔｒｅｆが経過した時点において、ＣＰＵ１にリセットがかかるはずである。
【００１５】
ところが、正常なオン出力が得られた時刻ｔ０から基準時間Ｔｒｅｆが経過する以前に、先に述べた第２の原因による疑似オン出力が時刻ｔ３に発生すると、それに応答してコンデンサＣの充電電圧Ｖｃは瞬時に放電されてしまうため、その後、基準時間Ｔｒｅｆが経過して、充電電圧Ｖｃが閾値電圧Ｖｔｈに達するまでの間、異常動作の判定を行うことができない。換言すれば、従来想定されていた異常動作の場合であれば、最新のオン出力が得られた時刻ｔ０から１制御周期Ｔｃが経過した時点でＣＰＵ１にリセットをかけることができたのに対し、この様な従来想定されていなかった異常動作の場合には、疑似オン出力が得られた時刻ｔ３からさらに１制御周期Ｔｃが経過するまで異常動作を判定することができず、ＣＰＵ１の暴走状態等を放置せざるを得ないという問題点がある。
【００１６】
周期監視型の監視回路２における従来想定されていない異常時の動作（２）を図１０のタイミングチャートに示す。なお、同図においても（ａ）〜（ｄ）の内容は図８に示されるものと同様であるから説明は省略する。
【００１７】
同図に示されるように、ＣＰＵ１が正常に動作している場合、状態信号中のオン信号の出力周期Ｔｘは制御周期Ｔｃに維持されており、これにより前述の経過を経て、出力端子ＯＵＴの信号レベルは“Ｈ”に維持されている。これに対して、時刻ｔ１１にＣＰＵに何等かの動作異常が発生したことに基づき、それ以降時刻ｔ４，ｔ６，ｔ８，ｔ１０に前述した第２の原因による疑似オン出力が得られ、また時刻ｔ５，ｔ７，ｔ９に第２の原因による疑似オフ出力が得られ、しかも疑似オン出力の周期Ｔｘが基準時間Ｔｒｅｆよりも短いと、異常動作が発生した時刻ｔ１１以降であっても、コンデンサの充電電圧Ｖｃの値は閾値電圧Ｖｔｈを越えることができず、出力端子ＯＵＴのレベルは“Ｈ”のままとなってしまう。その結果、この様な疑似オン出力と疑似オフ出力とが交互に得られているかぎり、ＣＰＵ１にリセットを掛けることができないと言う問題点が生ずる。
【００１８】
この様に、従来の周期監視型の監視回路を用いたＣＰＵの動作監視方法においては、異常動作の発生以降、状態信号のレベルが“Ｈ”もしくは“Ｌ”に固定されたり、あるいはオン周期Ｔｘが基準時間Ｔｒｅｆよりも長くなるといった動作異常に対しては、最新のオン出力から基準時間Ｔｒｅｆが経過した時点で動作異常の発生を判定し、必要に応じてＣＰＵにリセットを掛けることができるのに対し、別の命令が状態信号出力ポートに関する操作命令（オン命令もしくはオフ命令）に化けて、異常動作発生以降についても、疑似オン出力や疑似オフ出力が得られると言った動作異常に対しては、必ずしも有効に機能し得ないという問題点があった。
【００１９】
この発明は、従来の周期監視型の監視回路を用いたマイクロコンピュータの動作監視装置に於ける以上の問題点を解決するためになされたものであり、その目的とするところは、この種のマイクロコンピュ−タの動作監視において、異常動作の発生以降疑似オン出力が得られると言った動作異常が発生した場合、当該疑似オン出力の発生時刻から１制御周期を待つこと無く、可及的速やかに異常動作の発生を判定可能とすることにある。
【００２０】
【課題を解決するための手段】
この出願の請求項１に記載の発明は、１命令の実行により同時には操作できないように別個のアドレスにそれぞれ割り当てられた複数の出力ポートと、前記複数の出力ポートのそれぞれ毎に設けられかつ監視対象プログラムを互いに共有するようにして当該監視プログラムの一巡実行ループ中に、１命令実行時間の遅れを持って順次に実行されるように相連続するステップとして、前記監視対象プログラムを挟んでその前後に挿入された状態信号送出用のオンオフ一対の複数のポート操作命令を格納したＲＯＭと、を含み、それにより、前記監視対象プログラムの実行に連動して、前記複数の出力ポートから、前記各対のポート操作命令の実行タイミングの相違に対応する一定のタイミングズレを相互に有する複数の周期的な状態信号を出力するように構成したマイクロコンピュータと、前記マイクロコンピュータの前記複数の出力ポートから出力される複数の周期的な状態信号の少なくとも２つに着目して、両者間に論理不一致が生ずる毎に、所定の時間だけ計時動作を繰り返し、前記計時動作の完了と共に計時完了信号を出力するタイマを有し、前記タイマによって、両者間におけるタイミングズレを監視し、そのタイミングズレが規定範囲を外れたことに基づいて前記マイクロコンピュータの動作異常を判定するタイミング監視回路とを具備することを特徴とするマイクロコンピュータの動作監視装置である。
【００２１】
ここで、『１命令の実行により同時には操作できないように別個のアドレスにそれぞれ割り当てられた』とあるのは、例えば８ビットマイクロコンピュ−タの場合であれば、出力ポ−トのそれぞれを、別個のアドレスに出力されるべき１バイト分のデ−タ若しくはその構成ビットに割り当てることを意味するものであり、複数の出力ポ−トのそれぞれを同一のアドレスに出力されるべき１バイト分のデ−タの各構成ビットに割り当てるような場合を排除する趣旨である。このように複数の出力ポ−トのそれぞれを別個のアドレスに割り当てるのは、後に詳細に説明するように、本発明にあっては、複数の出力ポ−トのそれぞれからのオン信号若しくはオフ信号の出力タイミングのずれを問題としているからである。
【００２２】
また、『複数の出力ポ−ト』とあるのは、出力ポ−トの数は実施例では２個であるが、それ以上でも良いことを意味している。
【００２３】
また、『複数の出力ポ−トのそれぞれごとに設けられ〜複数のポ−ト操作命令』とあるのは、例えば、出力ポ−トの数が２個であればポ−ト操作命令についても２組設けられることを意味している。
【００２４】
また、『状態信号送出用のオンオフ一対の複数のポ−ト操作命令』とあるのは、各ポ−ト操作命令のそれぞれは、互いに対をなすポ−トオン命令とポ−トオフ命令とから構成されることを意味している。
【００２５】
また、『監視対象プログラムを互いに共有する〜複数のポ−ト操作命令』とあるのは、一個の監視対象プログラム（実施例では、制御プログラム）に対して２組以上のポ−ト操作命令が組み込まれていることを意味しており、監視対象プログラムが複数ある場合において、それぞれにポ−ト操作命令を１組ずつ組み込み、全体としてポ−ト操作命令が複数組存在するごとき場合を排除することを意味している。
【００２６】
そして、この請求項１に記載の発明によれば、マイクロコンピュ−タが正常に動作している場合にかぎり、複数の出力ポ−トのそれぞれからは、各対のポ−ト操作命令の実行タイミングの相違に対応する一定のタイミングずれを相互に有する複数の周期的な状態信号が出力されるのに対し、マイクロコンピュ−タに何等かの動作異常が発生して、何等かの命令がいずれかの出力ポ−トに関するポ−ト操作命令（ポ−トオン命令もしくはポ−トオフ命令）に化けて実行されたような場合には、疑似オン出力もしくは疑似オフ出力は得られるであろうものの、相異なる２つの状態信号の相互において、命令化けに起因するオン出力もしくはオフ出力が正常時と同一のタイミングずれを持って発生することは確率的に極めて希であろうから、このタイミングずれが正常時のずれから外れていることに基づいて、この様な命令化けに起因する動作異常を的確に判定することが可能となる。
【００２８】
また、『マイクロコンピュ−タの前記複数の出力ポ−トから出力される複数の周期的な状態信号の少なくとも２つに着目して』とあるのは、周期的な状態信号が２系統である場合におけるそれらの両者に着目する場合を含むことは勿論のこと、周期的な状態信号が３系統以上存在する場合において、それらの任意の２つに着目したり或いは３つ以上に着目する場合を含むことを意味している。
【００２９】
また、『両者間に於けるタイミングずれを監視し、そのタイミングずれが規定範囲を外れたことに基づいて』とあるのは、実施例に示される場合のほかに、タイミングずれが規定値よりも短いことに基づいて動作異常を判定する場合も含まれることを意味している。
【００３０】
また、この請求項１に記載の発明によれば、何等かの命令がいずれかのポ−ト操作命令に化けて実行されるごとき動作異常が発生した場合であっても、これを着目された２つの状態信号に於けるタイミングずれが規定範囲を外れたことに基づいて的確に判定することができ、この判定出力によりマイクロコンピュ−タにリセットを掛けたり、警報出力を発したり、或いはデュアルマイコンシステムであれば、別のマイコンに制御権を受け渡すなどの様々な対応措置を採ることが可能となる。
【００３８】
また、『各ポ−ト操作命令を構成する一対のオンオフ命令のそれぞれを監視対象プログラムを挟んでその前後に挿入する』とあるのは、例えば出力ポ−トが２個存在する場合において、それぞれのポ−トオン命令を監視対象プログラムの前側に配置し、それぞれのポ−トオフ命令を監視対象プログラムの後側に配置する場合を含むことは勿論であるが、それ以外にも第１の出力ポ−トに対応するポ−トオン命令と第２の出力ポ−トに対応するポ−トオフ命令とを監視対象プログラムの前側に配置し、第１の出力ポ−トに対応するポ−トオフ命令と第２の出力ポ−トに対応するポ−トオン命令とを監視対象プログラムの後ろ側に配置する場合のように、必ずしもポ−トオン命令同志もしくはポ−トオフ命令同志を一括して配置しない場合を含むことを意味している。
【００３９】
また、『一命令実行時間の遅れをもって順次に実行されるように相連続するステップとして挿入する』とあるのは、例えば、各ポ−ト操作命令を構成するオン命令同志を一切別の命令を挟むこと無く連続して配列し、他方オフ命令同志についても一切別の命令を挟むこと無く連続して配列することを意味している。
【００４０】
また、この請求項１に記載の発明によれば、各対のポ−ト操作命令の実行タイミングの相違に対応する一定のタイミングずれは最短のものとなるため、動作異常に基づいて疑似オン出力もしくは疑似オフ出力が状態信号中に発生した場合、最短の遅れ時間をもって可及的速やかに動作異常の発生を判定することができる。 また、この出願の請求項２に記載の発明は、前記監視対象プログラムの前側並びに後側に相連続するステップとして挿入された一連のポート操作命令の前後には割り込み禁止命令と割り込み許可命令とが挿入されていることを特徴とする請求項１に記載のマイクロコンピュータの動作監視装置にある。
【００４１】
ここで、『割り込み禁止命令』もしくは『割り込み許可命令』とあるのは、この種のマイクロコンピュ−タに於いて良く知られた命令であり、それらを利用することによって割り込み信号の受け付けを禁止したり許可したりすることができる命令である。
【００４２】
そして、この請求項２に記載された発明によれば、相連続して配列されたオン命令もしくはオフ命令の間に割り込み信号が到来したとしても、その様な割り込み信号は受け付けられなくなるため、割り込み信号の到来にかかわらず、複数の状態信号相互間に於ける一定のタイミングずれを維持し続けることができ、それらポ−ト操作命令の間に割り込み処理が実行されることに基づくタイミングずれの変化により、マイクロコンピュ−タに誤動作が生じたと誤認する恐れを回避することができる。
【００４３】
【発明の実施の形態】
以下、この発明の好ましい実施の形態につき、添付図面を参照して詳細に説明する。
【００４４】
本発明が適用されたマイクロコンピュ−タシステムのハ−ドウェア構成を図１に概略的に示す。同図において、ＣＰＵ３は、この例では車両用アンチロックブレ−キシステムの制御に用いられる８ビット構成のワンチップマイクロコンピュ−タであり、その内部には図示しないが、制御用の各種システムプログラムを格納したＲＯＭ、ワ−キングエリアなどとして使用されるＲＡＭ、演算処理の際に利用される各種のタイマやカウンタなどが内蔵されている。この種のＣＰＵ３には多数の入出力ポ−トが備えられているが、この例では説明の便宜のために、本発明と関連する２つの状態信号送出用出力ポ−トＰ１，Ｐ２とリセット信号を受け付けるためのリセット端子ＲＳＴのみが示されている。
【００４５】
出力ポ−トＰ１と出力ポ−トＰ２とは、１命令の実行により同時には操作できないようにまったく別個のアドレスにそれぞれ割り当てられている。これら２つの出力ポ−トＰ１，Ｐ２は、抵抗Ｒ６，Ｒ７を介して電源Ｖｃｃにプルアップされており、ＣＰＵ３がリセット信号を受けてリセット状態となり、これに伴い出力ポ−トＰ１，Ｐ２がハイインピ−ダンス状態となると、それら出力ポ−トの出力ラインは電源Ｖｃｃにプルアップされる。
【００４６】
ＣＰＵ３の出力ポ−トＰ１から出力される状態信号は、周期監視型の監視回路である第１の監視回路４と本発明により新たに追加されたタイミングずれ監視型の監視回路である第２の監視回路５へと供給されている。また、ＣＰＵ３の出力ポ−トＰ２から出力される状態信号は、第２の監視回路５にのみ供給されている。そして、これら２つの出力ポ−トＰ１，Ｐ２からは、後に詳細に説明するように、監視対象プログラムの実行に連動して、各対となるポ−ト操作命令（ポ−トオン命令とポ−トオフ命令）の実行タイミングの相違に対応する一定のタイミングずれを相互に有する２系統の周期的な状態信号が出力される。
【００４７】
第１の監視回路４は、従来から用いられている周期監視型の監視回路であり、この例では出力ポ−トＰ１から出力されて入力端子ＩＮ１に供給される状態信号の周期を監視し、その周期が規定値よりも長くなったことに基づいてＣＰＵ３の動作異常を判定し、これに応答して出力端子ＯＵＴ１のレベルを論理“Ｈ”から論理“Ｌ”に変化させるようになされている。第２の監視回路５は、タイミングずれ監視型の監視回路であり、前述した２個の出力ポ−トＰ１，Ｐ２から出力される２系統の周期的な状態信号に着目し、両者間に於けるタイミングずれを監視し、そのタイミングずれが規定値を越えたことに基づいてＣＰＵ３の動作異常を判定し、これに応答して出力端子ＯＵＴ２のレベルを論理“Ｈ”から論理“Ｌ”に変化させるように構成されている。そして、これら出力端子ＯＵＴ１，ＯＵＴ２から出力される信号は、互いにワイヤ−ドオア接続された後、ＣＰＵ３のリセット端子ＲＳＴへと供給される。
【００４８】
第１の監視回路４並びに第２の監視回路５の詳細を図２の回路図に示す。同図に示されるように、周期監視型の監視回路である第１の監視回路４は、先に説明した図６に示される従来の監視回路２と全く同一の構成を有する。そのため、重複説明を回避するために、第１の監視回路４の内部素子については図６に示される監視回路２と同一符号が付されている。
【００４９】
これに対して、タイミングずれ監視型の監視回路である第２の監視回路５は、本発明に関連して新たに追加されたものである。すなわち、この第２の監視回路５は、出力ポ−トＰ１から出力される状態信号と出力ポ−トＰ２から出力される状態信号との排他的論理和を取るための排他論理和ゲートＥ−ＯＲと、この排他論理和ゲートＥ−ＯＲの出力が“Ｈ”のときに抵抗Ｒ８を介して充電されかつ“Ｌ”のときにダイオ−ドＤ並びに排他論理和ゲートＥ−ＯＲ内の電源ラインを介して瞬時に放電されるコンデンサＣ１と、電源Ｖｃｃを抵抗Ｒ９とＲ１０により分圧することによってしきい値電圧Ｖｔｈ１を得るための抵抗分圧回路と、演算増幅器ＯＰ１を中心として構成されコンデンサＣ１の充電電圧Ｖｃ１と前述したしきい値電圧Ｖｔｈ１とを比較しその比較結果を出力端子ＯＵＴ２へと送出するコンパレ−タＣＯＭＰ１とから構成されている。
【００５０】
次に、ＣＰＵ１に内蔵されたＲＯＭ内に格納されたプログラムの構成を図３のフロ−チャ−トを参照して説明する。同図に示されるように、ＲＯＭ内に格納されたプログラムは、システムイニシャライズプログラムと本来の目的である制御プログラム（この例では、車両用アンチロックブレ−キシステム用制御プログラム）とから構成されている。そして、出力ポ−トＰ１用のポ−ト操作命令を構成する一対のオンオフ命令（ポ−トＰ１オン命令とポ−トＰ１オフ命令）並びに出力ポ−トＰ２用のポ−ト操作命令を構成する一対のオンオフ命令（ポ−トＰ２オン命令とポ−トＰ２オフ命令）とは、監視対象となる制御プログラムを挟んでその前後に挿入されており、かつ一命令実行時間の遅れをもって順次に実行されるように相連続するステップとして挿入されている。
【００５１】
すなわち、制御プログラムの前側にはポ−トＰ１オン命令とポ−トＰ２オン命令とが一命令実行時間の遅れをもって順次に実行されるように相連続するステップとして挿入されており、また監視対象となる制御プログラムの後ろ側にはポ−トＰ１オフ命令とポ−トＰ２オフ命令とが同様にして一命令実行時間の遅れをもって順次に実行されるように相連続するステップとして挿入されている。
【００５２】
さらに、ポ−トＰ１オン命令並びにポ−トＰ２オン命令を挟んでその前後には割り込み禁止命令と割り込み許可命令とが挿入され、これによりポ−トＰ１オン命令とポ−トＰ２オン命令とは割り込み信号が到来しても必ず連続して実行されるように保証されている。同様にして、ポ−トＰ１オフ命令並びにポ−トＰ２オフ命令を挟んでその前後にも、割り込み禁止命令と割り込み許可命令とが挿入されており、これによりポ−トＰ１オフ命令とポ−トＰ２オフ命令とはその間に割り込み信号が到来しても必ず連続して実行されるように保証されている。
【００５３】
さらに、ポ−トＰ１オフ命令並びにポ−トＰ２オフ命令に続くステップには、制御周期Ｔｃの経過を監視する制御周期経過監視処理が含まれており、その結果ポ−トＰ１オン並びにポ−トＰ２オンのオン周期は、プログラムが正常に動作しているかぎり、ほぼ制御周期Ｔｃに維持されるように成されている。
【００５４】
以上の構成において、例えば電源投入後のパワ−オンリセット信号によりプログラムがスタ−トすると、システムイニシャライズ処理が実行された後（ステップ３０１）、制御プログラムの実行に先立ち、まず割り込み禁止処理が実行され（ステップ３０２）、その後ポ−トＰ１オン命令とポ−トＰ２オン命令とが１命令実行時間の遅れをもって順次に実行され（ステップ３０３，３０４）、その後、割り込み許可命令を実行して（ステップ３０５）、本来の制御プログラムの実行が開始される（ステップ３０６）。制御プログラム中には幾つかの分岐処理が存在するため、制御プログラムの実行時間はその時々の制御負荷の状態に応じて変化する。
【００５５】
このようにして制御プログラムの実行が完了すると（ステップ３０６）、再び割り込み禁止命令が実行された後（ステップ３０７）、ポ−トＰ１オフ命令とポ−トＰ２オフ命令とが一命令実行時間の遅れをもって順次に実行され（ステップ３０８，３０９）、その後、割り込み許可命令が実行される（ステップ３１０）。以後、制御周期経過監視処理が実行されて、制御周期Ｔｃの経過を待機し、制御周期Ｔｃの経過とともに（ステップ３１１ＹＥＳ）、以上の処理（ステップ３０２〜ステップ３１１）が繰り返し実行される。その結果、出力ポ−トＰ１と出力ポ−トＰ２とからは、互いに１命令実行時間（この例では、１．６μｓ）のタイミングずれを有する２系統の周期的な状態信号が出力されるのである。この様に、出力ポ−トＰ１に関するポ−ト操作命令（ポ−トＰ１オン命令とポ−トＰ１オフ命令）と出力ポ−トＰ２に関するポ−ト操作命令（ポ−トＰ２オン命令とポ−トＰ２オフ命令）とは、監視対象プログラムである制御プログラムを互いに共有するようにして、制御プログラムを経由する制御ル−プ内に挿入されているのである。
【００５６】
次に、第１の監視回路４並びに第２の監視回路５に於ける新たに想定された異常時の動作を図４のタイミングチャ−トを参照しながら説明する。なお、同図に於いて、（ａ）は出力ポ−トＰ１から出力され第２の監視回路の入力端子ＩＮ２１に供給される状態信号、（ｂ）は出力ポ−トＰ２から出力されて第２の監視回路の入力端子ＩＮ２２に供給される状態信号、（ｃ）は第２の監視回路内に於ける排他論理和ゲートＥ−ＯＲの出力、（ｄ）は第２の監視回路内のコンデンサＣ１の充電電圧、（ｅ）は第２の監視回路の出力端子ＯＵＴ２の信号、（ｆ）は第１の監視回路内の微分回路ＤＦの出力、（ｇ）は第１の監視回路内のコンデンサＣの充電電圧、（ｈ）は第１の監視回路の出力端子ＯＵＴ１の信号をそれぞれ示している。
【００５７】
ＣＰＵ３が正常に動作している場合、ＣＰＵ３の出力ポ−トＰ１並びに出力ポ−トＰ２からは、監視対象となる制御プログラムの実行に連動して、各対のポ−ト操作命令（ポ−トＰ１オン命令及びポ−トＰ１オフ命令、並びに、ポ−トＰ２オン命令及びポ−トＰ２オフ命令）の実行タイミングの相違に対応する一定のタイミングずれ（この例では、一命令実行時間に相当する１．６μｓ）を相互に有する２系統の周期的な状態信号が出力される。これら２系統の状態信号に於けるオン時間Ｔｏｎはその時々の制御プログラム実行時間に応じて変化するものであり、この例では４〜６．５ｍｓ程度に設定されている。また、各状態信号中に於けるオン周期Ｔｘは制御周期Ｔｃ（この例では７ｍｓ）に維持されている。先に説明したように、この様な状態においては、第１の監視回路４内に於けるコンデンサＣの充電電圧Ｖｃのピ−クは閾値電圧Ｖｔｈに達することはなく、その結果第１の監視回路４の出力端子ＯＵＴ１のレベルは“Ｈ”に維持されている。
【００５８】
他方、第２の監視回路５内に於ける排他論理和ゲ−トＥ−ＯＲの出力側には、前述したタイミングずれＴＤｘ（この例では、１．６μｓ）に相当する時間幅を有する“Ｈ”パルスが出力され、これによりコンデンサＣ１の充電電圧Ｖｃ１は充放電を繰り返すが、この状態に於ける充電電圧Ｖｃ１のピ−クは閾値電圧Ｖｔｈ１を越えることはなく、その結果出力端子ＯＵＴ２のレベルについても“Ｈ”に維持されている。
【００５９】
これに対して、時刻ｔ１３においてＣＰＵ３に何等かの異常動作が発生すると、その後に出力ポ−トＰ１から出力される状態信号は図中一点鎖線ｌ１に示されるように“Ｌ”状態に固定されるはずであるが、このとき何等かの原因で別の命令がポ−トＰ１オン命令に化けて実行されると、時刻ｔ１２に於いて状態信号中に疑似オン出力が発生する。この様な場合、先に説明した周期監視型の監視回路のみでは、その後周期基準時間Ｔｒｅｆが経過するまで、異常状態の発生を判定することができない。
【００６０】
これに対して、本発明にあっては、時刻ｔ１２に於いて疑似オン出力が発生すると、以後ポ−トＰ１から出力される状態信号とポ−トＰ２から出力される状態信号との間に論理不一致が生ずるため、排他論理和ゲートＥ−ＯＲの出力は“Ｈ”に固定され、その結果タイミングずれ基準時間ＴＤｒｅｆの経過とともに、コンデンサＣ１の充電電圧Ｖｃ１は閾値電圧Ｖｔｈ１を越えることとなって、コンパレ−タＣＯＭＰ１が作動し出力端子ＯＵＴ２の信号は“Ｈ”から“Ｌ”へと変化し（尚、このとき、図中破線ｌ２に示すように、ＯＵＴ１も“Ｈ”から“Ｌ”になる）、ＣＰＵ３に対してリセットが掛かることとなる。
【００６１】
なお、本発明においては、ポ−トＰ１から出力される状態信号中に時刻ｔ１２に於いて疑似オン出力が発生した後、同様にしてポ−トＰ２の出力中にもそれより僅かに遅れて疑似オン出力が発生すれば、両状態信号間に於ける論理不一致は解消されて、出力端子ＯＵＴ２のレベルは論理“Ｈ”に維持されてしまい、ＣＰＵにリセットは掛からない。しかし、このような状態は確率的にほとんど起こり得ない。なぜなら、そもそも時刻ｔ１２に疑似オン出力が発生するというのは、何等かの命令のオペランドがポ−トＰ１出力命令のオペランドに化けて実行されるという極めて希な状態であって、それに続いてポ−トＰ２の出力中にも同様な疑似オン出力が発生するなどという確率は極めて低いことに加え、さらにそれらの疑似オン出力の発生がタイミングずれ基準時間ＴＤｒｅｆ内において重なるなどと云う確率は、ほとんど無視できる程度に極めて低い。なお、この例では、タイミングずれ基準時間ＴＤｒｅｆとしては９８．６μｓが採用されているが、このタイミングずれ基準時間ＴＤｒｅｆの値は、原理的には限りなくタイミングずれ時間ＴＤｘ（この例では１．６μｓ）に近付けることができる。そして、このタイミングずれ基準時間ＴＤｒｅｆの値を短くすればするほど、それらの間に２つの状態信号中に共に疑似オン出力が発生する可能性は一層低くなり、実用上は無視できる程度にまで低下させることができる。しかも、このタイミングずれ基準時間ＴＤｒｅｆを短くすればするほど、疑似オン出力が発生した後ＣＰＵ異常発生を判定する応答時間は短くなり、この様な異常発生を可及的速やかに判定可能となるのである。
【００６２】
なお、従来より想定されている動作異常に対しては、ポ−トＰ１から出力される状態信号の値が“Ｈ”もしくは“Ｌ”に固定されると、最新のオン出力（正常オン出力もしくは疑似オン出力）から周期基準時間Ｔｒｅｆが経過した時点において、出力端子ＯＵＴ１のレベルは図中実線に示されるように、“Ｈ”から“Ｌ”へと変化し、この変化に応答してＣＰＵ３にリセットが掛かる。
【００６３】
そのため、図１並びに図２に示される２つの監視回路４，５を備えたマイクロコンピュ−タシステムにおいては、状態信号のレベルが“Ｈ”若しくは“Ｌ”に固定される異常動作時と、状態信号中に疑似オン出力が発生する動作異常状態のいずれにも的確に対応することができ、この種マイクロコンピュ−タに於ける動作異常をより精密に監視し、この種のコンピュ−タシステムに於ける信頼性を著しく向上させることができる。
【００６４】
以上の実施の形態においては、第２の監視回路５において、２つの状態信号相互に於ける立ち上がりエッジと立ち下がりエッジの双方のずれを監視しているが、必要に応じて立ち上がりエッジもしくは立ち下がりエッジのいづれかのずれを監視するようにしても良い。
【００６５】
なお、言うまでもないことであるが、図２に示された第１の監視回路４並びに第２の監視回路５の具体的な回路構成は、その一例にすぎないものである。すなわち、第１の監視回路４としては、ポートＰ１から出力される状態信号のオンタイミング若しくはオフタイミングが到来する毎に、基準時間（タイマ時間）Ｔｒｅｆの計時動作を繰り返し、計時完了と共に出力端子ＯＵＴ１から“Ｌ”を出力するタイマとして機能するものであればよく、また第２の監視回路５としては、ポートＰ１並びにポートＰ２から出力される２系統の状態信号相互間に論理不一致が生ずる毎に、基準時間（タイマ時間）ＴＤｒｅｆの計時動作を繰り返し、計時完了と共に出力端子ＯＵＴ２から“Ｌ”を出力するタイマとして機能するものであればよい。このような機能を有するタイマに関しては、当業者であれば様々な具体的な変形例が想起されるであろう。
【００６６】
また、図２に示される監視回路４，５は、タイマ回路における計時動作を中心として説明を行う関係から、当業者には当然に理解されるとして、ＣＰＵ３のリセット受付保証時間については配慮されていない。これについては、例えば第１の監視回路４の場合であれば、例えば、コンパレータＣＯＭＰとしてヒステリシス特性を有するものを採用して、リセット端子ＲＳＴの“Ｌ”状態がリセット受付保証時間だけ維持されるように構成すればよいであろう。また、第２の監視回路５の場合であれば、例えば、コンパレータＣＯＭＰ１として同様なヒステリシス特性を有するものを採用する一方、ダイオードＤと直列に微小な放電用抵抗を挿入したり、或いはダイオードＤを除去して抵抗８の値を適切に設計し、これによりリセット端子ＲＳＴの“Ｌ”状態がリセット受付保証時間だけ維持されるように構成すればよいであろう。
【００６７】
【発明の効果】
以上の説明から明らかなように、本発明によれば、別の命令がポ−トオン命令若しくはポ−トオフ命令に化けて実行された結果、当該ポートから出力される状態信号中に疑似オン出力もしくは疑似オフ出力が得られる如き異常動作であつても、これを可及的速やかに異常と判定することができ、この種異常判定に於ける信頼性を著しく向上させることができる。
【図面の簡単な説明】
【図１】本発明が適用されたマイクロコンピュータシステムのハードウェア構成を概略的に示すブロック図である。
【図２】周期監視型の第１の監視回路並びにタイミングずれ監視型の第２の監視回路の内部構成を詳細に示す回路図である。
【図３】本発明が適用されたＣＰＵのＲＯＭ内に格納されたシステムプログラムの構成を概略的に示すフローチャートである。
【図４】図２に示される第１並びに第２の監視回路におけ異常時の動作を説明するためのタイミングチャートである。
【図５】従来のマイクロコンピュータシステムのハードウェア構成を概略的に示すブロック図である。
【図６】従来のマイクロコンピュータシステムに適用された監視回路の内部構成を詳細に示す回路図である。
【図７】従来のＣＰＵ内のＲＯＭに格納されたシステムプログラムの構成を概略的に示すフローチャートである。
【図８】従来の監視回路に於ける想定される異常時の動作を説明するためのタイミングチャートである。
【図９】従来の監視回路に於ける想定されていない異常時の動作（１）を示すタイミングチャートである。
【図１０】従来の監視回路に於ける想定されていない異常時の動作（２）を示すタイミングチャートである。
【符号の説明】
１，３      ＣＰＵ
２          監視回路
４          周期監視型の監視回路である第１の監視回路
５          タイミングずれ監視型の監視回路である第２の監視回路
ＤＦ        微分回路
Ｑ          トランジスタ
Ｃ．Ｃ１    コンデンサ
Ｄ          ダイオード
Ｅ−ＯＲ      排他論理和ゲート
Ｒ１〜Ｒ１０      抵抗
ＣＯＭＰ．ＣＯＭＰ１      コンパレータ
ＯＰ．ＯＰ１      演算増幅器
【図１】
0003710565.tif 000002
【図２】
0003710565.tif 000003
【図３】
0003710565.tif 000004
【図４】
0003710565.tif 000005
【図５】
0003710565.tif 000006
【図６】
0003710565.tif 000007
【図７】
0003710565.tif 000008
【図８】
0003710565.tif 000009
【図９】
0003710565.tif 000010
【図１０】
0003710565.tif 000011