(57)【要約】【課題】  入力クロックに対応したデータを装置内のクロックに乗せ替える。【解決手段】  書き込みカウンタ２は、入力データＤｉ１より作成された書き込みクロックＣＫｗに同期してインクリメントし、そのインクリメント値Ｃｗが示すバッファに入力データＤｉ１を書き込む。同時に、読み出しカウンタ４に書き込み終了信号Ｓｗ１〜Ｓｗ４が出力される。読み出しカウンタ４は、書き込み終了信号が入力されている間のみ、読み出しクロックＣＫｒに同期してインクリメントし、出力信号制御部は、そのインクリメント値Ｃｒが示すバッファに格納されたデータを出力する。このとき、信号取得許可信号Ｓａ１も出力する。また、読み出しカウンタ４に書き込み終了信号が入力されていない間は、読み出しクロックＣＫｒに同期してインクリメント値Ｃｒは更新されず、信号取得許可信号Ｓａ１も出力されない。【選択図】  図１
2005101771.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対応した第１のクロックに従って、前記入力データを格納する書き込み回路と、
第２のクロックに従って、前記書き込み回路に格納されたデータのうち出力すべきデータを出力しかつそのデータが有効であることを示す信号取得許可信号を出力する読み出し回路とを備え、
前記読み出し回路は、さらに
前記出力すべきデータが出力されていないときには、前記信号取得許可信号を出力しない
ことを特徴とするクロック乗せ替え回路。
【請求項２】
請求項１において、
前記書き込み回路は、
第１のバッファ選択回路と、少なくとも１つのバッファとを含み、
前記第１のバッファ選択回路は、
前記第１のクロックに従い、前記バッファを選択し、
前記第１のバッファ選択回路によって選択されたバッファは、
前記入力データを格納し、
前記読み出し回路は、
前記第２のクロックに従い、前記バッファを選択し、選択したバッファに格納されたデータを出力しかつ前記信号取得許可信号を出力し、
選択したバッファに出力すべきデータが格納されていないときには、前記信号取得許可信号を出力しない
ことを特徴とするクロック乗せ替え回路。
【請求項３】
請求項２において、
前記第１のバッファ選択回路は、さらに
前記バッファに入力データが格納されたときに、書き込み終了信号を前記読み出し回路に出力し、
前記読み出し回路は、
前記書き込み終了信号が入力されている間に、前記第２のクロックに従って、前記バッファを選択して、選択したバッファに格納された出力データを出力しかつ前記信号取得許可信号を出力し、
前記書き込み終了信号が出力されていないときには、前記バッファを選択せず、前記信号取得許可信号を出力しない
ことを特徴とするクロック乗せ替え回路。
【請求項４】
請求項２において、
前記バッファの段数を変更する段数変更回路をさらに備える
ことを特徴とするクロック乗せ替え回路。
【請求項５】
請求項１において、
前記入力データは、有効なデータが存在しない区間（空隙）を示す情報（空隙情報）を含み、
前記クロック乗せ替え回路は、
前記入力データより空隙情報を検出する空隙パターン検出回路をさらに備える
ことを特徴とするクロック乗せ替え回路。
【請求項６】
請求項１において、
前記第１のバッファ選択回路が前記入力データを格納することができるか否かを判断するオーバーフローエラー検出回路をさらに備える
ことを特徴とするクロック乗せ替え回路。
【請求項７】
請求項１において、
前記入力データは、特殊パターンを含み、
前記特殊パターンは、当該特殊パターンよりも以前に存在するデータのうち当該特殊パターンを始点として所定の位置に存在するデータを示し、
前記クロック乗せ替え回路は、さらに
少なくとも１つのバッファと、特殊パターン検出回路と、データ結合回路とを備え、
前記バッファは、
前記読み出し回路からのデータを格納し、
有効なデータを格納している場合のみ、前記読み出し回路からデータが入力されると格納していたデータを出力し、
前記特殊パターン検出回路は、
前記読み取り回路より出力されるデータより特殊パターンを検出し、
前記データ結合回路は、
前記特殊パターン検出回路で特殊パターンが検出されたときから前記バッファより当該特殊パターンが出力されるまでの間、前記バッファに前記読み出し回路からのデータを格納させかつ前記バッファが格納していたデータを出力させる
ことを特徴とするクロック乗せ替え回路。
【請求項８】
請求項１において、
前記読み出し回路から信号取得許可信号が出力されない期間が所定の値よりも長いか否かを判断する信号取得許可信号カウンタをさらに備える
ことを特徴とするクロック乗せ替え回路。
【請求項９】
請求項１において、
前記信号取得許可信号の出力状態が同じである期間と所定の期間とを比較するクロック差検出回路をさらに備える
ことを特徴とするクロック乗せ替え回路。
【請求項１０】
請求項９おいて、
クロック生成信号に基づき前記第２のクロックを生成するクロック生成回路をさらに備え、
前記クロック差検出回路は、
前記信号取得許可信号の出力状態が同じである期間を計数する計数回路と、
前記計数回路で計数された期間と所定の期間とを比較し、比較の結果に応じて前記クロック生成信号を調整する周波数差検出回路とを含む
ことを特徴とするクロック乗せ替え回路。
【請求項１１】
入力データに対応した第１のクロックに従って、前記入力データを少なくとも１つのバッファに格納する書き込みステップと、
第２のクロックに従って、前記書き込みステップで前記バッファに格納されたデータのうち出力すべきデータを出力しかつそのデータが有効であることを示す信号取得許可信号を出力する読み出しステップとを備え、
前記読み出しステップは、さらに
前記出力すべきデータが出力されていないときには、前記信号取得許可信号を出力しない
ことを特徴とするクロック乗せ替え方法。
【請求項１２】
請求項１１において、
クロック生成信号に基づき前記第２のクロックを生成するクロック生成ステップと、
前記信号取得許可信号の出力状態が同じである期間を計数する計数ステップと、
前記計数ステップで計数された期間と所定の値とを比較し、比較の結果に応じて前記クロック生成信号を調整する前記周波数差検出ステップとさらに備える
ことを特徴とするクロック乗せ替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速ディジタルデータ通信系において、受信データに同期した書き込みクロックから読み出しクロックにデータを乗せ替えるためのクロック乗せ替え回路に関する。
【背景技術】
【０００２】
一般にクロック乗せ替え回路は、受信データと回路内部の読み出しクロックの間に速度差や位相差がある場合に、ビットの重複または欠落が生じないように適当なビット数の受信データを一時的に記憶し受信データを読み出しクロックに同期させて送信するために使用される。
【０００３】
従来、このクロック乗せ替え回路は、位相差を検出する方式、開始フラグを検出する方式などが用いられている。位相差を検出する方式は、回路が大きくなったり複雑な構成になったりする。これを解決するために特公平６−５６９９７号公報では開始フラグを用いた回路が提案されている。この装置は、開始フラグの検出から始まる一連の動作により読み出しのビット位置を初期設定するものである。
【０００４】
以下に、特公平６−５６９９７号公報に記載された装置について説明する。
【０００５】
特公平６−５６９９７号公報に記載された入力データは、記憶素子の容量に等しいビット数の約数の周期で入力データのフレーム相互間に挿入されるタイムフィルと、フレーム開始フラグとを有する。特公平６−５６９９７号公報に記載された装置は、書き込みクロックに同期させて入力データを遅延させてなる書き込みデータを、書き込みクロックに同期させてそのカウント値により選択された複数の記憶素子のいずれかにビット到来順にそれぞれ一時的に書き込むとともに、読み出しクロックのカウント値により選択された複数の記憶素子からビットの到来順に読み出したデータを出力データとするクロック乗せ替え回路において、この開始フラグの検出後一定の期間、記憶素子の出力をホールドするラッチ回路と、このラッチ回路でのホールド時間の経過によりレジスタ内の書き込みクロックのカウント値を読み出しクロックのカウント値としてロードするホールド時間カウンタとを備えたことを特徴としている。
【０００６】
特公平６−５６９９７号公報の発明では、入力データにおけるフレーム内の開始フラグを検出することにより、それまでに各記憶素子に書き込まれたタイムフィルのビットパターンがラッチ回路に一定時間ホールドされ、このホールド時間の経過により、開始フラグの検出時点での書き込みクロックのカウント数が読み出しカウンタにロードされ、以後読み出しクロックによってカウントアップされる毎に、スルー状態となったラッチ回路を介して各記憶素子から入力データのフレーム内の各ビットが到来順に読み出される。
【０００７】
次に、特許文献の図１に沿って特公平６−５６９９７号公報の実施例を説明する。この装置は、バッファ容量をｎビットで構成したものである。遅延回路１は、書き込みクロックＣＫｗに同期して、入力データＤｉを遅延する。フリップフロップ２１〜２ｎは、遅延回路１より出力された入力データＤｉ（書き込みデータＤｗ）を入力する。一方、受信データから得た書き込みクロックＣＫｗは、書き込みカウンタ３に入力される。書き込みカウンタのカウント値出力は、ｎビットのデコーダ４に入力される。アンドゲート５１〜５ｎの各出力端子は、フリップフロップ２１〜２ｎのクロック入力端子にそれぞれ接続される。フリップフロップ２１〜２ｎの出力端子はラッチ回路６を介してデータセレクタ７から出力される。さらに、入力データＤｉは開始フラグ検出回路８に入力されている。開始フラグ検出回路８からはラッチ信号Ｓ１が出力される。なお、ラッチ信号Ｓ１は、書き込みカウンタ３の出力側に設けられたレジスタ９に入力される。また、ホールド信号Ｓ２は、ホールド時間カウンタ１０およびラッチ回路６のイネーブルＥＮに接続されている。
【０００８】
特許文献１の図２に示された従来方法のタイミングチャートを参照する。従来方法においては、受信データをバッファ（フリップフロップ）内にホールドカウンタにて設定した一定期間ホールドし、設定したホールド期間経過後、読み出しクロックがカウントアップするたびに順次データを読み出している。
【特許文献１】特公平６−５６９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の特公平６−５６９９７号公報記載のクロック乗せ替え回路は、前述した書き込み開始フラグ検出から始まる一連のクロック乗せ替え動作により、従来回路と比較して回路構成を簡略化したクロック乗せ替え回路を実現している。しかし、特公平６−５６９９７号公報記載のクロック乗せ替え回路では、開始フラグのない連続データのクロック乗せ替えは使用できない。また、この種のホールド時間を有するようなクロック乗せ替え技術の場合、後述のＳＳＣ（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｃｌｏｃｋｉｎｇ）のようなジッタが大きくなるようなクロック制御技術使用時には、使用バッファが膨大になってしまう可能性がある。ＳＳＣとは、携帯電話のような高周波信号処理を必要とする信号処理、Ｓｅｒｉａｌ  ＡＴＡのような高速の信号伝送を行うような技術に用いられているクロック制御技術であり、高速のクロックの周波数を揺らすことでＥＭＩの低減を図る技術である。たとえば、Ｓｅｒｉａｌ  ＡＴＡにおいては、１．５ＧＨｚの信号伝送周波数に対し、３０ｋＨｚの周期で５０００ｐｐｍ程度クロックの周期を変化させている。実現方法など詳細は、Ｎｏ:５６３１９２０  （１）ＳＰＲＥＡＤ  ＳＰＥＣＴＲＵＭ  ＣＬＯＣＫ  ＧＥＮＥＲＡＴＯＲ等を参考にされたし。また、ＳＳＣなどでジッタが大きくなると、そのジッタ量に比例したホールド時間も必要となってくるため、クロック乗せ替え回路におけるデータ遅延もホールド時間に伴って大きくなる可能性がある。
【００１０】
本発明の目的は、フラグの存在しない入力データに対してもクロックを乗せ替えることができ、タイムフィル分の遅延を生じることなくクロックを乗せ替えることができるクロック乗せ替え回路および方法を提供することである。
【課題を解決するための手段】
【００１１】
この発明の１つの局面に従うと、クロック乗せ替え回路は、書き込み部と、読み出し部とを備える。書き込み部は、入力データに対応した第１のクロックに従って、入力データを格納する。読み出し部は、第２のクロックに従って、書き込み部に格納されたデータのうち出力すべきデータを出力し、かつそのデータが有効であることを示す信号取得許可信号を出力する。読み出し部は、出力すべきデータが出力されていないときには、信号取得許可信号を出力しない。
【００１２】
上記クロック乗せ替え回路では、第１のクロックに対応した入力データを書き込み部に格納し、書き込み部に格納されたデータを第２のクロックに従って出力する。書き込み部に出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号は出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること（例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等）により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながり、データの遅延も無くなる。
【００１３】
好ましくは、上記書き込み部は、第１のバッファ選択部と、少なくとも１つのバッファとを含む。第１のバッファ選択部は、上記第１のクロックに従い、バッファを選択する。第１のバッファ選択部によって選択されたバッファは、上記入力データを格納する。上記読み出し部は、上記第２のクロックに従い、バッファを選択し、選択したバッファに格納された出力すべきデータを出力し、かつ上記信号取得許可信号を出力する。上記読み出し部は、さらに、選択したバッファに出力すべきデータが格納されていないときには、上記信号取得許可信号を出力しない。
【００１４】
上記クロック乗せ替え回路では、第１のクロックに対応した入力データをバッファに格納し、バッファに格納されたデータを第２のクロックに従って出力する。選択されたバッファに出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号を出力しない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること（例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等）により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
【００１５】
好ましくは、上記第１のバッファ選択部は、さらに、上記バッファに入力データが格納されたときに、書き込み終了信号を上記読み出し部に出力する。上記読み出し部は、書き込み終了信号が入力されている間に、第２のクロックに従い、上記バッファを選択し、選択したバッファに格納された出力データを出力し、かつ上記信号取得許可信号を出力する。上記読み出し部は、さらに、書き込み終了信号が入力されていないときには、上記バッファを選択せず、上記信号取得許可信号を出力しない。
【００１６】
上記クロック乗せ替え回路では、書き込み終了信号が入力されている間において、バッファに入力データが格納されているので、読み出し部はバッファより出力すべきデータを出力することができる。よって、有効なデータが出力されているので、信号取得許可信号が出力される。一方、書き込み終了信号が入力されていない間は、バッファに入力データが格納されていないので、読み出し部はバッファより出力すべきデータを出力することができない。よって、有効なデータが出力されていないので、信号取得許可信号が出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること（例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等）により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
【００１７】
好ましくは、上記クロック乗せ替え回路は、さらに、段数変更部を備える。段数変更部は、上記バッファの段数を変更する。
【００１８】
上記クロック乗せ替え回路では、第１のクロックと第２のクロックとのずれの増減に対応して使用するバッファの段数を変更することにより、バッファを有効に使用することが可能となる。
【００１９】
好ましくは、上記入力データは、有効なデータが存在しない区間を示す情報（空隙情報）を含む。上記クロック乗せ替え回路は、さらに、空隙パターン検出部を備える。空隙パターン検出部は、上記入力データより空隙情報を検出する。
【００２０】
Ｓｅｒｉａｌ  ＡＴＡで定められたＡＬＩＧＮのように、有効なデータが存在しない区間（空隙パターン）を示すデータを受信した場合に、書き込み部は入力データを格納せず、読み出し部は、書き込み部に格納されたデータがないので無効なデータを出力する。この場合、読み出し部が書き込み部よりデータを出力しても信号取得許可信号は出力されない。上記クロック乗せ替え回路では、例えば、空隙パターン検出部が空隙パターンを検出したときに書き込み部が入力データの書き込みを停止し、読み出し部が信号取得許可信号を出力しないことにより、空隙パターンを検出している期間内で書き込み部をクリーンアップすることができる。
【００２１】
好ましくは、上記クロック乗せ替え回路は、さらに、オーバーフローエラー検出部を備える。オーバーフローエラー検出部は、上記書き込み部が上記入力データを格納することができるか否かを判断する。
【００２２】
上記クロック乗せ替え回路では、オーバーフローエラー検出部は、書き込み部において入力データを格納する容量がない場合を検出する。これにより、例えば、オーバーフローエラー検出部において入力データを格納することができないと判断された場合に、書き込み部が入力データの格納を停止することにより、入力データが読み出される前に書き込み部に対して新たな入力データが書き込まれてしまうこと（オーバーフロー）を防ぐことが可能となる。また、このような場合に、後段に接続される装置等が読み出し部からの出力データの受信を停止することにより、不完全な出力データを処理することを防ぐことが可能となる。
【００２３】
好ましくは、上記入力データは、特殊パターンを含む。上記クロック乗せ替え回路は、少なくとも１つのバッファと、特殊パターン検出部と、データ整合部とを備える。バッファは、上記読み出し部からのデータを格納する。バッファは、有効なデータを格納している場合のみ、前記読み出し部からデータが入力されると格納していたデータを出力する。特殊パターン検出部は、上記読み取り部より出力されるデータより特殊パターンを検出する。データ整合部は、上記特殊パターン検出部で特殊パターンが検出されたときからバッファよりこの特殊パターンが出力されるまでの間、バッファに上記読み出し部からのデータを格納させかつバッファが格納していたデータを出力させる。
【００２４】
例えば、Ｓｅｒｉａｌ  ＡＴＡにおいてデータ受信開始時またはデータ受信中には、受信側は、データの転送長を知ることはできず、受信データの最後に送信されてくるＥＯＦ（Ｅｎｄ  ｏｆ  Ｆｌａｍｅ）と呼ばれる特殊パターンを検出することでデータの受信完了を知る。後段に接続される装置等が信号取得許可信号を認識せずに空隙等の無効なデータも受信してしまう場合、そのような装置は、ＥＯＦ受信後に、ＥＯＦの１つ前のデータがＣＲＣ符号，その前のデータが最後のデータとして処理を行うので、ＥＯＦからＥＯＦの２つ前までのデータは、３連続で出力される必要がある。上記クロック乗せ替え回路では、バッファに空隙が格納されると、バッファは、有効なデータが格納されるまで格納していたデータを出力しない。これにより、連続して出力されるべきデータにおいてその連続データの途中に有効でないデータが存在することにより連続した形で出力されていない場合でも、連続した形のデータを出力することが可能である。また、連続して出力されるべきデータにおいてその連続データの直後に有効でないデータが存在することにより上記手段では連続した形で出力されていない場合でも、データ整合部により、連続した形のデータを出力することが可能である。
【００２５】
好ましくは、上記クロック乗せ替え回路は、さらに、信号取得許可信号カウントを備える。信号取得許可信号カウンタは、上記信号取得許可信号が出力されない期間（非出力期間）が所定の期間よりも長いか否かを判断する。
【００２６】
通常のデータ通信時において信号取得許可信号が長期間にわたって出力されないということは考えにくい。このような状況が起こった場合、通信に何らかのエラーが発生し入力データもしくは第１のクロックに異常が発生している可能性が非常に高い。上記クロック乗せ替え回路では、信号取得許可信号カウンタが信号取得許可信号が出力されない期間を観察することにより、信号処理のより早い段階で異常状態を検出することが可能となる。
【００２７】
好ましくは、上記クロック乗せ替え回路は、さらに、クロック差検出部を備える。クロック差検出部は、上記信号取得許可信号の出力状態が同じである期間と所定の期間とを比較する。
【００２８】
例えば、信号取得許可信号の出力状態は、第１のクロックと第２のクロックとのずれに対応する。つまり、第１のクロックと第２のクロックとのずれがない場合、信号取得許可信号が出力されていない期間（非出力期間）は存在しない。さらに、非出力期間が大きい程、第２のクロックは第１のクロックよりも遅い。上記クロック乗せ替え回路では、例えば、ＰＬＬのようなクロック生成回路がクロック差検出部で得られた比較の結果に基づき新たに第２のクロックを生成することにより、第２のクロックを第１のクロックに合わせることができる。また、第２のクロックを調整しないクロック乗せ替え回路と比較すると、入力データを格納するための容量をさらに削減することができる。
【００２９】
好ましくは、上記クロック乗せ替え回路は、さらにクロック生成部を備える。クロック生成部は、クロック生成信号に基づき上記第２のクロックを生成する。上記クロック差検出部は、計数回路と、周波数差検出回路とを含む。計数回路は、上記信号取得許可信号の出力状態が同じである期間を計数する。周波数差検出回路は、上記計数回路で計数された期間と所定の期間とを比較し、比較の結果に応じてクロック生成信号を調整する。
【００３０】
上記クロック乗せ替え回路では、クロック生成部は、周波数差検出回路で得られた比較の結果を用いて第２のクロックを生成する。これにより、複雑な構成の位相比較器を用いなくても、より簡便な回路でかつクロック乗せ替え回路と兼用する形で位相比較回路を実現することが可能となる。
【００３１】
この発明のもう１つの局面に従うと、クロック乗せ替え方法は、書き込みステップと、読み出しステップとを備える。書き込みステップは、入力データに対応した第１のクロックに従い、入力データを少なくとも１つのバッファに格納する。読み出しステップは、第２のクロックに従い、書き込みステップでバッファに格納されたデータのうち出力すべきデータを出力し、かつそのデータが有効であることを示す信号取得許可信号を出力する。読み出しステップは、さらに、出力すべきデータが出力されていないときには、信号取得許可信号を出力しない。
【００３２】
上記クロック乗せ替え方法では、第１のクロックに対応した入力データをバッファに格納し、バッファに格納されたデータを第２のクロックに従って出力する。バッファに出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号は出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される方法は、この信号取得許可信号を観察すること（例えば、後段に接続される方法が信号取得許可信号を入力したときだけ、データを受信する等）により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
【００３３】
好ましくは、上記クロック乗せ替え方法は、さらに、クロック生成ステップと、計数ステップと、周波数差検出ステップとを備える。クロック生成ステップは、クロック生成信号に基づき上記第２のクロックを生成する。計数ステップは、上記信号取得許可信号の出力状態が同じである期間を計数する。周波数差検出ステップは、計数ステップで計数された期間と所定の期間とを比較し、比較の結果に応じてクロック生成信号を調整する。
【００３４】
上記クロック乗せ替え方法では、第１のクロックと第２のクロックとを合わせることが可能となり、第２のクロックを調整しないクロック乗せ替え方法と比較すると、さらにバッファ数を削減させることができるようになる。
【００３５】
上記クロック乗せ替え方法では、クロック生成ステップは、周波数差検出ステップで得られた比較の結果を用いて第２のクロックを生成する。これにより、複雑な構成の位相比較機を用いなくても、より簡便な方法でかつクロック乗せ替え方法と兼用する形で位相比較方法を実現することが可能となる。
【発明の効果】
【００３６】
以上のように、大きなジッタを含むデータ通信や連続データ長が大きなデータ通信（例えばＳＳＣ）においても、少ないバッファでクロックの乗せ替えが可能であり、データの遅延が少ない回路を実現することが可能である。また、いくつかの回路を新たに付与することにより、異常状態検出、周波数差検出などの新たな機能を付与することが可能である。
【発明を実施するための最良の形態】
【００３７】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
【００３８】
（第１の実施形態）
〈クロック乗せ替え装置の全体構成〉
この発明の第１の実施形態によるクロック乗せ替え装置１の全体構成を図１に示す。この装置は、書き込みカウンタ２と、バッファ３１〜３４と、読み出しカウンタ４と、出力信号制御部５とを備える。書き込みカウンタ２は、入力データＤｉ１より作成された書き込みクロックＣＫｗに同期してインクリメントし、バッファ３１〜３４のうちそのインクリメント値Ｃｗが示すバッファを選択する。書き込みカウンタ２は、選択したバッファに入力データＤｉ１を書き込むと同時に、書き込み終了信号Ｓｗ１〜Ｓｗ４を読み出しカウンタ４に出力する。バッファ３１〜３４のうち書き込みカウンタ２に選択されたバッファは、入力データＤｉ１を一時的に格納する。読み出しカウンタ４は、書き込みカウンタ２より書き込み終了信号Ｓｗ１〜Ｓｗ４が出力されている場合のみ読み出しクロックＣＫｒに同期してインクリメントし、読み出し終了信号Ｓｒ１〜Ｓｒ４を書き込みカウンタ２に出力すると共にインクリメント値Ｃｒを出力する。出力信号制御部５は、読み出しカウンタ４より出力されたインクリメント値Ｃｒに従い、バッファ３１〜３４のうちインクリメント値Ｃｒが示すバッファに格納されたデータを出力データＤｏ１として出力すると共に信号取得許可信号Ｓａ１を出力する。書き込みカウンタ２は、読み出しカウンタ４より読み出し終了信号Ｓｒ１〜Ｓｒ４が入力されると、書き込み終了信号Ｓｗ１〜Ｓｗ４の出力を停止する。読み出しカウンタ４は、書き込みカウンタ２からの書き込み終了信号Ｓｗ１〜Ｓｗ４の入力が停止されると、読み出し終了信号Ｓｒ１〜Ｓｒ４の出力を停止する。
【００３９】
〈クロック乗せ替え装置の動作〉
《クロック乗せ替え処理》
以下に、図１に示したクロック乗せ替え回路１による動作について図２を参照しつつ説明する。
【００４０】
まず、書き込みカウンタ２は、入力データＤｉ１（図２−ｂ）より作成された書き込みクロックＣＫｗ（図２−ａ）に同期してインクリメントする（図２−ｃ）。このインクリメント値Ｃｗは、バッファ３１〜３４のうち入力データＤｉ１（図２−ｂ）を格納すべきバッファを示す。例えば、書き込みカウンタ２におけるインクリメント値Ｃｗが「０」のときは、バッファ３１を示す。
【００４１】
次に、バッファ３１〜３４のうちインクリメント値Ｃｗに示されたバッファは、書き込みクロックＣＫｗに同期して、入力データＤｉ１を格納する（図２−ｅ１，ｅ２，ｅ３，ｅ４）。同時に、書き込みカウンタ２は、読み出しカウンタ４に対して書き込み終了信号Ｓｗ１〜Ｓｗ４のうちいずれかの出力を開始する（図２−ｄ１，ｄ２，ｄ３．ｄ４）。このように、書き込みカウンタ２におけるインクリメントに従い、バッファ３１〜３４はそれぞれ入力データＤｉ１を格納し（図２−ｅ１，ｅ２，ｅ３，ｅ４）、書き込みカウンタ２は書き込み終了信号Ｓｗ１〜Ｓｗ４を出力する（図２−ｄ１，ｄ２，ｄ３，ｄ４）。例えば、書き込みカウンタ２は、バッファ３１に入力データＤｉ１（＃１）が格納されたとき（図２−ｅ１）に書き込み終了信号Ｓｗ１を出力する（図２−ｄ１）。
【００４２】
次に、読み出しカウンタ４は、書き込み終了信号Ｓｗ１〜Ｓｗ４のうち少なくとも１つが出力されている期間において、読み出しクロックＣＫｒ（図２−ｆ）に同期してインクリメントする（図２−ｇ）。このインクリメント値Ｃｒは、出力信号制御部５によってバッファ３１〜３４のうち出力すべきデータ（図２−ｅ１，ｅ２，ｅ３，ｅ４）が格納されているバッファを示す。例えば、読み出しカウンタ４におけるインクリメント値Ｃｒが「０」のときは、バッファ３１が示される。
【００４３】
次に、読み出しカウンタ４は、インクリメント値Ｃｒを出力信号制御部５へ出力する。同時に、読み出しカウンタ４は、そのインクリメント値Ｃｒに従って、書き込みカウンタ２へ読み出し終了信号Ｓｒ１〜Ｓｒ４のうちインクリメント値Ｃｒが示す読み出し終了信号を出力する（図２−ｈ１，ｈ２，ｈ３．ｈ４）。例えば、読み出しカウンタ４におけるインクリメント値Ｃｒが「０」のときは、読み出し終了信号Ｓｒ１を出力する（図２−ｈ１）。
【００４４】
次に、出力信号制御部５は、読み出しカウンタ４より出力されたインクリメント値Ｃｒに従い、バッファ３１〜３４のうちインクリメント値Ｃｒが示すバッファに格納されたデータを出力データＤｏ１として出力する（図２−ｉ）。同時に、出力信号制御部５は、信号取得許可信号Ｓａ１を出力する（図２−ｊ）。また、読み出し終了信号が入力された書き込みカウンタ２は、その読み出し終了信号に対応する書き込み終了信号の出力を停止する（図２−ｄ１，ｄ２，ｄ３，ｄ４）。例えば、読み出し終了信号Ｓｒ１が入力されたとき（図２−ｈ１）は、書き込み終了信号Ｓｗ１の出力を停止する（図２−ｄ１）。
【００４５】
次に、読み出しカウンタ４は、書き込みカウンタ２からの書き込み終了信号の出力が停止すると、その書き込み終了信号に対応する読み出し終了信号の出力を停止する（図２−ｈ１，ｈ２，ｈ３，ｈ４）。例えば、書き込み終了信号Ｓｗ１の出力が停止したとき（図２−ｄ１）は、読み出し終了信号Ｓｒ１の出力を停止する（図２−ｈ１）。
【００４６】
一方、読み出しカウンタ４は、書き込み終了信号Ｓｗ１〜Ｓｗ４のうち１つも出力されていない期間において、読み出しクロックＣＫｒがクロッキングしても（図２−ｆ）インクリメント値Ｃｒを更新しない（図２−ｇ）。
【００４７】
次に、読み出しカウンタ４は、出力信号制御部５に対して、更新されていないインクリメント値Ｃｒをそのまま出力し続ける。（図２−ｇ）
次に、出力信号制御部５は、読み出しカウンタ４において読み出しクロックＣＫｒがクロッキングしてもインクリメント値Ｃｒが更新されない期間には、信号取得許可信号Ｓａ１を出力しない（図２−ｊ）。
【００４８】
〈効果〉
以上のように、出力信号制御部５は、読み出しカウンタ４において読み出しクロックＣＫｒに同期してインクリメント値Ｃｒが更新されたときだけ信号取得許可信号Ｓａ１を出力する。これにより、後段に接続する装置等において、信号取得許可信号Ｓａ１の出力をみることで出力データＤｏ１が読み取り可能であるか否か（有効なデータであるか否か）を判断することができる。また、従来技術と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながり、データの遅延も無くなる。
【００４９】
なお、本実施形態では、バッファの数は４つであるが、これに限らない。
【００５０】
なお、書き込み終了信号および読み出し終了信号の出力の停止は、各クロックに同期でも非同期でも構わない。つまり、書き込み終了信号は対応する読み出し終了信号が出力されると停止し、次に、読み出し終了信号は対応する書き込み終了信号の出力が停止されると停止する。
【００５１】
（第２の実施形態）
書き込みクロックＣＫｗと読み出しクロックＣＫｒとのずれは変動することがある。クロック乗せ替え処理を行うには、充分な段数のバッファが必要である。例えば、書き込みクロックＣＫｗと読み出しクロックＣＫｒとのずれが大きいときには、必要なバッファの段数は多くなり、バッファが不足する可能性がある。また、書き込みクロックＣＫｗと読み出しクロックＣＫｒとのずれが小さいときには、必要なバッファの段数は少なくて済み、バッファが余る可能性がある。
【００５２】
〈クロック乗せ替え装置の全体構成〉
この発明の第２の実施形態によるクロック乗せ替え装置の全体構成を図３に示す。この装置は、第１の実施形態によるもの（図１）に加えて、段数変更信号発生部６をさらに備える。段数変更信号発生部６は、上述のクロック乗せ替え処理に使用するバッファの段数を変更するための稼働許可信号を出力する。
【００５３】
〈動作〉
図３に示したクロック乗せ替え装置の動作は、第１の実施形態のものに加えて、バッファの段数を変更するバッファ段数変更処理をさらに行う。
【００５４】
《バッファ段数変更処理》
バッファ段数変更処理について説明する。
【００５５】
まず、段数変更信号発生部６には、外部よりクロック乗せ替え処理のために必要なバッファの段数が入力される。
【００５６】
次に、段数変更信号発生部６は、入力されたバッファの段数に応じて、バッファ３１〜３４に稼働許可信号を出力する。例えば、外部より入力されたバッファの段数が「２」である場合、段数変更信号発生部６は、バッファ３１〜３４のうち２つのバッファに対して稼働許可信号を出力する。
【００５７】
次に、バッファ３１〜３４のうち段数変更信号発生部より稼働許可信号が入力されたバッファは、クロック乗せ替え処理のために稼働する。その他のバッファは、クロック乗せ替え処理のために稼働しない。
【００５８】
次に、稼働しているバッファを用いて、第１の実施形態と同様に、クロック乗せ替え処理が行われる。
【００５９】
〈効果〉
これにより、書き込みクロックＣＫｗと読み出しクロックＣＫｒとのずれの増減に対応して使用するバッファの段数を変更することにより、バッファを有効に使用することが可能となる。例えば、クロック乗せ替え処理のために使用しないバッファを他の処理に用いることが可能となる。
【００６０】
（第３の実施形態）
バッファへの入力データＤｉ１の書き込みがバッファからのデータの読み出しよりも早すぎる場合やバッファの段数が充分でない場合には、入力データＤｉ１が読み出される前に新たな入力データＤｉ１がバッファに書き込まれてしまう可能性がある。また、Ｓｅｒｉａｌ  ＡＴＡで定められたＡＬＩＧＮのように、有効なデータが存在しない区間（空隙）を示すデータ（空隙パターン）を受信した場合に、そのような空隙をバッファへ格納した後、出力データＤｏ１として読み出す必要はない。
【００６１】
〈クロック乗せ替え装置の全体構成〉
この発明の第３の実施形態によるクロック乗せ替え装置の全体構成を図４に示す。この装置は、第１の実施形態によるもの（図１）に加えて、オーバーフローエラー検出回路７と、空隙パターン検出回路８とを備える。オーバーフローエラー検出回路７は、バッファ３１〜３４のうち全てにデータが書き込まれた場合にオーバーフローエラー検出信号Ｓｏｖを出力する。空隙パターン検出回路８は、空隙パターンを受信した場合、書き込みカウンタ２がバッファ３１〜３４に入力データＤｉ１を書き込む動作を一時的に停止させる。空隙パターンは、有効なデータが存在しない区間（空隙）を示すデータである。
【００６２】
〈クロック乗せ替え装置の動作〉
図３に示したクロック乗せ替え装置による動作は、第１の実施形態のものに加えて、全ての書き込み終了信号Ｓｗ１〜Ｓｗ４が読み出しカウンタ４に入力されたときに行うオーバーフローエラー検出処理と空隙パターンを検出する空隙検出処理とをさらに行う。
【００６３】
《オーバーフローエラー検出処理》
オーバーフローエラー検出処理について図５を参照しつつ説明する。
【００６４】
まず、第１の実施形態と同様に、書き込みカウンタ２は、書き込みクロックＣＫｗ（図５−ａ）に同期してインクリメント（図５−ｃ）し、書き込み終了信号Ｓｗ１〜Ｓｗ４のうちインクリメント値Ｃｒが示す書き込み終了信号を出力する（図５−ｄ１，ｄ２，ｄ３，ｄ４）。また、書き込みカウンタ２は、オーバーフローエラー検出回路７にもその書き込み終了信号を出力する。
【００６５】
次に、書き込みカウンタ２は、全ての書き込み終了信号Ｓｗ１〜Ｓｗ４を出力している状態になる。この状態は、例えば、書き込みクロックＣＫｗが読み出しクロックＣＫｒよりも早くクロッキングしており、バッファ３１〜３４に格納されたデータが読み出される前にバッファ３１〜３４に対して新たなデータが格納される可能性がある場合に発生する。
【００６６】
次に、オーバーフローエラー検出回路７は、書き込みカウンタ２より全ての書き込み終了信号Ｓｗ１〜Ｓｗ４が入力されると、オーバーフローエラー検出信号Ｓｏｖ（図５−ｋ）を出力する。
【００６７】
《空隙検出処理》
空隙検出処理について説明する。
【００６８】
まず、第１の実施形態と同様に、書き込みカウンタ２は、書き込みクロックＣＫｗに同期してインクリメントを行う。バッファ３１〜３４のうちインクリメント値Ｃｒに示されたバッファは、入力データＤｉ１を格納する。このとき、そのバッファに格納される入力データＤｉ１は、そのバッファに送信されるだけでなく、空隙パターン検出回路８にも送信される。
【００６９】
次に、空隙パターン検出回路８は、受信した入力データＤｉ１が空隙パターン（空隙を示すパターン）である場合、書き込みカウンタ２を一時的に停止状態にする。
【００７０】
〈効果〉
以上のように、オーバーフローエラー検出回路７は、全ての書き込み終了信号Ｓｗ１〜Ｓｗ４を入力した場合にオーバーフローエラー検出信号Ｓｏｖを出力する。このオーバーフローエラー検出信号Ｓｏｖを後段に接続される装置等が検出することにより、不完全な出力データＤｏ１を処理することを防ぐことが可能となる。さらに、このオーバーフローエラー検出信号Ｓｏｖを第２の実施形態で示した段数変更信号発生部６等にフィードバックすることにより、バッファの段数を必要な段数に変更することが可能となる。
【００７１】
また、空隙パターン検出時に空隙パターン検出回路８によって書き込みカウンタ２が一時的に停止することにより、検出している期間内でバッファ３１〜３４をクリーンアップすることができる。
【００７２】
（第４の実施形態）
例えば、Ｓｅｒｉａｌ  ＡＴＡにおいてデータ受信開始時またはデータ受信中には、受信側は、データの転送長を知ることはできず、受信データの最後に送信されてくるＥＯＦ（Ｅｎｄ  ｏｆ  Ｆｌａｍｅ）と呼ばれる特殊パターンを検出することでデータの受信完了を知る。ここで、後段に接続される装置が信号取得許可信号Ｓａ１を認識せずに空隙等の無効なデータも受信してしまう場合、そのような装置は、ＥＯＦ受信後に、ＥＯＦの１つ前のデータがＣＲＣ符号，その前のデータが最後のデータとして処理を行うので、ＥＯＦからＥＯＦの２つ前までのデータは、３連続で出力される必要がある。つまり、ＥＯＦからＥＯＦの２つ前のデータまでの間に空隙があった場合、そのデータを入力された装置等がＥＯＦの２つ前のデータを正しく認識できない可能性がある。
【００７３】
〈クロック乗せ替え装置の全体構成〉
この発明の第４の実施形態によるクロック乗せ替え装置の全体構成を図６に示す。この装置は、第１の実施形態によるもの（図１）に加えて、バッファ９１〜９３と、特殊パターン検出回路１０と、データ結合回路１１とを備える。バッファ９１は、空隙でない出力データＤｏ１をすでに格納している場合に、読み出しクロックＣＫｒに同期して出力信号制御部５より出力された出力データＤｏ１を格納し、すでに格納している出力データＤｏ１を後段のバッファ９２に出力する。バッファ９２は、読み出しクロックＣＫｒに同期して直前のバッファ９１より出力された出力データＤｏ１を格納し、すでに格納している出力データＤｏ１を後段のバッファ９２に出力する。バッファ９３は、読み出しクロックＣＫｒに同期して直前のバッファ９２より出力された出力データＤｏ１を格納し、すでに格納している出力データＤｏ１を出力する。つまり、バッファ９１〜９３は、バッファ９１に格納されている出力データＤｏ１が空隙でない場合に、バッファ９１からバッファ９３へ出力データＤｏ１を順番に送る処理（順送り処理）を行う。特殊パターン検出回路１０は、特殊パターンを検出する。データ結合回路１１は、特殊パターン検出回路１０で特殊パターンが検出されたときに、バッファ９１〜９３に対して順送り処理を行わせる。データ結合回路１１は、各バッファの状態に従って信号取得許可信号Ｓａ２の出力を調整する。特殊パターンは、特定のデータがどこに存在するのかを示すデータである。例えば、特殊パターンは、Ｓｅｒｉａｌ  ＡＴＡで定められている受信データの最後に送信されるＥＯＦ（Ｅｎｄ  ｏｆ  Ｆｌａｍｅ）と呼ばれるパターンである。ＥＯＦは、２つ前に存在するデータが最後のデータであることを示す。
【００７４】
〈クロック乗せ替え装置の動作〉
図６に示したクロック乗せ替え装置による動作は、第１の実施形態によるものに加えて、連続して出力することが必要なデータが不連続で出力されている場合にそのデータを整合するデータ整合処理を行う。
【００７５】
《順送り処理》
初めに、出力信号制御部５より出力される出力データＤｏ１が、空隙を含まない場合の動作（順送り処理）について説明する。
【００７６】
まず、第１の実施形態と同様にクロック乗せ替え処理が行われ、バッファ９１は、読み出しクロックＣＫｒに同期して、出力信号制御部５（図１参照）より出力された出力データＤｏ１を格納し、格納していた出力データＤｏ１を後段のバッファ９２に出力する。
【００７７】
同時に、バッファ９２は、読み出しクロックＣＫｒに同期して、バッファ９１より出力された出力データＤｏ１を格納し、すでに格納していた出力データＤｏ１を後段のバッファ９２に出力する。
【００７８】
同時に、バッファ９２は、読み出しクロックＣＫｒに同期して、バッファ９１より出力された出力データＤｏ１を格納し、すでに格納していた出力データＤｏ１を出力データＤｏ２として出力する。
【００７９】
このように、出力信号制御部５（図１参照）より新たな出力データＤｏ１が入力される毎に、バッファ９１〜９３の各々に格納された出力データＤｏ１が順送りに出力される。
【００８０】
また、信号取得許可信号Ｓａ１も同様に、バッファ９１〜９３に格納され、順送りに出力される。
【００８１】
《データ整合処理１》
次に、出力信号制御部５より出力される出力データＤｏ１において、特殊パターンより以前に空隙を含む場合の処理（データ整合処理１）について図７を参照しつつ説明する。空隙がバッファ９１に入力されると、バッファ９１〜９３は、バッファ９１に空隙でない新たな出力データＤｏ１が格納されるまで上述のような順送り処理を行わない。
【００８２】
まず、第１の実施形態と同様に、クロック乗せ替え処理が行われ、バッファ９１には、空隙でない出力データＤｏ１が入力され（図７−ｉ）、バッファ９１は、出力データＤｏ１（連続データ２）を格納し、後段のバッファ９２に出力データＤｏ１（連続データ１）を出力する（図７−ｍ１）。バッファ９２は、バッファ９１より出力された出力データＤｏ１（連続データ１）を格納し、後段のバッファ９３に出力データＤｏ１（＃６）を出力する（図７−ｍ２）。バッファ９３は、バッファ９２より出力された出力データＤｏ１（＃６）を格納し、出力データＤｏ１（＃５）を出力データＤｏ２として出力する（図７−ｍ３）。また、出力信号制御部５より出力される信号取得許可信号Ｓａ１は、出力データＤｏ１と同様に、各バッファに格納される。（図７−ｏ）
次に、バッファ９１には、空隙が入力され（図７−ｉ）、バッファ９１は、出力データＤｏ１（空隙）を格納し、後段のバッファ９２に出力データＤｏ１（連続データ２）を出力する（図７−ｍ１）。バッファ９２は、バッファ９１より出力された出力データＤｏ１（連続データ２）を格納し、後段のバッファ９３に出力データＤｏ１（連続データ１）を出力する（図７−ｍ２）。バッファ９３は、バッファ９２より出力された出力データＤｏ１（連続データ１）を格納し、出力データＤｏ１（＃６）を出力データＤｏ２として出力する（図７−ｍ３）。また、出力信号制御部５より出力される信号取得許可信号Ｓａ１は、出力データＤｏ１と同様に、各バッファに格納される。
【００８３】
次に、バッファ９１には、さらに空隙が入力される（図７−ｉ）。バッファ９１にはすでに空隙が格納されているので、バッファ９１〜９３は、各々が格納する出力データＤｏ１（空隙，連続データ２，連続データ１）の出力を行わない。よって、その間の出力データＤｏ２は空隙となる（図７−ｍ３）。また、データ結合回路１１は、各バッファから出力データＤｏ１が出力されていないので、各バッファより出力される信号取得許可信号Ｓａ１を停止させる（信号レベルをＬｏｗにする）。よって、バッファ９３は、信号取得許可信号Ｓａ２を出力しない（図７−ｏ）。
【００８４】
次に、バッファ９１には、空隙でない新たな出力データＤｏ１（特殊パターン）が入力され（図７−ｉ）、バッファ９１は、出力データＤｏ１（特殊パターン）を格納する。バッファ９１は、空隙を格納していた（つまり、なにも格納していなかった）ので、後段のバッファ９２に出力を行わない（図７−ｍ１）。バッファ９２，９３は、前段のバッファ９１，９２より出力データＤｏ１の出力がないので、すでに格納している出力データＤｏ１（連続データ２，連続データ１）を出力しない（図７−ｍ２，ｍ３）。よって、その間の出力データＤｏ２は空隙となる（図７−ｍ３）。また、データ結合回路１１は、各バッファから出力データＤｏ１が出力されていないので、各バッファより出力される信号取得許可信号Ｓａ１を停止する（信号レベルをＬｏｗにする）。よって、バッファ９３は、信号取得許可信号Ｓａ２を出力しない（図７−ｏ）。
【００８５】
次に、バッファ９１には、空隙でない出力データＤｏ１（＃１１）が入力され（図７−ｉ）、各バッファ９１〜９３は、上述のような順送り処理を行う（図７−ｍ１，ｍ２，ｍ３）。また、データ結合回路１１は、各バッファから出力データＤｏ１が出力されるので、各バッファより信号取得許可信号Ｓａ１を出力させる（信号レベルをＨｉｇｈにする）。よって、バッファ９３は、信号取得許可信号Ｓａ２を出力する（図７−ｏ）。
【００８６】
《データ整合処理２》
次に、出力信号制御部５より出力される出力データＤｏ１において、特殊パターンより以降に空隙を含む場合の処理（データ整合処理２）について図８を参照しつつ説明する。空隙がバッファ９１に入力されると、バッファ９１〜９３は、空隙でない新たな出力データＤｏ１が入力されるまで上述のような順送り処理を行わない。しかし、特殊パターン検出回路１０において特殊パターンが検出されると、バッファ９１〜９３は、上述のような順送り処理を行う。
【００８７】
まず、第１の実施形態と同様にクロック乗せ替え処理が行われ、バッファ９１は、出力データＤｏ１（連続データ２）を格納し、後段のバッファ９２に出力データＤｏ１（連続データ１）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（連続データ１）を格納し、後段のバッファ９３に出力データＤｏ１（＃５）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（＃５）を格納し、出力データＤｏ１（＃４）を出力データＤｏ２として出力する（図８−ｍ３）。
【００８８】
次に、バッファ９１は、出力データＤｏ１（特殊パターン）を格納し、後段のバッファ９２に出力データＤｏ１（連続データ２）を出力する（図８−ｍ１）。また、バッファ９２は、出力データＤｏ１（連続データ２）を格納し、後段のバッファ９３へ出力データＤｏ１（連続データ１）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（連続データ１）を格納し、出力データＤｏ１（＃５）を出力データＤｏ２として出力する（図８−ｍ３）。さらに、特殊パターン検出回路１０は、特殊パターンを検出し、特殊パターン検出信号Ｓｓｐを出力する（図８−ｌ）。
【００８９】
次に、データ結合回路は、特殊パターン検出回路１０より特殊パターン検出信号Ｓｓｐが入力されると、各バッファ９１〜９３を順送り処理モードにする。
【００９０】
次に、バッファ９１には空隙が入力されるが各バッファ９１〜９３は順送りモードなので、バッファ９１は、出力データＤｏ１（空隙）を格納し、後段のバッファ９２に出力データＤｏ１（特殊パターン）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（特殊データ）を格納し、後段のバッファ９３に出力データＤｏ１（連続データ２）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（連続データ２）を格納し、出力データＤｏ１（連続データ１）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９１】
次に、バッファ９１には空隙が入力されるが各バッファ９１〜９３は順送りモードなので同様に、バッファ９１は、出力データＤｏ１（空隙）を格納し、後段のバッファ９２に出力データＤｏ１（空隙）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（空隙）を格納し、後段のバッファ９３に出力データＤｏ１（特殊パターン）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（特殊パターン）を格納し、出力データＤｏ１（連続データ２）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９２】
次に、バッファ９１には空隙でない新たな出力データＤｏ１が入力され、バッファ９１は、出力データＤｏ１（＃９）を格納し、後段のバッファ９２に出力データＤｏ１（空隙）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（空隙）を格納し、後段のバッファ９３に出力データＤｏ１（空隙）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（空隙）を格納し、出力データＤｏ１（特殊パターン）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９３】
次に、バッファ９１には空隙でない新たな出力データＤｏ１が入力され、バッファ９１は、出力データＤｏ１（＃１０）を格納し、後段のバッファ９２に出力データＤｏ１（＃９）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（＃９）を格納し、後段のバッファ９３に出力データＤｏ１（空隙）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（空隙）を格納し、出力データＤｏ１（空隙）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９４】
次に、バッファ９１には空隙でない新たな出力データＤｏ１が入力され、バッファ９１は、出力データＤｏ１（＃１１）を格納し、後段のバッファ９２に出力データＤｏ１（＃１０）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（＃１０）を格納し、後段のバッファ９３に出力データＤｏ１（＃９）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（＃９）を格納し、出力データＤｏ１（空隙）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９５】
次に、バッファ９１には空隙でない新たな出力データＤｏ１が入力され、バッファ９１は、出力データＤｏ１（＃１２）を格納し、後段のバッファ９２に出力データＤｏ１（＃１１）を出力する（図８−ｍ１）。バッファ９２は、出力データＤｏ１（＃１１）を格納し、後段のバッファ９３に出力データＤｏ１（＃１０）を出力する（図８−ｍ２）。バッファ９３は、出力データＤｏ１（＃１０）を格納し、出力データＤｏ１（＃９）を出力データＤｏ２として出力する（図８−ｍ３）。
【００９６】
また、信号取得許可信号Ｓａ１も同様に、バッファ９１〜９３に格納され、順送りに出力される。（図８−ｏ）
〈効果〉
以上のように、連続して出力する必要がある出力データＤｏ１が不連続で出力されている場合に出力データＤｏ１を整合することにより、後段に接続される装置等に対して連続データを送信することができる。これにより、後段の装置等が信号取得許可信号を認識せずに動作する場合でも、そのような装置は特殊パターン（ＥＯＦ等）を認識することができる。
【００９７】
なお、本実施形態では、特殊パターン以前の３つのデータが連続して送られるように出力データＤｏ１を整合するためにバッファを３つ使用している。例えば、特殊パターン以前の２０のデータが連続して送られるようにデータを整合するためには、２０段のバッファを使用すればよい。
【００９８】
（第５の実施形態）
書き込みクロックＣＫｗと読み出しクロックＣＫｒとは、大きなジッタ（３０ｋＨｚの周期で５０００ｐｐｍ程度ずれている）を含んでいても、基本的には同じ周波数である。よって、通常のデータ通信時において信号取得許可信号Ｓａ１が数クロックにわたって出力されないということは考えにくい。このような状況が起こった場合、通信に何らかのエラーが発生し入力データＤｉ１もしくは入力クロック（書き込みクロックＣＫｗ）が壊れている可能性が非常に高い。
【００９９】
〈クロック乗せ替え装置の全体構成〉
この発明の第５の実施形態によるクロック乗せ替え装置の全体構成を図９に示す。この装置は、第１の実施形態によるもの（図１）に加えて、信号取得許可信号ディスエーブルカウンタ１２を備える。信号取得許可信号ディスエーブルカウンタ１２は、信号取得許可信号Ｓａ１が出力されていない期間をカウントする。
【０１００】
〈クロック乗せ替え装置の動作〉
図９に示したクロック乗せ替え装置による動作は、第１の実施形態によるものに加えて、上述のようなエラーを検出する異常状態検出処理を行う。
【０１０１】
《異常状態検出処理》
以下に、異常状態検出処理について図１０を参照しつつ説明する。
【０１０２】
まず、第１の実施形態と同様に、クロック乗せ替え処理が行われ、出力信号制御部５（図１参照）より出力データＤｏ１および信号取得許可信号Ｓａ１が出力される。
【０１０３】
次に、信号取得許可信号ディスエーブルカウンタ１２は、信号取得許可信号Ｓａ１（図１０−ｊ）を入力する。ここで、信号取得許可信号ディスエーブルカウンタ１２は、信号取得許可信号Ｓａ１が入力されていない期間中において、読み出しクロックＣＫｒ（図１０−ｆ）に同期してカウントする（図１０−ｐ）。
【０１０４】
次に、信号取得許可信号ディスエーブルカウンタ１２は、カウント値Ｃｄが「３」に達したときに、異常状態検出信号Ｓａｂを出力する（図１０−ｇ）。
【０１０５】
〈効果〉
以上のように、信号取得許可信号Ｓａ１が数クロックにわたって出力されない場合には、異常状態検出信号Ｓａｂを出力することにより、通信に異常が起こっていることを後段のブロックに信号が行く前に検出することが可能になる。例えば、ＣＤへのデータの書き込みを行っていた際には、一度バッファにＦＩＦＯ等のメモリにデータを保持し書き込みを行うわけだが、書き込みを行う前にこのエラーを検出できれば、早い段階で書き込みを中止しＨＯＳＴ側にエラーステータスのデータの返送しやすくなる。
【０１０６】
なお、本実施形態では、信号取得許可信号Ｓａ１ディスエーブルカウンタはカウント値Ｃｄが「３」に達したときに異常状態検出信号Ｓａｂを出力するが、基準となる値が「３」であることには限らない。
【０１０７】
（第５の実施形態）
書き込みクロックＣＫｗと読み出しクロックＣＫｒとが全く等しい場合、信号取得許可信号Ｓａ１は出力されない。また、信号取得許可信号Ｓａ１が出力されない期間（信号取得許可信号の出力状態がＬｏｗである期間）は、書き込みクロックＣＫｗと読み出しクロックＣＫｒとのずれに比例する。つまり、信号取得許可信号Ｓａ１の出力状態がＬｏｗである期間が大きい程、読み出しクロックＣＫｒは書き込みクロックＣＫｗよりも遅い。
【０１０８】
《クロック乗せ替え回路の全体構成》
この発明の第５の実施形態によるクロック乗せ替え装置の全体構成を図１１に示す。この装置は、第１の実施形態によるもの（図１）に加えて、計測回路１３と、周波数差検出回路１４と、ＰＬＬ１５を備える。計数回路１３は、信号取得許可信号Ｓａ１がＨｉｇｈレベル（出力中）からＬｏｗレベル（出力停止）に変化したときに計数を開始し、ＬｏｗレベルからＨｉｇｈレベルに変化するまでの期間を計数する。周波数差検出回路１４は、計数回路で計数された期間とあらかじめ設定された所定の期間とを比較し、比較の結果に応じて比較結果信号を出力する。
【０１０９】
《ＰＬＬ１５の内部構成》
ＰＬＬ１５は、クロック発生器１５１と、位相周波数検出器１５２と、チャージポンプ１５３と、ローパスフィルタ１５４と、混合器１５５と、電圧制御発振器１５６と、クロック分周器１５７とを含む。クロック発生器１５１は、所定のクロックを発生する。位相周波数検出器１５２は、クロック発生器１５１からのクロックとクロック分周器１５７からのクロックとを比較し、その結果としてクロック修正信号を出力する。ローパスフィルタ１５４は、位相周波数検出器１５２より出力されるクロック修正信号を整える。混合器１５５は、ローパスフィルタ１５４を介して出力されたクロック修正信号と周波数差検出回路１４より出力された比較結果信号とを混合する。電圧制御発振器１５７は、混合器１５５より出力された信号に基づき、読み出しクロックＣＫｒを発生する。
【０１１０】
〈クロック乗せ替え装置の動作〉
図１１に示したクロック乗せ替え装置による動作は、第１の実施形態によるものに加えて、読み出しクロックＣＫｒの調整をするクロック調整処理を行う。
【０１１１】
《クロック調整処理》
以下に、クロック調整処理について説明する。
【０１１２】
まず、第１の実施形態と同様に、クロック乗せ替え処理が行われ、出力信号制御部５（図１参照）より出力データＤｏ１および信号取得許可信号Ｓａ１が出力される。このクロック乗せ替え処理において使用される読み出しクロックＣＫｒは、ＰＬＬ１５に含まれる電圧制御発振回路１５６により生成される。
【０１１３】
次に、計数回路１３は、出力信号制御部５より出力された信号取得許可信号Ｓａ１を入力する。次に、計数回路１３は、入力した信号取得許可信号Ｓａ１が出力されていない期間を計数する。つまり、計数回路１３は、信号取得許可信号Ｓａ１の出力が停止したとき（ＨｉｇｈレベルからＬｏｗレベルに変化したとき）から信号取得許可信号Ｓａ１が出力されるとき（ＬｏｗレベルからＨｉｇｈレベルに変化するとき）までの期間を計数する。
【０１１４】
次に、周波数差検出回路１４は、計数回路１３で計数された期間（計数期間）とあらかじめ設定された所定の期間（所定期間）とを比較する。つまり、計数期間が所定期間よりも大きいか否かを判断する。周波数差検出回路１４は、比較の結果を比較結果信号として混合器１５５に出力する。ここで、計数時間が所定時間よりも大きい場合には、比較結果信号の極性は正になる。計数時間が所定時間よりも小さい場合には、比較結果信号の極性は負になる。また、計数時間と所定時間との差が大きいほど、比較結果信号の値は大きくなる。
【０１１５】
次に、ＰＬＬ１５に含まれる混合器１５５は、ローパスフィルタ１５４を介して電圧制御発振器１５７に入力されるクロック修正信号と周波数差検出回路１４より出力された比較結果信号とを合成する。ここで、周波数差検出回路１４により計数時間が所定時間よりも大きいと判断された場合、混合器１５５より出力される信号は、クロック修正信号よりも小さくなる。周波数差検出回路１４により計数時間が所定時間よりも大きいと判断された場合、混合器１５５より出力される信号は、クロック修正信号よりも大きくなる。
【０１１６】
次に、電圧制御発振器１５７は、混合器１５５より出力された信号に基づき、読み出しクロックＣＫｒを発生する。ここで、周波数差検出回路１４により計数時間が所定時間よりも大きいと判断された場合、読み出しクロックＣＫｒは遅くなる。周波数差検出回路１４により計数時間が所定時間よりも大きいと判断された場合、読み出しクロックＣＫｒは早くなる。
【０１１７】
〈効果〉
以上のように、書き込みクロックＣＫｗと読み出しクロックＣＫｒとの間にＳＳＣによるクロックのゆれ等によって周波数差が生じた場合に書き込みクロックＣＫｗにあわせて読み出しクロックＣＫｒの周波数を変化させることにより、空隙が少ない連続したデータ出力を可能とする。これにより、クロック乗せ替え処理に使用するバッファを削減することが可能である。
【０１１８】
なお、本実施形態では、計数回路１３は、信号取得許可信号Ｓａ１が出力されていない期間を計数したが、逆に、信号取得許可信号Ｓａ１が出力されている期間を計数しても構わない。計数回路１３において信号取得許可信号Ｓａ１の出力状態が同じ期間を計数し、周波数差検出回路１４においてその計数期間と所定の期間とを比較し、その比較結果をＰＬＬ１５等にフィードバックさせることにより、読み出しクロックＣＫｒを調整することが可能である。
【産業上の利用可能性】
【０１１９】
本発明のクロック乗せ替え回路は、ＳｅｒｉａｌＡＴＡと接続されるインターフェイスの入り口等に用いるのに適している。
【図面の簡単な説明】
【０１２０】
【図１】この発明の第１の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【図２】図１に示したクロック乗せ替え回路によるクロック乗せ替え処理を示したタイミングチャートである。
【図３】この発明の第２の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【図４】この発明の第３の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【図５】図４に示したクロック乗せ替え回路によるオーバーフローエラー検出処理を示すタイミングチャートである。
【図６】この発明の第４の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【図７】図６に示したクロック乗せ替え回路によるデータ整合処理１を示すタイミングチャートである。
【図８】図６に示したクロック乗せ替え回路によるデータ整合処理２を示すタイミングチャートである。
【図９】この発明の第５の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【図１０】図９に示したクロック乗せ替え回路による異常状態検出処理を示すタイミングチャートである。
【図１１】この発明の第６の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
【符号の説明】
【０１２１】
１  クロック乗せ替え回路
２  書き込みカウンタ２
３１，３２，３３，３４，９１，９２，９３  バッファ
４  読み出しカウンタ
５  出力信号制御部
６  段数変更信号発生部
７  オーバーフローエラー検出回路
８  空隙パターン検出回路
１０  特殊パターン検出回路
１１  データ結合回路
１２  信号取得許可信号ディスエーブルカウンタ
１３  計数回路
１４  周波数差検出回路
１５  ＰＬＬ
１５１  クロック発生器
１５２  位相周波数検出器
１５３  チャージポンプ
１５４  ローパスフィルタ
１５５  混合器
１５６  電圧制御発振器
１５７  クロック分周器
Ｄｉ１  入力データ
Ｄｏ１，Ｄｏ２  出力データ
Ｓａ１，Ｓａ２  信号取得許可信号
ＣＫｗ  書き込みクロック
Ｃｗ  書き込みカウンタによるインクリメント値
ＣＫｒ  読み出しクロック
Ｃｒ  読み出しカウンタによるインクリメント値
Ｓｗ１〜Ｓｗ４  書き込み終了信号
Ｓｒ１〜Ｓｒ４  読み出し終了信号
Ｓｏｖ  オーバーフローエラー検出信号
Ｓｓｐ  特殊パターン検出信号
Ｓａｂ  異常状態検出信号
【図１】
2005101771.tif 000003
【図２】
2005101771.tif 000004
【図３】
2005101771.tif 000005
【図４】
2005101771.tif 000006
【図５】
2005101771.tif 000007
【図６】
2005101771.tif 000008
【図７】
2005101771.tif 000009
【図８】
2005101771.tif 000010
【図９】
2005101771.tif 000011
【図１０】
2005101771.tif 000012
【図１１】
2005101771.tif 000013