(57)【特許請求の範囲】
【請求項１】
第一クロックで動作する第一クロックドメインから、前記第一クロックとは異なる第二クロックで動作する第二クロックドメインへのデータ転送を行うデータ転送装置において、
前記第一クロックドメインから前記第一クロックで転送データが書き込まれ、前記書き込まれた転送データが前記第二クロックドメインから前記第二クロックで読み出される転送データ保存部と、
前記第一クロックドメインから、前記転送データの書き込みが完了したことを示す書込完了信号を受信する書込完了信号受信部と、
前記書込完了信号の受信に応じて、前記第二クロックドメインに前記転送データの読み出しを許可することを示す読出許可信号を送信する読出許可信号送信部と、
前記第二クロックドメインから、前記転送データの読み出しが完了したことを示す読出完了信号を受信する読出完了信号受信部と、
前記読出完了信号の受信に応じて、前記第一クロックドメインに前記転送データの書き込みを許可することを示す書込許可信号を送信する書込許可信号送信部と、
前記書込完了信号受信部が書込完了信号を受信したことを検知し、前記読出許可信号送信部に読出許可信号の送信を指示する読出許可部とを具備し、
前記読出許可信号送信部は、
前記指示に応じて、前記第二クロックドメインに読出許可信号を送信するデータ転送装置であって、
前記書込完了信号受信部が書込完了信号を受信してから前記読出許可信号送信部が読出許可信号を送信するまでの時間である待機時間を計測するための信号である計測信号を前記読出完了信号受信部に送信し、前記読出許可信号送信部が当該計測信号を受信するまでの時間を待機時間として取得する待機時間取得部をさらに具備し、
前記読出完了信号受信部は、
前記待機時間取得部から計測信号を受信し、当該計測信号を前記書込許可信号送信部に送信し、
前記書込許可信号送信部は、
前記読出完了信号受信部から計測信号を受信し、当該計測信号を前記書込完了信号受信部に送信し、
前記書込完了信号受信部は、
前記書込許可信号送信部から計測信号を受信し、当該計測信号を前記読出許可信号送信部に送信し、
前記読出許可信号送信部は、
前記書込完了信号受信部から計測信号を受信し、
前記読出許可部は、
前記書込完了信号受信部が書込完了信号を受信後、前記待機時間取得部が取得した待機時間の経過後に、前記読出許可信号送信部に読出許可信号の送信を指示するデータ転送装置。
【請求項２】
前記第二クロックドメインが、前記転送データ保存部に保存されている転送データの読み出しに失敗したか否かの判断を、予め決められた条件を用いて行い、転送データの読出エラーを検出する読出エラー検出部をさらに具備し、
前記読出許可部は、
前記読出エラーを検出しない場合は、前記読出許可信号送信部に読出許可信号の送信を指示し、前記読出エラーを検出した場合は、前記読出許可信号送信部に読出許可信号の送信を指示せず、
前記読出許可信号送信部は、
前記指示がある場合は、前記第二クロックドメインに読出許可信号を送信し、前記指示がない場合は、前記第二クロックドメインに読出許可信号を送信しない請求項１記載のデータ転送装置。
【請求項３】
前記読出エラー検出部が読出エラーを検出した場合に、前記待機時間取得部に対し待機時間の再取得を要求する再取得要求信号を送信する再取得要求信号送信部をさらに具備し、
前記待機時間取得部は、
前記再取得要求信号の受信に応じて、待機時間を再取得する請求項２記載のデータ転送装置。
【請求項４】
前記読出エラー検出部が読出エラーを検出した場合に、前記第一クロックドメインに対し前記転送データ保存部への転送データの再書き込みを要求する再書込要求信号を送信する再書込要求信号送信部をさらに具備する請求項２記載のデータ転送装置。
【請求項５】
第一クロックで動作する第一クロックドメインから、前記第一クロックとは異なる第二クロックで動作する第二クロックドメインへのデータ転送を行うデータ転送方法において、
前記第一クロックドメインから前記第一クロックで転送データが書き込まれ、前記書き込まれた転送データが前記第二クロックドメインから前記第二クロックで読み出される転送データ保存部と、書込完了信号受信部と、読出許可信号送信部と、読出完了信号受信部と、書込許可信号送信部と、読出許可部と、待機時間取得部とを用いて行われるデータ転送方法であって、
前記書込完了信号受信部が、
前記第一クロックドメインから、前記転送データの書き込みが完了したことを示す書込完了信号を受信する書込完了信号受信ステップと、
前記読出許可信号送信部が、
前記書込完了信号の受信に応じて、前記第二クロックドメインに前記転送データの読み出しを許可することを示す読出許可信号を送信する読出許可信号送信ステップと、
前記読出完了信号受信部が、
前記第二クロックドメインから、前記転送データの読み出しが完了したことを示す読出完了信号を受信する読出完了信号受信ステップと、
前記書込許可信号送信部が、
前記読出完了信号の受信に応じて、前記第一クロックドメインに前記転送データの書き込みを許可することを示す書込許可信号を送信する書込許可信号送信ステップと、
前記読出許可部が、
前記書込完了信号受信部が書込完了信号を受信したことを検知し、前記読出許可信号送信部に読出許可信号の送信を指示する読出許可ステップとを具備し、
前記読出許可信号送信ステップでは、
前記読出許可信号送信部が、
前記指示に応じて、前記第二クロックドメインに読出許可信号を送信するデータ転送方法であって、
前記待機時間取得部が、前記書込完了信号受信部が書込完了信号を受信してから前記読出許可信号送信部が読出許可信号を送信するまでの時間である待機時間を計測するための信号である計測信号を前記読出完了信号受信部に送信し、前記読出許可信号送信部が当該計測信号を受信するまでの時間を待機時間として取得する待機時間取得ステップをさらに具備し、
前記読出完了信号受信ステップにおいて、
前記待機時間取得部から計測信号を受信し、当該計測信号を前記書込許可信号送信部に送信し、
前記書込許可信号送信ステップにおいて、
前記読出完了信号受信部から計測信号を受信し、当該計測信号を前記書込完了信号受信部に送信し、
前記書込完了信号受信ステップにおいて、
前記書込許可信号送信部から計測信号を受信し、当該計測信号を前記読出許可信号送信部に送信し、
前記読出許可信号送信ステップにおいて、
前記書込完了信号受信部から計測信号を受信し、
前記読出許可ステップにおいて、
前記書込完了信号受信ステップで書込完了信号を受信後、前記待機時間取得ステップで取得された待機時間の経過後に、前記読出許可信号送信部に読出許可信号の送信を指示するデータ転送方法。
【請求項６】
第一クロックで動作する第一クロックドメインから、前記第一クロックとは異なる第二クロックで動作する第二クロックドメインへのデータ転送を行うプログラムにおいて、
前記第一クロックドメインから前記第一クロックで転送データが書き込まれ、前記書き込まれた転送データが前記第二クロックドメインから前記第二クロックで読み出される転送データ保存部を具備し、
コンピュータを、
前記第一クロックドメインから、前記転送データの書き込みが完了したことを示す書込完了信号を受信する書込完了信号受信部と、
前記書込完了信号の受信に応じて、前記第二クロックドメインに前記転送データの読み出しを許可することを示す読出許可信号を送信する読出許可信号送信部と、
前記第二クロックドメインから、前記転送データの読み出しが完了したことを示す読出完了信号を受信する読出完了信号受信部と、
前記読出完了信号の受信に応じて、前記第一クロックドメインに前記転送データの書き込みを許可することを示す書込許可信号を送信する書込許可信号送信部と、
前記書込完了信号受信部が書込完了信号を受信したことを検知し、前記読出許可信号送信部に読出許可信号の送信を指示する読出許可部として機能させるプログラムであって、
前記読出許可信号送信部は、
前記指示に応じて、前記第二クロックドメインに読出許可信号を送信するものとして、コンピュータを機能させるためのプログラムであって、
コンピュータを、
前記書込完了信号受信部が書込完了信号を受信してから前記読出許可信号送信部が読出許可信号を送信するまでの時間である待機時間を計測するための信号である計測信号を前記読出完了信号受信部に送信し、前記読出許可信号送信部が当該計測信号を受信するまでの時間を待機時間として取得する待機時間取得部としてさらに機能させ、
前記読出完了信号受信部は、
前記待機時間取得部から計測信号を受信し、当該計測信号を前記書込許可信号送信部に送信し、
前記書込許可信号送信部は、
前記読出完了信号受信部から計測信号を受信し、当該計測信号を前記書込完了信号受信部に送信し、
前記書込完了信号受信部は、
前記書込許可信号送信部から計測信号を受信し、当該計測信号を前記読出許可信号送信部に送信し、
前記読出許可信号送信部は、
前記書込完了信号受信部から計測信号を受信し、
前記読出許可部は、
前記書込完了信号受信部が書込完了信号を受信後、前記待機時間取得部が取得した待機時間の経過後に、前記読出許可信号送信部に読出許可信号の送信を指示するものとして、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期クロック間でデータの乗り換えを行うデータ転送装置等に関するものである。
【背景技術】
【０００２】
従来、非同期クロック間でデータの乗り換えを行う場合に、データの乗り換えタイミングを制御することにより乗り換え時にデータ誤りを発生させないようにするデータ乗換回路が開発されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２３７２３２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータ乗換回路では、乗り換え元のクロックと乗り換え先のクロックとが予め決められており、予め決められたタイミングでデータの乗り換えを行っていた。つまり、乗り換え元のクロックまたは乗り換え先のクロックが変更された場合は、乗り換えのタイミングを改めて決める必要があり、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができなかった。
【課題を解決するための手段】
【０００５】
本第一の発明のデータ転送装置は、第一クロックで動作する第一クロックドメインから、第一クロックとは異なる第２クロックで動作する第二クロックドメインへのデータ転送を行うデータ転送装置において、第一クロックドメインから第一クロックで転送データが書き込まれ、書き込まれた転送データが第二クロックドメインから第二クロックで読み出される転送データ保存部と、第一クロックドメインから、転送データの書き込みが完了したことを示す書込完了信号を受信する書込完了信号受信部と、書込完了信号の受信に応じて、第二クロックドメインに転送データの読み出しを許可することを示す読出許可信号を送信する読出許可信号送信部と、第二クロックドメインから、転送データの読み出しが完了したことを示す読出完了信号を受信する読出完了信号受信部と、読出完了信号の受信に応じて、第一クロックドメインに転送データの書き込みを許可することを示す書込許可信号を送信する書込許可信号送信部と、書込完了信号受信部が書込完了信号を受信したことを検知し、読出許可信号送信部に読出許可信号の送信を指示する読出許可部とを具備し、読出許可信号送信部は、指示に応じて、第二クロックドメインに読出許可信号を送信するデータ転送装置である。
【０００６】
このような構成により、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができる。
【０００７】
また、本第二の発明のデータ転送装置は、第一の発明に対して、書込完了信号受信部が書込完了信号を受信してから読出許可信号送信部が読出許可信号を送信するまでの時間である待機時間を計測するための信号である計測信号を読出完了信号受信部に送信し、読出許可信号送信部が計測信号を受信するまでの時間を待機時間として取得する待機時間取得部をさらに具備し、読出完了信号受信部は、待機時間取得部から計測信号を受信し、計測信号を書込許可信号送信部に送信し、書込許可信号送信部は、読出完了信号受信部から計測信号を受信し、計測信号を書込完了信号受信部に送信し、書込完了信号受信部は、書込許可信号送信部から計測信号を受信し、計測信号を読出許可信号送信部に送信し、読出許可信号送信部は、書込完了信号受信部から計測信号を受信し、読出許可部は、書込完了信号受信部が書込完了信号を受信後、待機時間取得部が取得した待機時間の経過後に、読出許可信号送信部に読出許可信号の送信を指示するデータ転送装置である。
【０００８】
このような構成により、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができる。
【０００９】
また、本第三の発明のデータ転送装置は、第一または第二の発明に対して、第二クロックドメインが、転送データ保存部に保存されている転送データの読み出しに失敗したか否かの判断を、予め決められた条件を用いて行い、転送データの読出エラーを検出する読出エラー検出部をさらに具備し、読出許可部は、読出エラーを検出しない場合は、読出許可信号送信部に読出許可信号の送信を指示し、読出エラーを検出した場合は、読出許可信号送信部に読出許可信号の送信を指示せず、読出許可信号送信部は、指示がある場合は、第二クロックドメインに読出許可信号を送信し、指示がない場合は、第二クロックドメインに読出許可信号を送信しないデータ転送装置である。
【００１０】
このような構成により、データの乗り換え時のエラーを検出することができる。
【００１１】
また、本第四の発明のデータ転送装置は、第三の発明に対して、読出エラー検出部が読出エラーを検出した場合に、待機時間取得部に対し待機時間の再取得を要求する再取得要求信号を送信する再取得要求信号送信部をさらに具備し、待機時間取得部は、再取得要求信号の受信に応じて、待機時間を再取得するデータ転送装置である。
【００１２】
このような構成により、データの乗り換え時のエラーが発生した場合に、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを再決定することができる。
【００１３】
また、本第五の発明のデータ転送装置は、第三の発明に対して、読出エラー検出部が読出エラーを検出した場合に、第一クロックドメインに対し転送データ保存部への転送データの再書き込みを要求する再書込要求信号を送信する再書込要求信号送信部をさらに具備するデータ転送装置である。
【００１４】
このような構成により、データの乗り換え時のエラーが発生した場合に、データの送信側に、データの再送を要求することができる。
【発明の効果】
【００１５】
本発明によるデータ転送装置等によれば、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１のデータ転送装置１のブロック図
【図２】同データ転送装置１の全体動作について説明するフローチャート
【図３】同データ転送の例を示す図
【図４】同データ転送回路２の構成例を示す図
【図５】上記実施の形態におけるコンピュータシステムの概観図
【図６】上記実施の形態におけるコンピュータシステムのブロック図
【発明を実施するための形態】
【００１７】
以下、本発明によるデータ転送装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、所定の情報が格納され得る格納部等において、当該格納部に情報が記憶される過程は問わないものとする。例えば、記録媒体を介して情報が格納部等で記憶されるようになってもよい。また、通信回線などを介して送信された情報が格納部等で記憶されるようになってもよい。さらに、入力デバイスを介して入力された情報が格納部等で記憶されるようになってもよい。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
【００１８】
（実施の形態１）
本実施の形態において、第一クロックで動作する第一クロックドメインから、第一クロックとは異なる第２クロックで動作する第二クロックドメインへのデータ転送を行うデータ転送装置１について説明する。クロックドメインとは、一のクロックで動作する回路や装置などである。つまり、データ転送装置１は、異なるクロックで動作するクロックドメイン間でのデータ転送を行う。言い換えると、データ転送装置１は、非同期クロック間でのデータ乗り換えを行う。なお、当該装置には、回路も含まれる。
【００１９】
図１は、本実施の形態におけるデータ転送装置１のブロック図である。データ転送装置１は、転送データ保存部１０１、書込完了信号受信部１０２、読出許可信号送信部１０３、読出完了信号受信部１０４、書込許可信号送信部１０５、待機時間取得部１０６、読出許可部１０７、読出エラー検出部１０８、再取得要求信号送信部１０９、再書込要求信号送信部１１０を備える。
【００２０】
転送データ保存部１０１には、第一クロックドメインから、第一クロックで転送データが書き込まれる。また、第一クロックで書き込まれるとは、第一クロックに同期して書き込まれることである。また、転送データ保存部１０１に書き込まれた転送データは、第二クロックドメインから、第二クロックで読み出される。第二クロックで読み出されるとは、第二クロックに同期して読み出されることである。
【００２１】
また、転送データは、通常、マルチビット信号であり、当該マルチビット信号は、例えば、映像信号や、音声信号などである。なお、転送データの内容は、問わない。          また、転送データは、通常、単位画素や単位時間などの一の単位量あたりのデータである。つまり、転送データは、例えば、１画素あたりの画素データなどである。
【００２２】
また、例えば、データ転送装置１が、第一クロックドメインからの転送データを受信する受信部と、当該受信した転送データを転送データ保存部１０１に書き込む書込部とを具備しており、当該受信部と書込部とにより、転送データ保存部１０１に転送データが書き込まれてもよい。
【００２３】
また、例えば、データ転送装置１が、転送データ保存部１０１に保存されている転送データを読み出す読出部と、当該読み出した転送データを第二クロックドメインに送信する送信部とを具備しており、当該読出部と送信部とにより、転送データ保存部１０１から転送データが読み出されてもよい。
【００２４】
書込完了信号受信部１０２は、転送データの書き込みが完了したことを示す書込完了信号を、第一クロックドメインから受信する。第一クロックドメインは、通常、データ転送装置１に転送データの送信が完了した直後に、書込完了信号をデータ転送装置１に送信する。従って、書込完了信号受信部１０２は、第一クロックドメインがデータ転送装置１に転送データの送信が完了した直後に、書込完了信号を受信する。また、書込完了信号受信部１０２は、通常、書込完了信号を受信したことを、後述の読出許可信号送信部１０３と、読出許可部１０７とに通知する。当該「通知する」とは、例えば、書込完了信号を受信したことを示す信号など（以下、適宜、書込完了信号受信通知信号）を送信することである。また、当該書込完了信号受信通知信号は、例えば、書込完了信号であってもよい。
【００２５】
読出許可信号送信部１０３は、書込完了信号受信部１０２による書込完了信号の受信に応じて、転送データの読み出しを許可することを示す読出許可信号を、第二クロックドメインに送信する。書込完了信号受信部１０２は、通常、書込完了信号を受信すると、書込完了信号受信通知信号を、読出許可信号送信部１０３に送信する。従って、読出許可信号送信部１０３は、通常、書込完了信号受信通知信号の受信に応じて、第二クロックドメインに読出許可信号を送信する。なお、当該読込許可信号は、書込完了信号受信通知信号であってもよい。
【００２６】
また、読出許可信号送信部１０３は、通常、後述の読出許可部１０７からの指示に応じて、第二クロックドメインに読出許可信号を送信する。つまり、読出許可信号送信部１０３は、通常、書込完了信号受信通知信号の受信と、後述の読出許可部１０７からの指示に応じて、読出許可信号を送信する。なお、当該「読出許可部１０７からの指示」とは、例えば、読出許可信号の送信を指示することを示す信号（以下、適宜、読出許可信号送信指示信号）などを受信することである。
【００２７】
つまり、読出許可信号送信部１０３は、後述の読出許可部１０７からの指示がある場合は、第二クロックドメインに読出許可信号を送信し、当該指示がない場合は、第二クロックドメインに読出許可信号を送信しない。
【００２８】
読出完了信号受信部１０４は、転送データの読み出しが完了したことを示す読出完了信号を、第二クロックドメインから受信する。第二クロックドメインは、通常、データ転送装置１から転送データの受信が完了した直後に、読出完了信号をデータ転送装置１に送信する。従って、読出完了信号受信部１０４は、第二クロックドメインがデータ転送装置１から転送データの受信が完了した直後に、読出完了信号を受信する。また、読出完了信号受信部１０４は、通常、読出完了信号を受信したことを、後述の書込許可信号送信部１０５に通知する。当該「通知する」とは、例えば、読出完了信号を受信したことを示す信号など（以下、適宜、読出完了信号受信通知信号）を送信することである。また、当該読出完了信号受信通知信号は、例えば、読出完了信号であってもよい。
【００２９】
書込許可信号送信部１０５は、読出完了信号受信部１０４による読出完了信号の受信に応じて、転送データの書き込みを許可することを示す書込許可信号を、第一クロックドメインに送信する。読出完了信号受信部１０４は、通常、読出完了信号を受信すると、読出完了信号受信通知信号を、書込許可信号送信部１０５に送信する。従って、書込許可信号送信部１０５は、通常、読出完了信号受信通知信号の受信に応じて、第一クロックドメインに書込許可信号を送信する。なお、当該書込許可信号は、読出完了信号受信通知信号であってもよい。
【００３０】
待機時間取得部１０６は、書込完了信号受信部１０２が書込完了信号を受信してから読出許可信号送信部１０３が読出許可信号を送信するまでの時間を示す待機時間を取得する。待機時間の単位は、通常、「秒」である。当該「秒」には、「ミリ秒」や、「マイクロ秒」なども含まれる。また、待機時間は、例えば、第一クロックのクロック数や、第二クロックのクロック数などでもよい。具体的には、待機時間取得部１０６は、待機時間を計測するための信号である計測信号を読出完了信号受信部１０４に送信し、読出許可信号送信部１０３が計測信号を受信するまでの時間を待機時間として取得する。当該時間の計測の方法や手順などは、問わない。
【００３１】
また、待機時間取得部１０６が計測信号を読出完了信号受信部１０４に送信すると、読出完了信号受信部１０４は、当該計測信号を受信し、当該計測信号を書込許可信号送信部１０５に送信する。また、書込許可信号送信部１０５は、読出完了信号受信部１０４から計測信号を受信し、当該計測信号を書込完了信号受信部１０２に送信する。また、書込完了信号受信部１０２は、書込許可信号送信部１０５から計測信号を受信し、当該計測信号を読出許可信号送信部１０３に送信する。また、読出許可信号送信部１０３は、書込完了信号受信部１０２から計測信号を受信する。以上の様に、待機時間取得部１０６が計測信号を読出完了信号受信部１０４に送信すると、当該計測信号は、読出完了信号受信部１０４、書込許可信号送信部１０５、書込完了信号受信部１０２、読出許可信号送信部１０３の順に伝送される。つまり、待機時間取得部１０６は、当該計測信号が伝送されるに要する時間を待機時間として取得する。
【００３２】
また、待機時間取得部１０６は、例えば、データ転送装置１の電源がＯＮになった直後や、予め決められたタイミング、第一クロックまたは第二クロックが変更された直後などに、待機時間を取得する。
【００３３】
また、待機時間取得部１０６は、例えば、後述の再取得要求信号送信部１０９が送信した再取得要求信号の受信に応じて、待機時間を再取得する。この場合、待機時間取得部１０６は、例えば、既に取得していた待機時間を増加する処理を行ってもよい。また、待機時間取得部１０６は、例えば、書込完了信号受信部１０２に計測信号を送信し、当該計測信号が書込完了信号受信部１０２から読出許可信号送信部１０３に伝送されるに要する時間を待機時間として取得してもよい。
【００３４】
なお、待機時間取得部１０６は、通常、上記の様にして取得した待機時間の補正を行う。当該「補正を行う」ことは、通常、所定の時間や、第一クロックの所定のクロック数、第二クロックの所定のクロック数などを加算することである。
【００３５】
読出許可部１０７は、転送データ保存部１０１に転送データが書き込まれたことと、書込完了信号受信部１０２が書込完了信号を受信したこととを検知し、読出許可信号送信部１０３に読出許可信号の送信を指示する。具体的には、読出許可部１０７は、書込完了信号受信部１０２が書込完了信号を受信後、待機時間取得部１０６が取得した待機時間の経過後に、読出許可信号送信部１０３に読出許可信号の送信を指示する。当該「書込完了信号を受信後」とは、例えば、書込完了信号受信部１０２が送信した書込完了信号受信通知信号を、読出許可部１０７が受信することである。また、当該「読出許可信号の送信を指示する」とは、例えば、読出許可信号送信指示信号などを送信することである。
【００３６】
また、後述の読出エラー検出部１０８が読出エラーを検出した場合、読出許可部１０７は、読出許可信号送信部１０３に読出許可信号の送信を指示しない。当該「読出エラーを検出した」とは、例えば、読出エラーを検出したことを示す信号など（以下、適宜、読出エラー検出信号）などを送信することである。この場合、読出許可部１０７は、当該読出エラー検出信号を受信する。そして、当該読出エラー検出信号を受信した場合、読出許可部１０７は、読出許可信号送信部１０３に読出許可信号の送信を指示しない。
【００３７】
読出エラー検出部１０８は、第二クロックドメインが、転送データ保存部１０１に保存されている転送データの読み出しに失敗したか否かの判断を、予め決められた条件を用いて行い、転送データの読出エラーを検出する。予め決められた条件とは、例えば、（１）読み出した転送データが、書き込まれた転送データと異なることや、（２）読み出す転送データが存在しないことなどである。つまり、（１）は、読み出したデータに関するエラーを検出するための条件である。また、（２）は、データの読み出し動作に関するエラーを検出するための条件である。また、当該条件は、通常、読出エラー検出部１０８が保持しているが、任意の記憶領域や、予め決められた記憶領域に保存されていてもよい。
【００３８】
また、（１）を検出するために、転送データ保存部１０１に保存されている転送データには、通常、いわゆる誤り検出符号（例えば、パリティビット、パリティコードなど）が付与されている。つまり、第一クロックドメインは、通常、転送データにいわゆる誤り検出符号を付与して、当該転送データを転送データ保存部１０１に書き込む。なお、当該誤り検出符号の付与は、書込部が行ってもよい。
【００３９】
また、読出エラー検出部１０８は、通常、上記の様な読出エラーの検出を、読出許可信号送信部１０３が読出許可信号を送信した直後に行う。このとき、読出エラー検出部１０８は、通常、転送データ保存部１０１から転送データを読み出し、当該読み出した結果を用いて、読出エラーの検出を行う。また、当該転送データの読み出しは、例えば、読出部が行ってもよい。
【００４０】
また、読出エラー検出部１０８は、転送データの読出エラーを検出した場合、当該読出エラーを検出したことを、読出許可部１０７、後述の再取得要求信号送信部１０９、および再書込要求信号送信部１１０に通知する。当該「通知する」とは、例えば、読出エラー検出信号を送信することである。
【００４１】
再取得要求信号送信部１０９は、読出エラー検出部１０８が読出エラーを検出した場合に、待機時間取得部１０６に対し待機時間の再取得を要求する再取得要求信号を送信する。この場合、再取得要求信号送信部１０９は、通常、読出エラー検出部１０８から読出エラー検出信号を受信する。そして、当該読出エラー検出信号を受信した場合、再取得要求信号送信部１０９は、待機時間取得部１０６に再取得要求信号を送信する。
【００４２】
再書込要求信号送信部１１０は、読出エラー検出部１０８が読出エラーを検出した場合に、第一クロックドメインに対し転送データ保存部１０１への転送データの再書き込みを要求する再書込要求信号を送信する。この場合、再書込要求信号送信部１１０は、通常、読出エラー検出部１０８から読出エラー検出信号を受信する。そして、当該読出エラー検出信号を受信した場合、再書込要求信号送信部１１０は、第一クロックドメインに再書込要求信号を送信する。
【００４３】
なお、転送データ保存部１０１は、通常、いわゆるレジスタが好適であるが、その他の記憶回路や、揮発性の記録媒体、不揮発性の記録媒体などでも実現可能である。
【００４４】
また、書込完了信号受信部１０２、読出許可信号送信部１０３、読出完了信号受信部１０４、書込許可信号送信部１０５、再取得要求信号送信部１０９、再書込要求信号送信部１１０は、通常、無線または有線の通信手段などで実現され得る。
【００４５】
また、待機時間取得部１０６、読出許可部１０７、読出エラー検出部１０８は、通常、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの集積回路で実現され得る。また、待機時間取得部１０６などは、ＭＰＵやメモリ等から実現され得えてもよい。この場合、待機時間取得部１０６などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。
【００４６】
次に、データ転送装置１の全体動作について、図２のフローチャートを用いて説明する。
【００４７】
（ステップＳ２０１）読出許可部１０７は、待機時間取得部１０６が待機時間を取得済みであるか否かを判断する。取得済みである場合は、ステップＳ２０２に進み、そうでない場合は、ステップＳ２１０に進む。
【００４８】
（ステップＳ２０２）読出許可信号送信部１０３は、書込完了信号受信部１０２が書込完了信号を受信したか否かを判断する。受信した場合は、ステップＳ２０３に進み、そうでない場合は、ステップＳ２０２に戻る。
【００４９】
（ステップＳ２０３）読出許可部１０７は、読出許可信号の送信のタイミングであるか否かを判断する。読出許可部１０７は、例えば、書込完了信号受信部１０２が書込完了信号を受信後、待機時間取得部１０６が取得した待機時間が経過したか否かを判断する。送信のタイミングである場合は、ステップＳ２０４に進み、そうでない場合は、ステップＳ２０３に戻る。
【００５０】
（ステップＳ２０４）読出エラー検出部１０８は、読出エラーを検出したか否かを判断する。検出した場合は、ステップＳ２１５に進み、そうでない場合は、ステップＳ２０５に進む。
【００５１】
（ステップＳ２０５）読出許可部１０７は、読出許可信号送信部１０３に、読出許可信号送信指示信号を送信する。
【００５２】
（ステップＳ２０６）読出許可信号送信部１０３は、第二クロックドメインに、読出許可信号を送信する。
【００５３】
（ステップＳ２０７）書込許可信号送信部１０５は、読出完了信号受信部１０４が読出完了信号を受信したか否かを判断する。受信した場合は、ステップＳ２０８に進み、そうでない場合は、ステップＳ２０７に戻る。
【００５４】
（ステップＳ２０８）読出完了信号受信部１０４は、書込許可信号送信部１０５に、読出完了信号受信通知信号を送信する。
【００５５】
（ステップＳ２０９）書込許可信号送信部１０５は、第一クロックドメインに、書込許可信号を送信する。
【００５６】
（ステップＳ２１０）待機時間取得部１０６は、時間の計測を開始する。
【００５７】
（ステップＳ２１１）待機時間取得部１０６は、読出完了信号受信部１０４に、計測信号を送信する。
【００５８】
（ステップＳ２１２）待機時間取得部１０６は、読出許可信号送信部１０３が、ステップＳ２１１で送信した計測信号を受信したか否かを判断する。受信した場合は、ステップＳ２１３に進み、そうでない場合は、ステップＳ２１２に戻る。
【００５９】
（ステップＳ２１３）待機時間取得部１０６は、時間の計測を終了する。
【００６０】
（ステップＳ２１４）待機時間取得部１０６は、ステップＳ２１０からステップＳ２１３まで計測した時間を、待機時間として取得する。
【００６１】
（ステップＳ２１５）読出エラー検出部１０８は、ステップＳ２０４で検出した読出エラーが、転送データが存在しないことに関するエラーであるか否かを判断する。当該エラーである場合は、ステップＳ２１６に進み、そうでない場合は、ステップＳ２１７に進む。
【００６２】
（ステップＳ２１６）再取得要求信号送信部１０９は、待機時間取得部１０６に、再取得要求信号を送信する。
【００６３】
（ステップＳ２１７）再書込要求信号送信部１１０は、第一クロックドメインに、再書込要求信号を送信する。
【００６４】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
【００６５】
また、図２のフローチャートのステップＳ２１１からステップＳ２１２において、待機時間取得部１０６が読出完了信号受信部１０４に送信した計測信号は、読出完了信号受信部１０４、書込許可信号送信部１０５、書込完了信号受信部１０２、読出許可信号送信部１０３の順に伝送される。
【００６６】
また、図２のフローチャートにおいて、制御信号を受信する部が当該制御信号を受信したか否かの判断については、適宜、省略していることは言うまでもない。
【００６７】
（具体例）
次に、データ転送装置１を回路で構成したデータ転送回路２を例に、データ転送装置１の動作の具体例について説明する。なお、本具体例において、データ転送回路２は、異なるクロックで動作する回路間でのデータ転送を行う回路である。また、当該異なるクロックは、それぞれ、第一クロック、第二クロックであるものとする。また、当該それぞれのクロックで動作する回路を、第一クロック回路、第二クロック回路とする。また、当該回路間で転送されるデータ（以下、転送データ）は、１フレーム分の映像信号から取得された任意の特徴量であるものとする。つまり、データ転送回路２は、１フレーム分の映像信号から取得された任意の特徴量が第一クロック回路から書き込まれ、当該１フレーム分の映像信号から取得された任意の特徴量を第二クロック回路が読み出すものとする。
【００６８】
図３に、データ転送の例を示す。図３において、書込側クロック（第一クロック）と、読出側クロック（第二クロック）とは異なっている。また、データ転送回路２が受信した転送データ（書込データ）は、データが確定しない不安定区間を経過後、送信できる状態となる（読出データ）。また、書込完了信号は、当該不安定区間のどこかで「０」から「１」になる。従って、データ転送回路２は、読出データが確定してから読出許可信号を第二クロック回路に送信する必要がある。この転送データの受信から読出許可信号の送信までが待機時間となるが、データ転送回路２は、当該待機時間を自動設定する。
【００６９】
また、図４に、データ転送回路２の構成例を示す。図４において、データ転送回路２は、エラー検出符号付与回路２０１、レジスタ２０２、エラー検出回路２０３、書込完了信号受信回路２０４、読出許可信号送信回路２０５、読出完了信号受信回路２０６、書込許可信号送信回路２０７、待機時間計測回路２０８を備える。
【００７０】
エラー検出符号付与回路２０１は、書込部、または第一クロック回路に相当する。また、レジスタ２０２は、転送データ保存部１０１に相当する。また、エラー検出回路２０３は、読出エラー検出部１０８、再取得要求信号送信部１０９、再書込要求信号送信部１１０に相当する。また、書込完了信号受信回路２０４は、書込完了信号受信部１０２に相当する。また、読出許可信号送信回路２０５は、読出許可信号送信部１０３、読出許可部１０７に相当する。また、読出完了信号受信回路２０６は、読出完了信号受信部１０４に相当する。また、書込許可信号送信回路２０７は、書込許可信号送信部１０５に相当する。また、待機時間計測回路２０８は、待機時間取得部１０６に相当する。
【００７１】
（例１）
まず、第一クロック回路の電源がＯＮになったとする。すると、待機時間計測回路２０８は、第一クロックのカウントを開始する。そして、待機時間計測回路２０８は、当該カウントの開始と同時に、計測信号を読出完了信号受信回路２０６に送信する。当該計測信号は、読出完了信号受信回路２０６、書込許可信号送信回路２０７、書込完了信号受信回路２０４、読出許可信号送信回路２０５に伝送される。そして、待機時間計測回路２０８は、読出許可信号送信回路２０５が計測信号を受信すると同時に、第一クロックのカウントを終了する。そして、待機時間計測回路２０８は、当該カウントした第一クロックの数を待機時間として取得する。ここで、当該待機時間は、「７クロック」であるものとする。
【００７２】
次に、第一クロック回路が、レジスタに１フレーム分の映像信号から取得された任意の特徴量を書き込んだとする。すると、第一クロック回路は、当該書き込みの完了と同時に、書込完了信号をデータ転送回路２に送信する。
【００７３】
次に、書込完了信号受信回路２０４は、書込完了信号を受信する。そして、書込完了信号受信回路２０４は、書込完了信号受信通知信号を読出許可信号送信回路２０５に送信する。
【００７４】
次に、読出許可信号送信回路２０５は、書込完了信号受信通知信号を受信する。そして、読出許可信号送信回路２０５は、書込完了信号受信回路２０４が書込完了信号を受信してから、第一クロックの７クロック分の時間が経過したか否かを判断する。経過していない場合、読出許可信号送信回路２０５は、経過するまで待機する。経過した場合、読出許可信号送信回路２０５は、読出許可信号を第二クロック回路に送信する。
【００７５】
次に、第二クロック回路が、レジスタに保存されている１フレーム分の映像信号から取得された任意の特徴量を読み出したとする。すると、第二クロック回路は、当該読み出しの完了と同時に、読出完了信号をデータ転送回路２に送信する。
【００７６】
次に、読出完了信号受信回路２０６は、読出完了信号を受信する。そして、読出完了信号受信回路２０６は、読出完了信号受信通知信号を書込許可信号送信回路２０７に送信する。
【００７７】
次に、書込許可信号送信回路２０７は、読出完了信号受信通知信号を受信する。そして、書込許可信号送信回路２０７は、読出許可信号を第一クロック回路に送信する。
【００７８】
（例２）
まず、レジスタに、パリティビットが付与された任意の特徴量が保存されているとする。当該特徴量は、１フレーム分の映像信号から取得された特徴量である。つまり、エラー検出符号付与回路２０１が、第一クロック回路から１フレーム分の映像信号から取得された任意の特徴量を受信し、当該映像信号にパリティビットを付与し、当該映像信号をレジスタに書き込んだとする。
【００７９】
次に、上記の例１の様な処理を行い、読出許可信号送信回路２０５が、読出許可信号を送信するタイミングになったとする。これは、例えば、エラー検出回路２０３が、読出許可信号送信回路２０５の内部状態を取得し、当該内部状態により判断する。すると、エラー検出回路２０３は、レジスタに保存されている映像信号の誤りを、付与されているパリティビットを用いて検出する。ここで、誤りが検出されたとする。すると、エラー検出回路２０３は、読出エラー検出信号を読出許可信号送信回路２０５に送信する。また、エラー検出回路２０３は、再書込要求信号を第一クロック回路に送信する。
【００８０】
なお、エラー検出回路２０３は、例えば、誤りが解消されるまで、読出エラー検出信号を読出許可信号送信回路２０５に送信し続けてもよい。この場合、読出許可信号送信回路２０５は、読出エラー検出信号を受信している間は、書込完了信号受信通知信号を受信しても、読出許可信号を送信しない。また、エラー検出回路２０３は、例えば、誤りが解消された後に、当該誤りが解消されたことを通知する読出エラー解消信号を読出許可信号送信回路２０５に送信してもよい。この場合、読出許可信号送信回路２０５は、読出エラー検出信号を受信後、読出エラー解消信号を受信するまでは、書込完了信号受信通知信号を受信しても、読出許可信号を送信しない。また、読出エラーの解消後の読出許可信号送信回路２０５の動作は、例１と同様であるので、説明を省略する。
【００８１】
また、エラー検出回路２０３が、レジスタに映像信号が保存されていない読出エラーを検出した場合、エラー検出回路２０３は、待機時間計測回路２０８に再取得要求信号送信部１０９を送信する。この場合、読出許可信号送信回路２０５は、待機時間計測回路２０８が待機時間を再取得するまでは、書込完了信号受信通知信号を受信しても、読出許可信号を送信しない。また、レジスタに映像信号が保存されていない場合の読出エラーの検出の方法や手順などは、上記と同様であるので、説明を省略する。
【００８２】
以上、本実施の形態によるデータ転送装置１によれば、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができる。
【００８３】
また、本実施の形態によるデータ転送装置１によれば、データの乗り換え時のエラーを検出することができる。
【００８４】
また、本実施の形態によるデータ転送装置１によれば、データの乗り換え時のエラーが発生した場合に、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを再決定することができる。
【００８５】
また、本実施の形態によるデータ転送装置１によれば、データの乗り換え時のエラーが発生した場合に、データの送信側に、データの再送を要求することができる。
【００８６】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
【００８７】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００８８】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【００８９】
また、上記各実施の形態におけるデータ転送装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、第一クロックで動作する第一クロックドメインから、前記第一クロックとは異なる第２クロックで動作する第二クロックドメインへのデータ転送を行うプログラムにおいて、コンピュータを、前記第一クロックドメインから前記第一クロックで転送データが書き込まれ、前記書き込まれた転送データが前記第二クロックドメインから前記第二クロックで読み出される転送データ保存部と、前記第一クロックドメインから、前記転送データの書き込みが完了したことを示す書込完了信号を受信する書込完了信号受信部と、前記書込完了信号の受信に応じて、前記第二クロックドメインに前記転送データの読み出しを許可することを示す読出許可信号を送信する読出許可信号送信部と、前記第二クロックドメインから、前記転送データの読み出しが完了したことを示す読出完了信号を受信する読出完了信号受信部と、前記読出完了信号の受信に応じて、前記第一クロックドメインに前記転送データの書き込みを許可することを示す書込許可信号を送信する書込許可信号送信部と、前記転送データ保存部に転送データが書き込まれたことと、前記書込完了信号受信部が書込完了信号を受信したこととを検知し、前記読出許可信号送信部に読出許可信号の送信を指示する読出許可部とを具備し、前記読出許可信号送信部は、前記指示に応じて、前記第二クロックドメインに読出許可信号を送信するプログラムである。
【００９０】
なお、上記プログラムにおいて、ハードウェアでしか行われない処理は少なくとも含まれない。
【００９１】
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【００９２】
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
【００９３】
また、図５は、前述のプログラムを実行して、前述の実施の形態のデータ転送装置等を実現するコンピュータシステム９の概観図である。前述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
【００９４】
図５において、コンピュータシステム９は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０１１、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ９０１２を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【００９５】
図６は、コンピュータシステム９のブロック図である。図６において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１３と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０１４と、ＭＰＵ９０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０１５と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク９０１６と、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２、ＭＰＵ９０１３等を相互に接続するバス９０１７とを備える。ここでは図示しないが、コンピュータ９０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを備えていてもよい。
【００９６】
コンピュータシステム９に、前述の実施の形態のデータ転送装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９１０１、またはＦＤ９１０２に記憶されて、ＣＤ−ＲＯＭドライブ９０１１またはＦＤドライブ９０１２に挿入され、さらにハードディスク９０１６に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９０１６に記憶されてもよい。プログラムは実行の際にＲＡＭ９０１５にロードされる。プログラムは、ＣＤ−ＲＯＭ９１０１、ＦＤ９１０２またはネットワークから直接、ロードされてもよい。
【００９７】
プログラムは、コンピュータ９０１に、前述の実施の形態のデータ転送装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム９がどのように動作するかは周知であり、詳細な説明は省略する。
【００９８】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００９９】
以上のように、本発明にかかるデータ転送装置は、乗り換え元のクロックと乗り換え先のクロックとに応じて、自動的にデータ乗り換えのタイミングを決定することができるという効果を有し、データ転送装置等として有用である。
【符号の説明】
【０１００】
１  データ転送装置
１０１  転送データ保存部
１０２  書込完了信号受信部
１０３  読出許可信号送信部
１０４  読出完了信号受信部
１０５  書込許可信号送信部
１０６  待機時間取得部
１０７  読出許可部
１０８  読出エラー検出部
１０９  再取得要求信号送信部
１１０  再書込要求信号送信部
【図１】
0005878069.tif 000002
【図２】
0005878069.tif 000003
【図３】
0005878069.tif 000004
【図４】
0005878069.tif 000005
【図５】
0005878069.tif 000006
【図６】
0005878069.tif 000007