(57)【特許請求の範囲】
【請求項１】
送信装置にデータを送信することを許可することを示す送信許可信号、及び上記送信装置から送信されたデータを受信装置に入力することを許可することを示す受信許可信号を生成するとともに、データをラッチするｎ個（ｎは、２以上の整数）の転送ユニットと、
送信データが有効であることを示す送信イネーブル信号がイネーブルとなった回数をカウントして、１〜ｎの値を巡回的に発生する送信カウンタと、
受信データが有効であることを示す受信イネーブル信号がイネーブルとなった回数をカウントして、１〜ｎの値を巡回的に発生する受信カウンタと、
上記複数の転送ユニットのうち、上記送信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、上記データの送信元である送信装置から送信された送信イネーブル信号を、選択した転送ユニットに供給する送信イネーブル信号デコーダと、
上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、上記データの受信先である受信装置から送信された受信イネーブル信号を選択した転送ユニットに供給する受信イネーブル信号デコーダと、
上記複数の転送ユニットのうち、上記送信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットにより生成された送信許可信号を選択して出力する送信許可信号セレクタと、
上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットにより生成された受信許可信号を選択して出力する受信許可信号セレクタと、
上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットによりラッチされているデータを出力するデータセレクタとを備え、
上記各転送ユニットは、
上記送信装置から送信された送信データを上記送信イネーブル信号デコーダから供給された送信イネーブル信号が、上記送信装置から送信された送信データが有効であることを示す期間に、上記送信装置がデータを送信する場合に同期する第１のクロックのエッジに同期してラッチし、ラッチしている送信データが上記受信イネーブル信号デコーダから供給された受信イネーブル信号のタイミングで読み出されるデータラッチ手段と、
上記送信イネーブル信号デコーダから供給された送信イネーブル信号を上記第１のクロックのエッジに同期してラッチし、ラッチした送信イネーブル信号を上記受信装置がデータを受信する場合に同期する第２のクロックのエッジに同期してラッチし、少なくとも上記第２のクロックの１周期の間だけ保持する第１のラッチ手段と、
上記第１のラッチ手段によりラッチされた送信イネーブル信号を上記第２のクロックのエッジに同期してラッチする第２のラッチ手段と、
上記第２のラッチ手段によりラッチされた送信イネーブル信号に応じて上記第２のクロックに同期した受信許可信号を発生し、上記受信イネーブル信号デコーダから供給された受信イネーブル信号に応じて当該受信許可信号の発生を停止する受信許可信号発生手段と、
上記受信イネーブル信号デコーダから供給された受信イネーブル信号を上記第２のクロックのエッジに同期してラッチし、ラッチした受信イネーブル信号を上記１のクロックでラッチし、少なくとも上記第１のクロックの１周期の間だけ保持する第３のラッチ手段と、
上記第３のラッチ手段によりラッチされた受信イネーブル信号を上記第１のクロックのタイミングでラッチする第４のラッチ手段と、
上記第４のラッチ手段によりラッチされた受信イネーブル信号に応じて上記第１のクロックに同期した送信許可信号を発生し、上記送信カウンタから供給された送信イネーブル信号に応じて当該送信許可信号の発生を停止する送信許可信号発生手段と
を備えたデータ転送装置。
【請求項２】
上記第２のラッチ手段は、上記第１のラッチ手段によりラッチされた送信イネーブル信号を、上記第２のクロックのタイミングで１回ラッチし、
上記第４のラッチ手段は、上記第３のラッチ手段によりラッチされた送信イネーブル信号を、上記第１のクロックのタイミングで１回ラッチする請求項１記載のデータ転送装置。
【請求項３】
上記ｎは、４以上とされている請求項１記載のデータ転送装置。
【請求項４】
第１のクロックの周期と第２のクロックの周期とが異なり、
上記ｎは、３以上である請求項１記載のデータ転送装置。
【請求項５】
上記第１のクロックの周期と第２のクロックとの周期の比が、１／２より小さく、或いは、２より大きくなっており、
上記ｎは、２以上である請求項１記載のデータ転送装置。
【請求項６】
上記第２のラッチ手段は、上記第１のラッチ手段によりラッチされた送信イネーブル信号を、上記第２のクロックのタイミングで２回ラッチし、
上記第４のラッチ手段は、上記第３のラッチ手段によりラッチされた送信イネーブル信号を、上記第１のクロックのタイミングで２回ラッチする請求項１記載のデータ転送装置。
【請求項７】
上記ｎは、６以上とされている請求項１記載のデータ転送装置。
【請求項８】
第１のクロックの周期と第２のクロックの周期とが異なり、
上記ｎは、５以上である請求項１記載のデータ転送装置。
【請求項９】
上記第１のクロックの周期と第２のクロックとの周期の比が、２／３より小さく、或いは、３／２より大きくなっており、
上記ｎは、４以上である請求項１記載のデータ転送装置。
【請求項１０】
上記第１のクロックの周期と第２のクロックとの周期の比が、１／３より小さく、或いは、３より大きくなっており、
上記ｎは、３以上である請求項１記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期のクロックで動作している２つのシステム間でデータの転送を行うデータ転送装置に関する。
【０００２】
【従来の技術】
非同期のクロックを用いた２つのシステム間でデータの転送を行う場合、転送するデータのクロック乗り換え処理を行わなければならない。クロック乗り換え処理の方法としては、例えば、ＦＩＦＯレジスタやＲＡＭでクロック間のタイミング差を吸収する方法や、送信側及び受信側の２つのクロックから、同期タイミング用の新たなクロックを生成し、その新たなクロックに同期させてデータを転送する方法などがある。しかしながら、前者の方法では、ＦＩＦＯレジスタやＲＡＭが必要であるので、回路規模が大きくなってしまう。また、後者の方法でも、クロック比の情報やタイミング調整用のパラメータ情報等を入力する必要があったり、同期タイミング用のクロックを生成するための回路が必要であったりするので、やはり回路規模が大きくなってしまう。
【０００３】
また、送信データのイネーブル信号を受信側のクロックで検出して、その検出タイミングでデータを受信側に転送する方法もある。この方法の場合、回路規模は非常に小さくなるが、送信側のクロックよりも受信側のクロックの方が充分早くなければ実現できない。
【０００４】
以上のような問題を解決するシステムとして、従来より、図１２に示すような、データ送信許可及びデータ受信許可を発生して、データの転送タイミングの制御をしながらクロック乗換えを行うシステムが提案されている。
【０００５】
以下、この図１２に示す従来のクロック乗り換えシステムについて説明をする。
【０００６】
従来のクロック乗り換えシステム１００は、データの転送元の装置（以下、送信装置１０１という。）と、データの転送先の装置（以下、受信装置１０２という。）との間に、送信装置１０１から受信装置１０２へデータの受け渡しを行うデータ転送装置１０３が設けられた構成となっている。
【０００７】
送信装置１０１は、所定の周波数のクロック（送信クロックckw）で動作している。送信装置１０１は、所定のバス幅のデータをデータ出力端子から出力する。送信装置１０１は、データ転送を行う場合、送信クロックckwに同期した送信データdwiをデータ転送装置１０３へ送信する。
【０００８】
送信装置１０１は、データ転送を行う場合、バスを転送している送信データdwiの送信タイミングを示す送信イネーブル信号ewiも、送信データdwiに同期させてデータ転送装置１０３に出力する。送信イネーブル信号ewiは、送信クロックckwに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。送信イネーブル信号ewiは、送信装置１０１からデータ転送装置１０３へ送信データdwiが転送されているタイミングでＨとされ、送信データdwiが転送されていないタイミングにＬとされる。
【０００９】
送信装置１０１は、送信データdwiの出力を許可することを意味する送信許可信号rwoを、データ転送装置１０３から受信する。送信許可信号rwoは、送信クロックckwに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。送信装置１０１は、送信許可信号rwoが１クロック分Ｈとされると、１ワード分の送信データdwiを送信クロックckwに同期させてデータ転送装置１０３へ送信する。送信装置１０１は、送信許可信号rwoがＬとされている間は、送信データdwi及び送信イネーブル信号dwiの出力を行わない。
【００１０】
受信装置１０２は、送信クロックckwとは非同期のクロック（受信クロックckr）で動作している。受信装置１０２は、所定のバス幅のデータをデータ入力端子から入力する。受信装置１０２は、データ転送を行う場合、受信クロックckrに同期した受信データdroをデータ転送装置１０３から受信する。
【００１１】
受信装置１０２は、バスを転送している受信データdroの受信タイミングを示す受信イネーブル信号eriを、受信クロックckrに同期させてデータ転送装置１０３に出力する。受信イネーブル信号eriは、受信クロックckrに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。受信イネーブル信号eriは、データ転送装置１０３から受信装置１０２へ受信データdroが転送されているタイミングでＨとされ、受信データdroが転送されていないタイミングにＬとされる。
【００１２】
受信装置１０２は、受信データdroの入力を許可することを意味する受信許可信号rroを、データ転送装置１０３から受信する。受信許可信号rroは、受信クロックckrに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。受信装置１０２は、受信許可信号rroがＨである期間に、１ワード分の受信データdroをデータ転送装置１０３から受信クロックckrに同期させて受信することができる。受信装置１０２は、受信許可信号rroがＬとされている間は、受信データdroの受信及び受信イネーブル信号eriの送信を行わない。
【００１３】
データ転送装置１０３は、送信イネーブル信号ewiがＨとなったタイミングで、１ワード分の送信データdwiを受信し、内部にラッチする。また、データ転送装置１０３は、受信イネーブル信号eriがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１０２により読み出される。
【００１４】
データ転送装置１０３は、送信装置１０１から送信イネーブル信号ewiが入力され、受信装置１０２から受信イネーブル信号eriが入力される。また、データ転送装置１０３は、送信許可信号rwoを送信装置１０１に出力し、受信許可信号rroを受信装置１０２に出力する。
【００１５】
以上のようなクロック乗り換えシステム１００の動作例について説明をする。
【００１６】
クロック乗り換えシステム１００では、次の（Ｓ１）〜（Ｓ４）の処理を巡回的に行う。なお、例えば電源投入時やデータの転送開始の命令の受信時等のデータ転送の開始時には、データ転送装置１０３は、送信許可信号rwoをＨとし、受信許可信号rroをＬとしている。
【００１７】
（Ｓ１）まず、送信装置１０１は、送信許可信号rwoがＨとなったことを受けて、１ワード分の送信データdwiをデータ転送装置１０３に格納する。このとき、送信装置１０１は、送信データdwiの転送に同期させて、送信イネーブル信号ewiを１クロック分（送信クロックckw）Ｈとする。
【００１８】
（Ｓ２）続いて、データ転送装置１０３は、送信イネーブル信号ewiがＨとなったことを受けて、送信許可信号rwoをＬとするとともに、受信許可信号rroをＨとする。なお、このとき、データ転送装置１０３は、送信イネーブル信号ewiがＨとなったタイミング（例えば送信イネーブル信号ewiの立ち上がりエッジ）から、受信許可信号rroをＨとするタイミング（例えば受信許可信号rroの立ち上がりエッジ）までの時間間隔に、送信クロックckwの１周期分以上の時間を空ける。このように時間間隔をとるのは、送信装置１０１から送信データdwiの格納が確実に完了することを保障するためである。
【００１９】
（Ｓ３）続いて、受信装置１０２は、受信許可信号rroがＨとなったことを受けて、１ワード分の受信データdroをデータ転送装置１０３から読み出す。このとき、受信装置１０２は、受信データdroの転送に同期させて、受信イネーブル信号eriを１クロック分（受信クロックckr）Ｈとする。
【００２０】
（Ｓ４）続いて、データ転送装置１０３は、受信イネーブル信号eriがＨとなったことを受けて、受信許可信号rroをＬとするとともに、送信許可信号rwoをＨとする。なお、このとき、データ転送装置１０３は、受信イネーブル信号eriがＨとなったタイミング（例えば、受信イネーブル信号eriの立ち上がりエッジ）から、送信許可信号rwoをＨとするタイミング（例えば送信許可信号rwoの立ち上がりエッジ）までの時間間隔として、受信クロックckrの１周期分以上の時間を空ける。このように時間間隔をとるのは、受信装置１０２の受信データdroの読み出しが確実に完了することを保障するためである。
【００２１】
図１３及び図１４に、以上のような動作を行う場合における各信号のタイミングチャートを示す。図１３は、ckw＜ckrの場合のタイミングチャートである。図１４は、ckw＞ckrの場合のタイミングチャートである。
【００２２】
以上のように従来のクロック乗り換えシステム１００では、送信許可信号rwoの発行→送信データdwiの格納→受信許可信号rroの発行→受信データdroの読み出し→送信許可信号rwoの発行→送信データdwiの格納→・・・といった処理を巡回的に繰り返していくこととなる。
【００２３】
従って、従来のクロック乗り換えシステム１００では、大容量のＦＩＦＯやＲＡＭ等を用いることなく、且つ、非同期のクロック間のデータの転送を実現することができ、さらに、送信クロックckwと受信クロックckrとのクロック比がどのような値であっても、データの転送を実現できる。
【００２４】
【発明が解決しようとする課題】
ところで、非同期のクロックを用いた２つのシステム間でデータ転送を行う場合、送信クロックckwと受信クロックckrとの関係がckw＜ckrであれば、送信データdwiの転送レートと送信クロックckwとが一致することが、理論的に最も効率良いデータ転送となる。同様に、送信クロックckwと受信クロックckrとの関係がckw＞ckrであれば、受信データdroの転送レートと受信クロックckrとが一致することが、理論的に最も効率良いデータ転送となる。
【００２５】
しかしながら、図１３に示す場合（ckw＜ckr）における送信データdwiの転送レートは、送信クロックckwに対して１／２の転送レートとなっている。このように転送レートが低くなるのは、送信イネーブル信号ewiがＨとなったタイミングから、受信許可信号rroをＨとするタイミングまでの時間間隔に、送信クロックckwの１周期分以上の時間を空け、送信装置１０１からデータ転送装置１０３への送信データdwiの格納が確実に完了することを保障するためである。
【００２６】
同様に、図１４に示す場合（ckw＞ckr）における受信データdroの転送レートは、受信クロックckrに対して１／２の転送レートとなっている。これも同様に、受信イネーブル信号eriがＨとなったタイミングから、送信許可信号rwoをＨとするタイミングまでの時間間隔として、受信クロックckrの１周期分以上の時間を空け、データ転送装置１０３から受信装置１０２への受信データdroの読み出しが確実に完了することを保障するためである。
【００２７】
つまり、従来のクロック乗り換えシステム１００では、送信許可信号rwoの発行及び受信許可信号rroの発行を行う際に、データ転送レートに冗長な時間が生じてしまい、理論的に最も効率の良い転送レートでデータを転送することができなかった。
【００２８】
本発明は、このような従来の実情に鑑みて提案されたものであり、データ送信許可及びデータ受信許可によりデータの転送を制御するクロック乗り換えシステムにおいて、効率よくデータ転送を行うことができるデータ転送装置を提供することを目的とする。
【００２９】
【課題を解決するための手段】
本発明にかかるデータ転送装置は、第１のクロックに同期してデータを送信する送信装置と、上記第１のクロックとは異なる第２のクロックに同期してデータを受信する受信装置とを有するクロック乗り換えシステムに適用される。
【００３０】
上記送信装置は、送信許可信号を受信し、この送信許可信号に応じて、データが有効であることを示す送信イネーブル信号を送信するとともに、この送信イネーブル信号に同期してデータを送信する。また、上記受信装置は、受信許可信号を受信し、受信した受信許可信号に応じて、データが有効であることを示す受信イネーブル信号を送信するとともに、この受信イネーブル信号に同期してデータを受信する。
【００３１】
このデータ転送装置は、送信装置にデータを送信することを許可することを示す送信許可信号、及び上記送信装置から送信されたデータを受信装置に入力することを許可することを示す受信許可信号を生成するとともに、データをラッチするｎ個（ｎは、２以上の整数）の転送ユニットと、送信データが有効であることを示す送信イネーブル信号がイネーブルとなった回数をカウントして、１〜ｎの値を巡回的に発生する送信カウンタと、受信データが有効であることを示す受信イネーブル信号がイネーブルとなった回数をカウントして、１〜ｎの値を巡回的に発生する受信カウンタと、上記複数の転送ユニットのうち、上記送信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、上記データの送信元である送信装置から送信された送信イネーブル信号を、選択した転送ユニットに供給する送信イネーブル信号デコーダと、上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、上記データの受信先である受信装置から送信された受信イネーブル信号を選択した転送ユニットに供給する受信イネーブル信号デコーダと、上記複数の転送ユニットのうち、上記送信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットにより生成された送信許可信号を選択して出力する送信許可信号セレクタと、上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットにより生成された受信許可信号を選択して出力する受信許可信号セレクタと、上記複数の転送ユニットのうち、上記受信カウンタから発生された値に基づき指定される１つの転送ユニットを選択し、選択した転送ユニットによりラッチされているデータを出力するデータセレクタとを備え、上記各転送ユニットは、上記送信装置から送信された送信データを上記送信イネーブル信号デコーダから供給された送信イネーブル信号が、上記送信装置から送信された送信データが有効であることを示す期間に、上記送信装置がデータを送信する場合に同期する第１のクロックのエッジに同期してラッチし、ラッチしている送信データが上記受信イネーブル信号デコーダから供給された受信イネーブル信号のタイミングで読み出されるデータラッチ手段と、上記送信イネーブル信号デコーダから供給された送信イネーブル信号を上記第１のクロックのエッジに同期してラッチし、ラッチした送信イネーブル信号を上記受信装置がデータを受信する場合に同期する第２のクロックのエッジに同期してラッチし、少なくとも上記第２のクロックの１周期の間だけ保持する第１のラッチ手段と、上記第１のラッチ手段によりラッチされた送信イネーブル信号を上記第２のクロックのエッジに同期してラッチする第２のラッチ手段と、上記第２のラッチ手段によりラッチされた送信イネーブル信号に応じて上記第２のクロックに同期した受信許可信号を発生し、上記受信イネーブル信号デコーダから供給された受信イネーブル信号に応じて当該受信許可信号の発生を停止する受信許可信号発生手段と、上記受信イネーブル信号デコーダから供給された受信イネーブル信号を上記第２のクロックのエッジに同期してラッチし、ラッチした受信イネーブル信号を上記１のクロックでラッチし、少なくとも上記第１のクロックの１周期の間だけ保持する第３のラッチ手段と、上記第３のラッチ手段によりラッチされた受信イネーブル信号を上記第１のクロックのタイミングでラッチする第４のラッチ手段と、上記第４のラッチ手段によりラッチされた受信イネーブル信号に応じて上記第１のクロックに同期した送信許可信号を発生し、上記送信カウンタから供給された送信イネーブル信号に応じて当該送信許可信号の発生を停止する送信許可信号発生手段とを備えている。
【００３２】
さらに、上記転送ユニットは、データラッチ手段と、第１から第４のラッチ手段、並びに、受信許可信号発生手段及び送信許可発生手段を備えている。
【００３３】
上記データラッチ手段は、送信装置から送信されたデータを送信イネーブル信号のタイミングでラッチし、ラッチしているデータが上記受信装置により上記受信イネーブル信号のタイミングで読み出される。
【００３４】
上記第１のラッチ手段は、上記送信装置から送信された送信イネーブル信号を上記第１のクロックのタイミングでラッチし、ラッチした送信イネーブル信号を少なくとも上記第１のクロックの１周期分遅延させる。上記第２のラッチ手段は、上記第１のラッチ手段によりラッチされた送信イネーブル信号を上記第２のクロックのタイミングでラッチする。上記受信許可信号発生手段は、上記第２のラッチ手段によりラッチされた送信イネーブル信号に応じて上記第２のクロックに同期した受信許可信号を送信し、上記受信装置から送信された受信イネーブル信号に応じて当該受信許可信号の送信を停止する。
【００３５】
上記第３のラッチ手段は、上記受信装置から送信された受信イネーブル信号を上記第２のクロックのタイミングでラッチし、ラッチした受信イネーブル信号を少なくとも上記第２のクロックの１周期分遅延させる。上記第４のラッチ手段は、上記第３のラッチ手段によりラッチされた受信イネーブル信号を上記第１のクロックのタイミングでラッチする。上記送信許可信号発生手段は、上記第４のラッチ手段によりラッチされた受信イネーブル信号に応じて上記第１のクロックに同期した送信許可信号を送信し、上記送信装置から送信された送信イネーブル信号に応じて当該送信許可信号の送信を停止する。
【００３６】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したクロック乗り換えシステムについて説明をする。本実施の形態のクロック乗り換えシステムは、非同期のクロックを用いた２つのシステム間でデータの転送処理に適用されるシステムである。
【００３７】
（システム全体構成）
図１に本発明の実施の形態のクロック乗り換えシステムのブロック構成図を示す。
【００３８】
本発明の実施の形態のクロック乗り換えシステム１は、データの転送元の装置（以下、送信装置１１という。）と、データの転送先の装置（以下、受信装置１２という。）との間に、送信装置１１から受信装置１２へデータの受け渡しを行うデータ転送装置１３が設けられた構成となっている。なお、ここでは、データ転送装置１３は、送信装置１１及び受信装置１２のそれぞれから独立した構成となっているが、送信装置１１又は受信装置１２のいずれか一方の組み込まれた構成とされていてもよい。
【００３９】
送信装置１１は、所定の周波数のクロックで動作している。送信装置１１の動作クロックを、以下、送信クロックckwという。送信装置１１は、所定のバス幅のデータをデータ出力端子から出力する。送信装置１１は、データ転送を行う場合、送信クロックckwに同期したデータをデータ転送装置１３へ送信する。送信装置１１からデータ転送装置１３へ送信されるデータを、以下、送信データdwiという。
【００４０】
送信装置１１は、データ転送を行う場合、バスを転送している送信データdwiが有効であるか無効であるかを示す送信イネーブル信号ewiも、送信データdwiに同期させて出力する。送信装置１１は、この送信イネーブル信号ewiをデータ転送装置１３に送信する。送信イネーブル信号ewiは、送信クロックckwに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。送信イネーブル信号ewiは、送信装置１１からデータ転送装置１３へ送信データdwiが転送されているタイミングでＨとされ、送信データdwiが転送されていないタイミングにＬとされる。
【００４１】
送信装置１１は、送信データdwiの出力を許可することを意味する送信許可信号rwoを、データ転送装置１３から受信する。送信許可信号rwoは、送信クロックckwに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。送信装置１１は、送信許可信号rwoが１クロック分Ｈとされると、１ワード分の送信データdwiを送信クロックckwに同期させてデータ転送装置１３へ送信する。送信装置１１は、送信許可信号rwoがＬとされている間は、送信データdwiの出力を行わない。
【００４２】
受信装置１２は、送信クロックckwとは非同期のクロックで動作している。受信装置１２の動作クロックを、以下、受信クロックckrいう。受信装置１２は、所定のバス幅のデータをデータ入力端子から入力する。受信装置１２は、データ転送を行う場合、受信クロックckrに同期したデータをデータ転送装置１３から受信する。データ転送装置１３から受信装置１２へ転送されるデータを、以下、受信データdroという。
【００４３】
受信装置１２は、バスを転送している受信データdroが有効であるか無効であるかを示す受信イネーブル信号eriを、受信クロックckrに同期させて出力する。受信装置１２は、この受信イネーブル信号eriをデータ転送装置１３に送信する。受信イネーブル信号eriは、受信クロックckrに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。受信イネーブル信号eriは、データ転送装置１３から受信装置１２へ受信データdroが転送されているタイミングでＨとされ、受信データdroが転送されていないタイミングにＬとされる。
【００４４】
受信装置１２は、受信データdroの入力を許可することを意味する受信許可信号rroを、データ転送装置１３から受信する。受信許可信号rroは、受信クロックckrに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。受信装置１２は、受信許可信号rroが１クロック分Ｈとされると、１ワード分の受信データdroをデータ転送装置１３から受信クロックckrに同期させて受信する。受信装置１２は、受信許可信号rroがＬとされている間は、受信データdroの受信を行わない。
【００４５】
データ転送装置１３は、送信イネーブル信号ewiがＨとなったタイミングで、１ワード分の送信データdwiを送信装置１１から受信して内部にラッチする。また、データ転送装置１３は、受信イネーブル信号eriがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１２により読み出される。
【００４６】
データ転送装置１３は、送信装置１１から送信イネーブル信号ewiが入力され、受信装置１２から受信イネーブル信号eriが入力される。また、データ転送装置１３は、送信許可信号rwoを送信装置１１に出力し、受信許可信号rroを受信装置１２に出力する。
【００４７】
以上のようなクロック乗り換えシステム１では、次の（Ｓ１１）〜（Ｓ１４）の処理を巡回的に行うこととなる。なお、例えば電源投入時やデータの転送開始の命令の受信時等のデータ転送の開始時には、データ転送装置１３は、送信許可信号rwoをＨとし、受信許可信号rroをＬとしている。
【００４８】
（Ｓ１１）まず、送信装置１１は、送信許可信号rwoがＨとなったことを受けて、１ワード分の送信データdwiをデータ転送装置１３に格納する。このとき、送信装置１１は、送信データdwiの転送に同期させて、送信イネーブル信号ewiを１クロック分（送信クロックckw）Ｈとする。
【００４９】
（Ｓ１２）続いて、データ転送装置１３は、送信イネーブル信号ewiがＨとなったことを受けて、送信許可信号rwoをＬとするとともに、受信許可信号rroをＨとする。
【００５０】
（Ｓ１３）続いて、受信装置１２は、受信許可信号rroがＨとなったことを受けて、１ワード分の受信データdroをデータ転送装置１３から読み出す。このとき、受信装置１２は、受信データdroの転送に同期させて、受信イネーブル信号eriを１クロック分（受信クロックckr）Ｈとする。
【００５１】
（Ｓ１４）続いて、データ転送装置１３は、受信イネーブル信号eriがＨとなったことを受けて、受信許可信号rroをＬとするとともに、送信許可信号rwoをＨとする。
【００５２】
（データ転送装置内の具体的な構成）
つぎに、データ転送装置１３内の具体的な内部構成について、図２を参照して説明をする。
【００５３】
データ転送装置１３は、図２に示すように、第１〜第ｎの転送ユニット２０-１〜２０-ｎと、送信カウンタ２１と、受信カウンタ２２と、送信イネーブル信号デコーダ２３と、受信イネーブル信号デコーダ２４と、送信許可信号セレクタ２５と、受信許可信号セレクタ２６と、データセレクタ２７とを備えている。なお、ｎは、本データ転送装置１３内に備えられた転送ユニット２０の個数である。また、以下の説明で用いる図面中には、ｎ＝４のときの回路例を示している。
【００５４】
第１〜第ｎの転送ユニット２０-１〜２０-ｎは、内部構成が全て同一となっている。以下、第１〜第ｎの転送ユニット２０-１〜２０-ｎのうちの任意の転送ユニットのことを、以下第ｘの転送ユニット２０-ｘと言う。なお、ｘは、１〜ｎの整数となる。
【００５５】
第ｘの転送ユニット２０-ｘには、送信イネーブル信号デコーダ２３により生成された第ｘの送信イネーブル信号ewi#x、及び、受信イネーブル信号デコーダ２４により生成された第ｘの受信イネーブル信号eri#xが入力される。
【００５６】
第ｘの転送ユニット２０-ｘは、第ｘの送信許可信号rwo#x並びに第ｘの受信許可信号rro#xを生成する。第ｘの部分データユニット２０-ｘは、第ｘの受信許可信号rro#xを受信許可信号セレクタ２６に出力する。
【００５７】
第ｘの転送ユニット２０-ｘには、送信装置１１から送信データdwiが入力される。第ｘの転送ユニット２０-ｘは、送信イネーブル信号デコーダ２３から供給された第ｘの送信イネーブル信号ewi#xのタイミング（例えば立ち上がりエッジ）で送信データdwiをラッチする。また、第ｘの転送ユニット２０-ｘにラッチされたデータは、受信イネーブル信号デコーダ２４から供給された第ｘの受信イネーブル信号eri#xのタイミング（例えば立ち上がりエッジ）で、データセレクタ２７を介して受信装置１２により読み出される。
【００５８】
なお、第１〜第ｎの転送ユニット２０-１〜２０-ｎの具体的な回路構成は、後で詳細に説明をする。
【００５９】
送信カウンタ２１は、クロック入力端子に入力される送信クロックckwのクロック数（例えば立ち上がりエッジの数）を、１からｎまで巡回的にカウントするカウンタ回路である。送信カウンタ２１には、送信装置１１から供給された送信イネーブル信号ewiが入力されるイネーブル端子（en）が設けられている。送信カウンタ２１は、送信イネーブル信号ewiがＨとなっているときにカウントを行い、Ｌとなっているときにはカウントをしない。つまり、送信カウンタ２１は、送信イネーブル信号ewiがＨとなった回数を１からｎまで巡回的にカウントする。送信カウンタ２１のカウント値を以下送信イネーブルカウント値cwrという。送信イネーブルカウント値cwrは、送信イネーブル信号デコーダ２３及び送信許可信号セレクタ２５に供給される。
【００６０】
受信カウンタ２２は、クロック入力端子に入力される受信クロックckrのクロック数（例えば立ち上がりエッジの数）を、１からｎまで巡回的にカウントするカウンタ回路である。受信カウンタ２２には、受信装置１２から供給された受信イネーブル信号eriが入力されるイネーブル端子（en）が設けられている。受信カウンタ２２は、受信イネーブル信号eriがＨとなっているときにカウントを行い、Ｌとなっているときにはカウントをしない。つまり、受信カウンタ２２は、受信イネーブル信号eriがＨとなった回数を１からｎまで巡回的にカウントする。受信カウンタ２２のカウント値を以下受信イネーブルカウント値crdという。受信イネーブルカウント値crdは、送信イネーブル信号デコーダ２３及び送信許可信号セレクタ２５に供給される。
【００６１】
送信イネーブル信号デコーダ２３は、送信イネーブルカウント値cwrが入力される入力端子と、ハイ（Ｈ）とロー（Ｌ）の２値信号を出力する第１から第ｎまでの出力端子が設けられている。送信イネーブル信号デコーダ２３は、送信イネーブルカウント値cwrに対応した出力端子の値のみをＨとするデコーダである。つまり、入力されたカウント値cwrが“１”であれば第１の出力端子をＨとし、他の出力端子をＬとする。また、カウント値cwrが“２”であれば第２の出力端子をＨとし、他の出力端子をＬとする。また、カウント値cwrが“ｎ”であれば第ｎの出力端子をＨとし、他の出力端子をＬとする。
【００６２】
送信イネーブル信号デコーダ２３は、クロック入力端子に送信クロックckwが入力され、送信クロックckwのタイミング（例えば立ち上がりエッジ）に同期して動作をする。また、送信イネーブル信号デコーダ２３には、送信イネーブル信号ewiが入力されるイネーブル端子（en）が設けられており、送信イネーブル信号ewiがＨのときのみ動作し、送信イネーブル信号ewiがＬのときには、出力端子の値を全てＬに落とす。
【００６３】
送信イネーブル信号デコーダ２３の第１から第ｎの出力端子から出力される信号は、第１から第ｎの送信イネーブル信号ewi#1〜ewi#nとして、第１〜第ｎの転送ユニット２０-１〜２０-ｎに供給される。つまり、第１の出力端子から出力された信号は、第１の送信イネーブル信号ewi#1として、第１の転送ユニット２０-１に供給され、第２の出力端子から出力された信号は、第２の送信イネーブル信号ewi#2として、第２の転送ユニット２０-２に供給され、第ｎの出力端子から出力された信号は、第ｎの送信イネーブル信号ewi#nとして、第ｎの転送ユニット２０-ｎに供給される。
【００６４】
従って、送信イネーブル信号デコーダ２３の動作は、図３に示すタイミングチャートのように、送信イネーブルカウント値cwrで特定された転送ユニット２０に対して送信イネーブル信号ewiを供給することとなる。
【００６５】
受信イネーブル信号デコーダ２４は、受信イネーブルカウント値crdが入力される入力端子と、ハイ（Ｈ）とロー（Ｌ）の２値信号を出力する第１から第ｎまでの出力端子が設けられている。受信イネーブル信号デコーダ２４は、受信イネーブルカウント値crdに対応した出力端子の値のみをＨとするデコーダである。つまり、入力されたカウント値crdが“１”であれば第１の出力端子をＨとし、他の出力端子をＬとする。また、カウント値crdが“２”であれば第２の出力端子をＨとし、他の出力端子をＬとする。また、カウント値crdが“ｎ”であれば第ｎの出力端子をＨとし、他の出力端子をＬとする。
【００６６】
受信イネーブル信号デコーダ２４には、クロック入力端子に受信クロックckrが入力され、受信クロックckrのタイミング（例えば立ち上がりエッジ）に同期して動作をする。また、受信イネーブル信号デコーダ２４には、受信イネーブル信号eriが入力されるイネーブル端子（en）が設けられており、受信イネーブル信号eriがＨのときのみ動作し、受信イネーブル信号eriがＬのときには、出力端子の値を全てＬに落とす。
【００６７】
受信イネーブル信号デコーダ２４の第１から第ｎの出力端子から出力される信号は、第１から第ｎの受信イネーブル信号eri#1〜ewi#nとして、第１〜第ｎの転送ユニット２０-１〜２０-ｎに供給される。つまり、第１の出力端子から出力された信号は、第１の受信イネーブル信号eri#1として、第１の転送ユニット２０-１に供給され、第２の出力端子から出力された信号は、第２の受信イネーブル信号eri#2として、第２の転送ユニット２０-２に供給され、第ｎの出力端子から出力された信号は、第ｎの受信イネーブル信号eri#nとして、第ｎの転送ユニット２０-ｎに供給される。
【００６８】
従って、受信イネーブル信号デコーダ２４の動作は、図３に示すタイミングチャートのように、受信イネーブル信号eriカウント値crdで特定された転送ユニット２０に対して受信イネーブル信号eriを供給することとなる。
【００６９】
送信許可信号セレクタ２５は、送信イネーブルカウント値cwrが入力されるセレクト端子（sel）と、第１〜第ｎの入力端子と、１つの出力端子とが設けられたセレクタ回路である。第１〜第ｎの入力端子には、第１〜第ｎの転送ユニット２０-１〜２０-ｎから出力された第１〜第ｎの送信許可信号rwo#1〜rwo#nが入力される。
【００７０】
送信許可信号セレクタ２５は、セレクト端子（sel）入力された送信イネーブルカウント値cwrに対応した１つの入力端子を選択し、選択した入力端子に入力された信号を出力端子から出力する。つまり、送信許可信号セレクタ２５は、カウント値cwrが“１”であれば第１の送信許可信号rwo#1を出力端子から出力し、カウント値cwrが“２”であれば第２の送信許可信号rwo#2を出力端子から出力し、カウント値cwrが“ｎ”であれば第ｎの送信許可信号rwo#nを出力端子から出力する。
【００７１】
送信許可信号セレクタ２５は、選択して出力した信号を、送信許可信号rwoとして送信装置１１に供給する。
【００７２】
受信許可信号セレクタ２６は、受信イネーブルカウント値crdが入力されるセレクト端子（sel）と、第１〜第ｎの入力端子と、１つの出力端子とが設けられたセレクタ回路である。第１〜第ｎの入力端子には、第１〜第ｎの転送ユニット２０-１〜２０-ｎから出力された第１〜第ｎの受信許可信号rro#1〜rro#nが入力される。
【００７３】
受信許可信号セレクタ２６は、セレクト端子（sel）入力された受信イネーブルカウント値crdに対応した１つの入力端子を選択し、選択した入力端子に入力された信号を出力端子から出力する。つまり、受信許可信号セレクタ２６は、カウント値crdが“１”であれば第１の受信許可信号rro#1を出力端子から出力し、カウント値crdが“２”であれば第２の受信許可信号rro#2を出力端子から出力し、カウント値crdが“ｎ”であれば第ｎの受信許可信号rro#nを出力端子から出力する。
【００７４】
受信許可信号セレクタ２６は、選択して出力した信号を、受信許可信号rroとして受信装置１２に供給する。
【００７５】
データセレクタ２７は、受信イネーブルカウント値crdが入力されるセレクト端子（sel）と、第１〜第ｎの入力端子と、１つの出力端子とが設けられたセレクタ回路である。第１〜第ｎの入力端子には、第１〜第ｎの転送ユニット２０-１〜２０-ｎにラッチされている第１〜第ｎの受信データdro #1〜dro #nが入力される。つまり、第１の入力端子には、第１の転送ユニット２０-１から第１の受信データdro #1が入力され、第２の入力端子には、第２の転送ユニット２０-２から第２の受信データdro #2が入力され、第ｎの入力端子には、第ｎの転送ユニット２０-ｎから第ｎの受信データdro #nが入力される。
【００７６】
データセレクタ２７は、セレクト端子（sel）入力された受信イネーブルカウント値crdに対応した１つの入力端子を選択し、選択した入力端子に入力された信号を出力端子から出力する。つまり、データセレクタ２７は、カウント値crdが“１”であれば第１の受信データdro #1を出力端子から出力し、カウント値crdが“２”であれば第２の受信データdro #2を出力端子から出力し、カウント値crdが“ｎ”であれば第ｎの受信データdro #nを出力端子から出力する。
【００７７】
データセレクタ２７は、選択して出力した信号を、受信データdro として受信装置１２に供給する。
【００７８】
（転送ユニット２０の構成例）
つぎに、任意の転送ユニット２０-ｘの具体的な内部構成について、図４を参照して説明をする。
【００７９】
転送ユニット２０-ｘは、図４に示すように、内部に、データラッチ２８と、タイミング制御回路２９とを備えている。
【００８０】
データラッチ２８は、クロック入力端子が設けられ、このクロック入力端子に入力される信号の立ち上がりエッジに同期して動作するラッチ回路である。データラッチ２８は、このクロック入力端子に送信クロックckwが入力される。データラッチ２８は、入力端子（d）、イネーブル端子（en）及び出力端子（q）を備えている。入力端子（ｄ）には、送信装置１１から送信データdwiが入力され、イネーブル端子（en）には、送信イネーブルカウンタ２３から供給された第ｘの送信イネーブル信号ewi#xが入力される。データラッチ２８は、送信イネーブル信号ewi#xがＨとなっていると、バス上の１ワード分の送信データdwiをラッチする。また、受信端子（q）は、データセレクタ２７の第ｘの入力端子に接続されている。データラッチ２８は、受信イネーブル信号eri#xがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、データセレクタ２７を介して受信装置１２により読み出される。
【００８１】
タイミング制御回路２９は、第１〜第４のＳＲ-フリップフロップ回路（ＳＲ-ＦＦ回路）３１〜３４と、第１〜第２のＤ-フリップフロップ回路（Ｄ-ＦＦ回路）３５〜３６と、第１〜第２のＯＲ演算回路（ＯＲ回路）３７〜３８と、第１〜第２の反転回路３９〜４０と、第１〜第２のＡＮＤ演算回路（ＡＮＤ回路）４１〜４２とを備えている。
【００８２】
第１〜第４のＳＲ-ＦＦ回路３１〜３４は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＳＲ-フリップフロップ回路である。つまり、第１〜第４のＳＲ-ＦＦ回路３１〜３４は、セット端子(set)、リセット端子（rst）、出力端子（q）が設けられている。第１〜第４のＳＲ-ＦＦ回路３１〜３４は、セット端子(set)がＨとなっていると内部状態をＨとし、その後にリセット端子（rst）がＨとなるまでそのＨとなっている内部状態を保持し続ける。第１〜第４のＳＲ-ＦＦ回路３１〜３４は、リセット端子（rst）がＨとなると、その内部状態をＬにリセットする。第１〜第４のＳＲ-ＦＦ回路３１〜３４は、内部状態が出力端子（q）に反映されている。
【００８３】
また、第１〜第４のＳＲ-ＦＦ回路３１〜３４には、初期化端子（xrs,spr）が設けられている。第１〜第３のＳＲ-ＦＦ回路３１〜３３は、初期化端子（xrs）がＨとされると、強制的に内部状態をＬとする。第４のＳＲ-ＦＦ回路３４は、初期化端子（spr）がＨとされると、強制的に内部状態をＨとする。
【００８４】
第１〜第２のＤ-ＦＦ回路３５〜３６は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＤ-フリップフロップ回路である。つまり、第１〜第２のＤ-ＦＦ回路３５〜３６は、入力端子（d）、出力端子（q）が設けられている。第１〜第２のＤ-ＦＦ回路３５〜３６は、入力端子（d）に入力された値（ハイ（Ｈ）又はロー（Ｌ））を、１クロック期間分ラッチする。第１〜第２のＤ-ＦＦ回路３５〜３６は、その内部状態が出力端子（q）に反映されている。
【００８５】
第１〜第２のＯＲ回路３７〜３８は、２つの入力端子及び１つの出力端子が設けられており、この２つの入力端子に入力された２つの値（ハイ（Ｈ）又はロー（Ｌ））のＯＲ論理演算を行い、出力端子に反映する回路である。第１〜第２の反転回路３９〜４０は、１つの入力端子及び１つの出力端子が設けられており、入力端子に入力された値（ハイ（Ｈ）又はロー（Ｌ））を反転して、出力端子に反映する回路である。第１〜第２のＡＮＤ回路４１〜４２は、２つの入力端子及び１つの出力端子が設けられており、この２つの入力端子に入力された２つの値（ハイ（Ｈ）又はロー（Ｌ））のＡＮＤ論理演算を行い、出力端子に反映する回路である。
【００８６】
タイミング制御回路２９では、以上のような各回路が次のように接続されている。
【００８７】
第１のＳＲ-ＦＦ回路３１は、セット端子（set）に送信イネーブル信号デコーダ２３からの第ｘの送信イネーブル信号ewi#xが入力され、リセット端子（rst）に第１のＤ-ＦＦ回路３５の出力信号が入力されている。第１のＳＲ-ＦＦ回路３１は、クロック端子に送信クロックckwが入力されている。
【００８８】
第２のＳＲ-ＦＦ回路３２は、セット端子（set）に第１のＤ-ＦＦ回路３５の出力信号が入力され、リセット端子（rst）に第３のＳＲ-ＦＦ回路３３の出力信号が入力されている。第２のＳＲ-ＦＦ回路３２は、クロック端子に受信クロックckrが入力されている。
【００８９】
第３のＳＲ-ＦＦ回路３３は、セット端子（set）に受信イネーブル信号デコーダ２４からの第ｘの受信イネーブル信号eri#xが入力され、リセット端子（rst）に第２のＤ-ＦＦ回路３６の出力信号が入力されている。第３のＳＲ-ＦＦ回路３３は、クロック端子に受信クロックckrが入力されている。
【００９０】
第４のＳＲ-ＦＦ回路３４は、セット端子（set）に第２のＳＲ-ＦＦ回路３６の出力信号が入力され、リセット端子（rst）に第１のＳＲ-ＦＦ回路３１の出力信号が入力されている。第４のＳＲ-ＦＦ回路３４は、クロック端子に送信クロックckwが入力されている。
【００９１】
第１のＤ-ＦＦ回路３５は、入力端子（d）に第１のＳＲ-ＦＦ回路３１の出力信号が入力されている。第１のＤ-ＦＦ回路３５は、クロック端子に受信クロックckrが入力されている。第２のＤ-ＦＦ回路３６は、入力端子（d）に第３のＳＲ-ＦＦ回路３３の出力信号が入力されている。第３のＤ-ＦＦ回路３６は、クロック端子に送信クロックckwが入力されている。
【００９２】
第１のＯＲ回路３７は、一方の入力端子に第１のＤ-ＦＦ回路３５の出力信号が入力され、他方の入力端子に第２のＳＲ-ＦＦ回路３２の出力信号が入力されている。第２のＯＲ回路３８は、一方の入力端子に第２のＤ-ＦＦ回路３６の出力信号が入力され、他方の入力端子に第４のＳＲ-ＦＦ回路３４の出力信号が入力されている。
【００９３】
第１の反転回路３９は、入力端子に第３のＳＲ-ＦＦ回路３３の出力信号が入力されている。第２の反転回路４０は、入力端子に第１のＳＲ-ＦＦ回路３１の出力信号が入力されている。
【００９４】
第１のＡＮＤ回路４１は、一方の入力端子に第１の反転回路３９の出力信号が入力され、他方の入力端子に第２のＳＲ-ＦＦ回路３７の出力信号が入力されている。第２のＡＮＤ回路４２は、一方の入力端子に第２の反転回路４０の出力信号が入力され、他方の入力端子に第４のＳＲ-ＦＦ回路３７の出力信号が入力されている。
【００９５】
そして、以上のように接続されたタイミング制御回路２８では、第１のＡＮＤ回路４１の出力信号が、第ｘの受信許可信号rro#xとして受信許可信号セレクタ２６に対して出力され、第２のＡＮＤ回路４２の出力信号が、第ｘの送信許可信号rwo#xとして送信許可信号セレクタ２５に対して出力される。
【００９６】
（データ転送装置の動作タイミング）
つぎに、図５〜図８を参照して、以上のような構成のデータ転送装置１３の動作タイミングについて説明をする。図５及び図６は、ckw＜ckrの場合のタイミングチャートである。図７及び図８は、ckw＞ckrの場合のタイミングチャートである。なお、図５〜図８において、Ｔ1，Ｔ2，Ｔ3，Ｔ4・・・は、送信クロックckwの立ち上がりエッジに同期した時刻を示しており、Ｔx〜Ｔ(x+1)の時間間隔は、送信クロックckwの１周期分である（ここでのxは整数である。）。また、ｔ1，ｔ2，ｔ3，ｔ4・・・は、受信クロックckrの立ち上がりエッジに同期した時刻を示しており、ｔx〜ｔ(x+1)の時間間隔は、受信クロックckrの１周期分である（ここでのxは整数である。）。
【００９７】
また、本例は、送信装置１１は、データ転送装置１３から送信許可信号rwoが与えられると、即時送信イネーブル信号ewiをＨとして、送信データdwiの書き込みを行う構成となっている。同様に、受信装置１２は、データ転送装置１３から受信許可信号rroが与えられると、即時受信イネーブル信号eriをＨとして、受信データdroの読み出しを行う構成となっている。
【００９８】
まず、ckw＜ckrの場合の動作について図５及び図６を参照して説明をする。
【００９９】
データ転送開始時（Ｔ0）には、送信カウンタ２１及び受信カウンタ２２のカウント値cwr,crdが同一の値となっている。ここでは、“１”という値となっている。そのため、時刻Ｔ0において、第１の転送ユニット２０-１から発生された送信許可信号rwo（rwo#1）が送信装置１１に与えられる。送信装置１１は、送信許可信号rwoを受信すると即時送信イネーブル信号ewiをＨとし、送信データdwi（Ｄ１）を送信クロックckwに同期してデータ転送装置１３に入力する。このとき、送信カウンタ２１の値が“１”であるので、送信データdwi（Ｄ１）は第１の転送ユニット２０-１にラッチ（dro#1）され、送信イネーブル信号ewi（ewi#1）も第１の転送ユニット２０-１に入力される。
【０１００】
第１の転送ユニット２０-１は、時刻Ｔ0に受信した送信イネーブル信号ewi（ewi#1）に応じて、時刻ｔ3に受信許可信号rro(rro#1)をＨとする。時刻Ｔ0〜時刻t3の間の時間間隔は、送信クロックckwの１周期以上の間隔が空けられている。また、時刻t3でＨとされた受信許可信号rro（rro#1）は、受信カウンタ２２の値が１であるので、第１の転送ユニット２０-１から受信装置１２へ送信される。そのため、受信許可信号rroと同時に受信イネーブル信号eriがＨとされ、時刻ｔ3に、受信データdro（Ｄ１）が受信クロックckrに同期して第１の転送ユニット２０-１から受信装置１２へ出力される。第１の転送ユニット２０-１は、時刻ｔ3に受信した受信イネーブル信号eri（eri#1）に応じて、時刻Ｔ3に送信許可信号rwo(rwo#1)をＨとする。時刻ｔ3〜時刻Ｔ3の間の時間間隔は、受信クロックckrの１周期以上の間隔が空けられている。
【０１０１】
続いて、時刻Ｔ0から送信クロックckwの１周期後の時刻Ｔ1において、時刻Ｔ0で送信イネーブル信号ewiがＨとなったことに伴って送信カウンタ２１の値が１つインクリメントされ“２”となる。そのため、時刻Ｔ1に、送信装置１１は、送信許可信号rwoを受信し、即時送信イネーブル信号ewiをＨとし、送信データdwi（Ｄ２）を送信クロックckwに同期してデータ転送装置１３に入力する。送信データdwi（Ｄ２）は第２の転送ユニット２０-２にラッチ（dro#2）され、送信イネーブル信号ewi（ewi#2）も第２の転送ユニット２０-２に入力される。
【０１０２】
時刻t4において、時刻t3で受信イネーブル信号eriがＨとなったことに伴って受信カウンタ２２の値が１つインクリメントされ“２”となる。そのため、時刻t4に、受信装置１２は、第２の転送ユニット２０-２から受信許可信号rro（rro#2）を受信し、同時に受信イネーブル信号eriをＨとし、受信データdro（Ｄ２）を受信クロックckrに同期して受信する。第２の転送ユニット２０-２は、時刻Ｔ4に送信許可信号rwo(rwo#2)をＨとする。
【０１０３】
以後、データ転送装置１３では、送信イネーブル信号ewiがＨとなる毎に、転送ユニットを１つずつずらしながら、送信データdwiの書き込みが行われていく。また、データ転送装置１３では、受信イネーブル信号eriがＨとなる毎に、転送ユニットを１つずつずらしながら、受信データdroの読み出しが行われていく。このとき、送信クロックckwよりも受信クロックckrの方が早いため、充分な数の転送ユニットを備えていれば、データ転送装１３に対して連続して送信データdwiを書き込んだとしても、個々の転送ユニット内で書き込みと読み出しの干渉が生じない。
【０１０４】
このように、データ転送装置１３では、ckw＜ckrの場合、送信装置１１へ供給する送信許可信号rwoが常にＨの状態とすることができ、データの転送効率を最大とすることができる。
【０１０５】
次に、ckw＞ckrの場合の動作について図７及び図８を参照して説明をする。
【０１０６】
例えば時刻Ｔ3には、送信カウンタ２１の値cwrが“４”となっており、受信カウンタ２２の値crdが“１”となっている。時刻Ｔ3において、第４の転送ユニット２０-４から発生された送信許可信号rwo（rwo#4）が送信装置１１に与えられる。送信装置１１は、送信許可信号rwoを受信すると即時送信イネーブル信号ewiをＨとし、送信データdwi（Ｄ４）を送信クロックckwに同期してデータ転送装置１３に入力する。このとき、送信カウンタ２１の値が“４”であるので、送信データdwi（Ｄ４）は第４の転送ユニット２０-４にラッチ（dro#4）され、送信イネーブル信号ewi（ewi#4）も第４の転送ユニット２０-４に入力される。
【０１０７】
第４の転送ユニット２０-４は、時刻Ｔ3に受信した送信イネーブル信号ewi（ewi#4）に応じて、時刻ｔ3に受信許可信号rro(rro#4)をＨとする。時刻Ｔ3〜時刻t3の間の時間間隔は、送信クロックckwの１周期以上の間隔が空けられている。また、時刻t3でＨとされた受信許可信号rro（rro#4）は、時刻ｔ3以後で初めて受信カウンタ２２の値が４となった時刻ｔ4に、第４の転送ユニット２０-４から受信装置１２へ送信される。そのため、この時刻ｔ4に、受信許可信号rroと同時に受信イネーブル信号eriがＨとされ、受信データdro（Ｄ４）が受信クロックckrに同期して第４の転送ユニット２０-４から受信装置１２へ出力される。第４の転送ユニット２０-４は、時刻ｔ4に受信した受信イネーブル信号eri（eri#4）に応じて、時刻Ｔ9に送信許可信号rwo(rwo#4)をＨとする。時刻ｔ4〜時刻Ｔ9の間の時間間隔は、受信クロックckrの１周期以上の間隔が空けられている。
【０１０８】
続いて、時刻Ｔ3から送信クロックckwの１周期後の時刻Ｔ4において、時刻Ｔ3で送信イネーブル信号ewiがＨとなったことに伴って送信カウンタ２１の値が１つインクリメントされ“１”となる。そのため、時刻Ｔ4に、送信装置１１は、送信許可信号rwoを受信し、即時送信イネーブル信号ewiをＨとし、送信データdwi（Ｄ５）を送信クロックckwに同期してデータ転送装置１３に入力する。送信データdwi（Ｄ５）は第１の転送ユニット２０-１にラッチ（dro#1）され、送信イネーブル信号ewi（ewi#1）も第１の転送ユニット２０-１に入力される。
【０１０９】
時刻t5において、時刻t4で受信イネーブル信号eriがＨとなったことに伴って受信カウンタ２２の値が１つインクリメントされ“１”となる。そのため、時刻t5に、受信装置１２は、第１の転送ユニット２０-１から受信許可信号rro（rro#1）を受信し、同時に受信イネーブル信号eriをＨとし、受信データdro（Ｄ５）を受信クロックckrに同期して受信する。第１の転送ユニット２０-１は、時刻Ｔ10に送信許可信号rwo(rwo#1)をＨとする。
【０１１０】
以後、データ転送装置１３では、送信イネーブル信号ewiがＨとなる毎に、転送ユニットを１つずつずらしながら、送信データdwiの書き込みが行われていく。また、データ転送装置１３では、受信イネーブル信号eriがＨとなる毎に、転送ユニットを１つずつずらしながら、受信データdroの読み出しが行われていく。このとき、送信クロックckwよりも受信クロックckrの方が遅いため、充分な数の転送ユニットを備えていれば、受信データdroの転送を連続しても、個々の転送ユニット内で書き込みと読み出しの干渉が生じない。
【０１１１】
このように、データ転送装置１３では、ckw＞ckrの場合、受信装置１２へ供給する受信許可信号rroが常にＨの状態とすることができ、データの転送効率を最大とすることができる。
【０１１２】
（連続した伝送を行うために必要な転送ユニット２０の数）
つぎに、ckw≦ckrの場合において、送信データdwiを待ち時間なく連続して伝送するための転送ユニット２０の数について説明をする。
【０１１３】
ckw≦ckrの場合、送信データdwiを連続して伝送するには、送信装置１１が、データ転送装置１３から送信許可信号rwoが与えられると即時に送信イネーブル信号ewiをＨとして、送信データdwiの書き込みを行う構成となっていることが条件となる。
【０１１４】
この条件で、もし、転送ユニット２０の数が１つであるとすると、図９に示すような転送動作となる。
【０１１５】
この図９に示すように、送信許可信号rwoの立ち下がりエッジから、次の送信許可信号rwoＨの立ち上がりエッジまでの時間間隔を、ΔＴとする。このΔＴは、次の式（１）で表される。
ΔＴ＝Δｔｗ＋（１／ｃｋｒ）＋Δｔｒ    …（１）
Δｔｗは、送信許可信号rwoの立ち下がりエッジから、次の受信許可信号rroの立ち上がりエッジまでの時間間隔である。Δｔｒは、受信許可信号rroの立ち下がりエッジから次の送信許可信号rwoの立ち上がりエッジまでの時間間隔である。（１／ｃｋｗ）は、送信クロックckwの周期である。（１／ｃｋｒ）は、受信クロックckrの周期である。
【０１１６】
ここで、Δｔｗの最大値Δｔｗ＿ｍａｘは、受信クロックckrの１サイクル分の周期となる。また、Δｔｒの最大値Δｔｒ＿ｍａｘは、送信クロックckwの１サイクル分の周期となる。従って、ΔＴの最大値ΔＴ＿ｍａｘは、次の式（２）となる。
0004438276.tif 000002
この式（２）を変形すると、以下の式（３）となる。
ΔＴ＿ｍａｘ×ｃｋｗ  ＝２×（ｃｋｗ／ｃｋｒ） ＋ １  …（３）
式（３）の左辺のΔＴ＿ｍａｘ×ｃｋｗは、１回のデータ転送に必要となる送信側のクロック数を示している。つまり、ΔＴ＿ｍａｘ×ｃｋｗを上回る数の転送ユニット２０を並列に接続すれば、送信データdwiを連続して転送することが可能となる。
【０１１７】
従って、ｃｋｗ／ｃｋｒ＝１の場合、ΔＴ＿ｍａｘ×ｃｋｗ＝３となる。つまり、ｃｋｗ／ｃｋｒ＝１の場合には、転送ユニット２０を４つ設ければ送信データdwiを連続転送できる。
【０１１８】
また、ｃｋｗ／ｃｋｒ＜１の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜３となる。つまり、ｃｋｗ／ｃｋｒ＜１の場合には、転送ユニット２０を３つ設ければ送信データdwiを連続転送できる。
【０１１９】
さらに、ｃｋｗ／ｃｋｒ＜１/２の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜２となる。つまり、ｃｋｗ／ｃｋｒ＜１/２の場合には、転送ユニット２０を２つ設ければ送信データdwiを連続転送できる。
【０１２０】
なお、ckw≧ckrの場合において、受信データdroを待ち時間なく連続して伝送するための転送ユニット２０の数も、ckw≦ckrの場合と同様に求めることができる。この場合には、受信装置１２が、データ転送装置１３から受信許可信号rroが与えられると、即時に受信イネーブル信号eriをＨとして、受信データdroの書き込みを行う構成となっていることが条件となる。
【０１２１】
このckw≧ckrの場合、受信許可信号rroの立ち下がりエッジから、次の受信許可信号rroＨの立ち上がりエッジまでの時間間隔を、ΔＴとすると、以下の式（４）を求めることができる。
ΔＴ＿ｍａｘ×ｃｋｒ  ＝２×（ｃｋｒ／ｃｋｗ） ＋ １  …（４）
式（４）の左辺のΔＴ＿ｍａｘ×ｃｋｒは、１回のデータ転送に必要となる受信側のクロック数を示している。つまり、ΔＴ＿ｍａｘ×ｃｋｒを上回る数の転送ユニット２０を並列に接続すれば、受信データdroを連続して転送することが可能となる。
【０１２２】
従って、ｃｋｒ／ｃｋｗ＝１の場合、ΔＴ＿ｍａｘ×ｃｋｒ＝３となる。つまり、ｃｋｒ／ｃｋｗ＝１の場合には、転送ユニット２０を４つ設ければ受信データdroを連続転送できる。
【０１２３】
また、ｃｋｒ／ｃｋｗ＜１の場合、ΔＴ＿ｍａｘ×ｃｋｒ＜３となる。つまり、ｃｋｒ／ｃｋｗ＜１の場合には、転送ユニット２０を３つ設ければ受信データdroを連続転送できる。
【０１２４】
さらに、ｃｋｒ／ｃｋｗ＜１/２の場合、ΔＴ＿ｍａｘ×ｃｋｒ＜２となる。つまり、ｃｋｒ／ｃｋｗ＜１/２の場合には、転送ユニット２０を２つ設ければ受信データdroを連続転送できる。
【０１２５】
（第２の実施の形態）
つぎに、本発明の第２の実施の形態のクロック乗り換えシステムについて説明をする。
【０１２６】
上述した転送ユニット２０の場合、第１のＤ-ＦＦ回路３５は、受信クロックckrの立ち上がりタイミングで動作する。しかしながら、第１のＤ-ＦＦ回路３５がラッチする信号は、第１のＳＲ-ＦＦ回路３１が送信クロックckwの立ち上がりタイミングでラッチした信号である。そのため、第１のＳＲ-ＦＦ回路３５が送信イネーブル信号ewiをラッチしてから、次の受信クロックckrの立ち上がりタイミングまでの時間間隔が非常に短くなってしまう場合がある。このようにラッチ間隔が短い場合、いわゆるメタステーブルと呼ばれる現象が生じる可能性があり、後段のラッチ回路（第１のＤ-ＦＦ回路３５）の動作が不安定となってしまう。また、第２のＤ-ＦＦ回路３６も、同様にメタステーブルと呼ばれる現象が生じる可能性がある。
【０１２７】
そこで、第２の実施の形態のクロック乗り換えシステムでは、上記データ転送装置１３内の第１〜第ｎの転送ユニット２０-１〜２０-ｎを、次に説明する転送ユニット５０に置き換えた構成としている。
【０１２８】
以下、転送ユニット５０について説明をする。
【０１２９】
転送ユニット５０は、図１０に示すように、内部に、データラッチ５１と、タイミング制御回路５２とを備えている。
【０１３０】
データラッチ５１は、クロック入力端子が設けられ、このクロック入力端子に入力される信号の立ち上がりエッジに同期して動作するラッチ回路である。データラッチ５１は、このクロック入力端子に送信クロックckwが入力される。データラッチ５１は、入力端子（d）、イネーブル端子（en）及び出力端子（q）を備えている。入力端子（ｄ）には、送信装置１１から送信データが入力され、イネーブル端子（en）には、送信装置１１から送信イネーブル信号ewiが入力される。データラッチ５１は、送信イネーブル信号ewiがＨとなっていると、バス上の１ワード分の送信データdwiをラッチする。また、受信端子（q）は、受信装置１２のデータ入力端子に接続されている。データラッチ５１は、受信イネーブル信号eriがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１２により読み出される。
【０１３１】
タイミング制御回路５２は、第１〜第４のＳＲ-フリップフロップ回路（ＳＲ-ＦＦ回路）６１〜６４と、第１〜第４のＤ-フリップフロップ回路（Ｄ-ＦＦ回路）６５〜６８と、第１〜第２の反転回路６９〜７０と、第１〜第４のＡＮＤ演算回路（ＡＮＤ回路）７１〜７４とを備えている。
【０１３２】
第１〜第４のＳＲ-ＦＦ回路６１〜６４は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＳＲ-フリップフロップ回路である。つまり、第１〜第４のＳＲ-ＦＦ回路６１〜６４は、セット端子(set)、リセット端子（rst）、出力端子（q）が設けられている。第１〜第４のＳＲ-ＦＦ回路６１〜６４は、セット端子(set)がＨとなっていると内部状態をＨとし、その後にリセット端子（rst）がＨとなるまでそのＨとなっている内部状態を保持し続ける。第１〜第４のＳＲ-ＦＦ回路６１〜６４は、リセット端子（rst）がＨとなると、その内部状態をＬにリセットする。第１〜第４のＳＲ-ＦＦ回路６１〜６４は、内部状態が出力端子（q）に反映されている。
【０１３３】
また、第１〜第４のＳＲ-ＦＦ回路６１〜６４には、初期化端子（xrs,spr）が設けられている。第１〜第３のＳＲ-ＦＦ回路６１〜６３は、初期化端子（xrs）がＨとされると、強制的に内部状態をＬとする。第４のＳＲ-ＦＦ回路６４は、初期化端子（spr）がＨとされると、強制的に内部状態をＨとする。
【０１３４】
第１〜第４のＤ-ＦＦ回路６５〜６８は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＤ-フリップフロップ回路である。つまり、第１〜第４のＤ-ＦＦ回路６５〜６８は、入力端子（d）、出力端子（q）が設けられている。第１〜第４のＤ-ＦＦ回路６５〜６８は、入力端子（d）に入力された値（ハイ（Ｈ）又はロー（Ｌ））を、１クロック期間分ラッチする。第１〜第４のＤ-ＦＦ回路６５〜６８は、その内部状態が出力端子（q）に反映されている。
【０１３５】
第１〜第２の反転回路６９〜７０は、１つの入力端子及び１つの出力端子が設けられており、入力端子に入力された値（ハイ（Ｈ）又はロー（Ｌ））を反転して、出力端子に反映する回路である。
【０１３６】
第１〜第４のＡＮＤ回路６９〜７４は、２つの入力端子及び１つの出力端子が設けられており、この２つの入力端子に入力された２つの値（ハイ（Ｈ）又はロー（Ｌ））のＡＮＤ論理演算を行い、出力端子に反映する回路である。
【０１３７】
タイミング制御回路５２では、以上のような各回路が次のように接続されている。
【０１３８】
第１のＳＲ-ＦＦ回路６１は、セット端子（set）に送信装置１１からの送信イネーブル信号ewiが入力され、リセット端子（rst）に第１のＡＮＤ回路７１の出力信号が入力されている。第１のＳＲ-ＦＦ回路６１は、クロック端子に送信クロックckwが入力されている。
【０１３９】
第１のＤ-ＦＦ回路６５は、入力端子（d）に第１のＳＲ-ＦＦ回路６１の出力信号が入力されている。第１のＤ-ＦＦ回路６５は、クロック端子に受信クロックckrが入力されている。
【０１４０】
第２のＤ-ＦＦ回路６６は、入力端子（d）に第１のＤ-ＦＦ回路６５の出力信号が入力されている。第２のＤ-ＦＦ回路６６は、クロック端子に受信クロックckrが入力されている。
【０１４１】
第２のＳＲ-ＦＦ回路６２は、セット端子（set）に第３のＡＮＤ回路７２の出力信号が入力され、リセット端子（rst）に受信イネーブル信号eriが入力されている。第２のＳＲ-ＦＦ回路６２は、クロック端子に受信クロックckrが入力されている。
【０１４２】
第３のＳＲ-ＦＦ回路６３は、セット端子（set）に受信装置１２からの受信イネーブル信号eriが入力され、リセット端子（rst）に第２のＡＮＤ回路７３の出力信号が入力されている。第３のＳＲ-ＦＦ回路６３は、クロック端子に受信クロックckrが入力されている。
【０１４３】
第３のＤ-ＦＦ回路６７は、入力端子（d）に第３のＳＲ-ＦＦ回路６３の出力信号が入力されている。第３のＤ-ＦＦ回路６７は、クロック端子に送信クロックckwが入力されている。
【０１４４】
第４のＤ-ＦＦ回路６８は、入力端子（d）に第３のＤ-ＦＦ回路６７の出力信号が入力されている。第４のＤ-ＦＦ回路６８は、クロック端子に送信クロックckwが入力されている。
【０１４５】
第４のＳＲ-ＦＦ回路６４は、セット端子（set）に第４のＡＮＤ回路７４の出力信号が入力され、リセット端子（rst）に送信イネーブル信号ewiが入力されている。第４のＳＲ-ＦＦ回路６４は、クロック端子に送信クロックckwが入力されている。
【０１４６】
第１の反転回路６９は、入力端子に第２のＤ-ＦＦ回路６６の出力信号が入力されている。
【０１４７】
第２の反転回路７０は、入力端子に第４のＤ-ＦＦ回路６８の出力信号が入力されている。
【０１４８】
第１のＡＮＤ回路７１は、一方の入力端子に第１のＤ-ＦＦ回路６５の出力信号が入力され、他方の入力端子に第２のＤ-ＦＦ回路６６の出力信号が入力されている。
【０１４９】
第２のＡＮＤ回路７２は、一方の入力端子に第３のＤ-ＦＦ回路６７の出力信号が入力され、他方の入力端子に第４のＤ-ＦＦ回路６８の出力信号が入力されている。
【０１５０】
第３のＡＮＤ回路７３は、一方の入力端子に第１の反転回路６９の出力信号が入力され、他方の入力端子に第１のＤ-ＦＦ回路６５の出力信号が入力されている。
【０１５１】
第４のＡＮＤ回路７４は、一方の入力端子に第２の反転回路７０の出力信号が入力され、他方の入力端子に第３のＤ-ＦＦ回路６７の出力信号が入力されている。
【０１５２】
そして、以上のように接続されたタイミング制御回路２２では、第２のＳＲ-ＦＦ回路６２の出力信号が、受信許可信号rroとして受信装置１２に対して出力され、第４のＳＲ-ＦＦ回路の出力信号が、送信許可信号rwoとして送信装置１１に対して出力される。
【０１５３】
以上のような転送ユニットでは、第１のＤ-ＦＦ回路６５は、受信クロックckrの立ち上がりタイミングで動作する。しかしながら、第１のＤ-ＦＦ回路６５がラッチする信号は、第１のＳＲ-ＦＦ回路６１が送信クロックckwの立ち上がりタイミングでラッチした信号である。そのため、第１のＳＲ-ＦＦ回路６１が送信イネーブル信号ewiをラッチしてから、次の受信クロックckrの立ち上がりタイミングまでの時間間隔が非常に短くなってしまう場合がある。このようにラッチ間隔が短い場合、いわゆるメタステーブルと呼ばれる現象が生じる可能性があり、第１のＤ-ＦＦ回路６５の動作が不安定となってしまう。また、第３のＤ-ＦＦ回路６７も、同様にメタステーブルと呼ばれる現象が生じる可能性がある。
【０１５４】
しかしながら、このタイミング制御回路２２では、第１のＤ-ＦＦ回路６５の後段で、もう一度受信クロックckrの立ち上がりタイミングで動作する第２のＤ-ＦＦ回路６５が設けらており、この第２のＤ-ＦＦ回路６６がラッチしている信号に基づき受信許可信号rroが生成されている。同様に、第３のＤ-ＦＦ回路６７の後段で、もう一度送信クロックckwの立ち上がりタイミングで動作する第４のＤ-ＦＦ回路６５が設けらており、この第４のＤ-ＦＦ回路６８がラッチしている信号に基づき送信許可信号rwoが生成されている。
【０１５５】
従って、このタイミング制御回路２２では、上記第１のＤ-ＦＦ回路６５及び第３のＤ-ＦＦ回路６７においてメタステーブルが生じて動作が不安定となったとしても、後段の第２のＤ-ＦＦ回路６６及び第４のＤ-ＦＦ回路６８でその影響が除去され、常に安定した制御信号を出力することが可能となっている。
【０１５６】
（連続した伝送を行うために必要な転送ユニット５０の数）
つぎに、ckw≦ckrの場合において、送信データdwiを待ち時間なく連続して伝送するための転送ユニット５０の数について説明をする。
【０１５７】
ckw≦ckrの場合、送信データdwiを連続して伝送するには、送信装置１１が、データ転送装置１３から送信許可信号rwoが与えられると、即時に送信イネーブル信号ewiをＨとして、送信データdwiの書き込みを行う構成となっていることが条件となる。
【０１５８】
この条件で、転送ユニット５０の数が１つであるとすると、図１１に示すような転送動作となる。
【０１５９】
この図１１に示すように、送信許可信号rwoの立ち下がりエッジから、次の送信許可信号rwoＨの立ち上がりエッジまでの時間間隔を、ΔＴとする。このΔＴは、次の式（５）で表される。
ΔＴ＝Δｔｗ＋（１／ｃｋｒ）＋Δｔｒ    …（５）
Δｔｗは、送信許可信号rwoの立ち下がりエッジから、次の受信許可信号rroの立ち上がりエッジまでの時間間隔である。Δｔｒは、受信許可信号rroの立ち下がりエッジから次の送信許可信号rwoの立ち上がりエッジまでの時間間隔である。（１／ｃｋｒ）は、送信クロックckwの周期である。（１／ｃｋｒ）は、受信クロックckrの周期である。
【０１６０】
ここで、Δｔｗの最大値Δｔｗ＿ｍａｘは、受信クロックckrの２サイクル分の周期となる。また、Δｔｒの最大値Δｔｒ＿ｍａｘは、送信クロックckwの２サイクル分の周期となる。従って、ΔＴの最大値ΔＴ＿ｍａｘは、次の式（６）となる。
0004438276.tif 000003
この式（６）を変形すると、以下の式（７）となる。
ΔＴ＿ｍａｘ×ｃｋｗ  ＝３×（ｃｋｗ／ｃｋｒ） ＋ ２  …（７）
式（７）の左辺のΔＴ＿ｍａｘ×ｃｋｗは、１回のデータ転送に必要となる送信側のクロック数を示している。つまり、ΔＴ＿ｍａｘ×ｃｋｗを上回る数の転送ユニット５０を並列に接続すれば、送信データdwiを連続して転送することが可能となる。
【０１６１】
従って、ｃｋｗ／ｃｋｒ＝１の場合、ΔＴ＿ｍａｘ×ｃｋｗ＝５となる。つまり、ｃｋｗ／ｃｋｒ＝１の場合には、転送ユニット５０を６つ設ければ送信データdwiを連続転送できる。
【０１６２】
また、ｃｋｗ／ｃｋｒ＜１の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜５となる。つまり、ｃｋｗ／ｃｋｒ＜１の場合には、転送ユニット５０を５つ設ければ送信データdwiを連続転送できる。
【０１６３】
また、ｃｋｗ／ｃｋｒ＜１/２の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜２となる。つまり、ｃｋｗ／ｃｋｒ＜１/２の場合には、転送ユニット５０を２つ設ければ送信データdwiを連続転送できる。
【０１６４】
また、ｃｋｗ／ｃｋｒ＜２/３の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜４となる。つまり、ｃｋｗ／ｃｋｒ＜２/３の場合には、転送ユニット５０を４つ設ければ送信データdwiを連続転送できる。
【０１６５】
また、ｃｋｗ／ｃｋｒ＜１/３の場合、ΔＴ＿ｍａｘ×ｃｋｗ＜３となる。つまり、ｃｋｗ／ｃｋｒ＜１/３の場合には、転送ユニット５０を３つ設ければ送信データdwiを連続転送できる。
【０１６６】
なお、ckw≧ckrの場合において、受信データdroを待ち時間なく連続して伝送するための転送ユニット５０の数も、ckw≦ckrの場合と同様に求めることができる。この場合には、受信装置１２が、データ転送装置１３から受信許可信号rroが与えられると、即時に受信イネーブル信号eriをＨとして、受信データdroの書き込みを行う構成となっていることが条件となる。
【０１６７】
このckw≧ckrの場合、受信許可信号rroの立ち下がりエッジから、次の受信許可信号rroＨの立ち上がりエッジまでの時間間隔を、ΔＴとすると、以下の式（８）を求めることができる。
ΔＴ＿ｍａｘ×ｃｋｒ  ＝３×（ｃｋｒ／ｃｋｗ） ＋ ２  …（８）
式（８）の左辺のΔＴ＿ｍａｘ×ｃｋｒは、１回のデータ転送に必要となる受信側のクロック数を示している。つまり、ΔＴ＿ｍａｘ×ｃｋｒを上回る数の転送ユニット５０を並列に接続すれば、受信データdroを連続して転送することが可能となる。
【０１６８】
従って、ｃｋｒ／ｃｋｗ＝１の場合、ΔＴ＿ｍａｘ×ｃｋｒ＝５となる。つまり、ｃｋｒ／ｃｋｗ＝１の場合には、転送ユニット５０を６つ設ければ受信データdroを連続転送できる。
【０１６９】
また、ｃｋｒ／ｃｋｗ＜１の場合、ΔＴ＿ｍａｘ×ｃｋｒ＜５となる。つまり、ｃｋｒ／ｃｋｗ＜１の場合には、転送ユニット５０を５つ設ければ受信データdroを連続転送できる。
【０１７０】
また、ｃｋｒ／ｃｋｗ＜２/３の場合、ΔＴ＿ｍａｘ×ｃｋｒ＜４となる。つまり、ｃｋｒ／ｃｋｗ＜２/３の場合には、転送ユニット５０を４つ設ければ受信データdroを連続転送できる。
【０１７１】
さらに、ｃｋｒ／ｃｋｗ＜１/３の場合、ΔＴ＿ｍａｘ×ｃｋｒ＜３となる。つまり、ｃｋｒ／ｃｋｗ＜１/３の場合には、転送ユニット５０を３つ設ければ受信データdroを連続転送できる。
【０１７２】
【発明の効果】
本発明にかかるデータ転送装置は、第１のクロックに同期してデータを送信する送信装置と、上記第１のクロックとは異なる第２のクロックに同期してデータを受信する受信装置とを有するクロック乗り換えシステムに適用される。
【０１７３】
本発明にかかるデータ転送装置は、上記送信許可信号及び受信許可信号を生成するとともに上記データをラッチする第１〜第ｎ（ｎは、２以上の整数）の転送ユニットを有している。本発明にかかるデータ転送装置では、各転送ユニットを巡回的に切り換えながら、上記送信許可信号及び受信許可信号を外部に出力するとともに、データをラッチしている。
【０１７４】
このため、本発明にかかるデータ転送装置では、データ送信許可及びデータ受信許可を発生する際に生じる冗長な時間を無くし、効率よくデータ転送を行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のクロック乗り換えシステムのブロック構成図である。
【図２】上記クロック乗り換えシステムで用いられるデータ転送装置の回路図である。
【図３】送信イネーブル信号デコーダ及び受信イネーブル信号デコーダの動作を説明するためのタイミングチャートである。
【図４】転送ユニットの回路図である。
【図５】  ckw＜ckrの場合における、データ転送装置の第１の転送ユニット及び第２の転送ユニットのデータ転送のタイミングチャートである。
【図６】  ckw＜ckrの場合における、データ転送装置の第３の転送ユニット及び第４の転送ユニットのデータ転送のタイミングチャートである。
【図７】  ckw＞ckrの場合における、データ転送装置の第１の転送ユニット及び第２の転送ユニットのデータ転送のタイミングチャートである。
【図８】  ckw＞ckrの場合における、データ転送装置の第３の転送ユニット及び第４の転送ユニットのデータ転送のタイミングチャートである。
【図９】送信データdwiを連続して伝送する条件を説明するための図である。
【図１０】第２の実施の形態に適用される転送ユニットの回路図である。
【図１１】図１０に示す転送ユニットを用いた場合に、送信データdwiを連続して伝送する条件を説明するための図である。
【図１２】従来のクロック乗り換えシステムのブロック構成図である。
【図１３】従来のクロック乗り換えシステムのデータ転送のタイミングチャート（ckw＜ckr）である。
【図１４】従来のクロック乗り換えシステムのデータ転送のタイミングチャート（ckw＞ckr）である。
【符号の説明】
１  クロック乗り換えシステム、１１  送信装置、１２  受信装置、１３  データ転送装置、２０  転送ユニット、２１  送信カウンタ、２２  受信カウンタ、２３  送信イネーブル信号デコーダ、２４  受信イネーブル信号デコーダ、２５  送信許可信号セレクタ、２６  受信許可信号セレクタ、２７  データセレクタ
【図１】
0004438276.tif 000004
【図２】
0004438276.tif 000005
【図３】
0004438276.tif 000006
【図４】
0004438276.tif 000007
【図５】
0004438276.tif 000008
【図６】
0004438276.tif 000009
【図７】
0004438276.tif 000010
【図８】
0004438276.tif 000011
【図９】
0004438276.tif 000012
【図１０】
0004438276.tif 000013
【図１１】
0004438276.tif 000014
【図１２】
0004438276.tif 000015
【図１３】
0004438276.tif 000016
【図１４】
0004438276.tif 000017