図1は、データ処理装置の構成の一例を示す図である。
データ処理装置は、第1のデータ処理装置1と、第2のデータ処理装置2と、これらの間を接続するケーブル3A〜3Dとを含む。第1のデータ処理装置1及び第2のデータ処理装置2は、相互にデータの転送を行う。ケーブル3A〜3Dは、例えば、双方向にシリアル伝送を行う光ファイバケーブルである。ケーブル3A〜3Dは、第2のデータ処理装置2に設けられた複数の通信ポートに接続される。
図1においては、第1のデータ処理装置1が第2のデータ処理装置2へ信号を送信し、第2のデータ処理装置2が第1のデータ処理装置1から送信された信号を受信する。換言すれば、図1は、第1のデータ処理装置1が送信装置であり、第2のデータ処理装置2が受信装置である場合について示す。
なお、前述したように、第2のデータ処理装置2も第1のデータ処理装置1へ信号を送信し、第1のデータ処理装置1が第2のデータ処理装置2から送信された信号を受信する。第1のデータ処理装置1及び第2のデータ処理装置2は、共に、信号を送受信する送受信装置である。従って、第1のデータ処理装置1は、第2のデータ処理装置2と同様の構成を含む。
第2のデータ処理装置2は、複数の受信回路10A〜10D、複数の監視回路20A〜20D、1個のリセット制御回路30、1個の信号処理部40を含む。受信回路10A〜10Dは、ケーブル3A〜3Dに対応して、換言すれば、第2のデータ処理装置2の複数の通信ポートの各々に対応して、設けられる。監視回路20A〜20Dは、受信回路10A〜10Dに対応して設けられる。なお、複数の受信回路10A〜10Dと複数の監視回路20A〜20Dとで、受信処理部50を構成する。
受信回路10A〜10Dが、第1のデータ処理装置1からの信号のみでなく、第1のデータ処理装置1以外の種々のデータ処理装置からの信号を受信するようにしても良い。換言すれば、ケーブル3A〜3Dが、各々、異なるデータ処理装置に接続されるようにしても良い。また、複数のデータ処理装置が、図7(D)に示すように、相互に接続される場合において、各々のデータ処理装置に図1に示す受信処理部50及びリセット制御回路30が設けられるようにしても良い。
受信回路10A〜10Dは、ケーブル3A〜3Dを介して、第1のデータ処理装置1から送信された信号を受信し、受信した信号についての受信処理を実行し、当該信号処理の結果を信号処理部40に出力する。
信号処理部40は、受信回路10A〜10Dから受信した信号についてのデータ処理を実行する。換言すれば、信号処理部40は、受信回路が受信した信号を処理する信号処理部である。
監視回路20A〜20Dは、例えば、受信回路10A〜10Dを伝送される信号を取込み、取込んだ信号に基づいてリセット信号を形成し、リセット制御回路30へ出力する。具体的には、監視回路20A〜20Dは、リセット信号のリセット状態(例えば、ロウレベル信号)を出力し、又は、リセット信号のリセット解除状態(例えば、ハイレベル信号)を出力する。また、監視回路20A〜20Dは、第2のデータ処理装置2の電源が投入された場合に、リセット信号のリセット解除状態を出力する。
リセット信号は、リセット解除状態又はリセット状態のいずれか一方の状態とされる。リセット信号のリセット解除状態は、リセット状態を解除することを指示する信号である。リセット信号のリセット状態は、リセット解除状態をリセット状態に設定することを指示する信号である。
リセット制御回路30は、監視回路20A〜20Dから受信したリセット信号に基づいてリセット制御信号を形成し、リセット制御信号を用いて、受信回路10A〜10Dをリセット又はリセット解除し、また、信号処理部40をリセット又はリセット解除する。具体的には、リセット制御回路30は、リセット信号のリセット状態に基づいて、第1及び第2のリセット制御信号のリセット状態を形成し、受信回路10A〜10D及び信号処理部40をリセットする。また、リセット制御回路30は、リセット信号のリセット解除状態に基づいて、第1及び第2のリセット制御信号のリセット解除状態を形成し、受信回路10A〜10D及び信号処理部40をリセット解除する。後述するように、第1及び第2のリセット制御信号の形成のタイミングが異なるので、受信回路10A〜10Dと信号処理部40とは、異なるタイミングでリセットされ、リセット解除される。
リセット制御信号は、リセット解除状態又はリセット状態のいずれか一方の状態とされる。リセット制御信号のリセット解除状態は、実際にリセット状態を解除する信号である。リセット制御信号のリセット状態は、実際にリセット解除状態をリセット状態に設定する信号である。
図2は、データ処理装置の構成の詳細を示す図であり、主として、第2のデータ処理装置2の受信回路10Dと、これに対応する監視回路20D、リセット制御回路30D及び機能処理部40Dとを示す。
例えば、受信回路10Dは、受信部11、受信FIFO12、コマンド制御部13、受信制御部14、出力FIFO15を含む。受信回路10A〜10Cも、受信回路10Dと同様の回路を含み、同様の処理を実行する。
監視回路20Dは、受信回路10Dに対応する回路である。換言すれば、監視回路20Dは、監視回路20A〜20Dを含む監視回路における、受信回路10Dに対応する部分回路である。監視回路20Dは、例えば、受信回路10Dの内部を伝送される信号を取込んで、これに基づいてリセット信号RST[3]を形成する。監視回路20A〜20Cも、監視回路20Dと同様の処理を実行する。監視回路20A〜20Cが形成するリセット信号を、各々、RST[0]〜RST[2]と表す。
リセット制御回路30Dは、リセット制御回路30における受信回路10Dに対応する部分回路である。リセット制御回路30Dは、監視回路20Dから受信したリセット信号RST[3]に基づいて形成したリセット制御信号を用いて、受信回路10Dをリセット又はリセット解除し、機能処理部40Dをリセット又はリセット解除する。リセット制御回路30A〜30Cも、リセット制御回路30Dと同様の処理を実行する。
機能処理部40Dは、信号処理部40における、受信回路10Dに対応する部分回路である。換言すれば、信号処理回路40は、受信回路10A〜10Dに対応する部分回路を含む。機能処理部40Dは、受信回路10Dから受信した信号についてのデータ処理を実行して、予め定められた信号処理の機能を実現する。機能処理部40A〜40Cは、各々、機能処理部20Dと異なる、予め定められた処理を実行する。
受信部11は、第2のデータ処理装置2の外部から、換言すれば、第1のデータ処理装置1から、ケーブル3Dを介して、信号を受信する。受信部11は、受信した信号を受信FIFO12に格納する。具体的には、受信部11は、OE変換回路において、ケーブル3Dを介して受信した光信号(シリアル信号)を、電気信号(シリアル信号)に変換する。この後、受信部11は、シリアルパラレル変換回路において、OE変換回路が出力する電気信号(シリアル信号)を、パラレル信号に変換する。パラレル信号は、予め定められたビット幅とされ、例えば8ビット幅とされる。更に、受信部11は、シリアルパラレル変換回路が出力するパラレル信号を、受信した順に、受信FIFO12に格納する。
なお、受信部11は、第1のデータ処理装置1から、通信経路3Dを介して、データ信号の受信に先立って、フレーム信号を受信する。フレーム信号は、例えばフレームの開始を指示する信号である。フレーム信号により、フレームの開始位置が定まる。これにより、受信部11は、受信した信号を8ビット幅のパラレル信号に変換し、受信した順に受信FIFO12に格納することができる。
受信部11は、後述するリセット制御信号によっては、リセットされず、かつ、セット解除もされない。これは、受信部11は、受信した信号をそのまま受信FIFO12に入力するのみであるので、リセットする必要がないためである。従って、受信部11にはリセット制御信号は入力されない。
受信FIFO12は、第1のバッファ回路であり、受信部11が受信した信号を格納し、予め定められたタイミングで、コマンド制御部13に出力する。例えば、受信FIFO12は、受信部11からの8ビットのパラレル信号を、受信の順に、単位バッファ回路に格納し、4個の単位バッファ回路に格納された信号を、1個のデータ(又はパケット)として、コマンド制御部13にまとめて出力する。
これにより、連続する4個の8ビットのパラレル信号を含む、32ビットデータが形成される。このために、受信FIFO12は、例えば4個以上の単位バッファ回路を含む。受信FIFO12は、4個の8ビットデータを、1個の32ビットデータとして、コマンド制御部13に入力する。換言すれば、受信FIFO12は、受信部11が受信した信号を、32ビットデータに変換する。
このように、受信FIFO12は、受信部11から入力された信号を、32ビット毎に処理する。そこで、受信FIFO12から出力される32ビットデータ、換言すれば、連続する4個のパラレル信号を、データ信号IRXD[31:0]と表すこととする。コマンド制御部13、受信制御部14、出力FIFO15、機能処理部40Dも、データ信号IRXD[31:0]毎に、処理を実行する。
受信FIFO12は、第1のリセット制御信号1ST−XRST[3]のリセット状態によりリセットされる。また、受信FIFO12は、第1のリセット制御信号1ST−XRST[3]のリセット解除状態によりリセット解除される。
第1のリセット制御信号1ST−XRST[3]は、例えば受信FIFO12のリセットのための信号であり、リセット制御回路30Dにより形成される。第1のリセット制御信号1ST−XRST[3]については後述する。なお、リセット制御回路30A〜30Cが形成する第1のリセット制御信号を、各々、1ST−XRST[0]〜1ST−XRST[2]と表す。
コマンド制御部13は、受信FIFO12が出力する信号から、換言すれば、データ信号IRXD[31:0]からコマンドを抽出する。コマンドのビット位置は、データ信号IRXD[31:0]において、予め定められたビット位置とされる。これにより、コマンド制御部13は、コマンドを抽出することができる。コマンド制御部13は、抽出したコマンドと、データ信号IRXD[31:0]とを、受信制御部14に出力する。
コマンド制御部13は、第1のリセット制御信号1ST−XRST[3]のリセット状態によりリセットされる。また、コマンド制御部13は、第1のリセット制御信号1ST−XRST[3]のリセット解除状態によりリセット解除される。従って、コマンド制御部13は、受信FIFO12と同一のタイミングで、同一の第1のリセット制御信号1ST−XRST[3]により制御される。
受信制御部14は、受信FIFO12が出力する信号、換言すれば、データ信号IRXD[31:0]についての受信制御を行う。具体的には、受信制御部14は、コマンド制御部13から受信した抽出したデータ信号IRXD[31:0]を、出力FIFO15に出力することにより、出力FIFO15を介して機能処理部40Dに出力する。また、受信制御部14は、コマンド制御部13から受信した抽出したコマンドを、機能処理部40Dに出力する。この際、受信制御部14は、コマンドの出力のタイミング、及び、出力FIFO15の出力のタイミングを制御する。これにより、データ信号IRXD[31:0]と、データ信号IRXD[31:0]から抽出されたコマンドとが、同一又は予め定められたタイミングで、機能処理部40Dに出力される。
受信制御部14は、第2のリセット制御信号2ND−XRST[3]のリセット状態によりリセットされる。また、受信制御部14は、第2のリセット制御信号2ND−XRST[3]のリセット解除状態によりリセット解除される。
第2のリセット制御信号2ND−XRST[3]は、例えば出力FIFO15のリセットのための信号であり、リセット制御回路30Dにより形成される。第2のリセット制御信号2ND−XRST[3]については後述する。なお、リセット制御回路30A〜30Cが形成する第2のリセット制御信号を、各々、2ND−XRST[0]〜2ND−XRST[2]と表す。受信制御部14は、出力FIFO15と同一のタイミングで、同一の第2のリセット制御信号2ND−XRST[3]により制御される。
出力FIFO15は、第2のバッファ回路であり、受信FIFO12が出力する信号、換言すれば、データ信号IRXD[31:0]を格納し、受信制御部14の制御するタイミングで、機能処理部40Dに出力する。これにより、機能処理部40Dにおいて、データ信号IRXD[31:0]は、データ信号IRXD[31:0]から抽出されたコマンドに従って処理される。
出力FIFO15は、第2のリセット制御信号2ND−XRST[3]のリセット状態によりリセットされる。また、出力FIFO15は、第2のリセット制御信号2ND−XRST[3]のリセット解除状態によりリセット解除される。
機能処理部40Dは、第2のリセット制御信号2ND−XRST[3]のリセット状態によりリセットされる。また、機能処理部40Dは、第2のリセット制御信号2ND−XRST[3]のリセット解除状態によりリセット解除される。従って、機能処理部40Dは、出力FIFO15と同一のタイミングで、同一の第2のリセット制御信号2ND−XRST[3]により制御される。なお、機能処理部40Dは、出力FIFO15よりも遅いタイミングで、第2のリセット制御信号2ND−XRST[3]よりも遅れて形成されるリセット制御信号により制御されるようにしても良い。
監視回路20Dは、第2のデータ処理装置2の電源が投入された場合、リセット信号RST[3]のリセット解除状態を出力する。これにより、電源の投入に応じて、受信回路10D及び機能処理部40Dは、リセット制御回路30Dによりリセット解除状態とされる。
また、監視回路20Dは、受信回路10Dを伝送される信号を取込み、取込んだ信号、換言すれば、受信回路10Dが受信した信号を監視する。具体的には、監視回路20Dは、受信回路10Dが受信し受信FIFO12が出力する信号から、予め定められたデータパターンを抽出しない場合に、リセット信号RST[3]のリセット状態を出力する。一方、監視回路20Dは、受信回路10Dが受信し受信FIFO12が出力する信号から、予め定められたデータパターンを予め定められた数だけ連続して抽出した場合に、リセット信号RST[3]のリセット解除状態を出力する。
予め定められたデータパターンは、第1のデータ処理装置1と受信回路10Dに接続されたケーブル3Dとが、共に、正常であることを示す状態信号である。換言すれば、送信装置である第1のデータ処理装置1又は通信経路であるケーブル3Dのいずれかが異常である場合には、予め定められたデータパターンは受信されない。予め定められたデータパターンについては後述する。
予め定められたデータパターンを予め定められた数だけ連続して抽出した場合にリセット解除状態を出力するのは、不定データが、偶然予め定められたデータパターンに一致する場合があるためである。これにより、不定データが偶然予め定められたデータパターンに一致しても、直ちにリセット解除することを防止して、通信が安定した状態でリセット解除を実行することができる。予め定められた数については後述する。
実際には、監視回路20Dは、他の監視回路20A〜20Cにおいて予め定められたデータパターンを抽出した場合に、対応する受信回路10Dが受信した信号から抽出した、予め定められたデータパターンをカウントする。そして、監視回路20Dは、当該カウント値が予め定められた値に達した場合に、リセット信号RST[3]のリセット解除状態を出力する。
このために、図2に示すように、監視回路20Dには、他の監視回路20A〜20Cにおいて予め定められたデータパターンを抽出したか否かを示す情報である状態フラグが入力される。例えば、監視回路20Dには、他の監視回路20A〜20Cから状態フラグが入力される。状態フラグは、その時点において、他の監視回路20A〜20Cの各々が予め定められたデータパターンを抽出したか否かを示す。状態フラグについては後述する。
これにより、例えばある監視回路20Dにおいて、他の監視回路20A〜20Cにおける監視状態に基づいて、リセット信号RST[3]のリセット解除状態を出力することができる。例えば、4個の受信回路10A〜10Dが受信する信号の全てが正常となった場合に、受信回路10A〜10Dの各々について、リセット解除が実行されるようにすることができる。なお、受信回路10Dが受信する信号のみが正常となった場合に、当該受信回路10Dのみについて、リセット解除が実行されるようにしても良い。
リセット制御回路30Dは、リセット信号RST[3]のリセット状態に基づいて、第1のリセット制御信号1ST−XRST[3]のリセット状態を出力する。また、リセット制御回路30Dは、リセット信号RST[3]のリセット解除状態に基づいて、第1のリセット制御信号1ST−XRST[3]のリセット解除状態を出力する。
リセット制御回路30Dは、リセット信号RST[3]のリセット状態の出力の後に、換言すれば、第1のリセット制御信号1ST−XRST[3]のリセット状態の出力の後に、第1の時間間隔で、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。従って、少なくとも、受信FIFO12が第1のリセット制御信号1ST−XRST[3]のリセット状態によりリセットされた後に、第1の時間間隔で、出力FIFO15が第2のリセット制御信号2ND−XRST[3]のリセット解除状態によりリセット解除される。
受信回路10Dにおいて、第1の時間間隔は、当該受信回路10Dに応じて定まり、予め定められる。従って、第1の時間間隔は、受信回路10A〜10D毎に異なっていても良い。
これにより、リセットの後に、受信FIFO12において受信された正しいデータが出力FIFO15に到達するタイミングで、出力FIFO15をリセット解除することができる。換言すれば、受信FIFO12のリセットの時点で出力FIFO15に格納されているデータは正しいデータではないので、当該データが有効とされることを防止することができる。
実際には、リセット制御回路30Dは、他の監視回路20A〜20Cからリセット信号RST[0]〜RST[2]のリセット解除状態が出力されている場合に、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。換言すれば、リセット制御回路30Dは、全ての監視回路20A〜20Dにおいてリセット信号RST[0]〜RST[2]のリセット解除状態が形成されている場合に、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。このために、図2に示すように、リセット制御回路30Dには、他の監視回路20A〜20Cから、リセット信号RST[0]〜RST[3]が入力される。例えば、リセット制御回路30Dは、リセット信号RST[0]〜RST[3]のロウレベルからハイレベルへの立上りを検出することにより、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。結果として、後述する図4に示すように、リセット信号RST[0]〜RST[3]のリセット状態の出力から、第2のリセット制御信号2ND−XRST[0]〜2ND−XRST[3]のリセット解除状態の出力までの時間は、各々異なる。
以下、第2のデータ処理装置2におけるリセット処理の一例について、図3〜図4を参照して、詳細に説明する。図3〜図4は、一体となって、第2のデータ処理装置2におけるリセット処理の一例について示し、4個の受信回路10A〜10Dが受信する信号の全てが正常となった場合に、受信回路10A〜10Dの各々について、リセット解除が実行される例を示す。
なお、図3における信号rst_flg及び信号rst_flg_cntを、図3と図4との関係を明確にするために、図4においても、再度、図示している。また、リセット信号RST[0]〜RST[3]は、監視回路20A〜20Dにおいて形成される信号であるが、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[3]との対比のために、図4において、リセット制御回路の欄に図示している。
データ処理装置2の電源が投入されると、当該電源投入に応じて、監視回路20A〜20Dにより、図4に示すように、リセット信号RST[0]〜RST[3]のリセット解除状態(ハイレベル)が形成される。また、当該電源投入とリセット信号RST[0]〜RST[3]のリセット解除状態(ハイレベル)とに基づいて、リセット制御回路30A〜30Dにより、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[3]のリセット解除状態(ハイレベル)が形成され、第2のリセット制御信号2ND−XRST[0]〜2ND−XRST[3]のリセット状態(ロウレベル)が形成される。
これにより、受信回路10A〜10Dにおいて、受信FIFO12及びコマンド制御部13はリセット解除され、受信制御部14及び出力FIFO15はリセットされる。換言すれば、受信FIFO12及びコマンド制御部13は通常の処理を実行し、受信制御部14及び出力FIFO15は基準クロックに同期してその都度リセットされる。従って、当該電源投入に応じて、データ信号の受信処理を実行することができ、一方、不定なデータ信号により受信制御部14及び出力FIFO15が誤動作することを防止することができる。また、機能受信部40A〜40Dはリセットされる、換言すれば、基準クロックに同期してその都度リセットされる。従って、不定なデータ信号により機能受信部40A〜40Dが誤動作することを防止することができる。
図3において、例えば、クロック信号CLOCKは、第2のデータ処理装置2における内部クロックであり、全ての回路にそれらの基準クロックとして供給される。クロック信号CLOCKの1周期に同期して、32ビットデータ、換言すれば、データ信号IRXD[31:0]が、受信FIFO12から出力され、後段のコマンド制御部13等の回路において処理される。
受信部11は、フレーム信号に基づいて、第1のデータ処理装置1からケーブル3Dを介して受信した信号を8ビットのパラレル信号に変換して、受信した順に受信FIFO12に入力する。
受信FIFO12は、受信部11からの8ビットのパラレル信号を、受信した順に4個の単位バッファ回路に格納する。これにより、32ビットのデータ信号IRXD[31:0]が形成され、コマンド制御部13に入力される。
監視回路20Dは、受信FIFO12から出力されるデータ信号IRXD[31:0]を取り込む。この後、監視回路20Dは、正常であることを示す状態信号である予め定められたデータパターンの検出、及び、リセット信号RST[3]のリセット状態の出力についてのイネーブル信号の検出を行う。
具体的には、監視回路20Dは、データ信号IRXD[31:0]における、複数のビット位置の信号を、状態信号として抽出する。具体的には、監視回路20Dは、データ信号IRXD[31:0]における、複数のビット位置の信号を、予め定められたレジスタに格納する。抽出する複数のビット位置は、予め定められる。例えば、第31ビットから第24ビットまでの信号、換言すれば、データ信号IRXD[31:0]の中の8ビットの信号IRXD[31:24]が抽出される。換言すれば、正常であることを示す状態信号は、予め定められたビット位置、換言すれば、データ信号IRXD[31:0]における第31ビットから第24ビットまでの位置に格納される。
なお、状態信号が格納される位置は、受信回路10A〜10D毎に異なっていても良い。例えば、後述する図3に示すように、受信回路10Cにおいて受信されるデータ信号[31:0]においては、第23ビットから第16ビットまでの信号IRXD[23:16]が抽出される。
また、監視回路20Dは、データ信号IRXD[31:0]における、2ヶ所のビット位置の信号を、2個のイネーブル信号として抽出する。監視回路20Dは、データ信号IRXD[31:0]における、2ヶ所のビット位置の信号を、予め定められた2個のレジスタに格納する。抽出する2ヶ所のビット位置は、予め定められる。換言すれば、2個のイネーブル信号は、データ信号IRXD[31:0]における、予め定められた位置に格納される。2個のイネーブル信号を用いることにより、後述する状態信号idle_flg0〜idle_flg3の形成のタイミングを、種々に制御することができる。
監視回路20Dが形成する2個のイネーブル信号を、各々、IRXC[3]及びIRXH[3]ということとする。なお、監視回路20A〜20Cが形成する、IRXC[3]に相当するイネーブル信号を、IRXC[0]〜IRXC[2]と表す。また、監視回路20A〜20Cが形成する、IRXH[3]に相当するイネーブル信号を、IRXH[0]〜IRXH[2]と表す。また、2個のイネーブル信号が格納される位置は、受信回路10A〜10D毎に異なっていても良い。これにより、後述する図3に示すように、状態フラグidle_flg0〜idle_flg3が、異なるタイミングで形成される。
監視回路20Dは、抽出した信号IRXD[31:24]の値が16進数で「BC」であるか否かを判断する。換言すれば、16進数で「BC」が、予め定められたデータパターンであり、例えばIEEE802.3aeにおけるK28.5を利用することができる。具体的には、監視回路20Dは、一致検出回路において、抽出した信号IRXD[31:24]を格納するレジスタの出力と、16進数で「BC」とを比較して、両者が一致するか否かを検出する。信号IRXD[31:24]の値が16進数で「BC」である場合、予め定められたデータパターンが検出されたことになり、第1のデータ処理装置1と受信回路10Dに接続されたケーブル3Dとが、共に、正常であることが判る。なお、予め定められたデータパターンは、16進数で「1C」であっても良い。
監視回路20Dは、データ信号IRXD[31:0]と、イネーブル信号IRXC[3]及びイネーブル信号IRXH[3]とに基づいて、状態フラグidle_flg3を形成する。なお、監視回路20A〜20Cが形成する状態フラグを、各々、idle_flg0〜idle_flg2と表す。
具体的には、監視回路20Dは、信号IRXD[31:24]の値が16進数で「BC」である場合において、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルである場合に、状態フラグidle_flg3のハイレベルを出力する。例えば、一致検出回路は、抽出した信号IRXD[31:24]を格納するレジスタの出力と16進数で「BC」とが一致する場合において、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルである場合に、ハイレベルを出力する。
なお、図3に示すように、状態フラグidle_flg0〜idle_flg3は、各々、これは、状態フラグidle_flg0〜idle_flg3の形成に用いられるビット位置が異なる。これは、状態フラグidle_flg0〜idle_flg3の形成に用いられる予め定められたデータパターンのビット位置が異なるためである。換言すれば、予め定められたデータパターンのビット位置は、受信回路10A〜10D、換言すれば、送信装置に応じて定まる。
また、状態フラグidle_flg0〜idle_flg3は、各々、形成されるタイミングが異なる。これは、状態フラグidle_flg0〜idle_flg3の形成に用いられるイネーブル信号のタイミングが異なるためである。換言すれば、イネーブル信号のタイミングは、受信回路10A〜10D、換言すれば、送信装置に応じて定まる。
今、図3において信号IRXD[31:24]について斜線で示すように、何らかの原因で、信号IRXD[31:24]の値が16進数で「BC」でない状態となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができない。そこで、監視回路20Dは、状態フラグidle_flg3のロウレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出することができずに、状態フラグidle_flg0〜idle_flg2のロウレベルを出力する。
この後、何らかの原因で、信号IRXD[31:24]の値が16進数で「BC」となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができる。そこで、監視回路20Dは、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルであるタイミングで、状態フラグidle_flg3のハイレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出して、状態フラグidle_flg0〜idle_flg2のハイレベルを出力する。
監視回路20Dは、第1のカウンタ回路において、状態フラグidle_flg3のハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントする。第1のカウンタ回路のカウント値を、信号cnt_idleということとする。監視回路20Dのカウンタ回路は、例えば「2」までカウントアップされる。
しかし、何らかの原因で、再度、信号IRXD[31:24]の値が16進数で「BC」でない状態となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができず、状態フラグidle_flg3のロウレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出することができずに、状態フラグidle_flg0〜idle_flg2のロウレベルを出力する。
ここで、前述したように、監視回路20Dには、他の監視回路20A〜20Cにおいて予め定められたデータパターンを抽出したか否かを示す情報、換言すれば、状態フラグが入力される。監視回路20Dのカウンタ回路は、状態フラグidle_flg0〜idle_flg3のいずれか1個でもロウレベルになると、クリアされる。従って、監視回路20Dのカウンタ回路は、図3に示すように、状態フラグidle_flg3のロウレベル及び状態フラグidle_flg1のロウレベルにより、クリアされる。
この結果、この時点では、リセット信号RST[3]のリセット解除状態(ハイレベル)が形成されたままである。また、第1のリセット制御信号1ST−XRST[3]のリセット解除状態(ハイレベル)が形成されたままとされ、第2のリセット制御信号2ND−XRST[3]のリセット状態(ロウレベル)が形成されたままとされる。
この後、何らかの原因で、再度、信号IRXD[31:24]の値が16進数で「BC」となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができる。そこで、監視回路20Dは、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルであるタイミングで、状態フラグidle_flg3のハイレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出して、状態フラグidle_flg0〜idle_flg2のハイレベルを出力する。
監視回路20Dは、第1のカウンタ回路において、状態フラグidle_flg3のハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントして、第1のカウンタ回路の最大値までカウントアップする。第1のカウンタ回路の最大値は、予め定められる。第1のカウンタ回路の最大値が、前述した予め定められた数である。第1のカウンタ回路の最大値を定めることにより、予め定められたデータパターンを予め定められた数だけ連続して抽出したことを検出することができる。
監視回路20Dは、信号cnt_idleの値が第1のカウンタ回路の最大値まで達した場合、信号rst_flgのハイレベルを出力する。更に、監視回路20Dは、信号rst_flgのハイレベルに基づいて、リセット信号RST[3]のリセット状態(ロウレベル)を出力する。
リセット制御回路30Dは、リセット信号RST[3]のリセット状態(ロウレベル)に基づいて、第1のリセット制御信号1ST−XRST[3]のリセット状態(ロウレベル)を出力する。これにより、受信FIFO12及びコマンド制御部13が、リセットされる。
なお、受信FIFO12は、リセットされたとしても、リセット後に受信したデータ信号が予め定められたデータパターン「BC」を含む場合には、これを正しく受信することができる。従って、予め定められたデータパターン「BC」は、正しく抽出されカウントされる。従って、リセット信号RST[3]等の形成には支障は無い。
一方、監視回路20Dは、第2のカウンタ回路において、信号rst_flgのハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントする。第2のカウンタ回路のカウント値を、信号rst_flg_cntということとする。監視回路20Dは、信号rst_flg_cntの値が第2のカウンタ回路の最大値まで達した場合、リセット信号RST[3]をハイレベルとする。
リセット制御回路30Dは、リセット信号RST[3]のハイレベルに基づいて、第1のリセット制御信号1ST−XRST[3]をハイレベルとする。このハイレベル信号は、受信FIFO12及びコマンド制御部13により取り込まれることは無く、無効な信号である。
監視回路20A〜20Cにおいても、リセット信号RST[0]〜RST[2]のリセット状態(ロウレベル)が形成され、このロウレベル信号が、その後、ハイレベルとされる。
また、リセット制御回路30A〜30Cにおいても、リセット信号RST[0]〜RST[2]のリセット状態(ロウレベル)に基づいて、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[2]のリセット状態(ロウレベル)が形成され、このロウレベル信号が、その後、リセット解除状態(ハイレベル)とされる。
リセット制御回路30Dは、前述したように、リセット信号RST[3]又は第1のリセット制御信号1ST−XRST[3]のリセット状態が形成された後、第1の時間間隔で、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。
従って、第2のカウンタ回路の最大値が、第1の時間間隔である。第2のカウンタ回路の最大値は、予め定められる。第2のカウンタ回路の最大値を定めることにより、リセット信号RST[3]又は第1のリセット制御信号1ST−XRST[3]のリセット状態の形成後に、第1の時間間隔で、第2のリセット制御信号2ND−XRST[3]のリセット解除状態とすることができる。
実際には、前述したように、全ての監視回路20A〜20Dにおいて、リセット信号RST[0]〜RST[3]のリセット解除状態(ハイレベル)が形成された後、リセット制御回路30A〜30Dは、第2のリセット制御信号2ND−XRST[0]〜2ND−XRST[3]のリセット解除状態を出力する。換言すれば、第2のリセット制御信号2ND−XRST[0]〜2ND−XRST[3]は、同一の信号となる。
リセットが解除されると、前述したように、受信FIFO12から32ビットのデータ信号IRXD[31:0]が出力され、コマンド制御部13においてデータ信号IRXD[31:0]からコマンドが抽出される。受信制御部14において受信制御が実行されることにより、データ信号IRXD[31:0]が、データ信号IRXD[31:0]から抽出されたコマンドと共に、出力FIFO15を介して、機能処理部40Dに送られ、機能処理部40Dにおいて処理される。
図5〜図6は、一体となって、第2のデータ処理装置2におけるリセット処理の他の一例について示し、4個の受信回路10A〜10Dが受信する信号のいずれかが正常となった場合に、当該受信回路10A〜10Dのみについて、リセット解除が実行される例を示す。なお、図5〜図6においては、受信回路10Dが受信する信号が正常となって、受信回路10Dについてのリセット処理が実行されるものとする。
なお、図5における信号rst_flg及び信号rst_flg_cntを、図5と図6との関係を明確にするために、図6においても、再度、図示している。また、リセット信号RST[0]〜RST[3]は、監視回路20A〜20Dにおいて形成される信号であるが、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[3]との対比のために、図6において、リセット制御回路の欄に図示している。
データ処理装置2の電源が投入されると、図3及び図4と同様に、図6に示すように、リセット信号RST[0]〜RST[3]のリセット解除状態(ハイレベル)、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[3]のリセット解除状態(ハイレベル)、及び、第2のリセット制御信号2ND−XRST[0]〜2ND−XRST[3]のリセット状態(ロウレベル)が形成される。これにより、受信回路10A〜10Dにおいて、受信FIFO12及びコマンド制御部13はリセット解除され、受信制御部14及び出力FIFO15はリセットされる。また、機能受信部40A〜40Dはリセットされる。
今、図5において信号IRXD[31:24]について斜線で示すように、何らかの原因で、信号IRXD[31:24]の値が16進数で「BC」でない状態となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができずに、状態フラグidle_flg3のロウレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出することができずに、状態フラグidle_flg0〜idle_flg2のロウレベルを出力する。
この後、何らかの原因で、信号IRXD[31:24]の値が16進数で「BC」となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出して、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルであるタイミングで、状態フラグidle_flg3のハイレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出して、状態フラグidle_flg0〜idle_flg2のハイレベルを出力する。
監視回路20Dは、第1のカウンタ回路において、状態フラグidle_flg3のハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントする。第1のカウンタ回路のカウント値、換言すれば、信号cnt_idleは、図3とは異なり、例えば「4」までカウントアップされる。
しかし、何らかの原因で、再度、信号IRXD[31:24]の値が16進数で「BC」でない状態となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができず、状態フラグidle_flg3のロウレベルを出力する。また、他の監視回路20A〜20Cも、予め定められたデータパターン「BC」を抽出することができずに、状態フラグidle_flg0〜idle_flg2のロウレベルを出力する。
ここで、図5及び図6の例においては、図3及び図4の例とは異なり、監視回路20Dには、他の監視回路20A〜20Cにおいて予め定められたデータパターンを抽出したか否かを示す情報、換言すれば、状態フラグは、入力されない。従って、図5及び図6の例においては、監視回路20Dに対する、図2に示す他の監視回路20A〜20Cからの入力は存在しない。監視回路20Dのカウンタ回路は、状態フラグidle_flg3がロウレベルになることにより、クリアされる。従って、監視回路20Dのカウンタ回路は、図3とは異なり、図5に示すように、状態フラグidle_flg3のロウレベルにより、クリアされる。
この結果、この時点では、リセット信号RST[3]のリセット解除状態(ハイレベル)が形成されたままである。また、第1のリセット制御信号1ST−XRST[3]のリセット解除状態(ハイレベル)が形成されたままとされ、第2のリセット制御信号2ND−XRST[3]のリセット状態(ロウレベル)が形成されたままとされる。
この後、何らかの原因で、再度、信号IRXD[31:24]の値が16進数で「BC」となる。これにより、監視回路20Dは、データ信号IRXD[31:0]から、予め定められたデータパターン「BC」を抽出することができる。そこで、監視回路20Dは、イネーブル信号IRXC[3]がハイレベルかつイネーブル信号IRXH[3]がロウレベルであるタイミングで、状態フラグidle_flg3のハイレベルを出力する。
一方、図3とは異なり、他の監視回路20A〜20Cは、予め定められたデータパターン「BC」を抽出せず、状態フラグidle_flg0〜idle_flg2はロウレベルのままである。
監視回路20Dは、第1のカウンタ回路において、状態フラグidle_flg3のハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントして、第1のカウンタ回路の最大値までカウントアップする。
監視回路20Dは、信号cnt_idleの値が第1のカウンタ回路の最大値まで達した場合、信号rst_flgのハイレベルを出力する。更に、監視回路20Dは、信号rst_flgのハイレベルに基づいて、リセット信号RST[3]のリセット状態(ロウレベル)を出力する。
リセット制御回路30Dは、リセット信号RST[3]のリセット状態(ロウレベル)に基づいて、第1のリセット制御信号1ST−XRST[3]のリセット状態(ロウレベル)を出力する。これにより、受信FIFO12及びコマンド制御部13が、リセットされる。しかし、受信FIFO12がリセットされたとしても、前述したように、予め定められたデータパターン「BC」は正しく受信され、抽出され、カウントされる。
一方、監視回路20Dは、第2のカウンタ回路において、信号rst_flgのハイレベルが出力されている期間を、クロック信号CLOCKに同期してカウントする。監視回路20Dは、第2のカウンタ回路のカウント値、換言すれば、信号rst_flg_cntの値が第2のカウンタ回路の最大値まで達した場合、リセット信号RST[3]をハイレベルとする。
リセット制御回路30Dは、リセット信号RST[3]のハイレベルに基づいて、第1のリセット制御信号1ST−XRST[3]をハイレベルとする。このハイレベル信号は、受信FIFO12及びコマンド制御部13により取り込まれることは無く、無効な信号である。
一方、監視回路20A〜20Cにおいては、図4とは異なり、リセット信号RST[0]〜RST[2]のリセット状態(ロウレベル)は形成されず、ハイレベルのままとされる。また、リセット制御回路30A〜30Dにおいても、図4とは異なり、第1のリセット制御信号1ST−XRST[0]〜1ST−XRST[2]のリセット状態(ロウレベル)は形成されず、ハイレベルのままとされる。
リセット制御回路30Dは、前述したように、リセット信号RST[3]又は第1のリセット制御信号1ST−XRST[3]のリセット状態(ロウレベル)が形成された後、第1の時間間隔で、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。
図6においては、図4とは異なり、監視回路20Dにおいて、リセット信号RST[3]のリセット状態(ロウレベル)が形成された後、他の監視回路20A〜20Cにおけるリセット信号RST[0]〜RST[2]とは無関係に、リセット制御回路30Dは、第1の時間間隔で、第2のリセット制御信号2ND−XRST[3]のリセット解除状態を出力する。このために、図5及び図6の例においては、図3及び図4の例とは異なり、リセット制御回路30Dに、対応する監視回路20D以外の監視回路20A〜20Cから、リセット信号RST[0]〜RST[2]が入力されることはない。従って、図5及び図6の例においては、リセット制御回路30Dに対する、図2に示す他の監視回路20A〜20Cからの入力は存在しない。
リセットが解除されると、前述したように、受信FIFO12から32ビットのデータ信号IRXD[31:0]が出力され、コマンド制御部13においてデータ信号IRXD[31:0]からコマンドが抽出される。受信制御部14において受信制御が実行されることにより、データ信号IRXD[31:0]が、データ信号IRXD[31:0]から抽出されたコマンドと共に、出力FIFO15を介して、機能処理部40Dに送られ、機能処理部40Dにおいて処理される。