(57)【要約】【課題】ソフトウェアの処理時間超過を容易に判別可能な二重化データ処理回路を提供することである。【解決手段】ＣＰＵ（Ａ系／Ｂ系）１３，１４は、スレッドの起動時にカウンタ回路１２からカウンタ値ｎを読み込むカウンタ値読み込み処理と、所定の割り込み周期で単一のスレッドが起動されたか否かを、カウンタ値ｎに基づいて判定し、起動されていない場合に起動周期異常信号ＯＦＬを出力する起動周期判定処理とを行なう。ソフトウェアの処理時間超過が発生した場合、割り込み信号ＩＮＴが入力されたにも関わらずスレッドが実行中であるために、少なくとも１回分のスレッドの起動がスキップされ、起動周期判定処理において、カウンタ値ｎが期待値と異なるか否かを判定することによって、スレッドの起動周期の異常、つまりソフトウェアの処理時間超過の有無を判別できる。【選択図】図１
2010033245.tif 000002
【特許請求の範囲】
【請求項１】
割り込み信号出力回路と、カウンタ回路と、第１演算処理ユニットと、第２演算処理ユニットとを含む二重化データ処理回路であって、
前記割り込み信号出力回路は、所定の割り込み周期ごとに割り込み信号を、前記第１及び第２演算処理ユニットに出力し、
前記第１及び第２演算処理ユニットは、前記割り込み信号が入力されたときに、それぞれ単一のスレッドを、起動中でなければ起動し、
前記単一のスレッドは、
一連の演算を行なう演算処理と、
前記単一のスレッドの起動時に前記カウンタ回路から前記カウンタ値を読み込むカウンタ値読み込み処理と、
前記所定の割り込み周期で前記単一のスレッドが起動されたか否かを、前記カウンタ値読み込み処理により読み込んだ前記カウンタ値に基づいて判定し、起動されていない場合に起動周期異常を通知する起動周期判定処理とを含む、
二重化データ処理回路。
【請求項２】
請求項１記載の二重化データ処理回路であって、
前記割り込み信号出力回路は、前記カウンタ値が所定値の倍数になるごとに割り込み信号を出力し、
前記第１及び第２演算処理ユニットは、
前記カウンタ値読み込み処理において、読み込んだ前記カウンタ値を記憶し、
前記起動周期判定処理において、前記カウンタ値と、前回のスレッド起動時に記憶した前記カウンタ値との差分に基づいて、前記所定の割り込み周期で前記単一のスレッドが起動されたか否かを判定する、
二重化データ処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄道信号保安装置などに使用される二重化データ処理回路に関する。
【背景技術】
【０００２】
鉄道信号保安装置や、地上又は車上に設置される鉄道車両制御装置は、高度の安全性が要求されるために、フェイルセーフの観点から二重化データ処理回路が設けられている。この二重化データ処理回路は、例えば特許文献１にあるような、同一の回路構成を有し、かつ、同時に同一の動作を行なう２つのＣＰＵバス回路と、これら２つのＣＰＵが各々書き込むデータ又は読み出したデータを比較する比較回路とを備え、比較回路でデータの不一致が検出されたときに安全リレーを落下させるものである。同時に同一箇所での故障発生は現実的にはありえないため、この二重化データ処理回路によって、２つのＣＰＵバス回路の何れか一方に故障やエラーが発生すれば、誤動作が行なわれる前に、これを検出して装置からの出力を安全に停止させることができる。例えば、故障発生時に鉄道車両の自動運転を停止し、手動により安全に停止させるなどの処置が可能となる。
【０００３】
このようなフェイルセーフを実現する二重化データ処理回路には、バス同期方式とマクロ同期方式とがある。バス同期方式は、２つのＣＰＵバスを流れるデータを逐次、比較回路によって比較し監視する方式である。この方式に依れば、データの細かい監視が可能になるが、バス速度を比較回路の動作速度にあわせる必要があるという欠点がある。したがって、高いバス速度を有するＣＰＵなどで構成したＣＰＵバス回路であっても、低速な比較回路の動作速度にあわせて動作させるために、ＣＰＵのパフォーマンスが十分に発揮できない。
【０００４】
一方、マクロ同期方式では、ＣＰＵが行なう一連の処理において、各演算処理によって得られるデータのＣＲＣ（Cyclic Redundancy Check）値を演算し、２つのＣＰＵバス回路のＣＲＣ値同士を比較回路で比較するという方式である。この方式に依れば、１つ１つのデータを監視することなく、複数の演算処理の結果として得た各データの正常性をＣＲＣ値でまとめて判別することができるから、バス速度を落とす必要がないだけでなく、監視効率もよい。
【０００５】
ところで、二重化データ処理回路で使用されるソフトウェアは、構造が単純でバグ解析や障害解析が容易であることなどの理由からシングルスレッド方式を採用している。シングルスレッド方式は、所定の時間内に一定の順序で一連の処理を行なう方式である。
【０００６】
上述したマクロ同期方式の二重化データ処理回路では、一連の処理が所定の時間内に終わらない場合に、これを障害として検出するために、比較回路での比較が終わったＣＲＣ値のうちの一方を例えばビット単位で反転させている。ＣＲＣ値の演算及び出力は、全ての演算処理が終了した後に行なわれるため、一連の処理が所定の時間内に終わらないときは、ＣＲＣ値が更新されず、次の監視周期でＣＲＣ値同士が確実に不一致して検出することができ、安全リレーを落下させることができる。
【０００７】
しかしながら、ハードウェア故障などの要因で、実際の演算で得たＣＲＣ値が不一致であった場合も、当然に安全リレーを落下させるから、上述したようなソフトウェアの処理時間超過との区別がつかず、要因の判別が非常に困難であった。このため、障害の解析時、あるいは開発過程でのデバッグ時に多大な時間と労力を要するという問題があった。
【特許文献１】特開平５−１８９３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、ソフトウェアの処理時間超過を容易に判別可能な二重化データ処理回路を提供することである。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明に係る二重化データ処理回路は、割り込み信号出力回路と、カウンタ回路と、第１演算処理ユニットと、第２演算処理ユニットとを含む。前記割り込み信号出力回路は、所定の割り込み周期ごとに割り込み信号を、前記第１及び第２演算処理ユニットに出力する。
【００１０】
前記第１及び第２演算処理ユニットは、前記割り込み信号が入力されたときに、それぞれ単一のスレッドを、起動中でなければ起動する。前記単一のスレッドは、一連の演算を行なう演算処理を含む。
【００１１】
これまで述べた構成は従来技術に見られるが、本発明の特徴部分は次に述べる処理にある。すなわち、前記単一のスレッドは、さらに、前記単一のスレッドの起動時に前記カウンタ回路から前記カウンタ値を読み込むカウンタ値読み込み処理と、前記所定の割り込み周期で前記単一のスレッドが起動されたか否かを、前記カウンタ値読み込み処理により読み込んだ前記カウンタ値に基づいて判定し、起動されていない場合に起動周期異常を通知する起動周期判定処理とを含む。
【００１２】
ソフトウェアの処理時間超過が発生した場合、前記割り込み信号が入力されたにも関わらずスレッドが起動中であるために、少なくとも１回分のスレッドの起動がスキップされる。したがって、起動周期判定処理において、カウンタ値が期待値と異なるか否かを判定することによって、スレッドの起動周期の異常、つまりソフトウェアの処理時間超過の有無を判別できる。
【００１３】
これにより、本発明に係る二重化データ処理回路は、この判別の結果に応じた通知信号を出力して、例えば、装置に備えるＬＥＤを点灯することにより、安全リレーの落下の要因がソフトウェアの処理時間超過であることを外部に通知することができる。したがって、本発明に係る二重化データ処理回路に依れば、ソフトウェアの処理時間超過を容易に判別できる。
【発明の効果】
【００１４】
以上述べたように、本発明によれば、ソフトウェアの処理時間超過を容易に判別可能な二重化データ処理回路を提供することができる。
【発明を実施するための最良の形態】
【００１５】
図１に、本発明に係る二重化データ処理回路１を適用した鉄道車両制御装置の簡略化した回路構成の一例を示す。鉄道車両制御装置は、二重化データ処理回路１と、出力回路２と、ＬＥＤ３１，３２と、安全リレー３３とを含む。
【００１６】
二重化データ処理回路１は、割り込み信号出力回路１１と、ＣＰＵ（Ａ系）１３と、ＣＰＵ（Ｂ系）１４とを含む。さらに、二重化データ処理回路１は、故障検出回路１５と、ＣＲＣ演算回路（Ａ系／Ｂ系）１３４，１４４と、ＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１と、フラッシュメモリ（Ａ系／Ｂ系）１３２，１４２と、Ｉ／Ｏインターフェース（Ａ系／Ｂ系）１３３，１４３とを含む。
【００１７】
ＣＰＵ（Ａ系）１３は、ＣＰＵバス１３５を介して、ＣＲＣ演算回路１３４と、故障検出回路１５と、ＳＤＲＡＭ１３１と、フラッシュメモリ１３２と、Ｉ／Ｏインターフェース１３３と接続されている。一方、ＣＰＵ（Ｂ系）１４は、ＣＰＵバス１４５を介して、ＣＲＣ演算回路１４４と、故障検出回路１５と、ＳＤＲＡＭ１４１と、フラッシュメモリ１４２と、Ｉ／Ｏインターフェース１４３と接続されている。なお、ＣＰＵ（Ａ系／Ｂ系）１３，１４としては、ＣＰＵ（Central Processing Unit）のみではなく、ＭＰＵ（Micro Processing Unit）やＤＳＰ（Digital Signal Processor）などの他の演算処理ユニットを用いても良い。
【００１８】
フラッシュメモリ（Ａ系／Ｂ系）１３２，１４２は、ＣＰＵ（Ａ系／Ｂ系）１３，１４で実行されるソフトウェアのコードを記憶するメモリである。電源投入後、ＣＰＵ（Ａ系／Ｂ系）１３，１４は、それぞれフラッシュメモリ（Ａ系／Ｂ系）１３２，１４２からコードを読み出して、ＣＲＣ値などにより正常性を検証した後、当該ソフトウェアを実行する。
【００１９】
ＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１は、ＣＰＵ（Ａ系／Ｂ系）１３，１４がソフトウェアを実行するためのワーキングメモリである。ＳＤＲＡＭ１３１，１４１には、ソフトウェアのコードや、プログラムで使用する様々な変数やフラグが記憶される。
【００２０】
Ｉ／Ｏインターフェース（Ａ系／Ｂ系）１３３，１４３は、速度計や距離計などの機器とのインターフェースである。ＣＰＵ（Ａ系／Ｂ系）１３，１４は、Ｉ／Ｏインターフェース（Ａ系／Ｂ系）１３３，１４３を介して、速度や距離などのデータを読み出し、速度目標値などを出力する。
【００２１】
ＣＲＣ演算回路（Ａ系／Ｂ系）１３４，１４４は、入力されたデータのＣＲＣ値を計算して出力する回路である。ＣＰＵ（Ａ系／Ｂ系）１３，１４は、上述したソフトウェアのコードの正常性の検証、あるいは、ソフトウェアの演算処理で得たデータの正常性の検証にあたって、ＣＲＣ演算回路（Ａ系／Ｂ系）１３４，１４４により演算してＣＲＣ値を得る。なお、ＣＲＣの手法は公知技術であるため、内容の説明は省略する。
【００２２】
割り込み信号出力回路１１は、所定の割り込み周期ごとに割り込み信号を、ＣＰＵ（Ａ系／Ｂ系）１３，１４と故障検出回路１５とに出力する。具体的には、割り込み信号出力回路１１は、水晶発振器などから出力されるクロック信号を分周することにより割り込み信号ＩＮＴを生成する。
【００２３】
クロック生成回路１６は、水晶発振器などの一般的なオシレータであって、例えば数ＭＨｚのクロック信号ＣＬＫを生成して、カウンタ回路１２と、ＣＰＵ（Ａ系／Ｂ系）１３，１４とに出力する。ＣＰＵ（Ａ系／Ｂ系）１３，１４は、このクロック信号ＣＬＫを動作クロックとする。
【００２４】
カウンタ回路１２は、入力されるクロック信号ＣＬＫに基づいて一定の時間間隔で増加するカウンタ値ｎを生成する。また、カウンタ回路１２は、ＣＰＵ（Ａ系／Ｂ系）１３，１４が、ＣＰＵバス１３５，１４５を介して、カウンタ値ｎを読み出すことができるように、ＣＰＵバス１３５，１４５にそれぞれ接続された内部メモリを備える。なお、カウンタ回路１２は、例えば分周回路で構成される。
【００２５】
このように、カウンタ回路１２を、割り込み信号出力回路１１と非同期で独立に構成すれば、一方の故障が他方の動作に影響しない。したがって、監視回路を設けることによって、クロック生成回路１６又はカウンタ回路１２が故障してカウンタ値ｎが異常になった場合と、割り込み信号出力回路１１が故障して割り込み周期が変化した場合とを区別して、ハードウェア故障として検出することができ、故障解析が容易である。
【００２６】
故障検出回路１５は、ＣＲＣ値保持回路（Ａ系）１５１と、ＣＲＣ値保持回路（Ｂ系）１５２と、比較回路１５３とを含む。ＣＲＣ値保持回路（Ａ系）１５１は、ＣＲＣ（Ａ系）を保持する。ＣＲＣ値保持回路（Ｂ系）１５２は、ＣＲＣ（Ｂ系）を保持し、このＣＲＣ（Ｂ系）が読み出されたときに、ＣＲＣ（Ｂ系）を他の異なるコードに書き換える。
【００２７】
具体的には、ＣＲＣ値保持回路（Ｂ系）１５２は、図２のような回路構成を含む。すなわち、ＣＲＣ値保持回路（Ｂ系）１５２は、データ格納部１５２１と、読み出し検出回路１５２２と、反転回路１５２３とを含む。
【００２８】
データ格納部１５２１は、ＣＰＵ（Ｂ系）１４がＣＲＣ値（Ｂ系）を書き込み、このＣＲＣ値（Ｂ系）を保持するためのラッチ回路を有する。データ格納部１５２１は、ＣＲＣ値保持回路（Ａ系）１５１と共通の構成である。
【００２９】
読み出し検出回路１５２２は、データ格納部１５２１から比較回路１５３へとＣＲＣ値（Ｂ系）が読み出されたことを検出し、読み出し動作の終了後に反転回路１５２３に通知信号を出力する論理回路である。反転回路１５２３は、読み出し検出回路１５２２からの通知信号を受けて、データ格納部１５２１に保持されているＣＲＣ値（Ｂ系）をビット単位で反転させる論理回路である。つまり、反転回路１５２３は、ＣＲＣ値（Ｂ系）とＦＦ（ｈ）（８ビットのデータの場合）との排他的論理和（つまり、ＸＯＲ）を実行する論理回路を含む。例えば、ＣＲＣ値（Ｂ系）としてＡＡ（ｈ）が保持されている場合、読み出し後にはＣＲＣ値（Ｂ系）は５５（ｈ）となる。
【００３０】
図３に比較回路１５３の動作フローを示す。比較回路１５３は、割り込み信号が入力されるごとに（Ｓｔ２１）ＣＲＣ値保持回路（Ａ系／Ｂ系）１３４，１４４からＣＲＣ値（Ａ系／Ｂ系）を読み出して（Ｓｔ２２）比較し（Ｓｔ２３）、不一致のときは故障検出信号ＥＲＲを出力する（Ｓｔ２４）。故障検出信号ＥＲＲは、出力回路２に入力され、出力回路２は、ＬＥＤ３１を点灯し、安全リレー３３を落とす制御を行う。
【００３１】
次に、図４にＣＰＵ（Ａ系／Ｂ系）１３，１４の動作フローを示して説明する。ＣＰＵ（Ａ系／Ｂ系）１３，１４は、割り込み信号ＩＮＴが入力されたときに、それぞれ単一のスレッドを、起動中でなければ起動する。
【００３２】
ＣＰＵ（Ａ系／Ｂ系）１３，１４の単一のスレッドは、一連の演算を行なう演算処理（Ｓｔ４，Ｓｔ６）と、複数の演算処理で得た各データをＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１に記憶する記憶処理（Ｓｔ５，Ｓｔ７）と、各データからそれぞれＣＲＣ値（Ａ系／Ｂ系）を演算するＣＲＣ演算処理（Ｓｔ８）と、ＣＲＣ値（Ａ系／Ｂ系）を、ＣＲＣ値保持回路（Ａ系／Ｂ系）１３４，１４４に書き込むＣＲＣ値書き込み処理（Ｓｔ９）とを含む。なお、ＣＰＵ（Ａ系／Ｂ系）１３，１４は、演算処理において、Ｉ／Ｏインターフェース（Ａ系／Ｂ系）１３３，１４３、あるいはＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１から読み込んだデータに基づいて、速度目標値などを得るための演算を行なう。
【００３３】
これまで述べた構成は従来技術に見られるが、本発明の特徴部分は次に述べる処理にある。すなわち、単一のスレッドは、さらに、単一のスレッドの起動時にカウンタ回路１２からカウンタ値ｎを読み込むカウンタ値読み込み処理（Ｓｔ２）と、所定の割り込み周期で単一のスレッドが起動されたか否かを、カウンタ値読み込み処理により読み込んだカウンタ値ｎに基づいて判定し（Ｓｔ３）、起動されていない場合に起動周期異常信号ＯＦＬを出力することにより起動周期異常を通知する起動周期判定処理（Ｓｔ１０）とを含む。
【００３４】
ソフトウェアの処理時間超過が発生した場合、割り込み信号ＩＮＴが入力されたにも関わらずスレッドが起動中であるために、少なくとも１回分のスレッドの起動がスキップされ、起動周期判定処理において、カウンタ値ｎが期待値と異なるか否かを判定することによって、スレッドの起動周期の異常、つまりソフトウェアの処理時間超過の有無を判別できる。
【００３５】
具体的には、ＣＰＵ（Ａ系／Ｂ系）１３，１４は、カウンタ値読み込み処理において、読み込んだカウンタ値ｎを記憶し、起動周期判定処理において、カウンタ値ｎと、前回のスレッド起動時に記憶したカウンタ値ｎとの差分に基づいて、所定の割り込み周期で単一のスレッドが起動されたか否かを判定する。カウンタ値ｎは、ＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１に記憶される。
【００３６】
カウンタ値ｎは一定の時間間隔で増加するから、ＣＰＵ（Ａ系／Ｂ系）１３，１４に割り込み信号ＩＮＴが入力されたときに示す値は、やはり一定の割合で増加する。つまり、カウンタ値ｎは、スレッドの起動ごとに、０、Ｎ，２Ｎ，３Ｎ・・・（Ｎは整数）のような値を示す。したがって、読み込んだカウンタ値ｎと、記憶された前回のカウンタ値ｎとの差分は、スレッドの起動周期が正常な場合は所定値Ｎを示す。これに対して、スレッドの起動周期が異常な場合、例えば１回分のスレッドの起動がスキップされたとき、この差分は２Ｎを示し、また、２回分のスレッドの起動がスキップされたとき、この差分は３Ｎを示す。よって、起動周期判定処理において、差分がＮの倍数であるときに起動周期異常を検出する。このように、単純な論理回路で起動周期判定処理を実現できる。
【００３７】
図５に、起動周期判定処理の動作の具体例を示して説明する。図５において、紙面の最下部に、カウンタ回路１２の生成するカウンタ値ｎと、割り込み信号ＩＮＴのタイミング（縦方向の矢印参照）とを示す。ここで、割り込み信号ＩＮＴが所定の割り込み周期ごとに出力されている場合、スレッド起動時にカウンタ値ｎは１００００（以下、カウンタ所定値と称す。）の倍数を示すものとする。
【００３８】
また、図５の紙面上方より下方に向かって、起動周期異常信号ＯＦＬ（Ａ系）、ＣＰＵ（Ａ系）１３のスレッドの処理、ＣＲＣ値（Ａ系）、故障検出信号ＥＲＲ、ＣＲＣ値（Ｂ系）、ＣＰＵ（Ｂ系）１４のスレッドの処理、起動周期異常信号ＯＦＬ（Ｂ系）を示す。ここで、ＣＰＵ（Ａ系／Ｂ系）１３，１４のスレッドの処理において記した「ＣＨＫ」は、上述したカウンタ値読み込み処理と起動周期判定処理を表し、「ＯＵＴ」は、上述したＣＲＣ値書き込み処理を表す。以下、順次に説明する。
【００３９】
カウンタ値０において起動された両スレッドは、読み出したカウンタ値０をＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１に記憶し、また、ＣＲＣ値として１Ａ（ｈ）を出力する。
【００４０】
カウンタ値１００００において起動された両スレッドは、読み出したカウンタ値１００００をＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１に記憶し、また、記憶しておいた前回のカウンタ値０との差分を求める。このとき、カウンタ値の差分は１００００となり、カウンタ所定値と一致するため、起動周期異常は検出されない。また、ＣＲＣ値も一致するため、故障検出回路１５にて故障（ＥＲＲ）が検出されることもない。ＣＲＣ値（Ｂ系）は、上述したように、比較回路１５３から読み出された後、ビット単位で反転されるから、Ｅ５（ｈ）となる。
【００４１】
カウンタ値２００００では、本来、終了しているはずの両スレッドの一連の処理が終了せず、ソフトウェアの処理時間超過が発生しているために、両スレッドは未だに起動中である。したがって、割り込み信号ＩＮＴが入力されているにも関わらず、両スレッドは起動しない。なお、このような処理時間超過は、例えば、ＣＰＵ（Ａ系／Ｂ系）１３，１４が、Ｉ／Ｏインターフェース（Ａ系／Ｂ系）１３３，１４３から読み出したデータが、装置の許容量を越した場合などに起こりうる。この要因としては、人為的なミスや設計上の問題など、様々なケースが想定される。
【００４２】
また、このとき、ＣＲＣ値（Ａ系）は１Ａ（ｈ）であるのに対して、ＣＲＣ値（Ｂ系）はＥ５（ｈ）であるから、比較回路１５３にてＣＲＣ値の不一致が検出され、故障検出信号ＥＲＲが出力される。このとき、出力回路２の制御で安全リレー３３が落下する。
【００４３】
カウンタ値３００００において起動された両スレッドは、読み出したカウンタ値３００００をＳＤＲＡＭ（Ａ系／Ｂ系）１３１，１４１に記憶し、また、記憶しておいた前周期のカウンタ値１００００との差分を求める。このとき、カウンタ値の差分は２００００となり、カウンタ所定値と不一致であるため、ＣＰＵ（Ａ系／Ｂ系）１３，１４から起動周期異常信号ＯＦＬが出力される。
【００４４】
このように、本発明に係る二重化データ処理回路１は、起動周期異常信号ＯＦＬを出力して、出力回路２がＬＥＤ３２を点灯制御することにより、安全リレー３３の落下の要因がソフトウェアの処理時間超過であることを外部に通知することができる。一方、安全リレー３３の落下の要因がハードウェア故障等のみである場合、起動周期異常信号ＯＦＬは出力されないから、ＬＥＤ３２が消灯したまま、安全リレー３３が落下する。したがって、本発明に係る二重化データ処理回路に依れば、ソフトウェアの処理時間超過を容易に判別できる。
【００４５】
本実施形態では、ＣＰＵ（Ａ系／Ｂ系）１３，１４は、起動周期異常信号ＯＦＬを出力回路２に出力するようにしたが、これに限定されるものではない。例えば、出力回路２にＬＥＤ３２の点灯制御を行うための内部メモリを設けてＣＰＵバス１３５，１４５に接続した上で、ＣＰＵ（Ａ系／Ｂ系）１３，１４が、ＣＰＵバス１３５，１４５経由で当該メモリに書き込みを行なうことによりＬＥＤ３２を点灯させるようにしてもよい。
【００４６】
また、本実施形態では、割り込み信号出力回路１１とカウンタ回路１２を独立に構成したが、これに限定されるものではなく、例えば、カウンタ回路１２の代わりに割り込み信号出力回路１１に含まれるカウンタ回路を利用してもよい。これに依れば、回路構成を単純化できる。なお、本実施形態は、鉄道車両制御装置を例に挙げたが、これに限定されるものではなく、他の保安装置にも適用可能である。
【００４７】
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
【図面の簡単な説明】
【００４８】
【図１】本発明に係る二重化データ処理回路を適用した鉄道車両制御装置の簡略化した回路構成の一例である。
【図２】ＣＲＣ値保持回路（Ｂ系）の回路構成の一例である。
【図３】比較回路の動作フローである。
【図４】ＣＰＵ（Ａ系／Ｂ系）の動作フローである。
【図５】起動周期判定処理の動作の具体例である。
【符号の説明】
【００４９】
１                    二重化データ処理回路
１１                  割り込み信号出力回路
１２                  カウンタ回路
１３，１４            ＣＰＵ（Ａ系／Ｂ系）
【図１】
2010033245.tif 000003
【図２】
2010033245.tif 000004
【図３】
2010033245.tif 000005
【図４】
2010033245.tif 000006
【図５】
2010033245.tif 000007