(57)【要約】【課題】従来の半導体装置は、送信クロックの周波数が安定するまでに多くの時間を要する問題があった。【解決手段】本発明の半導体装置は、送信クロックＣＬＫから生成される受信クロックＲＣＬＫと入力信号ＲＤと間の位相の進み又は遅れを示す位相差信号を生成し、受信クロックＲＣＬＫの位相を入力信号ＲＤの位相に追従させる制御を行う位相追従ループと、受信クロックＲＣＬＫの周波数を入力信号ＲＤの周波数に追従させる制御を行う周波数追従ループと、を有し、入力信号ＲＤからデータ信号Ｓｏｕｔ及びデータ信号に対応する同期クロックＳＣＬＫの抽出を行うクロックアンドデータリカバリ回路１３と、位相差信号に基づき生成される周波数差信号ＦＰに応じて周波数調整信号Ｆａｄｊにより示される値を増減させる周波数誤差調整器１４と、周波数調整信号Ｆａｄｊに基づき送信クロックＣＬＫの周波数を増減させる発振器１２と、を有する。【選択図】図２
2012049863.tif 000002
【特許請求の範囲】
【請求項１】
送信クロックから生成される受信クロックと入力信号と間の位相の進み又は遅れを示す位相差信号を生成し、前記受信クロックの位相を前記入力信号の位相に追従させる制御を行う位相追従ループと、前記受信クロックの周波数を前記入力信号の周波数に追従させる制御を行う周波数追従ループと、を有し、前記入力信号からデータ信号及び前記データ信号に対応する同期クロックの抽出と、前記受信クロックの位相及び周波数の制御と、を行うクロックアンドデータリカバリ回路と、
前記周波数追従ループにおいて前記位相差信号に基づき生成される周波数差信号に応じて周波数調整信号により示される値を増減させる周波数誤差調整器と、
前記周波数調整信号により示される値に基づき前記送信クロックの周波数を増減させる発振器と、
を有する半導体装置。
【請求項２】
前記位相差信号は、位相の進みと遅れとをそれぞれ１ビットで示す請求項１に記載の半導体装置。
【請求項３】
前記クロックアンドデータリカバリ回路は、
前記受信クロックと前記入力信号との位相差を検出して前記位相差信号により示される極性値を更新する位相検出器と、
前記位相差信号に基づき第１のカウント値を増減させ、前記第１のカウント値が所定の値に達したことに応じて第１のアップ信号又は第１のダウン信号を出力する第１の積分器と、
前記第１のアップ信号及び前記第１のダウン信号に基づき第２のカウント値を増減させ、前記第２のカウント値を前記周波数差信号として出力する第２の積分器と、
前記周波数差信号に基づき所定の間隔で第２のアップ信号及び第２のダウン信号を生成するパターン発生器と、
前記第１のアップ信号及び前記第１のダウン信号と、前記第２のアップ信号及び前記第２のダウン信号と、に基づき位相選択信号を生成する混合器と、
前記位相選択信号に応じて前記送信クロックの位相を補間することにより位相を選択して前記同期クロックとして出力する位相補間器と、を有し、
前記位相追従ループは、前記位相検出器、前記第１の積分器、前記混合器、及び、前記位相補間器を有し、
前記周波数追従ループは、前記位相検出器、前記第１の積分器、前記第２の積分器、前記パターン発生器、前記混合器、及び、前記位相補間器を有する請求項１又は２に記載の半導体装置。
【請求項４】
前記第１の積分器は、外部から与えられる最大値制御信号により前記所定の値が設定され、前記最大値制御信号は前記送信クロックの周波数が所定の安定条件を満たすまでの帰還前記所定の値を、安定条件を満たした後よりも小さく設定する請求項３に記載の半導体装置。
【請求項５】
前記周波数誤差調整器は、前記周波数差信号により示される値と、前時刻の前記周波数調整信号により示される値との加算を行い、現時刻の前記周波数調整信号を生成する加算器と、
前記加算器が出力する前記周波数調整信号を遅延させて前記加算器に与える遅延回路と、
を有する請求項１乃至４のいずれか１項に記載の半導体装置。
【請求項６】
前記周波数誤差調整器は、前記送信クロックの周波数が安定した状態において前記周波数調整信号が示す値を記憶する保持回路を有し、
前記遅延回路は、初期状態において前記保持回路に格納された値を出力する請求項５に記載の半導体装置。
【請求項７】
前記半導体装置は、前記送信クロックに基づき送信データを送信する送信回路を有する請求項１乃至６のいずれか１項に記載の半導体装置。
【請求項８】
前記発振器は、基準クロックの周波数を基準として前記送信クロックを生成し、かつ、前記送信クロックを帰還する帰還ループを有し、前記帰還ループに前記周波数調整信号が入力される分周器を有する請求項１乃至７のいずれか１項に記載の半導体装置。
【請求項９】
前記基準クロックは、セラミック発振子、あるいは、発振周波数が制御可能な可変発振器から出力される請求項８に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に外部から与えられる入力信号からデータを抽出するクロックアンドデータリカバリ回路と、前記クロックアンドデータリカバリ回路に与えるクロック信号を生成する発振回路と、を有する半導体装置に関する。
【背景技術】
【０００２】
近年、半導体装置間の通信速度が向上している。また、通信方式としてパラレルデータ転送方式とシリアルデータ転送方式とがある。そして、近年では、シリアルデータ転送方式の方がよりデータ転送速度を高められるとして、シリアルデータ転送方式が広く用いられている。
【０００３】
シリアルデータ転送方式では、データ信号を送信クロックで変調してシリアルデータとして転送する。そして、受信回路がシリアルデータからサンプリングクロックとデータ信号を抽出する。サンプリングクロックとデータ信号の抽出には、クロックアンドデータリカバリ回路が用いられる。
【０００４】
また、シリアルデータ転送方式では、送信クロックとして高精度なクロックを生成する必要がある。この高精度なクロックは一般的に水晶発振子を用いて生成される。しかし、水晶発振子は、高価であり、システムコストを増大させる一因となっていた。そこで、水晶発振子よりも低精度な発振子によって高精度な送信クロックを生成する技術が特許文献１に開示されている。また特許文献２では、送信クロックを生成することが目的ではないが、受信した信号から得た情報に基づき受信機側で生成されるクロック信号の周波数を制御する技術が開示されている。以下では特許文献１について説明する。
【０００５】
まず、特許文献１に記載の通信システム１００のブロック図を図７に示す。図７に示すように、通信システム１００は、デバイス１０１及びホスト１０２を有する。デバイス１０１及びホスト１０２は、それぞれ送受信回路を有する。図７では、デバイス１０１側の送受信回路のみを示した。デバイス１０１は、ホスト１０２から信号ＲＸを受信する。また、デバイス１０１は、ホスト１０２に対して信号ＴＸを送信する。ホスト１０２は、水晶発振子等により形成される基準信号生成源１２０により基準クロックを生成し、当該基準クロックに基づき動作する。一方、デバイス１０１では、セラミック発振子により形成される基準信号生成源１０３により基準クロックを生成し、当該基準クロックに基づき動作する。
【０００６】
ここで、デバイス１０１は、同期確立部１１１、周波数誤差検出器１１２、周波数発生器１１３、シリアライザ１１４を有する。同期確立部１１１は、デバイス１０１が受信した信号ＲＸを入力して、信号ＲＸからクロックとデータを抽出する。そして、同期確立部１１１は、クロックを受信信号ＲＳ、データを同期確立信号ＳＣＳとして出力する。さらに、同期確立部１１１は、データをクロックに応じてパラレル信号に変換して、パラレル信号を受信データＤＴとして出力する。周波数誤差検出器１１２は、受信信号ＲＳ、同期確立信号ＳＣＳ、基準クロックＦｒｅｆと送信信号ＴＳを入力して、受信信号ＲＳと送信信号ＴＳの周波数差を検出して周波数調整信号ＦＣＳを出力する。周波数発生器１１３は、周波数調整信号ＦＣＳと基準クロックＦｒｅｆによって周波数が決定される送信信号ＴＳを出力する。シリアライザ１１４は、送信信号ＴＳと送信データＤＲを入力して信号ＴＸを出力する。
【０００７】
ここで、デバイス１０１が信号ＲＸから抽出した受信信号ＲＳは、ホスト１０２側で生成された高精度なクロックと同じ周波数である。デバイス１０１では、この受信信号ＲＳに基づき送信信号ＴＳを生成する。つまり、デバイス１０１では、精度の低い発振子から高精度なクロックを生成することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１３５１８９号公報
【特許文献２】特表２００８−５３５３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
デバイス１０１では、受信信号ＲＳと送信信号ＴＳとの間の位相差をアナログ処理により算出している。そのため、特許文献１では、送信信号ＴＳの周波数誤差を検出するために多くの時間が必要になる問題がある。例えば、送信信号ＴＳが１．５ＧＨｚであった場合に３３３ｐｐｍの誤差を検出するためには、受信信号ＲＳを少なくとも３０００カウントする必要がある。
【００１０】
このように、デバイス１０１では、高精度なクロック信号を生成することができない問題がある。高速シリアル通信においては、高精度なクロック信号が必要である。そして、現状よりも通信速度を高速化する場合、クロック信号の周波数及び精度をさらに高める必要があり、この問題はさらに顕著になる。
【課題を解決するための手段】
【００１１】
本発明にかかる半導体装置の一態様は、同期クロックと入力信号と間の位相の進み又は遅れを示す位相差信号を生成し、前記同期クロックの位相を前記入力信号の位相に追従させる制御を行う位相追従ループと、前記同期クロックの周波数を前記入力信号の周波数に追従させる制御を行う周波数追従ループと、を有し、前記入力信号からデータ信号及び前記データ信号に対応するサンプリングクロックの抽出を行うクロックアンドデータリカバリ回路と、前記周波数追従ループにおいて前記位相差信号に基づき生成される周波数差信号に基づき周波数調整信号により示される値を増減させる周波数誤差調整器と、前記周波数調整信号により示される値に基づき送信クロックの周波数を増減させる発振器と、を有する。
【００１２】
本発明にかかる半導体装置によれば、クロックアンドデータリカバリ回路において、同期クロックと入力信号との位相を比較し、当該位相比較結果に基づいて送信クロックの周波数を制御する。そのため、本発明にかかる半導体装置では、送信クロックの周波数補正を高速に行うことができる。
【発明の効果】
【００１３】
本発明にかかる半導体装置によれば、低精度の発振子により生成されたクロック信号から高周波数かつ高精度なクロック信号を生成することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる半導体装置のブロック図である。
【図２】実施の形態１にかかる半導体装置のデジタルＣＤＲ、周波数誤差調整器及びクロック生成回路のブロック図である。
【図３】実施の形態１にかかる半導体装置の位相検出器のブロック図である。
【図４】実施の形態１にかかる半導体装置の第２の積分器及びパターン発生器のブロック図である。
【図５】実施の形態２にかかる半導体装置のデジタルＣＤＲ、周波数誤差調整器及びクロック生成回路のブロック図である。
【図６】実施の形態３にかかる半導体装置のデジタルＣＤＲ、周波数誤差調整器及びクロック生成回路のブロック図である。
【図７】特許文献１に記載の通信システムのブロック図である。
【発明を実施するための形態】
【００１５】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１に実施の形態１にかかる半導体装置１のブロック図を示す。図１に示すように、半導体装置１は、受信回路１０、基準信号生成器１１、ＰＬＬ（Phase Locked Loop）回路１２、クロックアンドデータリカバリ回路（例えば、デジタルＣＤＲ）１３、周波数誤差調整器１４、デシリアライザ１５、シリアライザ１６、送信回路１７を有する。半導体装置１は、送受信回路と図示しない処理回路を備える。図１に示す例では、受信回路１０、デジタルＣＤＲ１３及びデシリアライザ１５により受信系の回路が構成され、シリアライザ１６及び送信回路１７により送信系の回路が構成される。
【００１６】
基準信号生成器１１は、外部に設けられるセラミック発振子と共に発振回路を構成し、セラミック発振子により生成される発振信号ＯＳＣに基づき基準クロックＦｓｒｃを生成する。このセラミック発振子は、水晶発振子に比べ発振周波数のばらつきが大きいが、低コストであるという特徴がある。
【００１７】
ＰＬＬ回路１２は、基準クロックＦｓｒｃに基づき送信クロックＣＬＫを生成する。本実施の形態では、ＰＬＬ回路１２は、周波数調整信号Ｆａｄｊに基づき基準クロックＦｓｒｃを逓倍して送信クロックＣＬＫを生成する。
【００１８】
受信回路１０は、入力バッファとして機能する回路である。つまり、受信回路１０は、受信信号ＲＸｉｎを受信して後段回路に入力信号ＲＤとして伝達する。受信回路１０は伝送路の周波数特性を補正するイコライザー回路を含む場合もある。
【００１９】
本実施の形態ではクロックアンドデータリカバリ回路１３としてデジタルＣＤＲを用いる。デジタルＣＤＲ１３は、２値情報を扱う論理回路で構成され、出力信号として２値で情報を示すデジタル信号を出力する。デジタルＣＤＲ１３は、送信クロックＣＬＫから生成される受信クロックＲＣＬＫと入力信号ＲＤと間の位相の進み又は遅れを示す位相差信号を生成する。また、デジタルＣＤＲ１３は、受信クロックＲＣＬＫの位相を入力信号ＲＤの位相に追従させる制御を行う位相追従ループと、受信クロックＲＣＬＫの周波数を入力信号ＲＤの周波数に追従させる制御を行う周波数追従ループと、を有する。そして、デジタルＣＤＲ１３は、入力信号ＲＤからデータ信号Ｓｏｕｔ及びデータ信号Ｓｏｕｔに対応する同期クロックＳＣＬＫの抽出と、受信クロックＲＣＬＫの位相及び周波数の制御と、を行う。
【００２０】
周波数誤差調整器１４は、デジタルＣＤＲ１３内の周波数追従ループにおいて位相差信号に基づき生成される周波数差信号ＦＰに応じて周波数調整信号Ｆａｄｊを生成する。また、周波数誤差調整器１４は、周波数差信号ＦＰに応じて、周波数調整信号Ｆａｄｊにより示される値を増減させる。このデジタルＣＤＲ１３、周波数誤差調整器１４及びＰＬＬ回路１２の詳細については後述する。
【００２１】
デシリアライザ１５は、同期クロックＳＣＬＫに基づきシリアルデータとして入力されるデータ信号Ｓｏｕｔをパラレルデータに変換する。パラレルデータとして出力されるデータ信号を図１ではＰｏｕｔとした。
【００２２】
シリアライザ１６は、パラレルデータとして与えられるデータ信号Ｐｉｎを送信クロックＣＬＫに基づきシリアルデータに変換する。シリアル化されたデータ信号を図１ではＴＤとした。送信回路１７は、出力バッファである。送信回路１７は、データ信号ＴＤを電力増幅して送信信号ＴＸｏｕｔとして出力する。
【００２３】
実施の形態１にかかる半導体装置１は、送信クロックに同期したデータ信号により通信を行う。このとき、送信クロックとして単一周波数の信号を用いた場合、不要輻射のピークが増大し、ＥＭＩ（Electro Magnetic Interference）特性が悪化する。そこで、実施の形態１にかかる半導体装置１では、送信クロックとしてスペクトラム拡散クロック（Spread Spectrum Clock）を用いたデータ信号を受信することができる。このようなことから、半導体装置１内のデジタルＣＤＲ１３には、同期クロックの周波数をスペクトラム拡散に伴う変動に追従させる必要がある。デジタルＣＤＲ１３では、追従動作を行うために周波数追従ループを有する。そして、半導体装置１では、このデジタルＣＤＲ１３において生成される信号に基づきＰＬＬ回路１２を制御し、送信クロックＣＬＫの周波数制御を行う。
【００２４】
以下では、半導体装置１の特徴のうちデジタルＣＤＲ１３、周波数誤差調整器１４及びＰＬＬ回路１２について特に詳細に説明する。図２にデジタルＣＤＲ１３、周波数誤差調整器１４及びＰＬＬ回路１２のブロック図を示す。
【００２５】
デジタルＣＤＲ１３は、位相検出器２１、第１の積分器２２、第２の積分器２３、パターン発生器２４、混合器２５及び位相補間器２６を有する。デジタルＣＤＲ１３では、位相検出器２１、第１の積分器２２、混合器２５及び位相補間器２６により位相追従ループを構成する。デジタルＣＤＲ１３では、位相検出器２１、第１の積分器２２、第２の積分器２３、パターン発生器２４、混合器２５及び位相補間器２６により周波数追従ループを構成する。そして、半導体装置１では、第２の積分器２３の出力を周波数差信号ＦＰとして用いる。
【００２６】
位相検出器２１は、受信クロックＲＣＬＫと入力信号ＲＤとの位相差を検出して位相差信号により示される極性値を更新する。また、位相検出器２１は、受信クロックＲＣＬＫを同期クロックＳＣＬＫとして出力すると共に、入力信号ＲＤからデータ信号Ｓｏｕｔを抽出する。より具体的には、位相検出器２１には、同期クロックＳＣＬＫとして用いられる受信クロックＲＣＬＫが入力される。この受信クロックＲＣＬＫは、第１の受信クロックＲＣＬＫ１と第２の受信クロックＲＣＬＫ３を含む。第２の受信クロックＲＣＬＫ３は、第１の受信クロックＲＣＬＫ１とは位相が１８０°異なる。位相検出器２１は、位相差信号としてアップ信号ＵＰ１とダウン信号ＤＯＷＮ１を出力する。位相検出器２１は、同期クロックＳＣＬＫ（例えば、第１の受信クロックＲＣＬＫ１）の位相が入力信号ＲＤの位相より遅れている場合にアップ信号ＵＰ１を第１の論理レベル（例えば、ハイレベル）とし、ダウン信号ＤＯＷＮ１を第２の論理レベル（例えば、ロウレベル）とする。また、位相検出器２１は、同期クロックＳＣＬＫの位相が入力信号ＲＤの位相より進んでいる場合にＵＰ１信号をロウレベルとし、ＤＯＷＮ１信号をハイレベルとする。
【００２７】
ここで、位相検出器２１のブロック図を図３に示す。図３に示すように、位相検出器２１は、論理回路のみにより構成される。図３は、１．５ＧＨｚの２相クロックで１．５Ｇｂｐｓのデータを受信する場合の構成の一例である。位相検出器２１は、第１のフリップフロップ４１、第２のフリップフロップ４２、第３のフリップフロップ４３、ラッチ４４、第１の排他的論理和回路（ＸＯＲ）４５、第２の排他的論理和回路（ＸＯＲ）４６、第１のデマルチプレクサ（ＤＥＭＵＸ回路）４７、第２のデマルチプレクサ（ＤＥＭＵＸ回路）４８、第１のＯＲ回路４９、第２のＯＲ回路５０、第１のインバータ５１、第２のインバータ５２、第１のＡＮＤ回路５３、第２のＡＮＤ回路５４を有する。
【００２８】
第１のフリップフロップ４１は、入力信号ＲＤをデータ入力端子に入力し、受信クロックＣＬＫ１をクロック端子に受ける。第１のフリップフロップ４１は、エッジトリガーのフリップフロップである。第２のフリップフロップ４２は、入力信号ＲＤをデータ入力端子に入力し、受信クロックＣＬＫ１と逆相の受信クロックＣＬＫ３をクロック端子に受ける。第３のフリップフロップ４３は、第１のフリップフロップ４１の出力ｑ１をデータ入力端子に入力し、受信クロックＣＬＫ１をクロック端子に受ける。ラッチ４４は、第２のフリップフロップ４２の出力ｑ３をデータ入力端子に入力し、受信クロックＣＬＫ１をクロック端子に受ける。ラッチ４４は、スルーラッチである。
【００２９】
第１の排他的論理和回路（ＸＯＲ）４５は、第１のフリップフロップ４１の出力ｑ１と、ラッチ４４の出力ｑ３１を入力とする。第２の排他的論理和回路（ＸＯＲ）４６は、第３のフリップフロップ４３の出力ｑ１１と、ラッチ４４の出力ｑ３１を入力とする。第１、第２のデマルチプレクサ（ＤＥＭＵＸ回路）４７、４８は、それぞれ第１、第２の排他的論理和回路（ＸＯＲ）４５、４６の出力をシリアル入力してパラレル出力する。第１のＯＲ回路４９は、第１のデマルチプレクサ４７の出力の論理和をとる。第２のＯＲ回路５０は、第２のデマルチプレクサ４８の出力の論理和をとる。第１のインバータ５１は、第２のＯＲ回路の出力の反転出力を出力する。第２のインバータ５２は、第１のＯＲ回路の出力の反転出力を出力する。第１のＡＮＤ回路５３は、第１のＯＲ回路４９の出力と、インバータ５２を介して出力される第２のＯＲ回路５０の反転出力と、の論理積をとる。第２のＡＮＤ回路５４は、第２のＯＲ回路５０の出力と、第１のＯＲ回路４９の出力の反転出力と、の論理積をとる。第１のフリップフロップ４１の出力ｑ１はデータ信号Ｓｏｕｔとして出力される。また、受信クロックＲＣＬＫは、同期クロックＳＣＬＫとして出力される。
【００３０】
位相検出器２１は、上記の構成により、入力信号ＲＤの変化タイミングが受信クロックＲＣＬＫ１の立ち上がりと受信クロックＲＣＬＫ３の立ち上がりの間にあれば、アップ信号ＵＰ１をハイレベルとし、ダウン信号ＤＯＷＮ１をロウレベルとする。一方、位相検出器２１は、入力信号ＲＤの変化タイミングが受信クロックＲＣＬＫ３の立ち上がりと受信クロックＲＣＬＫ１の立ち上がりの間にあれば、アップ信号ＵＰ１をロウレベルとし、ダウン信号ＤＯＷＮ１をハイレベルとする。また、デマルチプレクサが２パラレル出力の場合、位相検出器２１の後段に接続される回路に供給されるクロック（不図示）は、位相検出器２１に入力される受信クロックの１／２の周波数となる。
【００３１】
続いて、位相検出器２１の後段に接続される回路について説明する。第１の積分器２２は、位相差信号（例えば、アップ信号ＵＰ１及びダウン信号ＤＯＷＮ１）に基づき第１のカウント値を増減させ、第１のカウント値が所定の値に達したことに応じてアップ信号ＵＰ２又はダウン信号ＤＯＷＮ２を出力する。つまり、第１の積分器２２は、位相差信号により示される極性値を積分する。なお、アップ信号ＵＰ２は、第１のアップ信号であって、ダウン信号ＤＯＷＮ２は第１のダウン信号である。
【００３２】
具体的には、第１の積分器２２として、アップダウンカウンタが用いられる。この第１の積分器２２は、カウント上限値とカウント下限値とが設定されている。そして、第１の積分器２２は、アップ信号ＵＰ１がハイレベルであれば、クロックに応じて第１のカウント値を増加させる。一方、第１の積分器２２は、ダウン信号ＤＯＷＮ１がハイレベルであれば、クロックに応じて第１のカウント値を減少させる。そして、第１の積分器２２は、第１のカウント値がカウント上限値に達するとアップ信号ＵＰ２をハイレベルとし、第１のカウント値がカウント下限値に達するとダウン信号ＤＯＷＮ２をハイレベルとする。
【００３３】
第２の積分器２３は、アップ信号ＵＰ２及びダウン信号ＤＯＷＮ２に基づきカウント値を増減させ、当該カウント値を周波数差信号ＦＰとして出力する。より具体的には、第２の積分器２３は、アップダウンカウンタにより構成される。この第２の積分器２３は、第２の積分器２３は、アップ信号ＵＰ１がハイレベルであれば、クロックに応じて第２のカウント値を増加させる。一方、第２の積分器２３は、ダウン信号ＤＯＷＮ１がハイレベルであれば、クロックに応じて第２のカウント値を減少させる。そして、第２の積分器２３は、第２のカウント値を周波数差信号ＦＰとして出力する。なお、本実施の形態にかかる第２の積分器２３は、アップ信号ＵＰ２及びダウン信号ＤＯＷＮ２を積分して中間周波数差信号を生成し、この中間周波数差信号に基づき第２のカウント値を増減させる構成を有する。
【００３４】
パターン発生器２４は、周波数差信号ＦＰに基づき所定の間隔でアップ信号ＵＰ３及びのダウン信号ＤＯＷＮ３を生成する。アップ信号ＵＰ３は第２のアップ信号であり、ダウン信号ＤＯＷＮ３は第２のダウン信号である。
【００３５】
ここで、第２の積分器２３及びパターン発生器２４の詳細なブロック図を図４に示す。図４を参照して第２の積分器２３及びパターン発生器２４の詳細について説明する。図４に示すように、第２の積分器２３は、アップダウンカウンタ６１及びアップダウンカウンタ６２を有する。また、パターン発生器２４は、カウンタ６３及びデコーダ６４を有する。
【００３６】
アップダウンカウンタ６１は、カウント上限値とカウント下限値とが設定されている。そして、アップダウンカウンタ６１は、アップ信号ＵＰ２がハイレベルであれば、クロックに応じて積分値を増加させる。一方、アップダウンカウンタ６１は、ダウン信号ＤＯＷＮ２がハイレベルであれば、クロックに応じて積分値を減少させる。そして、アップダウンカウンタ６１は、積分値がカウント上限値に達するとアップ信号ＵＰ２ａをハイレベルとし、積分値がカウント下限値に達するとダウン信号ＤＯＷＮ２ａをハイレベルとする。
【００３７】
アップダウンカウンタ６２は、５ビットのカウント幅が設定されている場合、第２のカウント値として−３１〜＋３１の値を出力する。この第２のカウント値は周波数差信号ＦＰとなる。アップダウンカウンタ６２は、アップ信号ＵＰ２ａがハイレベルであれば、クロックに応じて第２のカウント値を増加させる。一方、アップダウンカウンタ６２は、ダウン信号ＤＯＷＮ２ａがハイレベルであれば、クロックに応じて第２のカウント値を減少させる。
【００３８】
カウンタ６３は、クロックをカウントする。カウンタ６３のカウント幅として５ビットが設定されている場合、カウンタ６３は、０〜３１のカウント値を出力する。なお、カウンタ６３は、０〜３１を循環的にカウントする。
【００３９】
デコーダ６４は、周波数差信号ＦＰにより示される値とカウンタ６３が出力するカウント値とよりアップ信号ＵＰ３とダウン信号ＤＯＷＮ３との論理値を決定する。なお、アップ信号ＵＰ２ａ＝１またはダウン信号ＤＯＷＮ２ａ＝１が連続した回数が多いほど、入力信号ＲＤと送信クロックＣＬＫの周波数の差が大きいことを示す。デコーダ６４は、周波数差信号ＦＰとカウンタ６３のカウント値に基づいて、入力信号ＲＤと送信クロックＣＬＫの周波数の差の大きさに比例する頻度で、アップ信号ＵＰ３＝１またはＤＯＷＮ３＝１を出力する。この処理は、例えばカウンタ６３のカウント値と、アップ／ダウン信号ＵＰ２ａ／ＤＯＷＮ２ａの組合せに対応した出力値（ＵＰ４／ＤＯＷＮ４）からなる真理値表に基づいて行われる。
【００４０】
混合器２５は、アップ信号ＵＰ２及びダウン信号ＤＯＷＮ２と、アップ信号ＵＰ３及びダウン信号ＤＯＷＮ３と、に基づき位相選択信号を生成する。この位相選択信号は、アップ信号ＵＰ４及びダウン信号ＤＯＷＮ４により構成される。位相補間器２６は、送信クロックの位相を補間して位相選択信号により指定される位相に相当するクロック信号を受信クロックＲＣＬＫとして出力する。なお、本実施の形態では、位相検出器２１が受信クロックとして、互いに１８０°位相が異なる２つのクロック信号を用いるため、位相補間器２６が出力する受信クロックＲＣＬＫには２つの信号が含まれる。しかし、受信クロックＲＣＬＫとして出力するクロック信号の個数及びその位相差は、位相検出器２１の構成に応じて調節することができる。
【００４１】
続いて、周波数誤差調整器１４について説明する。図２に示すように、周波数誤差調整器１４は、加算器３１、遅延回路３２、乗算器３３を有する。加算器３１は、遅延回路３２の出力により示される値と周波数差信号ＦＰにより示される値とを加算して出力する。遅延回路３２は、加算器３１の出力信号を保持し、１クロック遅延させて加算器３１に出力する。乗算器３３は、加算器３１の出力信号により示される値と、外部から与えられるゲイン信号で示される値と、を乗算することで加算器３１の出力信号と送信クロックの周波数補正度合いとの関係を調整する。乗算器３３の出力信号は、周波数調整信号Ｆａｄｊとなる。つまり、周波数誤差調整器１４では、周波数差信号ＦＰにより示される値を動作開始時点から積分していくことで周波数調整信号Ｆａｄｊにより示される値を増減させる。
【００４２】
ＰＬＬ回路１２は、帰還回路を備え、当該帰還回路により基準クロックＦｓｒｃを逓倍することで、送信クロックＣＬＫを生成する。そして、ＰＬＬ回路１２は、帰還回路中に備えられた分周器の分周比を周波数調整信号Ｆａｄｊにより調節することで送信クロックＣＬＫの周波数を制御する。
【００４３】
続いて、図２に示すデジタルＣＤＲ、周波数誤差調整器１４、ＰＬＬ回路１２の動作について説明する。デジタルＣＤＲ１３では、位相検出器２１により入力信号ＲＤと受信クロックＲＣＬＫとの位相を比較する。受信クロックＲＣＬＫは、複数のクロック信号を含むが、複数のクロック信号のうち一のクロック信号が同期クロックＳＣＬＫとして用いられる。そして、位相検出器２１は、同期クロックＳＣＬＫが入力信号ＲＤより遅れているか進んでいるかを示すアップ信号ＵＰ１及びダウン信号ＤＯＷＮ１を出力する。
【００４４】
アップ信号ＵＰ１及びダウン信号ＤＯＷＮ１は第１の積分器２２で平均化される。そして、第１の積分器２２は、平均化処理に基づきアップ信号ＵＰ２及びダウン信号ＤＯＷＮ２を出力する。アップ信号ＵＰ２及びダウン信号ＤＯＷＮ２は、混合器２５に入力される。混合器２５は、アップ信号ＵＰ２及びダウン信号ＤＯＷＮ２に基づきアップ信号ＵＰ４及びダウン信号ＤＯＷＮ４を制御することで、受信クロックＲＣＬＫの位相を補正する。これにより、デジタルＣＤＲ１３は、受信クロックＲＣＬＫの位相を入力信号ＲＤの位相に近づけるように位相制御を行う。
【００４５】
さらに、デジタルＣＤＲ１３は、入力信号ＲＤの周波数と受信クロックＲＣＬＫの周波数が異なる、つまり、入力信号ＲＤの周波数と送信クロックＣＬＫの周波数が異なるとき、周波数差信号ＦＰによりこの周波数差を補正する。
【００４６】
まず、入力信号ＲＤの周波数が受信クロックＲＣＬＫの周波数よりも低い場合、デジタルＣＤＲ１３は、位相補間器２６のクロック選択方法により受信クロックＲＣＬＫの周波数を低くする。また、デジタルＣＤＲ１３が出力する周波数差信号ＦＰにより周波数誤差調整器１４及びＰＬＬ回路１２が送信クロックＣＬＫの周波数を低くする。
【００４７】
この場合、位相検出器２１は、入力信号ＲＤの位相に比べて受信クロックＲＣＬＫの位相が進んでいることを検出し、ダウン信号ＤＯＷＮ１をハイレベルとする。そして、第１の積分器２２は、ダウン信号ＤＯＷＮ１が連続することでダウン信号ＤＯＷＮ２をハイレベルとする。このダウン信号ＤＯＷＮ２に基づき位相補間器２６では、受信クロックＲＣＬＫの位相を遅らせる。しかしながら、この位相制御処理によってもダウン信号ＤＯＷＮ１がロウレベルとならない場合、ダウン信号ＤＯＷＮ２がハイレベルとなる期間がさらに長くなり、第２の積分器２３で生成される周波数差信号ＦＰで示される値が減少する。
【００４８】
パターン発生器２４は、周波数差信号ＦＰで示される値が小さいほどダウン信号ＤＯＷＮ３をハイレベルとする頻度を高くし、周波数差信号ＦＰで示される値が大きいほどアップ信号ＵＰ３をハイレベルとする頻度を高くする。つまり、位相検出器２１においてダウン信号ＤＯＷＮ１がハイレベルとなる期間が長くなるとパターン発生器２４が出力するダウン信号ＤＯＷＮ３がハイレベルとなる期間も長くなる。そして、ダウン信号ＤＯＷＮ２とダウン信号ＤＯＷＮ３がともにハイレベルとなると、混合器２５は、ダウン信号ＤＯＷＮ４をハイレベルとする。これにより、位相補間器２６が出力する受信クロックＲＣＬＫの周波数は実質的に低くなる。そして、入力信号ＲＤの周波数と受信クロックＲＣＬＫの周波数が近づく（又は等しくなる）と、位相検出器２１から出力されるアップ信号ＵＰ１とダウン信号ＤＯＷＮ１は、ハイレベルとなる期間がほぼ等しくなり、受信クロックＲＣＬＫの周波数が安定状態となる。
【００４９】
また、周波数差信号ＦＰが小さくなった場合、周波数誤差調整器１４により生成される周波数調整信号Ｆａｄｊで示される値も小さくなる。これにより、ＰＬＬ回路１２は、ＰＬＬ回路１２内の分周器の分周比を低くし、送信クロックＣＬＫの周波数を低下させる。送信クロックＣＬＫの周波数が低くなることで、送信クロックＣＬＫを補間した信号から生成される受信クロックＲＣＬＫの周波数も低くなる。
【００５０】
一方、入力信号ＲＤの周波数が受信クロックＲＣＬＫの周波数よりも高い場合、位相検出器２１は、入力信号ＲＤの位相に比べて受信クロックＲＣＬＫの位相が遅れていることを検出し、アップ信号ＵＰ１をハイレベルとする。そして、第１の積分器２２は、アップ信号ＵＰ１が連続することでアップ信号２をハイレベルとする。このアップ信号ＵＰ２に基づき位相補間器２６では、受信クロックＲＣＬＫの位相を進める。しかしながら、この位相制御処理によってもアップ信号ＵＰ１がロウレベルとならない場合、アップ信号ＵＰ２がハイレベルとなる期間がさらに長くなり、第２の積分器２３で生成される周波数差信号ＦＰで示される値が増加する。
【００５１】
パターン発生器２４は、周波数差信号ＦＰの値が大きいほどアップ信号ＵＰ３がハイレベルとなる期間を長くする。そして、アップ信号ＵＰ２とアップ信号ＵＰ３がともにハイレベルとなると、混合器２５は、アップ信号ＵＰ４をハイレベルとする。これにより、位相補間器２６が出力する受信クロックＲＣＬＫの周波数は実質的に高くなる。そして、入力信号ＲＤの周波数と受信クロックＲＣＬＫの周波数が近づく（又は等しくなる）と、位相検出器２１から出力されるアップ信号ＵＰ１とダウン信号ＤＯＷＮ１は、ハイレベルとなる期間がほぼ等しくなり、受信クロックＲＣＬＫの周波数が安定状態となる。
【００５２】
また、周波数差信号ＦＰが大きくなった場合、周波数誤差調整器１４により生成される周波数調整信号Ｆａｄｊで示される値も大きくなる。これにより、ＰＬＬ回路１２は、ＰＬＬ回路１２内の分周器の分周比を高くし、送信クロックＣＬＫの周波数を増加させる。送信クロックＣＬＫの周波数が高くなることで、送信クロックＣＬＫを補間した信号から生成される受信クロックＲＣＬＫの周波数も高くなる。
【００５３】
上記説明より、半導体装置１においては、デジタルＣＤＲ１３において、送信クロックＣＬＫを位相補間して受信クロックＲＣＬＫを生成する。そして、デジタルＣＤＲ１３は、入力信号ＲＤと受信クロックＲＣＬＫとの位相差から入力信号ＲＤと送信クロックＣＬＫとの周波数差を反映させた周波数差信号ＦＰを生成する。このようなことから、半導体装置１では、送信クロックＣＬＫの周波数ずれを早期に検出し、送信クロックＣＬＫの周波数追従性を向上させることができる。
【００５４】
例えば、図７に示す従来例では、１．５ＧＨｚの入力信号ＲＤにおいて３３３ｐｐｍの誤差を検出するためには、３０００クロックサイクル（２ｎｓｅｃ）が必要である。これに対して、半導体装置１では、位相補間器２６の位相補間数を６４とした場合、４７クロックサイクル（３０００クロックサイクルの６４分の１）で３３３ｐｐｍの誤差を検出することができる。
【００５５】
また、実施の形態１にかかる半導体装置１では、デジタルＣＤＲ１３が生成する周波数差信号ＦＰは、デジタルＣＤＲ１３が受信クロックＲＣＬＫの周波数制御を行うために設けられた周波数ループにおいて生成される。つまり、半導体装置１では、周波数差信号ＦＰを生成するために、新たな回路を生成する必要がなく、回路面積の増加を抑制することができる。
【００５６】
また、本実施の形態１にかかる半導体装置１では、基準クロックＦｓｒｃがセラミック発振子等の低精度な発振素子により生成されたものとしても、高精度なクロック情報を有する入力信号ＲＤに基づき基準クロックＦｓｒｃから高精度な送信クロックＣＬＫを生成することができる。
【００５７】
また、本実施の形態にかかる半導体装置１では、位相検出器２１が論理回路による構成される。そして、位相検出器２１は、デジタル処理により入力信号ＲＤと受信クロックＲＣＬＫとの位相差を検出する。一方、位相補間器を有するクロックアンドデータリカバリ回路では、位相補間器をデジタル信号により制御することが一般的である。そのため、入力信号ＲＤと受信クロックＲＣＬＫとの位相差をアナログ処理により検出した場合、検出値をデジタル値に変換する処理（アナログデジタル変換処理）が必要になることがある。このアナログデジタル変換処理は、一般的に高速化に不向きである。つまり、アナログ処理により位相差を検出する方式の場合、高い周波数を有する入力信号ＲＤに基づく送信クロックＣＬＫの周波数制御が困難である。シリアルデータ通信は、年々高速化が進んでおり、このような用途において、高速な位相差検出及び検出した位相差の帰還処理を行うことは非常に重要である。
【００５８】
実施の形態２
実施の形態２では、デジタルＣＤＲ１３の変形例について説明する。デジタルＣＤＲ１３の変形例となるデジタルＣＤＲ１３ａを図５に示す。図５は、図２に対応するブロック図である。図５に示すように、デジタルＣＤＲ１３ａは、第１の積分器２２に代えて第１の積分器２２ａを有する。第１の積分器２２ａは、カウント上限値及びカウント下限値が最大値制御信号により設定される。この最大値制御信号は、図示しない他の回路から入力される。
【００５９】
最大値制御信号は、動作の開始時点においてカウント上限値及びカウント下限値の絶対値を小さく設定する。そして、最大値制御信号は、送信クロックＣＬＫの周波数が安定した時点でカウント上限値及びカウント下限値を受信信号ＲＸｉｎのジッタ耐性が高くなる値に設定する。
【００６０】
デジタルＣＤＲ１３ａは、最大値制御信号により第１の積分器２２ａのカウント上限値及びカウント下限値を制御することで、動作開始時点において周波数差信号ＦＰの更新頻度が高まる。つまり、周波数差信号ＦＰに基づき周波数が制御される送信クロックＣＬＫの周波数制御がより高速に行われ、送信クロックＣＬＫの周波数が収束するまでの時間を短縮することができる。さらに、送信クロックＣＬＫが安定した後はカウント上限値及びカウント下限値を適正値に設定することで、受信信号ＲＸｉｎのジッタ耐性を向上させることができる。
【００６１】
実施の形態３
実施の形態３では、周波数誤差調整器１４の変形例について説明する。周波数誤差調整器１４の変形例となる周波数誤差調整器１４ａを図６に示す。図６は、図２に対応するブロック図である。図６に示すように、周波数誤差調整器１４ａは、周波数誤差調整器１４と保持回路３４とを有する。つまり、周波数誤差調整器１４ａは、周波数誤差調整器１４に保持回路３４を追加したものである。
【００６２】
保持回路３４は、図示しない他の回路が送信クロックＣＬＫの周波数が安定した時点でイネーブル状態となるロード信号が入力される。保持回路３４は、ロード信号がイネーブル状態となった時点の周波数調整信号Ｆａｄｊの値を周波数調整値として保持する。そして、保持回路３４は、次の起動時に保持した周波数調整値を周波数誤差調整器１４の遅延回路３２に周波数調整初期値として与える。これにより、周波数誤差調整器１４ａは、起動時から最適化された周波数調整信号Ｆａｄｊを出力することが可能になり、送信クロックＣＬＫの収束までの時間を短縮することができる。
【００６３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、周波数差信号ＦＰは、周波数差の極性値及び差の大きさを含む値でも良く、極性値のみを示すものであっても良い。周波数差信号ＦＰが、周波数差の極性値のみを示すものであった場合、周波数誤差調整器１４の加算器３１は、極性値に従って値をインクリメント（例えば＋１）、又は、デクリメント（例えば−１）する形式のものを用いることが好ましい。
【符号の説明】
【００６４】
１    半導体装置
１０    受信回路
１１    基準信号生成器
１２    ＰＬＬ回路
１３    デジタルＣＤＲ
１４、１４ａ    周波数誤差調整器
１５    デシリアライザ
１６    シリアライザ
１７    送信回路
２１    位相検出器
２２、２２ａ    第１の積分器
２３    第２の積分器
２４    パターン発生器
２５    混合器
２６    位相補間器
３１    加算器
３２    遅延回路
３３    乗算器
３４    保持回路
４１〜４３    フリップフロップ
４４    ラッチ
４７、４８    デマルチプレクサ
４９、５０    ＯＲ回路
５１、５２    インバータ
５２    インバータ
５３、５４    ＡＮＤ回路
６１    アップダウンカウンタ
６２    アップダウンカウンタ
６３    カウンタ
６４    デコーダ
ＣＬＫ    送信クロック
ＲＣＬＫ    受信クロック
ＳＣＬＫ    同期クロック
Ｓｏｕｔ    受信データ
Ｆｓｒｃ    基準クロック
【図１】
2012049863.tif 000003
【図２】
2012049863.tif 000004
【図３】
2012049863.tif 000005
【図４】
2012049863.tif 000006
【図５】
2012049863.tif 000007
【図６】
2012049863.tif 000008
【図７】
2012049863.tif 000009