(57)【要約】【課題】  信号の伝搬遅延が生じた場合にも正常に受信データの取り込みが可能であり、再送等によるコスト上昇を防止すると共にデータ転送の高速化を実現する。【解決手段】  入力データＳＩと、入力データＳＩを受信すべきタイミングを規定する転送クロックＳＣＫとを与えられ、転送クロックＳＣＫが規定する受信すべきタイミングから入力データＳＩが到着するまでに要した遅延時間を検出する遅延時間検出回路１１と、記転送クロックＳＣＫが規定する受信すべきタイミングから、検出された遅延時間だけ遅延されたタイミングで、データ取り込み信号を出力するデータ取り込み制御回路１２と、データ取り込み信号を与えられたタイミングに従って入力データＳＩを取り込むデータバッファ１３とを備える。【選択図】  図１
2005311944.tif 000002
【特許請求の範囲】
【請求項１】
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられ、前記転送クロックが規定する受信すべきタイミングから前記入力データが到着するまでに要した遅延時間を検出する遅延時間検出回路と、
前記転送クロックが規定する受信すべきタイミングから、検出された前記遅延時間だけ遅延されたタイミングで、データ取り込み信号を出力するデータ取り込み制御回路と、
前記データ取り込み信号を与えられたタイミングに従って、前記入力データを取り込むデータバッファと、
を備えることを特徴とするデータ受信回路。
【請求項２】
入力データを受信する際の遅延時間を設定される遅延時間設定レジスタと、
前記入力データを受信すべきタイミングを規定する転送クロックを与えられ、前記転送クロックが規定する受信すべきタイミングから時間の計測を開始して時間計測値を出力する時間計測回路と、
前記時間計測回路から出力された前記時間計測値と、前記レジスタに設定された前記遅延時間とを与えられ、前記時間計測値が前記遅延時間に到達した時点でデータ取り込み信号を出力するデータ取り込み信号出力回路と、
前記データ取り込み信号を与えられたタイミングに従って、前記入力データをとりこむデータバッファと、
を備えることを特徴とするデータ受信回路。
【請求項３】
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられるステップと、
前記転送クロックが規定する受信すべきタイミングから、所望の時間が経過した後、前記入力データを取り込むステップと、
を備えることを特徴とするデータ受信方法。
【請求項４】
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられ、前記転送クロックが規定する受信すべきタイミングから前記入力データが到着するまでに要した遅延時間を検出するステップと、
前記転送クロックが規定する受信すべきタイミングから、検出した前記遅延時間だけ遅延されたタイミングで、データ取り込み信号を出力するステップと、
前記データ取り込み信号が出力されたタイミングに従って、前記入力データを取り込むステップと、
を備えることを特徴とするデータ受信方法。
【請求項５】
入力データを受信する際の遅延時間を設定するステップと、
前記入力データを受信すべきタイミングを規定する転送クロックを与えられ、前記転送クロックが規定する受信すべきタイミングから時間の計測を開始して時間計測値を出力するステップと、
前記時間計測値と、前記遅延時間とを与えられ、前記時間計測値が前記遅延時間に到達した時点でデータ取り込み信号を出力するステップと、
前記データ取り込み信号が出力されたタイミングに従って、前記入力データを取り込むステップと、
を備えることを特徴とするデータ受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ受信方法及びその回路に関する。
【背景技術】
【０００２】
同期型シリアル通信機能を有する半導体装置には、受信回路としてシリアルインタフェース回路が設けられている。従来のシリアルインタフェース回路における受信動作について説明する。
【０００３】
同期型シリアル通信では、転送クロックＳＣＫに同期して、通信先の装置に接続された通信データラインからデータを取り込むように構成されている。通常、外部の装置に対するデータ送信の要求を、転送クロックＳＣＫの立ち下がりのタイミングと同期して行う。そして、送信されてきたデータの取り込みは、転送クロックＳＣＫの立ち上がりのタイミングで行う。よって、転送クロックＳＣＫの立ち上がりより、受信すべきデータの到着が遅れた場合は、正常にデータを取り込むことができなくなる。
【０００４】
しかし従来は、通信データラインの負荷容量を考慮したデータの取り込みは、行っていなかった。このため従来は、通信クロックラインや通信データラインに寄生する容量により信号の伝播遅延が発生した場合、データを受信できずに通信エラーが発生していた。その結果、データ転送の再送、再送に伴う時間的損失、外付け抵抗の付加、通信制御用ソフトウェアによる受信タイミングの調整等が必要となり、コスト増加を招くと共に、データ転送の高速化の妨げとなっていた。
【０００５】
以下に、従来のデータ受信回路を開示する文献名を記載する。
【特許文献１】特開平７−１０６９９２号公報
【特許文献２】特開２００２−２９０９６９号公報
【特許文献３】特開２００３−２１８８４７号公報
【特許文献４】特開２００３−２７３８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記事情に鑑み、信号の伝搬遅延が生じた場合にも正常にデータの取り込みが可能であり、再送等によるコスト上昇を防止すると共に、データ転送の高速化が可能なデータ受信方法及びその回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によるデータ受信回路は、
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられ、前記転送クロックが規定する受信すべきタイミングから前記入力データが到着するまでに要した遅延時間を検出する遅延時間検出回路と、
前記転送クロックが規定する受信すべきタイミングから、検出された前記遅延時間だけ遅延されたタイミングで、データ取り込み信号を出力するデータ取り込み制御回路と、
前記データ取り込み信号を与えられたタイミングに従って、前記入力データを取り込むデータバッファと、
を備えることを特徴とする。
【０００８】
また本発明の一態様によるデータ受信回路は、
入力データを受信する際の遅延時間を設定される遅延時間設定レジスタと、
前記入力データを受信すべきタイミングを規定する転送クロックを与えられ、前記転送クロックが規定する受信すべきタイミングから時間の計測を開始して時間計測値を出力する時間計測回路と、
前記時間計測回路から出力された前記時間計測値と、前記レジスタに設定された前記遅延時間とを与えられ、前記時間計測値が前記遅延時間に到達した時点でデータ取り込み信号を出力するデータ取り込み信号出力回路と、
前記データ取り込み信号を与えられたタイミングに従って、前記入力データをとりこむデータバッファと、
を備えることを特徴とする。
【０００９】
本発明の一態様によるデータ受信方法は、
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられるステップと、
前記転送クロックが規定する受信すべきタイミングから、所望の時間が経過した後、前記入力データを取り込むステップと、
を備えることを特徴とする。
【００１０】
また、本発明の一態様によるデータ受信方法は、
入力データと、前記入力データを受信すべきタイミングを規定する転送クロックとを与えられ、前記転送クロックが規定する受信すべきタイミングから前記入力データが到着するまでに要した遅延時間を検出するステップと、
前記転送クロックが規定する受信すべきタイミングから、検出した前記遅延時間だけ遅延されたタイミングで、データ取り込み信号を出力するステップと、
前記データ取り込み信号が出力されたタイミングに従って、前記入力データを取り込むステップと、
を備えることを特徴とする。
【００１１】
さらに、本発明の一態様によるデータ受信方法は、
入力データを受信する際の遅延時間を設定するステップと、
前記入力データを受信すべきタイミングを規定する転送クロックを与えられ、前記転送クロックが規定する受信すべきタイミングから時間の計測を開始して時間計測値を出力するステップと、
前記時間計測値と、前記遅延時間とを与えられ、前記時間計測値が前記遅延時間に到達した時点でデータ取り込み信号を出力するステップと、
前記データ取り込み信号が出力されたタイミングに従って、前記入力データを取り込むステップと、
を備えることを特徴とする。
【発明の効果】
【００１２】
本発明のデータ受信方法及びその回路は、信号の伝搬遅延が生じた場合であっても正常にデータを取り込むことが可能であり、通信エラーを防止することでコストの増加を抑制し、かつデータ転送を高速化することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態によるデータ受信方法及び受信回路について、図面を参照して説明する。
【００１４】
（１）第１の実施の形態
図１に、本発明の第１の実施の形態によるデータ受信回路の概略構成を示す。
【００１５】
このデータ受信回路は、回路ブロックとして遅延時間検出回路１１、データ取り込み制御回路１２、データバッファ１３を備え、図示されていない通信先の回路からデータを受信し、受信したデータを内部バス１４を介して装置内部へ転送する。
【００１６】
遅延時間検出回路１１は、転送クロックＳＣＫ、システムクロック及び入力データＳＩを与えられ、転送クロックＳＣＫが立ち上がる本来取り込むべきタイミングから、入力データＳＩが到着するまでの遅延時間をシステムクロックに基づいて検出する。
【００１７】
ここでシステムクロックは、遅延時間を測定するために用いられ、転送クロックＳＣＫより周波数が高い。測定した遅延時間は、データ取り込み制御回路１２に与えられる。
【００１８】
データ取り込み制御回路１２は、転送クロックＳＣＫ、測定された遅延時間、システムクロックを与えられる。このデータ取り込み制御回路１２は、転送クロックＳＣＫが立ちあがった時点から、システムクロックを用いて時間の計測を開始し、測定された遅延時間と同じ時間が経過した時点でデータを取り込むように、データ取り込み信号を出力する。
【００１９】
データバッファ１３は、データ取り込み信号を与えられるとこのタイミングに従って受信データの取り込みを行い、内部バス１４へ転送する。
【００２０】
図２に、本実施の形態における詳細な回路構成を示し、図３に各信号のタイムチャートを示す。ここで、図３における各信号の（Ａ）〜（Ｈ）は、図２に示された回路においてそれぞれの信号が入出力されるノードを示す。
【００２１】
遅延時間検出回路１１は、遅延時間測定制御回路１００、遅延時間測定カウンタ２００を有する。
【００２２】
データ取り込み制御回路１２は、一致検出カウンタ制御回路３００、一致検出回路４００、一致検出カウンタ５００、一致検出カウンタリセット回路６００、ラッチ回路７００を有する。
【００２３】
データバッファ１３は、データバッファ８００を有する。
【００２４】
先ず、時点ｔ０において、リセット信号／ＲＥＳＥＴがローレベルからハイレベルに立ち上がってリセット状態が解除され、遅延時間測定制御回路１００、一致検出カウンタ制御回路３００、データバッファ８００が動作状態になる。
【００２５】
遅延時間測定制御回路１００は、ＮＡＮＤ回路１０１〜１０４、１０６と、インバータ１０５及び１０７を有する。通信相手の回路に入力データＳＩの送信を要求するため、転送クロックＳＣＫが時点ｔ１でハイレベルからローレベルに立ち下がる。この時点ｔ１から遅延時間の測定が開始される。
【００２６】
ここで、本実施の形態では、リセット状態を解除した後、初めの入力データＳＩ（スタートビット）を必ずローレベルに設定するように規定している。
【００２７】
ＮＡＮＤ回路１０１〜１０４及びインバータ１０５により、転送クロックＳＣＫがローレベルになり、かつ入力データＳＩがハイレベルを維持し最初のローレベルの入力データＳＩが入力されない間、ＮＡＮＤ回路１０１、インバータ１０５からそれぞれハイレベルの出力がＮＡＮＤ回路１０６に出力される。これにより、ＮＡＮＤ回路１０６及びインバータ１０７からはスルーされたシステムクロック２／ｆｃが出力されて、遅延時間測定カウンタ２００に与えられる。最初のローレベルの入力データＳＩが入力されると、遅延時間測定制御回路１００から遅延時間測定カウンタ２００へのシステムクロック２／ｆｃの供給が停止される。
【００２８】
遅延時間測定カウンタ２００は、ここではフリップフロップ２０１〜２０４が直列に４段接続されたシフトレジスタを有し、与えられたシステムクロック２／ｆｃを順次転送する。これにより、各フリップフロップ２０１〜２０４からは、転送クロックＳＣＫがローレベルに立ち下がった時点ｔ１から最初のローレベルの入力データＳＩが入力された時点ｔ２までの遅延時間を計測した４ビットのカウンタ値が出力される。測定された遅延時間は、一致検出回路４００に出力される。また、フリップフロップ２０１〜２０４はリセット付きトグルフリップフロップとして構成されているため、ローレベルのリセット信号／ＲＥＳＥＴがフリップフロップ２０１〜２０４のＣＤ端子に入力されるまでの間は、測定したカウント値は変更されることなく保持される。
【００２９】
ここで、各フリップフロップのＣＤ端子は、ローレベルの信号が与えられると、出力端子Ｑがローレベルに固定され、出力端子ＱＮがハイレベルに固定される。また、ＳＤ端子はＣＤ端子と逆に、ローレベルの信号が宛てられると、出力端子Ｑがハイレベル、出力端子ＱＮがローレベルに固定される。
【００３０】
一方、一致検出カウンタ制御回路３００は、フリップフロップ３０１、ＮＡＮＤ回路３０２、インバータ３０３を有する。
【００３１】
システム全体の動作を管理する、図示されていないＣＰＵやマイクロコンピュータ等から出力された、データの転送動作状態を監視するためのデータ転送動作状態モニタ信号が時点ｔ０から時点ｔ１までの間にハイレベルに立ち上がる。そして、転送クロックＳＣＫがローレベルからハイレベルに立ち上がると、フリップフロップ３０１からハイレベルの出力がＮＡＮＤ回路３０２に与えられる。これにより、ＮＡＮＤ回路３０２及びインバータ３０３によりシステムクロック２／ｆｃがスルー出力されて、一致検出カウンタ制御回路３００に与えられる。
【００３２】
一致検出カウンタ制御回路３００は、フリップフロップ５０１〜５０４を有し、時間測定を行い４ビットの測定値を出力する。
【００３３】
一致検出回路４００は、遅延時間測定カウンタ２００が測定した遅延時間と、一致検出カウンタ制御回路３００が計測中の時間とを、４ビット分のＥＸ−ＯＲ回路４０１〜４０４により比較し、一致したビット毎にハイレベルを出力する。全てのビットが一致すると、ＮＡＮＤ回路４０５からローレベルの信号が出力される。
【００３４】
ラッチ回路７００は、システムクロック２／ｆｃに同期したタイミングで、ＮＡＮＤ回路４０５からハイレベルが出力されている間ローレベルを維持し、全ビットが一致してＮＡＮＤ回路４０５からローレベルが出力されるとハイレベルに立ち上がるデータ取り込み信号を出力端子ＱＮから出力する。
【００３５】
同時に、出力端子Ｑからは一致検出後にハイレベルからローレベルに立ち下がる信号が出力され、一致検出カウンタリセット回路６００のフリップフロップ６０１のＳＤ端子に与えられる。
【００３６】
フリップフロップ６０１は、ハイレベルの信号がＳＤ端子に入力されている間は、ＱＮ端子からハイレベルの出力をインバータ６０２に与える。インバータ６０２は、このハイレベルの出力を反転してＮＡＮＤ回路ＮＡ６０３に与える。ＮＡＮＤ回路６０３には、ローレベルに立ち下がっているリセット信号ＲＥＳＥＴが与えられており、ハイレベルが出力されて各フリップフロップ５０１〜５０４のＣＤ端子に与えられる。この間は、フリップフロップ５０１〜５０４は時間の計測を行う。
【００３７】
カウンタ値が一致し、フリップフロップ６０１のＳＤ端子に入力されている信号がローレベルになると、ＱＮ端子からローレベルが出力される。この結果フリップフロップ５０１〜５０４のＣＤ端子にはローレベルが入力されて、全てのフリップフロップ５０１〜５０４がリセットされ、時間計測が停止される。
【００３８】
これにより、一致検出回路４００において比較している、遅延時間測定カウンタ２００からの遅延時間と一致検出カウンタ５００からの時間測定値とが一致しなくなり、ＮＡＮＤ回路４０５からの出力がローレベルからハイレベルに立ち上がる。これにより、フリップフロップ７００の出力端子ＱＮがローレベルに立ち下がる。よって、一致検出後に、ＱＮ端子からはハイレベルが１パルス出力されることになる。
【００３９】
データバッファ８００は、取り込むべき入力データＳＩのビット数に対応した数を有し、直列に接続されたフリップフロップ８０１〜８０５と、インバータ８１１〜８１５とを有する。
【００４０】
フリップフロップ８０１〜８０５は、１パルスのデータ取り込み信号を与えられると、このタイミングに同期して入力データＳＩを受信して順次転送していき、それぞれ対応するビットを保持する。フリップフロップ８０１〜８０５に入力データＳＩの全ビットが保持されると、図示されていないＣＰＵ等から内部バス出力イネーブル信号がインバータ８１１〜８１５に与えられて、動作状態になる。フリップフロップ８０１〜８０５からの出力がインバータ８１１〜８１５を介して出力され、内部バス１４を介して装置内部へ転送される。
【００４１】
この結果、図３に示されたように、転送クロックＳＣＫが立ち上がった本来取り込むべきタイミングから、測定した遅延時間分だけ遅延した時点ｔ３のタイミングで、入力データＳＩを取り込むこととなる。
【００４２】
次の入力データＳＩの取り込みに関し、転送クロックＳＣＫが立ち下がると、一致検出カウンタリセット回路６００から出力される一致カウンタリセット信号がハイレベルになる。この信号が一致検出カウンタ５００のフリップフロップ５０１〜５０４のＣＤ端子に入力されて、リセット状態が解除され、カウント動作が開始される。このカウント値が遅延時間と一致すると、一致検出回路４００からローレベルの信号が出力されて、ラッチ回路７００から１パルスのデータ取り込み信号が出力される。これ以降の動作は上述した通りであり、説明を省略する。
【００４３】
以上の動作を繰り返すことで、本実施の形態によれば、データ転送の遅延時間をハードウェアにより自動的に検出し、この遅延時間分入力データを取り込むタイミングを調整することで受信することができる。これにより、従来通信エラーが招いていたデータ転送の再送等によるコスト上昇を防止すると共に、データ転送の高速化に寄与することが可能である。
【００４４】
また、信号の遅延時間をハードウェアで自動的に検出してデータを取り込むタイミングを制御することにより、ＣＰＵやマイクロコンピュータ等の処理状態に関係なく受信動作を行うことができる。このため、通信制御用ソフトウェアによる受信タイミングの調整作業が不要であり、ソフトウェア開発を容易に行うことができる。
【００４５】
（３）第２の実施の形態
本発明の第２の実施の形態によるデータ受信回路の概略構成を、図４のブロック図に示す。
【００４６】
本実施の形態は、時間計測回路２１、データ取り込み信号出力回路２２、遅延時間設定レジスタ２３、データバッファ２４、内部バス２５を備えている。
【００４７】
内部バス２５を介して、図示されていないＣＰＵ等から送られてきた遅延時間に関する設定値が遅延時間設定レジスタ２３に与えられて保持される。
【００４８】
遅延時間設定レジスタ２３は、保持した遅延時間に従い、入力データを本来取り込むべきタイミングからこの遅延時間だけ遅らせるための遅延信号を生成してデータ取り込み信号出力回路２２に与える。
【００４９】
一方、時間計測回路２１は、転送クロックＳＣＫ及びシステムクロックを与えられ、本来入力データＳＩを受信すべき転送クロックＳＣＫが立ち上がった時点から時間の計測を開始し、時間計測値をデータ取り込み信号出力回路２２に出力する。
【００５０】
データ取り込み信号出力回路２２は、遅延信号に従って、転送クロックＳＣＫが立ち上がった時点から、設定された遅延時間が経過した時点でデータを取り込むように、データ取り込み信号を生成してデータバッファ２４に出力する。
【００５１】
データバッファ２４は、データ取り込み信号を与えられたタイミングに従って入力データＳＩを受信し、内部バス２５を介して装置内部へ転送する。
【００５２】
本実施の形態の詳細な回路構成の一例を図５に示し、この場合の駆動波形を図６のタイムチャートに示す。
【００５３】
ここで、図４に示されたデータ取り込み信号出力回路２２は、図５における選択回路２２、フリップフロップ１４００及びラッチ回路１５００を有する。
【００５４】
先ず、図６に示されたように、時点ｔ１０においてリセット信号／ＲＥＳＥＴがローレベルからハイレベルに立ち上がり、時間計測回路２１、遅延時間設定レジスタ２３、データバッファ２４のリセット状態が解除される。
【００５５】
さらに、時点ｔ１１においてデータ転送動作状態モニタ信号がローレベルからハイレベルに立ち上がり、時間計測回路２１に入力される。
【００５６】
時間計測回路２１は、フリップフロップ１００１、ＮＡＮＤ回路１００２及び１００４、インバータ１００３及び１００５、フリップフロップ１０１１〜１０１４を含むカウンタ１０１０を有する。
【００５７】
フリップフロップ１００１にハイレベルのデータ転送動作状態モニタ信号がデータ端子Ｄに入力され、ローレベルからハイレベルに立ち上がった転送クロックＳＣＫがクロック端子ＣＰに入力されると、ハイレベルの出力がＮＡＮＤ回路１００２に与えられる。これにより、システムクロック２／ｆｃがＮＡＮＤ回路１００２、インバータ１００３をスルーしてカウンタ１０１０に与えられる。
【００５８】
システムクロック２／ｆｃは、１段目のフリップフロップ１０１１のクロック端子ＣＲに入力される。
【００５９】
さらに、フリップフロップ１４００の出力端子ＱＮからはこの段階でハイレベルの出力がＮＡＮＤ回路１００４に与えられる。ＮＡＮＤ回路１００４には、ハイレベルのリセット信号／ＲＥＳＥＴ及びハイレベルの転送クロックＳＣＫが入力されている。このため、インバータ１００５を介してハイレベルの出力が全てのフリップフロップ１０１１〜１０１４のリセット端子ＣＤに入力され、リセットが解除された状態にある。
【００６０】
この結果、カウンタ１０１０は転送クロックＳＣＫの立ち上がりに同期して時間計測を開始し、４ビットのカウント値をセレクタ１３０１に出力する。
【００６１】
一方、遅延時間設定レジスタ２３には、予め図示されていないＣＰＵ等から、内部バス２５を介して２ビットのデータが遅延時間設定値として与えられる。時点ｔ１２において、１パルスの設定値取り込み信号がフリップフロップ１２０１及び１２０２のクロック端子Ｇに与えられると、この設定値をそれぞれ保持してセレクタ１３０１の入力端子Ｓ０、Ｓ１に出力する。
【００６２】
セレクタ１３０１の入力端子Ａ０〜Ａ３には、それぞれカウンタ１０１０のフリップフロップ１０１１〜１０１４から出力された４ビットのカウント値が入力される。
【００６３】
ここで、セレクタ１３０１に入力された２ビットの設定値は、４ビットのカウント値のいずれかが論理「０（ここではローレベルに対応する）」から論理１（ここではハイレベルに対応する）」に立ち上がった時点で、この論理「１」をスルー出力してラッチ回路１５００に与える。
【００６４】
例えば、設定値が（０、０）の場合は最下位ビットのカウント値（入力端子Ａ３）、設定値が（０、１）の場合は２番目のビットのカウント値（入力端子Ａ２）を選択し、選択したカウント値が論理「１」に立ち上がるとこれを出力する。これにより、転送クロックＳＣＫが立ち上がった時点から計測を開始した時間を選択することとなる。
【００６５】
セレクタ１３０１からハイレベルが出力されると、システムクロック２／ｆｃに同期してラッチ回路１５００の出力端子Ｑからハイレベルのデータ取り込み信号が出力されてデータバッファ８００４に与えられる。同時に、出力端子ＱＮからローレベルの信号がフリップフロップ１４００のＳＤ端子に入力され、出力端子ＱＮからローレベルに立ち下がった遅延時間カウンタリセット信号が出力されて、ＮＡＮＤ回路１００４に与えられる。
【００６６】
ＮＡＮＤ回路１００４に、このローレベルの遅延時間カウンタリセット信号を与えられると、インバータ１００５を介してローレベルの信号がフリップフロップ１０１１〜１０１４のリセット端子ＣＤに与えられ、全てリセットされてカウント動作が停止する。これにより、全ビットが論理「０」のカウント値がセレクタ１３００に与えられ、その出力がローレベルに立ち下がる。この出力をラッチ回路１５００が与えられ、その結果データ取り込み信号は１パルスの波形を有することとなる。
【００６７】
データバッファ２４は、取り込むべき入力データＳＩのビット数に対応した数のフリップフロップ１６０１〜１６０５と、インバータ１６１１〜１６１５とを有する。
【００６８】
フリップフロップ１６０１〜１６０５は、１パルスのデータ取り込み信号を与えられると、このタイミングに同期して入力データＳＩを受信して順次転送していき、それぞれ対応するビットを保持する。フリップフロップ１６０１〜１６０５に入力データＳＩの全ビットが保持されると、図示されていないＣＰＵ等から内部バス出力イネーブル信号がインバータ１６１１〜１６１５に与えられて、動作状態になる。フリップフロップ１６０１〜１６０５からの出力がインバータ１６１１〜１６１５を介して出力され、内部バス２５を介して装置内部へ転送される。
【００６９】
これにより、図６に示されたように、転送クロックＳＣＫが立ち上がった本来受信すべきタイミングから、予め設定した遅延時間分だけ遅延した時点ｔ１４のタイミングで入力データＳＩを受信することとなる。
【００７０】
次の入力データＳＩの受信に関し、フリップフロップ１００１に入力される転送クロックＳＣＫが、一旦立ち下がった後立ち上がると、ハイレベルの信号が出力されてＮＡＮＤ回路１００２に与えられる。ＮＡＮＤ回路１００２及びインバータ１００３により、システムクロック２／ｆｃがスルーされてカウンタ１０１０に与えられる。また、転送クロックＳＣＫが立ち上がることで、インバータ１００５からカウンタ１０１０に与えられる信号がハイレベルになり、リセット状態が解除され、再びカウント動作が開始される。以降の動作は上述したとおりであり、説明を省略する。
【００７１】
以上の動作を繰り返すことで、本実施の形態によれば、予め設定した遅延時間に従い、データを受信すべきタイミングからこの遅延時間分だけ遅延させたタイミングで入力データを取り込むことにより、データに伝送遅延が生じた場合にも確実に受信することができる。これにより、通信エラーを抑制し、コストの増加を防止すると共にデータ転送の高速化を実現することができる。
【００７２】
また、本実施の形態は上記第１の実施の形態と相違し、データが到着するまでに要する遅延時間を測定するためのハードウェアを備える必要が無く、回路規模を縮小してよりコスト低減を図ることができる。
【００７３】
上述した実施の形態はいずれも一例であって、本発明を限定するものではない。例えば、上記第１、第２の実施の形態の具体例として図２、図５に示された回路構成は一例であり、本発明の技術的範囲を超えない範囲内で様々に変形することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の第１の実施の形態によるデータ受信回路の概略構成を示すブロック図。
【図２】同データ受信回路の詳細な構成を示す回路図。
【図３】同データ受信回路の各信号の動作波形を示すタイムチャート。
【図４】本発明の第２の実施の形態によるデータ受信回路の概略構成を示すブロック図。
【図５】同データ受信回路の詳細な構成を示す回路図。
【図６】同データ受信回路の各信号の動作波形を示すタイムチャート。
【符号の説明】
【００７５】
１１  遅延時間検出回路
１２  データ取り込み制御回路
１３  データバッファ
１４  内部バス
２１  時間計測回路
２２  データ取り込み信号出力回路
２３  遅延時間設定レジスタ
２４  データバッファ
２５、１１００、１７００  内部バス
１００  遅延時間測定制御回路
２００  遅延時間測定カウンタ
３００  一致検出カウンタ制御回路
４００  一致検出回路
５００  一致検出カウンタ
６００  一致検出カウンタリセット回路
７００  ラッチ回路
８００  データバッファ
９００  内部バス
１０００  時間計測回路
１２００  選択レジスタ
１３００  データ取り込み信号出力回路
１６００  データバッファ
【図１】
2005311944.tif 000003
【図２】
2005311944.tif 000004
【図３】
2005311944.tif 000005
【図４】
2005311944.tif 000006
【図５】
2005311944.tif 000007
【図６】
2005311944.tif 000008