JP5541484B2 - データ照合装置 - Google Patents

データ照合装置 Download PDF

Info

Publication number
JP5541484B2
JP5541484B2 JP2009205524A JP2009205524A JP5541484B2 JP 5541484 B2 JP5541484 B2 JP 5541484B2 JP 2009205524 A JP2009205524 A JP 2009205524A JP 2009205524 A JP2009205524 A JP 2009205524A JP 5541484 B2 JP5541484 B2 JP 5541484B2
Authority
JP
Japan
Prior art keywords
data
circuit
output
flip
bit
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.)
Active
Application number
JP2009205524A
Other languages
English (en)
Other versions
JP2011059755A (ja
Inventor
誠 多和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Signal Co Ltd
Original Assignee
Nippon Signal Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Signal Co Ltd filed Critical Nippon Signal Co Ltd
Priority to JP2009205524A priority Critical patent/JP5541484B2/ja
Publication of JP2011059755A publication Critical patent/JP2011059755A/ja
Application granted granted Critical
Publication of JP5541484B2 publication Critical patent/JP5541484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、同一の処理を同期して行う2個のCPUそれぞれのデータバス上におけるデータの一致・不一致を照合するデータ照合装置に関する。
従来、この種のデータ照合装置に用いられる照合回路として、例えば特許文献1に記載されるような回路があった。この照合回路は、一方のデータに遅延処理を施し、該遅延処理後の一方のデータと他方のデータとの排他的論理和出力に基づき、前記一方のデータと他方のデータとの一致状態では前記両データに対応する交番信号を出力し、不一致が発生した後は前記交番信号を停止状態に保持させる回路である。
特開平5−120047号公報
ところで、上記のように、遅延させた一方のデータと他方のデータとの排他的論理和出力に基づいて、照合データに対応する交番信号の出力・停止を制御する場合、データの不一致と前記遅延処理によるデータの遅延とが区別できないようなエラーパターンでは、実際にはデータの不一致が発生したのに交番信号の出力を停止させることができなくなる場合がある。
そのため、従来では、遅延処理の対象とするデータを相互に異ならせた2組の照合回路を併設し、これら2組の照合回路の照合結果を突き合わせて、最終的な照合判断を下すようにすることで、前述のエラーパターンにおいても、データの不一致を検出することができるようにしていた。
しかし、上記のように、2組の照合回路を備える場合、論理演算回路やフリップフロップ回路などの照合回路を構成するロジックICの数が多くなり、また、ロジックICの数が多いことで消費電流が大きくなってしまうという問題があった。
本発明は上記問題点に着目してなされたものであり、1個の照合回路で、種々のエラーパターンを漏れなく検出できるようにし、これにより、ロジックICの数が少なくかつ消費電流の少ないデータ照合装置を提供することを目的とする。
このため、請求項1に係る発明は、同一の処理を同期して行う2個のCPUそれぞれのデータバス上のデータを照合する装置であって、一方のデータを遅延させる遅延回路と、遅延後の一方のデータと他方のデータとの排他的論理和を演算する論理回路とを含み、一方のデータと他方のデータとの一致状態では交番信号を出力し、不一致状態では交番信号を停止状態に保持する照合回路を備え、データバス上のデータと、該データのビットの並び順を逆転させたデータとを連続して照合する構成とした。
かかる構成では、各データバス上のデータをそのまま照合させると共に、データバス上のデータのビットの並び順を逆転させたデータの照合も連続して行わせることにより、例えば、データバス上のデータにおいて、遅延処理によるデータの遅延方向と、不一致によるビットデータのずれ方向とが一致して不一致の検出が行えない場合であっても、並び順を逆転させたデータにおいては、遅延処理によるデータの遅延方向と、不一致によるビットデータのずれ方向とが異なるようになり、不一致を検出することができるようになる。
請求項1の構成において、請求項2のように、データバス上のデータと、該データについてビットの並び順を逆転させかつ各ビットの値を反転させたデータとを連続して前記照合回路で照合させる構成とするとよい。
この場合、例えば、データバス上のデータの並び順における最後のビットに続いて、該ビットの値を反転させた値が並べられ、ここでデータの反転が発生するから、データバス上のデータの全ビットの値が0又は1であっても、交番信号を発生させることができる。
具体的には、請求項3のように、前記データバス上のパラレルデータをシリアルデータに変換する変換回路を前記各データバスにそれぞれ備え、前記データバス上のパラレルデータを前記変換回路に入力させると共に、前記データバス上のパラレルデータの各ビットの値を、それぞれ反転回路を介して前記変換回路に入力させ、前記変換回路から、前記データバス上のパラレルデータにおけるビットの並び順のシリアルデータと、前記データバス上のパラレルデータにおけるビットの並び順を逆転させかつ各ビットの値が反転させたシリアルデータとを連続して前記照合回路に出力させるとよい。
請求項1〜3のいずれか1つの構成において、請求項4のように、前記照合回路が、前記一方のデータに遅延処理を施す第1遅延回路と、前記第1遅延回路の出力信号と前記他方のデータとを入力し、排他的論理和演算を行う第1論理回路と、前記第1論理回路の出力信号をクロック信号として出力信号を遷移させる第1フリップフロップ回路と、前記第1フリップフロップ回路の出力信号に遅延処理を施す第2遅延回路と、前記第2遅延回路の出力信号と前記第1フリップフロップ回路の出力信号とを入力し、排他的論理和演算を行う第2論理回路と、前記他方のデータを入力信号とし、前記第2論理回路の出力信号をクロック信号として出力信号を遷移させ、出力信号が前記第1フリップフロップ回路の入力信号として出力される第2フリップフロップ回路と、を含んで構成され、前記第2フリップフロップ回路の出力を、一致状態で交番信号となる信号として外部に出力する構成とすることができる。
かかるデータ照合装置によれば、遅延対象とするデータが一方に限定される1個の照合回路で、種々のエラーパターンを漏れなく検出でき、これにより、データ照合装置を構成するロジックICの数を少なくでき、また、消費電流を少なくできる。
本発明に係るデータ照合装置の一実施形態を示す回路図 同上実施形態のデータ照合装置の動作の例を示すタイムチャート 同上実施形態のデータ照合装置の動作の別の例を示すタイムチャート 同上実施形態の反転回路を除いたデータ照合装置での動作の例を示すタイムチャート 同上実施形態のデータ照合装置の動作の更に別の例を示すタイムチャート
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本願発明に係るデータ照合装置を含むバス同期システムの回路図であり、このバス同期システムは、例えば鉄道信号保安装置などに適用される。
図1において、第1CPU11及び第2CPU12は、それぞれデータバス11a,12aを介して図外のメモリやI/Oコントローラなどとの間でのデータの送信・受信を行いながら、同一の処理を同期して行う。
前記データバス11a,12a上のデータの一致・不一致を照合するデータ照合装置は、照合回路13及びパラレル・シリアル変換回路14,15によって構成され、照合回路13は、照合データの一致状態では、前記照合データに応じた交番信号を出力し、照合データの不一致が発生した後は前記交番信号を停止状態に保持させる。
前記照合回路13から出力される交番信号は、例えば、トランスを介してリレーに出力され、データが不一致になって交番信号が停止状態に保持されると、前記リレーがオフ(接点が開いている状態)にされることで、前記バス同期システムの制御対象への電源供給が遮断されてフェイルセーフが実行される。
前記データバス11a,12a上のデータ(本実施形態では4ビットのパラレルデータ)は、パラレル・シリアル変換回路14,15によってシリアルデータに変換された後、照合回路13に入力される。
前記パラレル・シリアル変換回路14,15には、データバス11a,12a上の4ビットのパラレルデータが入力されると共に、データバス11a,12a上の4ビットのパラレルデータを、各ビット毎に反転回路(否定回路)16によって反転し、かつ、ビットの並び順を逆転させたデータが入力され、計8ビットのパラレルデータをシリアルデータに変換する。
そして、前記パラレル・シリアル変換回路14,15では、データバス11a,12a上の4ビットのパラレルデータを、ビットの並び順に従った順のシリアルデータに変換し、続けて、前記反転回路16による反転データを、前記並び順に対して逆転した順のシリアルデータとして出力する。即ち、データバス11a,12a上のデータと、該データのビットの並び順を逆転させ、かつ、各ビットデータを反転させたデータとの組み合わせを1単位として、前記照合回路13に出力する。
具体的には、データバス11a,12a上の4ビットデータが例えば〔0010〕であるとすると、この4ビットデータ〔0010〕のビットの並び順を逆転させたデータは〔0100〕であり、更に、このデータ〔0100〕の各ビットの値を反転させると、〔1011〕となるから、前記パラレル・シリアル変換回路14,15は、〔00101011〕の8ビットデータを、シルアルデータとして照合回路13に出力することになる。
次に、照合回路13の回路構成を説明する。
前記パラレル・シリアル変換回路15から出力されるシリアルデータ(第2CPU12側のデータ)は、第1遅延回路21に入力され、該第1遅延回路21の出力は、第1排他的論理和回路(第1論理回路)22の一方の入力端子に入力される。
また、前記第1排他的論理和回路22の他方の入力端子には、前記パラレル・シリアル変換回路14から出力されるシリアルデータ(第1CPU11側のデータ)が入力される。
そして、前記第1排他的論理和回路22は、パラレル・シリアル変換回路14から出力されたデータと、パラレル・シリアル変換回路15から出力された後遅延処理が施されたデータとの排他的論理和演算(EOR)を行う。
即ち、前記第1排他的論理和回路22は、パラレル・シリアル変換回路14から出力されたデータと、パラレル・シリアル変換回路15から出力された後遅延処理が施されたデータとのいずれか一方のみが「1」であるとき(両論理値に差があるとき)に「1」を出力し、双方が「0」又は双方が「1」であるとき(両論理値が同じ値であるとき)に、「0」を出力する。
前記第1排他的論理和回路22の出力は、クロック信号の立ち上がりで動作するD型フリップフロップ(D−FF)である第1フリップフロップ回路23に対してクロック信号として入力される。前記第1フリップフロップ回路23の入力信号Dとしては、後述する第2フリップフロップ回路26の出力信号Qが入力される。
前記第1フリップフロップ回路23の出力信号Qは、第2遅延回路24に入力され、該第2遅延回路24の出力は、第2排他的論理和回路25(第2論理回路)の一方の入力端子に入力される。また、前記第2排他的論理和回路25の他方の入力端子には、前記第1フリップフロップ回路23の出力信号Qがそのまま入力される。
即ち、前記第2排他的論理和回路25は、第1フリップフロップ回路23の出力信号Qと、該出力信号Qを遅延させた信号との排他的論理和演算を行い、第1フリップフロップ回路23の出力信号Qと、該出力信号Qを遅延させた信号とのいずれか一方のみが「1」であるとき(両論理値に差があるとき)に「1」を出力し、双方が「0」又は双方が「1」であるとき(両論理値が同じ値であるとき)に「0」を出力する。
従って、前記第2排他的論理和回路25は、第1フリップフロップ回路23からの出力信号Qの立ち上がり時及び立ち下がり時に、パルス信号を出力することになり、前記第2排他的論理和回路25の出力は、クロック信号の立ち上がりで動作するD型フリップフロップである第2フリップフロップ回路26に対してクロック信号として入力される。
前記第2フリップフロップ回路26の入力信号Dとして、前記パラレル・シリアル変換回路14から出力されるシリアルデータ(第1CPU11側のデータ)が入力され、出力信号Qは、前述のように、前記第1フリップフロップ回路23の入力信号Dとして出力されると共に、照合回路13の照合結果(一致・不一致)を示す信号として外部(例えば、リレーを駆動するトランス)に出力される。
後で詳細に説明するが、前記第2フリップフロップ回路26の出力信号Qは、データの一致状態では前記パラレル・シリアル変換回路14から出力されるシリアルデータ(両シリアルデータ)に応じた交番信号となり、1ビットでも不一致が発生すると、その後は前記交番出力が停止状態に保持される。
次に、前記照合回路13の動作を説明する。
第1排他的論理和回路22では、第1CPU11側のシリアルデータと、遅延処理された第2CPU12側のシリアルデータとの排他的論理和演算を行い、両データが異なる場合に、パルス信号を発生させる。
従って、第1排他的論理和回路22は、第1CPU11側のシリアルデータと第2CPU12側のシリアルデータ(遅延処理前のデータ)との立ち上がり・立ち下がりが同期するタイミングで、第1遅延回路21による遅延時間に相当するパルス幅のパルスを発生させると共に、ビットデータの不一致部分でパルスを発生させることになる。
そして、第1フリップフロップ回路23は、前記第1排他的論理和回路22から出力されるパルス信号の立ち上がり時に、そのときの入力信号Dの値に出力信号Qを遷移させてその状態を記憶する。従って、データが一致している場合には、シリアルデータの立ち上がり・立ち下がりに同期して、第1フリップフロップ回路23の出力が遷移することになる。
但し、第1フリップフロップ回路23の入力信号Dとして、第2フリップフロップ回路26で記憶されているデータが入力され、第2フリップフロップ回路26は、第1フリップフロップ回路23の出力の立ち上がり・立ち下がりに同期して、その出力がそのときの第1CPU11側のシリアルデータに遷移する。
従って、データの一致時には、第1フリップフロップ回路23は、第1CPU11側のシリアルデータの切り換り前の値を記憶することになり、第1フリップフロップ回路23の出力は、第1CPU11側のシリアルデータを反転させたデータとなる。
第1フリップフロップ回路23の出力信号Qが、「0」(ローレベル)から「1」(ハイレベル)に立ち上がった場合、及び、「1」(ハイレベル)から「0」(ローレベル)に立ち下がった場合、前記第2排他的論理和回路25は、第2遅延回路24による遅延時間に相当するパルス幅のパルスを発生させる。
そして、前記第2排他的論理和回路25の出力が立ち上がると、そのときにパラレル・シリアル変換回路14から出力されている値に、第2フリップフロップ回路26の出力信号Qが遷移する。従って、第1CPU11側のシリアルデータと第2CPU12側のシリアルデータとが一致する場合には、第2フリップフロップ回路26の出力信号Qは、第1CPU11側のシリアルデータに対応して変化する交番信号となる。
一方、データが不一致になって、データ一致時には出力が立ち上がらないタイミングで第1排他的論理和回路22の出力が立ち上がると、第1フリップフロップ回路23の出力が、第2フリップフロップ回路26の出力信号Qに遷移することで、第1フリップフロップ回路23の出力は第1CPU11側のシリアルデータと同じ値になる。
即ち、第2フリップフロップ回路26は、1つ前のビットデータを記憶するから、データの一致状態であれば、第1CPU11側のシリアルデータの立ち上がり・立ち下がりに同期して、第1フリップフロップ回路23の出力を第2フリップフロップ回路26の出力信号Qに遷移させれば、結果的に、第1フリップフロップ回路23の出力は、第1CPU11側のシリアルデータを反転させたデータとなる。
しかし、第1CPU11側のシリアルデータの立ち上がり・立ち下がりが発生していない状態で、第1フリップフロップ回路23の出力を第2フリップフロップ回路26の出力信号Qに遷移させると、第2フリップフロップ回路26が記憶している1つ前のビットデータと現時点のビットデータとは同じ値であるから、結果的に、第1フリップフロップ回路23の出力が、現時点のビットデータとは同じ値になる。
そして、前記第1フリップフロップ回路23の出力が、そのときの第1CPU11側のシリアルデータと同じ値に遷移することで、第2排他的論理和回路25の出力パルスが立ち上がると、第2フリップフロップ回路26は、そのときの第1CPU11側のシリアルデータの値に出力を遷移させるから、第1フリップフロップ回路23の出力と第2フリップフロップ回路26の出力とが同じ値になる。
また、データが不一致になって、データ一致時には第1排他的論理和回路22の出力が立ち上がるタイミングで立ち上がりが発生しないと、第1CPU11側のシリアルデータが切り換ったのに第1フリップフロップ回路23の出力が遷移しないことで、第1フリップフロップ回路23の出力がそのときの第1CPU11側のシリアルデータと同じ値を示すことになる。
そして、第1フリップフロップ回路23の出力が遷移しないと、第2排他的論理和回路25の出力が立ち上がらず、第2フリップフロップ回路26の出力信号Qが遷移されないから、本来、遷移されるべきタイミングで遷移がなされないことになり、第2フリップフロップ回路26の出力は、そのときの第1CPU11側のシリアルデータと異なる値を示すようになる。
そして、次に、第1CPU11側のシリアルデータの立ち上がり又は立ち下がりに基づいて第1排他的論理和回路22の出力が立ち上がると、第1フリップフロップ回路23の出力が、第2フリップフロップ回路26の出力信号Qに遷移されるが、これが、第1CPU11側のシリアルデータと同じ値への遷移となる。
また、第1フリップフロップ回路23の出力の遷移に応じて第2排他的論理和回路25の出力が立ち上がっても、第2フリップフロップ回路26のそれまでの記憶値と、立ち上がり又は立ち下がり後の第1CPU11側のシリアルデータとが同じであるから、第2フリップフロップ回路26での出力遷移が発生せず、結果的に、第1フリップフロップ回路23の出力と第2フリップフロップ回路26の出力とが同じ値になる。
第1フリップフロップ回路23と第2フリップフロップ回路26とが同じ値を記憶するようになると、たとえ第1排他的論理和回路22の出力パルスが立ち上がったとしても、第1フリップフロップ回路23の出力が遷移せずに同じ値を保持することになる。
そして、第1フリップフロップ回路23の出力が変化しないと、第2排他的論理和回路25からのパルス出力がなくなることで、第2フリップフロップ回路26の出力を遷移させるクロック信号の立ち上がりがなくなるから、第1CPU11側のシリアルデータが変化しても、第2フリップフロップ回路26の出力は一定に保持されることになる。
即ち、照合するデータのうちの1ビットでも不一致があると、第2フリップフロップ回路26の交番出力が停止し、その後は、係る交番信号の停止状態を保持することになる。換言すれば、照合するデータのうちの1ビットでも不一致があると、第2フリップフロップ回路26の出力は、「1」又は「0」に固定されることになる。
次に、前記パラレル・シリアル変換回路14,15から、データバス11a,12a上のデータと、該データについてビットの並び順を逆転させかつ各ビットの値を反転させたデータとを連続して照合回路13に入力させた場合の動作を、図2及び図3のタイムチャートを参照して、より具体的に説明する。図2のタイムチャートに示す例は、データバス11a上の4ビットデータが「0110」であるのに対し、データバス12a上の4ビットデータが「0010」であって、データが不一致となった場合の動作を示す。
まず、データバス11a上の4ビットデータ「0110」は、前記パラレル・シリアル変換回路14を経ることで、8ビットのシリアルデータ「01101001」となって照合回路13に入力される。一方、データバス12a上の4ビットデータ「0010」は、前記パラレル・シリアル変換回路15を経ることで、8ビットのシリアルデータ「00101011」となって照合回路13に入力される。
ここで、最初にデータバス上の4ビットデータがそのまま照合されることになるが、「0110」と「0010」とを照合した場合、第1排他的論理和回路22の出力パルスの立ち上がりは、データバス11a側のシリアルデータの立ち上がり・立ち下がりにおいてそれぞれ発生し、かつ、データバス11a側のシリアルデータの立ち上がり・立ち下がりタイミング以外で、第1排他的論理和回路22の出力パルスが立ち上がることはない。
従って、第1フリップフロップ回路23の出力は、データが一致している場合と同様に、データバス11a側のシリアルデータの反転データとなり、交番信号の出力が停止されることはない。
これは、データバス11a側のシリアルデータにおける〔0〕ビットから〔1〕ビットへの切り換りによるデータの立ち上がりに対して、データバス12a側のシリアルデータの〔1〕ビットの値が異なることで、データバス12a側のシリアルデータの立ち上がりが遅れて発生することになるが、この遅れが、第1遅延回路21による遅延で生じたものであるか、データ不一致で発生したものであるかを、照合回路13で判別できないために生じる。
しかし、本実施形態では、データバス上の4ビットデータをそのまま照合すると、続けて、各ビットを反転させ、かつ、ビットの並び順を逆転させたデータを照合することで、データの不一致が検出され、交番信号の出力を停止させることができる。
即ち、ビットの並び順を逆転させたデータでは、並び順が逆になることで、図2に示すように、データバス11a側のシリアルデータの立ち上がり・立ち下がりに対して、データバス12a側のシリアルデータの立ち上がり・立ち下がりが遅れて発生することがなく、逆に、データバス12a側のシリアルデータの立ち上がり・立ち下がりがデータバス11a側に対して早いタイミングとなる。
そして、データバス11a側のシリアルデータが連続して「0」(ローレベル)であるときに、第1排他的論理和回路22の出力パルスが立ち上がり、これによって、第1フリップフロップ回路23の出力が、データバス11a側のシリアルデータと同じ値(ローレベル)に遷移される。
そして、第1フリップフロップ回路23の出力遷移(ハイレベル→ローレベル)によって第2排他的論理和回路25の出力パルスが立ち上がることで、第2フリップフロップ回路26の値も、そのときのデータバス11a側のシリアルデータと同じ値(ローレベル)に遷移し、結果、第1フリップフロップ回路23の出力と第2フリップフロップ回路26の出力とが同じ値になる。
以後、第1排他的論理和回路22の出力パルスが立ち上がっても、第2フリップフロップ回路26の出力はローレベルであるから、第1フリップフロップ回路23の出力がハイレベルに遷移することはなく、第1フリップフロップ回路23の出力がローレベルを保持することで、第2フリップフロップ回路26の出力遷移が生じず、第2フリップフロップ回路26の出力はローレベルを保持し、交番信号の停止状態に保持される。
また、図3のタイムチャートに示す例は、データバス11a上の4ビットデータが「1001」であるのに対し、データバス12a上の4ビットデータが「1101」であって、データが不一致となった場合の動作を示す。
まず、データバス11a上の4ビットデータ「1001」は、前記パラレル・シリアル変換回路14を経ることで、8ビットのシリアルデータ「10010110」となって照合回路13に入力される。一方、データバス12a上の4ビットデータ「1101」は、前記パラレル・シリアル変換回路15を経ることで、8ビットのシリアルデータ「11010100」となって照合回路13に入力される。
ここで、最初にデータバス上の4ビットデータがそのまま照合されることになるが、「1001」と「1101」とを照合した場合、第1排他的論理和回路22の出力パルスの立ち上がりは、データバス11a側のシリアルデータの立ち上がり・立ち下がりにおいてそれぞれ発生し、かつ、データバス11a側のシリアルデータの立ち上がり・立ち下がりタイミング以外で、第1排他的論理和回路22の出力パルスが立ち上がることはない。
従って、第1フリップフロップ回路23の出力は、データが一致している場合と同様に、データバス11a側のシリアルデータの反転データとなり、交番信号の出力が停止されることはない。
これは、データバス11a側のシリアルデータにおける〔0〕ビットから〔1〕ビットへの切り換りによる立ち下がりに対して、データバス12a側のシリアルデータの〔1〕ビットの値が異なることで、データバス12a側のシリアルデータの立ち下がりが遅れて発生することになるが、この遅れが、第1遅延回路21による遅延で生じたものであるか、データ不一致で発生したものであるかを、照合回路13で判別できないために生じる。
しかし、本実施形態では、データバス上の4ビットデータをそのまま照合すると、続けて、各ビットを反転させ、かつ、ビットの並び順を逆転させたデータを照合することで、データの不一致が判断され、交番信号の出力が停止させることができる。
即ち、ビットの並び順を逆転させたデータでは、並び順が逆になることで、図3に示すように、データバス11a側のシリアルデータの立ち上がり・立ち下がりに対して、データバス12a側のシリアルデータの立ち上がり・立ち下がりが遅れて発生することがなく、逆に、データバス12a側のシリアルデータの立ち上がり・立ち下がりがデータバス11a側に対して早いタイミングとなる。
このため、データバス11a側のシリアルデータが連続して「1」(ハイレベル)であるときに、第1排他的論理和回路22の出力パルスが立ち上がり、これによって、第1フリップフロップ回路23の出力が、データバス11a側のシリアルデータと同じ値(ハイレベル)に遷移される。
そして、第1フリップフロップ回路23の出力遷移(ローレベル→ハイレベル)によって第2排他的論理和回路25の出力パルスが立ち上がることで、第2フリップフロップ回路26の値も、そのときのデータバス11a側のシリアルデータと同じ値(ハイレベル)になり、結果、第1フリップフロップ回路23の出力と第2フリップフロップ回路26の出力とが同じ値になる。
以後、第1排他的論理和回路22の出力パルスの立ち上がっても、第2フリップフロップ回路26の出力はハイレベルであるから、第1フリップフロップ回路23の出力がローレベルに遷移することはなく、第1フリップフロップ回路23の出力がハイレベルを保持することで、第2フリップフロップ回路26の出力遷移が生じず、第2フリップフロップ回路26の出力はハイレベルを保持し、交番信号の停止状態に保持される。
上記のように、データバス上の4ビットデータをそのまま照合させた場合に、交番信号の発生を停止させることができないようなエラーパターンであっても、各ビットの値を反転させ、かつ、ビットの並び順を逆転させたデータを照合させることで、交番信号の発生を停止させることができ、バス同期システムのフェイルセーフを確実に実行させることができる。
即ち、交番信号の出力停止は、第1フリップフロップ回路23と第2フリップフロップ回路26とが同じ値を記憶するようになることが条件となり、そのためには、第1CPU11側のシリアルデータの切り換りタイミング(立ち上がり・立ち下がりタイミング)でないときに、前記第1フリップフロップ回路23の出力を遷移させることが必要で、該遷移のトリガーとなるのが、第1排他的論理和回路22の出力の立ち上がりである。
そして、第1排他的論理和回路22の出力が、ビットデータの不一致部分で立ち上がることで、交番信号の出力停止が実行されることになるが、データの不一致による遅延と第1遅延回路21の遅延処理による遅延とが区別できないようなエラーパターンでは、不一致の発生に伴って第1排他的論理和回路22の出力が立ち上がらず、交番信号を停止させることができなくなる。
しかし、本実施形態のように、データバス上のデータをそのまま照合させると共に、ビットの並び順を逆転させたデータを照合させれば、データの不一致による遅延関係が逆転し、例えば、データバス12a側のデータがデータバス11a側のデータに対して遅れるエラー特性が、ビット順を逆転させたデータでは、逆に、データバス11a側のデータがデータバス12a側のデータに対して遅れるエラー特性に切り換る。
換言すれば、並び順の逆転によって、第1CPU11側のシリアルデータの切り換りタイミングでないときに、前記第1フリップフロップ回路23の出力を遷移させることができるようになる。このため、データの不一致による遅延と第1遅延回路21の遅延処理による遅延とが区別できないようなエラーがデータバス上のデータに生じたとしても、ビットの並び順を逆転させたデータの照合で交番信号の出力を停止させることができる。
前述のようなエラーパターンに対してフェイルセーフを実行させる方法としては、図1に示した、データバス12a側のシリアルデータを遅延させる照合回路とは別に、データバス11a側のシリアルデータを遅延させるようにした同様な回路構成の照合回路を設け、両照合回路の出力を突き合わせて、最終的な照合判断を下す方法がある。
しかし、上記のように、照合回路を2個備えるようにすると、照合回路を構成する論理演算回路やフリップフロップ回路などのロジックICの数が多くなり、これによって消費電流も大きくなってしまう。
これに対し、1個の照合回路に対してデータバス上のデータをそのまま入力させると共に、ビットの並び順を逆転させて入力させる構成であれば、照合回路を2個備える場合と同様に確実なフェイルセーフを実行させつつ、論理演算回路やフリップフロップ回路などのロジックICの数を減らして、消費電流を抑制することができ、低消費電流で動作させたい装置に搭載することができる。
尚、ビットの並び順を逆転させることで、交番信号の発生を停止させることができないエラーパターンになってしまう場合があるが、その場合は、データバス上の4ビットデータをそのまま照合させた結果として、交番信号の発生が停止されることになる。
また、各ビットデータを反転させずに、各ビットデータをそのままとして並び順を逆転させたデータを照合させることでも、データの不一致に対して確実に交番信号の発生を停止させることができるが、各ビットデータを反転させれば、たとえデータバス上のデータが「0000」や「1111」を保持するような場合であっても、照合回路13から一定周波数以上の交番信号を発生させ、リレーをオン状態に保持させることが可能となる。
図1に示した回路構成で、パラレル・シリアル変換回路14,15の入力側に設けられている反転回路16を全て除けば、データバス上のデータそのままと、該データバス上のデータに対してビットの並び順が逆転させたデータとが連続するシリアルデータが、照合回路13に入力されることになる。
そして、係る構成では、例えば、図2に示した例と同じデータバス上のデータに対して、図4のタイムチャートに示すように動作することになる。即ち、データバス11a上の4ビットデータが「0110」であるのに対し、データバス12a上の4ビットデータが「0010」であって、データバス11a上の4ビットデータ「0110」は、前記パラレル・シリアル変換回路14を経ることで、8ビットのシリアルデータ「01100110」となって照合回路13に入力される。
一方、データバス12a上の4ビットデータ「0010」は、前記パラレル・シリアル変換回路15を経ることで、8ビットのシリアルデータ「00100100」となって照合回路13に入力される。
ここで、最初にデータバス上の4ビットデータがそのまま照合されることになるが、前述のように、データバス上の4ビットデータがそのまま照合させた場合には、交番信号の出力が停止されることはない。
一方、ビットの並び順を逆転させたデータでは、ビットの並び順が逆になることで、図4に示すように、データバス11a側のシリアルデータの立ち上がり・立ち下がりに対して、データバス12a側のシリアルデータの立ち上がり・立ち下がりが遅れて発生することがなく、逆に、データバス12a側のシリアルデータの立ち上がり・立ち下がりがデータバス11a側に対して早いタイミングとなる。
このため、データバス11a側のシリアルデータが連続して「1」(ハイレベル)であるときに、第1排他的論理和回路22の出力パルスの立ち上がり、これによって、第1フリップフロップ回路23の出力が、データバス11a側のシリアルデータと同じ値(ハイレベル)に遷移される。
そして、第1フリップフロップ回路23の出力遷移(ローレベル→ハイレベル)によって第2排他的論理和回路25の出力パルスが立ち上がることで、第2フリップフロップ回路26の値も、そのときのデータバス11a側のシリアルデータと同じ値(ハイレベル)になり、結果、第1フリップフロップ回路23の出力と第2フリップフロップ回路26の出力とが同じ値になる。
以後、第1排他的論理和回路22の出力パルスの立ち上がっても、第2フリップフロップ回路26の出力はハイレベルであるから、第1フリップフロップ回路23の出力がローレベルに遷移することはなく、第1フリップフロップ回路23の出力がハイレベルを保持することで、第2フリップフロップ回路26の出力遷移が生じず、第2フリップフロップ回路26の出力はハイレベルを保持し、交番信号の停止状態に保持される。
上記のように、データの不一致に対して確実なフェイルセーフを実行させるためには、データバス上のデータを照合させると共に、データバス上でのビットの並び順を逆転させたデータを照合させればよく、各ビットデータの反転(反転回路16)を省略させることができる。
しかし、ビットの並び順の逆転と共に、各ビットデータを反転させれば、図5に示すように、データバス上のデータが「1111」又は「0000」であっても、照合回路13に入力されるシリアルデータは「11110000」又は「00001111」となり、データが一致する正常状態において、前記シリアルデータに対応する交番信号が発生することになる。
即ち、ビットの並び順の逆転と共に、各ビットデータを反転させれば、データバス上のデータにおけるビットの並び順で最後のビットに続けて、当該ビットのデータを反転させたデータが照合回路13に入力されることになるから、ここで、ハイレベル・ローレベルの切り換り(データの立ち上がり・立ち下がり)が発生し、これによって第2フリップフロップ回路26の出力が遷移し、照合回路13から交番信号を出力されることになる。
各ビットデータを反転させない場合、データバス上のデータが「1111」又は「0000」であると、照合回路13に入力されるシリアルデータはビットの並び順を逆転させても「11111111」又は「00000000」となり、データが一致しているのに交番信号の出力が一時的に停止してしまい、照合回路13から出力される交番信号でリレーを駆動する場合には、データが一致しているのに、リレーがオフしてしまうという不具合を生じる。
そこで、各ビットデータを反転させない場合には、データの一致状態で交番信号の出力が停止しないように、データバス上のデータが「1111」又は「0000」に設定されることを回避するなどの操作が必要となる。
しかし、前述のように、データバス上のデータに連続して、各ビットデータを反転させ、かつ、ビットの並び順を逆転させたデータを照合回路に入力させれば、たとえデータバス上のデータが「1111」又は「0000」であったとしても、照合回路13から一定周波数以上の交番信号を発生させて、リレーをオン状態に保持させることができ、交番信号を発生させるためのデータ操作の必要がなくなる。
即ち、本実施形態のように、データバス上のデータに連続して、各ビットデータを反転させ、かつ、ビットの並び順を逆転させたデータを照合回路13に入力させるようにすれば、データバス12a側のシリアルデータの立ち上がり・立ち下がりが、データバス11a側のシリアルデータの立ち上がり・立ち下がりに対して遅れるようなエラーパターンに対しても、確実に交番信号の出力を停止させることができ、かつ、データバス上のデータを制約しなくても、データが一致する状態で一定周波数以上の交番信号を発生させることができる。
尚、上記実施形態では、データバス上のデータを4ビットデータとしたが、データのビット数を4ビットに限定するものでないことは明らかである。
また、照合回路13(第2フリップフロップ回路26)の出力で、リレーを駆動する構成に限定されるものでもない。
また、データバス上のデータについて、ビットの並び順を逆転させ、かつ、各ビットの値を反転させたデータを、先に照合回路13に入力させ、続けて、データバス上のデータを照合回路13に入力させることができる。
11,12 CPU
11a,12a データバス
13 照合回路
14,15 パラレル・シリアル変換回路
16 反転回路
21 第1遅延回路
22 第1排他的論理和回路(第1論理回路)
23 第1フリップフロップ回路
24 第2遅延回路
25 第2排他的論理和回路(第2論理回路)
26 第2フリップフロップ回路

Claims (4)

  1. 同一処理を同期して行う2個のCPUそれぞれのデータバス上のデータを照合する装置であって、一方のデータを遅延させる遅延回路と、遅延後の一方のデータと他方のデータとの排他的論理和を演算する論理回路とを含み、一方のデータと他方のデータとの一致状態では交番信号を出力し、不一致状態では交番信号を停止状態に保持する照合回路を備え、データバス上のデータと、該データのビットの並び順を逆転させたデータとを連続して照合する、データ照合装置。
  2. 前記データバス上のデータと、該データについてビットの並び順を逆転させかつ各ビットの値を反転させたデータとを連続して前記照合回路で照合させる、請求項1記載のデータ照合装置。
  3. 前記データバス上のパラレルデータをシリアルデータに変換する変換回路を前記各データバスにそれぞれ備え、
    前記データバス上のパラレルデータを前記変換回路に入力させると共に、前記データバス上のパラレルデータの各ビットの値を、それぞれ反転回路を介して前記変換回路に入力させ、前記変換回路から、前記データバス上のパラレルデータにおけるビットの並び順のシリアルデータと、前記データバス上のパラレルデータにおけるビットの並び順を逆転させかつ各ビットの値が反転させたシリアルデータとを連続して前記照合回路に出力する、請求項2記載のデータ照合装置。
  4. 前記照合回路が、
    前記一方のデータに遅延処理を施す第1遅延回路と、
    前記第1遅延回路の出力信号と前記他方のデータとを入力し、排他的論理和演算を行う第1論理回路と、
    前記第1論理回路の出力信号をクロック信号として出力信号を遷移させる第1フリップフロップ回路と、
    前記第1フリップフロップ回路の出力信号に遅延処理を施す第2遅延回路と、
    前記第2遅延回路の出力信号と前記第1フリップフロップ回路の出力信号とを入力し、排他的論理和演算を行う第2論理回路と、
    前記他方のデータを入力信号とし、前記第2論理回路の出力信号をクロック信号として出力信号を遷移させ、出力信号が前記第1フリップフロップ回路の入力信号として出力される第2フリップフロップ回路と、
    を含んで構成され、
    前記第2フリップフロップ回路の出力を、一致状態で交番信号となる信号として外部に出力する、請求項1から3のいずれか1つに記載のデータ照合装置。
JP2009205524A 2009-09-07 2009-09-07 データ照合装置 Active JP5541484B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009205524A JP5541484B2 (ja) 2009-09-07 2009-09-07 データ照合装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009205524A JP5541484B2 (ja) 2009-09-07 2009-09-07 データ照合装置

Publications (2)

Publication Number Publication Date
JP2011059755A JP2011059755A (ja) 2011-03-24
JP5541484B2 true JP5541484B2 (ja) 2014-07-09

Family

ID=43947345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009205524A Active JP5541484B2 (ja) 2009-09-07 2009-09-07 データ照合装置

Country Status (1)

Country Link
JP (1) JP5541484B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108091355A (zh) * 2016-11-21 2018-05-29 爱思开海力士有限公司 数据反相电路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2561181B2 (ja) * 1991-05-13 1996-12-04 財団法人鉄道総合技術研究所 クロック同期形2重系回路
JP3356635B2 (ja) * 1996-10-28 2002-12-16 日本信号株式会社 車両制御用コンピュータシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108091355A (zh) * 2016-11-21 2018-05-29 爱思开海力士有限公司 数据反相电路

Also Published As

Publication number Publication date
JP2011059755A (ja) 2011-03-24

Similar Documents

Publication Publication Date Title
TWI353726B (en) Low voltage differential signaling transmitter and
KR920009436B1 (ko) 직렬 버스로써 동작하는 슬레이브형 인터페이스 회로
TWI338307B (en) Semiconductor memory device and method for driving the same,and memory module and method for driving the same
JP3604323B2 (ja) クロック切替回路
JP4699927B2 (ja) 入出力共用端子制御回路
JPH03191633A (ja) データ転送方式
JP5541484B2 (ja) データ照合装置
JP5925507B2 (ja) データ照合装置、照合方法及びそれを用いた安全保安システム
KR100925393B1 (ko) 반도체 메모리 장치의 도메인 크로싱 회로
US7650523B2 (en) Interface apparatus and method for synchronization of data
KR100933667B1 (ko) 버스 반전 기술을 적용한 반도체 메모리 장치
JP4641750B2 (ja) 三相交流検査装置
WO2016189578A1 (ja) 通信装置、及び電力変換装置
JP4862588B2 (ja) クロック制御回路および半導体集積回路
US8908782B2 (en) Method and apparatus for checking asynchronous transmission of control signals
US9094183B2 (en) Circuits for receiving data
JP2010160712A (ja) 半導体データ処理デバイス及びデータ処理システム
JP5378765B2 (ja) データ転送システム
US8270557B2 (en) Integrated circuit and method for driving the same
JP3908175B2 (ja) 半導体集積回路およびその評価回路
KR100605784B1 (ko) 펄스 발생장치
KR100997436B1 (ko) 반도체 메모리장치의 펄스생성회로 및 방법
WO2007083443A1 (ja) スキュー補正装置
JPH10293147A (ja) クロックデューティ検出回路
WO2004082142A1 (ja) 論理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140423

R150 Certificate of patent or registration of utility model

Ref document number: 5541484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150