(57)【特許請求の範囲】
【請求項１】
発振器と、２つの演算処理回路と、照合回路とを含む二重化データ処理回路であって、
前記発振器は、前記２つの演算処理回路に共通のクロック信号を供給し、
前記演算処理回路は、それぞれ、
前記クロック信号による計時に基づいて、一定の周期で計時完了信号を他方の前記演算処理回路に出力し、
この計時完了信号の入力を契機に、前記クロック信号に同期してデータを他方の前記演算処理回路に出力して、前記データを、互いに同期して、照合処理を同時に開始し同時に終了するよう照合し、その照合結果を示す交番信号を前記照合回路に出力し、
前記照合回路は、前記２つの演算処理回路から受信した前記交番信号の各々を照合するものであり、
前記二重化データ処理回路は、更に検査用発振器を含み、
前記検査用発振器は、前記２つの演算処理回路に共通の検査用クロック信号を供給し、
前記２つの演算処理回路は、それぞれ、前記検査用クロックによる計時に基づいて、相互にタイマ値を出力し比較するとともに、前記周期の正常性を検査する、
二重化データ処理回路。
【請求項２】
請求項１に記載された二重化データ処理回路であって、
前記２つの演算処理回路は、それぞれ、前記計時完了信号の入力ごとに、前記検査用クロック信号により計時したタイマ値の変化分が所定値であるか否かを判定することによって、前記周期の正常性を検査する、
二重化データ処理回路。
【請求項３】
請求項１または２に記載された二重化データ処理回路であって、前記２つの演算処理回路は、それぞれ、ＭＣＵである、
二重化データ処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄道用保安装置などに適用される二重化データ処理回路に関する。
【背景技術】
【０００２】
踏切や信号機などを制御する鉄道用保安装置、あるいは地上又は車上の車両制御装置等は、高度の安全性が要求されるために、フェイルセーフの観点から二重化データ処理回路が設けられている。この二重化データ処理回路は、例えば特許文献１にあるような、同一の動作を行ない、互いに入出力データや演算結果を照合する２つのＭＰＵと、これら２つのＭＰＵの出力した各照合結果をさらに照合する比較回路とを備え、比較回路で不一致が検出されたときに故障発生を認識して、安全リレーを落下させるものである。
【０００３】
この二重化データ処理回路によって、２つのＭＰＵ、又はその周辺回路の何れかに故障やエラーが発生すれば、誤動作が行なわれる前に、これを検出して装置からの出力を安全に停止させることができ、事故の発生を未然に防止することができる。
【０００４】
このようなフェイルセーフを実現する二重化データ処理回路は、各ＭＰＵを駆動するための発振器（つまり、クロック源）が個別に設けられているため、各ＭＰＵは非同期動作を行う。
【０００５】
このため、２つのＭＰＵの動作タイミングに時間差が生じ、一方のＭＰＵが他方のＭＰＵの処理が完了するまで待機する処理（いわゆる、ウェイト処理）が必要となる。このような処理は、ＭＰＵのソフトウェアの構成を複雑にするだけでなく、その待ち時間が、処理時間の短縮、つまり故障検知時間の短縮の阻害要因となっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１４３８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、データ照合の処理時間を短縮しうる二重化データ処理回路を提供することである。
【課題を解決するための手段】
【０００８】
上述した課題を解決するため、本発明に係る二重化データ処理回路は、発振器と、２つの演算処理回路と、照合回路とを含む。
【０００９】
前記発振器は、前記２つの演算処理回路に共通のクロック信号を供給する。
【００１０】
前記２つの演算処理回路は、それぞれ、前記クロック信号による計時に基づいて、一定の周期で計時完了信号を他方の演算処理回路に出力する。そして、この計時完了信号の入力を契機に、前記クロック信号に同期してデータを他方の演算処理回路に出力して、前記データを互いに照合し、その照合結果を示す交番信号を前記照合回路に出力する。
【００１１】
前記照合回路は、前記２つの演算処理回路から受信した前記交番信号の各々を照合する。
【００１２】
本発明に係る二重化データ処理回路によると、発振器から２つの演算処理回路に共通のクロック信号が供給され、２つの演算処理回路は、それぞれ、このクロック信号に基づいて一定の周期で計時完了信号を出力し、また、クロック信号に同期してデータを出力し、互いのデータを照合する。このデータには、２つの演算処理回路の入出力値や演算処理結果の値などが含まれている。
【００１３】
したがって、２つの演算処理回路は、互いに同期して、データの照合処理を同時に開始し、同時に終了することができるため、上述したようなウェイト処理を必要とすることはなく、ウェイト処理の待ち時間がなくなることによって、その処理時間を短縮することができる。
【００１４】
そして、２つの演算処理回路はその照合結果を示す交番信号を照合回路に出力し、照合回路は交番信号の各々を照合するから、上述したように、その照合結果にしたがい安全リレーを制御することによって、迅速なフェイルセーフ動作を実現することができる。
【００１５】
また、上記の発振器の故障を監視するために、本発明に係る二重化データ処理回路は、検査用発振器をさらに含むと好適である。
【００１６】
前記検査用発振器は、前記２つの演算処理回路に共通の検査用クロック信号を供給する。前記２つの演算処理回路は、それぞれ、前記検査用クロック信号による計時に基づいて、前記周期の正常性を検査する。
【００１７】
これにより、発振器の周波数に異常が生じた場合、これを、計時完了信号の周期の異常として検出することができるという、さらなる効果が得られる。
【発明の効果】
【００１８】
以上述べたように、本発明によれば、データ照合の処理時間を短縮しうる二重化データ処理回路を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る二重化データ処理回路の構成である。
【図２】二重化データ処理回路の照合処理のフローである。
【図３】照合処理の動作を示すタイムチャートである。
【図４】故障発生時の照合処理の動作を示すタイムチャートである。
【図５】照合処理のタイミングを表すタイムチャートである。
【図６】従来技術に係る比較例である。
【発明を実施するための形態】
【００２０】
図１に、本発明に係る二重化データ処理回路の構成を示す。二重化データ処理回路は、発振器１と、Ａ系及びＢ系演算処理回路２，３と、照合回路４と、検査用発振器５とを含む。
【００２１】
発振器１は、２つの演算処理回路２，３に共通のクロック信号ＣＬＫ０を供給する。これは、本発明の特徴的部分であり、２つの演算処理回路２，３の同期処理を実現するものである。発振器１としては水晶発振器などを採用することができる。なお、クロック信号ＣＬＫ０の周波数は設計に応じて、適宜に決定すべきものである。
【００２２】
Ａ系及びＢ系演算処理回路２，３は、クロック信号ＣＬＫ０に基づいて同時に同一の処理を行なうものであって、入力データを演算し、これにより得られたデータを出力する機能を有する。例えば、踏切の保安装置に実装される二重化データ処理回路の場合、演算処理回路２，３は、踏切に接近する列車の位置情報などが入力され、踏切の遮断かんの制御信号などを出力する。
【００２３】
演算処理回路２，３としては、例えばＡＳＩＣやＣＰＵバス回路を採用することができるが、ＭＣＵ（Micro Control Unit）を用いると好適である。このＭＣＵは、ＣＰＵバス回路を１つのＬＳＩに実装したものに相当するため、装置の小型化、低消費電力化、あるいは低コスト化に寄与することができる。
【００２４】
Ａ系及びＢ系演算処理回路２，３は、それぞれ、故障通知部２０，３０と、検査部２１，３１と、監視タイマ部２２，３２と、タイマ部２３，３３と、記憶部２５，３５と、出力部２６，３６と、データ処理部２７，３７と、照合部２８，３８と、入力部２９，３９とを構成に含む。これらは、ハードウェアの機能ブロック、又はソフトウェアの機能モジュールを表すものである。
【００２５】
以下にこれらの作用効果について説明するが、冗長となることを避けるために、Ａ系演算処理回路２についてのみ説明を行い、他方のＢ系演算処理回路３については同一の構成及び作用効果を有するものとする。
【００２６】
タイマ部２３は、発振器１のクロック信号ＣＬＫ０により計時を行い、一定の時間ごとに計時完了信号ＴＵＰａをＢ系演算処理回路３に出力する。一方、Ｂ系演算処理回路３も、同様に、タイマ部３３の計時に基づいて一定の周期で計時完了信号ＴＵＰｂをＡ系演算処理回路２に出力する。
【００２７】
出力部２６は、この計時完了信号ＴＵＰｂの入力を契機に、クロック信号ＣＬＫ０に同期してデータＤａをＢ系演算処理回路３に出力する。具体的には、出力部２６は、記憶部２５からデータＤＡＴＡａを読み出して、計時完了信号ＴＵＰｂの一周期の前半において、データＤＡＴＡａと同一のデータＤａを出力し、後半において、データＤＡＴＡａの正負の論理を反転して得たデータＤａを出力する。
【００２８】
ここで、正負の論理を反転する処理としては、例えば、データＤＡＴＡａの１（Ｂｙｔｅ）ごとに、ＦＦ（ｈ）との排他的論理和（つまり、ＸＯＲ）を実行する処理を採用することができる。例えば、データＤＡＴＡａのＡＡ（ｈ）を論理反転処理すると５５（ｈ）となる。
【００２９】
記憶部２５は、メモリであり、データ処理部２７からデータＤＡＴＡａが書き込まれる。
【００３０】
データ処理部２７は、二重化処理回路に入力されたデータを演算し、これにより得られたデータを他の装置に出力する。また、データ処理部２７は、これらの入出力データなどを、上記のデータＤＡＴＡａとして記憶部２５に書き込む。
【００３１】
一方、Ｂ系演算処理回路３も、同様に、計時完了信号ＴＵＰａの入力を契機に、クロック信号ＣＬＫ０に同期してデータＤｂをＡ系演算処理回路２に出力する。
【００３２】
入力部２９は、Ｂ系演算処理回路３から入力されたデータＤｂを、照合部２８に出力する。
【００３３】
照合部２８は、記憶部２５からデータＤＡＴＡａを読み出して、入力されたデータＤｂと照合し、その照合結果を示す交番信号ＣＭＰａを照合回路４に出力する。照合処理は、例えば、データＤＡＴＡａとデータＤｂを先頭から２（Ｂｙｔｅ）単位で比較することにより行われ、一致した場合、出力する交番信号ＣＭＰａをハイレベルとし、一致しない場合、ローレベルとする。データＤｂは、上述のように半周期おきに論理反転処理がなされるから、正常状態において、交番信号ＣＭＰａは、周期的にハイレベルとローレベルを繰り返すことになる。
【００３４】
照合回路４は、２つの演算処理回路２，３から受信した交番信号ＣＭＰａ，ＣＭＰｂの各々を照合する。照合の結果、これらが一致した場合、照合回路４は、同様に交番する状態信号ＦＳを安全リレー（図示せず）に対して出力する。一方、一致しない場合、照合回路４は、状態信号ＦＳをハイレベル、又はローレベルのいずれかの状態に保持する。なお、照合回路４は、論理回路を有するＬＳＩなどにより構成することができる。
【００３５】
安全リレーは、インダクタなどで構成された駆動回路が設けられており、この駆動回路に入力される状態信号ＦＳが交番している限り、落下することは無い。しかし、状態信号ＦＳが交番しなくなった場合、安全リレーは落下し、これにより外部の制御対象装置への電源供給は遮断される。このような仕組みを設けることによって、二重化処理回路と制御対象装置を含めたシステム全体としての出力を安全側に制御することが可能となる。
【００３６】
また、本実施形態の二重化データ処理回路は、発振器１の故障を監視するために、検査用発振器５をさらに含んでいる。検査用発振器５は、２つの演算処理回路２，３に共通の検査用クロック信号ＣＬＫ１を供給する。検査用発振器５としては水晶発振器などを採用することができる。なお、検査用クロック信号ＣＬＫ１の周波数は設計に応じて、適宜に決定すべきものである。
【００３７】
監視タイマ部２２は、この検査用クロック信号ＣＬＫ１に従って計時を行う。検査部２１は、監視タイマ部２２の計時に基づいて、Ｂ系演算処理回路３から入力された計時完了信号ＴＵＰｂの周期の正常性を検査する。
【００３８】
具体的には、検査部２１は、計時完了信号ＴＵＰｂの入力ごとに、監視タイマ部２２が計時したタイマ値Ｔａを読み出し、タイマ値Ｔａの変化分ΔＴａが所定値Ｎであるか否かを判定する。これは、計時完了信号ＴＵＰｂの周期が正常である限り、タイマ値Ｔａは、計時完了信号ＴＵＰｂの入力ごとに、期待される所定の変化分Ｎだけ増加することによる。このようにして、検査部２１は、変化分ΔＴａが所定値Ｎではない場合、計時完了信号ＴＵＰｂの周期の異常を検出する。
【００３９】
もっとも、検査用クロック信号ＣＬＫ１はクロック信号ＣＬＫ０と非同期であることから、現実的には、正常動作時であっても変化分ΔＴａに誤差が生ずるのは避けられない。このため、実際の回路設計では、所定値Ｎを、誤差を見込んで一定の数値範囲にまで拡張しておくことが必要となる。
【００４０】
また、検査部２１は、計時完了信号ＴＵＰｂの入力ごとに、Ｂ系演算処理回路３からタイマ値Ｔｂを読み出して、タイマ値Ｔａと比較する。比較の結果、不一致である場合、検査部２１は、Ｂ系演算処理回路３の監視タイマ部３２の故障を検出する。
【００４１】
このように、計時完了信号ＴＵＰｂの周期を検査することによって、検査用クロック信号ＣＬＫ１の周波数の異常を検出でき、また、タイマ値Ｔｂを検査することによって、Ｂ系演算処理回路３の監視タイマ部３２の故障を検出することができるという、フェイルセーフの観点から望ましい効果が得られる。
【００４２】
次に、図２に、二重化データ処理回路の照合処理のフローを示して説明する。ここで、図２は、Ａ系及びＢ系演算処理回路２，３の両方に対応して記載しているが、説明はＡ系演算処理回路２のみについて行う。
【００４３】
計時完了信号ＴＵＰｂが入力されると（符号Ｓｔ１）、検査部２１は、タイマ値Ｔａの変化分ΔＴａが所定値Ｎであるか否かを判定する（符号Ｓｔ２）。判定の結果、変化分ΔＴａが所定値Ｎでなければ、故障検知部２０は故障を検出する（符号Ｓｔ９）。
【００４４】
次に、監視タイマ部３２からタイマ値ＴａがＢ系の演算処理回路３に出力され（符号Ｓｔ３）、そして、検査部２１は、Ｂ系演算処理回路３から入力されたタイマ値Ｔｂと、タイマ値Ｔａを比較する（符号Ｓｔ４）。比較の結果、これらの値が一致しなければ、故障検知部２０は故障を検出する（符号Ｓｔ９）。
【００４５】
次に、出力部２６はデータＤａをＢ系演算処理回路３に出力し（符号Ｓｔ５）、そして、照合部２８は、Ｂ系演算処理回路３から入力されたデータＤｂと、記憶部２５から読み出したデータＤＡＴＡａを照合し、その結果を示す交番信号ＣＭＰａを照合回路４に出力する（符号Ｓｔ６）。
【００４６】
次に、出力部２６は、データＤＡＴＡａを上述した論理反転処理して得たデータＤａを、Ｂ系演算処理回路３に出力する（符号Ｓｔ７）。そして、照合部２８は、Ｂ系演算処理回路３においてデータＤＡＴＡｂを同様に論理反転処理して得たデータＤｂと、記憶部２５から読み出したデータＤＡＴＡａを照合し、その結果を示す交番信号ＣＭＰａを照合回路４に出力する（符号Ｓｔ８）。なお、図中、「（Ｐ）」は論理反転処理されていないポジティブデータを表し、一方、「（Ｎ）」は論理反転処理されたネガティブデータを表す。
【００４７】
この一連の照合処理は、２つの演算処理回路２，３において、同一のクロック信号ＣＬＫ０に従って行われるため、互いに同期している。
【００４８】
図３は、照合処理の動作を示すタイムチャートである。ここで、符号Ａｐ１〜Ａｐ３と符号Ｂｐ１〜Ｂｐ３は、それぞれ、Ａ系とＢ系のポジティブデータの値を表し、符号Ａｎ１〜Ａｎ３と符号Ｂｎ１〜Ｂｎ３は、それぞれ、Ａ系とＢ系のネガティブデータの値を表す。
【００４９】
Ａ系演算処理回路２とＢ系演算処理回路３は、同一のクロック信号ＣＬＫ０に同期するため、それぞれ、計時完了信号ＴＵＰａ，ＴＵＰｂを同一のタイミングで出力する。
【００５０】
したがって、Ａ系演算処理回路２とＢ系演算処理回路３は、それぞれ、同一のタイミングでデータＤａ，Ｄｂを出力し、照合処理部２８，３８は、同一のタイミングで照合処理を行うことができる。
【００５１】
データＤａ，Ｄｂは、それぞれ、計時完了信号ＴＵＰａ，ＴＵＰｂの半周期ごとにポジティブデータの値とネガティブデータの値を交互に繰り返すから、正常時において、交番信号ＣＭＰａ，ＣＭＰｂは、一致を表すハイレベルと、不一致を表すローレベルとを、交互に示すこととなる。このとき、照合回路４は、上述したように、交番する状態信号ＦＳを出力する。
【００５２】
一方、図４に示すように、データＤＡＴＡａにエラーデータＥｐが生じた場合、このエラーデータＥｐ，ＥｎとデータＢｐ２，Ｂｎ２の照合の結果、交番信号ＣＭＰａ，ＣＭＰｂは、不一致を表すローレベルとなるため、照合回路４は、上述したように、状態信号ＦＳを一方のレベルに保持する。なお、このとき、２つの演算処理回路２，３は動作を停止する。
【００５３】
また、図３と図４の例においては、タイマ値Ｔａ，Ｔｂは、それぞれ、計時完了信号ＴＵＰａ，ＴＵＰｂごとに１００００の増加を示している。このとき、上述した変化分ΔＴａ，ΔＴｂの所定値Ｎを１００００とすれば、検査部２１，３１は、それぞれ、計時完了信号ＴＵＰｂ，ＴＵＰａの周期が正常であると判断する。
【００５４】
本発明に係る二重化データ処理回路によると、発振器から２つの演算処理回路２，３に共通のクロック信号ＣＬＫ０が供給され、２つの演算処理回路２，３は、それぞれ、このクロック信号ＣＬＫ０に基づいて一定の周期で計時完了信号ＴＵＰａ，ＴＵＰｂを出力し、また、クロック信号ＣＬＫ０に同期してデータＤａ，Ｄｂを出力し、互いのデータＤＡＴＡａ，ＤＡＴＡｂを照合する。
【００５５】
したがって、２つの演算処理回路２，３は、互いに同期して、データＤＡＴＡａ，ＤＡＴＡｂの照合処理を同時に開始し、同時に終了することができるため、上述したようなウェイト処理を必要とすることはなく、ウェイト処理の待ち時間がなくなることによって、その処理時間を短縮することができる。
【００５６】
例として、図５に照合処理のタイミングを表すタイムチャートを示す。ここで、トリガ信号ＴＲＧは、外部の装置からＡ系及びＢ系演算処理回路２，３に入力される信号であって、ハイレベル（つまり、論理「１」）時に、データＤＡＴＡａ，ＤＡＴＡｂの照合処理の開始を指示するものである。
【００５７】
また、検知信号ＣＨＫａ，ＣＨＫｂは、それぞれ、Ａ系及びＢ系演算処理回路２，３が、クロック信号ＣＬＫ０に基づき、一定周期でトリガ信号ＴＲＧのレベルを検知するタイミングを示すものである。ここでは、例として４クロックごとに検知信号ＣＨＫａ，ＣＨＫｂが出力され、トリガ信号ＴＲＧのレベルを検知するものとしている。
【００５８】
さらに、照合開始信号ＳＴＲａ，ＳＴＲｂは、ハイレベル時に、それぞれ、照合処理部２８，３８の照合処理のタイミングを示すものである。
【００５９】
Ａ系及びＢ系演算処理回路２，３は、ともにクロック信号ＣＬＫ０に基づき動作するため、時間ｔ０においてトリガ信号ＴＲＧがハイレベルになった場合、それぞれ、その直後の同時間ｔ１における検知信号ＣＨＫａ，ＣＨＫｂによって、これを検知することができる（符号Ｐ参照）。
【００６０】
そして、Ａ系及びＢ系演算処理回路２，３は、検知後の最初のクロックパルスによって照合開始信号ＳＴＲａ，ＳＴＲｂをハイレベルに変化させ、時間ｔ２において同時に、照合処理を開始することができる。
【００６１】
これに対して、図６に従来技術に係る比較例を示す。この例では、Ａ系及びＢ系演算処理回路を駆動する発振器が個別に設けられ、これらが出力するクロック信号ＣＬＫａ，ＣＬＫｂの間に時間差Δｔ（位相差）が存在する。このため、時間ｔ１においてトリガ信号ＴＲＧがハイレベルになった場合、Ａ系演算処理回路２は、その直後の時間ｔ２における検知信号ＣＨＫａにより、これを検知することができるが（符号Ｐ１参照）、Ｂ系演算処理回路３は、その直前の時間ｔ０における検知信号ＣＨＫｂによっては、これを検知することができず（符号Ｐ０参照）、その４クロック後の時間ｔ３における検知信号ＣＨＫｂによって初めて検知することができる（符号Ｐ３参照）。
【００６２】
したがって、Ａ系演算処理回路２は、Ｂ系演算処理回路３の検知時間ｔ３にタイミングを合わせるために、４クロック分のウェイト処理を行なうとともに、Ｂ系演算処理回路３もクロック信号ＣＬＫａ，ＣＬＫｂの位相差による検知時間のずれを考慮して、同じだけのウェイト処理を行なう。そして、Ａ系及びＢ系演算処理回路２，３は、それぞれの待ち時間経過後の時間ｔ５，ｔ４において照合開始信号ＳＴＲａ，ＳＴＲｂをハイレベルとするが、結局のところ、互いに時間差Δｔが生じてしまうために、４クロック分のウェイト処理を挿入することは避けられない。したがって、従来技術に係る二重化データ処理回路においては、上述したような問題が存在していた。
【００６３】
このように、本発明に係る二重化データ処理回路によれば、従来のウェイト処理を不要とし、照合処理のタイミングを改善することによって、その処理時間を短縮することができ、ひいては故障検知時間を短縮することができる。
【００６４】
そして、２つの演算処理回路２，３はその照合結果を示す交番信号ＣＭＰａ，ＣＭＰｂを照合回路４に出力し、照合回路４は交番信号ＣＭＰａ，ＣＭＰｂの各々を照合するから、上述したように、その照合結果を示す状態信号ＦＳにしたがい安全リレーを制御することによって、迅速なフェイルセーフ動作を実現することができる。
【００６５】
なお、本発明に係る二重化データ処理回路の適用範囲は、鉄道分野の装置に限定されず、例えば航空機に搭載される装置など、フェイルセーフ性を必要とする他分野の装置も本発明の適用範囲内にあるのは言うまでもない。
【００６６】
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
【符号の説明】
【００６７】
１                      発振器
２，３                  演算処理回路
４                      照合回路
５                      検査用発振器
ＣＬＫ０                クロック信号
ＣＬＫ１                検査用クロック信号
ＴＵＰａ，ＴＵＰｂ      計時完了信号
ＣＭＰａ，ＣＭＰｂ      交番信号
Ｔａ，Ｔｂ              タイマ値
ＤＡＴＡａ，ＤＡＴＡｂ  データ
【図１】
0005618345.tif 000002
【図２】
0005618345.tif 000003
【図３】
0005618345.tif 000004
【図４】
0005618345.tif 000005
【図５】
0005618345.tif 000006
【図６】
0005618345.tif 000007