(57)【要約】【課題】  簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出装置、異常検出方法を提供することを目的とする。【解決手段】  複数の演算手段を有する中央処理装置の異常検出装置において、複数の演算手段に、演算結果が同一となる演算命令を入力する演算命令入力手段と、演算命令入力手段により入力された演算命令を、複数の演算手段が演算した演算結果を比較する演算結果比較手段と、演算結果比較手段による比較の結果に基づき当該中央処理装置の異常を検出する異常検出手段と、を有することを特徴とする。【選択図】  図１
2006031459.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算手段を有する中央処理装置の異常検出装置において、
前記複数の演算手段に、演算結果が同一となる演算命令を入力する演算命令入力手段と、
前記演算命令入力手段により入力された演算命令を前記複数の演算手段が演算した演算結果を比較する演算結果比較手段と、
前記演算結果比較手段による比較の結果に基づき当該中央処理装置の異常を検出する異常検出手段と、
を有することを特徴とする中央処理装置の異常検出装置。
【請求項２】
複数の演算手段を有する中央処理装置の異常検出装置において、
前記演算手段に、演算命令を入力する演算命令入力手段と、
前記演算命令入力手段により前記演算手段に入力される演算命令の正しい演算結果を予め記憶した演算結果記憶手段と、
前記演算命令入力手段により入力された演算命令を前記演算手段が演算した演算結果と、前記演算結果記憶手段により記憶された正しい演算結果とを比較する演算結果比較手段と、
前記演算結果比較手段による比較の結果に基づき当該中央処理装置の異常を検出する異常検出手段と、
を有することを特徴とする中央処理装置の異常検出装置。
【請求項３】
複数の演算手段を有する中央処理装置の異常検出方法において、
前記複数の演算手段に、演算結果が同一となる演算命令を入力する演算命令入力ステップと、
前記演算命令入力ステップにより入力された演算命令を、前記複数の演算手段が演算した演算結果を比較する演算結果比較ステップと、
前記演算結果比較ステップによる比較の結果に基づき当該中央処理装置の異常を検出する異常検出ステップと、
を有することを特徴とする中央処理装置の異常検出方法。
【請求項４】
複数の演算手段を有する中央処理装置の異常検出方法において、
前記演算手段に、演算命令を入力する演算命令入力ステップと、
前記演算手段に入力される演算命令の正しい演算結果を予め記憶しておく演算結果記憶ステップと、
前記演算命令入力ステップにより入力された演算命令を前記演算手段が演算した演算結果と、前記演算結果記憶ステップにより記憶された正しい演算結果と、を比較する演算結果比較ステップと、
前記演算結果比較ステップによる比較の結果に基づき当該中央処理装置の異常を検出する異常検出ステップと、
を有することを特徴とする中央処理装置の異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御ユニットに関し、特に電子制御ユニットにおける中央処理装置の異常検出装置、中央処理装置の異常検出方法に関する。
【背景技術】
【０００２】
各種の電子制御ユニットにより、車両におけるアクチュエータや油圧ポンプ等、種々の制御が行われている。電子制御ユニットに異常が生じると制御が正常に行われないため、電子制御ユニットに異常が検出された場合には、制御の中止や機能回復制御など所定の処理が行われる。
【０００３】
異常を検出する方法として、異常を検出する装置を用いて対象の電子制御ユニットを監視しただけでは、異常を検出する検出装置自身が異常を起こした場合に不具合が生じるので、異常を検出する装置自身の異常を検出する必要がある。このため、電子制御ユニットの異常を検出するには、制御系統を２重にして相互に監視を行う監視方法が基本的な考え方となる（例えば、特許文献１参照。）
特許文献１記載の異常検出方法では、後輪角の制御装置に２つの中央処理装置（以下、ＣＰＵという）を備え、該２つのＣＰＵによる演算結果を比較する。後輪角の制御装置に入力されたセンサ信号は、一のＣＰＵに入力され各種の演算がなされると共に、他方のＣＰＵに演算結果が入力される。また、他方のＣＰＵにも同じセンサ信号が入力され各種の演算がなされる。一のＣＰＵと他方のＣＰＵの演算結果とが比較され、演算結果が異なる場合にはいずれかのＣＰＵに異常があるものとして、後輪角の制御を中止する。
【特許文献１】特開平６−２３０９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の発明は、２つのＣＰＵを必要とするためコスト高となり、また、電子制御ユニットの小型化が困難であるという問題がある。また、２つのＣＰＵにセンサ信号を入力する必要があるため、センサ類との配線や電子制御ユニット内部の構造が複雑となるという問題がある。
【０００５】
本発明は、上記問題に鑑み、簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出装置、異常検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記問題に鑑み、本発明は、複数の演算手段を有する中央処理装置の異常検出装置において、複数の演算手段に、演算結果が同一となる演算命令を入力する演算命令入力手段と、演算命令入力手段により入力された演算命令を、複数の演算手段が演算した演算結果を比較する演算結果比較手段と、演算結果比較手段による比較の結果に基づき当該中央処理装置の異常を検出する異常検出手段と、を有することを特徴とする。演算結果が同一となる演算命令が入力されたので、演算結果比較手段は、演算結果が同一でなければ異常を検出する。
【０００７】
本発明によれば、簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出装置を提供するができる。なお、中央処理装置は、電子制御ユニットの内部に複数設けられることもあるし、１つだけ設けられていることもある。１つだけ中央処理装置が設けられた簡単な構造の電子制御ユニットの場合は、電子制御ユニットと中央処理装置は一体である。
【０００８】
また、本発明は、複数の演算手段を有する中央処理装置の異常検出装置において、演算手段に、演算命令を入力する演算命令入力手段と、演算命令入力手段により演算手段に入力される演算命令の正しい演算結果を予め記憶した演算結果記憶手段と、演算命令入力手段により入力された演算命令を演算手段が演算した演算結果と、演算結果記憶手段により記憶された正しい演算結果とを比較する演算結果比較手段と、演算結果比較手段による比較の結果に基づき当該中央処理装置の異常を検出する異常検出手段と、を有することを特徴とする。
【０００９】
本発明によれば、予め正しい演算結果を保存しておき、正しい演算結果と、入力された演算命令の演算結果を比較できるので、簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出装置を提供することができる。
【００１０】
また、本発明は、複数の演算手段を有する中央処理装置の異常検出方法において、複数の演算手段に、演算結果が同一となる演算命令を入力する演算命令入力ステップと、演算命令入力ステップにより入力された演算命令を、複数の演算手段が演算した演算結果を比較する演算結果比較ステップと、記演算結果比較ステップによる比較の結果に基づき当該中央処理装置の異常を検出する異常検出ステップと、を有することを特徴とする。
【００１１】
本発明によれば、簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出方法を提供することができる。
【００１２】
また、本発明は、複数の演算手段を有する中央処理装置の異常検出方法において、演算手段に、演算命令を入力する演算命令入力ステップと、演算手段に入力される演算命令の正しい演算結果を予め記憶しておく演算結果記憶ステップと、演算命令入力ステップにより入力された演算命令を演算手段が演算した演算結果と、演算結果記憶ステップにより記憶された正しい演算結果と、を比較する演算結果比較ステップと、演算結果比較ステップによる比較の結果に基づき当該中央処理装置の異常を検出する異常検出ステップと、を有することを特徴とする。
【００１３】
本発明によれば、簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出方法を提供することができる。
【発明の効果】
【００１４】
簡単な構造で異常が検出できる電子制御ユニットにおける中央処理装置の異常検出装置、異常検出方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態について図面を参照しながら実施例を挙げて説明する。図１は、電子制御ユニットにおける中央処理装置の異常（以下、単に、電子制御ユニットの異常、という）を検出する異常検出装置の概略機能構成図を示す。図１の概略機能構成図は、演算命令を演算手段に入力する演算命令入力手段１と、演算を行う２以上の演算手段２及び３、演算手段２及び３で行われた演算の演算結果を比較する演算結果比較手段４、比較結果に応じて異常を検出する異常検出手段５、とを有するように構成される。演算結果記憶手段６は、正しい演算結果を予め記憶しておく場合に用いる記憶手段である。
【００１６】
演算命令入力手段１は、演算命令を所定の記憶装置から読み出し、演算手段２及び３へ入力する。演算手段２又は３は、機構として互いに別の演算手段である。例えば、演算手段２は加減算を行う演算手段であり、演算手段３は乗算器を行う演算手段である。演算手段２と３は、別体であれば同一の演算機能を提供するものであってもよい。
【００１７】
演算命令入力手段１は、演算手段２と演算手段３による演算結果が等しくなるように、演算手段２又は３の演算機能に併せて演算命令を入力する。例えば、任意の２つの数値（ｍ、ｎ）を用いて、演算手段２及び３に演算命令を入力することで、演算手段２では、ｍをｎ回加算する演算が行われ、演算手段３ではｍ×ｎの乗算が行われる。
【００１８】
演算手段２及び３による演算結果は、演算結果比較手段４により比較され、異常検出手段５は比較の結果に応じて、電子制御ユニットの異常を検出する。演算命令入力手段１は、演算手段２と演算手段３による演算結果が同一となるように演算命令を入力したので、異常検出手段５は、演算結果が同一でない場合に、電子制御ユニットの異常を検出する。
【００１９】
異常検出手段５が異常を検出した場合は、所定の異常処理が制御手段８へ行われる。異常が検出されない場合は、電子制御ユニットにより通常の制御が制御手段８に対し行われる。
【００２０】
図１（ｂ）は、ｍ＝３、ｎ＝５を用いた場合の異常検出例を示す。ｍとｎはレジスタＲ１とＲ２に格納され、加減算器により３＋３＋３＋３＋３が演算され、乗算器により３×５が演算される。演算結果が同一でない場合（１５でない場合）は、電子制御ユニットの異常が検出され、所定の異常処理が行われる。
【００２１】
任意の２つの数値ｍとｎは、予め定めておいてもよい。ｍとｎが予め定められている場合には、演算結果記憶手段６に正しい計算結果も予め格納しておけるので、予め格納している正しい計算結果と、演算手段２又は３による演算結果を比較できる。任意の２つの数値ｍとｎを予め定めておいた場合、２つの演算結果が同一であるがどちらも正しい演算結果でない場合に、異常を検出できる。
【００２２】
以上のように、一つの電子制御ユニットにおいて、演算結果を比較することで異常を検出しうる。電子制御ユニットでは、小型化やコスト低減、高速に演算を行う等のため、加減算器と乗算器を別々に備えることがある。したがって、演算手段２及び３は、異常の検出のために新たに設ける必要がなく、制御装置の制御を行いながら、所定のタイミング（例えば、１分毎など）で別々の演算を行うことで、異常を検出できる。
【実施例１】
【００２３】
加減算器と乗除算器による演算により電子制御ユニットの異常を検出する異常検出の方法について説明する。図２は、中央処理装置の概略ハードウェア構成図を示す。図２の中央処理装置は、演算手段としてＡＬＵ（Ａｌｉｔｈｍｅｔｉｃ
Ａｎｄ Ｌｏｇｉｃ Ｕｎｉｔ）１０ａ及び１０ｂを有する。ＡＬＵ１０ａは、加減算器であり、ＡＬＵ１０ｂは、乗除算器である。
【００２４】
命令制御装置１５は、記憶装置２０に格納されたプログラムの読み書き制御を行いながら、プログラムやデータの流れの制御、ＡＬＵ１０ａ、１０ｂへの演算の指定などを行う。プログラムは、クロック１９が出力するクロック信号毎に、所定のビット数（例えば３２ビット）をＩＲ（Ｉｎｓｔｒｕｃｔｉｏｎ
Ｒｅｇｉｓｔｅｒ）１６に読み出される。ＰＣ（プログラムカウンタ）１２は、次に読み出すプログラムのアドレスを保持するレジスタである。命令制御装置１５は、ＩＲ１６に読み出されたプログラムのうち、命令部分（上位ビット）を取り出し、命令の内容に応じて、ＡＬＵ１０ａ及び／又は１０ｂに演算指定する。ＩＲ１６の下位ビットは、データが記憶された番地を指定する番地指定部分又はデータそのものを格納する部分であり、レジスタＲ１やレジスタＲ２に当該データが読み出される。ＡＬＵ１０ａ又はＡＬＵ１０ｂは、レジスタＲ１又はＲ２に読み出されたデータを用いて、指示された演算を行う。演算の結果は、Ｒ１又はＲ２に一時的に保持される。なお、ＣＣＲ１７は条件コードレジスタであり、ＡＣＣ１１はアキュムレータレジスタ（累積器）である。
【００２５】
図２のハードウェア構成図に基づき、ＡＬＵ１０ａ（加算器）による演算結果とＡＬＵ１０ｂ（乗除算器）による演算結果を比較し、電子制御ユニットの異常を検出する方法について説明する。本実施例では、記憶装置２０に次のような命令が記憶されている。
（ＡＬＵ１０ａによる演算）
１００：  ＬＯＡＤＩ  Ｒ１，３（レジスタＲ１に数値３をロード）
１０１：  ＬＯＡＤＩ  Ｒ２，５（レジスタＲ２に数値５をロード）
１０２：  ＳＵＢ  Ｒ２，１（Ｒ２から数値１を減算）
１０３：  ＪＯＺ  Ｌ１０６（減算の結果が０なら１０６行へジャンプ）
１０４：  ＡＤＤ  Ｒ１，Ｒ１（ＡＬＵ１０ａがＲ１にＲ１を加算してＲ１に保存）
１０５：  ＪＵＭＰ  Ｌ１０２（１０２行へジャンプ）  
１０６：  ＳＴＯＲＥ  Ｒ１，ＳＡＶＥ１（Ｒ１の内容をＳＡＶＥ１番地に保存）    
以上の処理により、ＳＡＶＥ１番地には３＋３＋３＋３＋３＝１５が格納される。
（ＡＬＵ１０ｂによる演算）
１１０：  ＬＯＡＤＩ  Ｒ１，３（レジスタＲ１に数値３をロード）
１１１：  ＬＯＡＤＩ  Ｒ２，５（レジスタＲ２に数値５をロード）
１１２：  ＭＵＬ  Ｒ１，Ｒ２（ＡＬＵ１０ｂが、３×５を演算してＲ１に保存）
１１３：  ＳＴＯＲＥ  Ｒ１，ＳＡＶＥ２（Ｒ１の内容をＳＡＶＥ２番地に保存）
以上の処理により、ＳＡＶＥ２番地には３×５＝１５が格納される。なお、ＡＬＵ１０ｂが行う乗算は、ＡＬＵ１０ｂ内部でどのように演算されてもよいが、例えば、いずれも２進数として、被乗数３と乗数５の部分積をもとめ、各部分積の論理和として求められる。また、演算結果をＳＡＶＥ１、ＳＡＶＥ２番地に保存することとしたが、所定のレジスタ（不図示）に保存するとしてもよい。
（ＡＬＵ１０ａとＡＬＵ１０ｂの演算の比較）
１２０：  ＳＵＢ  ＳＡＶＥ１，ＳＡＶＥ２（ＳＡＶＥ１からＳＡＶＥ２を減算）
１２１：  ＪＮＺ  Ｌ５００（減算の結果が０でないなら５００行へジャンプ）
５００：  異常処理を行うプログラム
すなわち、１２０行でＳＡＶＥ１の内容からＳＡＶＥ２の内容を減算することで、ＡＬＵ１０ａの１０ｂの演算結果の比較を行える。減算の結果、ゼロでなければ、ＡＬＵ１０ａと１０ｂの演算結果が同一でないこと、すなわち、ＡＬＵ１０ａ又は１０ｂに異常が生じたことが検出されるので、異常処理が行われる（５００行）。なお、上記プログラムは一例に過ぎず、複数の演算手段により同一の演算結果が得られる処理を行い、各演算結果を比較できるものであればいかなる処理であってもよい。
【実施例２】
【００２６】
続いて、乗除算器とシフタによる演算により電子制御ユニットの異常を検出する異常検出の方法について説明する。図３は、中央処理装置の概略ハードウェア構成図を示す。なお、図３において、図２と同一構成部分には同一の符号を付しその説明は省略する。図３のハードウェア構成図は、ＡＬＵ１０ｃを有する点で図２と異なる。ＡＬＵ１０ｃは、シフタであり、所定のビット数、指定されたビット列をシフトする。本実施例では、シフタによる演算結果と乗除算器による演算結果とが同一となる演算を行い、演算結果を比較して、同一でない場合は異常を検出したと判断する。
【００２７】
図３のハードウェア構成図に基づき、ＡＬＵ１０ｂ（乗除算器）による演算結果とＡＬＵ１０ｃ（シフタ）による演算結果を比較する。本実施例では、記憶装置２０に次のような命令が記憶されている。
（ＡＬＵ１０ｂによる演算）
２００：  ＬＯＡＤＩ  Ｒ１，３（レジスタＲ１に数値３をロード）
２０１：  ＬＯＡＤＩ  Ｒ２，５（レジスタＲ２に数値５をロード）
２０２：  ＭＵＬ  Ｒ１，２＾Ｒ２（ＡＬＵ１０ｂが、３×２＾５を演算しＲ１に保存）
２０３：  ＳＴＯＲＥ  Ｒ１，ＳＡＶＥ３（Ｒ１の内容をＳＡＶＥ３番地に保存）
以上の処理により、ＳＡＶＥ３番地には３×２＾５＝９６が保持される。
（ＡＬＵ１０ｃによる演算）
２１０：  ＬＯＡＤＩ  Ｒ１，３（レジスタＲ１に数値３をロード）
２１１：  ＬＯＡＤＩ  Ｒ２，５（レジスタＲ２に数値５をロード）
２１２：  ＳＨＬ  Ｒ１，Ｒ２（ＡＬＵ１０ｃが、３を左に５ビットシフト）
２１３：  ＳＴＯＲＥ  Ｒ１，ＳＡＶＥ４（Ｒ１の内容をＳＡＶＥ４に保存）
以上の処理により、ＳＡＶＥ４番地には３を左に５ビットシフトした９６が保存される。
（ＡＬＵ１０ｂとＡＬＵ１０ｃの演算の比較）
２２０：  ＳＵＢ  ＳＡＶＥ３，ＳＡＶＥ４（ＳＡＶＥ３からＳＡＶＥ４を減算）
２２１：  ＪＮＺ  Ｌ５００（減算の結果が０でないなら５００行へジャンプ）
５００：  異常処理を行うプログラム
Ｒ２の内容である５を用いて、Ｒ１の内容を５ビット左にシフトした結果と、Ｒ１の内容に２＾５を掛けた結果は、同一になるはずなので、両者を比較することでＡＬＵ１０ｂ又はＡＬＵ１０ｃの異常を検出できる。上記では、２２０行でＳＡＶＥ３の内容からＳＡＶＥ４の内容を減算することで、ＡＬＵ１０ｂと１０ｃの演算結果の比較を行う。減算の結果がゼロでない場合は（ＡＬＵ１０ｂと１０ｃの演算結果が同一でない場合）、異常処理が行われる（５００行）。なお、Ｒ１、Ｒ２の値は、ＡＬＵがオーバーフローを起こさないように決定されることが好適である。Ｒ１とＲ２の内容が乱数により生成されるような場合は、Ｒ２が演算器の桁数（例えば３２ビット）を超えないように生成され、Ｒ１は所定の下位ビットのみ（Ｒ２が１０なら上位１０ビットを取り除いた下位ビット）を取り出して演算が行われることが好適である。
【００２８】
なお、本実施例では、３つの演算手段のうち２つの演算手段の演算結果を比較したが、３つの演算手段全ての演算結果を比較してもよい。
【００２９】
以上、説明したように、本実施例によれば、２つ以上の演算手段を有する中央処理装置において、同一の演算結果となるように演算を行いその結果を比較することで、簡単な構成で異常を検出できる。従来のように、ＣＰＵを２つ必要としないためコストの低減や、設計工程を短縮化できる。
【００３０】
また、例えば当該電子制御ユニットが、特定の制御を行う特殊なものであっても、制御内容に依存せずに汎用的な加算や乗算処理により異常を検出できる。更に、同じ電子制御ユニットであれば、他の制御に使用されるものであっても汎用的な加算や乗算処理で異常を検出できるので、異常検出を行う電子制御ユニットを低コストで用意することが可能となる。
【００３１】
また、実施例１又は２では、加算と乗算、乗算とシフト、の演算結果を比較したが、演算のパターンは、ＡＬＵの種類に応じて、全ての異常を検出可能なように用意することが好適である。例えば、乗除算器とシフタを有する場合、除算と右シフトによる演算結果を比較してもよい。また、演算手段を複数有しない場合、演算結果が同一となるような異なる演算を１つのＡＬＵで複数行ってもよい。この場合には、予め正しい計算結果を保持しておき、演算結果と比較してもよいし、各演算結果を相互に比較してもよい。
【図面の簡単な説明】
【００３２】
【図１】電子制御ユニットの異常を検出する異常検出装置の概略機能構成図である。
【図２】中央処理装置の概略ハードウェア構成図である。
【図３】実施例２における中央処理装置の概略ハードウェア構成図である。
【符号の説明】
【００３３】
１    演算命令入力手段
２    演算手段Ａ
３    演算手段Ｂ
４    演算結果比較手段
５    異常検出手段
６    演算結果記憶手段
１０ａ、１０ｂ、１０ｃ    ＡＬＵ
【図１】
2006031459.tif 000003
【図２】
2006031459.tif 000004
【図３】
2006031459.tif 000005