(57)【要約】【課題】デバイス装置のスピードモードを速やかにホスト装置が検出し、接続確立までの時間を短縮することができる、シリアル通信システム及びシリアル通信システムにおけるホスト装置の動作方法を提供する。【解決手段】ホスト装置が、複数のスピードモードに対応する複数のクロック信号を生成し、複数のクロック信号のそれぞれに基づいてデバイス装置からの受信信号をサンプリングし、複数のサンプリング結果の各々に前記接続認識用信号が含まれているか否かを判定する。これにより、一回のスピードネゴシエーションで、デバイス装置のスピードモードを認識することができる。【選択図】図２
2013080426.tif 000002
【特許請求の範囲】
【請求項１】
複数のスピードモードをサポートするホスト装置と、
前記ホスト装置と接続され、複数のスピードモードをサポートし、スピードネゴシエーション時に前記ホスト装置に対して接続認識用信号を送信する、デバイス装置と、
を具備し、
前記ホスト装置は、
前記デバイス装置から信号を受信し、受信信号を生成する、レシーバと、
前記受信信号に基づいて、前記デバイス装置のスピードモードを識別し、識別結果を示す識別信号を生成する、判定部と、
前記識別信号に基づいて、前記ホスト装置のスピードモードを前記デバイス装置のスピードモードに一致するように設定する、伝送速度設定部とを備え、
前記判定部は、
前記複数のスピードモードに対応する複数のクロック信号を生成する、サンプリング用クロック信号生成部と、
前記複数のクロック信号のそれぞれに基づいて前記受信信号をサンプリングし、前記複数のスピードモードに対応する複数のサンプリング結果を生成し、前記複数のサンプリング結果の各々に前記接続認識用信号が含まれているか否かを判定する、パタン判定部とを備え、
前記判定部は、前記パタン判定部による判定結果に基づいて、前記識別信号を生成する
シリアル通信システム。
【請求項２】
請求項１に記載されたシリアル通信システムであって、
前記判定部は、更に、周期性判定部を備えており、
前記周期性判定部は、前記パタン判定部における判定結果に基づいて、前記各サンプリング結果において前記接続認識用信号が周期的に検出されたか否かを判定し、周期的に検出された場合に、前記接続認識用信号を含むサンプリング結果に対応するスピードモードを前記デバイス装置のスピードモードとして識別し、識別結果を示す信号を前記識別信号として生成する
シリアル通信システム。
【請求項３】
請求項２に記載されたシリアル通信システムであって、
前記周期性判定部は、前記各サンプリング結果において前記接続認識用信号が周期的に検出された回数を予め定められた回数と比較し、前記検出された回数が予め定められた回数に達した場合に、前記対応するスピードモードを前記デバイス装置のスピードモードとして識別する
シリアル通信システム。
【請求項４】
請求項１乃至３のいずれかに記載されたシリアル通信システムであって、
前記パタン判定部は、前記複数のクロック信号を時分割で用いて前記受信信号をサンプリングする
シリアル通信システム。
【請求項５】
請求項１乃至３のいずれかに記載されたシリアル通信システムであって、
前記パタン判定部は、前記複数のクロック信号を並列に用いて、前記受信信号をサンプリングする
シリアル通信システム。
【請求項６】
請求項４に記載されたシリアル通信システムであって、
前記サンプリング用クロック信号生成部は、前記複数のスピードモードのうちの最速のスピードモードに対応するクロック信号を取得し、前記取得したクロック信号を分周することにより、前記複数のクロック信号を生成する
シリアル通信システム。
【請求項７】
請求項５に記載されたシリアル通信システムであって、
前記サンプリング用クロック信号生成部は、前記複数のスピードモードのうちの最速のスピードモードに対応するクロック信号を取得し、前記取得したクロック信号を分周することにより、前記複数のクロック信号を生成する
シリアル通信システム。
【請求項８】
請求項６に記載されたシリアル通信システムであって、
前記判定部は、更に、前記複数のクロック信号のうちの一つを選択クロック信号として前記パタン判定部に供給する、クロックセレクト部を備え、
前記クロックセレクト部は、前記選択クロック信号のクロック回数をカウントし、前記カウントされたクロック回数が予め定められた回数に達した場合に、前記選択クロック信号を切り替える
シリアル通信システム。
【請求項９】
請求項７に記載されたシリアル通信システムであって、
前記判定部は、更に、前記複数のクロック信号のうちの一つを選択クロック信号として前記パタン判定部に供給する、クロックセレクト部を備え、
前記クロックセレクト部は、前記各サンプリング結果に基づいて、前記選択クロック信号を切り替える
シリアル通信システム。
【請求項１０】
請求項８又は９に記載されたシリアル通信システムであって、
前記ホスト装置は、更に、前記レシーバに信号が入力されているか否かを検出し、検出結果を示すスケルチ出力信号を生成する、信号検出部を備え、
前記クロックセレクト部は、前記スケルチ出力信号に基づいて、前記レシーバに信号が入力されている場合に、前記選択クロック信号を選択し、前記パタン判定部に供給する
シリアル通信システム。
【請求項１１】
請求項６乃至１０のいずれかに記載されたシリアル通信システムであって、
前記ホスト装置は、更に、
基準クロック信号を生成する、制御部と、
前記基準クロック信号に基づいて、前記受信信号からデータ信号および受信再生クロック信号を分離する、データ抽出部とを備え、
前記サンプリング用クロック信号生成部は、前記受信再生クロック信号を取得し、分周することにより、前記複数のクロック信号を生成する
シリアル通信システム。
【請求項１２】
請求項１乃至１１のいずれかに記載されたシリアル通信システムで使用される、
ホスト装置。
【請求項１３】
デバイス装置から信号を受信し、受信信号を生成するステップと、
前記受信信号に基づいて、前記デバイス装置がサポートするデバイス装置のスピードモードを識別し、識別結果を示す識別信号を生成するステップと、
前記識別信号に基づいて、前記デバイス装置のスピードモードに一致するように、前記デバイス装置との通信に用いられるスピードモードを設定するステップと、
を具備し、
前記識別信号を生成するステップは、
複数のスピードモードに対応する複数のクロック信号を生成するステップと、
前記複数のクロック信号のそれぞれに基づいて、前記受信信号をサンプリングし、前記複数のスピードモードに対応する複数のサンプリング結果を生成し、前記複数のサンプリング結果の各々に接続認識用信号が含まれているか否かを判定するステップと、
前記判定するステップにおける判定結果に基づいて、前記識別信号を生成するステップとを備えている
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１４】
請求項１３に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記判定するステップにおける判定結果に基づいて、前記識別信号を生成するステップは、
前記各サンプリング結果において前記接続認識用信号が周期的に検出されたか否かを判定するステップと、
前記接続認識用信号が周期的に検出された場合に、対応するスピードモードを前記デバイス装置のスピードモードとして識別するステップとを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１５】
請求項１４に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記対応するスピードモードを前記デバイス装置のスピードモードとして識別するステップは、
前記各サンプリング結果において前記接続認識用信号が周期的に検出された回数を予め定められた回数と比較するステップと、
前記検出された回数が予め定められた回数に達した場合に、前記対応するスピードモードを前記デバイス装置のスピードモードとして識別するステップとを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１６】
請求項１３乃至１５のいずれかに記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記複数のサンプリング結果の各々に前記接続認識用信号が含まれているか否かを判定するステップは、前記複数のクロック信号を時分割で用いて前記受信信号をサンプリングするステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１７】
請求項１３乃至１５のいずれかに記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記複数のサンプリング結果の各々に前記接続認識用信号が含まれているか否かを判定するステップは、前記複数のクロック信号を並列に用いて、前記受信信号をサンプリングするステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１８】
請求項１６に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記複数のクロック信号を生成するステップは、前記複数のスピードモードのうちの最速のスピードモードに対応するクロック信号を取得し、前記取得したクロック信号を分周することにより、前記複数のクロック信号を生成するステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項１９】
請求項１７に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記複数のクロック信号を生成するステップは、前記複数のスピードモードのうちの最速のスピードモードに対応するクロック信号を取得し、前記取得したクロック信号を分周することにより、前記複数のクロック信号を生成するステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項２０】
請求項１８に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記識別信号を生成するステップは、更に、前記複数のクロック信号のうちの一つを選択クロック信号として選択するステップを備え、
前記複数のサンプリング結果の各々に接続認識用信号が含まれているか否かを判定するステップは、前記選択クロック信号を用いて前記受信信号をサンプリングするステップを含んでおり、
前記選択するステップは、前記選択クロック信号のクロック回数をカウントし、前記カウントされたクロック回数が予め定められた回数に達する毎に、前記選択クロック信号を切り替えるステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項２１】
請求項１９に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
前記識別信号を生成するステップは、更に、前記複数のクロック信号のうちの一つを選択クロック信号として選択するステップを備え、
前記複数のサンプリング結果の各々に接続認識用信号が含まれているか否かを判定するステップは、前記選択クロック信号を用いて前記受信信号をサンプリングするステップを含んでおり、
前記選択するステップは、前記複数のサンプリング結果に基づいて、前記選択クロック信号を切り替えるステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項２２】
請求項２０又は２１に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
更に、
前記デバイス装置から信号を受信しているか否かを検出し、検出結果を示すスケルチ出力信号を生成するステップ、
を具備し、
前記選択するステップは、前記スケルチ出力信号に基づいて、前記信号を受信している間に、前記選択クロック信号を選択し、前記パタン判定部に供給する
シリアル通信システムにおけるホスト装置の動作方法。
【請求項２３】
請求項１８乃至２２に記載されたシリアル通信システムにおけるホスト装置の動作方法であって、
更に、
基準クロック信号を生成するステップと、
前記基準クロック信号に基づいて、前記受信信号からデータ信号および受信再生クロック信号を分離するステップと、
を具備し、
前記取得したクロック信号を分周することにより、前記複数のクロック信号を生成するステップは、前記受信再生クロック信号を分周することにより、前記複数のクロック信号を生成するステップを含んでいる
シリアル通信システムにおけるホスト装置の動作方法。
【請求項２４】
請求項１３乃至２３のいずれかに記載されたシリアル通信システムにおけるホスト装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信システムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータを中心に、大容量のデータ転送を行う為に、高速シリアルインターフェースを利用したシリアル通信システムが用いられている。そのようなシリアル通信システムでは、ホスト装置とデバイス装置とが高速シリアルインターフェースを介して通信する。
【０００３】
高速シリアルインターフェースには、通信時における伝送速度（以下、スピードモード）として、複数のスピードモードが存在する場合がある。動画の高画質化や高精細化などにより、シリアル通信システムで扱われるデータの量が増加している。そのため、シリアル通信システムには、常に通信スピードの向上が求められ、通信規格の改定により、高速な通信スピードモードが追加されてきた。例えば、シリアルＡＴＡ規格には、３つのスピードモードが存在する。第１世代（Ｇｅｎ１）のスピードモードは１．５Ｇｂｐｓであり、第２世代（Ｇｅｎ２）のスピードモードは３．０Ｇｂｐｓであり、第３世代（Ｇｅｎ３）のスピードモードは６．０Ｇｂｐｓである。複数のスピードモードが存在する場合、ホスト装置とデバイス装置との間では、双方がサポートしているスピードモードのうちの最速のスピードモードで通信が行なわれることが好ましい。そのため、通信の開始前に、スピードネゴシエーションと呼ばれる処理が行われ、スピードモードが調整される。
【０００４】
上記に関連して、引用文献１には、シリアルＡＴＡ規格におけるインターフェースの仕様が規定されている。図１を参照し、引用文献１に記載されたシリアル通信システムの初期化時（接続確立処理時）における動作を説明する。図１には、引用文献１に記載されたシリアル通信システムにおける、ホスト装置の状態遷移図が示されている。但し、本発明に関連する非特許文献１に記載の、状態ＨＰ１、状態ＨＰ７〜状態ＨＰ１１についてのみ示す。図１において、詳細は省略されているが、状態ＨＰ１から状態ＨＰ７までの処理により、ホスト装置は、デバイス装置との間で、接続確認のため、ＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）信号のやり取りを行う。その後、状態ＨＰ８（ＨＲ＿ＡｗａｉｔＡＬＩＧＮステート）において、ホスト装置は、デバイス装置との間で、スピードネゴシエーションを行う。状態ＨＰ８では、ホスト装置の受信側のスピードモードが最新の世代のスピードモードに設定される。状態ＨＰ８においては、ホスト装置は、デバイス装置から送信されるＡＬＩＧＮプリミティブを受信し、デバイス装置のスピードモードを判定する。ＡＬＩＧＮプリミティブは、接続確認用のデータであり、予め定められた４０ｂｉｔのデータである。ここで、ホスト装置のスピードモードがデバイス装置のスピードモードに一致している場合、ホスト装置は、ＡＬＩＧＮプリミティブを検出することができる。この場合、ホスト装置は、状態ＨＰ９に遷移して送信側のスピードモードの設定を行い、状態ＨＰ１０へ遷移し、デバイス装置が送信している伝送速度と同一速度でＡＬＩＧＮプリミティブをデバイス装置へ返信し、スピードネゴシエーションが完了する。さらに、デバイス装置からＡＬＩＧＮプリミティブ以外のプリミティブが送信され、ホスト装置が受信すると、状態ＨＰ１１に遷移し、接続確立が完了する。一方、状態ＨＰ８において、ホスト装置のスピードモードがデバイス装置のスピードモードよりも速い場合、ホスト装置は、ＡＬＩＧＮプリミティブを検出できない。ホスト装置は、所定の時間（最長８７３．８μｓ）、ＡＬＩＧＮプリミティブを検出できない場合、ホスト装置は受信側のスピードモードを１世代落として、状態ＨＰ１に戻り、ＡＬＩＧＮプリミティブが検出されるまで、状態ＨＰ１から状態ＨＰ８までの処理が繰り返される。
【０００５】
尚、ＡＬＩＧＮプリミティブとは、転送制御用に定義された制御コード（プリミティブ）の１種であり、８ｂ／１０ｂ変換におけるＫ２８．５コードを先頭に、４つのコードシンボルの列（Ｄ１０．２、Ｄ１０．２、Ｄ２７．３）により示される。また、これらのコードシンボルには、それぞれ、ランニングディスパリティ（ＲＤ）の値（＋または−）に応じて、ビットパタンが定義されている。ＲＤ−から始まる場合の各コードシンボルのビット列の一例を以下に示す。
【０００６】
Ｋ２８．５ＲＤ−：００１１１１１０１０
Ｄ１０．２ＲＤ＋：０１０１０１０１０１
Ｄ２７．３ＲＤ＋：００１００１１１００
すなわち、ＲＤ−から始まる場合、ＡＬＩＧＮプリミティブは、“００１１１１１０１００１０１０１０１０１０１０１０１０１０１００１００１１１００”という４０ビットのビット列により表される。スピードネゴシエーション時には、この４０ビットのビット列が、デバイス装置からホスト装置へ送信される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  −ＡＴ  Ａｔｔａｃｈｍｅｎｔ  ｗｉｔｈ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ  −  ７  Ｖｏｌｕｍｅ  ３  −  Ｓｅｒｉａｌ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌｓ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  （ＡＴＡ／ＡＴＡＰＩ−７  Ｖ３）  Ｒｅｖｉｓｉｏｎ  ４ｂ  ２１  Ａｐｒｉｌ  ２００４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１に記載された技術では、状態ＨＰ８（図１参照）において、ホスト装置のスピードモードがデバイス装置のスピードモードよりも早い場合、ホスト装置は、最長８７３．８μｓの間、タイムアウトを待たなければならない。そして、タイムアウト後に、ホスト装置は、状態ＨＰ１以降の処理（ＯＯＢ信号のやりとり）をやり直さなければならない。そのため、ホスト装置は、デバイス装置のスピードモードを即座に検出することができず、接続確立のために長時間が費やされてしまうことがあった。
【課題を解決するための手段】
【０００９】
本実施形態に係るシリアル通信システムは、複数のスピードモードをサポートするホスト装置と、前記ホスト装置と接続され、複数のスピードモードをサポートし、スピードネゴシエーション時に前記ホスト装置に対して接続認識用信号を送信する、デバイス装置とを具備する。前記ホスト装置は、前記デバイス装置から信号を受信し、受信信号を生成する、レシーバと、前記受信信号に基づいて、前記デバイス装置のスピードモードを識別し、識別結果を示す識別信号を生成する、判定部と、前記識別信号に基づいて、前記ホスト装置のスピードモードを前記デバイス装置のスピードモードに一致するように設定する、伝送速度設定部とを備える。前記判定部は、前記複数のスピードモードに対応する複数のクロック信号を生成する、サンプリング用クロック信号生成部と、前記複数のクロック信号のそれぞれに基づいて前記受信信号をサンプリングし、前記複数のスピードモードに対応する複数のサンプリング結果を生成し、前記複数のサンプリング結果の各々に前記接続認識用信号が含まれているか否かを判定する、パタン判定部とを備える。前記判定部は、前記パタン判定部による判定結果に基づいて、前記識別信号を生成する。
【００１０】
上述の発明によれば、サンプリング用クロック信号生成部が、複数のスピードモードのそれぞれに対応する複数のクロック信号を生成する。そして、パタン判定部は、複数のクロック信号のそれぞれに基づいて、受信信号をサンプリングし、各サンプリング結果に接続認識用信号が含まれているか否かを判定する。複数のスピードモードのそれぞれに対応する複数のクロック信号が生成されるので、１回のスピードネゴシエーションによりデバイス装置のスピードモードを判別することができ、接続確立までの時間を短縮することができる。
【００１１】
本発明に係るシリアル通信システムにおけるホスト装置の動作方法は、デバイス装置から信号を受信し、受信信号を生成するステップと、前記受信信号に基づいて、前記デバイス装置がサポートするデバイススピードモードを識別し、識別結果を示す識別信号を生成するステップと、前記識別信号に基づいて、前記デバイススピードモードに一致するように、前記デバイス装置との通信に用いられるスピードモードを設定するステップとを具備する。前記識別信号を生成するステップは、複数のスピードモードのそれぞれに対応する複数のクロック信号を生成するステップと、前記複数のクロック信号のそれぞれに基づいて、前記受信信号をサンプリングし、前記複数のスピードモードに対応する複数のサンプリング結果を生成し、前記複数のサンプリング結果の各々に接続認識用信号が含まれているか否かを判定するステップと、前記判定するステップにおける判定結果に基づいて、前記識別信号を生成するステップとを備えている。
【発明の効果】
【００１２】
本発明によれば、デバイス装置のスピードモードを速やかに検出し、接続確立までの時間を短縮することのできる、シリアル通信システム、及びシリアル通信システムにおけるホスト装置の動作方法が提供される。
【図面の簡単な説明】
【００１３】
【図１】引用文献１に記載されたシリアル通信システムにおける、ホスト装置の状態遷移図である。
【図２】第１の実施形態に係るシリアル通信システムを示すブロック図である。
【図３】クロック分周部の一例を示すブロック図である。
【図４】クロックセレクト部の構成を示すブロック図である。
【図５】起動時における判定部の動作を示すフローチャートである。
【図６Ａ】パタン判定部の動作を示すフローチャートである。
【図６Ｂ】パタン判定部の動作を示すフローチャートである。
【図７Ａ】周期性判定部の動作方法を示すフローチャートである。
【図７Ｂ】周期性判定部の動作方法を示すフローチャートである。
【図８】伝送速度設定部の動作方法を示すフローチャートである。
【図９Ａ】クロックセレクト部の動作方法を示すフローチャートである。
【図９Ｂ】クロックセレクト部の動作方法を示すフローチャートである。
【図１０】第２の実施形態に係るシリアル通信システムにおけるホスト装置の受信部の構成を示すブロック図である。
【図１１】クロックセレクト部を示すブロック図である。
【図１２Ａ】パタン判定部の動作方法を示すフローチャートである。
【図１２Ｂ】パタン判定部の動作方法を示すフローチャートである。
【図１３Ａ】周期性判定部の動作方法を示すフローチャートである。
【図１３Ｂ】周期性判定部の動作方法を示すフローチャートである。
【図１４】クロックセレクト部の動作方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、図面を参照しつつ、本発明の実施形態を説明する。
【００１５】
（第１の実施形態）
図２は、本実施形態に係るシリアル通信システムを示すブロック図である。図２に示されるように、本実施形態に係るシリアル通信システムは、ホスト装置及びデバイス装置を備えている。ホスト装置とデバイス装置とは、シリアルケーブルを介して接続されている。ホスト装置とデバイス装置との間のインターフェースとしては、シリアルＡＴＡ規格に準拠したインターフェースが採用される。ホスト装置は、複数のスピードモードをサポートしている。
【００１６】
図２には、ホスト装置の受信部の構成が示されている。図２に示されるように、ホスト装置は、制御部３１０、レシーバ３３０、データ抽出部３２０、信号検出部３４０、判定部２００、及び伝送速度設定部２５０を備えている。
【００１７】
制御部３１０は、スピードモード設定信号ＳＰＤＳ及びシステムクロックＳＣＬＫに基づいて、スピードモード設定信号ＳＰＤＳが示すスピードモードに対応する受信用の基準クロック信号ＲＦＣを生成する機能を有している。なお、スピードモード設定信号ＳＰＤＳは、後述するように、伝送速度設定部２５０により生成される。スピードネゴシエーション時には、伝送速度設定部２５０は、スピードモードの初期値を、ホスト装置がサポートするスピードモードのうちの最速のスピードモードに設定する。すなわち、スピードネゴシエーションの開始時に、制御部３１０は、最速のスピードモードに対応する受信用の基準クロック信号ＲＦＣを生成する。また、制御部３１０は、ホスト装置とデバイス装置との間でスピードネゴシエーションが成立した場合に、通信可能であることを示すコミュニケーション確立信号ＲＤＹを生成する機能を有している。
【００１８】
レシーバ３３０は、デバイス装置からデータを受信する部分である。レシーバ３３０の正極性端子ＲＸ＋及び負極性端子ＲＸ−は、シリアルケーブルを介して、デバイス装置に接続されている。レシーバ３３０は、正極性端子ＲＸ＋及び負極性端子ＲＸ−を介して、デバイス装置から差動入力信号ＲＸ±を取得する。そして、レシーバ３３０は、差動入力信号ＲＸ±を量子化し、シリアルデータ信号ＳＤ（受信信号）として出力する。シリアルデータ信号ＳＤは、データ抽出部３２０および判定部２００に供給される。ここで、デバイス装置から送られてくる差動入力信号ＲＸ±には、データ信号にクロック信号が重畳されている。
【００１９】
データ抽出部３２０は、シリアルデータ信号ＳＤから、クロック信号（受信再生クロック信号ＲＣＬＫ）とデータ信号とを分離する部分である。データ抽出部３２０は、シリアルデータ信号ＳＤにおけるエッジを検出することにより、基準クロック信号ＲＦＣの位相を調整し、受信再生クロック信号ＲＣＬＫを生成する。受信再生クロック信号ＲＣＬＫは、判定部２００に供給される。また、データ抽出部３２０は、基準クロック信号ＲＦＣに基づいて、シリアルデータ信号ＳＤからデータ信号を分離する。分離されたデータ信号は、直並列変換され、パラレルデータ信号ＰＤとして出力される。
【００２０】
信号検出部３４０は、差動入力信号ＲＸ±を取得し、ＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）信号を検出する機能を有している。信号検出部３４０は、ＯＯＢ信号としてＣＯＭＩＮＩＴ信号を検出した場合、ＣＯＭＩＮＩＴ検出信号ＣＩＮＩＴを生成する。また、信号検出部３４０は、ＯＯＢ信号としてＣＯＭＷＡＫＥ信号を検出した場合、ＣＯＭＷＡＫＥ検出信号ＣＷＡＫＥを生成する。また、信号検出部３４０は、差動入力信号ＲＸ±として、閾値を超えるレベルの信号が供給されているか否かを判別し、閾値を超える信号が供給されている場合には、スケルチ出力信号ＳＱＯを生成し、判定部２００に供給する。
【００２１】
判定部２００は、スピードネゴシエーション時に、デバイス装置がサポートしているスピードモード（デバイススピードモード）を特定する部分である。図２に示されるように、判定部２００は、クロック分周部２７０、クロックセレクト部２６０、パタン判定部２１０、及び周期性判定部２２０を備えている。
【００２２】
クロック分周部２７０（サンプリング用クロック信号生成部）は、複数のスピードモードのそれぞれに対応する複数のクロック信号（サンプリング用クロック信号）を生成する機能を有している。既述のように、スピードネゴシエーションの開始時には、スピードモード設定信号ＳＰＤＳとして、ホスト装置がサポートする最速のスピードモードを示す信号が制御部３１０に供給される。その結果、制御部３１０は、基準クロック信号ＲＦＣとして、最速のスピードモードに対応する周波数の信号を生成する。これにより、データ抽出部３２０も、受信再生クロック信号ＲＣＬＫとして、最速のスピードモード（最新の世代）に対応するクロック信号を生成する。そこで、クロック分周部２７０は、最速のスピードモードに対応する受信再生クロック信号ＲＣＬＫを、２ｎ−１分周（ｎ＝１、２、・・・、ｘ：ホスト装置がサポートする最新の世代を示す数）することにより、複数の世代のスピードモードに対応する複数のサンプリング用クロック信号ＲＤＣＬＫｎを生成する。複数のサンプリング用クロック信号ＲＤＣＬＫｎ（（ｎ＝１、２、・・・、ｘ）は、クロックセレクト部２６０に供給される。
【００２３】
図３は、クロック分周部２７０の一例を示すブロック図である。クロック分周部２７０は、１分周器、２分周器、４分周器、・・・、及び２ｎ−１分周器を備えている。これらの分周器のそれぞれが受信再生クロック信号ＲＣＬＫを分周することにより、複数のサンプリング用クロック信号ＲＤＣＬＫｎが生成される。例えば、ホスト装置が第１世代から第３世代までのそれぞれのスピードモードをサポートしている場合、クロック分周部２７０は、受信再生クロック信号ＲＣＬＫを、４分周、２分周、及び１分周（分周なし）することにより、第１世代乃至第３世代に対応する３つのサンプリング用クロック信号（ＲＤＣＬＫ１、ＲＤＣＬＫ２、ＲＤＣＬＫ３）を生成する。
【００２４】
クロックセレクト部２６０（図２参照）は、複数のサンプリング用クロック信号ＲＤＣＬＫｎのいずれかを選択し、セレクト受信クロック信号ＳＲＤＣＬＫとして、パタン判定部２１０及び周期性判定部２２０に供給する機能を有している。図４は、クロックセレクト部２６０の構成を示すブロック図である。クロックセレクト部２６０は、クロックセレクト制御部２６２及びセレクタ部２６１を備えている。クロックセレクト制御部２６２は、複数のサンプリング用クロック信号ＲＤＣＬＫｎ（ｎ＝１，２，３，・・・）、スケルチ出力信号ＳＱＯ、及びパタン判定部２１０により生成されるパタン検出信号ＰＤＴに基づいて、選択する世代を示すクロックジェネレーション信号ＳＧＥＮを生成する。セレクタ部２６１は、クロックジェネレーション信号ＳＧＥＮに基づいて、複数のサンプリング用クロック信号ＲＤＣＬＫｎ（ｎ＝１，２，３，・・・）からセレクト受信クロック信号ＳＲＤＣＬＫを選択する。この際、クロックセレクト制御部２６２は、セレクト受信クロック信号ＳＲＤＣＬＫのクロック回数が予め定められた回数（Ｔ回）に達する度に、選択する世代を切り換え、セレクト受信クロック信号ＳＲＤＣＬＫを切り換える。選択される世代は、降順で切り換えられてもよく、昇順に切り換えられてもよく、ランダムに切り換えられてもよい。本実施例では、最新の世代から降順で切り換えが行なわれる場合について説明する。また、クロックセレクト制御部２６２は、５４．６ｕｓの期間において、各世代のサンプリング用クロック信号が少なくとも一回は選択されるように、選択する世代を切り換える。また、クロックセレクト制御部２６２は、パタン検出信号ＰＤＴがオンになった場合には、選択する世代を固定する。
【００２５】
続いて、パタン判定部２１０（図２参照）について説明する。パタン判定部２１０は、セレクト受信クロック信号ＳＲＤＣＬＫに基づいてシリアルデータ信号ＳＤをサンプリングし、サンプリング結果にＡＬＩＧＮプリミティブ（接続認識用信号）が含まれているか否かを判定する機能を有している。
【００２６】
パタン判定部２１０は、スケルチ出力信号ＳＱＯがオンになると、セレクト受信クロック信号ＳＲＤＣＬＫに基づいて、シリアルデータ信号ＳＤをサンプリングする。パタン判定部２１０は、パタン検出部２１１を有しており、パタン検出部２１１により、そのサンプリング結果にＡＬＩＧＮプリミティブが出現しているか否かを監視する。既述のように、セレクト受信クロック信号ＳＲＤＣＬＫは、クロックセレクト部２６０により、所定の回数（Ｔ回）カウントされる度に切り換えられる。従って、パタン判定部２１０は、複数のサンプリング用クロック信号ＲＤＣＬＫｎ（ｎ＝１，２，３，・・・）を時分割に用いて、ＡＬＩＧＮプリミティブの出現の有無を監視する。ＡＬＩＧＮプリミティブが出現した場合、パタン判定部２１０は、パタン検出信号ＰＤＴを生成し、クロックセレクト部２６０に供給する。この場合、既述のように、クロックセレクト部２６０は、選択する世代を固定する。また、ＡＬＩＧＮプリミティブが出現した場合、パタン判定部２１０は、周期カウンタ開始信号ＣＳＴを生成し、周期性判定部２２０に供給する。更に、パタン判定部２１０は、ＡＬＩＧＮプリミティブが出現した場合、クロックジェネレーション信号ＳＧＥＮを取得し、クロックジェネレーション信号ＳＧＥＮが示す世代を示す情報を保存する。更に、パタン判定部２１０は、クロックジェネレーション信号ＳＧＥＮに基づいて、前回ＡＬＩＧＮプリミティブが検出された時の世代と今回の世代とが同じであるか否かを判別する。前回の世代と今回の世代が同じである場合、パタン判定部２１０は、前回のＡＬＩＧＮプリミティブと今回のＡＬＩＧＮプリミティブとの間の周期を確認する為、パタン判定有効信号ＰＥＮを生成し、周期性判定部２２０に供給する。一方、前回の世代と今回の世代とが異なっている場合、パタン判定部２１０は、周期性判定リセット信号ＣＲＳを生成し、周期性判定部２２０に供給する。
【００２７】
周期性判定部２２０は、デバイス装置のスピードモードの誤判定を防ぐ為に設けられている。周期性判定部２２０は、予め定められた周期で、予め定められた回数以上のＡＬＩＧＮプリミティブが、検出されたか否かを判別する機能を有している。デバイス装置は、スピードネゴシエーション時に、ＡＬＩＧＮプリミティブを、連続的に、繰り返し、送信する。ＡＬＩＧＮプリミティブの検出回数が１回だけである場合には、ＡＬＩＧＮプリミティブが誤検出された場合、デバイス装置のスピードモードを誤判定してしまう可能性がある。一方で、同一の世代のスピードモードにおいて所定の回数以上のＡＬＩＧＮプリミティブが繰り返し検出された場合には、当該スピードモードが確実にデバイス装置のスピードモードであると判断することができる。
【００２８】
図２に示されるように、周期性判定部２２０は、周期カウンタ２２１及び連続検出カウンタ２２２を備えている。周期カウンタ２２１は、ＡＬＩＧＮプリミティブの検出周期をカウントするカウンタである。連続検出カウンタ２２２は、ＡＬＩＧＮプリミティブが連続して検出された回数をカウントするカウンタである。周期性判定部２２０は、パタン判定部２１０から周期カウンタ開始信号ＣＳＴを取得すると、周期カウンタ２２１を起動し、セレクト受信クロック信号ＳＲＤＣＬＫのクロック回数のカウントを開始する。また、周期性判定部２２０は、パタン判定有効信号ＰＥＮを受け取った場合、周期カウンタ２２１の値を確認し、前回のＡＬＩＧＮプリミティブと今回のＡＬＩＧＮプリミティブとの間の周期が、所定の周期であるか否かを判別する。所定の周期でＡＬＩＧＮプリミティブが検出された場合には、連続検出カウンタ２２２が示す値をカウントアップする。そして、周期性判定部２２０は、連続検出カウンタ２２２が示す値に基づいて、所定の回数以上のＡＬＩＧＮプリミティブが所定の周期で検出されたか否かを判断する。所定の回数以上のＡＬＩＧＮプリミティブが所定の周期で検出された場合、周期性判定部２２０は、そのときのクロックジェネレーション信号ＳＧＥＮが示す世代を示す信号を、世代判定信号ＧＥＮとして生成し、伝送速度設定部２５０に通知する。また、周期性判定部２２０は、速度判定有効信号ＳＥＮを生成し、伝送速度設定部２５０に通知する。一方、ＡＬＩＧＮプリミティブの検出周期が、所定の周期ではない場合、周期性判定部２２０は、パタン判定リセット信号ＰＲＳを生成し、パタン判定部２１０に通知する。
【００２９】
伝送速度設定部２５０は、ホスト装置が採用するスピードモードを示すスピードモード設定信号ＳＰＤＳを生成し、制御部３１０に供給する機能を有している。スピードネゴシエーション時には、伝送速度設定部２５０は、初期値として、ホスト装置がサポートするスピードモードのうちの最速のスピードモードを示す信号を、スピードモード設定信号ＳＰＤＳとして生成する。また、判定部２００から速度判定有効信号ＳＥＮ及び世代判定信号ＧＥＮを取得した場合、伝送速度設定部２５０は、世代判定信号ＧＥＮにより示される世代のスピードモードを示す信号を、スピードモード設定信号ＳＰＤＳとして生成する。
【００３０】
続いて、シリアル通信システムの動作方法について説明する。
【００３１】
図５は、起動時における判定部２００の動作を示すフローチャートである。
【００３２】
判定部２００においては、パタン判定部２１０が、コミュニケーション確立信号ＲＤＹを確認する（ステップＳ１０２）。コミュニケーション確立信号ＲＤＹがアクティブである場合、ホスト装置とデバイス装置との間の接続が確立している。したがって、この場合、パタン判定部２１０は、特に処理を行わず、コミュニケーション確立信号ＲＤＹがインアクティブになるまで待機する。一方、コミュニケーション確立信号ＲＤＹがインアクティブである場合、パタン判定部２１０は、デバイス装置からＣＯＭＷＡＫＥ信号を受信したことを示すＣＯＭＷＡＫＥ検出信号ＣＷＡＫＥがアクティブになっているか否かを判定する（ステップＳ１０４）。ＣＯＭＷＡＫＥ検出信号ＣＷＡＫＥがアクティブではない場合、パタン判定部２１０は、ＣＯＭＷＡＫＥ検出信号ＣＷＡＫＥがアクティブになるまで待機する。ＣＯＭＷＡＫＥ検出信号ＣＷＡＫＥがアクティブである場合、判定部２００は、スピードネゴシエーションを行なう為、初期設定を行い、周期カウンタ２２１、連続検出カウンタ２２２、パタン判定部２１０に含まれるＡＬＩＧＮプリミティブを検出するためのフラグ等をリセットする（ステップＳ１０６）。なお、パワーマネジメントからの復帰時にも、デバイス装置からＣＯＭＷＡＫＥ信号が送られてくることがあるが、この場合のＣＯＭＷＡＫＥ信号は、本動作の対象外である。
【００３３】
デバイス装置は、ＣＯＭＷＡＫＥの送信後、デバイスがサポートするスピードモード（デバイススピードモード）で、ＡＬＩＧＮプリミティブをホスト装置に送信する。そして、スピードネゴシエーションが行なわれ、ホスト装置がデバイススピードモードを認識する。以下に、スピードネゴシエーション時におけるパタン判定部２１０の動作を説明する。図６Ａ及び図６Ｂは、パタン判定部２１０の動作を示すフローチャートである。
【００３４】
パタン判定部２１０は、まず、ＡＬＩＧＮプリミティブのひな型のデータパタンを、検出対象のデータパタンとして設定する（ステップＳ２０２）。本実施形態では、検出対象のデータパタンとして、ランニングディスパリティ（ＲＤ）の値が−（マイナス）から始まる４０ビットのＡＬＩＧＮプリミティブのデータパタン（Ｋ２８．５（００１１１１１０１０）、Ｄ１０．２（０１０１０１０１０１）、Ｄ１０．２（０１０１０１０１０１）、Ｄ２７．３（００１００１１１００））が設定されるものとする。
【００３５】
次いで、パタン判定部２１０は、信号検出部３４０から出力されるスケルチ出力信号ＳＱＯを監視する（ステップＳ２０６）。スケルチ出力信号ＳＱＯがオフである場合、パタン判定部２１０は、スケルチ出力信号ＳＱＯがオンになるまで待機する。
【００３６】
スケルチ出力信号ＳＱＯがオンである場合、ホスト装置は、デバイス装置からＡＬＩＧＮプリミティブを示す信号を受信していることになる。従って、パタン判定部２１０は、ＡＬＩＧＮプリミティブを含むシリアルデータ信号ＳＤの受信を開始し、セレクト受信クロック信号ＳＲＤＣＬＫに基づいてシリアルデータ信号ＳＤをサンプリングする（ステップＳ２１４）。
【００３７】
次いで、パタン判定部２１０は、スケルチ出力信号ＳＱＯのオン状態が続いているか否かを判定する（ステップＳ２１６）。スケルチ出力信号ＳＱＯがオフになっている場合は、パタン判定部２１０は、周期性判定リセット信号ＣＲＳをオン、周期カウンタ開始信号ＣＳＴをオフにし（ステップＳ２４８）、ステップＳ２０６以降の処理を繰り返す。
【００３８】
ステップＳ２１６においてスケルチ出力信号ＳＱＯのオン状態が続いている場合、パタン判定部２１０は、周期性判定部２２０から通知されるパタン判定リセット信号ＰＲＳがオンであるか否かを判定する（ステップＳ２１８）。パタン判定リセット信号ＰＲＳがオンである場合、パタン判定部２１０は、前回の検出時におけるクロックジェネレーション信号ＳＧＥＮの世代を示す情報を、リセットする（ステップＳ２４２）。更に、パタン判定部２１０は、パタン判定有効信号ＰＥＮ及び周期性判定リセット信号ＣＲＳをオフに設定し、ステップＳ２１６以降の処理を繰り返す（ステップＳ２４６）。
【００３９】
一方、ステップＳ２１８において、パタン判定リセット信号ＰＲＳがオフの場合、パタン判定部２１０は、サンプリング結果が示すデータが、ステップＳ２０２で設定された検出対象のパタンと一致するか否かを判定する（ステップＳ２２２）。一致しない場合には、ステップＳ２４６以降の処理が繰り返される。
【００４０】
ステップＳ２２２において、サンプリング結果が検出対象のパタンと一致した場合、すなわち、ＡＬＩＧＮプリミティブが検出された場合、パタン判定部２１０は、セレクト受信クロック信号ＳＲＤＣＬＫの世代を固定する為、パタン検出信号ＰＤＴをアクティブ（オン）にし、クロックセレクト部２６０に通知する（ステップＳ２３２）。また、パタン判定部２１０は、周期カウンタ開始信号ＣＳＴをオンとして、周期性判定部２２０に通知する（ステップＳ２１２）。
【００４１】
次いで、パタン判定部２１０は、クロックジェネレーション信号ＳＧＥＮに基づいて、前回ＡＬＩＧＮプリミティブが検出されたときの世代と、今回の世代とが同じであるか否かを判定する（ステップＳ２３７）。異なる場合、パタン判定部２１０は、周期性判定リセット信号ＣＲＳをオンに設定し（ステップＳ２４４）、ステップＳ２４６に戻り、以降の処理を繰り返す。
【００４２】
ステップＳ２３７において、前回の世代と今回の世代が同じであった場合、パタン判定部２１０は、前回のＡＬＩＧＮプリミティブと今回のＡＬＩＧＮプリミティブとの間の間隔（周期）を確認するため、パタン判定有効信号ＰＥＮをアクティブ（オン）にして周期性判定部２２０に通知する（ステップＳ２３８）。その後、パタン判定部２１０は、コミュニケーション確立信号ＲＤＹを確認し、スピードネゴシエーションが完了したかを判定（ステップＳ２５２）する。コミュニケーション確立信号ＲＤＹがインアクティブである場合、ステップＳ２１６以降の処理が繰り返される。
【００４３】
一方、コミュニケーション確立信号ＲＤＹがアクティブであった場合には、パタン判定部２１０は、パタン検出信号ＰＤＴ、パタン判定有効信号ＰＥＮ、周期カウンタ開始信号ＣＳＴをオフとし、処理を終了する（ステップＳ２５４）。尚、パタン判定部２１０は、上述の処理の途中において、ＣＯＭＷＡＫＥを受信した場合には、ステップＳ１０６以降の処理を繰り返す。
【００４４】
続いて、スピードネゴシエーション時における周期性判定部２２０の動作方法を説明する。図７Ａ及び図７Ｂは、周期性判定部２２０の動作方法を示すフローチャートである。
【００４５】
周期性判定部２２０は、パタン判定部２１０により生成される周期カウンタ開始信号ＣＳＴがオンであるか否かを判定する（ステップＳ３０２）。周期カウンタ開始信号ＣＳＴがオフである場合、周期性判定部２２０は、周期カウンタ開始信号ＣＳＴがオンになるまで待機する。
【００４６】
周期カウンタ開始信号ＣＳＴがオンである場合、周期性判定部２２０は、周期カウンタ２２１を起動し、セレクト受信クロック信号ＳＲＤＣＬＫのクロック回数をカウントする（ステップＳ３０３）。
【００４７】
次に、周期性判定部２２０は、周期性判定リセット信号ＣＲＳがオンであるか否かを判定する（ステップＳ３０６）。周期性判定リセット信号ＣＲＳがオンである場合、周期性判定部２２０は、周期カウンタ２２１、及び連続検出カウンタ２２２をリセットし（ステップＳ３２２）、パタン判定リセット信号ＰＲＳをオフに設定し（ステップＳ３２６）、ステップＳ３０２以降の動作を繰り返す。
【００４８】
一方、ステップＳ３０６において、周期性判定リセット信号ＣＲＳがオフである場合、周期性判定部２２０は、パタン判定有効信号ＰＥＮがオンであるか否かを判定する（ステップＳ３０８）。パタン判定有効信号ＰＥＮがオフである場合、周期性判定部２２０は、ステップＳ３０６以降の動作を繰り返す。
【００４９】
ステップＳ３０８において、パタン判定有効信号ＰＥＮがオンである場合、周期性判定部２２０は、周期カウンタ２２１が示す値が、予め設定されたＡＬＩＧＮプリミティブの検出周期の設定値（本実施形態では４０）に一致するか否かを判定する（ステップＳ３１０）。周期カウンタ２２１が示す値が検出周期の設定値に一致しない場合、周期性判定部２２０は、パタン判定リセット信号ＰＲＳをオンにすることにより、パタン判定部２１０にＡＬＩＧＮプリミティブの検出周期が所定の周期と異なっていることを通知し（ステップＳ３２４）、ステップＳ３２２以降の処理を繰り返す。
【００５０】
一方、周期カウンタ２２１が示す値が検出周期の設定値に一致する場合、ＡＬＩＧＮプリミティブが正常な周期で検出できていることになる。この場合、周期性判定部２２０は、周期カウンタ２２１をリセットする（ステップＳ３１２）。そして、周期性判定部２２０は、連続検出カウンタ２２２をカウントアップする（ステップＳ３１４）。次いで、周期性判定部２２０は、カウントアップされた連続検出カウンタ２２２の値が予め設定された値（ｍ）に達したか否かを判定する（ステップＳ３３２）。連続検出カウンタ２２２の値が予め設定された値（ｍ）に達していなければ、周期性判定部２２０は、ステップＳ３０６に戻り、以降の処理を繰り返す。一方、連続検出カウンタ２２２の値が予め設定された値（ｍ）に達した場合、ＡＬＩＧＮプリミティブが正常な周期で十分な回数（ｍ回）検出されたことになる。従って、周期性判定部２２０は、クロックジェネレーション信号ＳＧＥＮを参照し、選択されている世代（スピードモード）を示す信号を世代判定信号ＧＥＮとして生成する。また、周期性判定部２２０は、速度判定有効信号ＳＥＮをオンに設定し、デバイス装置のスピードモード（世代）の判定処理を完了したことを伝送速度設定部２５０に通知する（ステップＳ３３４）。
【００５１】
続いて、スピードネゴシエーション時における伝送速度設定部２５０の動作方法を説明する。図８は、伝送速度設定部２５０の動作方法を示すフローチャートである。
【００５２】
伝送速度設定部２５０は、図示されないＬＩＮＫ層から与えられるスピード設定信号ＳＰＳに基づいて、スピードモード設定信号ＳＰＤＳとして、ホスト装置がサポートする複数のスピードモードのうちの最速のスピードモードを示す信号を生成する（ステップＳ４０２）。
【００５３】
次いで、伝送速度設定部２５０は、速度判定有効信号ＳＥＮがオンであるか否かを判定する（ステップＳ４０４）。速度判定有効信号ＳＥＮがオンではない場合、伝送速度設定部２５０は、速度判定有効信号ＳＥＮがオンになるまで待機する。速度判定有効信号ＳＥＮがオンである場合、伝送速度設定部２５０は、スピードモード設定信号ＳＰＤＳとして、世代判定信号ＧＥＮにより示される世代のスピードモードを示す信号を生成し、制御部３１０に供給する（ステップＳ４０６）。例えば、世代判定信号ＧＥＮが示す世代が第１世代である場合には、第１世代の伝送速度である１．５Ｇｂｐｓのスピードモードを示す信号が、スピードモード設定信号ＳＰＤＳとして制御部３１０に供給される。これにより、制御部３１０は、デバイス装置との通信に用いるスピードモードを１．５Ｇｂｐｓに設定し、このスピードモードに対応する受信用の基準クロック信号ＲＦＣを生成する。
【００５４】
続いて、スピードネゴシエーション時におけるクロックセレクト部２６０の動作方法を説明する。図９Ａ及び図９Ｂは、クロックセレクト部２６０の動作方法を示すフローチャートである。
【００５５】
クロックセレクト部２６０は、スケルチ出力信号ＳＱＯがオンであるか否か（デバイス装置から信号が入力されているか否か）を判定する（ステップＳ５０２）。スケルチ出力信号ＳＱＯがオフである場合、クロックセレクト部２６０は、スケルチ出力信号ＳＱＯがオンになるまで待機する。
【００５６】
スケルチ出力信号ＳＱＯがオンである場合、クロックセレクト部２６０は、クロック回数のカウントを開始する（ステップＳ５１２）。更に、クロックセレクト部２６０は、ホスト装置がサポートする最新の世代のサンプリング用クロック信号を選択する。また、クロックセレクト部２６０は、クロックジェネレーション信号ＳＧＥＮとして最新の世代を示す信号を生成する。更に、クロックセレクト部２６０は、クロック回数のカウントをリセットし、選択されたサンプリング用クロック信号のクロック回数のカウントを開始する（ステップＳ５１４）。
【００５７】
次いで、クロックセレクト部２６０は、パタン検出信号ＰＤＴがオンであるか判定する（ステップＳ５０４）。パタン検出信号ＰＤＴがオフの場合、クロックセレクト部２６０は、クロック回数のカウント回数が予め定められたＴ回以上であるか否かを判定する（ステップＳ５２２）。カウント回数がＴ回より小さい場合、クロックセレクト部２６０は、ステップＳ５０４に戻り、以降の処理を繰り返す。
【００５８】
一方、カウント回数がＴ回以上であった場合、現在選択されているセレクト受信クロック信号ＳＲＤＣＬＫが第１世代であるか否かを判定する（ステップ５２４）。第１世代でない場合、クロックセレクト部２６０は、１世代古い世代のサンプリング用クロック信号にセレクト受信クロック信号ＳＲＤＣＬＫを切り換え、クロック回数のカウントをリセットし、クロックジェネレーション信号ＳＧＥＮを、選択した世代を示す信号に切り換える（ステップＳ５２６）。そして、クロックセレクト部２６０は、ステップＳ５０４以降の処理を繰り返す。一方、ステップＳ５２４において、セレクト受信クロック信号ＳＲＤＣＬＫが第１世代であった場合、クロックセレクト部２６０は、ステップＳ５１４以降の処理を繰り返す。
【００５９】
ステップＳ５０４において、パタン検出信号ＰＤＴがオンである場合、クロックセレクト部２６０は、セレクト受信クロック信号ＳＲＤＣＬＫの世代を固定し、クロックジェネレーション信号ＳＧＥＮを現在の世代を示す信号に固定する（ステップＳ５１６）。その後、クロックセレクト部２６０は、クロック回数のカウントを停止する（ステップＳ５１８）。
【００６０】
続いて、本実施形態の作用効果を説明する。
【００６１】
本実施形態によれば、クロック分周部２７０が、複数のスピードモードに対応する複数のクロック信号（サンプリング用クロック信号ＲＤＣＬＫｎ）を生成する。そして、パタン判定部２１０が、この複数のクロック信号を時分割で用いて、シリアルデータ信号ＳＤをサンプリングし、サンプリング結果にＡＬＩＧＮプリミティブが含まれているか否かを判別する。これにより、複数のクロック信号のいずれかを用いた場合にＡＬＩＧＮプリミティブを検出することができ、１回のスピードネゴシエーションによってデバイス装置のスピードモードを認識することができる。例えば、ホスト装置が第３世代までのスピードモードをサポートしており、デバイス装置のスピードモードが第１世代である場合について考える。この場合、従来の技術では、接続を確立するために、スピードネゴシエーションが３回必要になる。これに対して、本実施形態では、１回のスピードネゴシエーションにより、接続を確立することができる。
【００６２】
また、本実施形態によれば、周期性判定部２２０により、所定回数以上のＡＬＩＧＮプリミティブが所定の周期で検出された場合に、選択されている世代のスピードモードがデバイス装置のスピードモードであると判断される。従って、デバイス装置のスピードモードの誤判定を防ぐことができ、デバイス装置のスピードモードを正確に識別することが可能である。
【００６３】
尚、本実施形態では、パタン判定部２１０がシリアルデータ信号ＳＤをサンプリングし、そのサンプリング結果にＡＬＩＧＮプリミティブが含まれているか否かを判定する場合について説明した。但し、必ずしもシリアルデータ信号ＳＤがサンプリングされる必要はなく、例えば、パラレルデータ信号ＰＤをサンプリングすることにより、ＡＬＩＧＮプリミティブが含まれているか否かを判定しても良い。
【００６４】
（第２の実施形態）
続いて、第２の実施形態について説明する。第１の実施形態では、パタン判定部２１０において、複数のサンプリング用クロック信号ＲＤＣＬＫｎが時分割で用いられる場合について説明した。これに対して、本実施形態では、複数のサンプリング用クロック信号ＲＤＣＬＫｎ（ｎ＝１、２、３、・・・）が同時にパタン判定部２１５に供給される。そして、パタン判定部２１５は、複数のサンプリング用クロック信号を並列に用いて、サンプリングを行なう。その他の点については、第１の実施形態と同様である。
【００６５】
図１０は、本実施形態に係るシリアル通信システムにおけるホスト装置の受信部の構成を示すブロック図である。本実施形態においては、第１の実施形態から、パタン判定部２１５、周期性判定部２２５及びクロックセレクト部２６５の構成が変更されている。
【００６６】
図１０に示されるように、パタン判定部２１５には、複数の世代に対応する複数のパタン検出部（２１６〜２１８）が設けられている。図１０に示される例では、パタン判定部２１５に、第１世代に対応するパタン検出部２１６、第２世代に対応するパタン検出部２１７、及び第３世代に対応するパタン検出部２１８が設けられている。複数のパタン検出部（２１６−２１８）の各々は、対応する世代のサンプリング用クロック信号ＲＤＣＬＫｎを用いて、シリアルデータ信号ＳＤをサンプリングし、サンプリング結果にＡＬＩＧＮプリミティブが含まれているか否かを判定する。ＡＬＩＧＮプリミティブが含まれている場合、各パタン検出部は、対応する世代のパタン検出信号ＰＤＴｎ（ｎ＝１，２，３，…）を生成し、周期性判定部２２５およびクロックセレクト部２６５に供給する。また、パタン判定部２１５は、同一の世代において連続してＡＬＩＧＮプリミティブが検出された場合、対応する世代のパタン判定有効信号ＰＥＮｎ（ｎ＝１，２，３，…）を生成し、周期性判定部２２５に供給する。
【００６７】
続いて、クロックセレクト部２６５について説明する。図１１は、クロックセレクト部２６５を示すブロック図である。クロックセレクト部２６５は、セレクタ部２６３及びクロックセレクト制御部２６４を有している。クロックセレクト制御部２６４は、スケルチ出力信号ＳＱＯ及びパタン検出信号ＰＤＴｎに基づいて、選択するサンプリング用クロック信号を決定する。すなわち、スケルチ出力信号ＳＱＯがオンになっており、パタン検出信号ＰＤＴｎを取得した場合、クロックセレクト制御部２６４は、複数のサンプリング用クロック信号ＲＤＣＬＫｎ（ｎ＝１，２，３，…）の中から、パタン検出信号ＰＤＴｎが示す世代の信号が選択されるように、セレクタ部２６３の動作を制御する。選択された信号は、セレクト受信クロック信号ＳＲＤＣＬＫとして周期性判定部２２５に供給される。
【００６８】
続いて、周期性判定部２２５について説明する。周期性判定部２２５は、パタン検出信号ＰＤＴｎを取得したとき、周期カウンタ２２６を起動し、受信クロックＲＤＣＬＫｎのカウントを開始する。また、周期性判定部２２５は、パタン判定有効信号ＰＥＮｎを取得したときに、周期カウンタ２２６が示す値を参照し、ＡＬＩＧＮプリミティブが所定の周期で検出されたか否かを判定する。そして、ＡＬＩＧＮプリミティブが所定の周期で検出された場合、周期性判定部２２５は、連続検出カウンタ２２７が示す値をインクリメントする。そして、周期性判定部２２５は、所定の回数以上のＡＬＩＧＮプリミティブが所定の周期で検出された場合、パタン検出信号ＰＤＴｎが示す世代を示す信号を、世代判定信号ＧＥＮとして生成し、速度判定有効信号ＳＥＮをオンにし、世代判定処理を完了したことを伝送速度設定部２５０に通知する。その他の点については、第１の実施形態と同様である。
【００６９】
続いて、本実施形態に係るシリアル通信システムにおけるホスト装置の動作方法を説明する。尚、以下の説明では、ホスト装置が、第１世代から第３世代までの各世代をサポートしている場合について説明する。
【００７０】
まず、スピードネゴシエーション時におけるパタン判定部２１５の動作方法を説明する。図１２Ａ及び図１２Ｂは、パタン判定部２１５の動作方法を示すフローチャートである。
【００７１】
パタン判定部２１５は、第１の実施形態と同様に、ステップＳ２０２からステップＳ２１８までの動作を行う。これらの動作は、第１の実施形態（図６Ａ及び図６Ｂ参照）と同様であるので、詳細な説明は省略する。
【００７２】
パタン判定部２１５は、ステップＳ２１８においてパタン判定リセット信号ＰＲＳがオンである場合、保持している前回の検出時における世代を示す情報をリセットする（ステップＳ２４２）。そして、パタン判定部２１５は、パタン判定有効信号ＰＥＮｎおよび周期性判定リセット信号ＣＲＳをオフとし（ステップＳ２８６）、ステップＳ２１６以降の処理を繰り返す。
【００７３】
一方、ステップＳ２１８において、パタン判定リセット信号ＰＲＳがオフである場合、第３世代に対応するパタン検出部２１８が、サンプリング結果がＡＬＩＧＮプリミティブと一致するか否かを判定する（ステップＳ２６２）。一致していた場合、パタン判定部２１５は、第３世代に対応するパタン検出信号ＰＤＴ３をオンにし、他の世代に対応するパタン検出信号ＰＤＴｎをオフに設定し（ステップＳ２７２）、ステップＳ２１２の処理を行う。
【００７４】
一方、ステップＳ２６２において一致しなかった場合、第２世代に対応するパタン検出部２１７が、サンプリング結果がＡＬＧＩＮプリミティブと一致するか否かを判定する（ステップＳ２６４）。一致していた場合、パタン判定部２１５は、第２世代に対応するパタン検出信号ＰＤＴ２をオンにし、他の世代に対応するパタン検出信号ＰＤＴｎをオフに設定し（ステップＳ２７４）、ステップＳ２１２の処理を行う。
【００７５】
また、ステップＳ２６４において一致しなかった場合、第１世代に対応するパタン検出部２１６が、サンプリング結果がＡＬＧＩＮプリミティブと一致するか否かを判定する（ステップＳ２６６）。一致していた場合、パタン判定部２１５は、第１世代に対応するパタン検出信号ＰＤＴ１をオンにし、他の世代に対応するパタン検出信号ＰＤＴｎをオフに設定し（ステップＳ２７６）、ステップＳ２１２の処理を行う。一方、一致していない場合には、ステップＳ２８６以降の処理が繰り返される。
【００７６】
ステップＳ２１２において、パタン判定部２１５は、周期カウンタ開始信号ＣＳＴをオンに設定し、周期性判定部２２５に供給する。
【００７７】
その後、パタン判定部２１５は、ＡＬＩＧＮプリミティブが検出された世代が前回と今回とで同じか否かを判定する（ステップＳ２３７）。前回の世代と今回の世代が異なる場合、パタン判定部２１５は、周期性判定リセット信号ＣＲＳをオンに設定し、周期性判定部２２５に通知し（ステップＳ２４４）、ステップＳ２８６以降の処理を繰り返す。
【００７８】
一方、ステップＳ２３７において、前回の世代と今回の世代とが同じである場合、パタン判定部２１５は、ＡＬＩＧＮプリミティブが検出された世代に対応するパタン判定有効信号ＰＥＮｎ（ｎは１〜３で世代を示す）をオンに設定し、周期性判定部２２５に通知する（ステップＳ２６８）。その後、パタン判定部２１５は、コミュニケーション確立信号ＲＤＹを確認し、スピードネゴシエーションが完了したかを判定する（ステップＳ２５２）。コミュニケーション確立信号ＲＤＹがオフである場合、ステップＳ２１６以降の処理が繰り返される。コミュニケーション確立信号ＲＤＹがオンである場合、パタン判定部２１５は、パタン検出信号ＰＤＴｎ、パタン判定有効信号ＰＥＮｎ、及び周期カウンタ開始信号ＣＳＴをそれぞれオフに設定し、処理を終了する（ステップＳ２８４）。
【００７９】
尚、パタン判定部２１５は、上述の処理の途中において、ＣＯＭＷＡＫＥを受信した場合には、ステップＳ１０６以降の処理を繰り返す。
【００８０】
続いて、スピードネゴシエーション時における周期性判定部２２５の動作方法を説明する。図１３Ａ及び図１３Ｂは、周期性判定部２２５の動作方法を示すフローチャートである。図１３Ａ及び図１３Ｂにおいて、ステップＳ３４８及びステップＳ３５４以外の動作は、第１の実施形態（図７Ａ及び図７Ｂ参照）と同じであるので、説明は省略する。
【００８１】
周期性判定部２２５は、第１の実施形態と同様に、ステップＳ３０６において、周期性判定リセット信号ＣＲＳを判定する。そして、周期性判定リセット信号ＣＲＳがオフである場合、周期性判定部２２５は、パタン判定有効信号ＰＥＮｎの状態を判定する（ステップＳ３４８）。パタン判定有効信号ＰＥＮｎがオフである場合には、ステップＳ３０６以降の処理が繰り返される。一方、パタン判定有効信号ＰＥＮｎがオンである場合、周期性判定部２２５は、周期カウンタ２２６が示す値が所定の値（４０）であるか否かを判定する（ステップＳ３１０）。所定の値である場合、第１の実施形態と同様に、カウントアップされた連続検出カウンタ２２７の値が所定の値（ｍ）に達しているかが判定される（ステップＳ３３２）。連続検出カウンタ２２７の値が所定の値ｍ未満の場合、ステップＳ３０６以降の処理が繰り返される。連続検出カウンタ２２７の値が所定の値ｍ以上である場合、周期性判定部２２５は、オンとなっているパタン検出信号ＰＤＴｎに対応した世代ｎを示す世代判定信号ＧＥＮを生成し、速度判定有効信号ＳＥＮをアクティブにし、世代判定処理を完了したことを伝送速度設定部２５０に通知する（ステップＳ３５４）。
【００８２】
続いて、スピードネゴシエーション時におけるクロックセレクト部２６５の動作を説明する。図１４は、クロックセレクト部２６５の動作方法を示すフローチャートである。クロックセレクト部２６０は、スケルチ出力信号ＳＱＯがオンになっているか否かを判定する（ステップＳ５０２）。スケルチ出力信号ＳＱＯがオフである場合、クロックセレクト部２６５は、スケルチ出力信号ＳＱＯがオンになるまで待機する。スケルチ出力信号ＳＱＯがオンである場合、クロックセレクト部２６５は、ホスト装置がサポートしている最新の世代のサンプリング用クロック信号を選択し、周期性判定部２２５に供給する（ステップＳ５４４）。更に、クロックセレクト部２６５は、パタン検出信号ＰＤＴｎがオンになっているか否かを判定する（ステップＳ５３４）。パタン検出信号ＰＤＴｎがオフである場合、パタン検出信号ＰＤＴｎがオンになるまでステップＳ５３４の処理が繰り返される。パタン検出信号ＰＤＴｎがオンである場合、クロックセレクト部２６５は、パタン検出信号ＰＤＴｎが示す世代のサンプリング用クロック信号を選択し、セレクト受信クロック信号ＳＲＤＣＬＫとして周期性判定部２２５に供給する（ステップＳ５３０）。
【００８３】
本実施形態によれば、第１の実施形態と同様に、複数の世代のそれぞれに対応する複数のサンプリング用クロック信号を生成し、それらをパラレルに用いることによって、第１の実施形態と同様に、１回のスピードネゴシエーションによりホスト装置がデバイス装置のスピードモードを判別し、接続を確立することができる。
【００８４】
以上、本発明について、第１及び第２の実施形態を用いて説明した。尚、これらの実施形態は互いに独立するものではなく、矛盾のない範囲内で組み合わせて用いることも可能である。
【符号の説明】
【００８５】
２００  判定部
２１０、２１５  パタン判定部
２１１  パタン検出部
２１６  Ｇｅｎ１パタン検出部
２１７  Ｇｅｎ２パタン検出部
２１８  Ｇｅｎ３パタン検出部
２２０、２２５  周期性判定部
２２１、２２６  周期カウンタ
２２２、２２７  連続検出カウンタ
２５０  伝送速度設定部
２６０、２６５  クロックセレクト部
２６１、２６３  セレクタ部
２６２、２６４  クロックセレクト制御部
２７０  クロック分周部
３１０  制御部
３２０  データ抽出部
３３０  レシーバ
３４０  信号検出部
ＰＥＮ、ＰＥＮ１〜ｎ  パタン判定有効信号
ＰＤＴ、ＰＤＴ１〜ｎ  パタン検出信号
ＰＤ  パラレルデータ信号
ＣＩＮＩＴ  ＣＯＭＩＮＩＴ検出信号
ＣＳＴ  周期カウンタ開始信号
ＣＲＳ  周期性判定リセット信号
ＣＷＡＫＥ  ＣＯＭＷＡＫＥ検出信号
ＧＥＮ  世代判定信号
ＳＣＬＫ  システムクロック
ＳＤ  シリアルデータ信号
ＳＥＮ  速度判定有効信号
ＳＧＥＮ  クロックジェネレーション信号
ＳＰＳ  スピード設定信号
ＳＰＤＳ  スピードモード設定信号
ＳＱＯ  スケルチ出力信号
ＳＲＤＣＬＫ  セレクト受信クロック信号
ＲＣＬＫ  受信再生クロック信号
ＲＤＹ  コミュニケーション確立信号
ＲＤＣＬＫ１〜ｎ  受信クロック
ＲＦＣ  基準クロック
ＰＲＳ  パタン判定リセット信号
ＲＸ＋、ＲＸ−  差動入力信号
【図１】
2013080426.tif 000003
【図２】
2013080426.tif 000004
【図３】
2013080426.tif 000005
【図４】
2013080426.tif 000006
【図５】
2013080426.tif 000007
【図６Ａ】
2013080426.tif 000008
【図６Ｂ】
2013080426.tif 000009
【図７Ａ】
2013080426.tif 000010
【図７Ｂ】
2013080426.tif 000011
【図８】
2013080426.tif 000012
【図９Ａ】
2013080426.tif 000013
【図９Ｂ】
2013080426.tif 000014
【図１０】
2013080426.tif 000015
【図１１】
2013080426.tif 000016
【図１２Ａ】
2013080426.tif 000017
【図１２Ｂ】
2013080426.tif 000018
【図１３Ａ】
2013080426.tif 000019
【図１３Ｂ】
2013080426.tif 000020
【図１４】
2013080426.tif 000021