(57)【要約】【課題】より確実にディジタル信号の異常を検出する。【解決手段】レジスタ３１〜３３は、ＣＰＵ４０がＥＥＰＲＯＭ５０に伝達すべきＳＣＫ信号，ＣＳ信号，ＤＯ信号の立ち上がりの有無及び立ち下りの有無をそれぞれの信号線１１〜１３に対応付けて記憶し、エッジ検出回路２１〜２３は信号線１１〜１３におけるそれぞれの信号の立ち上がりの有無及び立ち下りの有無を検出して信号線１１〜１３にそれぞれ対応付けて記憶する。そして、ＣＰＵ４０は、伝達すべき信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、レジスタ３１〜３３が記憶する値とエッジ検出回路２１〜２３が記憶する値とが信号ごとに一致しない場合には異常と判定する。判定の直後にはレジスタ３１〜３３及びエッジ検出回路２１〜２３が記憶する値をクリアする。【選択図】図１
2009211262.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル信号を伝達する信号線と、
前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を記憶してクリア信号が入力されるまで保持する目標値記憶手段と、
前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、
前記伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無と前記実際値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無とが一致しない場合には異常と判定する異常判定手段と、
前記異常の有無の判定の直後に前記目標値記憶手段と前記実際値記憶手段とに前記クリア信号を入力するクリア信号入力手段と、
を備えるディジタル信号の異常検出装置。
【請求項２】
前記信号線は、複数設けられており、
前記目標値記憶手段は、前記複数の信号線にそれぞれ伝達すべきディジタル信号の立ち上がりの有無及び立ち下りの有無をそれぞれの信号線に対応付けて記憶し、クリア信号が入力されるまで保持する手段であり、
前記実際値記憶手段は、前記複数の信号線におけるそれぞれのディジタル信号の立ち上がりの有無及び立ち下りの有無を検出してそれぞれの信号線に対応付けて記憶し、クリア信号が入力されるまで保持する手段であり、
前記異常判定手段は、前記伝達すべきそれぞれのディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する信号線ごとの立ち上がりの有無及び立ち下りの有無と前記実際値記憶手段が保持する信号線ごとの立ち上がりの有無及び立ち下りの有無とが全て一致しない場合には異常と判定する手段である、
請求項１に記載のディジタル信号の異常検出装置。
【請求項３】
ディジタル信号を伝達する信号線と、
前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、
前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合には異常と判定する異常判定手段と、
前記異常の有無の判定の直後に検出手段にクリア信号を入力するクリア信号入力手段と、
を備えるディジタル信号の異常検出装置。
【請求項４】
ディジタル信号を伝達する信号線と、前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を記憶してクリア信号が入力されるまで保持する目標値記憶手段と、前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、を備えるディジタル信号の異常検出方法であって、
（ａ）前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を前記目標値記憶手段が記憶するステップと、
（ｂ）前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して前記実際値記憶手段が記憶するステップと、
（ｃ）前記伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無と前記実際値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無とが一致しない場合には異常と判定するステップと、
（ｄ）前記ステップ（ｃ）の判定の直後にクリア信号を入力して前記目標値記憶手段及び前記実際値記憶手段の記憶した立ち上がりの有無及び立ち下がりの有無をクリアするステップと、
を含むディジタル信号の異常検出方法。
【請求項５】
ディジタル信号を伝達する信号線と、前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、を備えるディジタル信号の異常検出方法であって、
（ａ）前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して前記実際値記憶手段が記憶するステップと、
（ｂ）前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合には異常と判定するステップと、
（ｃ）前記ステップ（ｂ）の判定の直後にクリア信号を入力して前記実際値記憶手段の記憶した立ち上がりの有無及び立ち下がりの有無をクリアするステップと、
を含むディジタル信号の異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル信号の異常検出装置及びディジタル信号の異常検出方法に関する。
【背景技術】
【０００２】
従来、ＥＥＰＲＯＭに書込・読出等の制御を行う場合に、ノイズ等による不正な制御コマンドを検出する制御装置が知られている（例えば、特許文献１参照）。特許文献１に記載の制御装置は、第１の実施形態では、ＥＥＰＲＯＭへのクロック信号線と、クロック信号線をＣＰＵへ接続する割り込み線とを有しており、クロック信号を出力するときにフラグをセットし、クロック信号が割り込み線に入力されると割り込み処理によりフラグをクリアする。そして、フラグのセット時に既にフラグがセットになっていた場合や、フラグのクリア時に既にフラグがクリアになっていた場合には不正なクロック信号と判定している。また、第２の実施形態では、ＥＥＰＲＯＭへのクロック信号線と、クロック信号線と同じ信号を出力するチェック信号線とを有しており、クロック信号線の信号とチェック信号線の信号とが異なる場合には不正なクロック信号と判定し割り込み処理を行っている。
【特許文献１】特開２００６−２６０３２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１に記載の第１の実施形態では、クロック信号を出力するごとに割り込み処理が発生する。また、特許文献１に記載の第２の実施形態では、クロック信号線の信号とチェック信号線の信号との立ち上がり又は立ち下がりにスキューが発生すると不正なクロック信号と判定されてしまうため、それを防止するには立ち上がりの前後及び立ち下りの前後の一定期間にマスク処理を行う必要がある。したがって、特許文献１の第１の実施形態の割り込み処理中及び第２の実施形態のマスク処理中においては、ノイズ等による不正な制御コマンドを検出できないという問題がある。
【０００４】
本発明は、上述した課題に鑑みなされたものであり、不正な制御コマンド等の異常を検出できない期間をより短くし、より確実に異常を検出するディジタル信号の異常検出装置を提供することを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の主目的を達成するために以下の手段を採った。
【０００６】
本発明の第１のディジタル信号の異常検出装置は、
ディジタル信号を伝達する信号線と、
前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を記憶してクリア信号が入力されるまで保持する目標値記憶手段と、
前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、
前記伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無と前記実際値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無とが一致しない場合には異常と判定する異常判定手段と、
前記異常の有無の判定の直後に前記目標値記憶手段と前記実際値記憶手段とに前記クリア信号を入力するクリア信号入力手段と、
を備えるものである。
【０００７】
このディジタル信号の異常検出装置では、信号線に伝達されるディジタル信号がノイズ等の影響で不正な立ち上がり又は立ち下がりを有する場合、実際値記憶手段のみが不正な立ち上がり又は立ち下がりを検出して保持するため、異常判定手段が実際値記憶手段と目標値記憶手段とを比較することで異常有りと判定することができる。そして、実際値記憶手段は前の異常判定時から次の異常判定時までの間のいずれの時点で不正な立ち上がり又は立ち下がりが発生しても検出して保持するため、割り込み処理やマスク処理を行う場合に比べて異常を検出できない期間が短くなり、より確実にディジタル信号の異常を検出することができる。
【０００８】
本発明の第１のディジタル信号の異常検出装置において、前記信号線は、複数設けられており、前記目標値記憶手段は、前記複数の信号線にそれぞれ伝達すべきディジタル信号の立ち上がりの有無及び立ち下りの有無をそれぞれの信号線に対応付けて記憶し、クリア信号が入力されるまで保持する手段であり、前記実際値記憶手段は、前記複数の信号線におけるそれぞれのディジタル信号の立ち上がりの有無及び立ち下りの有無を検出してそれぞれの信号線に対応付けて記憶し、クリア信号が入力されるまで保持する手段であり、前記異常判定手段は、前記伝達すべきそれぞれのディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する信号線ごとの立ち上がりの有無及び立ち下りの有無と前記実際値記憶手段が保持する信号線ごとの立ち上がりの有無及び立ち下りの有無とが全て一致しない場合には異常と判定する手段であるものとしてもよい。こうすれば、立ち上がり時期と立ち下がり時期との間又は立ち下がり時期と立ち上がり時期との間が短いディジタル信号における判定時に全ての信号線のディジタル信号について異常の有無の判定を行うことになる。したがって、立ち上がり時期と立ち下がり時期との間又は立ち下がり時期と立ち上がり時期との間が長いディジタル信号についてノイズ等による不正な立ち上がり又は立ち下がりが発生した場合にもより早く異常を検出することができる。
【０００９】
本発明の第２のディジタル信号の異常検出装置は、
ディジタル信号を伝達する信号線と、
前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、
前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合には異常と判定する異常判定手段と、
前記異常の有無の判定の直後に検出手段にクリア信号を入力するクリア信号入力手段と、
を備えるものである。
【００１０】
このディジタル信号の異常検出装置では、異常判定手段は前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行うため、実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合にはノイズ等による不正な立ち上がり又は立ち下がりを検出しているものとして異常と判定することができる。そして、実際値記憶手段は前の異常判定時から次の異常判定時までの間のいずれの時点で不正な立ち上がり又は立ち下がりが発生しても検出して保持するため、割り込み処理やマスク処理を行う場合に比べて異常を検出できない期間が短くなり、より確実にディジタル信号の異常を検出することができる。
【００１１】
本発明の第１のディジタル信号の異常検出方法は、
ディジタル信号を伝達する信号線と、前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を記憶してクリア信号が入力されるまで保持する目標値記憶手段と、前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、を備えるディジタル信号の異常検出方法であって、
（ａ）前記信号線に伝達すべきディジタル信号の立ち上がりの有無及び立ち下がりの有無を前記目標値記憶手段が記憶するステップと、
（ｂ）前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して前記実際値記憶手段が記憶するステップと、
（ｃ）前記伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記目標値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無と前記実際値記憶手段が保持する立ち上がりの有無及び立ち下がりの有無とが一致しない場合には異常と判定するステップと、
（ｄ）前記ステップ（ｃ）の判定の直後にクリア信号を入力して前記目標値記憶手段及び前記実際値記憶手段の記憶した立ち上がりの有無及び立ち下がりの有無をクリアするステップと、
を含むものである。
【００１２】
このディジタル信号の異常検出方法では、信号線に伝達されるディジタル信号がノイズ等の影響で不正な立ち上がり又は立ち下がりを有する場合、実際値記憶手段のみが不正な立ち上がり又は立ち下がりを検出して保持するため、実際値記憶手段と目標値記憶手段とを比較することで異常有りと判定することができる。そして、実際値記憶手段は前の異常判定時から次の異常判定時までの間のいずれの時点で不正な立ち上がり又は立ち下がりが発生しても検出して保持するため、割り込み処理やマスク処理を行う場合に比べて異常を検出できない期間が短くなり、より確実にディジタル信号の異常を検出することができる。なお、このディジタル信号の異常検出方法は、上述したいずれかのディジタル信号の異常検出装置が備えている各種構成を備えていてもよいし、上述したいずれかのディジタル信号の異常検出装置における機能を実現するようなステップを追加しても良い。
【００１３】
本発明の第２のディジタル信号の異常検出方法は、
ディジタル信号を伝達する信号線と、前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して記憶し、クリア信号が入力されるまで保持する実際値記憶手段と、を備えるディジタル信号の異常検出方法であって、
（ａ）前記信号線におけるディジタル信号の立ち上がりの有無及び立ち下がりの有無を検出して前記実際値記憶手段が記憶するステップと、
（ｂ）前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行い、該判定時に前記実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合には異常と判定するステップと、
（ｃ）前記ステップ（ｄ）の判定の直後にクリア信号を入力して前記実際値記憶手段の記憶した立ち上がりの有無及び立ち下がりの有無をクリアするステップと、
を含むものである。
【００１４】
このディジタル信号の異常検出方法では、前記信号線に伝達すべきディジタル信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行うため、実際値記憶手段が立ち上がり及び立ち下がりを共に検出して保持している場合にはノイズ等による不正な立ち上がり又は立ち下がりを検出しているものとして異常と判定することができる。そして、実際値記憶手段は前の異常判定時から次の異常判定時までの間のいずれの時点で不正な立ち上がり又は立ち下がりが発生しても検出して保持するため、割り込み処理やマスク処理を行う場合に比べて異常を検出できない期間が短くなり、より確実にディジタル信号の異常を検出することができる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施の形態を図面に基づいて説明する。図１は、本実施形態であるコントローラ１０の概略を示す構成図である。
【００１６】
図１に示すように、コントローラ１０は、ＥＥＰＲＯＭ５０に送信する信号の異常を検出する異常検出部２０と、ＥＥＰＲＯＭ５０への書込・読出等の処理を実行するＣＰＵ４０とを備えている。また、コントローラ１０は、ＥＥＰＲＯＭ５０との同期をとるためのシステムクロック信号（以下、ＳＣＫ信号という）を伝達するＳＣＫ信号線１１，ＥＥＰＲＯＭ５０がコマンドを受け付けるようにするための選択信号（以下、ＣＳ信号という）を伝達するＣＳ信号線１２，ＥＥＰＲＯＭ５０へのコマンドや書込みデータ等を表すデータ出力信号（以下、ＤＯ信号という）を伝達するＤＯ信号線１３，ＥＥＰＲＯＭ５０に記憶されているデータ等を表すデータ入力信号（以下、ＤＩ信号という）を伝達するＤＩ信号線１４によってＥＥＰＲＯＭ５０と接続されている。
【００１７】
異常検出部２０は、信号線１１〜１３に伝達された信号の立ち上がり及び立ち下がりをそれぞれ検出するＳＣＫエッジ検出回路２１，ＣＳエッジ検出回路２２，ＤＯエッジ検出回路２３と、ＣＰＵ４０が信号線１１〜１３に伝達すべき信号をそれぞれ記憶するＳＣＫレジスタ３１，ＣＳレジスタ３２，ＤＯレジスタ３３とを備えている。また、異常検出部２０は信号線１１〜１３によってＥＥＰＲＯＭ５０と接続されており、バス１５によってＣＰＵ４０と接続されている。
【００１８】
エッジ検出回路２１，２２，２３は、図２（ａ）〜（ｃ）に示すように、それぞれフリップフロップ（以下、ＦＦという）６１〜６２，６３〜６４，６５〜６６を用いた回路として構成されている。まず、図２（ａ）のＳＣＫエッジ検出回路２１について説明する。ＳＣＫエッジ検出回路２１のＦＦ６１，６２は、ＳＣＫ信号線１１が接続されているＣＫ端子、電源Ｖｃｃの電圧によって常に値１の状態になっているＤ端子、検出線７１，７２によってそれぞれバス１５に接続されているＱ端子、バス１５を介してＣＰＵ３０から値１が入力されているＲ端子を備えている。ＳＣＫ信号線１１に伝達される信号が立ち上がると、ＦＦ６１のＤ端子に入力されている値１がＦＦ６１のＱ端子からＳＣＫ信号立ち上がり検出線（以下、ＳＣＫｐｏｓ検出線という）７１に出力され、その出力が保持される。ＳＣＫ信号線１１に伝達される信号が立ち下がると、ＦＦ６２のＤ端子に入力されている値１がＦＦ６２のＱ端子からＳＣＫ信号立ち下がり検出線（以下、ＳＣＫｎｅｇ検出線という）７２に出力され、その出力が保持される。また、ＣＰＵ４０からクリア信号としてＦＦ６１，６２のＲ端子に値０が入力されると、値０がＦＦ６１，６２のＱ端子から検出線７１，７２に出力される。ＣＳエッジ検出回路２２，ＤＯエッジ検出回路２３についても、回路構成は同様である。すなわち、ＣＳ信号が立ち上がるとＣＳエッジ検出回路２２のＦＦ６３のＱ端子から値１がＣＳ信号立ち上がり検出線（以下、ＣＳｐｏｓ検出線という）７３に出力され、ＣＳ信号が立ち下がるとＣＳエッジ検出回路２２のＦＦ６４のＱ端子から値１がＣＳ信号立ち下がり検出線（以下、ＣＳｎｅｇ検出線という）７４に出力される。また、ＤＯ信号が立ち上がるとＤＯエッジ検出回路２３のＦＦ６５のＱ端子から値１がＤＯ信号立ち上がり検出線（以下、ＤＯｐｏｓ検出線という）７５に出力され、ＤＯ信号が立ち下がるとＤＯエッジ検出回路２３のＦＦ６６のＱ端子から値１がＤＯ信号立ち下がり検出線（以下、ＤＯｎｅｇ検出線という）に出力される。そして、ＣＰＵ４０からのクリア信号としてＦＦ６３〜６６のＲ端子に値０が入力されると、値０が検出線７３〜７６に出力される。
【００１９】
ＳＣＫレジスタ３１，ＣＳレジスタ３２，ＤＯレジスタ３３は、ＣＰＵ４０が信号線１１〜１３に伝達すべきＳＣＫ信号，ＣＳ信号，ＤＯ信号の立ち上がりの有無及び立ち下がりの有無、すなわちＳＣＫｐｏｓ，ＳＣＫｎｅｇ，ＣＳｐｏｓ，ＣＳｎｅｇ，ＤＯｐｏｓ，ＤＯｎｅｇの値を記憶する。そして、バス１５を介してＣＰＵ４０からのクリア信号が入力されるまで保持する。例えば、ＣＰＵ４０がＳＣＫ信号を立ち上げ、ＤＯ信号を立ち下げる場合は、ＳＣＫレジスタ３１のＳＣＫｐｏｓの値を値１，ＤＯレジスタ３１のＤＯｎｅｇの値を１とする。
【００２０】
ＣＰＵ４０は、マイクロプロセッサとして構成されており、ＳＣＫ信号，ＣＳ信号，ＤＯ信号を信号線１１〜１３を介してＥＥＰＲＯＭ５０へ入力して情報の書込・読出のコマンドを実行することや、ＥＥＰＲＯＭ５０からＤＩ信号線１４を介してＤＩ信号を受け取って情報の読出を行うことができる。また、バス１５を介して異常検出部２０のレジスタ３１〜３３に値を記憶させることや、レジスタ３１〜３３に記憶された値及びエッジ検出回路２１〜２３が保持する値を取得して信号線１１〜１３におけるディジタル信号の異常の有無を判定することができる。異常の有無の判定については後述する。
【００２１】
次に、こうして構成されたコントローラ１０における、ディジタル信号の異常の有無の判定について説明する。図３は、ＣＰＵ４０によって実行される異常判定ルーチンのフローチャートである。この異常判定ルーチンは、ＥＥＰＲＯＭ５０へ読出・書込等を行うときに最初に実行される。また、読出・書込等のコマンドをＥＥＰＲＯＭ５０へ出力するにあたり、ＳＣＫ信号，ＣＳ信号，ＤＯ信号のいずれかの信号を立ち上げた時及び立ち下げた時にも実行される。
【００２２】
異常判定ルーチンが実行されると、ＣＰＵ４０は、まず、異常判定ルーチンが実行されてから時間Δｔが経過したか否かを判定する（ステップＳ１００）。時間Δｔは、ＳＣＫ信号の立ち上がりと立ち下がりとの周期より短い時間として設定されている。時間Δｔを経過したか否かは、例えば、ＳＣＫ信号の立ち上がり及び立ち下がりを基点とするディレイ回路を用いることにより判定することができる。ステップＳ１００で時間Δｔが経過していないときは、時間Δｔが経過するまでステップＳ１００の処理を繰り返し実行する。ステップＳ１００で時間Δｔが経過した場合は、信号線１１〜１３における信号の異常の有無を判定する（ステップＳ１１０）。判定は、レジスタ３１〜３３の値とエッジ検出回路２１〜２３の値とが信号ごとに一致しているか否かで行う。例えば、ＳＣＫレジスタ３１のＳＣＫｐｏｓの値とＳＣＫｐｏｓ検出線７１の値とが一致し、ＳＣＫレジスタ３１のＳＣＫｎｅｇの値とＳＣＫｎｅｇ検出線７２の値とが一致すれば、ＳＣＫ信号線１１に伝達された信号には異常がないと判定する。ステップＳ１１０で異常があると判定された場合には、現在実行しているＥＥＰＲＯＭ５０への読出・書込等の処理を中断する（ステップＳ１２０）。具体的には、現在ＥＥＰＲＯＭ５０へ出力している信号を全て値０とし、コマンドが出力されないようにする。そして、ステップＳ１２０の処理を実行した後又はステップＳ１１０で異常がないと判定された場合は、レジスタ３１〜３３及びエッジ検出回路２１〜２３にバス１５を介してクリア信号を入力して（ステップＳ１３０）、本ルーチンを終了する。
【００２３】
図４は、ＣＰＵ４０がＥＥＰＲＯＭ５０に信号を出力し、出力した信号が正常に信号線１１〜１３に伝達された場合の信号線１１〜１３及び検出線７１〜７６に出力される値の一例を示す説明図である。また、図５はそのときの時刻ｔ１〜ｔ１０におけるレジスタ３１〜３３が記憶している値と検出線７１〜７６から出力されている値との対応図である。なお、時刻ｔ０〜ｔ１間，ｔ２〜ｔ３間，ｔ４〜ｔ５間，ｔ６〜ｔ７間，ｔ８〜ｔ９間は、時間Δｔに等しい。すなわち、時刻ｔ０，ｔ２，ｔ４，ｔ６，ｔ８において前述の異常判定ルーチンが実行され、ステップＳ１１０の判定は時刻ｔ１，ｔ３、ｔ５、ｔ７、ｔ９で行われる。
【００２４】
図４において、時刻ｔ０でＥＥＰＲＯＭ５０へ信号を出力する処理が開始されたとすると、時刻ｔ１において、ＣＰＵ４０は異常の有無を判定する。時刻ｔ１では、ＣＰＵ４０はいずれの信号も立ち上げていないため、レジスタ３１〜３３に記憶されている値は全て０であり（図５参照）、ノイズ等による不正な信号が発生していないため検出線７１〜７６の値も全て０であるので、異常無しと判定する。また、ＣＰＵ４０は、異常の判定の直後にレジスタ３１〜３３及び検出線７１〜７６にクリア信号を入力して値をクリアする。続いて、時刻ｔ２において、ＣＰＵ４０はＣＳ信号を値１に立ち上げるとともに、ＣＳレジスタ３２のＣＳｐｏｓを値１とする（図５参照）。このときＣＳ信号が正常にＣＳ信号線１２に出力されれば、ＣＳエッジ検出回路２２によってＣＳｐｏｓ検出線７３が値１になる。そして、ＣＰＵ４０はＥＥＰＲＯＭ５０に次の信号を出力する前の時刻ｔ３において、異常の有無の判定を行う。時刻ｔ２〜時刻ｔ３までの間に不正な信号が発生していなければ、レジスタ３１〜３３に記憶されている値とエッジ検出回路２１〜２３の値とが信号ごとに一致するため（図５参照）異常無しと判定され、直後にレジスタ３１〜３３及び検出線７１〜７６にクリア信号を入力して値をクリアする。そして時刻ｔ４においてＣＰＵ４０はＤＯ信号を値１に立ち上げるとともに、ＤＯレジスタ３３のＤＯｐｏｓを値１とする（図５参照）。このときＤＯ信号が正常にＤＯ信号線１３に出力されれば、ＤＯエッジ検出回路２３によってＤＯｐｏｓ検出線７５が値１になる。以降同様にして、ＣＰＵ４０が信号線１１〜１３のいずれかの値を立ち上げまたは立ち下げる時刻であるｔ６，ｔ８，ｔ１０の前、すなわち時刻ｔ５，ｔ７，ｔ９に異常の判定を行い、異常が無ければＥＥＰＲＯＭ５０への信号の出力を続行し、ＥＥＰＲＯＭ５０は入力された信号に基づく読出・書込等の処理を実行する。
【００２５】
続いて、ノイズ等により不正な立ち下がり信号が発生した場合について説明する。図６は、ＣＰＵ４０がＥＥＰＲＯＭ５０に信号を出力し、時刻ｔ６１〜ｔ６２間においてノイズが発生した場合の信号線１１〜１３及び検出線７１〜７６に出力される値の一例を示す説明図である。また、図７はそのときの時刻ｔ１〜ｔ７におけるレジスタ３１〜３３が記憶している値と検出線７１〜７６から出力されている値との対応図である。時刻ｔ０〜ｔ６の間についてはノイズ等による不正な信号が発生していないため、図４及び図５と同じである。そして、時刻ｔ６１〜ｔ６２間において、ＣＰＵ４０はＳＣＫ信号として値１を出力しているがノイズの影響によってＳＣＫ信号線１１における信号が値０となっている。この場合、時刻ｔ６１においてＳＣＫ信号線１１に信号の立ち下がりが発生しているため、ＳＣＫエッジ検出回路２１によってＳＣＫｎｅｇ検出線７２が値１になる。そして、ＣＰＵ４０は時刻ｔ７において異常の有無を判定する。ＣＰＵ４０が時刻ｔ６でＳＣＫ信号のみを立ち上げているため、時刻ｔ７におけるレジスタ３１〜３３の値は、ＳＣＫレジスタ３１のＳＣＫｐｏｓの値が値１であり、他は値０である（図７参照）。一方、時刻ｔ７における検出線７１〜７６は、時刻ｔ６におけるＳＣＫ信号線１１の立ち上がり及び時刻ｔ６１におけるＳＣＫ信号線１１の立ち下がりによって、ＳＣＫｐｏｓ検出線７１及びＳＣＫｎｅｇ検出線７２のみが値１となっている。したがって、ＳＣＫレジスタ３１のＳＣＫｎｅｇの値とＳＣＫｎｅｇ検出線７２の値とが一致しないため、異常有りと判定する。ＣＰＵ４０は、異常有りと判定された直後にＳＣＫ信号，ＣＳ信号，ＤＯ信号を全て値０としてＥＥＰＲＯＭ５０への信号の入力を中断すると共に、レジスタ３１〜３３及び検出線７１〜７６にクリア信号を入力して値をクリアする。そしてＣＰＵ４０は、中断して一定時間経過後に再び最初から信号の入力を開始する。
【００２６】
ノイズ等により不正な立ち上がり信号が発生した場合について説明する。図８は、ＣＰＵ４０がＥＥＰＲＯＭ５０に信号を出力し、時刻ｔ８１〜ｔ８２間においてノイズが発生した場合の信号線１１〜１３及び検出線７１〜７６に出力される値の一例を示す説明図である。また、図９はそのときの時刻ｔ１〜ｔ９におけるレジスタ３１〜３３が記憶している値と検出線７１〜７６から出力されている値との対応図である。時刻ｔ０〜ｔ８の間についてはノイズ等による不正な信号が発生していないため、図４及び図５と同じである。そして、時刻ｔ８１〜ｔ８２間において、本来は値０であるはずのＤＯ信号線１３がノイズの影響によって値１となっている。この場合、時刻ｔ８１においてＤＯ信号線１３に信号の立ち上がりが発生しているため、ＤＯエッジ検出回路２３によってＤＯｐｏｓ検出線７５が値１になる。そして、ＣＰＵ４０は時刻ｔ９において異常の有無を判定する。ＣＰＵ４０が時刻ｔ８でＳＣＫ信号及びＤＯ信号を立ち下げているため、時刻ｔ９におけるレジスタ３１〜３３の値は、ＳＣＫレジスタ３１のＳＣＫｎｅｇ及びＤＯレジスタ３３のＤＯｎｅｇが値１であり、他は値０である（図９参照）。一方、時刻ｔ９における検出線７１〜７６は、時刻ｔ８におけるＳＣＫ信号線１１及びＤＯ信号線１３の立ち下がり及び時刻ｔ８１におけるＤＯ信号線１３の立ち上がりによって、ＳＣＫｎｅｇ検出線７２，ＤＯＰｏｓ検出線７５，ＤＯｎｅｇ検出線７６のみが値１となっている。したがって、ＤＯレジスタ３３のＤＯｐｏｓの値とＤＯｐｏｓ検出線７５の値とが一致しないため、異常有りと判定する。ＣＰＵ４０は、異常有りと判定された直後にＳＣＫ信号，ＣＳ信号，ＤＯ信号を全て値０としてＥＥＰＲＯＭ５０への信号の入力を中断すると共に、レジスタ３１〜３３及び検出線７１〜７６にクリア信号を入力して値をクリアする。そしてＣＰＵ４０は、中断して一定時間経過後に再び最初から信号の入力を開始する。
【００２７】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のレジスタ３１〜３３が目標値記憶手段に相当し、エッジ検出回路２１〜２３が実際値記憶手段に相当し、ＣＰＵ４０が異常判定手段及びクリア信号入力手段に相当する。なお、本実施形態はコントローラ１０の動作を説明することにより本発明のディジタル信号の異常検出方法の一例も明らかにしている。
【００２８】
以上詳述した本実施形態によれば、ＣＰＵ４０が伝達すべき信号の立ち上がりの有無及び立ち下がりの有無を記憶するレジスタ３１〜３３と実際に信号線１１〜１３に出力された信号の立ち上がり及び立ち下がりを検出して保持するエッジ検出回路２１〜２３とを比較することで異常の有無を判定することができる。エッジ検出回路２１〜２３は前の異常判定時から次の異常判定時までの間のいずれの時点で不正な立ち上がり又は立ち下がりが発生しても検出して保持するため、割り込み処理やマスク処理を行う場合に比べて異常を検出できない期間が短くなり、より確実にディジタル信号の異常を検出することができる。
【００２９】
また、ＣＰＵ４０が伝達すべき信号の立ち上がり時期の前及び立ち下がり時期の前に、ＣＰＵ４０は伝達すべきＳＣＫ信号，ＣＳ信号，ＤＯ信号の全てについて異常の有無を判定する。したがって、ＣＳ信号やＤＯ信号のように立ち上がり時期と立ち下がり時期との間又は立ち下がり時期と立ち上がり時期との間が長い信号についてノイズ等による不正な立ち上がり又は立ち下がりが発生した場合により早く異常を検出することができる。例えば、本実施形態は、時間Δｔが信号ごとに対応する異なる値として設定され、それぞれの信号を立ち上げる直前及び立ち下げる直前にその信号についてのみ異常の有無を判定するように時間Δｔを個別に設定してもよいが、その場合は図８の時刻ｔ９ではＳＣＫ信号についてのみ異常の有無を判定することになる。そのため時刻ｔ８１〜ｔ８２間のノイズは次にＤＯ信号を立ち上げる時期の前まで異常と判定されないことになる。このような場合と比較すると、ＳＣＫ信号の立ち上がり時期の前である時刻ｔ９でＤＯ信号についても異常の有無を判定するため、より早く異常を検出することができる。
【００３０】
さらにまた、ＳＣＫ信号の立ち上がりの直前及び立ち下がりの直前に信号線１１〜１３における信号の異常の有無の判定が行われるため、異常が発生した時刻の次のＳＣＫ信号の立ち上がり又は立ち下がりの前に異常を検出できる場合が多くなる。
【００３１】
なお、本発明は上述した各実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３２】
例えば、異常判定ルーチンは、時間Δｔ経過後に実行されるが、それぞれの信号について立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に異常の有無の判定を行うように設定すれば、時間Δｔはどのような値であってもよい。例えば、信号の立ち上がり時期と立ち下がり時期との間に異常判定ルーチンを複数回実行するように時間Δｔを設定してもよいし、信号ごとに異なる時間Δｔを設定して、信号ごとに異なるタイミングで異常の有無の判定を行うようにしてもよい。
【００３３】
上述した実施形態では、レジスタ３１〜３３の値とエッジ検出回路２１〜２３の値とを比較して異常の有無を判定しているが、異常の有無の判定は信号の立ち上がり時期と立ち下がり時期との間のいずれかの時期及び立ち下がり時期と立ち上がり時期との間のいずれかの時期に行っており、ノイズ等による不正な信号がなければ立ち上がり及び立ち上がりが共に検出されることはない。そこで、エッジ検出回路２１〜２３において、同じ信号の立ち上がり及び立ち下がりを共に検出している場合には異常有りと判定し、それ以外のときは異常無しと判定してもよい。こうすれば、レジスタ３１〜３３を用いずに異常の有無を判定できる。
【００３４】
上述した実施形態では、ＳＣＫ信号，ＣＳ信号，ＤＯ信号の３つについて異常の有無を判定しているが、異常の有無を判定するのは１つの信号だけとしてもよいし、ＥＥＰＲＯＭ５０に伝達すべき他の信号が有る場合にはそれについても異常の有無を判定してもよい。
【００３５】
上述した実施形態では、ＥＥＰＲＯＭ５０に送信する信号の異常を検出するコントローラ１０を例として説明したが、ディジタル信号の異常を検出するものであればどのようなものに適用してもよい。
【図面の簡単な説明】
【００３６】
【図１】本実施形態であるコントローラ１０の構成の概略を示す構成図。
【図２】エッジ検出回路２１〜２３の構成の概略を示す構成図。
【図３】ＣＰＵ４０が実行する異常判定ルーチンのフローチャート。
【図４】信号が正常に伝達された場合の各信号，検出線７１〜７６の値の説明図。
【図５】レジスタ３１〜３３の値及び検出線７１〜７６の値の対応図。
【図６】不正な信号が発生した場合の各信号，検出線７１〜７６の値の説明図。
【図７】レジスタ３１〜３３の値及び検出線７１〜７６の値の対応図。
【図８】不正な信号が発生した場合の各信号，検出線７１〜７６の値の説明図。
【図９】レジスタ３１〜３３の値及び検出線７１〜７６の値の対応図。
【符号の説明】
【００３７】
１０  コントローラ、１１  ＳＣＫ信号線、１２  ＣＳ信号線、１３  ＤＯ信号線、１４  ＤＩ信号線、１５  バス、２０  異常検出部、２１  ＳＣＫエッジ検出回路、２２  ＣＳエッジ検出回路、２３  ＤＯエッジ検出回路、３１  ＳＣＫレジスタ、３２  ＣＳレジスタ、３３  ＤＯレジスタ、４０  ＣＰＵ、５０  ＥＥＰＲＯＭ、６１〜６６  フリップフロップ（ＦＦ）、７１  ＳＣＫ立ち上がり検出線（ＳＣＫｐｏｓ検出線）、７２  ＳＣＫ立ち下がり検出線（ＳＣＫｎｅｇ検出線）、  ７３  ＣＳ立ち上がり検出線（ＣＳｐｏｓ検出線）、７４  ＣＳ立ち下がり検出線（ＣＳｎｅｇ検出線）、７５  ＤＯ立ち上がり検出線（ＤＯｐｏｓ検出線）、７６  ＤＯ立ち下がり検出線（ＤＯｎｅｇ検出線）。  
【図１】
2009211262.tif 000003
【図２】
2009211262.tif 000004
【図３】
2009211262.tif 000005
【図４】
2009211262.tif 000006
【図５】
2009211262.tif 000007
【図６】
2009211262.tif 000008
【図７】
2009211262.tif 000009
【図８】
2009211262.tif 000010
【図９】
2009211262.tif 000011