(57)【要約】【課題】パリティエラー信号を強制的に発生させることができるパリティチェック回路を提供する。【解決手段】レジスタ１３１ａに入力されるデータのパリティビットを算出する第１パリティ算出回路１３３ａと、レジスタ１３１ａから出力されるデータのパリティビットを算出する第２パリティ算出回路１３６ａと、第１パリティ算出回路１３３ａが算出したパリティビットと第２パリティ算出回路１３６ａが算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力するＥＸＯＲ回路１３７ａと、を備えるパリティチェック回路１３２ａにおいて、自パリティチェック回路外部から入力されるパリティエラー信号発生指令に基づいて第１パリティ算出回路１３３ａが算出したパリティビットを反転するＥＸＯＲ回路１３４ａをさらに備える。【選択図】図３
2011060226.tif 000002
【特許請求の範囲】
【請求項１】
レジスタに入力されるデータのパリティビットを算出する第１パリティ算出回路と、
前記レジスタから出力されるデータのパリティビットを算出する第２パリティ算出回路と、
前記第１パリティ算出回路が算出したパリティビットと前記第２パリティ算出回路が算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力する比較回路と、
を備えるパリティチェック回路において、
自パリティチェック回路の外部から入力される指令に基づいて前記第１パリティ算出回路が算出したパリティビットを反転する反転回路をさらに備える、
ことを特徴とするパリティチェック回路。
【請求項２】
前記反転回路は、前記指令および前記第１パリティ算出回路が算出したパリティビットを入力とするＥＸＯＲ回路である、ことを特徴とする請求項１に記載のパリティチェック回路。
【請求項３】
ＣＰＵと、
レジスタと、
前記レジスタに入力されるデータのパリティビットを算出する第１パリティ算出回路と、前記レジスタから出力されるデータのパリティビットを算出する第２パリティ算出回路と、前記第１パリティ算出回路が算出したパリティビットと前記第２パリティ算出回路が算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力する比較回路と、を備えるパリティチェック回路と、
を備えるコンピュータシステムにおいて、
前記パリティチェック回路は、
前記ＣＰＵから入力される指令に基づいて前記第１パリティ算出回路が算出したパリティビットを反転する反転回路をさらに備える、
ことを特徴とするコンピュータシステム。
【請求項４】
前記ＣＰＵと前記パリティチェック回路とはバスを介して接続されており、前記ＣＰＵは前記バスを介して前記生成した指令を前記パリティチェック回路へ入力する、ことを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記反転回路は、前記指令および前記第１パリティ算出回路が算出したパリティビットを入力とするＥＸＯＲ回路である、ことを特徴とする請求項３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パリティチェック回路およびコンピュータシステムに関する。
【背景技術】
【０００２】
近年、機能安全規格IEC61508に代表されるように、製造業向けの機械、交通輸送機関、化学プラント、医療機器など人命がかかわったり人が負傷したりする可能性のあるシステムを制御する電子機器には、システムの安全性を確保する仕組みを「機能」として実装することが求められるようになってきている。
【０００３】
例えば、自動車には、電子制御装置（electronic  control  unit、ＥＣＵ）と呼ばれる自動車を制御する電子機器としてのコンピュータが多数搭載されている。ＥＣＵは、基本性能、環境性能、快適性能、安全性能などを実現するために必要不可欠な部品となっている。ＥＣＵは、マイクロプロセッサと周辺装置（入出力機器など）、通信モジュールによって構成されている。ＥＣＵは各種センサからの入力値に基づいて動作に必要な判断（演算）を実行し、各種アクチュエータに指示を出すことにより、自動車の各部の動作を制御する。例えば、車両の姿勢や制動を制御するためのブレーキＥＣＵは、運転者からのブレーキペダルに設置されたセンサからの入力値などに基づいてブレーキを動作させるためのアクチュエータに送信する出力値を演算する。
【０００４】
このようなＥＣＵ群に関する機能安全のための仕組みの一つとして、ＥＣＵにＥＵＣ自身の故障を検出する故障診断機能を持たせ、故障診断機能により故障の発生を認識したとき、ＥＣＵ群に、該故障によって走行中の自動車が危険な状態に移行するのを防ぐ制御（安全制御）に移行させる機能が挙げられる。以降、この機能を危険回避機能と呼び、危険回避機能を担う回路を危険回避機能回路と呼ぶこととする。この危険回避機能の動作は故障診断機能を有するＥＣＵに故障があってはじめて確認できる。したがって、危険回避機能回路に対し、ＳＣＡＮテストなどを用いて該回路自体の良／不良をテストする製品出荷テストとは別に、危険回避機能が正常に動作するか否かをテストする必要が出てくる。以降、このテストを危険回避機能回路の動作テストということとする。危険回避機能回路の動作テストは、信頼性を向上させるために、例えばイグニッションオン時に自己診断として毎回行われることが望ましい。
【０００５】
ところで、ＥＣＵ群には、様々な箇所でレジスタが使用される。レジスタの故障モードの一つは、構成するハードウェアの永久的故障である。この故障によれば、レジスタにデータを書き込めないなどの障害が発生する。他方は、ソフトエラーと呼ばれる故障で、永久的故障に至る前の一時的な故障や、放射線や電源ノイズによるレジスタ内容の一時的変化が含まれる。これらの故障を発見するための故障診断機能の一つとして、レジスタへのデータの入出力前後でデータのパリティを算出し、双方のパリティを比較するパリティチェックがある（例えば特許文献１参照）。
【０００６】
パリティチェックを行う回路（パリティチェック回路）は、データの入出力前後でパリティが異なるパリティエラーを検出したとき、パリティエラー信号を発生する。危険回避機能回路は、このパリティチェック回路からのパリティエラー信号を、故障を認識するための入力の一つとする。危険回避機能回路の動作テストには、パリティエラー信号の転送パスの健全性のテストを含めることが望ましい。そのためには、パリティチェック回路にパリティエラー信号を強制的に発生させる仕組みが必要となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０８−３１４８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、パリティエラー信号を強制的に発生させることができるパリティチェック回路およびコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願発明の一態様によれば、レジスタに入力されるデータのパリティビットを算出する第１パリティ算出回路と、前記レジスタから出力されるデータのパリティビットを算出する第２パリティ算出回路と、前記第１パリティ算出回路が算出したパリティビットと前記第２パリティ算出回路が算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力する比較回路と、を備えるパリティチェック回路において、自パリティチェック回路の外部から入力される指令に基づいて前記第１パリティ算出回路が算出したパリティビットを反転する反転回路をさらに備える、ことを特徴とするパリティチェック回路が提供される。
【００１０】
また、本願発明の一態様によれば、ＣＰＵと、レジスタと、前記レジスタに入力されるデータのパリティビットを算出する第１パリティ算出回路と、前記レジスタから出力されるデータのパリティビットを算出する第２パリティ算出回路と、前記第１パリティ算出回路が算出したパリティビットと前記第２パリティ算出回路が算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力する比較回路と、を備えるパリティチェック回路と、を備えるコンピュータシステムにおいて、前記パリティチェック回路は、前記ＣＰＵから入力される指令に基づいて前記第１パリティ算出回路が算出したパリティビットを反転する反転回路をさらに備える、ことを特徴とするコンピュータシステムが提供される。
【発明の効果】
【００１１】
本発明によれば、パリティエラー信号を強制的に発生させることができるパリティチェック回路を提供することができるという効果を奏する。
【００１２】
また、本発明によれば、パリティエラー信号を強制的に発生させることができるコンピュータシステムを提供することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＥＣＵ群を示す図。
【図２】図２は、本発明の実施の形態のＥＣＵの構成を示す図。
【図３】図３は、本発明の実施の形態のパリティチェック回路の構成を説明する図。
【図４】図４は、比較例にかかるパリティチェック回路の構成を説明する図。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、本発明の実施の形態にかかるパリティチェック回路を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１５】
（実施の形態）
以下、本発明の実施の形態のコンピュータシステムを自動車用の電子制御装置（ＥＣＵ）に適用した場合について説明する。
【００１６】
図１は、ＥＣＵ間の接続関係を説明する図である。図示するように、複数（ここでは６つ）のＥＣＵ１〜６が通信ネットワークを介して互いに接続されている。ＥＣＵ１〜５は、例えば、エンジン制御を行うエンジンＥＣＵ、車両の姿勢や制動を制御するためのブレーキＥＣＵ、ステアリング操作時のアシスト力を制御するステアリングＥＣＵ、速度やエンジン回転数に応じて変速比を切り替えるためのトランスミッションＥＣＵ、ショックアブソーバーやブッシュ等の減衰力やスプリングのばね定数等を制御するサスペンションＥＣＵ、エアバッグモジュールにエアバッグ展開の指示を行うエアバッグＥＣＵなどである。ＥＣＵ６は、前述した危険回避機能回路に相当する。すなわち、ＥＣＵ６は、ＥＣＵ１〜５が備えるレジスタの故障を認識したとき、ＥＣＵ１〜５またはＥＣＵ１〜５のうちのいくつかへ、該故障によって走行中の車両が危険な状態に移行するのを防ぐ制御（安全制御）に移行させる指示を送信する。安全制御とは、例えば、ブレーキＥＣＵがブレーキを作動させて車両を停止させたりする制御が挙げられる。
【００１７】
図２は、ＥＣＵ１〜５の構成を説明する図である。ここではＥＣＵ１〜ＥＣＵ５の代表として、ＥＣＵ１を挙げて説明する。図示するように、ＥＣＵ１は、ＣＰＵ（Central  Processing  Unit）１１と、ＲＯＭ（Read  Only  Memory）１２と、複数（ここでは３つ）のＩＰ（Intellectual  Property  Core）コア１３ａ〜１３ｃと、ＯＲ回路１４とを備えている。ＣＰＵ１１、ＲＯＭ（制御プログラム記憶部）１２、ＩＰコア１３ａ〜１３ｃは互いにバスで接続されている。なお、このバスのバス幅は、一例として、３２ビットであるものとする。
【００１８】
ＩＰコア１３ａ〜１３ｃとは、機能単位でまとめられた回路であって、例えばタイマ、ＰＷＭ回路などである。ＩＰコア１３ａ〜１３ｃは、夫々一つ以上のレジスタを備え、さらに夫々備えているレジスタのパリティチェックを行うパリティチェック回路を備えている。ここでは、ＩＰコア１３ａはレジスタ１３１ａおよびレジスタ１３１ａのパリティチェックを行うパリティチェック回路１３２ａを備え、ＩＰコア１３ｂはレジスタ１３１ｂおよびレジスタ１３１ｂのパリティチェックを行うパリティチェック回路１３２ｂを備え、ＩＰコア１３ｃはレジスタ１３１ｃおよびレジスタ１３１ｃのパリティチェックを行うパリティチェック回路１３２ｃを備えているとしている。レジスタ１３１ａ〜１３１ｃはバス幅よりも小さいビット幅のデータを格納できる。ここでは、一例として、レジスタ１３１ａ〜１３１ｃは２４ビットレジスタであるとする。
【００１９】
パリティチェック回路１３２ａ〜１３２ｃのパリティチェック結果を出力するための出力端は、ＯＲ回路１４の入力端に夫々接続されている。ＯＲ回路１４の出力端はＥＣＵ６に接続されている。パリティチェック回路１３２ａ〜１３２ｃは、パリティエラーを検出すると、ＯＲ回路１４への出力端をＨｉｇｈ（「１」）に遷移させる（すなわち、パリティエラー信号を発生させる）。発生されたパリティエラー信号は、ＯＲ回路１４を介してＥＣＵ６に伝達される。なお、ＯＲ回路１４からＥＣＵ６へのパリティエラー信号は、専用の信号線を用いて伝達されるようにしてもよいし、ＥＣＵ１〜６を夫々接続する通信ネットワークを介して伝達されるようにしてもよい。
【００２０】
ＲＯＭ１２は、制御プログラム１２１を記憶している。ＣＰＵ１１は、制御プログラム１２１を実行することによってＥＣＵ１全体の制御を実行する。
【００２１】
ここで、ＥＣＵ６は、起動直後、すなわちイグニッションオン時において、自身にパリティエラー信号が正常に伝達されるか否か、および伝達されてきたパリティエラー信号に基づいて自身が正常に安全制御に移行するための指令を発行することができるか否か、などの項目について自己診断を実行する。ＥＣＵ１は、ＩＰコア１３ａ〜１３ｃに、ＥＣＵ６の自己診断に使用されるパリティエラー信号を強制的に発生させる機構を備えている。ＣＰＵ１は、この機構の一部として、起動直後において、制御プログラム１２１による制御に基づいて、レジスタ１３１ａ〜１３１ｃに格納するテストデータとパリティチェック回路１３２ａ〜１３２ｃに強制的にパリティエラー信号を発生させるための指令であるパリティエラー信号発生指令を送信する。
【００２２】
次に、パリティエラー信号を強制的に発生させるためのパリティチェック回路１３２ａの詳細な構成について説明する。図３は、パリティチェック回路１３２ａの構成を説明する図である。
【００２３】
本実施の形態においては、３２ビットのバス幅のうち、２４ビットがレジスタ１３１ａへ入力するデータの転送に使用される。パリティエラー信号発生指令は、３２ビットのバス幅のうちの前記２４ビットのデータに含まれない部分を使用してパリティエラー信号発生指令が伝達される。ここでは、ＣＰＵ１１は、制御プログラム１２１の制御の下、２５ビット幅のデータを生成し、そのうちの１ビットをパリティエラー信号発生指令として使用することとする。より具体的には、ＣＰＵ１１は、２４ビットのテストデータ（ＤＡＴＡ［２３：０］）と１ビットのパリティエラー信号発生指令（ＤＡＴＡ［２４］）とを生成し、合計２５ビットのデータを３２ビットの幅を持つバスに送出する。なお、ＤＡＴＡ［２４］が「１」であるとき、ＤＡＴＡ［２４］はパリティエラー信号発生指令として機能することとしている。つまり、ＣＰＵ１１は、レジスタ１３１ａを通常使用する場合など、パリティエラー信号を強制発生させない場合、レジスタ１３１ａへの書き込み時には、ＤＡＴＡ［２４］を「０」とするようにしておく。
【００２４】
パリティチェック回路１３２ａは、第１パリティ算出回路１３３ａと、ＥＸＯＲ回路（反転回路）１３４ａと、１ビットのレジスタ１３５ａと、第２パリティ算出回路１３６ａと、ＥＸＯＲ回路１３７ａと、を備えている。
【００２５】
第１パリティ算出回路１３３ａは、レジスタ１３１ａに格納される前のテストデータＤＡＴＡ［２３：０］からパリティビットを算出する。第１パリティ算出回路１３３ａは、例えば図示するように複数のＥＸＯＲ回路がカスケード接続されて構成される。第１パリティ算出回路１３３ａの出力端は、ＥＸＯＲ回路１３４ａの入力端に接続される。
【００２６】
ＥＸＯＲ回路１３４ａの他の入力端には、ＤＡＴＡ［２４］が入力される。ＥＸＯＲ回路１３４ａの出力端は、レジスタ１３５ａの入力端に接続される。ＥＸＯＲ回路１３４ａはＤＡＴＡ［２４］が「１」であるとき、第１パリティ算出回路１３３ａが算出したパリティビットを反転した値を出力し、ＤＡＴＡ［２４］が「０」であるとき、前記パリティビットを反転しないで出力する。
【００２７】
第２パリティ算出回路１３６ａは、第１パリティ算出回路１３３ａと同一の回路構成を備え、レジスタ１３１ａから読み出されたテストデータ（ＲＥＧＤＡＴＡ［２３：０］）からパリティビットを算出する。
【００２８】
ＥＸＯＲ回路１３７ａの入力端には、レジスタ１３５ａの出力端と、第２パリティ算出回路１３６ａの出力端と、が夫々接続される。すなわち、ＥＸＯＲ回路１３７ａは、第２パリティ算出回路１３６ａからの入力とレジスタ１３５ａからの入力とが等しいとき、「０」を出力し、双方の入力が互いに異なるとき、パリティエラー信号としての「１」を出力する。
【００２９】
以上の構成において、レジスタ１３１ａおよびパリティチェック回路１３２ａに故障がなく、かつＤＡＴＡ［２４］が「１」、すなわちパリティエラー信号発生指令であるとき、ＥＸＯＲ回路１３７ａへの二つの入力は互いに異なるので、パリティチェック回路１３２ａは「１」を出力する。また、レジスタ１３１ａを通常使用する時においては、ＤＡＴＡ［２４］が「０」となっているため、ＥＸＯＲ回路１３４ａは第１パリティ算出回路１３３ａが算出したパリティビットを反転させることなくレジスタ１３５ａに格納する。従って、レジスタ１３１ａおよびパリティチェック回路１３２ａに故障が無い場合、パリティチェック回路１３２ａは「０」を出力する。
【００３０】
なお、パリティチェック回路１３２ｂ、パリティチェック回路１３２ｃの構成もパリティチェック回路１３２ａと同等の構成を備えているので、パリティチェック回路１３２ｂ、パリティチェック回路１３２ｃの構成に関する説明を省略する。
【００３１】
なお、以上の説明においては、ＤＡＴＡ［２４］の値にパリティエラー信号発生指令を格納するとして説明したが、パリティエラー信号発生指令の格納箇所はＤＡＴＡ［２３：０］以外の箇所であればどこでもよい。例えばＤＡＴＡ［２５］やＤＡＴＡ［２６］であってもよい。また、パリティエラー信号発生指令のビット数は２ビット以上の値であっても構わない。
【００３２】
また、ＣＰＵ１１がパリティエラー信号発生指令を生成し、バスを介してパリティチェック回路１３２ａにパリティエラー信号発生指令が伝達されるように説明したが、パリティエラー信号発生指令の生成元はＣＰＵ１１だけに限定されない。パリティチェック回路１３２ａの外部のどのような要素であっても構わない。例えば、パリティエラー信号発生指令の生成はＣＰＵ１１とは異なる、別のハードウェア回路が生成するように構成しても構わない。また、パリティエラー信号発生指令の生成元は、ＥＣＵ１の外部に設けられるようにしても構わない。また、生成されたパリティエラー信号発生指令の伝達はバスを経由しないように構成しても構わない。例えば、生成されたパリティエラー信号発生指令が専用の信号線を介してパリティチェック回路１３２ａに伝達されるように構成しても構わない。
【００３３】
図４は、パリティエラー信号を強制的に発生させる機構を持たないパリティチェック回路の構成を説明する図である。このパリティチェック回路を比較例にかかるパリティチェック回路ということとする。図示するように、比較例にかかるパリティチェック回路１３８ａは、本実施の形態のパリティチェック回路１３２ａからＥＸＯＲ回路１３４ａが省略され、第１パリティ算出回路１３３ａの出力端がレジスタ１３５ａの入力端に直接接続された構造を有している。つまり、パリティエラー信号発生指令の生成はＣＰＵ１１とは異なる別のハードウェア回路が生成し、生成されたパリティエラー信号発生指令が専用の信号線を介してパリティチェック回路１３２ａに伝達するように構成するのではなく、ＣＰＵ１１がパリティエラー信号発生指令を生成し、生成したパリティエラー信号発生指令をバスを介して伝達できるようにすると、本発明の実施の形態を適用するに当たり、比較例にかかるパリティチェック回路１３８ａの構成に新たに追加するべきハードウェア量をより少なく抑えることができるという効果が得られる。
【００３４】
また、特許文献１の図３には、上記説明した第１パリティ算出回路１３３ａおよびＥＸＯＲ回路１３４ａの組み合わせに類似した回路が開示されている。しかしながら、特許文献１の図３におけるＥＸＯＲ回路１３４ａに相当する回路に入力される入力パリティビットＰＩは、８ビット入力データ（ＤＩ７からＤＩ０）のパリティを示している。従って、該8ビット入力データのパリティを反転させる信号、即ち、パリティエラー信号を強制的に発生させる信号ではなく、本発明の実施の形態で問題点としている危険回避機能回路の動作テストとして、パリティエラー信号の転送パスの健全性のテストを行えない。
【００３５】
以上述べたように、本発明の実施の形態によれば、レジスタ１３１ａに入力されるデータのパリティビットを算出する第１パリティ算出回路１３３ａと、レジスタ１３１ａから出力されるデータのパリティビットを算出する第２パリティ算出回路１３６ａと、第１パリティ算出回路１３３ａが算出したパリティビットと第２パリティ算出回路１３６ａが算出したパリティビットとを比較し、双方のパリティビットが互いに異なる場合、パリティエラー信号を出力するＥＸＯＲ回路１３７ａと、を備え、パリティエラー信号発生指令に基づいて第１パリティ算出回路１３３ａが算出したパリティビットを反転するＥＸＯＲ回路１３４ａをさらに備えるように構成したので、強制的にパリティエラー信号を発行させることができるようになる。
【００３６】
ところで、以上の説明においては自動車用のＥＣＵに適用した場合を例に挙げて説明したが、本発明の実施の形態は、自動車用のＥＣＵだけでなく、レジスタおよび該レジスタのパリティチェックを行うパリティチェック回路を備える電子機器であればどのような電子機器に対しても適用することができる。
【符号の説明】
【００３７】
１〜６  ＥＣＵ、１１  ＣＰＵ、１２  ＲＯＭ、１３ａ〜１３ｃ  ＩＰコア、１４  ＯＲ回路、１２１  制御プログラム、１３１ａ〜１３１ｃ  レジスタ、１３２ａ〜１３２ｃ  パリティチェック回路、１３３ａ  第１パリティ算出回路、１３４ａ  ＥＸＯＲ回路、１３５ａ  レジスタ、１３６ａ  第２パリティ算出回路、１３７ａ  ＥＸＯＲ回路、１３８ａ  パリティチェック回路。
【図１】
2011060226.tif 000003
【図２】
2011060226.tif 000004
【図３】
2011060226.tif 000005
【図４】
2011060226.tif 000006