(57)【要約】【課題】データ送信許可ｒｗｏ及びデータ受信許可ｒｒｏによりデータの転送を制御するクロック乗り換えシステムにおいて、内部でメタステーブルの状態が生じたとしても、その影響を吸収して常に安定したデータ転送を実現する。【解決手段】データ転送装置１３は、送信イネーブルｅｗｉのタイミングで転送データをラッチし、受信イネーブルｅｒｉのタイミングで読み出されるデータラッチ２１と、送信イネーブルｅｗｉを少なくとも送信クロックｃｋｗの１周期分遅延させラッチする第１のＳＲ−ＦＦ回路３１と、受信イネーブルｅｒｉを少なくとも受信クロックｃｋｒの１周期分遅延させラッチする第３のＳＲ−ＦＦ回路３３と備える。データ転送装置１３では、第１のＳＲ−ＦＦ回路３１でラッチされた信号を連続して２回受信クロックｃｋｒのタイミングでラッチし、受信許可信号ｒｒｏを生成し、第３のＳＲ−ＦＦ回路３３でラッチされた信号を連続して２回送信クロックｃｋｗのタイミングでラッチし、送信許可信号ｒｗｏを生成する。【選択図】　図２
2004110191.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックに同期してデータを送信する送信装置と、上記第１のクロックとは異なる第２のクロックに同期してデータを受信する受信装置とを有し、
上記送信装置は、送信許可信号を受信し、この送信許可信号に応じて、データが有効であることを示す送信イネーブル信号を送信するとともに、この送信イネーブル信号に同期してデータを送信し、
上記受信装置は、受信許可信号を受信し、受信した受信許可信号に応じて、データが有効であることを示す受信イネーブル信号を送信するとともに、この受信イネーブル信号に同期してデータを受信するクロック乗り換えシステムに適用されるデータ転送装置において、
上記送信装置から送信されたデータを送信イネーブル信号のタイミングでラッチし、ラッチしているデータが上記受信装置により上記受信イネーブル信号のタイミングで読み出されるデータラッチ手段と、
上記送信装置から送信された送信イネーブル信号を上記第１のクロックのタイミングでラッチし、ラッチした送信イネーブル信号を少なくとも上記第１のクロックの１周期分遅延させる第１のラッチ手段と、
上記第１のラッチ手段によりラッチされた送信イネーブル信号を上記第２のクロックのタイミングでラッチする第２のラッチ手段と、
上記第２のラッチ手段によりラッチされた送信イネーブル信号に応じて上記第２のクロックに同期した受信許可信号を送信し、上記受信装置から送信された受信イネーブル信号に応じて当該受信許可信号の送信を停止する受信許可信号発生手段と、
上記受信装置から送信された受信イネーブル信号を上記第２のクロックのタイミングでラッチし、ラッチした受信イネーブル信号を少なくとも上記第２のクロックの１周期分遅延させる第３のラッチ手段と、
上記第３のラッチ手段によりラッチされた受信イネーブル信号を上記第１のクロックのタイミングでラッチする第４のラッチ手段と、
上記第４のラッチ手段によりラッチされた受信イネーブル信号に応じて上記第１のクロックに同期した送信許可信号を送信し、上記送信装置から送信された送信イネーブル信号に応じて当該送信許可信号の送信を停止する送信許可信号発生手段とを備え、
上記第２のラッチ手段は、上記第１のラッチ手段によりラッチされた送信イネーブル信号を、連続して２回以上、上記第２のクロックのタイミングでラッチし、
上記第４のラッチ手段は、上記第３のラッチ手段によりラッチされた送信イネーブル信号を、連続して２回以上、上記第１のクロックのタイミングでラッチすること
を特徴とするデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期のクロックで動作している２つのシステム間でデータの転送を行うデータ転送装置に関する。
【０００２】
【従来の技術】
非同期のクロックを用いた２つのシステム間でデータの転送を行う場合、転送するデータのクロック乗り換え処理を行わなければならない。クロック乗り換え処理の方法としては、例えば、ＦＩＦＯレジスタやＲＡＭでクロック間のタイミング差を吸収する方法や、送信側及び受信側の２つのクロックから、同期タイミング用の新たなクロックを生成し、その新たなクロックに同期させてデータを転送する方法などがある。しかしながら、前者の方法では、ＦＩＦＯレジスタやＲＡＭが必要であるので、回路規模が大きくなってしまう。また、後者の方法でも、クロック比の情報やタイミング調整用のパラメータ情報等を入力する必要であったり、同期タイミング用のクロックを生成するための回路が必要であったりするので、やはり回路規模が大きくなってしまう。
【０００３】
また、送信データのイネーブル信号を受信側のクロックで検出して、その検出タイミングでデータを受信側に転送する方法もある。この方法の場合、回路規模は非常に小さくなるが、送信側のクロックよりも受信側のクロックの方が充分早くなければ実現できない。
【０００４】
以上のような問題を解決するシステムとして、従来より、図５に示すような、データ送信許可及びデータ受信許可を発生し、その許可信号に応じてデータの転送を行うクロック乗換えを行うシステムが提案されている。以下、この図５に示す従来のクロック乗り換えシステムについて説明をする。
【０００５】
従来のクロック乗り換えシステム１００は、データの転送元の装置（以下、送信装置１０１という。）と、データの転送先の装置（以下、受信装置１０２という。）との間に、送信装置１０１から受信装置１０２へデータの受け渡しを行うデータ転送装置１０３が設けられた構成となっている。
【０００６】
送信装置１０１は、所定の周波数のクロック（送信クロックｃｋｗ）で動作している。送信装置１０１は、所定のバス幅のデータをデータ出力端子から出力する。送信装置１０１は、データ転送を行う場合、送信クロックｃｋｗに同期した送信データｄｗｉをデータ転送装置１０３へ送信する。
【０００７】
送信装置１０１は、データ転送を行う場合、バスを転送している送信データｄｗｉの送信タイミングを示す送信イネーブル信号ｅｗｉも、送信データｄｗｉに同期させてデータ転送装置１０３に出力する。送信イネーブル信号ｅｗｉは、送信クロックｃｋｗに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。送信イネーブル信号ｅｗｉは、送信装置１０１からデータ転送装置１０３へ送信データｄｗｉが転送されているタイミングでＨとされ、送信データｄｗｉが転送されていないタイミングにＬとされる。
【０００８】
送信装置１０１は、送信データｄｗｉの出力を許可することを意味する送信許可信号ｒｗｏを、データ転送装置１０３から受信する。送信許可信号ｒｗｏは、送信クロックｃｋｗに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。送信装置１０１は、送信許可信号ｒｗｏが１クロック分Ｈとされると、１ワード分の送信データｄｗｉを送信クロックｃｋｗに同期させてデータ転送装置１０３へ送信する。送信装置１０１は、送信許可信号ｒｗｏがＬとされている間は、送信データｄｗｉ及び送信イネーブル信号ｅｗｉの送信を行わない。
【０００９】
受信装置１０２は、送信クロックｃｋｗとは非同期のクロック（受信クロックｃｋｒ）で動作している。受信装置１０２は、所定のバス幅のデータをデータ入力端子から入力する。受信装置１０２は、データ転送を行う場合、受信クロックｃｋｒに同期した受信データｄｒｏをデータ転送装置１０３から受信する。
【００１０】
受信装置１０２は、バスを転送している受信データｄｒｏの受信タイミングを示す受信イネーブル信号ｅｒｉを、受信クロックｃｋｒに同期させてデータ転送装置１０３に出力する。受信イネーブル信号ｅｒｉは、受信クロックｃｋｒに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。受信イネーブル信号ｅｒｉは、データ転送装置１０３から受信装置１０２へ受信データｄｒｏが転送されているタイミングでＨとされ、受信データｄｒｏが転送されていないタイミングにＬとされる。
【００１１】
受信装置１０２は、受信データｄｒｏの入力を許可することを意味する受信許可信号ｒｒｏを、データ転送装置１０３から受信する。受信許可信号ｒｒｏは、受信クロックｃｋｒに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。受信装置１０２は、受信許可信号ｒｒｏがＨである期間に、１ワード分の受信データｄｒｏをデータ転送装置１０３から受信クロックｃｋｒに同期させて受信することができる。受信装置１０２は、受信許可信号ｒｒｏがＬとされている間は、受信データｄｒｏの受信及び受信イネーブル信号ｅｒｉの送信を行わない。
【００１２】
データ転送装置１０３は、送信イネーブル信号ｅｗｉがＨとなったタイミングで、１ワード分の送信データｄｗｉを受信し、内部にラッチする。また、データ転送装置１０３は、受信イネーブル信号ｅｒｉがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１０２により読み出される。
【００１３】
データ転送装置１０３は、送信装置１０１から送信イネーブル信号ｅｗｉが入力され、受信装置１０２から受信イネーブル信号ｅｒｉが入力される。また、データ転送装置１０３は、送信許可信号ｒｗｏを送信装置１０１に出力し、受信許可信号ｒｒｏを受信装置１０２に出力する。
【００１４】
以上のようなクロック乗り換えシステム１００では、次の（Ｓ１）〜（Ｓ４）の処理を巡回的に行うこととなる。なお、例えば電源投入時やデータの転送開始の命令の受信時等のデータ転送の開始時には、データ転送装置１０３は、送信許可信号ｒｗｏをＨとし、受信許可信号ｒｒｏをＬとしている。
【００１５】
（Ｓ１）まず、送信装置１０１は、送信許可信号ｒｗｏがＨとなったことを受けて、１ワード分の送信データｄｗｉをデータ転送装置１０３に格納する。このとき、送信装置１０１は、送信データｄｗｉの転送に同期させて、送信イネーブル信号ｅｗｉを１クロック分（送信クロックｃｋｗ）Ｈとする。
【００１６】
（Ｓ２）続いて、データ転送装置１０３は、送信イネーブル信号ｅｗｉがＨとなったことを受けて、送信許可信号ｒｗｏをＬとするとともに、受信許可信号ｒｒｏをＨとする。なお、このとき、データ転送装置１０３は、送信イネーブル信号ｅｗｉがＨとなったタイミング（例えば送信イネーブル信号ｅｗｉの立ち上がりエッジ）から、受信許可信号ｒｒｏをＨとするタイミング（例えば受信許可信号ｒｒｏの立ち上がりエッジ）までの時間間隔に、送信クロックｃｋｗの１周期分以上の時間を空ける。このように時間間隔をとるのは、送信装置１０１から送信データｄｗｉの格納が確実に完了することを保障するためである。
【００１７】
（Ｓ３）続いて、受信装置１０２は、受信許可信号ｒｒｏがＨとなったことを受けて、１ワード分の受信データｄｒｏをデータ転送装置１０３から読み出す。このとき、受信装置１０２は、受信データｄｒｏの転送に同期させて、受信イネーブル信号ｅｒｉを１クロック分（受信クロックｃｋｒ）Ｈとする。
【００１８】
（Ｓ４）続いて、データ転送装置１０３は、受信イネーブル信号ｅｒｉがＨとなったことを受けて、受信許可信号ｒｒｏをＬとするとともに、送信許可信号ｒｗｏをＨとする。なお、このとき、データ転送装置１０３は、受信イネーブル信号ｅｒｉがＨとなったタイミング（例えば、受信イネーブル信号ｅｒｉの立ち上がりエッジ）から、送信許可信号ｒｗｏをＨとするタイミング（例えば送信許可信号ｒｗｏの立ち上がりエッジ）までの時間間隔として、受信クロックｃｋｒの１周期分以上の時間を空ける。このように時間間隔をとるのは、受信装置１０２の受信データｄｒｏの読み出しが確実に完了することを保障するためである。
【００１９】
つぎに、データ転送装置１０３内の具体的な内部構成について説明をする。
【００２０】
データ転送装置１０３は、図５に示すように、内部に、データラッチ１１１と、タイミング制御回路１１２とを備えている。
【００２１】
データラッチ１１１は、送信クロックｃｋｗに同期して動作し、送信イネーブル信号ｅｗｉがＨとなっていると、バス上の１ワード分の送信データｄｗｉをラッチする。また、データラッチ１１１は、受信イネーブル信号ｅｒｉがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１０２により読み出される。
【００２２】
タイミング制御回路１１２は、図６に示すように、第１〜第４のＳＲ−フリップフロップ回路（ＳＲ−ＦＦ回路）１２１〜１２４と、第１〜第２のＤ−フリップフロップ回路（Ｄ−ＦＦ回路）１２５〜１２６と、第１〜第２のＯＲ演算回路（ＯＲ回路）１２７〜１２８と、第１〜第２の反転回路１２９〜１３０と、第１〜第２のＡＮＤ演算回路（ＡＮＤ回路）１３１〜１３２とを備えている。
【００２３】
第１のＳＲ−ＦＦ回路１２１は、セット端子（ｓｅｔ）に送信装置１０１からの送信イネーブル信号ｅｗｉが入力され、リセット端子（ｒｓｔ）に第１のＤ−ＦＦ回路１２５の出力信号が入力されている。第１のＳＲ−ＦＦ回路１２１は、クロック端子に送信クロックｃｋｗが入力されている。
【００２４】
第２のＳＲ−ＦＦ回路１２２は、セット端子（ｓｅｔ）に第１のＤ−ＦＦ回路１２５の出力信号が入力され、リセット端子（ｒｓｔ）に第３のＳＲ−ＦＦ回路１２３の出力信号が入力されている。第２のＳＲ−ＦＦ回路１２２は、クロック端子に受信クロックｃｋｒが入力されている。
【００２５】
第３のＳＲ−ＦＦ回路１２３は、セット端子（ｓｅｔ）に受信装置１０２からの受信イネーブル信号ｅｒｉが入力され、リセット端子（ｒｓｔ）に第２のＤ−ＦＦ回路１２５の出力信号が入力されている。第３のＳＲ−ＦＦ回路１２３は、クロック端子に受信クロックｃｋｒが入力されている。
【００２６】
第４のＳＲ−ＦＦ回路１２４は、セット端子（ｓｅｔ）に第２のＤ−ＦＦ回路１２６の出力信号が入力され、リセット端子（ｒｓｔ）に第１のＳＲ−ＦＦ回路１２１の出力信号が入力されている。第４のＳＲ−ＦＦ回路１２４は、クロック端子に送信クロックｃｋｗが入力されている。
【００２７】
第１のＤ−ＦＦ回路１２５は、入力端子（ｄ）に第１のＳＲ−ＦＦ回路１２１の出力信号が入力されている。第１のＤ−ＦＦ回路１２５は、クロック端子に受信クロックｃｋｒが入力されている。
【００２８】
第２のＤ−ＦＦ回路１２６は、入力端子（ｄ）に第３のＳＲ−ＦＦ回路１２３の出力信号が入力されている。第２のＤ−ＦＦ回路１２６は、クロック端子に送信クロックｃｋｗが入力されている。
【００２９】
第１のＯＲ回路１２７は、一方の入力端子に第１のＤ−ＦＦ回路１２５の出力信号が入力され、他方の入力端子に第２のＳＲ−ＦＦ回路１２２の出力信号が入力されている。第２のＯＲ回路１２８は、一方の入力端子に第２のＤ−ＦＦ回路１２６の出力信号が入力され、他方の入力端子に第４のＳＲ−ＦＦ回路１２４の出力信号が入力されている。
【００３０】
第１の反転回路１２９は、入力端子に第３のＳＲ−ＦＦ回路１２３の出力信号が入力されている。第２の反転回路１３０は、入力端子に第１のＳＲ−ＦＦ回路１２１の出力信号が入力されている。
【００３１】
第１のＡＮＤ回路１３１は、一方の入力端子に第１の反転回路１２９の出力信号が入力され、他方の入力端子に第１のＯＲ回路１２７の出力信号が入力されている。第２のＡＮＤ回路１３２は、一方の入力端子に第２の反転回路１３０の出力信号が入力され、他方の入力端子に第２のＯＲ回路１２８の出力信号が入力されている。
【００３２】
そして、以上のように接続されたタイミング制御回路１１２では、第１のＡＮＤ回路１３１の出力信号が受信許可信号ｒｒｏとして受信装置１０２に対して出力され、第２のＡＮＤ回路１３１の出力信号が送信許可信号ｒｗｏとして送信装置１０１に対して出力される。
【００３３】
図７及び図８に、以上のような構成のタイミング制御回路を用いた場合における、各信号のタイミングチャートを示す。図７は、ｃｋｗ＜ｃｋｒの場合のタイミングチャートである。図８は、ｃｋｗ＞ｃｋｒの場合のタイミングチャートである。なお、図７及び図８中、Ａは第１のＳＲ−ＦＦ回路１２１の出力信号であり、Ｂは第１のＤ−ＦＦ回路１２５の出力信号であり、Ｃは第３のＳＲ−ＦＦ回路１２３の出力信号であり、Ｄは第２のＤ−ＦＦ回路１２６の出力信号である。
【００３４】
以上のようにデータ送信許可及びデータ受信許可によりデータの転送を制御する従来のクロック乗り換えシステム１００では、送信許可信号ｒｗｏの発行→送信データｄｗｉの格納→受信許可信号ｒｒｏの発行→受信データｄｒｏの読み出し→送信許可信号ｒｗｏの発行→送信データｄｗｉの格納→・・・といった処理を繰り返していくこととなる。
【００３５】
従って、この従来のクロック乗り換えシステム１００では、大容量のＦＩＦＯやＲＡＭ等を用いることなく、且つ、非同期のクロック間のデータの転送を実現することができ、さらに、送信クロックｃｋｗと受信クロックｃｋｒとのクロック比がどのような値であっても、データの転送を実現できる。
【００３６】
【発明が解決しようとする課題】
ところで、第１のＤ−ＦＦ回路１２５は、受信クロックｃｋｒの立ち上がりタイミングで動作する。しかしながら、第１のＤ−ＦＦ回路１２５がラッチする信号は、第１のＳＲ−ＦＦ回路１２１が送信クロックｃｋｗの立ち上がりタイミングでラッチした信号である。そのため、第１のＳＲ−ＦＦ回路１２１が送信イネーブル信号ｅｗｉをラッチしてから、次の受信クロックｃｋｒの立ち上がりタイミングまでの時間間隔が非常に短くなってしまう場合がある。このようにラッチ間隔が短い場合、いわゆるメタステーブルと呼ばれる現象が生じる可能性があり、後段のラッチ回路（第１のＤ−ＦＦ回路１２５）の動作が不安定となってしまう。また、第２のＤ−ＦＦ回路１２６も、同様にメタステーブルと呼ばれる現象が生じる可能性がある。
【００３７】
本発明は、このような従来の実情に鑑みて提案されたものであり、データ送信許可及びデータ受信許可によりデータの転送を制御するクロック乗り換えシステムにおいて、内部でメタステーブルの状態が生じたとしても、その影響を吸収して、常に安定したデータ転送を実現できるデータ転送装置を提供することを目的とする。
【００３８】
【課題を解決するための手段】
本発明にかかるデータ転送装置は、第１のクロックに同期してデータを送信する送信装置と、上記第１のクロックとは異なる第２のクロックに同期してデータを受信する受信装置とを有するクロック乗り換えシステムに適用される。
【００３９】
上記送信装置は、送信許可信号を受信し、この送信許可信号に応じて、データが有効であることを示す送信イネーブル信号を送信するとともに、この送信イネーブル信号に同期してデータを送信する。また、上記受信装置は、受信許可信号を受信し、受信した受信許可信号に応じて、データが有効であることを示す受信イネーブル信号を送信するとともに、この受信イネーブル信号に同期してデータを受信する。
【００４０】
このようなクロック乗り換えシステムに適用されるデータ転送装置は、データラッチ手段と、第１から第４のラッチ手段、並びに、受信許可信号発生手段及び送信許可発生手段を備えている。
【００４１】
上記データラッチ手段は、送信装置から送信されたデータを送信イネーブル信号のタイミングでラッチし、ラッチしているデータが上記受信装置により上記受信イネーブル信号のタイミングで読み出される。
【００４２】
上記第１のラッチ手段は、上記送信装置から送信された送信イネーブル信号を上記第１のクロックのタイミングでラッチし、ラッチした送信イネーブル信号を少なくとも上記第１のクロックの１周期分遅延させる。上記第２のラッチ手段は、上記第１のラッチ手段によりラッチされた送信イネーブル信号を上記第２のクロックのタイミングでラッチする。上記受信許可信号発生手段は、上記第２のラッチ手段によりラッチされた送信イネーブル信号に応じて上記第２のクロックに同期した受信許可信号を送信し、上記受信装置から送信された受信イネーブル信号に応じて当該受信許可信号の送信を停止する。
【００４３】
上記第３のラッチ手段は、上記受信装置から送信された受信イネーブル信号を上記第２のクロックのタイミングでラッチし、ラッチした受信イネーブル信号を少なくとも上記第２のクロックの１周期分遅延させる。上記第４のラッチ手段は、上記第３のラッチ手段によりラッチされた受信イネーブル信号を上記第１のクロックのタイミングでラッチする。上記送信許可信号発生手段は、上記第４のラッチ手段によりラッチされた受信イネーブル信号に応じて上記第１のクロックに同期した送信許可信号を送信し、上記送信装置から送信された送信イネーブル信号に応じて当該送信許可信号の送信を停止する。
【００４４】
以上のような構成のデータ転送装置では、上記第２のラッチ手段が、上記第１のラッチ手段によりラッチされた送信イネーブル信号を、連続して２回以上、上記第２のクロックのタイミングでラッチする。さらに、第４のラッチ手段は、上記第３のラッチ手段によりラッチされた送信イネーブル信号を、連続して２回以上、上記第１のクロックのタイミングでラッチする。
【００４５】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したクロック乗り換えシステムについて説明をする。本実施の形態のクロック乗り換えシステムは、非同期のクロックを用いた２つのシステム間でデータの転送を行う際に、転送データのクロック乗り換え処理を行うためのシステムである。
【００４６】
図１に本発明の実施の形態のクロック乗り換えシステムのブロック構成図を示す。
【００４７】
本発明の実施の形態のクロック乗り換えシステム１は、データを送信する側の装置（以下、送信装置１１という。）と、データを受信する側の装置（以下、受信装置１２という。）との間に、送信装置１１から受信装置１２へデータの受け渡しを行うデータ転送装置１３が設けられた構成となっている。
【００４８】
送信装置１１は、所定の周波数のクロックで動作している。送信装置１１の動作クロックを、以下、送信クロックｃｋｗという。送信装置１１は、所定のバス幅のデータをデータ出力端子から出力する。送信装置１１は、データ転送を行う場合、送信クロックｃｋｗに同期したデータをデータ転送装置１３へ送信する。送信装置１１からデータ転送装置１３へ送信されるデータを、以下、送信データｄｗｉという。
【００４９】
送信装置１１は、データ転送を行う場合、バスを転送している送信データｄｗｉの送信タイミングを示す送信イネーブル信号ｅｗｉも、送信データｄｗｉに同期させてデータ転送装置１３に出力する。送信イネーブル信号ｅｗｉは、送信クロックｃｋｗに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。送信イネーブル信号ｅｗｉは、送信装置１１からデータ転送装置１３へ送信データｄｗｉが転送されているタイミングでＨとされ、送信データｄｗｉが転送されていないタイミングにＬとされる。
【００５０】
送信装置１１は、送信データｄｗｉの出力を許可することを意味する送信許可信号ｒｗｏを、データ転送装置１３から受信する。送信許可信号ｒｗｏは、送信クロックｃｋｗに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。送信装置１１は、送信許可信号ｒｗｏが１クロック分Ｈとされると、１ワード分の送信データｄｗｉを送信クロックｃｋｗに同期させてデータ転送装置１３へ送信する。送信装置１１は、送信許可信号ｒｗｏがＬとされている間は、送信データｄｗｉ及び送信イネーブル信号ｅｗｉの送信を行わない。
【００５１】
受信装置１２は、送信クロックｃｋｗとは非同期のクロックで動作している。受信装置１２の動作クロックを、以下、受信クロックｃｋｒいう。受信装置１２は、所定のバス幅のデータをデータ入力端子から入力する。受信装置１２は、データ転送を行う場合、受信クロックｃｋｒに同期したデータをデータ転送装置１３から受信する。データ転送装置１３から受信装置１２へ転送されるデータを、以下、受信データｄｒｏという。
【００５２】
受信装置１２は、バスを転送している受信データｄｒｏの受信タイミングを示す受信イネーブル信号ｅｒｉを、受信クロックｃｋｒに同期させてデータ転送装置１３に出力する。受信イネーブル信号ｅｒｉは、受信クロックｃｋｒに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表される。受信イネーブル信号ｅｒｉは、データ転送装置１３から受信装置１２へ受信データｄｒｏが転送されているタイミングでＨとされ、受信データｄｒｏが転送されていないタイミングにＬとされる。
【００５３】
受信装置１２は、受信データｄｒｏの入力を許可することを意味する受信許可信号ｒｒｏを、データ転送装置１３から受信する。受信許可信号ｒｒｏは、受信クロックｃｋｒに同期したハイ（Ｈ）及びロー（Ｌ）の２値信号で表されている。受信装置１２は、受信許可信号ｒｒｏが１クロック分Ｈとされると、１ワード分の受信データｄｒｏをデータ転送装置１３から受信クロックｃｋｒに同期させて受信する。受信装置１２は、受信許可信号ｒｒｏがＬとされている間は、受信データｄｒｏの受信及び受信イネーブル信号ｅｒｉの送信を行わない。
【００５４】
データ転送装置１３は、送信イネーブル信号ｅｗｉがＨとなったタイミングで、１ワード分の送信データｄｗｉを送信装置１１から受信して内部にラッチする。また、データ転送装置１３は、受信イネーブル信号ｅｒｉがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１２により読み出される。
【００５５】
データ転送装置１３は、送信装置１１から送信イネーブル信号ｅｗｉが入力され、受信装置１２から受信イネーブル信号ｅｒｉが入力される。また、データ転送装置１３は、送信許可信号ｒｗｏを送信装置１１に出力し、受信許可信号ｒｒｏを受信装置１２に出力する。
【００５６】
以上のようなクロック乗り換えシステム１では、次の（Ｓ１１）〜（Ｓ１４）の処理を巡回的に行うこととなる。なお、例えば電源投入時やデータの転送開始の命令の受信時等のデータ転送の開始時には、データ転送装置１３は、送信許可信号ｒｗｏをＨとし、受信許可信号ｒｒｏをＬとしている。
【００５７】
（Ｓ１１）まず、送信装置１１は、送信許可信号ｒｗｏがＨとなったことを受けて、１ワード分の送信データｄｗｉをデータ転送装置１３に格納する。このとき、送信装置１１は、送信データｄｗｉの転送に同期させて、送信イネーブル信号ｅｗｉを１クロック分（送信クロックｃｋｗ）Ｈとする。
【００５８】
（Ｓ１２）続いて、データ転送装置１３は、送信イネーブル信号ｅｗｉがＨとなったことを受けて、送信許可信号ｒｗｏをＬとするとともに、受信許可信号ｒｒｏをＨとする。なお、このとき、データ転送装置１３は、送信イネーブル信号ｅｗｉがＨとなったタイミング（例えば送信イネーブル信号ｅｗｉの立ち上がりエッジ）から、受信許可信号ｒｒｏをＨとするタイミング（例えば受信許可信号ｒｒｏの立ち上がりエッジ）までの時間間隔に、送信クロックｃｋｗの２周期分以上の時間を空ける。このように時間間隔をとるのは、送信装置１１から送信データｄｗｉの格納が確実に完了することを保障し、さらに、送信クロックｃｋｗから受信クロックｃｋｒにデータの乗り換えを行う際に、メタステーブルと呼ばれる現象が生じても出力を安定化させるためである。
【００５９】
（Ｓ１３）続いて、受信装置１２は、受信許可信号ｒｒｏがＨとなったことを受けて、１ワード分の受信データｄｒｏをデータ転送装置１３から読み出す。このとき、受信装置１２は、受信データｄｒｏの転送に同期させて、受信イネーブル信号ｅｒｉを１クロック分（受信クロックｃｋｒ）Ｈとする。
【００６０】
（Ｓ１４）続いて、データ転送装置１３は、受信イネーブル信号ｅｒｉがＨとなったことを受けて、受信許可信号ｒｒｏをＬとするとともに、送信許可信号ｒｗｏをＨとする。なお、このとき、データ転送装置１３は、受信イネーブル信号ｅｒｉがＨとなったタイミング（例えば、受信イネーブル信号ｅｒｉの立ち上がりエッジ）から、送信許可信号ｒｗｏをＨとするタイミング（例えば送信許可信号ｒｗｏの立ち上がりエッジ）までの時間間隔として、受信クロックｃｋｒの１周期分以上の時間を空ける。このように時間間隔をとるのは、受信装置１２の受信データｄｒｏの読み出しが確実に完了することを保障し、さらに、送信クロックｃｋｗから受信クロックｃｋｒにデータの乗り換えを行う際に、メタステーブルと呼ばれる現象が生じても出力を安定化させるためである。
【００６１】
つぎに、データ転送装置１３内の具体的な内部構成について、図２を参照して説明をする。
【００６２】
データ転送装置１３は、図２に示すように、内部に、データラッチ２１と、タイミング制御回路２１とを備えている。
【００６３】
データラッチ２１は、クロック入力端子が設けられ、このクロック入力端子に入力される信号の立ち上がりエッジに同期して動作するラッチ回路である。データラッチ２１は、このクロック入力端子に送信クロックｃｋｗが入力される。データラッチ２１は、入力端子（ｄ）、イネーブル端子（ｅｎ）及び出力端子（ｑ）を備えている。入力端子（ｄ）には、送信装置１１から送信データが入力され、イネーブル端子（ｅｎ）には、送信装置１１から送信イネーブル信号ｅｗｉが入力される。データラッチ２１は、送信イネーブル信号ｅｗｉがＨとなっていると、バス上の１ワード分の送信データｄｗｉをラッチする。また、受信端子（ｑ）は、受信装置１２のデータ入力端子に接続されている。データラッチ２１は、受信イネーブル信号ｅｒｉがＨとなったタイミングで、内部にラッチしている１ワード分のデータが、受信装置１２により読み出される。
【００６４】
タイミング制御回路２１は、第１〜第４のＳＲ−フリップフロップ回路（ＳＲ−ＦＦ回路）３１〜３４と、第１〜第４のＤ−フリップフロップ回路（Ｄ−ＦＦ回路）３５〜３８と、第１〜第２の反転回路３９〜４０と、第１〜第４のＡＮＤ演算回路（ＡＮＤ回路）４１〜４４とを備えている。
【００６５】
第１〜第４のＳＲ−ＦＦ回路３１〜３４は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＳＲ−フリップフロップ回路である。つまり、第１〜第４のＳＲ−ＦＦ回路３１〜３４は、セット端子（ｓｅｔ）、リセット端子（ｒｓｔ）、出力端子（ｑ）が設けられている。第１〜第４のＳＲ−ＦＦ回路３１〜３４は、セット端子（ｓｅｔ）がＨとなっていると内部状態をＨとし、その後にリセット端子（ｒｓｔ）がＨとなるまでそのＨとなっている内部状態を保持し続ける。第１〜第４のＳＲ−ＦＦ回路３１〜３４は、リセット端子（ｒｓｔ）がＨとなると、その内部状態をＬにリセットする。第１〜第４のＳＲ−ＦＦ回路３１〜３４は、内部状態が出力端子（ｑ）に反映されている。
【００６６】
また、第１〜第４のＳＲ−ＦＦ回路３１〜３４には、初期化端子（ｘｒｓ，ｓｐｒ）が設けられている。第１〜第３のＳＲ−ＦＦ回路３１〜３３は、初期化端子（ｘｒｓ）がＨとされると、強制的に内部状態をＬとする。第４のＳＲ−ＦＦ回路３４は、初期化端子（ｓｐｒ）がＨとされると、強制的に内部状態をＨとする。
【００６７】
第１〜第４のＤ−ＦＦ回路３５〜３８は、クロック入力端子が設けられ、このクロック入力端子に入力される信号のタイミング（例えば、立ち上がりエッジ）に同期して動作するＤ−フリップフロップ回路である。つまり、第１〜第４のＤ−ＦＦ回路３５〜３８は、入力端子（ｄ）、出力端子（ｑ）が設けられている。第１〜第４のＤ−ＦＦ回路３５〜３８は、入力端子（ｄ）に入力された値（ハイ（Ｈ）又はロー（Ｌ））を、１クロック期間分ラッチする。第１〜第４のＤ−ＦＦ回路３５〜３８は、その内部状態が出力端子（ｑ）に反映されている。
【００６８】
第１〜第２の反転回路３９〜４０は、１つの入力端子及び１つの出力端子が設けられており、入力端子に入力された値（ハイ（Ｈ）又はロー（Ｌ））を反転して、出力端子に反映する回路である。
【００６９】
第１〜第４のＡＮＤ回路３９〜４４は、２つの入力端子及び１つの出力端子が設けられており、この２つの入力端子に入力された２つの値（ハイ（Ｈ）又はロー（Ｌ））のＡＮＤ論理演算を行い、出力端子に反映する回路である。
【００７０】
タイミング制御回路２１では、以上のような各回路が次のように接続されている。
【００７１】
第１のＳＲ−ＦＦ回路３１は、セット端子（ｓｅｔ）に送信装置１１からの送信イネーブル信号ｅｗｉが入力され、リセット端子（ｒｓｔ）に第１のＡＮＤ回路４１の出力信号が入力されている。第１のＳＲ−ＦＦ回路３１は、クロック端子に送信クロックｃｋｗが入力されている。
【００７２】
第１のＤ−ＦＦ回路３５は、入力端子（ｄ）に第１のＳＲ−ＦＦ回路３１の出力信号が入力されている。第１のＤ−ＦＦ回路３５は、クロック端子に受信クロックｃｋｒが入力されている。
【００７３】
第２のＤ−ＦＦ回路３６は、入力端子（ｄ）に第１のＤ−ＦＦ回路３５の出力信号が入力されている。第２のＤ−ＦＦ回路３６は、クロック端子に受信クロックｃｋｒが入力されている。
【００７４】
第２のＳＲ−ＦＦ回路３２は、セット端子（ｓｅｔ）に第３のＡＮＤ回路４２の出力信号が入力され、リセット端子（ｒｓｔ）に受信イネーブル信号ｅｒｉが入力されている。第２のＳＲ−ＦＦ回路３２は、クロック端子に受信クロックｃｋｒが入力されている。
【００７５】
第３のＳＲ−ＦＦ回路３３は、セット端子（ｓｅｔ）に受信装置１２からの受信イネーブル信号ｅｒｉが入力され、リセット端子（ｒｓｔ）に第２のＡＮＤ回路４２の出力信号が入力されている。第３のＳＲ−ＦＦ回路３３は、クロック端子に受信クロックｃｋｒが入力されている。
【００７６】
第３のＤ−ＦＦ回路３７は、入力端子（ｄ）に第３のＳＲ−ＦＦ回路３３の出力信号が入力されている。第３のＤ−ＦＦ回路３７は、クロック端子に送信クロックｃｋｗが入力されている。
【００７７】
第４のＤ−ＦＦ回路３８は、入力端子（ｄ）に第３のＤ−ＦＦ回路３７の出力信号が入力されている。第４のＤ−ＦＦ回路３８は、クロック端子に送信クロックｃｋｗが入力されている。
【００７８】
第４のＳＲ−ＦＦ回路３４は、セット端子（ｓｅｔ）に第４のＡＮＤ回路４４の出力信号が入力され、リセット端子（ｒｓｔ）に送信イネーブル信号ｅｗｉが入力されている。第４のＳＲ−ＦＦ回路３４は、クロック端子に送信クロックｃｋｗが入力されている。
【００７９】
第１の反転回路３９は、入力端子に第２のＤ−ＦＦ回路３６の出力信号が入力されている。
【００８０】
第２の反転回路４０は、入力端子に第４のＤ−ＦＦ回路３８の出力信号が入力されている。
【００８１】
第１のＡＮＤ回路４１は、一方の入力端子に第１のＤ−ＦＦ回路３５の出力信号が入力され、他方の入力端子に第２のＤ−ＦＦ回路３６の出力信号が入力されている。
【００８２】
第２のＡＮＤ回路４２は、一方の入力端子に第３のＤ−ＦＦ回路３７の出力信号が入力され、他方の入力端子に第４のＤ−ＦＦ回路３８の出力信号が入力されている。
【００８３】
第３のＡＮＤ回路４３は、一方の入力端子に第１の反転回路３９の出力信号が入力され、他方の入力端子に第１のＤ−ＦＦ回路３５の出力信号が入力されている。
【００８４】
第４のＡＮＤ回路４４は、一方の入力端子に第２の反転回路４０の出力信号が入力され、他方の入力端子に第３のＤ−ＦＦ回路３７の出力信号が入力されている。
【００８５】
そして、以上のように接続されたタイミング制御回路２２では、第２のＳＲ−ＦＦ回路３２の出力信号が、受信許可信号ｒｒｏとして受信装置１２に対して出力され、第４のＳＲ−ＦＦ回路の出力信号が、送信許可信号ｒｗｏとして送信装置１１に対して出力される。
【００８６】
図３及び図４に、以上のような構成のタイミング制御回路２２のタイミングチャートを示す。図３は、ｃｋｗ＜ｃｋｒの場合のタイミングチャートである。図４は、ｃｋｗ＞ｃｋｒの場合のタイミングチャートである。なお、図３及び図４中、Ａは第１のＳＲ−ＦＦ回路３１の出力信号であり、Ｂは第１のＤ−ＦＦ回路３５の出力信号であり、Ｃは第２のＤ−ＦＦ回路３６の出力信号であり、Ｄは第３のＳＲ−ＦＦ回路３３の出力信号であり、Ｅは第３のＤ−ＦＦ回路３７の出力信号であり、Ｆは第４のＤ−ＦＦ回路３８の出力信号である。
【００８７】
ここで、第１のＤ−ＦＦ回路３５は、受信クロックｃｋｒの立ち上がりタイミングで動作する。しかしながら、第１のＤ−ＦＦ回路３５がラッチする信号は、第１のＳＲ−ＦＦ回路３１が送信クロックｃｋｗの立ち上がりタイミングでラッチした信号である。そのため、第１のＳＲ−ＦＦ回路３１が送信イネーブル信号ｅｗｉをラッチしてから、次の受信クロックｃｋｒの立ち上がりタイミングまでの時間間隔が非常に短くなってしまう場合がある。このようにラッチ間隔が短い場合、いわゆるメタステーブルと呼ばれる現象が生じる可能性があり、第１のＤ−ＦＦ回路３５の動作が不安定となってしまう。また、第３のＤ−ＦＦ回路３７も、同様にメタステーブルと呼ばれる現象が生じる可能性がある。
【００８８】
しかしながら、このタイミング制御回路２２では、第１のＤ−ＦＦ回路３５の後段で、もう一度受信クロックｃｋｒの立ち上がりタイミングで動作する第２のＤ−ＦＦ回路３５が設けらており、この第２のＤ−ＦＦ回路３６がラッチしている信号に基づき受信許可信号ｒｒｏが生成されている。同様に、第３のＤ−ＦＦ回路３７の後段で、もう一度送信クロックｃｋｗの立ち上がりタイミングで動作する第４のＤ−ＦＦ回路３５が設けらており、この第４のＤ−ＦＦ回路３８がラッチしている信号に基づき送信許可信号ｒｗｏが生成されている。
【００８９】
従って、このタイミング制御回路２２では、上記第１のＤ−ＦＦ回路３５及び第３のＤ−ＦＦ回路３７においてメタステーブルが生じて動作が不安定となったとしても、後段の第２のＤ−ＦＦ回路３６及び第４のＤ−ＦＦ回路３８でその影響が除去され、常に安定した制御信号を出力することが可能となっている。
【００９０】
以上のように本発明の実施の形態のクロック乗り換えシステム１では、送信許可信号ｒｗｏの発行→送信データｄｗｉの格納→受信許可信号ｒｒｏの発行→受信データｄｒｏの読み出し→送信許可信号ｒｗｏの発行→送信データｄｗｉの格納→・・・といった処理を繰り返していくこととなる。このクロック乗り換えシステム１では、大容量のＦＩＦＯやＲＡＭ等を用いることなく、且つ、非同期のクロック間のデータの転送を実現することができ、さらに、送信クロックｃｋｗと受信クロックｃｋｒとのクロック比がどのような値であっても、データの転送を実現できる。
【００９１】
さらに、本発明の実施の形態のクロック乗り換えシステム１では、送信クロックｃｋｗに同期した送信イネーブル信号ｅｗｉを受信すると、この受信に応じて送信データｄｗｉが格納されたことを確認し、受信クロックｃｋｒに同期した受信許可信号ｒｒｏを発行する。また、受信クロックｃｋｒに同期した受信イネーブル信号ｅｒｉを受信すると、この受信に応じて受信データｄｒｏが読み出されたことを確認し、送信クロックｃｋｗに同期した送信許可信号ｒｗｏを発行する。この際、クロック乗り換えシステム１では、送信イネーブル信号ｅｗｉを、連続して２回以上受信クロックｃｋｒのタイミングでラッチし、この後に、受信許可信号ｒｒｏを発行する。また、クロック乗り換えシステム１では、受信イネーブル信号ｅｒｉを、連続して２回以上送信クロックｃｋｗのタイミングでラッチし、この後に、送信許可信号ｒｗｏを発行する。
【００９２】
このため、本発明の実施の形態のクロック乗り換えシステム１では、送信クロックｃｋｗと受信クロックｃｋｒとの境界のラッチ回路でメタステーブルの状態が生じたとしても、その影響を吸収して、常に安定したデータ転送を実現することができる。
【００９３】
【発明の効果】
本発明にかかるデータ転送装置では、送信装置が当該データ転送装置からデータ送信許可を受けて１ワード分のデータを当該データ転送装置に送信し、受信装置が当該データ転送装置からデータ受信許可を受けて１ワード分のデータ当該データ転送装置から受信するシステムに用いられる。
【００９４】
本発明にかかるデータ転送装置では、送信装置の動作クロックである第１のクロックでラッチした信号を、その後に受信装置の動作クロックである第２のクロックでラッチする場合、少なくとも連続して２回以上第２のクロックタイミングでラッチする。同様に、本発明にかかるデータ転送装置では、第２のクロックでラッチした信号を、その後に第１のクロックでラッチする場合、少なくとも連続して２回以上第１のクロックタイミングでラッチする。
【００９５】
このため本発明にかかるデータ転送装置では、第１のクロックでラッチした信号を続けて第２のクロックでラッチする場合、或いは、第２のクロックでラッチした信号を続けて第１のクロックでラッチする場合、内部でメタステーブルの状態が生じたとしても、その影響を吸収して、常に安定したデータ転送を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のクロック乗り換えシステムのブロック構成図である。
【図２】上記クロック乗り換えシステムで用いられるデータ転送装置の回路図である。
【図３】図２に示すデータ転送装置のタイミングチャート（ｃｋｗ＜ｃｋｒ）である。
【図４】図２に示すデータ転送装置のタイミングチャート（ｃｋｗ＞ｃｋｒ）である。
【図５】従来のクロック乗り換えシステムのブロック構成図である。
【図６】上記従来のクロック乗り換えシステムで用いられるデータ転送装置の回路図である。
【図７】図６に示すデータ転送装置のタイミングチャート（ｃｋｗ＜ｃｋｒ）である。
【図８】図６に示すデータ転送装置のタイミングチャート（ｃｋｗ＞ｃｋｒ）である。
【符号の説明】
１　クロック乗り換えシステム、１１　送信装置、１２　受信装置、１３　データ転送装置、２１　データラッチ回路、２２　タイミング制御回路
【図１】
2004110191.tif 000003
【図２】
2004110191.tif 000004
【図３】
2004110191.tif 000005
【図４】
2004110191.tif 000006
【図５】
2004110191.tif 000007
【図６】
2004110191.tif 000008
【図７】
2004110191.tif 000009
【図８】
2004110191.tif 000010