(57)【特許請求の範囲】
【請求項１】
データの送受信を制御するマスタデバイスと、該マスタデバイスとの間で送受信するデータを記憶するスレーブデバイスとの間でバスを介して送受信するバス信号を制御するバス信号制御回路であって、
前記バス信号制御回路は、前記バス信号の内前記バス信号制御回路と前記スレーブデバイスとを接続するアドレス線及び制御線を当該スレーブデバイスの受信端子に接続して、さらに当該バス信号制御回路の帰還端子に一筆書きで帰還接続したバス診断線と、
前記マスタデバイスの命令で前記スレーブデバイスとの間で書き込み、または、読み出しするデータの送受信を制御するメモリ制御部と、
前記バス信号制御回路から前記アドレス線及び前記制御線に出力した出力信号と前記バス診断線を介して前記帰還端子に帰還された帰還信号とを比較して、相違の有無を判定するバス信号異常処理部と
を備え、
前記メモリ制御部は、前記マスタデバイスの命令で前記スレーブデバイスに書きみ／読み出しする前記バス信号を制御するメモリ制御回路と、前記バス信号を送信するバスサイクルの基準クロック信号を生成する基準クロック信号発生回路と、前記基準クロック信号からバスサイクル信号を生成するバスサイクル周期カウンタ回路と
を備え、
前記バス信号異常処理部は、前記メモリ制御回路から送信したアドレス信号及び制御信号と、前記バス診断線から受信した帰還アドレス信号及び帰還制御信号とを夫々対応付けて比較するバス信号比較部と、
当該バス信号比較部で検出された相違あり期間の時間を測定し、当該相違あり期間が予め設定された前記スレーブデバイスの応答時間以上の場合に前記相違有り信号を出力するウエイト信号生成部と
を備え、
前記バスサイクル周期カウンタ回路は、前記バス信号異常処理部から相違有り信号を受信し、前記バスサイクル周期カウンタをリスタートして実行中の前記バスサイクル信号を当該相違あり期間分延長し、
前記メモリ制御回路は、延長された前記バスサイクル信号でデータの転送制御を継続実行するようにしたことを特徴とするバス信号制御回路。
【請求項２】
前記バス信号制御回路は、さらに、前記バス信号異常処理部から相違あり信号が出力された場合、この時の第１のアドレスデータを記憶する不正アドレスレジスタと、前記メモリ制御回路が次のバスサイクルでアクセスする、第２のアドレスデータと今回のバスサイクルで検出された前記第１のアドレスデータとを比較し、前記第１のアドレスデータと同じアドレスの書き込み命令が有る場合には、保存した前記第１のアドレスデータをクリアし、読み出し命令が有る場合には、この読み出し信号を無視する処理を実行するアドレス比較部とから成る不正アドレス処理部を備え、
前記第１のアドレスデータが、次のバスサイクルで使用されないようにした請求項１に記載のバス信号制御回路。
【請求項３】
前記不正アドレス処理部は、さらに、前記不正アドレスレジスタに記憶された不正アドレスデータが、予め設定された近傍のビット論理値である否かを判定する不正アドレスデータ判定部を備え、
前記不正アドレスデータ判定部の出力があった場合、前記不正アドレス判定部から前記メモリ制御回路に通知するようにした請求項２に記載のバス信号制御回路。
【請求項４】
データの送受信を制御するマスタデバイスと、該マスタデバイスとの間で送受信するデータを記憶するスレーブデバイスと、前記マスタデバイスからの命令に従って前記スレーブデバイスとの間でバスを介して送受信するバス信号を制御するバス信号制御回路とを備えた信号制御回路であって、
前記バス信号制御回路は、前記バス信号の内前記バス信号制御回路と前記スレーブデバイスとを接続するアドレス線及び制御線を当該スレーブデバイスの受信端子に接続して、さらに当該バス信号制御回路の帰還端子に一筆書きで帰還接続したバス診断線と、
前記マスタデバイスの命令で前記スレーブデバイスとの間で書き込み、または、読み出しするデータの送受信を制御するメモリ制御部と、
前記バス信号制御回路から前記アドレス線及び前記制御線に出力した出力信号と前記バス診断線を介して前記帰還端子に帰還された帰還信号とを比較して、相違の有無を判定するバス信号異常処理部と
を備え、
前記メモリ制御部は、前記マスタデバイスの命令で前記スレーブデバイスに書きみ／読み出しする前記バス信号を制御するメモリ制御回路と、前記バス信号を送信するバスサイクルの基準クロック信号を生成する基準クロック信号発生回路と、前記基準クロック信号からバスサイクル信号を生成するバスサイクル周期カウンタ回路と
を備え、
前記メモリ制御回路は、延長された前記バスサイクル信号でデータの転送制御を継続実行するようにし、
前記バス信号異常処理部は、前記メモリ制御回路から送信したアドレス信号及び制御信号と、前記バス診断線から受信した帰還アドレス信号及び帰還制御信号とを夫々対応付けて比較するバス信号比較部と、
当該バス信号比較部で検出された相違あり期間の時間を測定し、当該相違あり期間が予め設定された前記スレーブデバイスの応答時間以上の場合に前記相違有り信号を出力するウエイト信号生成部と
を備え、
前記バスサイクル周期カウンタ回路は、前記バス信号異常処理部から相違有り信号を受信し、前記バスサイクル周期カウンタをリスタートして実行中の前記バスサイクル信号を当該相違あり期間分延長し、
前記メモリ制御回路は、延長された前記バスサイクル信号でデータの転送制御を継続実行するようにしたことを特徴とするバス信号制御回路を備えた信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、例えばＣＰＵ等のマスタデバイスと、例えば記憶回路または入出力回路等のスレーブ回路との間で、バスを介して、データ、アドレス、及び制御信号の授受を実行するバス信号制御回路、及び、バス信号制御回路を備えた信号処理回路に関する。
【背景技術】
【０００２】
一般に、マイクロコンピュータはＣＰＵとメモリやペリフェラルＩ／Ｏで構成される。現在ではマイクロコンピュータ機器が多様な方面で利用されており、周囲環境の影響により機器が誤動作した場合の社会に与える影響が大きくなっている。このため、メモリの誤動作に対する保護に関してはさまざまな手法がとられている。
【０００３】
ＣＰＵ等のマスタデバイスとメモリ等のスレーブデバイスとのインタフェース信号線には、アドレスバス、データバス等のバス信号線と、及び、チップイネーブル、リード／ライト等の制御信号線とがある。
【０００４】
これらの信号線上にノイズ等が印加されるとデータエラーやアドレスエラーが発生し機器が誤動作することが懸念される。
【０００５】
一般に、これらの誤動作の対策として、データエラーについては、パリティビットの付加やＥＣＣによる誤り訂正が行われている。また、アドレスエラーに対してもパリティビットを付加することが行われている。
【０００６】
マスタデバイスとメモリとの物理的距離が離れている場合、例えば、印刷配線基板が異なりマザーボードによってこの間の配線を行っている場合には、マスタデバイスでパリティビットを付加し、メモリが搭載されている側の基板でアドレスやデータの情報を一時保存（ラッチ）してからパリティチェックを行い、アドレスエラーが検出されたときはメモリが搭載されている側の基板で、メモリへのアクセスを行わない等の手法がとられる。
【０００７】
また、一般に、アドレスエラーが発生する場合、リードアクセスに対しては同一のアドレスを複数回リードし、リードデータが一致することを確認することで不正アドレスから読み出したデータのリードを回避することも行なわれている。
【０００８】
さらに、ライトアクセスの際には、所望のアドレスデータがライト出来ない恐れがあるので、この場合の誤動作対策としては、ライトしたアドレスデータをリードバックすることで正常にライト出来たか否かをチェックして、もし、所望のデータがリードバックできなかった（リードバックエラーの）場合には、再度ライトする命令をＣＰＵによって指示して異常を回避する技術が開示されている（例えば、特許文献１参照。）。
【０００９】
また、バス信号のビット状態が一斉に変化することにより、バス信号内にノイズが発生しても、このノイズの影響によってバス信号が誤って認識されるの
を防止する、ＤＲＡＭのアドレスエラーの雑音の発生要因を抑制する信号制御回路技術がある（特許文献２参照。）。
【００１０】
この技術によれば、信号制御回路からダイナミックＲＡＭに向けて連続して出力される２つのアドレスとの間で比較を行い、制御信号を遅延させるので、ノイズの発生している期間を避けて、アドレス信号を読み込むことができる。従って、ダイナミックＲＡＭに対して誤ったアドレスが指定されるのを防止できるとしている。
【特許文献１】特開平１１−４５２１４号公報
【特許文献２】特開平１１−１６７５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に開示されたアドレスエラー処理は、そのいずれもがパリティチェックや、リードバックチェックによってバス異常を検出し、この検出されたアドレスエラーの情報を一旦メモリに記憶し、ＣＰＵがエラー処理プログラムを介して処理するので、エラー処理に少なくとも２ステップ以上の時間を要する問題がある。
【００１２】
さらに、マスタデバイスとメモリとの物理的距離が離れている場合、マスタデバイス（ＣＰＵ）側で送信したアドレスデータが、受信側のスレーブデバイス（メモリ）側で正しく受信できない場合には、本来ライトしようとしたアドレスにアドレスエラーが発生し、この不正なアドレスにデータをライトしてしまうと、ライトされたデータが、この不正なアドレスのメモリ上に潜在してしまうという問題がある。
【００１３】
特許文献２によれば、バス信号自身の動作によるアドレスエラーの原因と成るバス雑音を制御するには有効であるが、外来雑音の誘導によるアドレスエラーは制御することができない問題がある。
【００１４】
本発明は上述した課題を解決するためになされたものであり、信号処理回路のバスに誘導される雑音によって発生するアドレスエラーに対して、アドレスエラーを確実に検出し、高速でエラー処理を可能とするバス信号制御回路、及び、バス信号制御回路を備えた信号処理回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明によるバス信号制御回路は、データの送受信を制御するマスタデバイスと、該マスタデバイスとの間で送受信するデータを記憶するスレーブデバイスとの間でバスを介して送受信するバス信号を制御するバス信号制御回路であって、前記バス信号制御回路は、前記バス信号の内前記バス信号制御回路と前記スレーブデバイスとを接続するアドレス線及び制御線を当該スレーブデバイスの受信端子に接続して、さらに当該バス信号制御回路の帰還端子に一筆書きで帰還接続したバス診断線と、前記マスタデバイスの命令で前記スレーブデバイスとの間で書き込み、または、読み出しするデータの送受信を制御するメモリ制御部と、前記バス信号制御回路から前記アドレス線及び前記制御線に出力した出力信号と前記バス診断線を介して前記帰還端子に帰還された帰還信号とを比較して、相違の有無を判定するバス信号異常処理部とを備え、前記メモリ制御部は、前記マスタデバイスの命令で前記スレーブデバイスに書きみ／読み出しする前記バス信号を制御するメモリ制御回路と、前記バス信号を送信するバスサイクルの基準クロック信号を生成する基準クロック信号発生回路と、前記基準クロック信号からバスサイクル信号を生成するバスサイクル周期カウンタ回路とを備え、前記バス信号異常処理部は、前記メモリ制御回路から送信したアドレス信号及び制御信号と、前記バス診断線から受信した帰還アドレス信号及び帰還制御信号とを夫々対応付けて比較するバス信号比較部と、当該バス信号比較部で検出された相違あり期間の時間を測定し、当該相違あり期間が予め設定された前記スレーブデバイスの応答時間以上の場合に前記相違有り信号を出力するウエイト信号生成部とを備え、前記バスサイクル周期カウンタ回路は、前記バス信号異常処理部から相違有り信号を受信し、前記バスサイクル周期カウンタをリスタートして実行中の前記バスサイクル信号を当該相違あり期間分延長し、前記メモリ制御回路は、延長された前記バスサイクル信号でデータの転送制御を継続実行するようにしたことを特徴とする。
【００１６】
上記目的を達成するために、本発明によるバス信号制御回路を備えた信号処理回路は、データの送受信を制御するマスタデバイスと、該マスタデバイスとの間で送受信するデータを記憶するスレーブデバイスと、前記マスタデバイスからの命令に従って前記スレーブデバイスとの間でバスを介して送受信するバス信号を制御するバス信号制御回路とを備えた信号制御回路であって、前記バス信号制御回路は、前記バス信号の内前記バス信号制御回路と前記スレーブデバイスとを接続するアドレス線及び制御線を当該スレーブデバイスの受信端子に接続して、さらに当該バス信号制御回路の帰還端子に一筆書きで帰還接続したバス診断線と、前記マスタデバイスの命令で前記スレーブデバイスとの間で書き込み、または、読み出しするデータの送受信を制御するメモリ制御部と、前記バス信号制御回路から前記アドレス線及び前記制御線に出力した出力信号と前記バス診断線を介して前記帰還端子に帰還された帰還信号とを比較して、相違の有無を判定するバス信号異常処理部とを備え、前記メモリ制御部は、前記マスタデバイスの命令で前記スレーブデバイスに書きみ／読み出しする前記バス信号を制御するメモリ制御回路と、前記バス信号を送信するバスサイクルの基準クロック信号を生成する基準クロック信号発生回路と、前記基準クロック信号からバスサイクル信号を生成するバスサイクル周期カウンタ回路とを備え、前記バス信号異常処理部は、前記メモリ制御回路から送信したアドレス信号及び制御信号と、前記バス診断線から受信した帰還アドレス信号及び帰還制御信号とを夫々対応付けて比較するバス信号比較部と、当該バス信号比較部で検出された相違あり期間の時間を測定し、当該相違あり期間が予め設定された前記スレーブデバイスの応答時間以上の場合に前記相違有り信号を出力するウエイト信号生成部とを備え、前記バスサイクル周期カウンタ回路は、前記バス信号異常処理部から相違有り信号を受信し、前記バスサイクル周期カウンタをリスタートして実行中の前記バスサイクル信号を当該相違あり期間分延長し、前記メモリ制御回路は、延長された前記バスサイクル信号でデータの転送制御を継続実行するようにしたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、信号処理回路のバスに誘導される雑音によって発生するアドレスエラーに対して、アドレスエラーを確実に検出し、高速でエラー処理を可能とするバス信号制御回路、このバス信号制御回路を備えた信号処理回路を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の実施例を説明する。図１は、本発明の信号処理回路１００の全体構成を示す。
【００１９】
先ず、全体の構成を説明し、その後、各部の詳細構成と動作について説明する。ここでは、マスタデバイス１はＣＰＵで構成し、スレーブデバイス３はＳＲＡＭ等のメモリを１つまたは複数で構成し、このスレーブデバイス３へのデータの書き込み及び読み出しを、本発明のバス信号制御回路２によって、バスを介して実行する場合について説明する。
【００２０】
本信号処理回路１００の構成は、データの送受信を制御するマスタデバイス１と、該マスタデバイスとの間で送受信するデータを記憶するスレーブデバイス３と、マスタデバイス１からの命令に従って、スレーブデバイス３との間でバスを介して送受信するバス信号を制御するバス信号制御回路２とから成る。
【００２１】
次に、バス信号制御回路２の構成は、バス診断線４、メモリ制御部２１、エラーアドレス処理部２２、及びバス信号異常処理部２３とから成る。バス信号制御回路２とスレーブデバイス３とを接続するアドレス線及び制御線は、スレーブデバイス３の受信端子３１に接続される。バス診断線４は、受信端子３１からバス信号制御回路２の帰還端子２５に一筆書きで、帰還接続される信号線である。メモリ制御部２１は、マスタデバイス１の命令でスレーブデバイス３との間で書き込み、または、読み出しするデータの送受信を制御する。バス信号異常処理部２３は、メモリ制御部２１と、バス信号制御回路２からアドレス線及び制御線に出力した出力信号とバス診断線４を介して帰還端子２５に帰還された帰還信号とを比較して、相違の有無を判定するとともに、相違ありと判定された場合には、実行中のバスサイクル信号のバスサイクル期間を延長するためのウエイト信号を生成する。
【００２２】
さらに、不正アドレス処理部２２は、バス信号異常処理部２３から相違あり信号が出力された場合、この時の不正なアドレスデータを一時記憶する不正アドレスレジスタ２２ａと、次のバスサイクルで使用されないように、一時記憶されたアドレスと、次に実行する命令のアドレスと比較して、不正なアドレスのデータが使用されないように次命令を削除する信号を生成するアドレス比較部２２ｂとを備える。
【００２３】
次に、本発明のバス信号制御回路２の各部の構成について説明する。先ず、メモリ制御部２１は、マスタデバイス１の命令でスレーブデバイス３に書き込み、または、読み出しするバス信号を制御するメモリ制御回路２１ｃ、当該バス信号を送信するバスサイクルの基準クロック信号Ｃｋを生成する基準クロック信号発生回路２１ａと、基準クロック信号Ｃｋからバスサイクル信号ＴＣｋｂｃを生成するバスサイクル周期カウンタ回路２１ｂとを備える。
【００２４】
また、バス信号異常処理部２３は、バス信号制御回路２からアドレス線及び制御線に出力した出力信号とバス診断線４を介して帰還端子２５に帰還された帰還信号とを比較して、相違の有無を検出するバス信号比較部２３ａと、バス信号比較部２３ａの出力から、相違の有無を判定し、相違ありと判定された場合に、実行中のバスサイクル信号のバスサイクル期間を延長するためのウエイト信号を生成するウエイト信号生成部２３ｂとから成る。
【００２５】
次に、図２を参照して、バス診断線４について説明する。図２に示す信号処理回路１００の実装形態は、マスタデバイス１、バス信号制御回路２、及びスレーブデバイス３が、一つのチップ上に搭載される場合や、異なるプリント基板上に搭載される場合などがある。
【００２６】
この場合、バス診断線４は、チップ上のパターンであったり、基板間のワイヤ配線であったりする。例えば、スレーブデバイス３のメモリがＳＲＡＭ（Static Random Access Memory）の場合、アドレス線、制御線、データ線は、多数の線で構成されるが、バス診断線４は、受信端子３１から帰還端子２５までの信号線で、アドレス線、制御線及びバス診断線４は、送信端子２４、受信端子３１を経由して帰還端子２５に一筆書きで敷設される様にして置く。
【００２７】
図２（ａ）に示す信号の記号は、汎用のＳＲＡＭの場合の記号を示し、アドレス線で送信される信号記号をＡｄｄ＊で示し、ＳＲＡＭに書き込み、または、読み出しする場合の制御線で送信された信号記号をＣＥ１、ＣＥ２、Ｒ／Ｗ、ＯＥ、ＵＢ、ＬＢで示し、バー記号を付したものはその信号が逆論理（アクティブロー）であることを示す。制御信号Ｒ／Ｗは、リード信号ライト信号を示す。信号Ｒ／Ｗがローレベルのとき、アウトプットイネーブル信号ＯＥのアクティブ（ローレベル）はリード信号を示し、インアクティブ（ハイレベル）はライト動作を示す。
【００２８】
そして夫々の記号は、通常、メーカのデータブックなどに記載されているもので、本発明の説明に必要な箇所については、都度説明するものとする。
【００２９】
但し、バス信号制御回路２の内部での信号と、該送信された信号をバス診断線４で帰還する帰還信号とは、帰還信号の記号の頭にＦＢを付して識別する。
【００３０】
即ち、図２（ｂ）に示すように、送信端子２４から受信端子３１への信号線を実線で、受信端子３１を経由して帰還端子２５に同じ信号が帰ってくる帰還信号線を一点破線で夫々示し、スレーブデバイス３が複数のメモリ３ａ、３ｂ、３ｃで構成される場合でも、これらを一筆書きで、且つ送受信する信号線を隣り合わせてこのバス診断線４に外来の雑音が誘導されにくいように敷設する。
【００３１】
本発明では、送信した信号と帰還した信号を、送信側のバス信号異常処理部２３上で比較して、正常な送信であったか否かを判定する。
【００３２】
次にこのように構成された、本発明の動作原理について、図１及び図３を参照して説明する。図３（ａ）は、本発明のバス信号制御回路２で生成される信号のタイムチャートを示す。
【００３３】
バスサイクル信号ＴＣｋｂｃは、基本クロック信号Ｃｋの１０カウント分をバスサイクルとして、マスタデバイス１のＣＰＵの命令信号Ｏに対するバスサイクルが、バス信号制御回路２１で設定される。
【００３４】
このバスサイクルで、予め設定されたアドレス信号Ａｄｄｒｅｓｓ、制御信号（ここでは、チップイネーブル信号ＣＥａ／ＣＥｂ、書き込み、または、読み出し信号Ｒ／Ｗ、ＵＢ、ＬＢ）が、カウンタ回路２１ｂの値（バスサイクルの値）に応じて生成される。
【００３５】
ところが、図３（ｂ）に示すように、送信したバス信号と、帰還したバス信号の対応するビットの何れかに相違が検出された場合、バス信号異常処理部２３でウエイト信号Ｗｓが生成され、メモリ制御部に２１に通知される。
【００３６】
すると、メモリ制御部２１検出されたタイミングで起動していたバスサイクルをリセットし、実行していたバスサイクルをリスタートさせ、実行中のバスサイクルを期間Ｔｗ分延長する。
【００３７】
即ち、バス信号の異常を、送信端の信号と帰還端子で受信した信号との相違から検出し、検出したタイミングでバスサイクルを延長する。このバスサイクルの延長によって、雑音によってアドレスエラーが発生した場合でも、影響を受けたタイミングからバスサイクルをリスタートして延長し、アドレスが正しい値に整定されたと想定されるタイミングで動作させる。
【００３８】
次に、本発明のバス制御信号回路２の詳細な説明をする。先ず、バス信号異常処理部２３について、図４乃至図７を参照して説明し、次に、不正アドレス処理部２２について図８及び図９を参照して説明する。
【００３９】
図４において、バス信号異常処理部２３は、メモリ制御回路２１ｃから送信したアドレス信号及び制御信号と、バス診断線４からＩ／Ｏバッファ２３ｃを介して受信した帰還信号（帰還アドレス信号（ＦＢ_Ａｄｄ＊）及び帰還制御信号（ＦＢ＿・・・））を、夫々を対応付けて比較するバス信号比較部２３ａと、バス信号比較部２３ａで検出されたパルス信号のパルス幅時間を測定し、当該パルス幅時間が予め設定されたスレーブデバイス３の感応時間（sensitivity）以上の場合に、相違有り信号を出力するウエイト信号生成部２３ｂとから成る。
【００４０】
次に、このバス信号異常処理部２３の各部の詳細な構成について説明する。バス信号比較部２３ａは、アドレスエラーを検出するバス信号比較部Ａ２３ａ１と、制御信号のエラーを検出するバス信号比較部Ｂ２３ａ２とを備える。
【００４１】
ウエイト信号生成部２３ｂは、バス信号比較部Ａ２３ａ１の出力、即ち、アドレスエラーに対応する相違あり信号（以下、不一致パルス信号Ｃｏｓａと言う）のパルス幅を計測する時間計測部２３ｂ１、その不一致パルス信号Ｃｏｓａをラッチするラッチ回路２３ｂ３、及び、この時間計測部２３ｂ１の出力Ｗｍａとラッチ回路２３ｂ３の出力Ｌｏａとを受信して、ウエイト信号Ｗｓａを生成するウエイト生成回路Ａ２３ｂ５とから成る。
【００４２】
さらに、ウエイト信号生成部２３ｂは、バス信号比較部Ｂ２３ａ２の出力、即ち、制御エラーに対応する相違あり信号（以下、不一致パルス信号Ｃｏｓｂと言う）のパルス幅を計測する時間計測部２３ｂ２、その不一致パルス信号Ｃｏｓｂをラッチするラッチ回路２３ｂ４、及び、この時間計測部２３ｂ２の出力Ｗｍｂとラッチ回路２３ｂ４の出力Ｌｏｂとを受信して、ウエイト信号Ｗｓｂを生成するウエイト信号生成回路Ｂ２３ｂ６とから成る。
【００４３】
さらに、夫々のウエイト信号生成回路２３ｂ５及びウエイト信号生成回路２３ｂ６の出力信号を合成してウエイト信号Ｗｓを生成するウエイト信号合成回路２３ｂ７とから成る。
【００４４】
次に、このように構成された、バス信号異常処理部２３の動作について図５を参照して説明する。一般に、従来のバス信号制御回路では、図５（ａ）のタイムチャート（但し、チップイネーブルＣＥ等の本願説明に不要な他の制御信号は省略している。）に示すように、送信されたバスのアドレス信号（Ａｄｄ＊）に雑音が重畳し、この時のバスサイクルのタイミングで書き込み、または、読み出し（Ｒ／Ｗ）信号が発生すると、この時のデータ（Ｄｉｎ）は不正なアドレスに書き込み（または、不正なアドレスから読み出し）される。
【００４５】
ところが、図５（ｂ）に示すように、本発明の構成によれば、バス診断線４のアドレス信号（ＦＢ＿Ａｄｄ＊）に雑音が重畳した場合、バス信号比較部Ａ２３ａ１でアドレス信号（ＦＢ＿Ａｄｄ＊）と送信したＡｄｄｒｅｓｓ信号とが比較されるので、その相違があれば不一致パルス信号Ｃｏｓａとして出力される。
【００４６】
図５（ｂ）の下部のタイムチャートは、この不一致パルス信号Ｃｏｓａを検出した後のＡ部の動作を拡大して示したものである。
【００４７】
詳細には、バス信号比較部Ａ２３ａ１では、メモリ制御部２１から出力したアドレスバス信号（Ａｄｄｒｅｓｓ）とバス診断線４を経由して帰還したアドレスバス信号（ＦＢ＿Ａｄｄｒｅｓｓ）とを１ビットごとに比較し、複数ビットにより構成されるアドレスバスのどれか１ビットでも不一致が検出されたときに不一致パルス信号Ｃｏｓａを出力する。
【００４８】
即ち、ＦＢ＿Ａｄｄｒｅｓｓ信号は、メモリ制御部２１から送信したＡｄｄｒｅｓｓ信号をそのままバス診断線４を介してフィードバックした信号であるので、基本的には同一の論理を持っているが、比較結果に不一致が生じるということは、このアドレスバスに何らかの理由で雑音等が印加され、論理レベルが変化したと考えられる。
【００４９】
ところで、図６に示すように、帰還された比較される信号は、配線長の相違によってわずかなずれが生じるため、バスサイクルＴＣｋｂｃ信号のパルス幅の区間では不一致が発生する。
【００５０】
したがって、バス信号比較部２３ａでは、メモリ制御部２１から出力したバスサイクル信号ＴＣｋｂｃで示される区切り部分について、所定の遅延時間分の間の論理の不一致をマスクするマスク信号Ｍｋをメモリ制御部２１で生成して除外するようにしておく。
【００５１】
そして、不一パルス信号Ｃｏｓａが出力されると、時間計測部Ａ２３ｂ１では、この不一致パルス信号Ｃｏｓａが所定のパルス幅以上である否かを計測し、ラッチ回路２３ｂ１ではこの不一致パルス信号Ｃｏｓａをラッチして、その信号をＬｏａとして出力する。
【００５２】
また、時間計測部Ａ２３ｂ１とラッチ回路２３ｂ３との出力は、バスサイクルの開始時点でリセットしそのバスサイクルの間に不一致パルス信号Ｃｏｓａが検出されるかどうかを監視する。
【００５３】
ラッチ回路２３ｂ３は、夫々のバスサイクルの期間に不一致パルス信号Ｃｏｓａが検出されたことを保持（出力Ｌｏａ）し、時間計測部Ａ２３ｂ１は不一致パルス信号Ｃｏｓａが生じている時間を計測して所定の時間、即ち、スレーブデバイス３の感応時間以上継続したときに信号Ｗｍａを出力する様にしておく。
【００５４】
したがって、このパルス時間計測のためのクロック信号Ｃｋｃは、基準クロック信号Ｃｋよりも高い周波数の信号を備える。
【００５５】
そしてウエイト信号生成回路２３ｂ５では、当該バスサイクルがライトサイクル（ＷＡＢ：Ｌｏｗ）であり、当該バスサイクルにおいて時間計測部Ａ２３ｂ１からの出力Ｗｍａ（Ｈｉｇｈ）が生じている場合に、クロック信号Ｃｋの１周期の期間にウエイト信号Ｗｓａを出力する。
【００５６】
または、当該バスサイクルがライトサイクルであり、当該バスサイクルにおいて、出力Ｌｏａ、および、出力Ｗｍａが生じている場合にウエイト信号Ｗｓａを出力するようにしても良いが、ラッチ回路２３ｂ３は、過剰な不一致検出しを防止するために、一致パルス信号Ｃｏｓが生じているパルス時間を計測して、所定のパルス幅以上を不一致とするのが望ましい。
【００５７】
そして、ウエイト信号合成回路２３ｂ７からウエイト信号Ｗｓをメモリ制御部２１ｃに送信し、メモリ制御部２１ｃはウエイト信号Ｗｓに応答して、当該バスサイクルをＴｗｓの期間延長する。
【００５８】
同様に、バス信号異常処理部２３は、制御信号の方に雑音が重畳した場合にも、同様の構成で処理することが出来る。
【００５９】
この制御信号に不一致が検出された場合の詳細な動作について、図７を参照して説明する。バス信号異常処理部２３は、制御信号に雑音が重畳した場合にも、上記と同様の構成でエラー処理をすることができる。バス信号異常処理部２３は、スレーブデバイス３に対して出力する制御信号であるＣＥａ（ＣＥ１）、ＣＥｂ（ＣＥ２）、及びＷｒｉｔｅと、バス診断線４を介してフィードバックしたＦＢ_ＣＥａ（ＦＢ_ＣＥ１）、ＦＢ_ＣＥｂ（ＦＢ_ＣＥ２）、及び、ＦＢ_Ｒｅａｄ／Ｗｒｉｔｅ（ＦＢ_Ｒ／Ｗ）と、バスサイクルの開始と終了を示すバスサイクル信号ＴＣｋｂｃとを入力し、バス信号比較部Ｂ２３ａ２で相違を比較する。
【００６０】
図７は、ライトサイクルにおいて、チップイネーブル信号ＣＥ１及びＣＥ２に雑音が重畳した場合を図示している。アドレスエラー同様に、この制御信号のエラーは、バス信号比較部Ｂ２３ａ２で相違を検出され、不一致パルス信号Ｃｏｓｂのパルス幅を計測する時間計測部２３ｂ２の出力Ｗｍｂと、ラッチ回路２３ｂ４の出力Ｌｏｂがウエイト信号生成回路Ｂ２３ｂ６に入力され、ここで、ウエイト信号ＷｓｂがクロックＣｋの１周期間生成される。
【００６１】
そして、ウエイト信号合成回路２３ｂ７からウエイト信号Ｗｓをメモリ制御部２１ｃに送信し、メモリ制御部２１ｃは、当該バスサイクルをＴｗｓの期間延長する。
【００６２】
以上説明したように、本バス信号異常処理部２３によれば、メモリ制御部２１から送信したアドレス信号とバス診断線４を経由して帰還したアドレス信号とを比較してアドレスエラーを検出し、当該バスサイクルを延長するので、正当でないアドレスにライト、または、正当でないアドレスからリードしてしまう事象の発生頻度を低減することができる。
【００６３】
また、アドレスエラー発生時と同様に、制御信号（チップセレクトＣＥやリードライト信号Ｒ／Ｗ、ＵＢ、ＬＵ
）にノイズなどが重畳して正当でないアクセスを行ってしまう事象についても発生頻度を低減することが可能である。
【００６４】
また、アドレス信号の不一致時間を計測し、スレーブデバイス３が感応する時間以下であった場合は、これを無視する時間計測部を備えたので、不必要なバスサイクルの延長を回避することが可能である。
【００６５】
次に、不正アドレス処理部２２の詳細について図８及び図９を参照して説明する。不正アドレス処理部２２は、バス信号異常処理部２３でアドレスエラーを検出した場合、メモリ制御部２１でこのアドレスに潜在する不正なデータの読み出しを防止する機能を備える。
【００６６】
不正アドレス処理部２２の構成は、バス信号異常処理部２３から相違あり信号Ｃｏｓａが出力された場合、この時のアドレスデータの複数を記憶する不正アドレスレジスタ２２ａとアドレス比較部２２ｂとから成る。
【００６７】
そして、アドレス比較部２２ｂは、図８に示すように、比較部２２ｂ１及び処理部２２ｂ２とから成る。比較部２２ｂ１は、メモリ制御回路２１が次のバスサイクル以降のバスサイクルでアクセスする、アドレスデータ「次Ａｄｄ」と不正アドレスレジスタ２２ａに記憶された今回のバスサイクルで検出されたアドレスデータＥＡｄｄとを比較する。処理部２２ｂ２は、比較部２２ｂ１が次のバスサイクル以降のバスサイクルでアドレスＥＡｄｄと同じアドレスに書き込み命令が有ることを検出した場合に、記憶した不正アドレスレジスタ２２ａのアドレスデータＥＡｄｄをクリアするクリア信号Ｒｃｌを生成する。
また、処理部２２ｂ２は、次のバスサイクル以降のバスサイクルでアドレスＥＡｄｄと同じアドレスに読み出し命令が有ることを検出した場合には、この読み出し信号の削除を要求する次命令リードディセーブル信号Ｄｓｅをメモリ制御部２１に送る。
【００６８】
このように構成された不正アドレス処理部２２の動作について、図９のタイムチャートを参照して説明する。先ず、この不正アドレスレジスタ２２ａに書き込むための補捉パルス信号ＣａｔｃｈＰを生成するウエイト信号生成部２３ｂについて説明する。
【００６９】
ウエイト信号生成部２３ｂは、アドレスエラーからこの補捉パルス信号ＣａｔｃｈＰ（ａ）生成するウエイト信号生成回路Ａ２３ｂ５と、制御信号エラーから補捉パルス信号ＣａｔｃｈＰ（ｂ）生成するウエイト信号生成回路Ａ２３ｂ６とがある。
【００７０】
いずれの動作も同様であるので、アドレスエラーが検出された場合のウエイト信号生成回路２３ｂ５の動作について、再び、図４並びに図９のタイムチャートを参照して説明する。
【００７１】
図９は、ライト信号Ｗの立ち上がりエッジ付近の期間で、アドレス信号ＦＢ_Ａｄｄｒｅｓｓにノイズが検出され、ウエイト信号Ｗｓａの発生以前にライト信号が立ち上がった場合を示す。この場合スレーブデバイス（ＳＲＡＭ）３の間違ったアドレスにデータが書き込まれる可能性がある。
ウエイト信号生成回路２３ｂ５は、メモリ制御部２１からリード／ライトサイクル信号ＲＡＢ／ＷＡＢ信号、基本クロック信号Ｃｋ、また、時間計測部２３ｂ１からの出力信号Ｗｍａ、ラッチ回路２３ｂ３のラッチ出力信号Ｌｏａ並びにバス信号比較部Ａ２３ａ１の不一致パルス信号Ｃｏｓａを入力する。
【００７２】
リード／ライトサイクル信号ＲＡＢ／ＷＡＢは、当該バスサイクルがライトサイクルか、リードサイクルかを示し、ともに１バスサイクルにおいて変化しない信号である。不一致パルス信号Ｃｏｓａは、基本的にそのままウエイト信号生成回路Ａ２３ｂ５を通過し、補捉パルス信号ＣａｔｃｈＰ（ａ）として出力される。
【００７３】
バス信号比較部Ａ２３ａ１は，アドレス信号Ａｄｄｒｅｓｓと帰還アドレス信号ＦＢ_Ａｄｄｒｅｓｓ間に不一致を検出すると不一致信号Ｃｏｓａを出力する。ＦＢ_Ａｄｄｒｅｓｓは、複数本の信号線により構成されるアドレスバスにより伝送される信号であるから、バースト的なノイズが微妙なタイミング差で複数本のアドレス線に重畳されることがある。その場合、図９（ａ）のように、複数の不一致信号Ｃｏｓａが発生する。
したがって、ウエイト信号生成回路２３ｂ５は、図９（ａ）に示すように複数の補捉パルス信号ＣａｔｃｈＰ（ａ）が出力されるので、複数の補捉パルス信号ＣａｔｃｈＰ（ａ）を出力する。
この時、バス信号比較部Ａ２３ａ１に入力された、信号ＦＢ_Ａｄｄｒｅｓｓは、補捉パルス信号ＣａｔｃｈＰ（ａ）に応答して不正アドレスレジスタＡ２２ａに書き込まれる。この例では、複数の補捉パルス信号ＣａｔｃｈＰ（ａ）が出力されているので、複数の不正なアドレスが数不正アドレスレジスタＡ２２ａに書き込まれる。
【００７４】
次に、不正アドレスレジスタＡ２２ａは、複数のレジスタから構成され、ＦＢ＿Ａｄｄｒｅｓｓと、補捉パルス信号ＣａｔｃｈＰ（ａ）とクリア信号Ｒｃｌを入力し、補捉パルス信号ＣａｔｃｈＰ（ａ）の、例えば立ち上がりエッジで、ＦＢ＿Ａｄｄｒｅｓｓの値を記憶する。また、不正アドレスレジスタ２２ａは、図９（ａ）のタイムチャートに示すようなクリア信号Ｒｃｌによって指定されたレジスタの内容がリセットされる。
【００７５】
アドレス比較部２２ｂは、メモリ制御部２１が、ウエイト信号生成部２３から補捉パルス信号ＣａｔｃｈＰ（ａ）を受信した後、メモリ制御部２１が、次ぎのバスサイクルｎ−１でアクセスを行うときのアドレスデータ「次Ａｄｄ」を入力する。また、アドレス比較部２２ｂは、メモリ制御部２１が、次ぎのバスサイクルでリードまたはライトのどちらのアクセスを行うかを示す次ＲＡＢ／ＷＡＢ信号と、不正アドレスレジスタ２２ａから出力される１つまたは複数の不正アドレス値ＥＡｄｄとを入力する。
アドレス比較部２２ｂは、「次Ａｄｄ」と１つまたは複数の不正アドレス値ＥＡｄｄとを比較して、「次Ａｄｄ」と不正アドレス値ＥＡｄｄのどれか１つが一致した場合で、且つ、次のアクセスサイクルがリードアクセスであった場合は、図９（ａ）のタイムチャートに示すような次命令リードディセーブル信号Ｄｓｅをメモリ制御部２１に出力する。
また、アドレス比較部２２ｂは、次Ａｄｄと不正アドレス値ＥＡｄｄのどれか１つが一致した場合で、かつ、次のアクセスサイクルがライトサイクルであった場合は、図９（ａ）のタイムチャートに示すようなクリア信号Ｒｃｌを不正アドレスレジスタ２２ａに保存された対応するエラーアドレス情報をリセットする。
【００７６】
従って、不正アドレスレジスタ２２ａに保存されたアドレスと同じアドレスにライトアクセスがある場合は、潜在した不正データは正しいライトアクセスによってデータが更新され、アドレス比較部２２ｂは、不正アドレスレジスタ２２ａに保存された対応する不正アドレス情報をリセットする。
【００７７】
また、アドレス比較部２２ｂは、不正アドレスレジスタ２２ａに保存された複数のアドレスのうち１つと同じアドレスにリードアクセスがある場合は、潜在した不正データをリードする恐れがあるのでそれをメモリ制御部２１に通知する。
【００７８】
また、マスタデバイスと１スレーブデバイス３とは、レイアウト空間が相違するため、不正アドレスレジスタ２２ａに保存されたアドレスと、実際にスレーブデバイス３に書き込まれたアドレスとが異なる場合が想定される。
【００７９】
このため、保存された不正アドレスとビットの論理が近傍であるアドレスのデータは疑わしいものとしてメモリ制御部２１に通知する、図示しない不正アドレス判定部（図示しない）を備える様に構成し、（不正アドレスレジスタ２２ａに記憶された）不正にライトしてしまった恐れのあるアドレス値に近いアドレスがアクセスされる場合、潜在した誤データのリードに対してアラームを出力することもできる。
【００８０】
本発明は、上述した実施例に何ら限定されるものではなく、スレーブデバイスは、ＳＲＡＭの限定するものでなく、バスサイクルを延長するものであればＤＲＡＭであっても良く、また、マスタデバイスとスレーブデバイスの規模、サイズ、デバイスの応答スピードにより、最適なバス診断線を敷設し、本発明の主旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００８１】
【図１】本発明のバス信号制御回路のブロック構成図。
【図２】本発明の信号処理回路のバス診断線の実施例。
【図３】本発明のバス信号処理回路の検出原理とその動作を説明する図。
【図４】本発明のバス信号制御回路の詳細構成図。
【図５】本発明のバス信号異常処理部の動作を説明する図。
【図６】本発明のバス信号異常処理部のマスク信号の動作を説明する図。
【図７】本発明のバス信号異常処理部の他の動作を説明する図。
【図８】本発明の不正アドレス処理部の構成を説明する図。
【図９】本発明の不正アドレス処理部の動作を説明する図。
【符号の説明】
【００８２】
１  マスタデバイス
２  バス信号制御回路
３  スレーブデバイス
４  バス診断線
５  バスデータ配線
２１  メモリ制御部
２１ａ  基準クロック発生回路
２１ｂ  バスサイクル周期カウンタ
２１ｃ  メモリ制御回路
２２  不正アドレス処理部
２２ａ  不正アドレスレジスタ
２２ｂ  アドレス比較部
２３  バス信号異常処理部
２３ａ  バス信号比較部
２３ｂ  ウエイト信号生成部
２４  送信端子
２５  帰還端子
３１  受信端子
１００  信号処理回路
【図１】
0005350677.tif 000002
【図２】
0005350677.tif 000003
【図３】
0005350677.tif 000004
【図４】
0005350677.tif 000005
【図５】
0005350677.tif 000006
【図６】
0005350677.tif 000007
【図７】
0005350677.tif 000008
【図８】
0005350677.tif 000009
【図９】
0005350677.tif 000010