JP2005101771A - クロック乗せ替え回路および方法 - Google Patents

クロック乗せ替え回路および方法 Download PDF

Info

Publication number
JP2005101771A
JP2005101771A JP2003330572A JP2003330572A JP2005101771A JP 2005101771 A JP2005101771 A JP 2005101771A JP 2003330572 A JP2003330572 A JP 2003330572A JP 2003330572 A JP2003330572 A JP 2003330572A JP 2005101771 A JP2005101771 A JP 2005101771A
Authority
JP
Japan
Prior art keywords
data
output
clock
buffer
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003330572A
Other languages
English (en)
Other versions
JP2005101771A5 (ja
Inventor
Koki Imamura
幸喜 今村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003330572A priority Critical patent/JP2005101771A/ja
Priority to US10/944,938 priority patent/US7135897B2/en
Priority to CNB2004100782912A priority patent/CN100337449C/zh
Publication of JP2005101771A publication Critical patent/JP2005101771A/ja
Publication of JP2005101771A5 publication Critical patent/JP2005101771A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop

Abstract

【課題】 入力クロックに対応したデータを装置内のクロックに乗せ替える。
【解決手段】 書き込みカウンタ2は、入力データDi1より作成された書き込みクロックCKwに同期してインクリメントし、そのインクリメント値Cwが示すバッファに入力データDi1を書き込む。同時に、読み出しカウンタ4に書き込み終了信号Sw1〜Sw4が出力される。読み出しカウンタ4は、書き込み終了信号が入力されている間のみ、読み出しクロックCKrに同期してインクリメントし、出力信号制御部は、そのインクリメント値Crが示すバッファに格納されたデータを出力する。このとき、信号取得許可信号Sa1も出力する。また、読み出しカウンタ4に書き込み終了信号が入力されていない間は、読み出しクロックCKrに同期してインクリメント値Crは更新されず、信号取得許可信号Sa1も出力されない。
【選択図】 図1

Description

本発明は、高速ディジタルデータ通信系において、受信データに同期した書き込みクロックから読み出しクロックにデータを乗せ替えるためのクロック乗せ替え回路に関する。
一般にクロック乗せ替え回路は、受信データと回路内部の読み出しクロックの間に速度差や位相差がある場合に、ビットの重複または欠落が生じないように適当なビット数の受信データを一時的に記憶し受信データを読み出しクロックに同期させて送信するために使用される。
従来、このクロック乗せ替え回路は、位相差を検出する方式、開始フラグを検出する方式などが用いられている。位相差を検出する方式は、回路が大きくなったり複雑な構成になったりする。これを解決するために特公平6−56997号公報では開始フラグを用いた回路が提案されている。この装置は、開始フラグの検出から始まる一連の動作により読み出しのビット位置を初期設定するものである。
以下に、特公平6−56997号公報に記載された装置について説明する。
特公平6−56997号公報に記載された入力データは、記憶素子の容量に等しいビット数の約数の周期で入力データのフレーム相互間に挿入されるタイムフィルと、フレーム開始フラグとを有する。特公平6−56997号公報に記載された装置は、書き込みクロックに同期させて入力データを遅延させてなる書き込みデータを、書き込みクロックに同期させてそのカウント値により選択された複数の記憶素子のいずれかにビット到来順にそれぞれ一時的に書き込むとともに、読み出しクロックのカウント値により選択された複数の記憶素子からビットの到来順に読み出したデータを出力データとするクロック乗せ替え回路において、この開始フラグの検出後一定の期間、記憶素子の出力をホールドするラッチ回路と、このラッチ回路でのホールド時間の経過によりレジスタ内の書き込みクロックのカウント値を読み出しクロックのカウント値としてロードするホールド時間カウンタとを備えたことを特徴としている。
特公平6−56997号公報の発明では、入力データにおけるフレーム内の開始フラグを検出することにより、それまでに各記憶素子に書き込まれたタイムフィルのビットパターンがラッチ回路に一定時間ホールドされ、このホールド時間の経過により、開始フラグの検出時点での書き込みクロックのカウント数が読み出しカウンタにロードされ、以後読み出しクロックによってカウントアップされる毎に、スルー状態となったラッチ回路を介して各記憶素子から入力データのフレーム内の各ビットが到来順に読み出される。
次に、特許文献の図1に沿って特公平6−56997号公報の実施例を説明する。この装置は、バッファ容量をnビットで構成したものである。遅延回路1は、書き込みクロックCKwに同期して、入力データDiを遅延する。フリップフロップ21〜2nは、遅延回路1より出力された入力データDi(書き込みデータDw)を入力する。一方、受信データから得た書き込みクロックCKwは、書き込みカウンタ3に入力される。書き込みカウンタのカウント値出力は、nビットのデコーダ4に入力される。アンドゲート51〜5nの各出力端子は、フリップフロップ21〜2nのクロック入力端子にそれぞれ接続される。フリップフロップ21〜2nの出力端子はラッチ回路6を介してデータセレクタ7から出力される。さらに、入力データDiは開始フラグ検出回路8に入力されている。開始フラグ検出回路8からはラッチ信号S1が出力される。なお、ラッチ信号S1は、書き込みカウンタ3の出力側に設けられたレジスタ9に入力される。また、ホールド信号S2は、ホールド時間カウンタ10およびラッチ回路6のイネーブルENに接続されている。
特許文献1の図2に示された従来方法のタイミングチャートを参照する。従来方法においては、受信データをバッファ(フリップフロップ)内にホールドカウンタにて設定した一定期間ホールドし、設定したホールド期間経過後、読み出しクロックがカウントアップするたびに順次データを読み出している。
特公平6−56997号公報
従来の特公平6−56997号公報記載のクロック乗せ替え回路は、前述した書き込み開始フラグ検出から始まる一連のクロック乗せ替え動作により、従来回路と比較して回路構成を簡略化したクロック乗せ替え回路を実現している。しかし、特公平6−56997号公報記載のクロック乗せ替え回路では、開始フラグのない連続データのクロック乗せ替えは使用できない。また、この種のホールド時間を有するようなクロック乗せ替え技術の場合、後述のSSC(Spread Spectrum Clocking)のようなジッタが大きくなるようなクロック制御技術使用時には、使用バッファが膨大になってしまう可能性がある。SSCとは、携帯電話のような高周波信号処理を必要とする信号処理、Serial ATAのような高速の信号伝送を行うような技術に用いられているクロック制御技術であり、高速のクロックの周波数を揺らすことでEMIの低減を図る技術である。たとえば、Serial ATAにおいては、1.5GHzの信号伝送周波数に対し、30kHzの周期で5000ppm程度クロックの周期を変化させている。実現方法など詳細は、No:5631920 (1)SPREAD SPECTRUM CLOCK GENERATOR等を参考にされたし。また、SSCなどでジッタが大きくなると、そのジッタ量に比例したホールド時間も必要となってくるため、クロック乗せ替え回路におけるデータ遅延もホールド時間に伴って大きくなる可能性がある。
本発明の目的は、フラグの存在しない入力データに対してもクロックを乗せ替えることができ、タイムフィル分の遅延を生じることなくクロックを乗せ替えることができるクロック乗せ替え回路および方法を提供することである。
この発明の1つの局面に従うと、クロック乗せ替え回路は、書き込み部と、読み出し部とを備える。書き込み部は、入力データに対応した第1のクロックに従って、入力データを格納する。読み出し部は、第2のクロックに従って、書き込み部に格納されたデータのうち出力すべきデータを出力し、かつそのデータが有効であることを示す信号取得許可信号を出力する。読み出し部は、出力すべきデータが出力されていないときには、信号取得許可信号を出力しない。
上記クロック乗せ替え回路では、第1のクロックに対応した入力データを書き込み部に格納し、書き込み部に格納されたデータを第2のクロックに従って出力する。書き込み部に出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号は出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること(例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等)により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながり、データの遅延も無くなる。
好ましくは、上記書き込み部は、第1のバッファ選択部と、少なくとも1つのバッファとを含む。第1のバッファ選択部は、上記第1のクロックに従い、バッファを選択する。第1のバッファ選択部によって選択されたバッファは、上記入力データを格納する。上記読み出し部は、上記第2のクロックに従い、バッファを選択し、選択したバッファに格納された出力すべきデータを出力し、かつ上記信号取得許可信号を出力する。上記読み出し部は、さらに、選択したバッファに出力すべきデータが格納されていないときには、上記信号取得許可信号を出力しない。
上記クロック乗せ替え回路では、第1のクロックに対応した入力データをバッファに格納し、バッファに格納されたデータを第2のクロックに従って出力する。選択されたバッファに出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号を出力しない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること(例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等)により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
好ましくは、上記第1のバッファ選択部は、さらに、上記バッファに入力データが格納されたときに、書き込み終了信号を上記読み出し部に出力する。上記読み出し部は、書き込み終了信号が入力されている間に、第2のクロックに従い、上記バッファを選択し、選択したバッファに格納された出力データを出力し、かつ上記信号取得許可信号を出力する。上記読み出し部は、さらに、書き込み終了信号が入力されていないときには、上記バッファを選択せず、上記信号取得許可信号を出力しない。
上記クロック乗せ替え回路では、書き込み終了信号が入力されている間において、バッファに入力データが格納されているので、読み出し部はバッファより出力すべきデータを出力することができる。よって、有効なデータが出力されているので、信号取得許可信号が出力される。一方、書き込み終了信号が入力されていない間は、バッファに入力データが格納されていないので、読み出し部はバッファより出力すべきデータを出力することができない。よって、有効なデータが出力されていないので、信号取得許可信号が出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される装置等は、この信号取得許可信号を観察すること(例えば、後段に接続される装置が信号取得許可信号を入力したときだけ、データを受信する等)により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
好ましくは、上記クロック乗せ替え回路は、さらに、段数変更部を備える。段数変更部は、上記バッファの段数を変更する。
上記クロック乗せ替え回路では、第1のクロックと第2のクロックとのずれの増減に対応して使用するバッファの段数を変更することにより、バッファを有効に使用することが可能となる。
好ましくは、上記入力データは、有効なデータが存在しない区間を示す情報(空隙情報)を含む。上記クロック乗せ替え回路は、さらに、空隙パターン検出部を備える。空隙パターン検出部は、上記入力データより空隙情報を検出する。
Serial ATAで定められたALIGNのように、有効なデータが存在しない区間(空隙パターン)を示すデータを受信した場合に、書き込み部は入力データを格納せず、読み出し部は、書き込み部に格納されたデータがないので無効なデータを出力する。この場合、読み出し部が書き込み部よりデータを出力しても信号取得許可信号は出力されない。上記クロック乗せ替え回路では、例えば、空隙パターン検出部が空隙パターンを検出したときに書き込み部が入力データの書き込みを停止し、読み出し部が信号取得許可信号を出力しないことにより、空隙パターンを検出している期間内で書き込み部をクリーンアップすることができる。
好ましくは、上記クロック乗せ替え回路は、さらに、オーバーフローエラー検出部を備える。オーバーフローエラー検出部は、上記書き込み部が上記入力データを格納することができるか否かを判断する。
上記クロック乗せ替え回路では、オーバーフローエラー検出部は、書き込み部において入力データを格納する容量がない場合を検出する。これにより、例えば、オーバーフローエラー検出部において入力データを格納することができないと判断された場合に、書き込み部が入力データの格納を停止することにより、入力データが読み出される前に書き込み部に対して新たな入力データが書き込まれてしまうこと(オーバーフロー)を防ぐことが可能となる。また、このような場合に、後段に接続される装置等が読み出し部からの出力データの受信を停止することにより、不完全な出力データを処理することを防ぐことが可能となる。
好ましくは、上記入力データは、特殊パターンを含む。上記クロック乗せ替え回路は、少なくとも1つのバッファと、特殊パターン検出部と、データ整合部とを備える。バッファは、上記読み出し部からのデータを格納する。バッファは、有効なデータを格納している場合のみ、前記読み出し部からデータが入力されると格納していたデータを出力する。特殊パターン検出部は、上記読み取り部より出力されるデータより特殊パターンを検出する。データ整合部は、上記特殊パターン検出部で特殊パターンが検出されたときからバッファよりこの特殊パターンが出力されるまでの間、バッファに上記読み出し部からのデータを格納させかつバッファが格納していたデータを出力させる。
例えば、Serial ATAにおいてデータ受信開始時またはデータ受信中には、受信側は、データの転送長を知ることはできず、受信データの最後に送信されてくるEOF(End of Flame)と呼ばれる特殊パターンを検出することでデータの受信完了を知る。後段に接続される装置等が信号取得許可信号を認識せずに空隙等の無効なデータも受信してしまう場合、そのような装置は、EOF受信後に、EOFの1つ前のデータがCRC符号,その前のデータが最後のデータとして処理を行うので、EOFからEOFの2つ前までのデータは、3連続で出力される必要がある。上記クロック乗せ替え回路では、バッファに空隙が格納されると、バッファは、有効なデータが格納されるまで格納していたデータを出力しない。これにより、連続して出力されるべきデータにおいてその連続データの途中に有効でないデータが存在することにより連続した形で出力されていない場合でも、連続した形のデータを出力することが可能である。また、連続して出力されるべきデータにおいてその連続データの直後に有効でないデータが存在することにより上記手段では連続した形で出力されていない場合でも、データ整合部により、連続した形のデータを出力することが可能である。
好ましくは、上記クロック乗せ替え回路は、さらに、信号取得許可信号カウントを備える。信号取得許可信号カウンタは、上記信号取得許可信号が出力されない期間(非出力期間)が所定の期間よりも長いか否かを判断する。
通常のデータ通信時において信号取得許可信号が長期間にわたって出力されないということは考えにくい。このような状況が起こった場合、通信に何らかのエラーが発生し入力データもしくは第1のクロックに異常が発生している可能性が非常に高い。上記クロック乗せ替え回路では、信号取得許可信号カウンタが信号取得許可信号が出力されない期間を観察することにより、信号処理のより早い段階で異常状態を検出することが可能となる。
好ましくは、上記クロック乗せ替え回路は、さらに、クロック差検出部を備える。クロック差検出部は、上記信号取得許可信号の出力状態が同じである期間と所定の期間とを比較する。
例えば、信号取得許可信号の出力状態は、第1のクロックと第2のクロックとのずれに対応する。つまり、第1のクロックと第2のクロックとのずれがない場合、信号取得許可信号が出力されていない期間(非出力期間)は存在しない。さらに、非出力期間が大きい程、第2のクロックは第1のクロックよりも遅い。上記クロック乗せ替え回路では、例えば、PLLのようなクロック生成回路がクロック差検出部で得られた比較の結果に基づき新たに第2のクロックを生成することにより、第2のクロックを第1のクロックに合わせることができる。また、第2のクロックを調整しないクロック乗せ替え回路と比較すると、入力データを格納するための容量をさらに削減することができる。
好ましくは、上記クロック乗せ替え回路は、さらにクロック生成部を備える。クロック生成部は、クロック生成信号に基づき上記第2のクロックを生成する。上記クロック差検出部は、計数回路と、周波数差検出回路とを含む。計数回路は、上記信号取得許可信号の出力状態が同じである期間を計数する。周波数差検出回路は、上記計数回路で計数された期間と所定の期間とを比較し、比較の結果に応じてクロック生成信号を調整する。
上記クロック乗せ替え回路では、クロック生成部は、周波数差検出回路で得られた比較の結果を用いて第2のクロックを生成する。これにより、複雑な構成の位相比較器を用いなくても、より簡便な回路でかつクロック乗せ替え回路と兼用する形で位相比較回路を実現することが可能となる。
この発明のもう1つの局面に従うと、クロック乗せ替え方法は、書き込みステップと、読み出しステップとを備える。書き込みステップは、入力データに対応した第1のクロックに従い、入力データを少なくとも1つのバッファに格納する。読み出しステップは、第2のクロックに従い、書き込みステップでバッファに格納されたデータのうち出力すべきデータを出力し、かつそのデータが有効であることを示す信号取得許可信号を出力する。読み出しステップは、さらに、出力すべきデータが出力されていないときには、信号取得許可信号を出力しない。
上記クロック乗せ替え方法では、第1のクロックに対応した入力データをバッファに格納し、バッファに格納されたデータを第2のクロックに従って出力する。バッファに出力すべきデータが格納されていないときには有効なデータを出力することができないので、信号取得許可信号は出力されない。これにより、入力データのクロックを乗せ替えることができ、後段に接続される方法は、この信号取得許可信号を観察すること(例えば、後段に接続される方法が信号取得許可信号を入力したときだけ、データを受信する等)により受信データを重複または欠落無しに受信することが可能となる。また、従来と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながる。また、ホールド期間によって生じるデータの遅延も無くなる。
好ましくは、上記クロック乗せ替え方法は、さらに、クロック生成ステップと、計数ステップと、周波数差検出ステップとを備える。クロック生成ステップは、クロック生成信号に基づき上記第2のクロックを生成する。計数ステップは、上記信号取得許可信号の出力状態が同じである期間を計数する。周波数差検出ステップは、計数ステップで計数された期間と所定の期間とを比較し、比較の結果に応じてクロック生成信号を調整する。
上記クロック乗せ替え方法では、第1のクロックと第2のクロックとを合わせることが可能となり、第2のクロックを調整しないクロック乗せ替え方法と比較すると、さらにバッファ数を削減させることができるようになる。
上記クロック乗せ替え方法では、クロック生成ステップは、周波数差検出ステップで得られた比較の結果を用いて第2のクロックを生成する。これにより、複雑な構成の位相比較機を用いなくても、より簡便な方法でかつクロック乗せ替え方法と兼用する形で位相比較方法を実現することが可能となる。
以上のように、大きなジッタを含むデータ通信や連続データ長が大きなデータ通信(例えばSSC)においても、少ないバッファでクロックの乗せ替えが可能であり、データの遅延が少ない回路を実現することが可能である。また、いくつかの回路を新たに付与することにより、異常状態検出、周波数差検出などの新たな機能を付与することが可能である。
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
(第1の実施形態)
〈クロック乗せ替え装置の全体構成〉
この発明の第1の実施形態によるクロック乗せ替え装置1の全体構成を図1に示す。この装置は、書き込みカウンタ2と、バッファ31〜34と、読み出しカウンタ4と、出力信号制御部5とを備える。書き込みカウンタ2は、入力データDi1より作成された書き込みクロックCKwに同期してインクリメントし、バッファ31〜34のうちそのインクリメント値Cwが示すバッファを選択する。書き込みカウンタ2は、選択したバッファに入力データDi1を書き込むと同時に、書き込み終了信号Sw1〜Sw4を読み出しカウンタ4に出力する。バッファ31〜34のうち書き込みカウンタ2に選択されたバッファは、入力データDi1を一時的に格納する。読み出しカウンタ4は、書き込みカウンタ2より書き込み終了信号Sw1〜Sw4が出力されている場合のみ読み出しクロックCKrに同期してインクリメントし、読み出し終了信号Sr1〜Sr4を書き込みカウンタ2に出力すると共にインクリメント値Crを出力する。出力信号制御部5は、読み出しカウンタ4より出力されたインクリメント値Crに従い、バッファ31〜34のうちインクリメント値Crが示すバッファに格納されたデータを出力データDo1として出力すると共に信号取得許可信号Sa1を出力する。書き込みカウンタ2は、読み出しカウンタ4より読み出し終了信号Sr1〜Sr4が入力されると、書き込み終了信号Sw1〜Sw4の出力を停止する。読み出しカウンタ4は、書き込みカウンタ2からの書き込み終了信号Sw1〜Sw4の入力が停止されると、読み出し終了信号Sr1〜Sr4の出力を停止する。
〈クロック乗せ替え装置の動作〉
《クロック乗せ替え処理》
以下に、図1に示したクロック乗せ替え回路1による動作について図2を参照しつつ説明する。
まず、書き込みカウンタ2は、入力データDi1(図2−b)より作成された書き込みクロックCKw(図2−a)に同期してインクリメントする(図2−c)。このインクリメント値Cwは、バッファ31〜34のうち入力データDi1(図2−b)を格納すべきバッファを示す。例えば、書き込みカウンタ2におけるインクリメント値Cwが「0」のときは、バッファ31を示す。
次に、バッファ31〜34のうちインクリメント値Cwに示されたバッファは、書き込みクロックCKwに同期して、入力データDi1を格納する(図2−e1,e2,e3,e4)。同時に、書き込みカウンタ2は、読み出しカウンタ4に対して書き込み終了信号Sw1〜Sw4のうちいずれかの出力を開始する(図2−d1,d2,d3.d4)。このように、書き込みカウンタ2におけるインクリメントに従い、バッファ31〜34はそれぞれ入力データDi1を格納し(図2−e1,e2,e3,e4)、書き込みカウンタ2は書き込み終了信号Sw1〜Sw4を出力する(図2−d1,d2,d3,d4)。例えば、書き込みカウンタ2は、バッファ31に入力データDi1(#1)が格納されたとき(図2−e1)に書き込み終了信号Sw1を出力する(図2−d1)。
次に、読み出しカウンタ4は、書き込み終了信号Sw1〜Sw4のうち少なくとも1つが出力されている期間において、読み出しクロックCKr(図2−f)に同期してインクリメントする(図2−g)。このインクリメント値Crは、出力信号制御部5によってバッファ31〜34のうち出力すべきデータ(図2−e1,e2,e3,e4)が格納されているバッファを示す。例えば、読み出しカウンタ4におけるインクリメント値Crが「0」のときは、バッファ31が示される。
次に、読み出しカウンタ4は、インクリメント値Crを出力信号制御部5へ出力する。同時に、読み出しカウンタ4は、そのインクリメント値Crに従って、書き込みカウンタ2へ読み出し終了信号Sr1〜Sr4のうちインクリメント値Crが示す読み出し終了信号を出力する(図2−h1,h2,h3.h4)。例えば、読み出しカウンタ4におけるインクリメント値Crが「0」のときは、読み出し終了信号Sr1を出力する(図2−h1)。
次に、出力信号制御部5は、読み出しカウンタ4より出力されたインクリメント値Crに従い、バッファ31〜34のうちインクリメント値Crが示すバッファに格納されたデータを出力データDo1として出力する(図2−i)。同時に、出力信号制御部5は、信号取得許可信号Sa1を出力する(図2−j)。また、読み出し終了信号が入力された書き込みカウンタ2は、その読み出し終了信号に対応する書き込み終了信号の出力を停止する(図2−d1,d2,d3,d4)。例えば、読み出し終了信号Sr1が入力されたとき(図2−h1)は、書き込み終了信号Sw1の出力を停止する(図2−d1)。
次に、読み出しカウンタ4は、書き込みカウンタ2からの書き込み終了信号の出力が停止すると、その書き込み終了信号に対応する読み出し終了信号の出力を停止する(図2−h1,h2,h3,h4)。例えば、書き込み終了信号Sw1の出力が停止したとき(図2−d1)は、読み出し終了信号Sr1の出力を停止する(図2−h1)。
一方、読み出しカウンタ4は、書き込み終了信号Sw1〜Sw4のうち1つも出力されていない期間において、読み出しクロックCKrがクロッキングしても(図2−f)インクリメント値Crを更新しない(図2−g)。
次に、読み出しカウンタ4は、出力信号制御部5に対して、更新されていないインクリメント値Crをそのまま出力し続ける。(図2−g)
次に、出力信号制御部5は、読み出しカウンタ4において読み出しクロックCKrがクロッキングしてもインクリメント値Crが更新されない期間には、信号取得許可信号Sa1を出力しない(図2−j)。
〈効果〉
以上のように、出力信号制御部5は、読み出しカウンタ4において読み出しクロックCKrに同期してインクリメント値Crが更新されたときだけ信号取得許可信号Sa1を出力する。これにより、後段に接続する装置等において、信号取得許可信号Sa1の出力をみることで出力データDo1が読み取り可能であるか否か(有効なデータであるか否か)を判断することができる。また、従来技術と比較すると、データをホールド期間ホールドする必要はなくなり使用バッファ数の大幅な削減につながり、データの遅延も無くなる。
なお、本実施形態では、バッファの数は4つであるが、これに限らない。
なお、書き込み終了信号および読み出し終了信号の出力の停止は、各クロックに同期でも非同期でも構わない。つまり、書き込み終了信号は対応する読み出し終了信号が出力されると停止し、次に、読み出し終了信号は対応する書き込み終了信号の出力が停止されると停止する。
(第2の実施形態)
書き込みクロックCKwと読み出しクロックCKrとのずれは変動することがある。クロック乗せ替え処理を行うには、充分な段数のバッファが必要である。例えば、書き込みクロックCKwと読み出しクロックCKrとのずれが大きいときには、必要なバッファの段数は多くなり、バッファが不足する可能性がある。また、書き込みクロックCKwと読み出しクロックCKrとのずれが小さいときには、必要なバッファの段数は少なくて済み、バッファが余る可能性がある。
〈クロック乗せ替え装置の全体構成〉
この発明の第2の実施形態によるクロック乗せ替え装置の全体構成を図3に示す。この装置は、第1の実施形態によるもの(図1)に加えて、段数変更信号発生部6をさらに備える。段数変更信号発生部6は、上述のクロック乗せ替え処理に使用するバッファの段数を変更するための稼働許可信号を出力する。
〈動作〉
図3に示したクロック乗せ替え装置の動作は、第1の実施形態のものに加えて、バッファの段数を変更するバッファ段数変更処理をさらに行う。
《バッファ段数変更処理》
バッファ段数変更処理について説明する。
まず、段数変更信号発生部6には、外部よりクロック乗せ替え処理のために必要なバッファの段数が入力される。
次に、段数変更信号発生部6は、入力されたバッファの段数に応じて、バッファ31〜34に稼働許可信号を出力する。例えば、外部より入力されたバッファの段数が「2」である場合、段数変更信号発生部6は、バッファ31〜34のうち2つのバッファに対して稼働許可信号を出力する。
次に、バッファ31〜34のうち段数変更信号発生部より稼働許可信号が入力されたバッファは、クロック乗せ替え処理のために稼働する。その他のバッファは、クロック乗せ替え処理のために稼働しない。
次に、稼働しているバッファを用いて、第1の実施形態と同様に、クロック乗せ替え処理が行われる。
〈効果〉
これにより、書き込みクロックCKwと読み出しクロックCKrとのずれの増減に対応して使用するバッファの段数を変更することにより、バッファを有効に使用することが可能となる。例えば、クロック乗せ替え処理のために使用しないバッファを他の処理に用いることが可能となる。
(第3の実施形態)
バッファへの入力データDi1の書き込みがバッファからのデータの読み出しよりも早すぎる場合やバッファの段数が充分でない場合には、入力データDi1が読み出される前に新たな入力データDi1がバッファに書き込まれてしまう可能性がある。また、Serial ATAで定められたALIGNのように、有効なデータが存在しない区間(空隙)を示すデータ(空隙パターン)を受信した場合に、そのような空隙をバッファへ格納した後、出力データDo1として読み出す必要はない。
〈クロック乗せ替え装置の全体構成〉
この発明の第3の実施形態によるクロック乗せ替え装置の全体構成を図4に示す。この装置は、第1の実施形態によるもの(図1)に加えて、オーバーフローエラー検出回路7と、空隙パターン検出回路8とを備える。オーバーフローエラー検出回路7は、バッファ31〜34のうち全てにデータが書き込まれた場合にオーバーフローエラー検出信号Sovを出力する。空隙パターン検出回路8は、空隙パターンを受信した場合、書き込みカウンタ2がバッファ31〜34に入力データDi1を書き込む動作を一時的に停止させる。空隙パターンは、有効なデータが存在しない区間(空隙)を示すデータである。
〈クロック乗せ替え装置の動作〉
図3に示したクロック乗せ替え装置による動作は、第1の実施形態のものに加えて、全ての書き込み終了信号Sw1〜Sw4が読み出しカウンタ4に入力されたときに行うオーバーフローエラー検出処理と空隙パターンを検出する空隙検出処理とをさらに行う。
《オーバーフローエラー検出処理》
オーバーフローエラー検出処理について図5を参照しつつ説明する。
まず、第1の実施形態と同様に、書き込みカウンタ2は、書き込みクロックCKw(図5−a)に同期してインクリメント(図5−c)し、書き込み終了信号Sw1〜Sw4のうちインクリメント値Crが示す書き込み終了信号を出力する(図5−d1,d2,d3,d4)。また、書き込みカウンタ2は、オーバーフローエラー検出回路7にもその書き込み終了信号を出力する。
次に、書き込みカウンタ2は、全ての書き込み終了信号Sw1〜Sw4を出力している状態になる。この状態は、例えば、書き込みクロックCKwが読み出しクロックCKrよりも早くクロッキングしており、バッファ31〜34に格納されたデータが読み出される前にバッファ31〜34に対して新たなデータが格納される可能性がある場合に発生する。
次に、オーバーフローエラー検出回路7は、書き込みカウンタ2より全ての書き込み終了信号Sw1〜Sw4が入力されると、オーバーフローエラー検出信号Sov(図5−k)を出力する。
《空隙検出処理》
空隙検出処理について説明する。
まず、第1の実施形態と同様に、書き込みカウンタ2は、書き込みクロックCKwに同期してインクリメントを行う。バッファ31〜34のうちインクリメント値Crに示されたバッファは、入力データDi1を格納する。このとき、そのバッファに格納される入力データDi1は、そのバッファに送信されるだけでなく、空隙パターン検出回路8にも送信される。
次に、空隙パターン検出回路8は、受信した入力データDi1が空隙パターン(空隙を示すパターン)である場合、書き込みカウンタ2を一時的に停止状態にする。
〈効果〉
以上のように、オーバーフローエラー検出回路7は、全ての書き込み終了信号Sw1〜Sw4を入力した場合にオーバーフローエラー検出信号Sovを出力する。このオーバーフローエラー検出信号Sovを後段に接続される装置等が検出することにより、不完全な出力データDo1を処理することを防ぐことが可能となる。さらに、このオーバーフローエラー検出信号Sovを第2の実施形態で示した段数変更信号発生部6等にフィードバックすることにより、バッファの段数を必要な段数に変更することが可能となる。
また、空隙パターン検出時に空隙パターン検出回路8によって書き込みカウンタ2が一時的に停止することにより、検出している期間内でバッファ31〜34をクリーンアップすることができる。
(第4の実施形態)
例えば、Serial ATAにおいてデータ受信開始時またはデータ受信中には、受信側は、データの転送長を知ることはできず、受信データの最後に送信されてくるEOF(End of Flame)と呼ばれる特殊パターンを検出することでデータの受信完了を知る。ここで、後段に接続される装置が信号取得許可信号Sa1を認識せずに空隙等の無効なデータも受信してしまう場合、そのような装置は、EOF受信後に、EOFの1つ前のデータがCRC符号,その前のデータが最後のデータとして処理を行うので、EOFからEOFの2つ前までのデータは、3連続で出力される必要がある。つまり、EOFからEOFの2つ前のデータまでの間に空隙があった場合、そのデータを入力された装置等がEOFの2つ前のデータを正しく認識できない可能性がある。
〈クロック乗せ替え装置の全体構成〉
この発明の第4の実施形態によるクロック乗せ替え装置の全体構成を図6に示す。この装置は、第1の実施形態によるもの(図1)に加えて、バッファ91〜93と、特殊パターン検出回路10と、データ結合回路11とを備える。バッファ91は、空隙でない出力データDo1をすでに格納している場合に、読み出しクロックCKrに同期して出力信号制御部5より出力された出力データDo1を格納し、すでに格納している出力データDo1を後段のバッファ92に出力する。バッファ92は、読み出しクロックCKrに同期して直前のバッファ91より出力された出力データDo1を格納し、すでに格納している出力データDo1を後段のバッファ92に出力する。バッファ93は、読み出しクロックCKrに同期して直前のバッファ92より出力された出力データDo1を格納し、すでに格納している出力データDo1を出力する。つまり、バッファ91〜93は、バッファ91に格納されている出力データDo1が空隙でない場合に、バッファ91からバッファ93へ出力データDo1を順番に送る処理(順送り処理)を行う。特殊パターン検出回路10は、特殊パターンを検出する。データ結合回路11は、特殊パターン検出回路10で特殊パターンが検出されたときに、バッファ91〜93に対して順送り処理を行わせる。データ結合回路11は、各バッファの状態に従って信号取得許可信号Sa2の出力を調整する。特殊パターンは、特定のデータがどこに存在するのかを示すデータである。例えば、特殊パターンは、Serial ATAで定められている受信データの最後に送信されるEOF(End of Flame)と呼ばれるパターンである。EOFは、2つ前に存在するデータが最後のデータであることを示す。
〈クロック乗せ替え装置の動作〉
図6に示したクロック乗せ替え装置による動作は、第1の実施形態によるものに加えて、連続して出力することが必要なデータが不連続で出力されている場合にそのデータを整合するデータ整合処理を行う。
《順送り処理》
初めに、出力信号制御部5より出力される出力データDo1が、空隙を含まない場合の動作(順送り処理)について説明する。
まず、第1の実施形態と同様にクロック乗せ替え処理が行われ、バッファ91は、読み出しクロックCKrに同期して、出力信号制御部5(図1参照)より出力された出力データDo1を格納し、格納していた出力データDo1を後段のバッファ92に出力する。
同時に、バッファ92は、読み出しクロックCKrに同期して、バッファ91より出力された出力データDo1を格納し、すでに格納していた出力データDo1を後段のバッファ92に出力する。
同時に、バッファ92は、読み出しクロックCKrに同期して、バッファ91より出力された出力データDo1を格納し、すでに格納していた出力データDo1を出力データDo2として出力する。
このように、出力信号制御部5(図1参照)より新たな出力データDo1が入力される毎に、バッファ91〜93の各々に格納された出力データDo1が順送りに出力される。
また、信号取得許可信号Sa1も同様に、バッファ91〜93に格納され、順送りに出力される。
《データ整合処理1》
次に、出力信号制御部5より出力される出力データDo1において、特殊パターンより以前に空隙を含む場合の処理(データ整合処理1)について図7を参照しつつ説明する。空隙がバッファ91に入力されると、バッファ91〜93は、バッファ91に空隙でない新たな出力データDo1が格納されるまで上述のような順送り処理を行わない。
まず、第1の実施形態と同様に、クロック乗せ替え処理が行われ、バッファ91には、空隙でない出力データDo1が入力され(図7−i)、バッファ91は、出力データDo1(連続データ2)を格納し、後段のバッファ92に出力データDo1(連続データ1)を出力する(図7−m1)。バッファ92は、バッファ91より出力された出力データDo1(連続データ1)を格納し、後段のバッファ93に出力データDo1(#6)を出力する(図7−m2)。バッファ93は、バッファ92より出力された出力データDo1(#6)を格納し、出力データDo1(#5)を出力データDo2として出力する(図7−m3)。また、出力信号制御部5より出力される信号取得許可信号Sa1は、出力データDo1と同様に、各バッファに格納される。(図7−o)
次に、バッファ91には、空隙が入力され(図7−i)、バッファ91は、出力データDo1(空隙)を格納し、後段のバッファ92に出力データDo1(連続データ2)を出力する(図7−m1)。バッファ92は、バッファ91より出力された出力データDo1(連続データ2)を格納し、後段のバッファ93に出力データDo1(連続データ1)を出力する(図7−m2)。バッファ93は、バッファ92より出力された出力データDo1(連続データ1)を格納し、出力データDo1(#6)を出力データDo2として出力する(図7−m3)。また、出力信号制御部5より出力される信号取得許可信号Sa1は、出力データDo1と同様に、各バッファに格納される。
次に、バッファ91には、さらに空隙が入力される(図7−i)。バッファ91にはすでに空隙が格納されているので、バッファ91〜93は、各々が格納する出力データDo1(空隙,連続データ2,連続データ1)の出力を行わない。よって、その間の出力データDo2は空隙となる(図7−m3)。また、データ結合回路11は、各バッファから出力データDo1が出力されていないので、各バッファより出力される信号取得許可信号Sa1を停止させる(信号レベルをLowにする)。よって、バッファ93は、信号取得許可信号Sa2を出力しない(図7−o)。
次に、バッファ91には、空隙でない新たな出力データDo1(特殊パターン)が入力され(図7−i)、バッファ91は、出力データDo1(特殊パターン)を格納する。バッファ91は、空隙を格納していた(つまり、なにも格納していなかった)ので、後段のバッファ92に出力を行わない(図7−m1)。バッファ92,93は、前段のバッファ91,92より出力データDo1の出力がないので、すでに格納している出力データDo1(連続データ2,連続データ1)を出力しない(図7−m2,m3)。よって、その間の出力データDo2は空隙となる(図7−m3)。また、データ結合回路11は、各バッファから出力データDo1が出力されていないので、各バッファより出力される信号取得許可信号Sa1を停止する(信号レベルをLowにする)。よって、バッファ93は、信号取得許可信号Sa2を出力しない(図7−o)。
次に、バッファ91には、空隙でない出力データDo1(#11)が入力され(図7−i)、各バッファ91〜93は、上述のような順送り処理を行う(図7−m1,m2,m3)。また、データ結合回路11は、各バッファから出力データDo1が出力されるので、各バッファより信号取得許可信号Sa1を出力させる(信号レベルをHighにする)。よって、バッファ93は、信号取得許可信号Sa2を出力する(図7−o)。
《データ整合処理2》
次に、出力信号制御部5より出力される出力データDo1において、特殊パターンより以降に空隙を含む場合の処理(データ整合処理2)について図8を参照しつつ説明する。空隙がバッファ91に入力されると、バッファ91〜93は、空隙でない新たな出力データDo1が入力されるまで上述のような順送り処理を行わない。しかし、特殊パターン検出回路10において特殊パターンが検出されると、バッファ91〜93は、上述のような順送り処理を行う。
まず、第1の実施形態と同様にクロック乗せ替え処理が行われ、バッファ91は、出力データDo1(連続データ2)を格納し、後段のバッファ92に出力データDo1(連続データ1)を出力する(図8−m1)。バッファ92は、出力データDo1(連続データ1)を格納し、後段のバッファ93に出力データDo1(#5)を出力する(図8−m2)。バッファ93は、出力データDo1(#5)を格納し、出力データDo1(#4)を出力データDo2として出力する(図8−m3)。
次に、バッファ91は、出力データDo1(特殊パターン)を格納し、後段のバッファ92に出力データDo1(連続データ2)を出力する(図8−m1)。また、バッファ92は、出力データDo1(連続データ2)を格納し、後段のバッファ93へ出力データDo1(連続データ1)を出力する(図8−m2)。バッファ93は、出力データDo1(連続データ1)を格納し、出力データDo1(#5)を出力データDo2として出力する(図8−m3)。さらに、特殊パターン検出回路10は、特殊パターンを検出し、特殊パターン検出信号Sspを出力する(図8−l)。
次に、データ結合回路は、特殊パターン検出回路10より特殊パターン検出信号Sspが入力されると、各バッファ91〜93を順送り処理モードにする。
次に、バッファ91には空隙が入力されるが各バッファ91〜93は順送りモードなので、バッファ91は、出力データDo1(空隙)を格納し、後段のバッファ92に出力データDo1(特殊パターン)を出力する(図8−m1)。バッファ92は、出力データDo1(特殊データ)を格納し、後段のバッファ93に出力データDo1(連続データ2)を出力する(図8−m2)。バッファ93は、出力データDo1(連続データ2)を格納し、出力データDo1(連続データ1)を出力データDo2として出力する(図8−m3)。
次に、バッファ91には空隙が入力されるが各バッファ91〜93は順送りモードなので同様に、バッファ91は、出力データDo1(空隙)を格納し、後段のバッファ92に出力データDo1(空隙)を出力する(図8−m1)。バッファ92は、出力データDo1(空隙)を格納し、後段のバッファ93に出力データDo1(特殊パターン)を出力する(図8−m2)。バッファ93は、出力データDo1(特殊パターン)を格納し、出力データDo1(連続データ2)を出力データDo2として出力する(図8−m3)。
次に、バッファ91には空隙でない新たな出力データDo1が入力され、バッファ91は、出力データDo1(#9)を格納し、後段のバッファ92に出力データDo1(空隙)を出力する(図8−m1)。バッファ92は、出力データDo1(空隙)を格納し、後段のバッファ93に出力データDo1(空隙)を出力する(図8−m2)。バッファ93は、出力データDo1(空隙)を格納し、出力データDo1(特殊パターン)を出力データDo2として出力する(図8−m3)。
次に、バッファ91には空隙でない新たな出力データDo1が入力され、バッファ91は、出力データDo1(#10)を格納し、後段のバッファ92に出力データDo1(#9)を出力する(図8−m1)。バッファ92は、出力データDo1(#9)を格納し、後段のバッファ93に出力データDo1(空隙)を出力する(図8−m2)。バッファ93は、出力データDo1(空隙)を格納し、出力データDo1(空隙)を出力データDo2として出力する(図8−m3)。
次に、バッファ91には空隙でない新たな出力データDo1が入力され、バッファ91は、出力データDo1(#11)を格納し、後段のバッファ92に出力データDo1(#10)を出力する(図8−m1)。バッファ92は、出力データDo1(#10)を格納し、後段のバッファ93に出力データDo1(#9)を出力する(図8−m2)。バッファ93は、出力データDo1(#9)を格納し、出力データDo1(空隙)を出力データDo2として出力する(図8−m3)。
次に、バッファ91には空隙でない新たな出力データDo1が入力され、バッファ91は、出力データDo1(#12)を格納し、後段のバッファ92に出力データDo1(#11)を出力する(図8−m1)。バッファ92は、出力データDo1(#11)を格納し、後段のバッファ93に出力データDo1(#10)を出力する(図8−m2)。バッファ93は、出力データDo1(#10)を格納し、出力データDo1(#9)を出力データDo2として出力する(図8−m3)。
また、信号取得許可信号Sa1も同様に、バッファ91〜93に格納され、順送りに出力される。(図8−o)
〈効果〉
以上のように、連続して出力する必要がある出力データDo1が不連続で出力されている場合に出力データDo1を整合することにより、後段に接続される装置等に対して連続データを送信することができる。これにより、後段の装置等が信号取得許可信号を認識せずに動作する場合でも、そのような装置は特殊パターン(EOF等)を認識することができる。
なお、本実施形態では、特殊パターン以前の3つのデータが連続して送られるように出力データDo1を整合するためにバッファを3つ使用している。例えば、特殊パターン以前の20のデータが連続して送られるようにデータを整合するためには、20段のバッファを使用すればよい。
(第5の実施形態)
書き込みクロックCKwと読み出しクロックCKrとは、大きなジッタ(30kHzの周期で5000ppm程度ずれている)を含んでいても、基本的には同じ周波数である。よって、通常のデータ通信時において信号取得許可信号Sa1が数クロックにわたって出力されないということは考えにくい。このような状況が起こった場合、通信に何らかのエラーが発生し入力データDi1もしくは入力クロック(書き込みクロックCKw)が壊れている可能性が非常に高い。
〈クロック乗せ替え装置の全体構成〉
この発明の第5の実施形態によるクロック乗せ替え装置の全体構成を図9に示す。この装置は、第1の実施形態によるもの(図1)に加えて、信号取得許可信号ディスエーブルカウンタ12を備える。信号取得許可信号ディスエーブルカウンタ12は、信号取得許可信号Sa1が出力されていない期間をカウントする。
〈クロック乗せ替え装置の動作〉
図9に示したクロック乗せ替え装置による動作は、第1の実施形態によるものに加えて、上述のようなエラーを検出する異常状態検出処理を行う。
《異常状態検出処理》
以下に、異常状態検出処理について図10を参照しつつ説明する。
まず、第1の実施形態と同様に、クロック乗せ替え処理が行われ、出力信号制御部5(図1参照)より出力データDo1および信号取得許可信号Sa1が出力される。
次に、信号取得許可信号ディスエーブルカウンタ12は、信号取得許可信号Sa1(図10−j)を入力する。ここで、信号取得許可信号ディスエーブルカウンタ12は、信号取得許可信号Sa1が入力されていない期間中において、読み出しクロックCKr(図10−f)に同期してカウントする(図10−p)。
次に、信号取得許可信号ディスエーブルカウンタ12は、カウント値Cdが「3」に達したときに、異常状態検出信号Sabを出力する(図10−g)。
〈効果〉
以上のように、信号取得許可信号Sa1が数クロックにわたって出力されない場合には、異常状態検出信号Sabを出力することにより、通信に異常が起こっていることを後段のブロックに信号が行く前に検出することが可能になる。例えば、CDへのデータの書き込みを行っていた際には、一度バッファにFIFO等のメモリにデータを保持し書き込みを行うわけだが、書き込みを行う前にこのエラーを検出できれば、早い段階で書き込みを中止しHOST側にエラーステータスのデータの返送しやすくなる。
なお、本実施形態では、信号取得許可信号Sa1ディスエーブルカウンタはカウント値Cdが「3」に達したときに異常状態検出信号Sabを出力するが、基準となる値が「3」であることには限らない。
(第5の実施形態)
書き込みクロックCKwと読み出しクロックCKrとが全く等しい場合、信号取得許可信号Sa1は出力されない。また、信号取得許可信号Sa1が出力されない期間(信号取得許可信号の出力状態がLowである期間)は、書き込みクロックCKwと読み出しクロックCKrとのずれに比例する。つまり、信号取得許可信号Sa1の出力状態がLowである期間が大きい程、読み出しクロックCKrは書き込みクロックCKwよりも遅い。
《クロック乗せ替え回路の全体構成》
この発明の第5の実施形態によるクロック乗せ替え装置の全体構成を図11に示す。この装置は、第1の実施形態によるもの(図1)に加えて、計測回路13と、周波数差検出回路14と、PLL15を備える。計数回路13は、信号取得許可信号Sa1がHighレベル(出力中)からLowレベル(出力停止)に変化したときに計数を開始し、LowレベルからHighレベルに変化するまでの期間を計数する。周波数差検出回路14は、計数回路で計数された期間とあらかじめ設定された所定の期間とを比較し、比較の結果に応じて比較結果信号を出力する。
《PLL15の内部構成》
PLL15は、クロック発生器151と、位相周波数検出器152と、チャージポンプ153と、ローパスフィルタ154と、混合器155と、電圧制御発振器156と、クロック分周器157とを含む。クロック発生器151は、所定のクロックを発生する。位相周波数検出器152は、クロック発生器151からのクロックとクロック分周器157からのクロックとを比較し、その結果としてクロック修正信号を出力する。ローパスフィルタ154は、位相周波数検出器152より出力されるクロック修正信号を整える。混合器155は、ローパスフィルタ154を介して出力されたクロック修正信号と周波数差検出回路14より出力された比較結果信号とを混合する。電圧制御発振器157は、混合器155より出力された信号に基づき、読み出しクロックCKrを発生する。
〈クロック乗せ替え装置の動作〉
図11に示したクロック乗せ替え装置による動作は、第1の実施形態によるものに加えて、読み出しクロックCKrの調整をするクロック調整処理を行う。
《クロック調整処理》
以下に、クロック調整処理について説明する。
まず、第1の実施形態と同様に、クロック乗せ替え処理が行われ、出力信号制御部5(図1参照)より出力データDo1および信号取得許可信号Sa1が出力される。このクロック乗せ替え処理において使用される読み出しクロックCKrは、PLL15に含まれる電圧制御発振回路156により生成される。
次に、計数回路13は、出力信号制御部5より出力された信号取得許可信号Sa1を入力する。次に、計数回路13は、入力した信号取得許可信号Sa1が出力されていない期間を計数する。つまり、計数回路13は、信号取得許可信号Sa1の出力が停止したとき(HighレベルからLowレベルに変化したとき)から信号取得許可信号Sa1が出力されるとき(LowレベルからHighレベルに変化するとき)までの期間を計数する。
次に、周波数差検出回路14は、計数回路13で計数された期間(計数期間)とあらかじめ設定された所定の期間(所定期間)とを比較する。つまり、計数期間が所定期間よりも大きいか否かを判断する。周波数差検出回路14は、比較の結果を比較結果信号として混合器155に出力する。ここで、計数時間が所定時間よりも大きい場合には、比較結果信号の極性は正になる。計数時間が所定時間よりも小さい場合には、比較結果信号の極性は負になる。また、計数時間と所定時間との差が大きいほど、比較結果信号の値は大きくなる。
次に、PLL15に含まれる混合器155は、ローパスフィルタ154を介して電圧制御発振器157に入力されるクロック修正信号と周波数差検出回路14より出力された比較結果信号とを合成する。ここで、周波数差検出回路14により計数時間が所定時間よりも大きいと判断された場合、混合器155より出力される信号は、クロック修正信号よりも小さくなる。周波数差検出回路14により計数時間が所定時間よりも大きいと判断された場合、混合器155より出力される信号は、クロック修正信号よりも大きくなる。
次に、電圧制御発振器157は、混合器155より出力された信号に基づき、読み出しクロックCKrを発生する。ここで、周波数差検出回路14により計数時間が所定時間よりも大きいと判断された場合、読み出しクロックCKrは遅くなる。周波数差検出回路14により計数時間が所定時間よりも大きいと判断された場合、読み出しクロックCKrは早くなる。
〈効果〉
以上のように、書き込みクロックCKwと読み出しクロックCKrとの間にSSCによるクロックのゆれ等によって周波数差が生じた場合に書き込みクロックCKwにあわせて読み出しクロックCKrの周波数を変化させることにより、空隙が少ない連続したデータ出力を可能とする。これにより、クロック乗せ替え処理に使用するバッファを削減することが可能である。
なお、本実施形態では、計数回路13は、信号取得許可信号Sa1が出力されていない期間を計数したが、逆に、信号取得許可信号Sa1が出力されている期間を計数しても構わない。計数回路13において信号取得許可信号Sa1の出力状態が同じ期間を計数し、周波数差検出回路14においてその計数期間と所定の期間とを比較し、その比較結果をPLL15等にフィードバックさせることにより、読み出しクロックCKrを調整することが可能である。
本発明のクロック乗せ替え回路は、SerialATAと接続されるインターフェイスの入り口等に用いるのに適している。
この発明の第1の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。 図1に示したクロック乗せ替え回路によるクロック乗せ替え処理を示したタイミングチャートである。 この発明の第2の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。 この発明の第3の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。 図4に示したクロック乗せ替え回路によるオーバーフローエラー検出処理を示すタイミングチャートである。 この発明の第4の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。 図6に示したクロック乗せ替え回路によるデータ整合処理1を示すタイミングチャートである。 図6に示したクロック乗せ替え回路によるデータ整合処理2を示すタイミングチャートである。 この発明の第5の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。 図9に示したクロック乗せ替え回路による異常状態検出処理を示すタイミングチャートである。 この発明の第6の実施形態によるクロック乗せ替え回路の全体構成を示すブロック図である。
符号の説明
1 クロック乗せ替え回路
2 書き込みカウンタ2
31,32,33,34,91,92,93 バッファ
4 読み出しカウンタ
5 出力信号制御部
6 段数変更信号発生部
7 オーバーフローエラー検出回路
8 空隙パターン検出回路
10 特殊パターン検出回路
11 データ結合回路
12 信号取得許可信号ディスエーブルカウンタ
13 計数回路
14 周波数差検出回路
15 PLL
151 クロック発生器
152 位相周波数検出器
153 チャージポンプ
154 ローパスフィルタ
155 混合器
156 電圧制御発振器
157 クロック分周器
Di1 入力データ
Do1,Do2 出力データ
Sa1,Sa2 信号取得許可信号
CKw 書き込みクロック
Cw 書き込みカウンタによるインクリメント値
CKr 読み出しクロック
Cr 読み出しカウンタによるインクリメント値
Sw1〜Sw4 書き込み終了信号
Sr1〜Sr4 読み出し終了信号
Sov オーバーフローエラー検出信号
Ssp 特殊パターン検出信号
Sab 異常状態検出信号

Claims (12)

  1. 入力データに対応した第1のクロックに従って、前記入力データを格納する書き込み回路と、
    第2のクロックに従って、前記書き込み回路に格納されたデータのうち出力すべきデータを出力しかつそのデータが有効であることを示す信号取得許可信号を出力する読み出し回路とを備え、
    前記読み出し回路は、さらに
    前記出力すべきデータが出力されていないときには、前記信号取得許可信号を出力しない
    ことを特徴とするクロック乗せ替え回路。
  2. 請求項1において、
    前記書き込み回路は、
    第1のバッファ選択回路と、少なくとも1つのバッファとを含み、
    前記第1のバッファ選択回路は、
    前記第1のクロックに従い、前記バッファを選択し、
    前記第1のバッファ選択回路によって選択されたバッファは、
    前記入力データを格納し、
    前記読み出し回路は、
    前記第2のクロックに従い、前記バッファを選択し、選択したバッファに格納されたデータを出力しかつ前記信号取得許可信号を出力し、
    選択したバッファに出力すべきデータが格納されていないときには、前記信号取得許可信号を出力しない
    ことを特徴とするクロック乗せ替え回路。
  3. 請求項2において、
    前記第1のバッファ選択回路は、さらに
    前記バッファに入力データが格納されたときに、書き込み終了信号を前記読み出し回路に出力し、
    前記読み出し回路は、
    前記書き込み終了信号が入力されている間に、前記第2のクロックに従って、前記バッファを選択して、選択したバッファに格納された出力データを出力しかつ前記信号取得許可信号を出力し、
    前記書き込み終了信号が出力されていないときには、前記バッファを選択せず、前記信号取得許可信号を出力しない
    ことを特徴とするクロック乗せ替え回路。
  4. 請求項2において、
    前記バッファの段数を変更する段数変更回路をさらに備える
    ことを特徴とするクロック乗せ替え回路。
  5. 請求項1において、
    前記入力データは、有効なデータが存在しない区間(空隙)を示す情報(空隙情報)を含み、
    前記クロック乗せ替え回路は、
    前記入力データより空隙情報を検出する空隙パターン検出回路をさらに備える
    ことを特徴とするクロック乗せ替え回路。
  6. 請求項1において、
    前記第1のバッファ選択回路が前記入力データを格納することができるか否かを判断するオーバーフローエラー検出回路をさらに備える
    ことを特徴とするクロック乗せ替え回路。
  7. 請求項1において、
    前記入力データは、特殊パターンを含み、
    前記特殊パターンは、当該特殊パターンよりも以前に存在するデータのうち当該特殊パターンを始点として所定の位置に存在するデータを示し、
    前記クロック乗せ替え回路は、さらに
    少なくとも1つのバッファと、特殊パターン検出回路と、データ結合回路とを備え、
    前記バッファは、
    前記読み出し回路からのデータを格納し、
    有効なデータを格納している場合のみ、前記読み出し回路からデータが入力されると格納していたデータを出力し、
    前記特殊パターン検出回路は、
    前記読み取り回路より出力されるデータより特殊パターンを検出し、
    前記データ結合回路は、
    前記特殊パターン検出回路で特殊パターンが検出されたときから前記バッファより当該特殊パターンが出力されるまでの間、前記バッファに前記読み出し回路からのデータを格納させかつ前記バッファが格納していたデータを出力させる
    ことを特徴とするクロック乗せ替え回路。
  8. 請求項1において、
    前記読み出し回路から信号取得許可信号が出力されない期間が所定の値よりも長いか否かを判断する信号取得許可信号カウンタをさらに備える
    ことを特徴とするクロック乗せ替え回路。
  9. 請求項1において、
    前記信号取得許可信号の出力状態が同じである期間と所定の期間とを比較するクロック差検出回路をさらに備える
    ことを特徴とするクロック乗せ替え回路。
  10. 請求項9おいて、
    クロック生成信号に基づき前記第2のクロックを生成するクロック生成回路をさらに備え、
    前記クロック差検出回路は、
    前記信号取得許可信号の出力状態が同じである期間を計数する計数回路と、
    前記計数回路で計数された期間と所定の期間とを比較し、比較の結果に応じて前記クロック生成信号を調整する周波数差検出回路とを含む
    ことを特徴とするクロック乗せ替え回路。
  11. 入力データに対応した第1のクロックに従って、前記入力データを少なくとも1つのバッファに格納する書き込みステップと、
    第2のクロックに従って、前記書き込みステップで前記バッファに格納されたデータのうち出力すべきデータを出力しかつそのデータが有効であることを示す信号取得許可信号を出力する読み出しステップとを備え、
    前記読み出しステップは、さらに
    前記出力すべきデータが出力されていないときには、前記信号取得許可信号を出力しない
    ことを特徴とするクロック乗せ替え方法。
  12. 請求項11において、
    クロック生成信号に基づき前記第2のクロックを生成するクロック生成ステップと、
    前記信号取得許可信号の出力状態が同じである期間を計数する計数ステップと、
    前記計数ステップで計数された期間と所定の値とを比較し、比較の結果に応じて前記クロック生成信号を調整する前記周波数差検出ステップとさらに備える
    ことを特徴とするクロック乗せ替え方法。
JP2003330572A 2003-09-22 2003-09-22 クロック乗せ替え回路および方法 Withdrawn JP2005101771A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003330572A JP2005101771A (ja) 2003-09-22 2003-09-22 クロック乗せ替え回路および方法
US10/944,938 US7135897B2 (en) 2003-09-22 2004-09-21 Clock resynchronizer
CNB2004100782912A CN100337449C (zh) 2003-09-22 2004-09-21 时钟再同步器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003330572A JP2005101771A (ja) 2003-09-22 2003-09-22 クロック乗せ替え回路および方法

Publications (2)

Publication Number Publication Date
JP2005101771A true JP2005101771A (ja) 2005-04-14
JP2005101771A5 JP2005101771A5 (ja) 2006-08-24

Family

ID=34308913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003330572A Withdrawn JP2005101771A (ja) 2003-09-22 2003-09-22 クロック乗せ替え回路および方法

Country Status (3)

Country Link
US (1) US7135897B2 (ja)
JP (1) JP2005101771A (ja)
CN (1) CN100337449C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219646A (ja) * 2012-04-11 2013-10-24 I-Cubed Research Center Inc データ転送装置、データ転送方法、およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248848B2 (en) * 2004-06-30 2007-07-24 Matthews Phillip M Communication apparatus including dual timer units
US20080075057A1 (en) * 2006-09-25 2008-03-27 Mediatek Inc. Frequency correction burst detection
US9997220B2 (en) * 2016-08-22 2018-06-12 Micron Technology, Inc. Apparatuses and methods for adjusting delay of command signal path

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0656997B2 (ja) 1986-11-29 1994-07-27 富士電機株式会社 エラステイツクバツフア回路
US5340644A (en) 1990-10-05 1994-08-23 Hercules Incorporated Organosilicon compositions
US5497405A (en) 1993-07-01 1996-03-05 Dsc Communications Corporation Open loop desynchronizer
US5631920A (en) 1993-11-29 1997-05-20 Lexmark International, Inc. Spread spectrum clock generator
DE19820572A1 (de) * 1998-05-08 1999-11-11 Alcatel Sa Desynchronisiereinrichtung für ein synchrones digitales Nachrichtenübertragungssystem
KR19990086737A (ko) * 1998-05-29 1999-12-15 이계철 비동기식 선입선출 시스템의 제어 장치
JP3447586B2 (ja) * 1998-10-22 2003-09-16 Necエレクトロニクス株式会社 クロック同期化方法及びその装置
US6865241B1 (en) * 1999-12-15 2005-03-08 Lexmark International, Inc. Method and apparatus for sampling digital data at a virtually constant rate, and transferring that data into a non-constant sampling rate device
JP3815948B2 (ja) * 2000-04-20 2006-08-30 シャープ株式会社 Fifoメモリ制御回路
CN1153217C (zh) * 2001-06-07 2004-06-09 扬智科技股份有限公司 非同步fifo控制器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219646A (ja) * 2012-04-11 2013-10-24 I-Cubed Research Center Inc データ転送装置、データ転送方法、およびプログラム

Also Published As

Publication number Publication date
CN1601994A (zh) 2005-03-30
US7135897B2 (en) 2006-11-14
CN100337449C (zh) 2007-09-12
US20050062525A1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
US6724328B1 (en) Byte alignment for serial data receiver
US6748039B1 (en) System and method for synchronizing a skip pattern and initializing a clock forwarding interface in a multiple-clock system
US7046174B1 (en) Byte alignment for serial data receiver
US10969821B2 (en) Latency synchronization across clock domains
US6738917B2 (en) Low latency synchronization of asynchronous data
US6424688B1 (en) Method to transfer data in a system with multiple clock domains using clock skipping techniques
KR20070093322A (ko) 지연동기회로 및 반도체 집적회로장치
WO2004059471A2 (en) Clock skew compensation apparatus and method
US8195849B2 (en) Device and method for transferring data between devices
US20090150706A1 (en) Wrapper circuit for globally asynchronous locally synchronous system and method for operating the same
US6917660B2 (en) Adaptive de-skew clock generation
JP3076205B2 (ja) 先入れ先出しバッファ装置
JP2005101771A (ja) クロック乗せ替え回路および方法
EP1612690A2 (en) Apparatus and method for receiving parallel data
US8711018B2 (en) Providing a feedback loop in a low latency serial interconnect architecture
US6571346B1 (en) Elastic interface for master-slave communication
US20230087576A1 (en) Domain-selective control component
US20080201499A1 (en) Asynchronous Data Buffer
CN111756517B (zh) 串行发送的数字数据的同步方法
US11134189B2 (en) Image device and operating method thereof
JP2006196973A (ja) 可変分周器
JP5258039B2 (ja) インタフェース回路およびクロック/データ供給方法
EP1665030B1 (en) Circuit for addressing a memory
US6470459B1 (en) Half-word synchronization method for internal clock
JP2000353939A (ja) クロック信号同期式フリップフロップ回路

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081024