JP2005352545A - マイクロコンピュータ及びコンピュータシステム - Google Patents
マイクロコンピュータ及びコンピュータシステム Download PDFInfo
- Publication number
- JP2005352545A JP2005352545A JP2004169553A JP2004169553A JP2005352545A JP 2005352545 A JP2005352545 A JP 2005352545A JP 2004169553 A JP2004169553 A JP 2004169553A JP 2004169553 A JP2004169553 A JP 2004169553A JP 2005352545 A JP2005352545 A JP 2005352545A
- Authority
- JP
- Japan
- Prior art keywords
- data
- microcomputer
- control unit
- output
- diagnostic
- 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.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
【課題】命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータを提供すること。
【解決手段】本発明のマイクロコンピュータ(2)は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、バス(20)と、バス(20)に接続された演算部(10)と、バス(20)と外部装置(3、4)とに接続された出力部(50)とを具備する。演算部(10)は、外部装置(3)を制御するための命令データ(101)と、命令データ(101)を反転して得られる診断用データ(102)とを出力する。出力部(50)は、命令データ(101)と診断用データ(102)との比較結果(152)に基づいて命令データ(101)を外部装置(3)に出力する。
【選択図】図3
【解決手段】本発明のマイクロコンピュータ(2)は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、バス(20)と、バス(20)に接続された演算部(10)と、バス(20)と外部装置(3、4)とに接続された出力部(50)とを具備する。演算部(10)は、外部装置(3)を制御するための命令データ(101)と、命令データ(101)を反転して得られる診断用データ(102)とを出力する。出力部(50)は、命令データ(101)と診断用データ(102)との比較結果(152)に基づいて命令データ(101)を外部装置(3)に出力する。
【選択図】図3
Description
本発明は、マイクロコンピュータとコンピュータシステムとに関する。
近年、車両(例示;自動車)には、電装システムと、マイクロコンピュータとが実装されている。電装システムとしては、エンジンを駆動するエンジン制御システム、急ブレーキ時に車輪のロックを防止するアンチロックブレーキシステムが例示される。マイクロコンピュータは、命令コード(命令データ)を出力して電装システムを制御する。車両は、ユーザの操作により走行する。このため、マイクロコンピュータの誤動作はユーザの命に関わるため、マイクロコンピュータから出力される命令データには信頼性が要求される。
通常、信頼性を確保するために、診断装置(故障判定装置)が用いられる。図1は、従来のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。従来のコンピュータシステム301は、車両に設けられ、マイクロコンピュータ302(従来のマイクロコンピュータ)と、プリドライバ303と、診断装置304とを具備している。
マイクロコンピュータ302は、演算部であるCPUコア310、データバス320と、ROM330と、出力部350とを具備している。CPUコア310、ROM330、出力部350は、データバス320に接続されている。出力部350には、プリドライバ303、診断装置304が接続されている。また、診断装置304は、プリドライバ303に接続されている。
プリドライバ303は、電装システムに接続され、電装システムは、車両の駆動部に接続されている。
マイクロコンピュータ302は、演算部であるCPUコア310、データバス320と、ROM330と、出力部350とを具備している。CPUコア310、ROM330、出力部350は、データバス320に接続されている。出力部350には、プリドライバ303、診断装置304が接続されている。また、診断装置304は、プリドライバ303に接続されている。
プリドライバ303は、電装システムに接続され、電装システムは、車両の駆動部に接続されている。
ROM330には命令コードが格納されている。CPUコア310は、外部からの指示に応じて、プリドライバ303が電装システムを制御するための命令コードをROM330からデータバス320を介して読み出す。CPUコア310は、読み出した命令コードをデコードして命令データを発行する。このとき、CPUコア310は、命令データを出力部350にデータバス320を介して出力する。出力部350は、CPUコア310からの命令データを受け取って、プリドライバ303と診断装置304とに出力する。CPUコア310の暴走やデータバス320の異常により、CPUコア310から出力部350に転送される命令データが異常になる場合がある。
診断装置304は、マイクロコンピュータ302(出力部350)からの命令データを受け取り、その命令データが異常であるか否か(正常か異常か)を表す診断結果を生成する。診断装置304は、例えば、上記の複数の命令データである複数の診断用命令データを格納する記憶装置を有し、出力部350からの命令データと、その記憶装置に格納された診断用命令データとを比較し、命令データと診断用命令データとが一致するか否かを表す診断結果を生成する。
プリドライバ303は、マイクロコンピュータ302(出力部350)から命令データを受け取り、診断装置304から診断結果を受け取る。ここで、診断装置304からの診断結果が命令データと診断用命令データとの一致を表すとき、プリドライバ303は、命令データを電装システムに出力する。
プリドライバ303は、マイクロコンピュータ302(出力部350)から命令データを受け取り、診断装置304から診断結果を受け取る。ここで、診断装置304からの診断結果が命令データと診断用命令データとの一致を表すとき、プリドライバ303は、命令データを電装システムに出力する。
命令を出力する技術として、特開2002−196948号公報(特許文献1)に演算制御装置が記載されている。この演算制御装置は、アンチロックブレーキシステムに適用され、監視ユニットと、制御ユニットとを有することを特徴としている。
監視ユニットは、診断パルスを入力して周期時間を計時し該周期時間が所定のオーバーフロー判定時間よりも大きいと判断した場合に所定の状態値をとるオーバーフロービットを生成して所定時間の経過後に出力する。このとき、監視ユニットは、オーバーフロービットが所定の状態値であるときには所定時間の間にパルス上のリセット信号をアクティブレベルとして出力する。
制御ユニットは、制御動作時には単位制御の実行毎に診断パルスを発生する。制御ユニットは、リセット信号のアクティブレベルを入力したときには再起動されるとともに再起動を含む起動後にオーバーフロービットを入力して記憶する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値ではないときには最初の起動であると判断しオーバフロー判定時間よりも大きい監視ユニット検査時間のあいだ診断パルスの監視ユニットへの出力を停止する。制御ユニットは、監視ユニット検査時間内にリセット信号を入力しなかった場合に故障警告信号を発生する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値であるときには再起動と判断する。制御ユニットは、不揮発性メモリに記憶されたオーバフロー発生回数に1を加算して更新されたオーバフロー発生回数が所定の許容回数を超えた場合にも故障警告信号を出力する。
監視ユニットは、診断パルスを入力して周期時間を計時し該周期時間が所定のオーバーフロー判定時間よりも大きいと判断した場合に所定の状態値をとるオーバーフロービットを生成して所定時間の経過後に出力する。このとき、監視ユニットは、オーバーフロービットが所定の状態値であるときには所定時間の間にパルス上のリセット信号をアクティブレベルとして出力する。
制御ユニットは、制御動作時には単位制御の実行毎に診断パルスを発生する。制御ユニットは、リセット信号のアクティブレベルを入力したときには再起動されるとともに再起動を含む起動後にオーバーフロービットを入力して記憶する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値ではないときには最初の起動であると判断しオーバフロー判定時間よりも大きい監視ユニット検査時間のあいだ診断パルスの監視ユニットへの出力を停止する。制御ユニットは、監視ユニット検査時間内にリセット信号を入力しなかった場合に故障警告信号を発生する。制御ユニットは、記憶されたオーバーフロービットが所定の状態値であるときには再起動と判断する。制御ユニットは、不揮発性メモリに記憶されたオーバフロー発生回数に1を加算して更新されたオーバフロー発生回数が所定の許容回数を超えた場合にも故障警告信号を出力する。
また、特開平1−191941号公報(特許文献2)に情報処理装置が記載されている。この情報処理装置は、命令コードを含む命令語の条件が命令コードに応じて予め設定された条件と一致していないときに不正フィールドとして例外処理を行うものであって、検出手段と、抑止手段とを有することを特徴としている。検出手段は、命令語において不正フィールドを検出する。抑止手段は、検出手段により不正フィールドが検出されたとき、命令語によるメモリへのアクセス要求を抑止する。
従来のコンピュータシステム301では、プリドライバ303は、マイクロコンピュータ302から命令データを受け取っても、診断装置304から診断結果(命令データが異常ではない)を受け取るまで、命令データを電装システムに出力できない。即ち、従来のコンピュータシステム301では、命令データを転送する転送時間が長くなる。このため、従来のコンピュータシステム301では、命令データを発行したときに、速やかに電装システムを制御することができないという問題がある。したがって、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータ及びコンピュータシステムが望まれる。
また、従来のコンピュータシステム301では、信頼性を確保するために、複数の命令データを格納するROM330をマイクロコンピュータ302内に設け、複数の診断用命令データを格納する記憶装置を診断装置304内に設けている。このため、従来のコンピュータシステム301では、複数の命令データを格納する記憶手段(ROM330、記憶装置)が2つ必要であり、システムが大型化し経済的ではない。したがって、命令データにおける信頼性を確保し、且つ、小型化を実現することができるマイクロコンピュータ及びコンピュータシステムが望まれる。
特許文献1に記載された技術によれば、各ユニットが故障、各ユニットに内蔵される装置(手段)が故障したときに、故障警告信号を出力するものである。上述の命令データに異常がある場合、特許文献1に記載された技術では対処できず、命令データにおける信頼性を確保できない。
特許文献2に記載された技術によれば、検出手段(テスト回路)は、命令コードを含む命令語の条件が命令コードに応じて予め設定された条件と一致しているか否かを検出するものである。特許文献2に記載された技術を上記のコンピュータシステム301に適用した場合、診断装置304は、マイクロコンピュータ302の出力部350内に設けられる。しかしながら、システム(この場合、マイクロコンピュータ302)が大型化し経済的ではない。
本発明の課題は、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の他の課題は、命令データにおける信頼性を確保し、且つ、小型化を実現することができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の更に他の課題は、システム仕様に応じた処理を行うことができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の他の課題は、命令データにおける信頼性を確保し、且つ、小型化を実現することができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
本発明の更に他の課題は、システム仕様に応じた処理を行うことができるマイクロコンピュータ及びコンピュータシステムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明のマイクロコンピュータ(2)は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、バス(20)と、バス(20)に接続された演算部(10)と、バス(20)と外部装置(3、4)とに接続された出力部(50)とを具備する。
演算部(10)は、外部装置(3)を制御するための命令データ(101)と、命令データ(101)を反転して得られる診断用データ(102)とを出力する。
出力部(50)は、命令データ(101)と診断用データ(102)との比較結果(152)に基づいて命令データ(101)を外部装置(3)に出力する。
演算部(10)は、外部装置(3)を制御するための命令データ(101)と、命令データ(101)を反転して得られる診断用データ(102)とを出力する。
出力部(50)は、命令データ(101)と診断用データ(102)との比較結果(152)に基づいて命令データ(101)を外部装置(3)に出力する。
本発明のマイクロコンピュータ(2)によれば、演算部(10)は、外部装置(プリドライバ3)を制御するための命令データ(101)と、命令データ(101)を反転して得られる診断用データ(102)とを出力し、出力部(50)は、命令データ(101)と診断用データ(102)との比較結果(152)に基づいて命令データ(101)を外部装置(プリドライバ3)に出力する。このため、本発明のマイクロコンピュータ(2)によれば、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができる。
また、本発明のマイクロコンピュータ(2)によれば、出力部(50)は、演算部(10)によりメモリ(30)から読み出された命令データ(101)と、演算部(10)により命令データ(101)を反転して得られる診断用データ(102)とを比較している。このため、本発明のマイクロコンピュータ(2)によれば、命令データ比較用の記憶装置をマイクロコンピュータ(2)内に設ける必要がなく、システムが従来のそれよりも小型化し経済的である。このように、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。
本発明のマイクロコンピュータ(2)において、出力部(50)は、レジスタ(60)と、診断部(70)と、命令出力制御部(80)と、異常信号出力制御部(90)とを備える。
レジスタ(60)は、演算部(10)からの命令データ(101)を格納する。
診断部(70)は、レジスタ(60)に格納された命令データ(101)と、演算部(10)からの診断用データ(102)とが一致するか否かを表す診断結果(152)を比較結果として生成する。
命令出力制御部(80)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表さないとき、レジスタ(60)に格納された命令データ(101)を外部装置(3)に出力する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、命令データ(101)が異常であることを表す異常検出信号(154)を外部装置(3、4)に出力する。
レジスタ(60)は、演算部(10)からの命令データ(101)を格納する。
診断部(70)は、レジスタ(60)に格納された命令データ(101)と、演算部(10)からの診断用データ(102)とが一致するか否かを表す診断結果(152)を比較結果として生成する。
命令出力制御部(80)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表さないとき、レジスタ(60)に格納された命令データ(101)を外部装置(3)に出力する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、命令データ(101)が異常であることを表す異常検出信号(154)を外部装置(3、4)に出力する。
本発明のマイクロコンピュータ(2)において、命令データ(101)と診断用データ(102)は、複数のビットを含む。
診断結果(152)は、複数のビット診断結果(151−0〜151−m)を含む。
複数のビット診断結果(151−0〜151−m)のそれぞれは、命令データ(101)に含まれる複数のビット(101−0〜101−m)のそれぞれと、診断用データ(102)に含まれる複数のビット(102−0〜102−m)のそれぞれとが一致するか否かを表す。
命令出力制御部(80)は、複数のビット診断結果(151−0〜151−m)のそれぞれが命令データ(101)と診断用データ(102)との一致を表さないとき、レジスタ(60)に格納された命令データ(101)(101−0〜101−m)を外部装置(3)に出力する。
異常信号出力制御部(90)は、複数のビット診断結果(151−0〜151−m)のうちの少なくとも1つのビット診断結果(151−i)(i=0、1、…、m)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を外部装置(3、4)に出力する。
診断結果(152)は、複数のビット診断結果(151−0〜151−m)を含む。
複数のビット診断結果(151−0〜151−m)のそれぞれは、命令データ(101)に含まれる複数のビット(101−0〜101−m)のそれぞれと、診断用データ(102)に含まれる複数のビット(102−0〜102−m)のそれぞれとが一致するか否かを表す。
命令出力制御部(80)は、複数のビット診断結果(151−0〜151−m)のそれぞれが命令データ(101)と診断用データ(102)との一致を表さないとき、レジスタ(60)に格納された命令データ(101)(101−0〜101−m)を外部装置(3)に出力する。
異常信号出力制御部(90)は、複数のビット診断結果(151−0〜151−m)のうちの少なくとも1つのビット診断結果(151−i)(i=0、1、…、m)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を外部装置(3、4)に出力する。
本発明のマイクロコンピュータ(2)は、更に、割込制御部(40)を具備する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を外部装置(3、4)に出力すると共に割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、命令データ(101)が異常であることを通知するための割込要求信号(140)を出力する。
演算部(10)は、割込制御部(40)から割込要求信号(140)が出力された場合、命令データ(101)の次の命令データ(101)と、診断用データ(102)の次の診断用データ(102)との出力を停止する割込処理を実行する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を外部装置(3、4)に出力すると共に割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、命令データ(101)が異常であることを通知するための割込要求信号(140)を出力する。
演算部(10)は、割込制御部(40)から割込要求信号(140)が出力された場合、命令データ(101)の次の命令データ(101)と、診断用データ(102)の次の診断用データ(102)との出力を停止する割込処理を実行する。
本発明のマイクロコンピュータ2では、システム仕様に応じた処理を行うことができる。ユーザは、システム仕様として即時性割込処理と非即時性割込処理との一方をオプションとして選択することができる。即時性割込処理は、システムに即時性を求めるものであり、異常検出信号(154)を外部装置(3、4)と割込制御部(40)とに出力する処理である。非即時性割込処理は、システムに即時性を求めないものであり、異常検出信号(154)を割込制御部(40)に出力する処理である。
即時性割込処理において、異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表し、且つ、外部からのマスクオプション制御信号(200)を入力しているとき、異常検出信号(154)を外部装置(3、4)に出力する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、割込要求信号(140)を出力する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、割込要求信号(140)を出力する。
非即時性割込処理において、異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表していても、マスクオプション制御信号(200)を入力していないとき、異常検出信号(154)を外部装置(3、4)に出力しない。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、割込要求信号(140)を出力する。
演算部(10)は、割込制御部(40)から出力された割込要求信号(140)の数(M)が設定数(N)を超えたとき、上記の割込処理を実行する。
異常信号出力制御部(90)は、診断結果(152)が命令データ(101)と診断用データ(102)との一致を表すとき、異常検出信号(154)を割込制御部(40)に出力する。
割込制御部(40)は、異常検出信号(154)に応じて、割込要求信号(140)を出力する。
演算部(10)は、割込制御部(40)から出力された割込要求信号(140)の数(M)が設定数(N)を超えたとき、上記の割込処理を実行する。
本発明のコンピュータシステム(1)は、エンジン(6)とエンジン制御システム(5)とを含む車両に設けられている。
本発明のコンピュータシステム(1)は、上記のマイクロコンピュータ(2)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、エンジン(6)を駆動するようにエンジン制御システム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
本発明のコンピュータシステム(1)は、上記のマイクロコンピュータ(2)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、エンジン(6)を駆動するようにエンジン制御システム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
本発明のコンピュータシステム(1)は、車輪(6)とアンチロックブレーキシステム(5)とを含む車両に設けられている。
本発明のコンピュータシステム(1)は、上記のマイクロコンピュータ(2)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、車輪(6)のロックを防止するようにアンチロックブレーキシステム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
本発明のコンピュータシステム(1)は、上記のマイクロコンピュータ(2)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、車輪(6)のロックを防止するようにアンチロックブレーキシステム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
本発明の車両は、上記のマイクロコンピュータ(2)と、エンジン(6)と、エンジン制御システム(5)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、エンジン(6)を駆動するようにエンジン制御システム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、エンジン(6)を駆動するようにエンジン制御システム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
本発明の車両は、上記のマイクロコンピュータ(2)と、車輪(6)と、アンチロックブレーキシステム(5)と、プリドライバ(3)と、警告装置(4)とを具備する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、急ブレーキ時に車輪(6)のロックを防止するようにアンチロックブレーキシステム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
プリドライバ(3)は、マイクロコンピュータ(2)の命令出力制御部(80)からの命令データ(101)に基づいて、急ブレーキ時に車輪(6)のロックを防止するようにアンチロックブレーキシステム(5)を制御する。
警告装置(4)は、マイクロコンピュータ(2)の異常信号出力制御部(90)からの異常検出信号(154)を受け取ったとき、命令データ(101)が異常であることをユーザに通知するための警告情報を出力する。
以上の構成により、本発明のマイクロコンピュータ(2)及びコンピュータシステム(1)によれば、命令データにおける信頼性を確保し、且つ、命令データを転送する転送時間を短くすることができる。また、本発明のマイクロコンピュータ(2)及びコンピュータシステム(1)によれば、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。また、本発明のマイクロコンピュータ(2)及びコンピュータシステム(1)によれば、システム仕様に応じた処理(即時性割込処理、非即時性割込処理)を行うことができる。
以下に添付図面を参照して、本発明のマイクロコンピュータについて詳細に説明する。
図2は、本発明のマイクロコンピュータが適用されるコンピュータシステムの構成を示す図である。本発明のコンピュータシステム1は、車両(例示;自動車)に設けられ、マイクロコンピュータ2(本発明のマイクロコンピュータ)と、プリドライバ3と、警告装置4とを具備している。プリドライバ3と警告装置4は、マイクロコンピュータ2に対する外部装置である。
マイクロコンピュータ2は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、演算部であるCPU(Central Processing Unit)コア10と、データバス20と、ROM(Read Only Memory)30と、割込制御部40と、出力部50とを具備している。CPUコア10、ROM30、出力部50は、データバス20に接続されている。出力部50は、汎用出力端子51を介してプリドライバ3に接続されている。また、出力部50は、異常信号出力端子52を介してプリドライバ3、警告装置4に接続されている。また、警告装置4は、プリドライバ3に接続されている。
プリドライバ3は、アクチュエータ(電装システム)5に接続され、電装システム55は、車両の駆動部6に接続されている。駆動部6は、エンジン、車輪を含み、電装システム5としては、エンジンを駆動するエンジン制御システム、急ブレーキ時に車輪のロックを防止するアンチロックブレーキシステムが例示される。
マイクロコンピュータ2は、フェ−ルセーフ出力機能付きマイクロコンピュータであり、演算部であるCPU(Central Processing Unit)コア10と、データバス20と、ROM(Read Only Memory)30と、割込制御部40と、出力部50とを具備している。CPUコア10、ROM30、出力部50は、データバス20に接続されている。出力部50は、汎用出力端子51を介してプリドライバ3に接続されている。また、出力部50は、異常信号出力端子52を介してプリドライバ3、警告装置4に接続されている。また、警告装置4は、プリドライバ3に接続されている。
プリドライバ3は、アクチュエータ(電装システム)5に接続され、電装システム55は、車両の駆動部6に接続されている。駆動部6は、エンジン、車輪を含み、電装システム5としては、エンジンを駆動するエンジン制御システム、急ブレーキ時に車輪のロックを防止するアンチロックブレーキシステムが例示される。
図3は、本発明のマイクロコンピュータ2の構成を示す図である。
ROM30には、プリドライバ3が電装システム5を制御するための、複数の命令コード(図示しない)が格納されている。ROM30には、コンピュータプログラム(図示しない)が更に格納されている。そのコンピュータプログラムは、命令コードをデコードして出力するための命令実行処理プログラム(図示しない)を含んでいる。
CPUコア10は、命令データと、命令データを反転して得られる診断用データとを出力部50にデータバス20を介して出力する。このCPUコア10は、命令コードデコーダ11と、診断用データ生成部12とを備えている。
CPUコア10は、外部からの命令実行指示に応じて、ROM30に格納された命令実行処理(プログラム)を実行する。この場合、命令コードデコーダ11は、複数の命令コードの中から、命令実行指示に応じた命令コード100をROM30からデータバス20を介して読み出す。命令コードデコーダ11は、読み出した命令コード100をデコードして命令データ101を発行し、診断用データ生成部12に出力する。
診断用データ生成部12は、命令コードデコーダ11からの命令データ101を出力部50にデータバス20を介して出力する。このとき、診断用データ生成部12は、命令コードデコーダ11からの命令データ101を反転して診断用データ102を生成して出力部50にデータバス20を介して出力する。
CPUコア10は、外部からの命令実行指示に応じて、ROM30に格納された命令実行処理(プログラム)を実行する。この場合、命令コードデコーダ11は、複数の命令コードの中から、命令実行指示に応じた命令コード100をROM30からデータバス20を介して読み出す。命令コードデコーダ11は、読み出した命令コード100をデコードして命令データ101を発行し、診断用データ生成部12に出力する。
診断用データ生成部12は、命令コードデコーダ11からの命令データ101を出力部50にデータバス20を介して出力する。このとき、診断用データ生成部12は、命令コードデコーダ11からの命令データ101を反転して診断用データ102を生成して出力部50にデータバス20を介して出力する。
CPUコア10の暴走やデータバス20の異常により、CPUコア10から出力部50に転送される命令データ101が異常になる場合がある。出力部50は、命令データ101と診断用データ102との比較結果152に基づいて命令データ101をプリドライバ3に汎用出力端子51を介して出力する。この出力部50は、レジスタ60と、診断部70と、命令出力制御部80と、異常信号出力制御部90とを備えている。
レジスタ60は、CPUコア10(診断用データ生成部12)からの命令データ101を格納する。
診断部70は、レジスタ60に格納された命令データ101と、CPUコア10(診断用データ生成部12)からの診断用データ102とが一致するか否かを表す診断結果信号152を上記の比較結果として生成する。
レジスタ60は、CPUコア10(診断用データ生成部12)からの命令データ101を格納する。
診断部70は、レジスタ60に格納された命令データ101と、CPUコア10(診断用データ生成部12)からの診断用データ102とが一致するか否かを表す診断結果信号152を上記の比較結果として生成する。
診断部70により生成された診断結果信号152が命令データ101と診断用データ102との一致を表さない。即ち、命令データ101は、正常な命令データである。このとき、命令出力制御部80は、レジスタ60に格納された命令データ101をプリドライバ3に汎用出力端子51を介して出力する。
上記の命令実行指示がエンジンの駆動を表し、駆動部6がエンジンであり、電装システム5がエンジン制御システムである場合、プリドライバ3は、マイクロコンピュータ2(命令出力制御部80)からの命令データ101に基づいて、エンジン6を駆動するようにエンジン制御システム5を制御する。
上記の命令実行指示が急ブレーキを表し、駆動部6が車輪であり、電装システム5がアンチロックブレーキシステムである場合、プリドライバ3は、マイクロコンピュータ2(命令出力制御部80)からの命令データ101に基づいて、車輪6のロックを防止するようにアンチロックブレーキシステム5を制御する。
上記の命令実行指示がエンジンの駆動を表し、駆動部6がエンジンであり、電装システム5がエンジン制御システムである場合、プリドライバ3は、マイクロコンピュータ2(命令出力制御部80)からの命令データ101に基づいて、エンジン6を駆動するようにエンジン制御システム5を制御する。
上記の命令実行指示が急ブレーキを表し、駆動部6が車輪であり、電装システム5がアンチロックブレーキシステムである場合、プリドライバ3は、マイクロコンピュータ2(命令出力制御部80)からの命令データ101に基づいて、車輪6のロックを防止するようにアンチロックブレーキシステム5を制御する。
診断部70により生成された診断結果信号152が命令データ101と診断用データ102との一致を表す。即ち、命令データ101は、異常な命令データである。このとき、異常信号出力制御部90は、即時性割込処理、又は、非即時性割込処理を実行する。
即時性割込処理は、システムに即時性を求めるものであり、命令データ101が異常であることを表す異常検出信号154を異常信号出力端子52と割込制御部40とに出力する処理である。
非即時性割込処理は、システムに即時性を求めないものであり、異常検出信号154を割込制御部40に出力する処理である。非即時性割込処理の場合、システムに即時性を求めないが、システムの構築が可能となる。
即時性割込処理は、システムに即時性を求めるものであり、命令データ101が異常であることを表す異常検出信号154を異常信号出力端子52と割込制御部40とに出力する処理である。
非即時性割込処理は、システムに即時性を求めないものであり、異常検出信号154を割込制御部40に出力する処理である。非即時性割込処理の場合、システムに即時性を求めないが、システムの構築が可能となる。
ROM30に格納された命令実行処理プログラムは、割込処理プログラム(図示しない)を含み、割込処理プログラムは、即時性割込処理に対応する即時性割込処理プログラム(図示しない)と、非即時性割込処理に対応する非即時性割込処理プログラム(図示しない)とを含んでいる。ユーザは、割込処理プログラムとして即時性割込処理プログラムと非即時性割込処理プログラムとの一方をオプションとして選択することができる。即ち、ユーザは、システム仕様に応じた処理として即時性割込処理と非即時性割込処理との一方を選択することができる。
即時性割込処理プログラムは、即時性割込処理において、命令データ101の異常を検出したときに命令データ101の次の命令データの出力を停止するようにCPUコア10を制御するプログラムである。ユーザが即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部90には外部からマスクオプション制御信号200が入力されている。この場合、異常信号出力制御部90は、マスクオプション制御信号200(アクティブ状態)に応じて、即時性割込処理を実行する。
非即時性割込処理プログラムは、非即時性割込処理において、命令データの異常をN回検出したときに、N番目の異常な命令データである命令データ101の次の命令データの出力を停止するようにCPUコア10を制御するプログラムである。ユーザが非即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部90には外部からマスクオプション制御信号200が入力されていない。この場合、異常信号出力制御部90は、マスクオプション制御信号200(インアクティブ状態)に応じて、非即時性割込処理を実行する。
即時性割込処理プログラムは、即時性割込処理において、命令データ101の異常を検出したときに命令データ101の次の命令データの出力を停止するようにCPUコア10を制御するプログラムである。ユーザが即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部90には外部からマスクオプション制御信号200が入力されている。この場合、異常信号出力制御部90は、マスクオプション制御信号200(アクティブ状態)に応じて、即時性割込処理を実行する。
非即時性割込処理プログラムは、非即時性割込処理において、命令データの異常をN回検出したときに、N番目の異常な命令データである命令データ101の次の命令データの出力を停止するようにCPUコア10を制御するプログラムである。ユーザが非即時性割込処理プログラムを割込処理プログラムとして選択した場合、異常信号出力制御部90には外部からマスクオプション制御信号200が入力されていない。この場合、異常信号出力制御部90は、マスクオプション制御信号200(インアクティブ状態)に応じて、非即時性割込処理を実行する。
ユーザが即時性割込処理プログラムを割込処理プログラムとして選択した場合について説明する。
即時性割込処理において、診断部70により生成された診断結果信号152が命令データ101と診断用データ102との一致を表しているとき、異常信号出力制御部90は、マスクオプション制御信号200を入力している(マスクオプション制御信号200がアクティブ状態である)。このため、異常信号出力制御部90は、命令データ101が異常であることを表す異常検出信号154をプリドライバ3、警告装置4に異常信号出力端子52を介して出力する。
警告装置4は、マイクロコンピュータ2(異常信号出力制御部90)からの異常検出信号154を受け取ったとき、命令データ101が異常であることをユーザに通知するための警告情報を出力する。例えば、警告装置4は、警告情報を音(音声)にして出力する。または、警告装置4は、表示部を備え、警告情報を表示部に表示する。
マイクロコンピュータ2(異常信号出力制御部90)が異常検出信号154をプリドライバ3、警告装置4に出力したときに、実行すべきではない命令データが何らかの原因によってマイクロコンピュータ2(命令出力制御部80)からプリドライバ3に転送される場合が想定される。この場合、プリドライバ3は、命令データと異常検出信号154とを受け取ったとき、受け取った命令データを破棄する。
警告装置4は、マイクロコンピュータ2(異常信号出力制御部90)からの異常検出信号154を受け取ったとき、命令データ101が異常であることをユーザに通知するための警告情報を出力する。例えば、警告装置4は、警告情報を音(音声)にして出力する。または、警告装置4は、表示部を備え、警告情報を表示部に表示する。
マイクロコンピュータ2(異常信号出力制御部90)が異常検出信号154をプリドライバ3、警告装置4に出力したときに、実行すべきではない命令データが何らかの原因によってマイクロコンピュータ2(命令出力制御部80)からプリドライバ3に転送される場合が想定される。この場合、プリドライバ3は、命令データと異常検出信号154とを受け取ったとき、受け取った命令データを破棄する。
また、即時性割込処理において、異常信号出力制御部90は、診断結果信号152が命令データ101と診断用データ102との一致を表すとき、異常検出信号154を割込制御部40に出力する。
割込制御部40は、異常検出信号154に応じて、命令データ101が異常であることを通知するための割込要求信号140をROM30に出力する。このとき、ROM30に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、CPUコア10は、即時性割込処理(プログラム)を実行する。CPUコア10は、即時性割込処理の実行として、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する。
割込制御部40は、異常検出信号154に応じて、命令データ101が異常であることを通知するための割込要求信号140をROM30に出力する。このとき、ROM30に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、CPUコア10は、即時性割込処理(プログラム)を実行する。CPUコア10は、即時性割込処理の実行として、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する。
次に、ユーザが非即時性割込処理プログラムを割込処理プログラムとして選択した場合について説明する。
非即時性割込処理において、診断部70により生成された診断結果信号152が命令データ101と診断用データ102との一致を表していても、異常信号出力制御部90は、マスクオプション制御信号200を入力していない(マスクオプション制御信号200がインアクティブ状態である)。このため、異常信号出力制御部90は、異常検出信号154をプリドライバ3、警告装置4に出力しない。
また、非即時性割込処理において、異常信号出力制御部90は、診断結果信号152が命令データ101と診断用データ102との一致を表すとき、異常検出信号154を割込制御部40に出力する。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する。このとき、ROM30に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、CPUコア10は、非即時性割込処理(プログラム)を実行する。非即時性割込処理プログラムは、割込制御部40から出力された割込要求信号140の数として、ROM30の所定の記憶領域に1をインクリメントする。CPUコア10は、非即時性割込処理の実行として、ROM30の所定の記憶領域に格納された数(割込要求信号140の数)が設定数Nを超えたとき、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する。このとき、ROM30に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、CPUコア10は、非即時性割込処理(プログラム)を実行する。非即時性割込処理プログラムは、割込制御部40から出力された割込要求信号140の数として、ROM30の所定の記憶領域に1をインクリメントする。CPUコア10は、非即時性割込処理の実行として、ROM30の所定の記憶領域に格納された数(割込要求信号140の数)が設定数Nを超えたとき、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する。
図3を参照して、本発明のマイクロコンピュータ2の回路構成を詳細に説明する。
CPUコア10の診断用データ生成部12は、バッファ13とインバータ14とを備えている。
バッファ13は、命令コードデコーダ11からの命令データ101を出力部50にデータバス20を介して出力する。ここで、命令データ101は、0ビットからm(mは0より大きい整数)ビットまでの(m+1)個のビット101−0〜101−mを含んでいる。
インバータ14は、命令コードデコーダ11からの命令データ101を反転して診断用データ102を生成して出力部50にデータバス20を介して出力する。ここで、診断用データ102は、0ビットからmビットまでの(m+1)個の診断用ビット102−0〜102−mを含んでいる。
バッファ13は、命令コードデコーダ11からの命令データ101を出力部50にデータバス20を介して出力する。ここで、命令データ101は、0ビットからm(mは0より大きい整数)ビットまでの(m+1)個のビット101−0〜101−mを含んでいる。
インバータ14は、命令コードデコーダ11からの命令データ101を反転して診断用データ102を生成して出力部50にデータバス20を介して出力する。ここで、診断用データ102は、0ビットからmビットまでの(m+1)個の診断用ビット102−0〜102−mを含んでいる。
出力部50のレジスタ60は、0ビットからmビットまでの(m+1)個の記憶領域を有している。第i記憶領域(i=0、1、…、m)には、CPUコア10(診断用データ生成部12)からの命令データ101に含まれるビット101−iが格納される。
出力部50の診断部70は、(m+1)個の排他的論理和ゲート(NOR)71−0〜71−mと、論理ゲート(OR)72とを備えている。
NOR71−i(i=0、1、…、m)は、2個の入力端子と、出力端子とを有している。NOR71−iの2入力端子のうちの一方の入力端子には、CPUコア10(診断用データ生成部12)からの診断用データ102に含まれる診断用ビット102−iが供給される。NOR71−iの2入力端子のうちの他方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。
OR72は、(m+1)個の入力端子と、出力端子とを有している。OR72の第i入力端子は、NOR71−iの出力端子に接続されている。
NOR71−i(i=0、1、…、m)は、2個の入力端子と、出力端子とを有している。NOR71−iの2入力端子のうちの一方の入力端子には、CPUコア10(診断用データ生成部12)からの診断用データ102に含まれる診断用ビット102−iが供給される。NOR71−iの2入力端子のうちの他方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。
OR72は、(m+1)個の入力端子と、出力端子とを有している。OR72の第i入力端子は、NOR71−iの出力端子に接続されている。
出力部50の命令出力制御部80は、(m+1)個の出力バッファ81−1〜81−mを備えている。上記の汎用出力端子51は、汎用出力端子51−0〜51−mを含んでいる。
出力バッファ81−i(i=0、1、…、m)は、入力端子と、出力端子と、制御端子とを有している。出力バッファ81−iの入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。出力バッファ81−iの出力端子は、汎用出力端子51−iに接続されている。出力バッファ81−iの制御端子は、OR72の出力端子に接続されている。出力バッファ81−iの制御端子に供給される信号がロウレベル(Lo)を表すとき、出力バッファ81−iの入力端子に供給されるビット101−iは、モニタ用ビット103−iとして出力バッファ81−iの出力端子から出力される。
出力バッファ81−i(i=0、1、…、m)は、入力端子と、出力端子と、制御端子とを有している。出力バッファ81−iの入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。出力バッファ81−iの出力端子は、汎用出力端子51−iに接続されている。出力バッファ81−iの制御端子は、OR72の出力端子に接続されている。出力バッファ81−iの制御端子に供給される信号がロウレベル(Lo)を表すとき、出力バッファ81−iの入力端子に供給されるビット101−iは、モニタ用ビット103−iとして出力バッファ81−iの出力端子から出力される。
出力部50の異常信号出力制御部90は、(m+1)個の論理ゲート(NAND)91−0〜91−mと、論理ゲート(OR)92と、セレクタ93とを備えている。
NAND91−i(i=0、1、…、m)は、2個の入力端子と、出力端子とを有している。NAND91−iの2入力端子のうちの一方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。NAND91−iの2入力端子のうちの他方の入力端子は、出力バッファ81−iの出力端子に接続されている。
OR92は、診断結果用入力端子と、(m+1)個のモニタ用入力端子と、出力端子とを有している。OR92の診断結果用入力端子は、OR72の出力端子に接続されている。OR92の第iモニタ用入力端子は、NAND91−iの出力端子に接続されている。OR92の出力端子は、割込制御部40に接続されている。
セレクタ93は、入力端子と、出力端子と、制御端子とを有している。セレクタ93の入力端子は、OR92の出力端子に接続されている。セレクタ93の出力端子は、異常信号出力端子52に接続されている。セレクタ93の制御端子には、マスクオプション制御信号200が供給される。
NAND91−i(i=0、1、…、m)は、2個の入力端子と、出力端子とを有している。NAND91−iの2入力端子のうちの一方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。NAND91−iの2入力端子のうちの他方の入力端子は、出力バッファ81−iの出力端子に接続されている。
OR92は、診断結果用入力端子と、(m+1)個のモニタ用入力端子と、出力端子とを有している。OR92の診断結果用入力端子は、OR72の出力端子に接続されている。OR92の第iモニタ用入力端子は、NAND91−iの出力端子に接続されている。OR92の出力端子は、割込制御部40に接続されている。
セレクタ93は、入力端子と、出力端子と、制御端子とを有している。セレクタ93の入力端子は、OR92の出力端子に接続されている。セレクタ93の出力端子は、異常信号出力端子52に接続されている。セレクタ93の制御端子には、マスクオプション制御信号200が供給される。
次に、本発明のマイクロコンピュータ2の動作について説明する。図4A、図4Bは、本発明のマイクロコンピュータ2の動作を示すフローチャートである。
CPUコア10の命令コードデコーダ11は、複数の命令コードの中から、命令実行指示に応じた命令コード100をROM30からデータバス20を介して読み出す。命令コードデコーダ11は、読み出した命令コード100をデコードして命令データ101を発行し、診断用データ生成部12に出力する(ステップS2)。
CPUコア10の診断用データ生成部12のバッファ13は、命令コードデコーダ11からの命令データ101を出力部50にデータバス20を介して出力する。このとき、診断用データ生成部12のインバータ14は、命令コードデコーダ11からの命令データ101を反転して診断用データ102を生成して出力部50にデータバス20を介して出力する(ステップS4)。
ここで、CPUコア10からの命令データ101に含まれるビット101−i(i=0、1、…、m)は、出力部50のレジスタ60の第i記憶領域に格納される(ステップS6)。
ステップS6にて、出力部50のNOR71−iの一方の入力端子には、CPUコア10からの診断用データ102に含まれる診断用ビット102−iが供給される。NOR71−iの他方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。
ステップS6にて、出力部50のNOR71−iの一方の入力端子には、CPUコア10からの診断用データ102に含まれる診断用ビット102−iが供給される。NOR71−iの他方の入力端子には、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iが供給される。
出力部50のNOR71−i(i=0、1、…、m)は、ビット101−iと診断用ビット102−iとが一致するか否かを表すビット診断結果信号151−iをOR72に出力する。OR72は、(m+1)個のビット診断結果信号151−0〜151−mに基づいて、命令データ101と診断用データ102とが一致するか否かを表す診断結果信号152を出力バッファ81−0〜81−mとOR92とに出力する(ステップS8)。
ステップS8にて、ビット診断結果信号151−iは、ビット101−iと診断用ビット102−iとが一致している場合、“1”を表し、ビット101−iと診断用ビット102−iとが一致していない場合、“0”を表す。
また、ステップS8にて、診断結果信号152は、命令データ101と診断用データ102とが一致している場合、“1”を表し、命令データ101と診断用データ102とが一致していない場合、“0”を表す。即ち、(m+1)個のビット診断結果信号151−0〜151−mのうちの少なくとも1つのビット診断結果信号151−iが“1”を表すとき、診断結果信号152は、ハイレベル(Hi)である“1”を表す。(m+1)個のビット診断結果信号151−0〜151−mが“0”を表すとき、診断結果信号152は、ロウレベル(Lo)である“0”を表す。
ステップS8にて、ビット診断結果信号151−iは、ビット101−iと診断用ビット102−iとが一致している場合、“1”を表し、ビット101−iと診断用ビット102−iとが一致していない場合、“0”を表す。
また、ステップS8にて、診断結果信号152は、命令データ101と診断用データ102とが一致している場合、“1”を表し、命令データ101と診断用データ102とが一致していない場合、“0”を表す。即ち、(m+1)個のビット診断結果信号151−0〜151−mのうちの少なくとも1つのビット診断結果信号151−iが“1”を表すとき、診断結果信号152は、ハイレベル(Hi)である“1”を表す。(m+1)個のビット診断結果信号151−0〜151−mが“0”を表すとき、診断結果信号152は、ロウレベル(Lo)である“0”を表す。
例えば、出力部50の出力バッファ81−0〜81−m、OR92に供給される診断結果信号152が“0”を表す。即ち、命令データ101と診断用データ102との一致を表さず、命令データ101は正常である(ステップS10−NO)。この場合、出力バッファ81−i(i=0、1、…、m)は、レジスタ60の第i記憶領域に格納された命令データ101に含まれるビット101−iを、モニタ用ビット103−iとしてNAND91−iに出力し、汎用出力端子51−iを介してプリドライバ3に出力する(ステップS12)。
本発明のマイクロコンピュータ2では、ステップS10にて命令データ101が正常である場合、ステップS2〜S12を繰り返して実行する。
例えば、出力バッファ81−0〜81−m、OR92に供給される診断結果信号152が“1”を表す。即ち、命令データ101と診断用データ102との一致を表し、命令データ101は異常である(ステップS10−YES)。
また、出力部50のNAND91−i(i=0、1、…、m)は、ビット101−iとモニタ用ビット103−iとが一致するか否かを表すモニタ異常検出信号153−iをOR92に出力する。ここで、モニタ異常検出信号153−iは、ビット101−iとモニタ用ビット103−iとが一致している場合、“0”を表し、ビット101−iとモニタ用ビット103−iとが一致していない場合、“1”を表す。ここで、何らかの原因によってビット101−iとモニタ用ビット103−iとが一致していない場合、命令データ101は異常である(ステップS10−YES)。
ステップS10−YESにて、出力部50のOR92は、診断結果信号152、モニタ異常検出信号153−1〜153−mの少なくとも1つの信号が“1”を表すとき、命令データ101が異常であることを表す異常検出信号154を生成して出力する。
また、出力部50のNAND91−i(i=0、1、…、m)は、ビット101−iとモニタ用ビット103−iとが一致するか否かを表すモニタ異常検出信号153−iをOR92に出力する。ここで、モニタ異常検出信号153−iは、ビット101−iとモニタ用ビット103−iとが一致している場合、“0”を表し、ビット101−iとモニタ用ビット103−iとが一致していない場合、“1”を表す。ここで、何らかの原因によってビット101−iとモニタ用ビット103−iとが一致していない場合、命令データ101は異常である(ステップS10−YES)。
ステップS10−YESにて、出力部50のOR92は、診断結果信号152、モニタ異常検出信号153−1〜153−mの少なくとも1つの信号が“1”を表すとき、命令データ101が異常であることを表す異常検出信号154を生成して出力する。
ここで、ユーザが即時性割込処理プログラムを割込処理プログラムとして予めに設定している場合、出力部50のセレクタ93には外部からマスクオプション制御信号200が入力されている。即ち、マスクオプション制御信号200がアクティブ状態である(ステップS14−YES)。
この場合、即時性割込処理として、出力部50のOR92により生成された異常検出信号154は、割込制御部40に出力されると共に、セレクタ93と異常信号出力端子52とを介してプリドライバ3、警告装置4に出力される(ステップS16)。プリドライバ3は、命令データ(実行すべきではない命令データ)と異常検出信号154とを受け取ったとき、受け取った命令データを破棄する。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する(ステップS18)。
このとき、ROM30に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、CPUコア10は、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する(ステップS20)。
この場合、即時性割込処理として、出力部50のOR92により生成された異常検出信号154は、割込制御部40に出力されると共に、セレクタ93と異常信号出力端子52とを介してプリドライバ3、警告装置4に出力される(ステップS16)。プリドライバ3は、命令データ(実行すべきではない命令データ)と異常検出信号154とを受け取ったとき、受け取った命令データを破棄する。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する(ステップS18)。
このとき、ROM30に格納された命令実行処理プログラムの即時性割込処理プログラムが起動し、CPUコア10は、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する(ステップS20)。
一方、ユーザが非即時性割込処理プログラムを割込処理プログラムとして予めに設定している場合、出力部50のセレクタ93には外部からマスクオプション制御信号200が入力されていない。即ち、マスクオプション制御信号200がインアクティブ状態である(ステップS14−NO)。
この場合、非即時性割込処理として、出力部50のOR92により生成された異常検出信号154は、割込制御部40に出力される(ステップS22)。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する(ステップS24)。
このとき、ROM30に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、非即時性割込処理プログラムは、ROM30の所定の記憶領域に格納された数Mを1だけインクリメントする(ステップS26)。
CPUコア10は、ROM30の所定の記憶領域に格納された数Mが設定数Nを超えないとき(ステップS28−NO)、ステップS2を実行し、ROM30の所定の記憶領域に格納された数Mが設定数Nを超えたとき(ステップS28−YES)、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する(ステップS30)。
この場合、非即時性割込処理として、出力部50のOR92により生成された異常検出信号154は、割込制御部40に出力される(ステップS22)。
割込制御部40は、異常検出信号154に応じて、割込要求信号140をROM30に出力する(ステップS24)。
このとき、ROM30に格納された命令実行処理プログラムの非即時性割込処理プログラムが起動し、非即時性割込処理プログラムは、ROM30の所定の記憶領域に格納された数Mを1だけインクリメントする(ステップS26)。
CPUコア10は、ROM30の所定の記憶領域に格納された数Mが設定数Nを超えないとき(ステップS28−NO)、ステップS2を実行し、ROM30の所定の記憶領域に格納された数Mが設定数Nを超えたとき(ステップS28−YES)、命令データ101の次の命令データと、診断用データ102の次の診断用データとの出力を停止する(ステップS30)。
以上説明したように、本発明のマイクロコンピュータ2では、CPUコア10は、命令データ101を発行したとき、命令データ101と、命令データ101を反転して得られる診断用データ102とを出力部50にデータバス20を介して出力する。出力部50は、CPUコア10からの命令データ101をレジスタ60に格納し、命令データ101と診断用データ102とを比較する。出力部50は、命令データ101と診断用データ102とが一致しないとき、命令データ101が正常であると判断し、レジスタ60に格納された命令データ101を外部装置(プリドライバ3)に出力する。プリドライバ3は、出力部50から命令データ101を受け取り、出力部50から異常検出信号154を受け取らないとき(異常検出信号154がインアクティブであるとき)、受け取った命令データ101を電装システムに出力する(命令データ101を用いて電装システムを制御する)。
このように、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データにおける信頼性を確保し、且つ、命令データが発行されてから電装システムに転送されるまでの転送時間を従来のそれよりも短くすることができる。このため、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データを発行したときに、速やかに電装システムを制御することができ、車両に重大な事象を引き起こすこともなく、車両の安全性も確保される。
このように、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データにおける信頼性を確保し、且つ、命令データが発行されてから電装システムに転送されるまでの転送時間を従来のそれよりも短くすることができる。このため、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データを発行したときに、速やかに電装システムを制御することができ、車両に重大な事象を引き起こすこともなく、車両の安全性も確保される。
また、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、複数の命令データを格納するROM30をマイクロコンピュータ2内に設け、出力部50は、CPUコア10によりROM30から読み出された命令データ101(命令コード100)と、CPUコア10により命令データ101を反転して得られる診断用データ102とを比較している。このため、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データ比較用の記憶装置をマイクロコンピュータ2内に設ける必要がない。また、複数の命令データを格納する記憶手段(ROM30)が1つあればよく、システムが従来のそれよりも小型化し経済的である。このように、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、命令データにおける信頼性を確保し、且つ、小型化を実現することができる。
また、本発明のマイクロコンピュータ2、及び、本発明のコンピュータシステム1では、システム仕様に応じた処理(即時性割込処理、非即時性割込処理)を行うことができる。
なお、本発明のマイクロコンピュータ2では、命令データ101と診断用データ102は、汎用ポート出力によりデータバス20に出力されているが、タイマを用いたリアルタイムポート出力でもよい。この場合、図5に示されるように、本発明のマイクロコンピュータ2は、更に、タイマユニット210を具備している。タイマユニット210は、CPUコア10とデータバス20とに接続されている。タイマユニット210は、タイマ部211と、上述の診断用データ生成部12とを備えている。
タイマユニット210を利用する仕様である場合、CPUコア10の命令コードデコーダ11は、複数の命令コードの中から、命令実行指示に応じた命令コード100をROM30からデータバス20を介して読み出し、命令コード100(命令データ101)に従って、周波数(周期)、ディーティ比を含む設定情報を決定してタイマユニット210に出力する。
設定情報に含まれる周期がTであり、ディーティ比が1/2であるとき、タイマユニット210のタイマ部211は、図6に示されるように、周期T毎にカウント値0からカウント値Lまでカウントし、ディーティー出力として、ディーティ比が1/2であるパルス信号を、タイマユニット210の診断用データ生成部12に出力する。タイマユニット210の診断用データ生成部12は、パルス信号である命令データ101と、命令データ101を反転して得られる診断用データ102とを出力部50にデータバス20を介して出力する。即ち、命令データ101と診断用データ102は、CPUコア10を介さずにタイマユニット210から直接出力される。
出力部50は、命令データ101と診断用データ102の出力状態をモニタすることにより、ディーティー出力の異常を正確に検出し、命令データ101の出力の停止、及び、異常検出信号の出力を行うことができる。
タイマユニット210を利用する仕様である場合、CPUコア10の命令コードデコーダ11は、複数の命令コードの中から、命令実行指示に応じた命令コード100をROM30からデータバス20を介して読み出し、命令コード100(命令データ101)に従って、周波数(周期)、ディーティ比を含む設定情報を決定してタイマユニット210に出力する。
設定情報に含まれる周期がTであり、ディーティ比が1/2であるとき、タイマユニット210のタイマ部211は、図6に示されるように、周期T毎にカウント値0からカウント値Lまでカウントし、ディーティー出力として、ディーティ比が1/2であるパルス信号を、タイマユニット210の診断用データ生成部12に出力する。タイマユニット210の診断用データ生成部12は、パルス信号である命令データ101と、命令データ101を反転して得られる診断用データ102とを出力部50にデータバス20を介して出力する。即ち、命令データ101と診断用データ102は、CPUコア10を介さずにタイマユニット210から直接出力される。
出力部50は、命令データ101と診断用データ102の出力状態をモニタすることにより、ディーティー出力の異常を正確に検出し、命令データ101の出力の停止、及び、異常検出信号の出力を行うことができる。
1 コンピュータシステム
2 マイクロコンピュータ
3 プリドライバ
4 警告装置
5 システム(エンジン制御システム、アンチロックブレーキシステム)
6 駆動部(エンジン、車輪)
10 CPUコア(演算部)
11 命令コードデコーダ
12 診断用データ生成部
13 バッファ
14 インバータ
20 データバス
30 ROM
40 割込制御部
50 出力部
51、51−0〜51−m(mは0より大きい整数) 汎用出力端子
52 異常信号出力端子
60 レジスタ
70 診断部
71−0〜71−m 排他的論理和ゲート(NOR)
72 論理ゲート(OR)
80 命令出力制御部
81−1〜81−m 出力バッファ
90 異常信号出力制御部
91−0〜91−m 論理ゲート(NAND)
92 論理ゲート(OR)
93 セレクタ
100 命令コード
101 命令データ
101−0〜101−m ビット
102 診断用データ
102−0〜102−m 診断用ビット
103−0〜103−m モニタ用ビット
140 割込要求信号
151−0〜151−m ビット診断結果信号
152 診断結果信号
153−0〜153−m モニタ異常検出信号
154 異常検出信号
200 マスクオプション制御信号
301 コンピュータシステム
302 マイクロコンピュータ
303 プリドライバ
304 診断装置
310 CPUコア(演算部)
320 データバス
330 ROM
350 出力部
2 マイクロコンピュータ
3 プリドライバ
4 警告装置
5 システム(エンジン制御システム、アンチロックブレーキシステム)
6 駆動部(エンジン、車輪)
10 CPUコア(演算部)
11 命令コードデコーダ
12 診断用データ生成部
13 バッファ
14 インバータ
20 データバス
30 ROM
40 割込制御部
50 出力部
51、51−0〜51−m(mは0より大きい整数) 汎用出力端子
52 異常信号出力端子
60 レジスタ
70 診断部
71−0〜71−m 排他的論理和ゲート(NOR)
72 論理ゲート(OR)
80 命令出力制御部
81−1〜81−m 出力バッファ
90 異常信号出力制御部
91−0〜91−m 論理ゲート(NAND)
92 論理ゲート(OR)
93 セレクタ
100 命令コード
101 命令データ
101−0〜101−m ビット
102 診断用データ
102−0〜102−m 診断用ビット
103−0〜103−m モニタ用ビット
140 割込要求信号
151−0〜151−m ビット診断結果信号
152 診断結果信号
153−0〜153−m モニタ異常検出信号
154 異常検出信号
200 マスクオプション制御信号
301 コンピュータシステム
302 マイクロコンピュータ
303 プリドライバ
304 診断装置
310 CPUコア(演算部)
320 データバス
330 ROM
350 出力部
Claims (10)
- バスと、
前記バスに接続され、外部装置を制御するための命令データと、前記命令データを反転して得られる診断用データとを出力する演算部と、
前記バスと前記外部装置とに接続され、前記命令データと前記診断用データとの比較結果に基づいて前記命令データを前記外部装置に出力する出力部と
を具備するマイクロコンピュータ。 - 請求項1に記載のマイクロコンピュータにおいて、
前記出力部は、
前記演算部からの前記命令データを格納するレジスタと、
前記レジスタに格納された前記命令データと、前記演算部からの前記診断用データとが一致するか否かを表す診断結果を前記比較結果として生成する診断部と、
前記診断結果が前記命令データと前記診断用データとの一致を表さないとき、前記レジスタに格納された前記命令データを前記外部装置に出力する命令出力制御部と、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記命令データが異常であることを表す異常検出信号を前記外部装置に出力する異常信号出力制御部と
を備えるマイクロコンピュータ。 - 請求項2に記載のマイクロコンピュータにおいて、
前記命令データと前記診断用データは、複数のビットを含み、
前記診断結果は、複数のビット診断結果を含み、
前記複数のビット診断結果のそれぞれは、前記命令データに含まれる前記複数のビットのそれぞれと、前記診断用データに含まれる前記複数のビットのそれぞれとが一致するか否かを表し、
前記命令出力制御部は、前記複数のビット診断結果のそれぞれが前記命令データと前記診断用データとの一致を表さないとき、前記レジスタに格納された前記命令データを前記外部装置に出力し、
前記異常信号出力制御部は、前記複数のビット診断結果のうちの少なくとも1つのビット診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記外部装置に出力する
マイクロコンピュータ。 - 請求項2又は3に記載のマイクロコンピュータにおいて、
更に、
割込制御部を具備し、
前記異常信号出力制御部は、前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記外部装置に出力すると共に前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記命令データが異常であることを通知するための割込要求信号を出力し、
前記演算部は、前記割込制御部から前記割込要求信号が出力された場合、前記命令データの次の命令データと、前記診断用データの次の診断用データとの出力を停止する割込処理を実行する
マイクロコンピュータ。 - 請求項4に記載のマイクロコンピュータにおいて、
前記異常信号出力制御部は、
前記診断結果が前記命令データと前記診断用データとの一致を表し、且つ、外部からのマスクオプション制御信号を入力しているとき、前記異常検出信号を前記外部装置に出力し、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記割込要求信号を出力する
マイクロコンピュータ。 - 請求項5に記載のマイクロコンピュータにおいて、
前記異常信号出力制御部は、
前記診断結果が前記命令データと前記診断用データとの一致を表していても、前記マスクオプション制御信号を入力していないとき、前記異常検出信号を前記外部装置に出力せず、
前記診断結果が前記命令データと前記診断用データとの一致を表すとき、前記異常検出信号を前記割込制御部に出力し、
前記割込制御部は、前記異常検出信号に応じて、前記割込要求信号を出力し、
前記演算部は、前記割込制御部から出力された前記割込要求信号の数が設定数を超えたとき、前記割込処理を実行する
マイクロコンピュータ。 - エンジンとエンジン制御システムとを含む車両に設けられたコンピュータシステムであって、
請求項1〜6のいずれかに記載のマイクロコンピュータと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記エンジンを駆動するように前記エンジン制御システムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備するコンピュータシステム。 - 車輪とアンチロックブレーキシステムとを含む車両に設けられたコンピュータシステムであって、
請求項1〜6のいずれかに記載のマイクロコンピュータと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記車輪のロックを防止するように前記アンチロックブレーキシステムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備するコンピュータシステム。 - 請求項1〜6のいずれかに記載のマイクロコンピュータと、
エンジンと、
エンジン制御システムと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、前記エンジンを駆動するように前記エンジン制御システムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備する車両。 - 請求項1〜6のいずれかに記載のマイクロコンピュータと、
車輪と、
アンチロックブレーキシステムと、
前記マイクロコンピュータの前記命令出力制御部からの前記命令データに基づいて、急ブレーキ時に前記車輪のロックを防止するように前記アンチロックブレーキシステムを制御するプリドライバと、
前記マイクロコンピュータの前記異常信号出力制御部からの前記異常検出信号を受け取ったとき、前記命令データが異常であることをユーザに通知するための警告情報を出力する警告装置と
を具備する車両。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004169553A JP2005352545A (ja) | 2004-06-08 | 2004-06-08 | マイクロコンピュータ及びコンピュータシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004169553A JP2005352545A (ja) | 2004-06-08 | 2004-06-08 | マイクロコンピュータ及びコンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005352545A true JP2005352545A (ja) | 2005-12-22 |
Family
ID=35587008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004169553A Pending JP2005352545A (ja) | 2004-06-08 | 2004-06-08 | マイクロコンピュータ及びコンピュータシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005352545A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265711A (ja) * | 2008-04-22 | 2009-11-12 | Hitachi High-Technologies Corp | 制御システム |
-
2004
- 2004-06-08 JP JP2004169553A patent/JP2005352545A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265711A (ja) * | 2008-04-22 | 2009-11-12 | Hitachi High-Technologies Corp | 制御システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5126393B2 (ja) | 車載電子制御装置 | |
JP6599054B2 (ja) | 異常判定装置、異常判定方法及び異常判定プログラム | |
JP5163807B2 (ja) | マイコン相互監視システム及びマイコン相互監視方法 | |
US20130020978A1 (en) | Microcontroller, control device and determination method | |
US8996927B2 (en) | Electronic control device with watchdog timer and processing unit to diagnose malfunction of watchdog timer | |
JP3752022B2 (ja) | 故障診断機能付き電子制御装置 | |
US6356821B1 (en) | Electronic control unit for vehicle having reduced circuit scale | |
US10254733B2 (en) | Motor control device | |
JP6462870B2 (ja) | 半導体装置及び診断テスト方法 | |
KR20160110203A (ko) | 안전 관련 중대한 에러를 처리하는 방법 및 장치 | |
KR20160022245A (ko) | 프로세서 시스템, 엔진 제어 시스템 및 제어 방법 | |
JP2004259137A (ja) | 電子制御装置 | |
JP2010128627A (ja) | 車載用電子制御装置 | |
JP5094777B2 (ja) | 車載用電子制御装置 | |
JP2014032558A (ja) | 半導体装置 | |
EP2784678A2 (en) | Integrated circuit | |
JP2005352545A (ja) | マイクロコンピュータ及びコンピュータシステム | |
JP5459370B2 (ja) | 車載電子制御装置 | |
JP2016126692A (ja) | 電子制御装置 | |
JP2011126327A (ja) | 車載制御装置 | |
JP6457149B2 (ja) | 電子制御装置 | |
JP5561329B2 (ja) | 車載電子制御装置 | |
JP6702175B2 (ja) | 負荷駆動装置 | |
JPH07129424A (ja) | Ecc機能回路の1ビット誤り検知通知装置 | |
JP2005195501A (ja) | 異常報知方法及び異常報知装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070516 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090616 |