説明

半導体装置、受信機、送信機、送受信機及び通信システム

【課題】周波数誤差に基づく送信クロックを生成し、送信データに対して任意にSSCの適用が選択可能な半導体装置が、望まれる。
【解決手段】半導体装置は、受信信号を入力し、動作クロック信号に基づいて受信信号からクロック信号とデータ信号を取り出すクロックアンドデータリカバリ部と、受信信号から取り出したクロック信号と動作クロック信号との周波数誤差信号を求める周波数誤差調整部と、周波数誤差信号を記憶する周波数誤差信号記憶部と、周波数誤差信号に基づいて動作クロック信号の周波数を制御する動作クロック生成部と、周波数誤差信号記憶部が記憶する周波数誤差信号の値に基づいて、動作クロック生成部が生成する動作クロック信号をスペクトラム拡散させて変動させるSSCG部と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置、受信機、送信機、送受信機及び通信システムに関する。特に、クロックに同期したデータの送受信機能を備えた半導体装置、受信機、送信機、送受信機及び通信システムに関する。
【背景技術】
【0002】
近年、通信ネットワークシステムに用いる機器間での通信や、パーソナルコンピュータ内でのデータ送受信にデジタルシリアル伝送方式が用いられることが多い。デジタルシリアル伝送方式では、半導体装置間で高速なシリアル信号を送受信することになる。
【0003】
デジタルシリアル伝送方式では、データ信号にクロックを重畳させ、受信側でデータと同期したクロックを再生する。その際、受信データからクロックを再生するクロックアンドデータリカバリ回路が用いられる。一方、半導体装置間のデータ送受信に、高速なデジタル信号(デジタルシリアル伝送方式)を使用すると、デジタル信号の高調波の影響が顕著になる。
【0004】
このようなデジタル信号の高調波は、不要輻射ノイズとして、様々な問題の原因となる。例えば、不要輻射ノイズが通信路に重畳することで、通信障害の原因となる場合がある。さらに、ラジオやテレビと言った電子機器においては、音声及び映像品質を劣化させる原因にもなり得る。
【0005】
そのため、デジタルシリアル伝送方式で使用するクロックを単一の周波数とするのではなく、発振周波数のピークから僅かに変動させることで、不要輻射ノイズの低減を図るスペクトラム拡散クロックジェネレータ(SSCG;Spread Spectrum Clock Generator)が用いられる。
【0006】
ここで、特許文献1において、受信データの周波数と動作クロックの周波数の差を用いて送信クロックの補正を行うPLL回路を備える送受信機が開示されている。さらに、特許文献1で開示された送受信機は、SSCGを備えており、受信データ及び送信データから発生する不要輻射ノイズを低減させている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2011−041121号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【0009】
上述のように、特許文献1において、受信データと動作クロックの周波数誤差をPLL回路にフィードバックさせて、送信クロックを生成する技術が開示されている。
【0010】
そのため、受信データのスペクトラムがSSCGによって拡散され、受信データの周波数が変動している場合には、送信データの周波数も変動する。図2は、デジタルシリアル伝送方式を用いる送受信機における受信データと送信データの一例を示す図である。図2の上段に示すように、受信データにSSCが適用されていれば、送信データにもSSCが適用される。
【0011】
しかし、受信データの周波数が変動していなければ(SSCが非適用であれば)、送信データにもSSCは適用されない(図2の下段参照)。
【0012】
即ち、特許文献1において開示された送受信機において、送信データにSSCが適用されるか否かは、受信データにSSCが適用されているか否かに依存する。従って、受信データにSSCが適用されてなければ、送信データもSSC非適用とならざるを得ず、送信データに対して単独で、SSCを適用することができないという問題がある。
【0013】
以上のとおり、受信データと動作クロックとの周波数誤差に基づき生成される送信クロック(送信データ)に対するSSCの適用には、解決すべき問題点が存在する。そのため、周波数誤差に基づく送信クロックを生成し、送信データに対して任意にSSCの適用が選択可能な半導体装置、受信機、送信機、送受信機及び通信システムが、望まれる。
【課題を解決するための手段】
【0014】
本発明の第1の視点によれば、受信信号を入力し、動作クロック信号に基づいて前記受信信号からクロック信号とデータ信号を取り出すクロックアンドデータリカバリ部と、前記受信信号から取り出したクロック信号と前記動作クロック信号との周波数誤差信号を求める周波数誤差調整部と、前記周波数誤差信号を記憶する周波数誤差信号記憶部と、前記周波数誤差信号に基づいて前記動作クロック信号の周波数を制御する動作クロック生成部と、前記周波数誤差信号記憶部が記憶する周波数誤差信号の値に基づいて、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散させて変動させるSSCG部と、を備える半導体装置が提供される。
【0015】
本発明の第2の視点によれば、上記の第1の視点に係る半導体装置を含む受信機が提供される。
【0016】
本発明の第3の視点によれば、上記の第1の視点に係る半導体装置を含む送信機が提供される。
【0017】
本発明の第4の視点によれば、上記の第1の視点に係る半導体装置を含む送受信機が提供される。
【0018】
本発明の第5の視点によれば、動作クロックを生成し、前記動作クロックに同期してデータを送信すると共に、送信先の動作クロックに同期して送られてきた受信信号からデータを取り出す機能を互いに備えた第1及び第2の送受信機を有し、前記第1及び第2の送受信機は、前記データを送信する際の動作クロックをスペクトラム拡散させて変動させることのできるSSCG機能を備え、前記第1の送受信機が、SSCG機能をオフにして前記第2の送受信機に送信した信号を前記第2の送受信機が受信し、前記受信した信号と第2の送受信機の動作クロックから前記第1の送受信機の動作クロックと前記第2の送受信機の動作クロックとの周波数誤差を求め、前記周波数誤差に基づいて前記第2の送受信機の動作クロックの周波数を校正する周波数誤差校正モードを備え、前記第2の送受信機は、前記第1の送受信機から受信した受信信号から、前記第1の送受信機がSSCG機能をオンしていると判定したときは、前記第2の送受信機のSSCG機能を禁止にして通信を行い、前記第1の送受信機から受信した受信信号から、前記第1の送受信機がSSCG機能をオフしていると判定したときは、前記第2の送受信機のSSCG機能の禁止を解除すると共に、前記周波数誤差校正モードによって校正された動作クロックに基づいて通信を行う通信システムが提供される。
【発明の効果】
【0019】
本発明の各視点によれば、周波数誤差に基づく送信クロックを生成し、送信データに対して任意にSSCの適用が選択可能な半導体装置、受信機、送信機、送受信機及び通信システムが、提供される。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態の概要を説明するための図である。
【図2】デジタルシリアル伝送方式を用いる送受信機における受信データと送信データの一例を示す図である。
【図3】本発明の第1の実施形態に係る通信システムの一例を示す図である。
【図4】図3に示すデバイス2の内部構成の一例を示す図である。
【図5】図4に示すデジタルCDR13と周波数誤差調整器14の内部構成の一例を示す図である。
【図6】図5に示す位相検出器21の内部構成の一例を示す図である。
【図7】図5に示す第2の積分器23及びパターン発生器24の内部構成の一例を示す図である。
【図8】デバイス2の校正モードの動作の一例を示すフローチャートである。
【図9】校正モードにおける制御信号と送受信データの一例を示す図である。
【図10】通常動作モードにおける制御信号と送受信データの一例を示す図である。
【図11】通常動作モードにおける制御信号と送受信データの一例を示す図である。
【図12】本発明の第2の実施形態に係るデバイス3の内部構成の一例を示す図である。
【図13】デバイス3の校正モードにおける動作の一例を示すフローチャートである。
【図14】校正モードにおける制御信号と送受信データの一例を示す図である。
【図15】シリアルATA(Advanced Tecnology Attachment)インターフェースを前提とした周波数偏差の一例を示す図である。
【図16】本発明の第4の実施形態に係るデバイス4の内部構成の一例を示す図である。
【図17】デバイス4の初期起動の一例を示すフローチャートである。
【図18】デバイス4の初期起動時における制御信号と送受信データの一例を示す図である。
【図19】デバイス4の初期起動時における制御信号と送受信データの一例を示す図である。
【発明を実施するための形態】
【0021】
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0022】
上述のように、受信データと動作クロックの周波数誤差に基づいて送信クロックを生成する場合に、送信データにSSCが適用されるか否かは受信データにSSCが適用されているか否かに依存する。従って、受信データにSSCが適用されてなければ、送信データもSSC非適用とならざるを得ず、送信データに対して単独で、SSCを適用することができないという問題がある。そのため、周波数誤差に基づく送信クロックを生成し、送信データに対して任意にSSCの適用が選択可能な半導体装置、受信機、送信機、送受信機及び通信システムが、望まれる。
【0023】
そこで、一例として図1に示す半導体装置を提供する。図1に示す半導体装置は、受信信号を入力し、動作クロック信号に基づいて受信信号からクロック信号とデータ信号を取り出すクロックアンドデータリカバリ部と、受信信号から取り出したクロック信号と動作クロック信号との周波数誤差信号を求める周波数誤差調整部と、周波数誤差信号を記憶する周波数誤差信号記憶部と、周波数誤差信号に基づいて動作クロック信号の周波数を制御する動作クロック生成部と、周波数誤差信号記憶部が記憶する周波数誤差信号の値に基づいて、動作クロック生成部が生成する動作クロック信号をスペクトラム拡散させて変動させるSSCG部と、を備えている。
【0024】
ここで、受信データにSSCが適用されていない場合、受信データから再生した受信クロックと動作クロックの周波数には誤差が生じている。互いのクロックを生成する際に使用するクロック生成源(水晶発振子等)の精度に差が存在するためである。そこで、周波数誤差調整部により、受信クロックと動作クロックの周波数誤差信号を生成し、動作クロックを生成する動作クロック生成部にフィードバックする。動作クロック生成部では、周波数誤差を減少させる方向に動作クロックの周波数を制御することで、受信クロックに動作クロックを追従させる。
【0025】
一方、受信クロックの周波数が変動すれば(受信データにSSCが適用されていれば)、その受信クロックに追従する動作クロックの周波数も変動する(送信データにもSSCが適用される)。しかし、受信データにSSCが適用されていなければ、送信データにSSCを適用することができない。そこで、データの送受信を行う前に、クロックアンドデータリカバリ部、周波数誤差調整部、動作クロック生成部を動作させ、上述の周波数誤差信号を生成する。生成された周波数誤差信号の値を、周波数誤差信号記憶部に記憶する。動作クロック生成部は、この周波数誤差信号記憶部に記憶された周波数誤差に基づいて動作クロックを生成すれば、受信クロックの周波数とほぼ一致する周波数を持つ動作クロックを生成することができる(受信クロックに動作クロックを追従させたときの周波数と同じ周波数となる)。
【0026】
さらに、受信データにSSCが適用されていない場合には、受信データから再生した受信クロックに動作クロックを追従させず、SSCG部が、動作クロックをスペクトラム拡散させる際に、周波数誤差信号記憶部に記憶した周波数誤差信号の値が示す周波数をオフセットし、動作クロック生成部を動作させる(動作クロックを生成させる)。その結果、受信データにSSCが適用されていない場合であっても、受信データと動作クロックの周波数誤差を解消し、かつ、動作クロックをスペクトラム拡散させて、その周波数を変動させることができる。
【0027】
また、何らかの理由によって、送信データに対するSSCの適用を望まない場合が考えられる。このような場合には、動作クロック生成部は、周波数誤差信号記憶部に記憶された周波数誤差に基づいて動作クロックを生成し、受信データから再生した受信クロックに動作クロックを追従させない。さらに、SSCG部による動作クロックのスペクトラム拡散も行わない。すると、受信データRDにSSCが適用されているか否かに関わらず、送信データに対してSSCを非適用としつつ、受信クロックの周波数とほぼ一致する周波数を持つ動作クロックを生成することができる。即ち、送信データに対して任意にSSCの適用が選択可能な半導体装置が提供できる。
【0028】
本発明において下記の形態が可能である。
【0029】
[形態1]上記第1の視点に係る半導体装置のとおりである。
【0030】
[形態2]前記周波数誤差信号記憶部が不揮発性メモリを備え、前記不揮発性メモリに前記周波数誤差信号を記憶することが好ましい。
【0031】
[形態3]前記半導体装置は、前記受信信号から前記クロックアンドデータリカバリ部がシリアルに取り出した前記データ信号をパラレルデータ信号に変換するデシリアライザと、をさらに備えることが好ましい。
【0032】
[形態4]前記半導体装置は、一定の期間、前記周波数誤差信号の最大値と最小値とを求め、前記最大値と最小値との差が一定以内になったときに前記周波数誤差信号を前記周波数誤差信号記憶部に記憶する周波数誤差信号更新制御部をさらに備えることが好ましい。
【0033】
[形態5]前記半導体装置は、一定の期間の前記周波数誤差信号の最大値と最小値と平均値とを求め、前記平均値を前記周波数誤差信号記憶部に記憶し、前記SSCG部は、前記最大値と最小値との差が一定の値以内の場合には、前記周波数誤差信号記憶部が記憶する周波数誤差信号に代えて、前記周波数誤差信号記憶部が記憶する前記平均値に基づいて、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散し、前記最大値と最小値との差が前記一定の値を超える場合には、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散しないことが好ましい。
【0034】
[形態6]前記半導体装置は、周波数誤差信号記憶モードを備え、前記周波数誤差信号記憶モードに設定された場合に、前記周波数誤差信号記憶部を書込み可能に制御することが好ましい。
【0035】
[形態7]前記半導体装置は、前記クロックアンドデータリカバリ部と、前記周波数誤差調整部と、前記周波数誤差信号記憶部と、前記SSCG部と、前記動作クロック生成部と、が同一半導体基板の上に形成されていることが好ましい。
【0036】
[形態8]前記半導体装置は、さらに、前記動作クロック信号に同期してデータをシリアルに出力する送信部を備えることが好ましい。
【0037】
[形態9]前記半導体装置は、出力するデータ信号を前記動作クロック信号に同期してシリアルデータ信号に変換し送信信号を生成するシリアライザをさらに備えることが好ましい。
【0038】
[形態10]前記受信信号の送受信は、シリアルATA規格に準拠することが好ましい。
【0039】
[形態11]上記第2の視点に係る受信機のとおりである。
【0040】
[形態12]上記第3の視点に係る送信機のとおりである。
【0041】
[形態13]上記第4の視点に係る送受信機のとおりである。
【0042】
[形態14]上記第5の視点に係る通信システムのとおりである。
【0043】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【0044】
[第1の実施形態]
本発明の第1の実施形態について、図面を用いてより詳細に説明する。図3は、本実施形態に係る通信システムの一例を示す図である。
【0045】
図3に示す通信システムは、ホスト1とデバイス(半導体装置)2から構成されている。ホスト1とデバイス2は、デジタルシリアル伝送方式により、双方向の通信を実現する。ホスト1は、高精度なクロック生成源を用いてデータ送信に使用するクロックを生成し、送信データにクロックを重畳させて、デバイス2にデータを送信する。
【0046】
さらに、ホスト1では、SSCG回路を使用して、データ送信時に使用するクロックのスペクトラムを拡散している(クロックの周波数を変動させている)。一方、デバイス2では、ホスト1が使用するクロックと比較すれば低精度なクロック生成源を用いて、ホスト1とデータの送受信を行うための送信クロック(上述の動作クロック信号に相当する)を生成する。
【0047】
ここで、ホスト1で使用する高精度なクロックの生成に水晶発振子を使用し、デバイス2で使用する低精度なクロックの生成にセラミック発振子を使用することが考えられる。セラミック発振子は低精度であるが、コストが安価であるという利点を持つ。なお、上述のとおり、ホスト1とデバイス2間では双方向の通信が行われるが、説明の便宜上、デバイス2が受け付ける信号をRX、デバイス2が出力する信号をTXと定める。
【0048】
ホスト1では、水晶発振子等で生成した高精度なクロックのスペクトラムを、特許文献1で開示されたSSCG回路を用いて拡散し、データの送受信を行う。ホスト1の更なる説明は省略する。
【0049】
以下、デバイス2の構成及び動作を中心に説明する。
【0050】
図4は、図3に示すデバイス2の内部構成の一例を示す図である。
【0051】
デバイス2は、受信回路10と、基準信号生成器11と、PLL(Phase Locked Loop)回路12と、クロックアンドデータリカバリ回路(例えば、デジタルCDR)13と、周波数誤差調整器14と、デシリアライザ15と、シリアライザ16と、送信回路17と、MUX回路18と、SSCG回路19と、不揮発性メモリ20から構成されている。
【0052】
デバイス2では、受信回路10と、デジタルCDR13とデシリアライザ15により受信系の回路が構成されている。さらに、シリアライザ16と送信回路17により送信系の回路が構成されている。
【0053】
受信回路10は、入力バッファとして機能する回路である。受信回路10は、受信信号RXinを受信して後段回路に受信データRDとして伝達する。受信回路10には、伝送路の周波数特性を補正するイコライザー回路が含まれる場合もある。
【0054】
基準信号生成器11は、セラミック発振子と共に発振回路を構成し、セラミック発振子により生成される発振信号OSCに基づき基準クロックFsrcを生成する。
【0055】
PLL回路12は、周波数誤差調整器14が出力する周波数調整信号Fadj、又は、SSCG回路19が出力するSSC制御信号Sadjを受け付ける。PLL回路12に、周波数調整信号Fadj、又は、SSC制御信号Sadjのいずれかを入力するかは、MUX回路18で切り替える。PLL回路12は、周波数調整信号Fadj、又は、SSC制御信号Sadjに基づいて、分周比を制御し、送信クロックCLKを生成する。送信クロックCLKは、デジタルCDR13とシリアライザ16に出力される。
【0056】
デジタルCDR13は、受信データRDと送信クロックCLKを受け付ける。本実施形態ではクロックアンドデータリカバリ回路13としてデジタルCDRを用いる。デジタルCDR13は、2値情報を扱う論理回路で構成され、出力信号として2値で情報を示すデジタル信号を出力する。デジタルCDR13は、送信クロックCLKから生成される受信クロックRCLKと受信データRDと間の位相の進み又は遅れを示す位相差信号を生成する。また、デジタルCDR13は、受信クロックRCLKの位相を受信データRDの位相に追従させる制御を行う位相追従ループと、受信クロックRCLKの周波数を受信データRDの周波数に追従させる制御を行う周波数追従ループと、を有する。そして、デジタルCDR13は、受信データRDからデータ信号Sout及びデータ信号Soutに対応する同期クロックSCLKの抽出と、受信クロックRCLKの位相及び周波数の制御と、を行う。
【0057】
周波数誤差調整器14は、周波数差信号FPに応じて周波数調整信号Fadjを生成する。また、周波数誤差調整器14は、周波数差信号FPに応じて、周波数調整信号Fadjにより示される値を増減させる。周波数誤差調整器14の活性・非活性は、周波数誤差調整イネーブル信号Adjenに基づき定まる。
【0058】
デジタルCDR13、周波数誤差調整器14及びPLL回路12の詳細については後述する。
【0059】
デシリアライザ15は、同期クロックSCLKに基づいて、シリアルデータとして入力されるデータ信号Soutをパラレルデータに変換する。パラレルデータとして出力されるデータ信号をPoutと表記する。
【0060】
シリアライザ16は、パラレルデータとして与えられるデータ信号Pinを送信クロックCLKに基づきシリアルデータに変換する。シリアル化された送信データをTDと表記する。送信回路17は、出力バッファである。送信回路17は、送信データTDを電力増幅して送信信号TXoutとして出力する。
【0061】
MUX回路18は、周波数誤差調整イネーブル信号Adjenに基づき、周波数調整信号Fadj、又は、SSC制御信号SadjのいずれかをPLL回路12に出力する。
【0062】
SSCG回路19は、特許文献1が開示するΔΣ変調器等を用いて、PLL回路12の分周比を制御し、SSCを実現する。SSCG回路19が生成するSSC制御信号Sadjは、MUX回路18に出力される。また、SSCG回路19は、SSCGイネーブル信号Sscenに基づき、活性・非活性が定まる。
【0063】
不揮発性メモリ20は、Load信号がアクティブになる際に入力されている周波数調整信号Fadjを記憶する。不揮発性メモリ20に記憶された周波数調整信号Fadjは、周波数調整信号MadjとしてSSCG回路19から読み出し可能である。
【0064】
本実施形態に係るデバイス2は、送信クロックに同期したデータ信号により通信を行う。この際、送信クロックとして単一周波数の信号を用いた場合、不要輻射のピークが増大し、EMI(Electro Magnetic Interference)特性が悪化する。そこで、本実施形態に係るデバイス2では、送信クロックとしてSSCを用いたデータ信号を受信することができる。このようなことから、デバイス2内のデジタルCDR13には、同期クロックSCLKの周波数をスペクトラム拡散に伴う変動に追従させる必要がある。デジタルCDR13では、追従動作を行うために周波数追従ループを有する。そして、デバイス2では、このデジタルCDR13において生成される信号に基づきPLL回路12を制御し、送信クロックCLKの周波数制御を行う。
【0065】
次に、デジタルCDR13の構成について詳細に説明する。
【0066】
図5は、デジタルCDR13及び周波数誤差調整器14の内部構成の一例を示す図である。
【0067】
デジタルCDR13は、位相検出器21と、第1の積分器22と、第2の積分器23と、パターン発生器24と、混合器25と、位相補間器26から構成される。
【0068】
デジタルCDR13では、位相検出器21、第1の積分器22、混合器25及び位相補間器26により位相追従ループを構成する。さらに、デジタルCDR13では、位相検出器21、第1の積分器22、第2の積分器23、パターン発生器24、混合器25及び位相補間器26により周波数追従ループを構成する。そして、第2の積分器23の出力を周波数差信号FPとして用いる。
【0069】
位相検出器21は、受信クロックRCLKと受信データRDとの位相差を検出して位相差信号により示される極性値を更新する。また、位相検出器21は、受信クロックRCLKを同期クロックSCLKとして出力すると共に、受信データRDからデータ信号Soutを抽出する。より具体的には、位相検出器21には、同期クロックSCLKとして用いられる受信クロックRCLKが入力される。この受信クロックRCLKは、第1の受信クロックRCLK1と第2の受信クロックRCLK3を含む。第2の受信クロックRCLK3は、第1の受信クロックRCLK1とは位相が180°異なる。位相検出器21は、位相差信号としてアップ信号UP1とダウン信号DOWN1を出力する。位相検出器21は、同期クロックSCLK(例えば、第1の受信クロックRCLK1)の位相が受信データRDの位相より遅れている場合にアップ信号UP1を第1の論理レベル(例えば、ハイレベル)とし、ダウン信号DOWN1を第2の論理レベル(例えば、ロウレベル)とする。また、位相検出器21は、同期クロックSCLKの位相が受信データRDの位相より進んでいる場合にUP1信号をロウレベルとし、DOWN1信号をハイレベルとする。
【0070】
ここで、位相検出器21のブロック図を図6に示す。図6に示すように、位相検出器21は、論理回路のみにより構成される。図6は、1.5GHzの2相クロックで1.5Gbpsのデータを受信する場合の構成の一例である。位相検出器21は、第1のフリップフロップ41と、第2のフリップフロップ42と、第3のフリップフロップ43と、ラッチ44と、第1の排他的論理和回路(XOR)45と、第2の排他的論理和回路(XOR)46と、第1のデマルチプレクサ(DEMUX回路)47と、第2のデマルチプレクサ(DEMUX回路)48と、第1のOR回路49と、第2のOR回路50と、第1のインバータ51と、第2のインバータ52と、第1のAND回路53と、第2のAND回路54から構成される。
【0071】
第1のフリップフロップ41は、受信データRDをデータ入力端子に入力し、受信クロックRCLK1をクロック端子に受ける。第1のフリップフロップ41は、エッジトリガーのフリップフロップである。第2のフリップフロップ42は、受信データRDをデータ入力端子に入力し、受信クロックRCLK1と逆相の受信クロックRCLK3をクロック端子に受ける。第3のフリップフロップ43は、第1のフリップフロップ41の出力q1をデータ入力端子に入力し、受信クロックRCLK1をクロック端子に受ける。ラッチ44は、第2のフリップフロップ42の出力q3をデータ入力端子に入力し、受信クロックRCLK1をクロック端子に受ける。ラッチ44は、スルーラッチである。
【0072】
第1の排他的論理和回路(XOR)45は、第1のフリップフロップ41の出力q1と、ラッチ44の出力q31を入力とする。第2の排他的論理和回路(XOR)46は、第3のフリップフロップ43の出力q11と、ラッチ44の出力q31を入力とする。第1、第2のデマルチプレクサ(DEMUX回路)47、48は、それぞれ第1、第2の排他的論理和回路(XOR)45、46の出力をシリアル入力してパラレル出力する。第1のOR回路49は、第1のデマルチプレクサ47の出力の論理和をとる。第2のOR回路50は、第2のデマルチプレクサ48の出力の論理和をとる。第1のインバータ51は、第2のOR回路の出力の反転出力を出力する。第2のインバータ52は、第1のOR回路の出力の反転出力を出力する。第1のAND回路53は、第1のOR回路49の出力と、インバータ52を介して出力される第2のOR回路50の反転出力と、の論理積をとる。第2のAND回路54は、第2のOR回路50の出力と、第1のOR回路49の出力の反転出力と、の論理積をとる。第1のフリップフロップ41の出力q1はデータ信号Soutとして出力される。また、受信クロックRCLK1は、同期クロックSCLKとして出力される。
【0073】
位相検出器21は、上記の構成により、受信データRDの変化タイミングが受信クロックRCLK1の立ち上がりと受信クロックRCLK3の立ち上がりの間にあれば、アップ信号UP1をハイレベルとし、ダウン信号DOWN1をロウレベルとする。一方、位相検出器21は、受信データRDの変化タイミングが受信クロックRCLK3の立ち上がりと受信クロックRCLK1の立ち上がりの間にあれば、アップ信号UP1をロウレベルとし、ダウン信号DOWN1をハイレベルとする。また、デマルチプレクサが2パラレル出力の場合、位相検出器21の後段に接続される回路に供給されるクロック(不図示)は、位相検出器21に入力される受信クロックの1/2の周波数となる。
【0074】
続いて、位相検出器21の後段に接続される回路について説明する。第1の積分器22は、位相差信号(例えば、アップ信号UP1及びダウン信号DOWN1)に基づき第1のカウント値を増減させ、第1のカウント値が所定の値に達したことに応じてアップ信号UP2又はダウン信号DOWN2を出力する。つまり、第1の積分器22は、位相差信号により示される極性値を積分する。なお、アップ信号UP2は、第1のアップ信号であって、ダウン信号DOWN2は第1のダウン信号である。
【0075】
具体的には、第1の積分器22として、アップダウンカウンタが用いられる。この第1の積分器22は、カウント上限値とカウント下限値とが設定されている。そして、第1の積分器22は、アップ信号UP1がハイレベルであれば、クロックに応じて第1のカウント値を増加させる。一方、第1の積分器22は、ダウン信号DOWN1がハイレベルであれば、クロックに応じて第1のカウント値を減少させる。そして、第1の積分器22は、第1のカウント値がカウント上限値に達するとアップ信号UP2をハイレベルとし、第1のカウント値がカウント下限値に達するとダウン信号DOWN2をハイレベルとする。
【0076】
第2の積分器23は、アップ信号UP2及びダウン信号DOWN2に基づきカウント値を増減させ、当該カウント値を周波数差信号FPとして出力する。より具体的には、第2の積分器23は、アップダウンカウンタにより構成される。この第2の積分器23は、アップ信号UP1がハイレベルであれば、クロックに応じて第2のカウント値を増加させる。一方、第2の積分器23は、ダウン信号DOWN1がハイレベルであれば、クロックに応じて第2のカウント値を減少させる。そして、第2の積分器23は、第2のカウント値を周波数差信号FPとして出力する。なお、本実施形態に係る第2の積分器23は、アップ信号UP2及びダウン信号DOWN2を積分して中間周波数差信号を生成し、この中間周波数差信号に基づき第2のカウント値を増減させる構成を有する。
【0077】
パターン発生器24は、周波数差信号FPに基づき所定の間隔でアップ信号UP3及びのダウン信号DOWN3を生成する。アップ信号UP3は第2のアップ信号であり、ダウン信号DOWN3は第2のダウン信号である。
【0078】
ここで、第2の積分器23及びパターン発生器24の詳細なブロック図を図7に示す。図7を参照して第2の積分器23及びパターン発生器24の詳細について説明する。図7に示すように、第2の積分器23は、アップダウンカウンタ61及びアップダウンカウンタ62を有する。また、パターン発生器24は、カウンタ63及びデコーダ64を有する。
【0079】
アップダウンカウンタ61は、カウント上限値とカウント下限値とが設定されている。そして、アップダウンカウンタ61は、アップ信号UP2がハイレベルであれば、クロックに応じて積分値を増加させる。一方、アップダウンカウンタ61は、ダウン信号DOWN2がハイレベルであれば、クロックに応じて積分値を減少させる。そして、アップダウンカウンタ61は、積分値がカウント上限値に達するとアップ信号UP2aをハイレベルとし、積分値がカウント下限値に達するとダウン信号DOWN2aをハイレベルとする。
【0080】
アップダウンカウンタ62は、5ビットのカウント幅が設定されている場合、第2のカウント値として−31〜+31の値を出力する。この第2のカウント値は周波数差信号FPとなる。アップダウンカウンタ62は、アップ信号UP2aがハイレベルであれば、クロックに応じて第2のカウント値を増加させる。一方、アップダウンカウンタ62は、ダウン信号DOWN2aがハイレベルであれば、クロックに応じて第2のカウント値を減少させる。
【0081】
カウンタ63は、クロックをカウントする。カウンタ63のカウント幅として5ビットが設定されている場合、カウンタ63は、0〜31のカウント値を出力する。なお、カウンタ63は、0〜31を循環的にカウントする。
【0082】
デコーダ64は、周波数差信号FPにより示される値とカウンタ63が出力するカウント値とよりアップ信号UP3とダウン信号DOWN3との論理値を決定する。なお、アップ信号UP2a=1又はダウン信号DOWN2a=1が連続した回数が多いほど、受信データRDと送信クロックCLKの周波数の差が大きいことを示す。デコーダ64は、周波数差信号FPとカウンタ63のカウント値に基づいて、受信データRDと送信クロックCLKの周波数の差の大きさに比例する頻度で、アップ信号UP3=1又はDOWN3=1を出力する。この処理は、例えばカウンタ63のカウント値と、アップ/ダウン信号UP2a/DOWN2aの組み合わせに対応した出力値(UP4/DOWN4)からなる真理値表に基づいて行われる。
【0083】
混合器25は、アップ信号UP2及びダウン信号DOWN2と、アップ信号UP3及びダウン信号DOWN3と、に基づき位相選択信号を生成する。この位相選択信号は、アップ信号UP4及びダウン信号DOWN4により構成される。位相補間器26は、送信クロックの位相を補間して位相選択信号により指定される位相に相当するクロック信号を受信クロックRCLKとして出力する。なお、本実施形態では、位相検出器21が受信クロックとして、互いに180°位相が異なる2つのクロック信号を用いるため、位相補間器26が出力する受信クロックRCLKには2つの信号が含まれる。しかし、受信クロックRCLKとして出力するクロック信号の個数及びその位相差は、位相検出器21の構成に応じて調節することができる。
【0084】
続いて、周波数誤差調整器14について説明する。図5に示すように、周波数誤差調整器14は、加算器31、遅延回路32、乗算器33、スイッチ34を有する。加算器31は、遅延回路32の出力により示される値と周波数差信号FPにより示される値とを加算して出力する。遅延回路32は、加算器31の出力信号を保持し、1クロック遅延させて加算器31に出力する。乗算器33は、加算器31の出力信号により示される値と、外部から与えられるゲイン信号で示される値と、を乗算することで加算器31の出力信号と送信クロックの周波数補正度合いとの関係を調整する。乗算器33の出力信号は、周波数調整信号Fadjとなる。つまり、周波数誤差調整器14では、周波数差信号FPにより示される値を動作開始時点から積分していくことで周波数調整信号Fadjにより示される値を増減させる。なお、スイッチ34は加算器31の前段に配置される。スイッチ34は、周波数誤差調整イネーブル信号Adjenに応じて、導通・非導通が切り替わる。より具体的には、周波数誤差調整イネーブル信号Adjenがアクティブの際には、周波数差信号FPを加算器31に供給し、周波数誤差調整器14を活性化する。一方、周波数誤差調整イネーブル信号Adjenがアクティブでなければ、周波数差信号FPを遮断し、周波数誤差調整器14を非活性化する。
【0085】
PLL回路12は、帰還回路を備え、当該帰還回路により基準クロックFsrcを逓倍することで、送信クロックCLKを生成する。そして、PLL回路12は、帰還回路中に備えられた分周器の分周比を周波数調整信号Fadj、又は、SSC制御信号Sadjにより調節することで送信クロックCLKの周波数を制御する。
【0086】
次に、デバイス2の動作について説明する。
【0087】
デバイス2には、通常動作モードと校正モードの2つが存在する。
【0088】
通常動作モードは、ホスト1との間でデータの送受信を行うモードである。通常動作モードには、受信データRD及び送信データTDの双方にSSCが適用になる場合と、送信データTDのみにSSCが適用になる場合と、受信データRD及び送信データTDのいずれにおいてもSSCが適用にならない場合と、受信データRDのみにSSCが適用になる場合と、が存在する。
【0089】
受信データRD及び送信データTDの双方にSSCが適用になる場合とは、ホスト1が送信するデータ(受信データRD)に重畳されたクロックに対して、スペクトラム拡散し(受信データRDにSSCを適用し)、デバイス2側ではSSCが適用された受信データRDから再生した受信クロックRCLKに送信クロックCLKを追従させることで、送信データTDにもSSCが適用になる場合である。この場合には、SSCG回路19や不揮発性メモリ20に記憶されたデータを使用することはない。受信データRDにSSCが適用されていれば、必然的に送信データTDにもSSCが適用されるからである。
【0090】
一方、送信データTDのみにSSCを適用する場合には、SSCG回路19と不揮発性メモリ20に記憶されたデータを使用する。この際に、不揮発性メモリ20に記憶するデータを生成するモードが、校正モードである。
【0091】
校正モードでは、ホスト1、又は、クロックジェネレータ等から、スペクトラム拡散されていないクロックが重畳された受信信号RXinを、デバイス2に入力する。この受信信号RXinと送信クロックCLKの周波数が一致する周波数調整信号Fadjの値を不揮発性メモリ20に記憶する。なお、不揮発性メモリ20に記憶する際の周波数調整信号Fadjの値を周波数調整値Nadjとする。
【0092】
送信データTDのみにSSCを適用する場合には、この不揮発性メモリ20に記憶された周波数調整値Nadjを使って、SSCG回路19からPLL回路12の分周比を制御する。即ち、送信データTDのみにSSCを適用する場合には、受信データRDにはSSCが適用されておらず、PLL回路12において、送信クロックCLKを受信クロックRCLKに追従させることはできない。そこで、校正モードにおいて、受信クロックRCLKに送信クロックCLKを追従させるために必要な周波数調整信号Fadjを特定し、不揮発性メモリ20に記憶する。その後、通常動作モード時には、PLL回路12により、受信クロックRCLKに送信クロックCLKを追従させるのではなく、SSCG回路19により、校正モードで不揮発性メモリ20に記憶した情報(周波数調整値Nadj)に基づき、送信クロックCLKのスペクトラムを拡散する。その結果、受信クロックRCLKと送信クロックCLKの周波数誤差を修正しつつ、送信クロックCLKに対してSSCを適用することができる。
【0093】
受信データRD及び送信データTDのいずれにおいてもSSCが適用にならない場合とは、受信クロックRCLKにSSCが適用されていない状態、かつ、デバイス2でもSSCG回路19を動作させない場合である。
【0094】
受信データRDのみにSSCが適用になる場合とは、受信クロックRCLKにSSCが適用されているが、送信データTDにはSSCが適用されていない場合である。つまり、デバイス2のSSCG回路19を動作させない場合である。
【0095】
以下、これらの各モードの動作について詳細に説明する。
【0096】
初めに、受信データRD及び送信データTDの双方にSSCが適用になる場合について説明する。
【0097】
この場合には、PLL回路12、デジタルCDR13及び周波数誤差調整器14が動作することによって、SSCが適用された受信データRDに送信クロックCLKを追従させる。受信データRD自身にSSCが適用になっているため、デバイス2側で重ねて送信データTDにSSCを適用しなくても、送信データTDにはSSCが適用されることになる。
【0098】
以下、PLL回路12、デジタルCDR13及び周波数誤差調整器14の動作について説明する。デジタルCDR13では、位相検出器21により受信データRDと受信クロックRCLKとの位相を比較する。受信クロックRCLKは、複数のクロック信号を含むが、複数のクロック信号のうち一のクロック信号が同期クロックSCLKとして用いられる。そして、位相検出器21は、同期クロックSCLKが受信データRDより遅れているか進んでいるかを示すアップ信号UP1及びダウン信号DOWN1を出力する。
【0099】
アップ信号UP1及びダウン信号DOWN1は第1の積分器22で平均化される。そして、第1の積分器22は、平均化処理に基づきアップ信号UP2及びダウン信号DOWN2を出力する。アップ信号UP2及びダウン信号DOWN2は、混合器25に入力される。混合器25は、アップ信号UP2及びダウン信号DOWN2に基づきアップ信号UP4及びダウン信号DOWN4を制御することで、受信クロックRCLKの位相を補正する。これにより、デジタルCDR13は、受信クロックRCLKの位相を受信データRDの位相に近づけるように位相制御を行う。
【0100】
さらに、デジタルCDR13は、受信データRDの周波数と受信クロックRCLKの周波数が異なる、つまり、受信データRDの周波数と送信クロックCLKの周波数が異なるとき、周波数差信号FPによりこの周波数差を補正する。
【0101】
まず、受信データRDの周波数が受信クロックRCLKの周波数よりも低い場合、デジタルCDR13は、位相補間器26のクロック選択方法により受信クロックRCLKの周波数を低くする。また、デジタルCDR13が出力する周波数差信号FPにより周波数誤差調整器14及びPLL回路12が送信クロックCLKの周波数を低くする。
【0102】
この場合、位相検出器21は、受信データRDの位相に比べて受信クロックRCLKの位相が進んでいることを検出し、ダウン信号DOWN1をハイレベルとする。そして、第1の積分器22は、ダウン信号DOWN1が連続することでダウン信号DOWN2をハイレベルとする。このダウン信号DOWN2に基づき位相補間器26では、受信クロックRCLKの位相を遅らせる。しかしながら、この位相制御処理によってもダウン信号DOWN1がロウレベルとならない場合、ダウン信号DOWN2がハイレベルとなる期間がさらに長くなり、第2の積分器23で生成される周波数差信号FPで示される値が減少する。
【0103】
パターン発生器24は、周波数差信号FPで示される値が小さいほどダウン信号DOWN3をハイレベルとする頻度を高くし、周波数差信号FPで示される値が大きいほどアップ信号UP3をハイレベルとする頻度を高くする。つまり、位相検出器21においてダウン信号DOWN1がハイレベルとなる期間が長くなるとパターン発生器24が出力するダウン信号DOWN3がハイレベルとなる期間も長くなる。そして、ダウン信号DOWN2とダウン信号DOWN3がともにハイレベルとなると、混合器25は、ダウン信号DOWN4をハイレベルとする。これにより、位相補間器26が出力する受信クロックRCLKの周波数は実質的に低くなる。そして、受信データRDの周波数と受信クロックRCLKの周波数が近づく(又は等しくなる)と、位相検出器21から出力されるアップ信号UP1とダウン信号DOWN1は、ハイレベルとなる期間がほぼ等しくなり、受信クロックRCLKの周波数が安定状態となる。
【0104】
また、周波数差信号FPが小さくなった場合、周波数誤差調整器14により生成される周波数調整信号Fadjで示される値も小さくなる。これにより、PLL回路12は、PLL回路12内の分周器の分周比を低くし、送信クロックCLKの周波数を低下させる。送信クロックCLKの周波数が低くなることで、送信クロックCLKを補間した信号から生成される受信クロックRCLKの周波数も低くなる。
【0105】
一方、受信データRDの周波数が受信クロックRCLKの周波数よりも高い場合、位相検出器21は、受信データRDの位相に比べて受信クロックRCLKの位相が遅れていることを検出し、アップ信号UP1をハイレベルとする。そして、第1の積分器22は、アップ信号UP1が連続することでアップ信号2をハイレベルとする。このアップ信号UP2に基づき位相補間器26では、受信クロックRCLKの位相を進める。しかしながら、この位相制御処理によってもアップ信号UP1がロウレベルとならない場合、アップ信号UP2がハイレベルとなる期間がさらに長くなり、第2の積分器23で生成される周波数差信号FPで示される値が増加する。
【0106】
パターン発生器24は、周波数差信号FPの値が大きいほどアップ信号UP3がハイレベルとなる期間を長くする。そして、アップ信号UP2とアップ信号UP3がともにハイレベルとなると、混合器25は、アップ信号UP4をハイレベルとする。これにより、位相補間器26が出力する受信クロックRCLKの周波数は実質的に高くなる。そして、受信データRDの周波数と受信クロックRCLKの周波数が近づく(又は等しくなる)と、位相検出器21から出力されるアップ信号UP1とダウン信号DOWN1は、ハイレベルとなる期間がほぼ等しくなり、受信クロックRCLKの周波数が安定状態となる。
【0107】
また、周波数差信号FPが大きくなった場合、周波数誤差調整器14により生成される周波数調整信号Fadjで示される値も大きくなる。これにより、PLL回路12は、PLL回路12内の分周器の分周比を高くし、送信クロックCLKの周波数を増加させる。送信クロックCLKの周波数が高くなることで、送信クロックCLKを補間した信号から生成される受信クロックRCLKの周波数も高くなる。
【0108】
以上が、受信データRD及び送信データTDの双方にSSCが適用になる場合のデバイス2の動作である。以上の動作から明らかなとおり、受信データRDにSSCが適用されていれば、受信クロックRCLKの周波数は変動する。周波数が変動した受信クロックRCLKに送信クロックCLKが追従するようにPLL回路12は動作するため、送信クロックCLKを用いた送信データTDにもSSCが適用される。しかし、受信データRDにSSCが適用されていなければ、送信データTDにはSSCは適用されない。
【0109】
そこで、SSCG回路19を用いて、受信データRDにSSCが適用されていない場合であっても、送信データTDにSSCの適用を可能とする。
【0110】
次に、校正モードの動作について説明する。
【0111】
図8は、校正モードの動作の一例を示すフローチャートである。
【0112】
ステップS01において、デバイス2に接続されたCPU(Central Processing Unit)等から、周波数誤差調整イネーブル信号Adjenがアクティブ(例えば、ハイレベル)、SSCGイネーブル信号Sscenが非アクティブ(例えば、ロウレベル)に設定される。
【0113】
周波数誤差調整イネーブル信号Adjenがアクティブ、SSCGイネーブル信号Sscenを非アクティブに設定されると、デバイス2は、上述の受信データRDと送信データTDにSSCを適用する場合と同様の動作を開始する。
【0114】
即ち、外部に設けられたセラミック発振子により生成されたクロック信号OSCに基づき基準信号生成器11で基準クロックFsrcを生成する。PLL回路12は、基準クロックFsrcを逓倍した送信クロックCLKを出力する。一方、受信回路10はSSCが適用されておらず、かつ、十分高精度な受信信号RXinを受信し、受信データRDとしてデジタルCDR13に出力する。デジタルCDR13では、周波数差信号FPを周波数誤差調整器14に出力する。周波数誤差調整器14では、周波数差信号FPを積分し周波数調整信号Fadjとして、PLL回路12に出力する(フィードバックする)。PLL回路12は周波数調整信号Fadjに基づいて分周比を制御する。より具体的には、PLL回路12は、周波数調整信号Fadjに相当する周波数分、送信クロックCLKをずらして出力する。
【0115】
ステップS02では、ステップS01での状態を一定時間保持する。即ち、受信データRDと送信クロックCLKの周波数が一致するまでの時間を確保する。
【0116】
図9は、校正モードにおける制御信号と送受信データRDの一例を示す図である。
【0117】
図9に示すように、校正モードの動作開始直後は、受信データRDと送信データTDの周波数が一致せず、周波数調整信号Fadjの変動は大きい。しかし、受信データRDと送信データTDの周波数誤差が一定の範囲内に収束すると、周波数調整信号Fadjの変動は停止する(時刻t1)。時刻t1以降の周波数調整信号Fadjの値が周波数調整値Nadjになる。さらに、時刻t1からマージンを取り時刻t2までステップS01の状態を保持する。このようにして、受信データRDと送信データTDの周波数誤差の収束を確保する。
【0118】
ステップS03では、一定時間経過後に、CPU等からLoad信号をアクティブにする。Load信号がアクティブにされた不揮発性メモリ20では、その際の周波数調整値Nadjを記憶する(ステップS04)。以上が校正モードの動作である。
【0119】
次に、通常モード時であって、送信データTDのみにSSCを適用する場合の動作について説明する。
【0120】
図10は、通常動作モードにおける制御信号と送受信データの一例を示す図である。
【0121】
この場合には、周波数誤差調整イネーブル信号Adjenを非アクティブ(例えば、ロウレベル)にする。同時に、SSCGイネーブル信号Sscenをアクティブ(例えば、ハイレベル)にする。
【0122】
SSCGイネーブル信号Sscenがアクティブな場合には、SSCG回路19は、不揮発性メモリ20に記憶された周波数調整値Nadjを読み込む。周波数調整値Nadjを読み込んだSSCG回路19は、周波数調整値Nadjに相当する周波数をオフセットしてSSC制御信号Sadjを生成する。PLL回路12は、SSC制御信号Sadjに基づき分周比を変更し、送信クロックCLKを出力する。
【0123】
なお、何らかの理由により、送信データTDに対してSSCを適用しない場合が想定される。そのような場合が、受信データRD及び送信データTDのいずれにおいてもSSCが適用にならない場合と、受信データRDのみにSSCが適用になる場合である。
【0124】
受信データRD及び送信データTDのいずれに対してもSSCを適用しない場合には、SSCGイネーブル信号Sscenを非アクティブにする。なお、後述する手段によって、デバイス2において、受信データRDにSSCが適用されていないことを認識できた場合には、周波数誤差調整イネーブル信号Adjenをアクティブにし、PLL回路12において、送信クロックCLKを受信クロックRCLKに追従させることができる。又は、校正モードで決定され、不揮発性メモリ20に記憶された周波数調整値Nadjを使用して送信クロックを生成しても良い(この場合、周波数誤差調整イネーブル信号Adjenは非アクティブ)。しかし、送信データTDにはSSCを適用しないため、SSCGイネーブル信号Sscenは非アクティブにする必要がある。
【0125】
受信データRDのみにSSCが適用になる場合には、周波数誤差調整イネーブル信号Adjen及びSSCGイネーブル信号Sscenを共に非アクティブにする。この場合には、受信データRDにSSCが適用されているため、周波数誤差調整イネーブル信号Adjenを非アクティブとし、送信クロックCLKを受信クロックRCLKに追従させない。送信クロックCLKを受信クロックRCLKに追従させると、送信データTDにSSCが適用されてしまうためである。さらに、SSCGイネーブル信号Sscenを非アクティブにすることで、デバイス2の側でのSSC適用も行わない(図11参照)。なお、周波数誤差調整イネーブル信号Adjen及びSSCGイネーブル信号Sscenを共に非アクティブにすることで、受信データRDに依存せず、送信データTDに対してSSCを非適用とすることができる。
【0126】
なお、受信データRDにSSCが適用されている場合に、重ねて送信データTDにSSCを適用することは好ましくない。送信データTDの変調(拡散)幅が大きくなりすぎるためである。そのため、受信データRDにSSCが適用されているか否かがデバイス2で判断できる必要があるが、そのための手段として、ホスト1から、SSC適用の通知を受信データRDに書き込み、デバイス2ではその受信データRDに基づいて受信データRDに対するSSC適応・非適用を判断することが考えられる。
【0127】
若しくは、ホスト1とデバイス2の間を専用の信号線で接続し、ポートの状態でSSCの状態を通知すること等が考えられる。
【0128】
以上のように、受信データRDと送信クロックCLKの周波数誤差に基づき送信クロックCLKを生成するデバイスにおいて、校正モード時の周波数調整値Nadjを不揮発性メモリ20に記憶する。そして、受信データRDにSSCが適用されていない場合には、不揮発性メモリ20に記憶された周波数調整値Nadjを用いて、送信データTDに対してSSCを適用する。その結果、送信クロックCLKの生成において、低精度なセラミック発振子等を使用する場合であっても、高精度な送信クロックCLKを生成し、送信データTDに対してSSCを適用することができる。一方、受信クロックRCLKに送信クロックCLKを追従させず(周波数誤差調整イネーブル信号Adjenは非アクティブ)、かつ、SSC回路19を非活性(SSCGイネーブル信号Sscenは非アクティブ)とすることで、受信データRDにSSCが適用されているか否かに関わらず、送信データTDに対してSSCを非適用とすることができる。即ち、送信データTDに対してSSCを適用するか否かを任意に選択することができる。
【0129】
なお、本願と同一の出願人より、クロックアンドデータリカバリ回路において受信データと動作クロックとの周波数誤差に基づいて送信クロックの周波数を高速に補正する技術を開示した出願(特願2010−190686号)がなされている。上記の特願2010−190686号の開示は、本書に引用をもって繰り込むものとする。
【0130】
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
【0131】
図12は、本実施形態に係るデバイス3の内部構成の一例を示す図である。図12において図3と同一構成要素には、同一の符号を表し、その説明を省略する。
【0132】
デバイス2とデバイス3の相違点は、周波数誤差調整器14aにおいて、予め定めた期間における周波数調整信号Fadjの最大値(Fadj_max)と、最小値(Fadj_min)を出力する点である。
【0133】
デバイス3の校正モード時において、受信データRDの周波数と送信クロックCLKの周波数がほぼ一致していれば、周波数調整信号Fadjの変動は少なく、安定した値が出力される。従って、予め定めた期間の周波数調整信号Fadjの最大値Fadj_maxと最小値Fadj_minに着目すると、その差はほぼ0になる
【0134】
図13は、デバイス3の校正モードにおける動作の一例を示すフローチャートである。
【0135】
本実施形態に係るデバイス3では、最大値Fadj_maxと最小値Fadj_minとの差が、予め定めた閾値TH以下に収束するか否かを判断する(ステップS12)。その後、デバイス3を制御するCPU等からLoad信号をアクティブに設定し(ステップS13)、その際の周波数調整信号Fadjの値を不揮発性メモリに書き込む(ステップS14)。
【0136】
図14は、校正モードにおける制御信号と送受信データの一例を示す図である。
【0137】
第1の実施形態に係るデバイス2では、受信データRDと送信データTDの周波数誤差の収束に必要な時間を十分確保した後に、Load信号をアクティブにする(図9の時刻t2)。
【0138】
本実施形態に係るデバイス3では、周波数調整信号Fadjの最大値Fadj_maxと最小値Fadj_minの差が、予め定めた範囲内に収束した時点でLoad信号をアクティブにする(図14の時刻t3)。従って、校正モードにおける時間が短縮できる。
【0139】
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
【0140】
本実施形態では、第1及び第2の実施形態で説明したデバイス2及び3を、シリアルATAインターフェースを持った受信機、送信機又は送受信機に組み込む場合について説明する。
【0141】
上述のように、デジタルシリアル伝送方式における受信機側に、基準クロックの生成に安価なセラミック発振子等を用いる場合がある。しかし、セラミック発振子の発振精度は水晶発振子等と比較すれば低く、その発振周波数も個体によって僅かに異なる(初期偏差を有する)。さらに、周辺温度の変化や経時変化によっても、発振周波数が変化する。
【0142】
第1及び第2の実施形態において説明した、周波数調整信号Fadjを使用し、PLL回路12の分周比を制御する方法により、上記の初期偏差の補正が可能である。
【0143】
ここで、シリアルATAインターフェースでは、SSC適用時の周波数精度が定められている。より具体的には、SSC適用時に許容される周波数誤差は、+350〜−5350ppmの範囲と規定されている。
【0144】
周波数調整信号Fadjを用いてPLL回路12の分周比を制御することで、セラミック発振子の初期偏差は、規格の中心値に補正できると考えられるので、残る周辺温度の変化や経時変化による周波数誤差が、シリアルATAインターフェースで定める周波数精度の規格内に収まれば良い。
【0145】
即ち、セラミック発振子の温度変化等による周波数誤差が存在したとしても、シリアルATAインターフェースの規格で許容される範囲内において、SSCG回路を制御する。
【0146】
図15は、シリアルATAインターフェースを前提とした周波数偏差の一例を示す図である。
【0147】
上述のように、シリアルATAインターフェースでは、SSC適用時の周波数誤差は、+350〜−5350ppmの範囲と規定されている。ここで、SSCG回路19の仕様とセラミック発振子の温度変化等による周波数誤差との関係を検証する。その際の前提として、デバイス2及び3の校正に用いるホスト機器の周波数精度を±350ppm、デジタルCDR13及び周波数誤差調整器14の周波数検出精度を±50ppm、と想定する。
【0148】
すると、SSCG回路19で実施するSSCの変調度を−2500ppm、最大周波数偏差を−1250ppmと定めたとしても、セラミック発振子の温度変化等の周波数誤差として、1200ppmが許容できる。
【0149】
このように、周波数調整信号Fadjによってセラミック発振子の初期偏差が補正できるため、SSCG回路19の設計はセラミック発振子の温度変化等のみを考慮すれば良く、その設計は極めて容易なものとなる。その結果、デバイス2及び3を内部に組み込む受信機、送信機及び送受信機において、安価なセラミック発振子の採用が可能であり、そのコストを低下させることができる。
【0150】
[第4の実施形態]
続いて、第4の実施形態について図面を参照して詳細に説明する。
【0151】
第1の実施形態において、デバイス2がホスト1で送信データ(デバイス2からみた受信データ)にSSCを適用しているか否かの判断方法を説明した。本実施形態では、上記の方法とは異なる方法でホスト1でのSSCの適用を判断するデバイス4について説明する。
【0152】
図16は、本実施形態に係るデバイス4の内部構成の一例を示す図である。図16において図12と同一構成要素には、同一の符号を表し、その説明を省略する。
【0153】
デバイス3とデバイス4の相違点は、周波数誤差調整器14bから周波数調整信号Fadjの平均値Fadj_aveを算出する点である。
【0154】
本実施形態に係るデバイス4では、データの受信開始後、十分な時間が経過した後に周波数調整信号Fadjの最大値Fadj_maxと最小値Fadj_minから、ホスト1が送信するデータ(デバイス4からみた受信データ)にSSCが適用されているか否かを判断する。
【0155】
その判断結果に応じて、デバイス4のSSCG回路19を活性化するか否かを決定する。さらに、ホスト1が送信するデータにSSCが適用されているか否かの判断を、デバイス4の初期起動時(電源投入時)に行うことで、セラミック発振子等の経時変化による周波数誤差を吸収する。
【0156】
図17は、デバイス4の初期起動の一例を示すフローチャートである。
【0157】
デバイス4では、データの受信開始(ステップS21)後、周波数調整信号Fadjの最大値Fadj_maxと最小値Fadj_minの差を計算し、予め定めた閾値THと比較する(ステップS22)。その際、最大値Fadj_maxと最小値Fadj_minの差が閾値TH以上であれば、ホスト1が送信するデータにはSSCの適用がされていると判断する。
【0158】
図18は、デバイス4の初期起動時における制御信号と送受信データの一例を示す図である。
【0159】
図18に示すように、ホスト1が送信するデータにSSCが適用されていれば、周波数調整信号Fadjは一定の範囲内で変動する。従って、最大値Fadj_maxと最小値Fadj_minの差が閾値TH以上であれば、ホスト1が送信するデータに対してSSCが適用されていることが判断できる。この場合には、ステップS24に遷移する。
【0160】
一方、最大値Fadj_maxと最小値Fadj_minの差が閾値THよりも小さければ、ホスト1が送信するデータに対してSSCの適用がされていないと判断する。
【0161】
図19は、デバイス4の初期起動時における制御信号と送受信データの一例を示す図である。
【0162】
ホスト1が送信するデータにSSCが適用されていなければ、最大値Fadj_maxと最小値Fadj_minはほぼ一致する。従って、この場合には、ホスト1側でSSCを適用していないと判断できる。この場合には、ステップS25に遷移する。
【0163】
ステップS24では、デバイス4を制御するCPU等によって、SSCG回路19を非活性化する(SSCGイネーブル信号Sscenを非アクティブにする)。ステップS25では、デバイス4を制御するCPU等によって、SSCG回路19を活性化する(SSCGイネーブル信号Sscenをアクティブにする)。
【0164】
また、ステップS24又はS25のいずれを経由する場合であっても、周波数調整信号Fadjの平均値Fadj_aveを不揮発性メモリ20に記憶する(ステップS26)。デバイス4におけるSSC非適用からSSC適用に変更する際には、ホスト1が送信するデータに対してSSCの適用がされていない場合、周波数調整信号Fadjの平均値Fadj_aveを用いて、PLL回路12の分周比を制御し、ホスト1が送信するデータに対してSSCの適用がされている場合、Adjenをアクティブにしデバイス4の送信クロックCLKをホスト1が送信するデータに追従させる。その場合には、ホスト1が送信するデータに対してSSCが適用されているか否かに関わらず、デバイス4において送信クロックCLKに対しSSCが適用できる。
【0165】
以上のように、デバイス4の初期起動時のホスト1との最初の通信確立時にホスト1におけるSSCの設定状況を判断する。同時に、デバイス4でSSCを適用する場合に使用する周波数調整信号Fadjの平均値Fadj_aveを取得する。これらの情報に基づいて、デバイス4では、適宜、SSCG回路の設定を変更する。また、上記の初期起動時の動作は、電源投入時に実行されるので、セラミック発振子等の初期偏差と経時変化による周波数誤差が吸収できる。
【0166】
その結果、SSCG回路19の制御(設計)は、セラミック発振子の温度変化分が許容できれば良く、SSCの適用範囲が拡張できる。
【0167】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0168】
1 ホスト
2〜4 デバイス
10 受信回路
11 基準信号生成器
12 PLL回路
13 デジタルCDR
14、14a、14b 周波数誤差調整器
15 デシリアライザ
16 シリアライザ
17 送信回路
18 MUX回路
19 SSCG回路
20 不揮発性メモリ
21 位相検出器
22 第1の積分器
23 第2の積分器
24 パターン発生器
25 混合器
26 位相補間器
31 加算器
32 遅延回路
33 乗算器
34 スイッチ
41〜43 フリップフロップ
44 ラッチ
45、46 排他的論理和回路
47、48 デマルチプレクサ
49、50 OR回路
51、52 インバータ
53、54 AND回路
61、62 アップダウンカウンタ
63 カウンタ
64 デコーダ

【特許請求の範囲】
【請求項1】
受信信号を入力し、動作クロック信号に基づいて前記受信信号からクロック信号とデータ信号を取り出すクロックアンドデータリカバリ部と、
前記受信信号から取り出したクロック信号と前記動作クロック信号との周波数誤差信号を求める周波数誤差調整部と、
前記周波数誤差信号を記憶する周波数誤差信号記憶部と、
前記周波数誤差信号に基づいて前記動作クロック信号の周波数を制御する動作クロック生成部と、
前記周波数誤差信号記憶部が記憶する周波数誤差信号の値に基づいて、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散させて変動させるSSCG部と、
を備えることを特徴とする半導体装置。
【請求項2】
前記周波数誤差信号記憶部が不揮発性メモリを備え、前記不揮発性メモリに前記周波数誤差信号を記憶する請求項1に記載の半導体装置。
【請求項3】
前記受信信号から前記クロックアンドデータリカバリ部がシリアルに取り出した前記データ信号をパラレルデータ信号に変換するデシリアライザと、
をさらに備える請求項1又は2に記載の半導体装置。
【請求項4】
一定の期間、前記周波数誤差信号の最大値と最小値とを求め、前記最大値と最小値との差が一定以内になったときに前記周波数誤差信号を前記周波数誤差信号記憶部に記憶する周波数誤差信号更新制御部をさらに備える請求項1乃至3のいずれか一に記載の半導体装置。
【請求項5】
一定の期間の前記周波数誤差信号の最大値と最小値と平均値とを求め、前記平均値を前記周波数誤差信号記憶部に記憶し、
前記SSCG部は、前記最大値と最小値との差が一定の値以内の場合には、前記周波数誤差信号記憶部が記憶する周波数誤差信号に代えて、前記周波数誤差信号記憶部が記憶する前記平均値に基づいて、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散し、前記最大値と最小値との差が前記一定の値を超える場合には、前記動作クロック生成部が生成する前記動作クロック信号をスペクトラム拡散しない請求項1乃至3のいずれか一に記載の半導体装置。
【請求項6】
周波数誤差信号記憶モードを備え、前記周波数誤差信号記憶モードに設定された場合に、前記周波数誤差信号記憶部を書込み可能に制御する請求項1乃至5のいずれか一に記載の半導体装置。
【請求項7】
前記クロックアンドデータリカバリ部と、前記周波数誤差調整部と、前記周波数誤差信号記憶部と、前記SSCG部と、前記動作クロック生成部と、が同一半導体基板の上に形成されている請求項1乃至6のいずれか一に記載の半導体装置。
【請求項8】
さらに、前記動作クロック信号に同期してデータをシリアルに出力する送信部を備える請求項1乃至7のいずれか一に記載の半導体装置。
【請求項9】
出力するデータ信号を前記動作クロック信号に同期してシリアルデータ信号に変換し送信信号を生成するシリアライザをさらに備える請求項8に記載の半導体装置。
【請求項10】
前記受信信号の送受信は、シリアルATA規格に準拠する請求項1乃至9のいずれか一に記載の半導体装置。
【請求項11】
請求項1乃至7のいずれか一に記載の半導体装置を含むことを特徴とする受信機。
【請求項12】
請求項1乃至9に記載の半導体装置を含むことを特徴とする送信機。
【請求項13】
請求項1乃至9に記載の半導体装置を含むことを特徴とする送受信機。
【請求項14】
動作クロックを生成し、前記動作クロックに同期してデータを送信すると共に、送信先の動作クロックに同期して送られてきた受信信号からデータを取り出す機能を互いに備えた第1及び第2の送受信機を有し、
前記第1及び第2の送受信機は、前記データを送信する際の動作クロックをスペクトラム拡散させて変動させることのできるSSCG機能を備え、
前記第1の送受信機が、SSCG機能をオフにして前記第2の送受信機に送信した信号を前記第2の送受信機が受信し、前記受信した信号と第2の送受信機の動作クロックから前記第1の送受信機の動作クロックと前記第2の送受信機の動作クロックとの周波数誤差を求め、前記周波数誤差に基づいて前記第2の送受信機の動作クロックの周波数を校正する周波数誤差校正モードを備え、
前記第2の送受信機は、前記第1の送受信機から受信した受信信号から、前記第1の送受信機がSSCG機能をオンしていると判定したときは、前記第2の送受信機のSSCG機能を禁止にして通信を行い、前記第1の送受信機から受信した受信信号から、前記第1の送受信機がSSCG機能をオフしていると判定したときは、前記第2の送受信機のSSCG機能の禁止を解除すると共に、前記周波数誤差校正モードによって校正された動作クロックに基づいて通信を行うことを特徴とする通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2013−90076(P2013−90076A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−227712(P2011−227712)
【出願日】平成23年10月17日(2011.10.17)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】