(57)【要約】  【課題】命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータを提供すること。  【解決手段】本発明のマイクロコンピュータ（２）は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、バス（２０）と、バス（２０）に接続された演算部（１０）と、バス（２０）と外部装置（３、４）とに接続された出力部（５０）とを具備する。演算部（１０）は、外部装置（３）を制御するための命令データ（１０１）と、命令データ（１０１）を反転して得られる診断用データ（１０２）とを出力する。出力部（５０）は、命令データ（１０１）と診断用データ（１０２）との比較結果（１５２）に基づいて命令データ（１０１）を外部装置（３）に出力する。  【選択図】図３
2005352545.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
前記バスに接続され、外部装置を制御するための命令データと、前記命令データを反転して得られる診断用データとを出力する演算部と、
前記バスと前記外部装置とに接続され、前記命令データと前記診断用データとの比較結果に基づいて前記命令データを前記外部装置に出力する出力部と
を具備するマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記出力部は、
前記演算部からの前記命令データを格納するレジスタと、
前記レジスタに格納された前記命令データと、前記演算部からの前記診断用データとが一致するか否かを表す診断結果を前記比較結果として生成する診断部と、
前記診断結果が前記命令データと前記診断用データとの一致を表さないとき、前記レジスタに格納された前記命令データを前記外部装置に出力する命令出力制御部と、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記命令データが異常であることを表す異常検出信号を前記外部装置に出力する異常信号出力制御部と
を備えるマイクロコンピュータ。
【請求項３】
請求項２に記載のマイクロコンピュータにおいて、
前記命令データと前記診断用データは、複数のビットを含み、
前記診断結果は、複数のビット診断結果を含み、
前記複数のビット診断結果のそれぞれは、前記命令データに含まれる前記複数のビットのそれぞれと、前記診断用データに含まれる前記複数のビットのそれぞれとが一致するか否かを表し、
前記命令出力制御部は、前記複数のビット診断結果のそれぞれが前記命令データと前記診断用データとの一致を表さないとき、前記レジスタに格納された前記命令データを前記外部装置に出力し、
前記異常信号出力制御部は、前記複数のビット診断結果のうちの少なくとも１つのビット診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記外部装置に出力する
マイクロコンピュータ。
【請求項４】
請求項２又は３に記載のマイクロコンピュータにおいて、
更に、
割込制御部を具備し、
前記異常信号出力制御部は、前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記外部装置に出力すると共に前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記命令データが異常であることを通知するための割込要求信号を出力し、
前記演算部は、前記割込制御部から前記割込要求信号が出力された場合、前記命令データの次の命令データと、前記診断用データの次の診断用データとの出力を停止する割込処理を実行する
マイクロコンピュータ。
【請求項５】
請求項４に記載のマイクロコンピュータにおいて、
前記異常信号出力制御部は、
前記診断結果が前記命令データと前記診断用データとの一致を表し、且つ、外部からのマスクオプション制御信号を入力しているとき、前記異常検出信号を前記外部装置に出力し、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記割込要求信号を出力する
マイクロコンピュータ。
【請求項６】
請求項５に記載のマイクロコンピュータにおいて、
前記異常信号出力制御部は、
前記診断結果が前記命令データと前記診断用データとの一致を表していても、前記マスクオプション制御信号を入力していないとき、前記異常検出信号を前記外部装置に出力せず、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記割込要求信号を出力し、
前記演算部は、前記割込制御部から出力された前記割込要求信号の数が設定数を超えたとき、前記割込処理を実行する
マイクロコンピュータ。
【請求項７】
エンジンとエンジン制御システムとを含む車両に設けられたコンピュータシステムであって、
請求項１〜６のいずれかに記載のマイクロコンピュータと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記エンジンを駆動するように前記エンジン制御システムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備するコンピュータシステム。
【請求項８】
車輪とアンチロックブレーキシステムとを含む車両に設けられたコンピュータシステムであって、
請求項１〜６のいずれかに記載のマイクロコンピュータと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記車輪のロックを防止するように前記アンチロックブレーキシステムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備するコンピュータシステム。
【請求項９】
請求項１〜６のいずれかに記載のマイクロコンピュータと、
エンジンと、
エンジン制御システムと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記エンジンを駆動するように前記エンジン制御システムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備する車両。
【請求項１０】
請求項１〜６のいずれかに記載のマイクロコンピュータと、
車輪と、
アンチロックブレーキシステムと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、急ブレーキ時に前記車輪のロックを防止するように前記アンチロックブレーキシステムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備する車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータとコンピュータシステムとに関する。
【背景技術】
【０００２】
近年、車両（例示；自動車）には、電装システムと、マイクロコンピュータとが実装されている。電装システムとしては、エンジンを駆動するエンジン制御システム、急ブレーキ時に車輪のロックを防止するアンチロックブレーキシステムが例示される。マイクロコンピュータは、命令コード（命令データ）を出力して電装システムを制御する。車両は、ユーザの操作により走行する。このため、マイクロコンピュータの誤動作はユーザの命に関わるため、マイクロコンピュータから出力される命令データには信頼性が要求される。
【０００３】
通常、信頼性を確保するために、診断装置（故障判定装置）が用いられる。図１は、従来のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。従来のコンピュータシステム３０１は、車両に設けられ、マイクロコンピュータ３０２（従来のマイクロコンピュータ）と、プリドライバ３０３と、診断装置３０４とを具備している。
マイクロコンピュータ３０２は、演算部であるＣＰＵコア３１０、データバス３２０と、ＲＯＭ３３０と、出力部３５０とを具備している。ＣＰＵコア３１０、ＲＯＭ３３０、出力部３５０は、データバス３２０に接続されている。出力部３５０には、プリドライバ３０３、診断装置３０４が接続されている。また、診断装置３０４は、プリドライバ３０３に接続されている。
プリドライバ３０３は、電装システムに接続され、電装システムは、車両の駆動部に接続されている。
【０００４】
ＲＯＭ３３０には命令コードが格納されている。ＣＰＵコア３１０は、外部からの指示に応じて、プリドライバ３０３が電装システムを制御するための命令コードをＲＯＭ３３０からデータバス３２０を介して読み出す。ＣＰＵコア３１０は、読み出した命令コードをデコードして命令データを発行する。このとき、ＣＰＵコア３１０は、命令データを出力部３５０にデータバス３２０を介して出力する。出力部３５０は、ＣＰＵコア３１０からの命令データを受け取って、プリドライバ３０３と診断装置３０４とに出力する。ＣＰＵコア３１０の暴走やデータバス３２０の異常により、ＣＰＵコア３１０から出力部３５０に転送される命令データが異常になる場合がある。
【０００５】
診断装置３０４は、マイクロコンピュータ３０２（出力部３５０）からの命令データを受け取り、その命令データが異常であるか否か（正常か異常か）を表す診断結果を生成する。診断装置３０４は、例えば、上記の複数の命令データである複数の診断用命令データを格納する記憶装置を有し、出力部３５０からの命令データと、その記憶装置に格納された診断用命令データとを比較し、命令データと診断用命令データとが一致するか否かを表す診断結果を生成する。
プリドライバ３０３は、マイクロコンピュータ３０２（出力部３５０）から命令データを受け取り、診断装置３０４から診断結果を受け取る。ここで、診断装置３０４からの診断結果が命令データと診断用命令データとの一致を表すとき、プリドライバ３０３は、命令データを電装システムに出力する。
【０００６】
命令を出力する技術として、特開２００２−１９６９４８号公報（特許文献１）に演算制御装置が記載されている。この演算制御装置は、アンチロックブレーキシステムに適用され、監視ユニットと、制御ユニットとを有することを特徴としている。
監視ユニットは、診断パルスを入力して周期時間を計時し該周期時間が所定のオーバーフロー判定時間よりも大きいと判断した場合に所定の状態値をとるオーバーフロービットを生成して所定時間の経過後に出力する。このとき、監視ユニットは、オーバーフロービットが所定の状態値であるときには所定時間の間にパルス上のリセット信号をアクティブレベルとして出力する。
制御ユニットは、制御動作時には単位制御の実行毎に診断パルスを発生する。制御ユニットは、リセット信号のアクティブレベルを入力したときには再起動されるとともに再起動を含む起動後にオーバーフロービットを入力して記憶する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値ではないときには最初の起動であると判断しオーバフロー判定時間よりも大きい監視ユニット検査時間のあいだ診断パルスの監視ユニットへの出力を停止する。制御ユニットは、監視ユニット検査時間内にリセット信号を入力しなかった場合に故障警告信号を発生する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値であるときには再起動と判断する。制御ユニットは、不揮発性メモリに記憶されたオーバフロー発生回数に１を加算して更新されたオーバフロー発生回数が所定の許容回数を超えた場合にも故障警告信号を出力する。
【０００７】
また、特開平１−１９１９４１号公報（特許文献２）に情報処理装置が記載されている。この情報処理装置は、命令コードを含む命令語の条件が命令コードに応じて予め設定された条件と一致していないときに不正フィールドとして例外処理を行うものであって、検出手段と、抑止手段とを有することを特徴としている。検出手段は、命令語において不正フィールドを検出する。抑止手段は、検出手段により不正フィールドが検出されたとき、命令語によるメモリへのアクセス要求を抑止する。
【０００８】
【特許文献１】特開２００２−１９６９４８号公報
【特許文献２】特開平１−１９１９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のコンピュータシステム３０１では、プリドライバ３０３は、マイクロコンピュータ３０２から命令データを受け取っても、診断装置３０４から診断結果（命令データが異常ではない）を受け取るまで、命令データを電装システムに出力できない。即ち、従来のコンピュータシステム３０１では、命令データを転送する転送時間が長くなる。このため、従来のコンピュータシステム３０１では、命令データを発行したときに、速やかに電装システムを制御することができないという問題がある。したがって、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータ及びコンピュータシステムが望まれる。
【００１０】
また、従来のコンピュータシステム３０１では、信頼性を確保するために、複数の命令データを格納するＲＯＭ３３０をマイクロコンピュータ３０２内に設け、複数の診断用命令データを格納する記憶装置を診断装置３０４内に設けている。このため、従来のコンピュータシステム３０１では、複数の命令データを格納する記憶手段（ＲＯＭ３３０、記憶装置）が２つ必要であり、システムが大型化し経済的ではない。したがって、命令データにおける信頼性を確保し、且つ、小型化を実現することができるマイクロコンピュータ及びコンピュータシステムが望まれる。
【００１１】
特許文献１に記載された技術によれば、各ユニットが故障、各ユニットに内蔵される装置（手段）が故障したときに、故障警告信号を出力するものである。上述の命令データに異常がある場合、特許文献１に記載された技術では対処できず、命令データにおける信頼性を確保できない。
【００１２】
特許文献２に記載された技術によれば、検出手段（テスト回路）は、命令コードを含む命令語の条件が命令コードに応じて予め設定された条件と一致しているか否かを検出するものである。特許文献２に記載された技術を上記のコンピュータシステム３０１に適用した場合、診断装置３０４は、マイクロコンピュータ３０２の出力部３５０内に設けられる。しかしながら、システム（この場合、マイクロコンピュータ３０２）が大型化し経済的ではない。
【００１３】
本発明の課題は、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の他の課題は、命令データにおける信頼性を確保し、且つ、小型化を実現することができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の更に他の課題は、システム仕様に応じた処理を行うことができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００１４】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
本発明のマイクロコンピュータ（２）は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、バス（２０）と、バス（２０）に接続された演算部（１０）と、バス（２０）と外部装置（３、４）とに接続された出力部（５０）とを具備する。
演算部（１０）は、外部装置（３）を制御するための命令データ（１０１）と、命令データ（１０１）を反転して得られる診断用データ（１０２）とを出力する。
出力部（５０）は、命令データ（１０１）と診断用データ（１０２）との比較結果（１５２）に基づいて命令データ（１０１）を外部装置（３）に出力する。
【００１６】
本発明のマイクロコンピュータ（２）によれば、演算部（１０）は、外部装置（プリドライバ３）を制御するための命令データ（１０１）と、命令データ（１０１）を反転して得られる診断用データ（１０２）とを出力し、出力部（５０）は、命令データ（１０１）と診断用データ（１０２）との比較結果（１５２）に基づいて命令データ（１０１）を外部装置（プリドライバ３）に出力する。このため、本発明のマイクロコンピュータ（２）によれば、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができる。
【００１７】
また、本発明のマイクロコンピュータ（２）によれば、出力部（５０）は、演算部（１０）によりメモリ（３０）から読み出された命令データ（１０１）と、演算部（１０）により命令データ（１０１）を反転して得られる診断用データ（１０２）とを比較している。このため、本発明のマイクロコンピュータ（２）によれば、命令データ比較用の記憶装置をマイクロコンピュータ（２）内に設ける必要がなく、システムが従来のそれよりも小型化し経済的である。このように、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。
【００１８】
本発明のマイクロコンピュータ（２）において、出力部（５０）は、レジスタ（６０）と、診断部（７０）と、命令出力制御部（８０）と、異常信号出力制御部（９０）とを備える。
レジスタ（６０）は、演算部（１０）からの命令データ（１０１）を格納する。
診断部（７０）は、レジスタ（６０）に格納された命令データ（１０１）と、演算部（１０）からの診断用データ（１０２）とが一致するか否かを表す診断結果（１５２）を比較結果として生成する。
命令出力制御部（８０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表さないとき、レジスタ（６０）に格納された命令データ（１０１）を外部装置（３）に出力する。
異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表すとき、命令データ（１０１）が異常であることを表す異常検出信号（１５４）を外部装置（３、４）に出力する。
【００１９】
本発明のマイクロコンピュータ（２）において、命令データ（１０１）と診断用データ（１０２）は、複数のビットを含む。
診断結果（１５２）は、複数のビット診断結果（１５１−０〜１５１−ｍ）を含む。
複数のビット診断結果（１５１−０〜１５１−ｍ）のそれぞれは、命令データ（１０１）に含まれる複数のビット（１０１−０〜１０１−ｍ）のそれぞれと、診断用データ（１０２）に含まれる複数のビット（１０２−０〜１０２−ｍ）のそれぞれとが一致するか否かを表す。
命令出力制御部（８０）は、複数のビット診断結果（１５１−０〜１５１−ｍ）のそれぞれが命令データ（１０１）と診断用データ（１０２）との一致を表さないとき、レジスタ（６０）に格納された命令データ（１０１）（１０１−０〜１０１−ｍ）を外部装置（３）に出力する。
異常信号出力制御部（９０）は、複数のビット診断結果（１５１−０〜１５１−ｍ）のうちの少なくとも１つのビット診断結果（１５１−ｉ）（ｉ＝０、１、…、ｍ）が命令データ（１０１）と診断用データ（１０２）との一致を表すとき、異常検出信号（１５４）を外部装置（３、４）に出力する。
【００２０】
本発明のマイクロコンピュータ（２）は、更に、割込制御部（４０）を具備する。
異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表すとき、異常検出信号（１５４）を外部装置（３、４）に出力すると共に割込制御部（４０）に出力する。
割込制御部（４０）は、異常検出信号（１５４）に応じて、命令データ（１０１）が異常であることを通知するための割込要求信号（１４０）を出力する。
演算部（１０）は、割込制御部（４０）から割込要求信号（１４０）が出力された場合、命令データ（１０１）の次の命令データ（１０１）と、診断用データ（１０２）の次の診断用データ（１０２）との出力を停止する割込処理を実行する。
【００２１】
本発明のマイクロコンピュータ２では、システム仕様に応じた処理を行うことができる。ユーザは、システム仕様として即時性割込処理と非即時性割込処理との一方をオプションとして選択することができる。即時性割込処理は、システムに即時性を求めるものであり、異常検出信号（１５４）を外部装置（３、４）と割込制御部（４０）とに出力する処理である。非即時性割込処理は、システムに即時性を求めないものであり、異常検出信号（１５４）を割込制御部（４０）に出力する処理である。
【００２２】
即時性割込処理において、異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表し、且つ、外部からのマスクオプション制御信号（２００）を入力しているとき、異常検出信号（１５４）を外部装置（３、４）に出力する。
異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表すとき、異常検出信号（１５４）を割込制御部（４０）に出力する。
割込制御部（４０）は、異常検出信号（１５４）に応じて、割込要求信号（１４０）を出力する。
【００２３】
非即時性割込処理において、異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表していても、マスクオプション制御信号（２００）を入力していないとき、異常検出信号（１５４）を外部装置（３、４）に出力しない。
異常信号出力制御部（９０）は、診断結果（１５２）が命令データ（１０１）と診断用データ（１０２）との一致を表すとき、異常検出信号（１５４）を割込制御部（４０）に出力する。
割込制御部（４０）は、異常検出信号（１５４）に応じて、割込要求信号（１４０）を出力する。
演算部（１０）は、割込制御部（４０）から出力された割込要求信号（１４０）の数（Ｍ）が設定数（Ｎ）を超えたとき、上記の割込処理を実行する。
【００２４】
本発明のコンピュータシステム（１）は、エンジン（６）とエンジン制御システム（５）とを含む車両に設けられている。
本発明のコンピュータシステム（１）は、上記のマイクロコンピュータ（２）と、プリドライバ（３）と、警告装置（４）とを具備する。
プリドライバ（３）は、マイクロコンピュータ（２）の命令出力制御部（８０）からの命令データ（１０１）に基づいて、エンジン（６）を駆動するようにエンジン制御システム（５）を制御する。
警告装置（４）は、マイクロコンピュータ（２）の異常信号出力制御部（９０）からの異常検出信号（１５４）を受け取ったとき、命令データ（１０１）が異常であることをユーザに通知するための警告情報を出力する。
【００２５】
本発明のコンピュータシステム（１）は、車輪（６）とアンチロックブレーキシステム（５）とを含む車両に設けられている。
本発明のコンピュータシステム（１）は、上記のマイクロコンピュータ（２）と、プリドライバ（３）と、警告装置（４）とを具備する。
プリドライバ（３）は、マイクロコンピュータ（２）の命令出力制御部（８０）からの命令データ（１０１）に基づいて、車輪（６）のロックを防止するようにアンチロックブレーキシステム（５）を制御する。
警告装置（４）は、マイクロコンピュータ（２）の異常信号出力制御部（９０）からの異常検出信号（１５４）を受け取ったとき、命令データ（１０１）が異常であることをユーザに通知するための警告情報を出力する。
【００２６】
本発明の車両は、上記のマイクロコンピュータ（２）と、エンジン（６）と、エンジン制御システム（５）と、プリドライバ（３）と、警告装置（４）とを具備する。
プリドライバ（３）は、マイクロコンピュータ（２）の命令出力制御部（８０）からの命令データ（１０１）に基づいて、エンジン（６）を駆動するようにエンジン制御システム（５）を制御する。
警告装置（４）は、マイクロコンピュータ（２）の異常信号出力制御部（９０）からの異常検出信号（１５４）を受け取ったとき、命令データ（１０１）が異常であることをユーザに通知するための警告情報を出力する。
【００２７】
本発明の車両は、上記のマイクロコンピュータ（２）と、車輪（６）と、アンチロックブレーキシステム（５）と、プリドライバ（３）と、警告装置（４）とを具備する。
プリドライバ（３）は、マイクロコンピュータ（２）の命令出力制御部（８０）からの命令データ（１０１）に基づいて、急ブレーキ時に車輪（６）のロックを防止するようにアンチロックブレーキシステム（５）を制御する。
警告装置（４）は、マイクロコンピュータ（２）の異常信号出力制御部（９０）からの異常検出信号（１５４）を受け取ったとき、命令データ（１０１）が異常であることをユーザに通知するための警告情報を出力する。
【発明の効果】
【００２８】
以上の構成により、本発明のマイクロコンピュータ（２）及びコンピュータシステム（１）によれば、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができる。また、本発明のマイクロコンピュータ（２）及びコンピュータシステム（１）によれば、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。また、本発明のマイクロコンピュータ（２）及びコンピュータシステム（１）によれば、システム仕様に応じた処理（即時性割込処理、非即時性割込処理）を行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、本発明のマイクロコンピュータについて詳細に説明する。
【００３０】
図２は、本発明のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。本発明のコンピュータシステム１は、車両（例示；自動車）に設けられ、マイクロコンピュータ２（本発明のマイクロコンピュータ）と、プリドライバ３と、警告装置４とを具備している。プリドライバ３と警告装置４は、マイクロコンピュータ２に対する外部装置である。
マイクロコンピュータ２は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、演算部であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）コア１０と、データバス２０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０と、割込制御部４０と、出力部５０とを具備している。ＣＰＵコア１０、ＲＯＭ３０、出力部５０は、データバス２０に接続されている。出力部５０は、汎用出力端子５１を介してプリドライバ３に接続されている。また、出力部５０は、異常信号出力端子５２を介してプリドライバ３、警告装置４に接続されている。また、警告装置４は、プリドライバ３に接続されている。
プリドライバ３は、アクチュエータ（電装システム）５に接続され、電装システム５５は、車両の駆動部６に接続されている。駆動部６は、エンジン、車輪を含み、電装システム５としては、エンジンを駆動するエンジン制御システム、急ブレーキ時に車輪のロックを防止するアンチロックブレーキシステムが例示される。
【００３１】
図３は、本発明のマイクロコンピュータ２の構成を示す図である。
【００３２】
ＲＯＭ３０には、プリドライバ３が電装システム５を制御するための、複数の命令コード（図示しない）が格納されている。ＲＯＭ３０には、コンピュータプログラム（図示しない）が更に格納されている。そのコンピュータプログラムは、命令コードをデコードして出力するための命令実行処理プログラム（図示しない）を含んでいる。
【００３３】
ＣＰＵコア１０は、命令データと、命令データを反転して得られる診断用データとを出力部５０にデータバス２０を介して出力する。このＣＰＵコア１０は、命令コードデコーダ１１と、診断用データ生成部１２とを備えている。
ＣＰＵコア１０は、外部からの命令実行指示に応じて、ＲＯＭ３０に格納された命令実行処理（プログラム）を実行する。この場合、命令コードデコーダ１１は、複数の命令コードの中から、命令実行指示に応じた命令コード１００をＲＯＭ３０からデータバス２０を介して読み出す。命令コードデコーダ１１は、読み出した命令コード１００をデコードして命令データ１０１を発行し、診断用データ生成部１２に出力する。
診断用データ生成部１２は、命令コードデコーダ１１からの命令データ１０１を出力部５０にデータバス２０を介して出力する。このとき、診断用データ生成部１２は、命令コードデコーダ１１からの命令データ１０１を反転して診断用データ１０２を生成して出力部５０にデータバス２０を介して出力する。
【００３４】
ＣＰＵコア１０の暴走やデータバス２０の異常により、ＣＰＵコア１０から出力部５０に転送される命令データ１０１が異常になる場合がある。出力部５０は、命令データ１０１と診断用データ１０２との比較結果１５２に基づいて命令データ１０１をプリドライバ３に汎用出力端子５１を介して出力する。この出力部５０は、レジスタ６０と、診断部７０と、命令出力制御部８０と、異常信号出力制御部９０とを備えている。
レジスタ６０は、ＣＰＵコア１０（診断用データ生成部１２）からの命令データ１０１を格納する。
診断部７０は、レジスタ６０に格納された命令データ１０１と、ＣＰＵコア１０（診断用データ生成部１２）からの診断用データ１０２とが一致するか否かを表す診断結果信号１５２を上記の比較結果として生成する。
【００３５】
診断部７０により生成された診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表さない。即ち、命令データ１０１は、正常な命令データである。このとき、命令出力制御部８０は、レジスタ６０に格納された命令データ１０１をプリドライバ３に汎用出力端子５１を介して出力する。
上記の命令実行指示がエンジンの駆動を表し、駆動部６がエンジンであり、電装システム５がエンジン制御システムである場合、プリドライバ３は、マイクロコンピュータ２（命令出力制御部８０）からの命令データ１０１に基づいて、エンジン６を駆動するようにエンジン制御システム５を制御する。
上記の命令実行指示が急ブレーキを表し、駆動部６が車輪であり、電装システム５がアンチロックブレーキシステムである場合、プリドライバ３は、マイクロコンピュータ２（命令出力制御部８０）からの命令データ１０１に基づいて、車輪６のロックを防止するようにアンチロックブレーキシステム５を制御する。
【００３６】
診断部７０により生成された診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表す。即ち、命令データ１０１は、異常な命令データである。このとき、異常信号出力制御部９０は、即時性割込処理、又は、非即時性割込処理を実行する。
即時性割込処理は、システムに即時性を求めるものであり、命令データ１０１が異常であることを表す異常検出信号１５４を異常信号出力端子５２と割込制御部４０とに出力する処理である。
非即時性割込処理は、システムに即時性を求めないものであり、異常検出信号１５４を割込制御部４０に出力する処理である。非即時性割込処理の場合、システムに即時性を求めないが、システムの構築が可能となる。
【００３７】
ＲＯＭ３０に格納された命令実行処理プログラムは、割込処理プログラム（図示しない）を含み、割込処理プログラムは、即時性割込処理に対応する即時性割込処理プログラム（図示しない）と、非即時性割込処理に対応する非即時性割込処理プログラム（図示しない）とを含んでいる。ユーザは、割込処理プログラムとして即時性割込処理プログラムと非即時性割込処理プログラムとの一方をオプションとして選択することができる。即ち、ユーザは、システム仕様に応じた処理として即時性割込処理と非即時性割込処理との一方を選択することができる。
即時性割込処理プログラムは、即時性割込処理において、命令データ１０１の異常を検出したときに命令データ１０１の次の命令データの出力を停止するようにＣＰＵコア１０を制御するプログラムである。ユーザが即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部９０には外部からマスクオプション制御信号２００が入力されている。この場合、異常信号出力制御部９０は、マスクオプション制御信号２００（アクティブ状態）に応じて、即時性割込処理を実行する。
非即時性割込処理プログラムは、非即時性割込処理において、命令データの異常をＮ回検出したときに、Ｎ番目の異常な命令データである命令データ１０１の次の命令データの出力を停止するようにＣＰＵコア１０を制御するプログラムである。ユーザが非即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部９０には外部からマスクオプション制御信号２００が入力されていない。この場合、異常信号出力制御部９０は、マスクオプション制御信号２００（インアクティブ状態）に応じて、非即時性割込処理を実行する。
【００３８】
ユーザが即時性割込処理プログラムを割込処理プログラムとして選択した場合について説明する。
【００３９】
即時性割込処理において、診断部７０により生成された診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表しているとき、異常信号出力制御部９０は、マスクオプション制御信号２００を入力している（マスクオプション制御信号２００がアクティブ状態である）。このため、異常信号出力制御部９０は、命令データ１０１が異常であることを表す異常検出信号１５４をプリドライバ３、警告装置４に異常信号出力端子５２を介して出力する。
警告装置４は、マイクロコンピュータ２（異常信号出力制御部９０）からの異常検出信号１５４を受け取ったとき、命令データ１０１が異常であることをユーザに通知するための警告情報を出力する。例えば、警告装置４は、警告情報を音（音声）にして出力する。または、警告装置４は、表示部を備え、警告情報を表示部に表示する。
マイクロコンピュータ２（異常信号出力制御部９０）が異常検出信号１５４をプリドライバ３、警告装置４に出力したときに、実行すべきではない命令データが何らかの原因によってマイクロコンピュータ２（命令出力制御部８０）からプリドライバ３に転送される場合が想定される。この場合、プリドライバ３は、命令データと異常検出信号１５４とを受け取ったとき、受け取った命令データを破棄する。
【００４０】
また、即時性割込処理において、異常信号出力制御部９０は、診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表すとき、異常検出信号１５４を割込制御部４０に出力する。
割込制御部４０は、異常検出信号１５４に応じて、命令データ１０１が異常であることを通知するための割込要求信号１４０をＲＯＭ３０に出力する。このとき、ＲＯＭ３０に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、ＣＰＵコア１０は、即時性割込処理（プログラム）を実行する。ＣＰＵコア１０は、即時性割込処理の実行として、命令データ１０１の次の命令データと、診断用データ１０２の次の診断用データとの出力を停止する。
【００４１】
次に、ユーザが非即時性割込処理プログラムを割込処理プログラムとして選択した場合について説明する。
【００４２】
非即時性割込処理において、診断部７０により生成された診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表していても、異常信号出力制御部９０は、マスクオプション制御信号２００を入力していない（マスクオプション制御信号２００がインアクティブ状態である）。このため、異常信号出力制御部９０は、異常検出信号１５４をプリドライバ３、警告装置４に出力しない。
【００４３】
また、非即時性割込処理において、異常信号出力制御部９０は、診断結果信号１５２が命令データ１０１と診断用データ１０２との一致を表すとき、異常検出信号１５４を割込制御部４０に出力する。
割込制御部４０は、異常検出信号１５４に応じて、割込要求信号１４０をＲＯＭ３０に出力する。このとき、ＲＯＭ３０に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、ＣＰＵコア１０は、非即時性割込処理（プログラム）を実行する。非即時性割込処理プログラムは、割込制御部４０から出力された割込要求信号１４０の数として、ＲＯＭ３０の所定の記憶領域に１をインクリメントする。ＣＰＵコア１０は、非即時性割込処理の実行として、ＲＯＭ３０の所定の記憶領域に格納された数（割込要求信号１４０の数）が設定数Ｎを超えたとき、命令データ１０１の次の命令データと、診断用データ１０２の次の診断用データとの出力を停止する。
【００４４】
図３を参照して、本発明のマイクロコンピュータ２の回路構成を詳細に説明する。
【００４５】
ＣＰＵコア１０の診断用データ生成部１２は、バッファ１３とインバータ１４とを備えている。
バッファ１３は、命令コードデコーダ１１からの命令データ１０１を出力部５０にデータバス２０を介して出力する。ここで、命令データ１０１は、０ビットからｍ（ｍは０より大きい整数）ビットまでの（ｍ＋１）個のビット１０１−０〜１０１−ｍを含んでいる。
インバータ１４は、命令コードデコーダ１１からの命令データ１０１を反転して診断用データ１０２を生成して出力部５０にデータバス２０を介して出力する。ここで、診断用データ１０２は、０ビットからｍビットまでの（ｍ＋１）個の診断用ビット１０２−０〜１０２−ｍを含んでいる。
【００４６】
出力部５０のレジスタ６０は、０ビットからｍビットまでの（ｍ＋１）個の記憶領域を有している。第ｉ記憶領域（ｉ＝０、１、…、ｍ）には、ＣＰＵコア１０（診断用データ生成部１２）からの命令データ１０１に含まれるビット１０１−ｉが格納される。
【００４７】
出力部５０の診断部７０は、（ｍ＋１）個の排他的論理和ゲート（ＮＯＲ）７１−０〜７１−ｍと、論理ゲート（ＯＲ）７２とを備えている。
ＮＯＲ７１−ｉ（ｉ＝０、１、…、ｍ）は、２個の入力端子と、出力端子とを有している。ＮＯＲ７１−ｉの２入力端子のうちの一方の入力端子には、ＣＰＵコア１０（診断用データ生成部１２）からの診断用データ１０２に含まれる診断用ビット１０２−ｉが供給される。ＮＯＲ７１−ｉの２入力端子のうちの他方の入力端子には、レジスタ６０の第ｉ記憶領域に格納された命令データ１０１に含まれるビット１０１−ｉが供給される。
ＯＲ７２は、（ｍ＋１）個の入力端子と、出力端子とを有している。ＯＲ７２の第ｉ入力端子は、ＮＯＲ７１−ｉの出力端子に接続されている。
【００４８】
出力部５０の命令出力制御部８０は、（ｍ＋１）個の出力バッファ８１−１〜８１−ｍを備えている。上記の汎用出力端子５１は、汎用出力端子５１−０〜５１−ｍを含んでいる。
出力バッファ８１−ｉ（ｉ＝０、１、…、ｍ）は、入力端子と、出力端子と、制御端子とを有している。出力バッファ８１−ｉの入力端子には、レジスタ６０の第ｉ記憶領域に格納された命令データ１０１に含まれるビット１０１−ｉが供給される。出力バッファ８１−ｉの出力端子は、汎用出力端子５１−ｉに接続されている。出力バッファ８１−ｉの制御端子は、ＯＲ７２の出力端子に接続されている。出力バッファ８１−ｉの制御端子に供給される信号がロウレベル（Ｌｏ）を表すとき、出力バッファ８１−ｉの入力端子に供給されるビット１０１−ｉは、モニタ用ビット１０３−ｉとして出力バッファ８１−ｉの出力端子から出力される。
【００４９】
出力部５０の異常信号出力制御部９０は、（ｍ＋１）個の論理ゲート（ＮＡＮＤ）９１−０〜９１−ｍと、論理ゲート（ＯＲ）９２と、セレクタ９３とを備えている。
ＮＡＮＤ９１−ｉ（ｉ＝０、１、…、ｍ）は、２個の入力端子と、出力端子とを有している。ＮＡＮＤ９１−ｉの２入力端子のうちの一方の入力端子には、レジスタ６０の第ｉ記憶領域に格納された命令データ１０１に含まれるビット１０１−ｉが供給される。ＮＡＮＤ９１−ｉの２入力端子のうちの他方の入力端子は、出力バッファ８１−ｉの出力端子に接続されている。
ＯＲ９２は、診断結果用入力端子と、（ｍ＋１）個のモニタ用入力端子と、出力端子とを有している。ＯＲ９２の診断結果用入力端子は、ＯＲ７２の出力端子に接続されている。ＯＲ９２の第ｉモニタ用入力端子は、ＮＡＮＤ９１−ｉの出力端子に接続されている。ＯＲ９２の出力端子は、割込制御部４０に接続されている。
セレクタ９３は、入力端子と、出力端子と、制御端子とを有している。セレクタ９３の入力端子は、ＯＲ９２の出力端子に接続されている。セレクタ９３の出力端子は、異常信号出力端子５２に接続されている。セレクタ９３の制御端子には、マスクオプション制御信号２００が供給される。
【００５０】
次に、本発明のマイクロコンピュータ２の動作について説明する。図４Ａ、図４Ｂは、本発明のマイクロコンピュータ２の動作を示すフローチャートである。
【００５１】
ＣＰＵコア１０の命令コードデコーダ１１は、複数の命令コードの中から、命令実行指示に応じた命令コード１００をＲＯＭ３０からデータバス２０を介して読み出す。命令コードデコーダ１１は、読み出した命令コード１００をデコードして命令データ１０１を発行し、診断用データ生成部１２に出力する（ステップＳ２）。
【００５２】
ＣＰＵコア１０の診断用データ生成部１２のバッファ１３は、命令コードデコーダ１１からの命令データ１０１を出力部５０にデータバス２０を介して出力する。このとき、診断用データ生成部１２のインバータ１４は、命令コードデコーダ１１からの命令データ１０１を反転して診断用データ１０２を生成して出力部５０にデータバス２０を介して出力する（ステップＳ４）。
【００５３】
ここで、ＣＰＵコア１０からの命令データ１０１に含まれるビット１０１−ｉ（ｉ＝０、１、…、ｍ）は、出力部５０のレジスタ６０の第ｉ記憶領域に格納される（ステップＳ６）。
ステップＳ６にて、出力部５０のＮＯＲ７１−ｉの一方の入力端子には、ＣＰＵコア１０からの診断用データ１０２に含まれる診断用ビット１０２−ｉが供給される。ＮＯＲ７１−ｉの他方の入力端子には、レジスタ６０の第ｉ記憶領域に格納された命令データ１０１に含まれるビット１０１−ｉが供給される。
【００５４】
出力部５０のＮＯＲ７１−ｉ（ｉ＝０、１、…、ｍ）は、ビット１０１−ｉと診断用ビット１０２−ｉとが一致するか否かを表すビット診断結果信号１５１−ｉをＯＲ７２に出力する。ＯＲ７２は、（ｍ＋１）個のビット診断結果信号１５１−０〜１５１−ｍに基づいて、命令データ１０１と診断用データ１０２とが一致するか否かを表す診断結果信号１５２を出力バッファ８１−０〜８１−ｍとＯＲ９２とに出力する（ステップＳ８）。
ステップＳ８にて、ビット診断結果信号１５１−ｉは、ビット１０１−ｉと診断用ビット１０２−ｉとが一致している場合、“１”を表し、ビット１０１−ｉと診断用ビット１０２−ｉとが一致していない場合、“０”を表す。
また、ステップＳ８にて、診断結果信号１５２は、命令データ１０１と診断用データ１０２とが一致している場合、“１”を表し、命令データ１０１と診断用データ１０２とが一致していない場合、“０”を表す。即ち、（ｍ＋１）個のビット診断結果信号１５１−０〜１５１−ｍのうちの少なくとも１つのビット診断結果信号１５１−ｉが“１”を表すとき、診断結果信号１５２は、ハイレベル（Ｈｉ）である“１”を表す。（ｍ＋１）個のビット診断結果信号１５１−０〜１５１−ｍが“０”を表すとき、診断結果信号１５２は、ロウレベル（Ｌｏ）である“０”を表す。
【００５５】
例えば、出力部５０の出力バッファ８１−０〜８１−ｍ、ＯＲ９２に供給される診断結果信号１５２が“０”を表す。即ち、命令データ１０１と診断用データ１０２との一致を表さず、命令データ１０１は正常である（ステップＳ１０−ＮＯ）。この場合、出力バッファ８１−ｉ（ｉ＝０、１、…、ｍ）は、レジスタ６０の第ｉ記憶領域に格納された命令データ１０１に含まれるビット１０１−ｉを、モニタ用ビット１０３−ｉとしてＮＡＮＤ９１−ｉに出力し、汎用出力端子５１−ｉを介してプリドライバ３に出力する（ステップＳ１２）。
【００５６】
本発明のマイクロコンピュータ２では、ステップＳ１０にて命令データ１０１が正常である場合、ステップＳ２〜Ｓ１２を繰り返して実行する。
【００５７】
例えば、出力バッファ８１−０〜８１−ｍ、ＯＲ９２に供給される診断結果信号１５２が“１”を表す。即ち、命令データ１０１と診断用データ１０２との一致を表し、命令データ１０１は異常である（ステップＳ１０−ＹＥＳ）。
また、出力部５０のＮＡＮＤ９１−ｉ（ｉ＝０、１、…、ｍ）は、ビット１０１−ｉとモニタ用ビット１０３−ｉとが一致するか否かを表すモニタ異常検出信号１５３−ｉをＯＲ９２に出力する。ここで、モニタ異常検出信号１５３−ｉは、ビット１０１−ｉとモニタ用ビット１０３−ｉとが一致している場合、“０”を表し、ビット１０１−ｉとモニタ用ビット１０３−ｉとが一致していない場合、“１”を表す。ここで、何らかの原因によってビット１０１−ｉとモニタ用ビット１０３−ｉとが一致していない場合、命令データ１０１は異常である（ステップＳ１０−ＹＥＳ）。
ステップＳ１０−ＹＥＳにて、出力部５０のＯＲ９２は、診断結果信号１５２、モニタ異常検出信号１５３−１〜１５３−ｍの少なくとも１つの信号が“１”を表すとき、命令データ１０１が異常であることを表す異常検出信号１５４を生成して出力する。
【００５８】
ここで、ユーザが即時性割込処理プログラムを割込処理プログラムとして予めに設定している場合、出力部５０のセレクタ９３には外部からマスクオプション制御信号２００が入力されている。即ち、マスクオプション制御信号２００がアクティブ状態である（ステップＳ１４−ＹＥＳ）。
この場合、即時性割込処理として、出力部５０のＯＲ９２により生成された異常検出信号１５４は、割込制御部４０に出力されると共に、セレクタ９３と異常信号出力端子５２とを介してプリドライバ３、警告装置４に出力される（ステップＳ１６）。プリドライバ３は、命令データ（実行すべきではない命令データ）と異常検出信号１５４とを受け取ったとき、受け取った命令データを破棄する。
割込制御部４０は、異常検出信号１５４に応じて、割込要求信号１４０をＲＯＭ３０に出力する（ステップＳ１８）。
このとき、ＲＯＭ３０に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、ＣＰＵコア１０は、命令データ１０１の次の命令データと、診断用データ１０２の次の診断用データとの出力を停止する（ステップＳ２０）。
【００５９】
一方、ユーザが非即時性割込処理プログラムを割込処理プログラムとして予めに設定している場合、出力部５０のセレクタ９３には外部からマスクオプション制御信号２００が入力されていない。即ち、マスクオプション制御信号２００がインアクティブ状態である（ステップＳ１４−ＮＯ）。
この場合、非即時性割込処理として、出力部５０のＯＲ９２により生成された異常検出信号１５４は、割込制御部４０に出力される（ステップＳ２２）。
割込制御部４０は、異常検出信号１５４に応じて、割込要求信号１４０をＲＯＭ３０に出力する（ステップＳ２４）。
このとき、ＲＯＭ３０に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、非即時性割込処理プログラムは、ＲＯＭ３０の所定の記憶領域に格納された数Ｍを１だけインクリメントする（ステップＳ２６）。
ＣＰＵコア１０は、ＲＯＭ３０の所定の記憶領域に格納された数Ｍが設定数Ｎを超えないとき（ステップＳ２８−ＮＯ）、ステップＳ２を実行し、ＲＯＭ３０の所定の記憶領域に格納された数Ｍが設定数Ｎを超えたとき（ステップＳ２８−ＹＥＳ）、命令データ１０１の次の命令データと、診断用データ１０２の次の診断用データとの出力を停止する（ステップＳ３０）。
【００６０】
以上説明したように、本発明のマイクロコンピュータ２では、ＣＰＵコア１０は、命令データ１０１を発行したとき、命令データ１０１と、命令データ１０１を反転して得られる診断用データ１０２とを出力部５０にデータバス２０を介して出力する。出力部５０は、ＣＰＵコア１０からの命令データ１０１をレジスタ６０に格納し、命令データ１０１と診断用データ１０２とを比較する。出力部５０は、命令データ１０１と診断用データ１０２とが一致しないとき、命令データ１０１が正常であると判断し、レジスタ６０に格納された命令データ１０１を外部装置（プリドライバ３）に出力する。プリドライバ３は、出力部５０から命令データ１０１を受け取り、出力部５０から異常検出信号１５４を受け取らないとき（異常検出信号１５４がインアクティブであるとき）、受け取った命令データ１０１を電装システムに出力する（命令データ１０１を用いて電装システムを制御する）。
このように、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、命令データにおける信頼性を確保し、且つ、命令データが発行されてから電装システムに転送されるまでの転送時間を従来のそれよりも短くすることができる。このため、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、命令データを発行したときに、速やかに電装システムを制御することができ、車両に重大な事象を引き起こすこともなく、車両の安全性も確保される。
【００６１】
また、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、複数の命令データを格納するＲＯＭ３０をマイクロコンピュータ２内に設け、出力部５０は、ＣＰＵコア１０によりＲＯＭ３０から読み出された命令データ１０１（命令コード１００）と、ＣＰＵコア１０により命令データ１０１を反転して得られる診断用データ１０２とを比較している。このため、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、命令データ比較用の記憶装置をマイクロコンピュータ２内に設ける必要がない。また、複数の命令データを格納する記憶手段（ＲＯＭ３０）が１つあればよく、システムが従来のそれよりも小型化し経済的である。このように、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。
【００６２】
また、本発明のマイクロコンピュータ２、及び、本発明のコンピュータシステム１では、システム仕様に応じた処理（即時性割込処理、非即時性割込処理）を行うことができる。
【００６３】
なお、本発明のマイクロコンピュータ２では、命令データ１０１と診断用データ１０２は、汎用ポート出力によりデータバス２０に出力されているが、タイマを用いたリアルタイムポート出力でもよい。この場合、図５に示されるように、本発明のマイクロコンピュータ２は、更に、タイマユニット２１０を具備している。タイマユニット２１０は、ＣＰＵコア１０とデータバス２０とに接続されている。タイマユニット２１０は、タイマ部２１１と、上述の診断用データ生成部１２とを備えている。
タイマユニット２１０を利用する仕様である場合、ＣＰＵコア１０の命令コードデコーダ１１は、複数の命令コードの中から、命令実行指示に応じた命令コード１００をＲＯＭ３０からデータバス２０を介して読み出し、命令コード１００（命令データ１０１）に従って、周波数（周期）、ディーティ比を含む設定情報を決定してタイマユニット２１０に出力する。
設定情報に含まれる周期がＴであり、ディーティ比が１／２であるとき、タイマユニット２１０のタイマ部２１１は、図６に示されるように、周期Ｔ毎にカウント値０からカウント値Ｌまでカウントし、ディーティー出力として、ディーティ比が１／２であるパルス信号を、タイマユニット２１０の診断用データ生成部１２に出力する。タイマユニット２１０の診断用データ生成部１２は、パルス信号である命令データ１０１と、命令データ１０１を反転して得られる診断用データ１０２とを出力部５０にデータバス２０を介して出力する。即ち、命令データ１０１と診断用データ１０２は、ＣＰＵコア１０を介さずにタイマユニット２１０から直接出力される。
出力部５０は、命令データ１０１と診断用データ１０２の出力状態をモニタすることにより、ディーティー出力の異常を正確に検出し、命令データ１０１の出力の停止、及び、異常検出信号の出力を行うことができる。
【図面の簡単な説明】
【００６４】
【図１】図１は、従来のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。
【図２】図２は、本発明のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。
【図３】図３は、本発明のマイクロコンピュータの構成を示す図である。
【図４Ａ】図４Ａは、本発明のマイクロコンピュータの動作を示すフローチャートである。
【図４Ｂ】図４Ｂは、本発明のマイクロコンピュータの動作を示すフローチャートである。
【図５】図５は、本発明のマイクロコンピュータの他の構成を示す図である。
【図６】図６は、本発明のマイクロコンピュータの他の構成における動作を説明するための図である。
【符号の説明】
【００６５】
１    コンピュータシステム
２    マイクロコンピュータ
３    プリドライバ
４    警告装置
５    システム（エンジン制御システム、アンチロックブレーキシステム）
６    駆動部（エンジン、車輪）
１０    ＣＰＵコア（演算部）
１１    命令コードデコーダ
１２    診断用データ生成部
１３    バッファ
１４    インバータ
２０    データバス
３０    ＲＯＭ
４０    割込制御部
５０    出力部
５１、５１−０〜５１−ｍ（ｍは０より大きい整数）    汎用出力端子
５２    異常信号出力端子
６０    レジスタ
７０    診断部
７１−０〜７１−ｍ    排他的論理和ゲート（ＮＯＲ）
７２    論理ゲート（ＯＲ）
８０    命令出力制御部
８１−１〜８１−ｍ    出力バッファ
９０    異常信号出力制御部
９１−０〜９１−ｍ    論理ゲート（ＮＡＮＤ）
９２    論理ゲート（ＯＲ）
９３    セレクタ
１００    命令コード
１０１    命令データ
１０１−０〜１０１−ｍ    ビット
１０２    診断用データ
１０２−０〜１０２−ｍ    診断用ビット
１０３−０〜１０３−ｍ    モニタ用ビット
１４０    割込要求信号
１５１−０〜１５１−ｍ    ビット診断結果信号
１５２    診断結果信号
１５３−０〜１５３−ｍ    モニタ異常検出信号
１５４    異常検出信号
２００    マスクオプション制御信号
３０１    コンピュータシステム
３０２    マイクロコンピュータ
３０３    プリドライバ
３０４    診断装置
３１０    ＣＰＵコア（演算部）
３２０    データバス
３３０    ＲＯＭ
３５０    出力部
【図１】
2005352545.tif 000003
【図２】
2005352545.tif 000004
【図３】
2005352545.tif 000005
【図４Ａ】
2005352545.tif 000006
【図４Ｂ】
2005352545.tif 000007
【図５】
2005352545.tif 000008
【図６】
2005352545.tif 000009