"最高速度の受信クロックに基づいて受信データを取り込むデータ抽出部と、前記受信データを示すビット列と、特徴パタンに含まれる複数の所定のビット列の各々とを比較して前記複数の所定のビット列のうちのいずれかに一致したときに、前記特徴パタンとの一致を通知するパタン判定部と、前記パタン判定部からの通知に基づいて、前記受信データと前記特徴パタンとが一致する周期を求め、前記受信データのストリーム中に前記特徴パタンが前記周期毎に連続して出現することを検出し、一致した前記特徴パタンに基づいて送信速度と受信速度との世代差を判定する周期性判定部と、前記世代差と前記最高速度とに基づいて、前記受信データを送信する対向装置との伝送速度を決定する伝送速度設定部とを具備するシリアル通信回路。前記特徴パタンは、スピードネゴシエーションにおいて送信されるビット列を示す原パタンの各ビットを2n個連結して生成される引き伸ばしパタンを含み、前記nは、0から前記世代差までの整数とする請求項1に記載のシリアル通信回路。周期性判定部は、所定の回数以上連続して周期的に前記特徴パタンが出現することを検出したとき、前記受信データに一致する前記引き伸ばしパタンを示す前記nを前記世代差と判定する請求項2に記載のシリアル通信回路。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列とする請求項2または請求項3に記載のシリアル通信回路。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列のうちの一部のビット列に合致し、他の部分とは不一致となるビット列とする請求項2または請求項3に記載のシリアル通信回路。前記原パタンは、ALIGNデータパタンのうちのK28.5コードまたはD27.3コードを示すビット列とする請求項5に記載のシリアル通信回路。前記原パタンは、ALIGNデータパタンのうちのD10.2コードとD27.3コードの先頭の2ビットとを連結したビット列、または、1、0を示すビットが交互に1ビット、2ビット連続、3ビット連続、4ビット連続、5ビット連続して連結された15ビットのビット列とする請求項5に記載のシリアル通信回路。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列のうちの1を示すビットまたは0を示すビットが連続する最長部のビット列とその前後1ビットとを連結したビット列とする請求項5に記載のシリアル通信回路。請求項1から請求項8のいずれかに記載のシリアル通信回路を具備する半導体集積回路装置。最高速度の受信クロックに基づいて受信データを取り込むステップと、前記受信データを示すビット列と、特徴パタンに含まれる複数の所定のビット列の各々とを比較して前記複数の所定のビット列のうちのいずれかに一致したときに、前記特徴パタンとの一致を通知するステップと、前記通知に基づいて前記受信データと前記特徴パタンとが一致する周期を求めるステップと、前記受信データのストリーム中に前記特徴パタンが前記周期毎に連続して出現することを検出し、一致した前記特徴パタンに基づいて送信速度と受信速度との世代差を判定するステップと、前記世代差と前記最高速度とに基づいて、前記受信データを送信する対向装置との伝送速度を決定するステップとを具備するシリアル通信制御方法。スピードネゴシエーションにおいて送信されるビット列を示す原パタンに基づいて、各ビットを2n個連結して引き伸ばした引き伸ばしパタンを生成するステップと、前記引き伸ばしパタンを前記特徴パタンとして保持するステップとをさらに具備し、前記nは、0から前記世代差までの整数とする請求項10に記載のシリアル通信制御方法。前記世代差を判定するステップは、所定の回数以上連続して周期的に前記特徴パタンが出現することを検出したとき、前記受信データに一致する前記引き伸ばしパタンを示す前記nを前記世代差と判定するステップを備える請求項11に記載のシリアル通信制御方法。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列とする請求項11または請求項12に記載のシリアル通信制御方法。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列のうちの一部のビット列に合致し、他の部分とは不一致となるビット列とする請求項11または請求項12に記載のシリアル通信制御方法。前記原パタンは、ALIGNデータパタンのうちのK28.5コードまたはD27.3コードを示すビット列とする請求項14に記載のシリアル通信制御方法。前記原パタンは、ALIGNデータパタンのうちのD10.2コードとD27.3コードの先頭の2ビットとを連結したビット列、または、1、0を示すビットが交互に1ビット、2ビット連続、3ビット連続、4ビット連続、5ビット連続して連結された15ビットのビット列とする請求項14に記載のシリアル通信制御方法。前記原パタンは、ALIGNデータパタンを示す40ビットのビット列のうちの1を示すビットまたは0を示すビットが連続する最長部のビット列とその前後1ビットとを連結したビット列とする請求項14に記載のシリアル通信制御方法。本発明は、伝送速度決定までの時間を短縮するシリアル通信回路、シリアル通信制御方法および半導体集積回路装置を提供する。以下に、[発明を実施するための形態]で使用される番号符号を用いて、課題を解決するための手段を説明する。これらの番号符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。本発明の観点では、シリアル通信回路100は、データ抽出部320と、パタン判定部210と、周期性判定部220と、伝送速度設定部250とを具備する。データ抽出部320は、最高速度の受信クロックに基づいて受信データを取り込む。パタン判定部210は、受信データを示すビット列と、特徴パタンに含まれる複数の所定のビット列の各々とを比較して複数の所定のビット列のうちのいずれかに一致したときに、特徴パタンとの一致を通知する。周期性判定部220は、パタン判定部210からの通知に基づいて、受信データと特徴パタンとが一致する周期を求め、受信データのストリーム中に特徴パタンが周期毎に連続して出現することを検出し、一致した特徴パタンに基づいて送信速度と受信速度との世代差を判定する。伝送速度設定部250は、世代差と最高速度とに基づいて、受信データを送信する対向装置との伝送速度を決定する。本発明の他の観点では、シリアル通信制御方法は、最高速度の受信クロックに基づいて受信データを取り込むステップと、受信データを示すビット列と、特徴パタンに含まれる複数の所定のビット列の各々とを比較して複数の所定のビット列のうちのいずれかに一致したときに、特徴パタンとの一致を通知するステップと、通知に基づいて受信データと特徴パタンとが一致する周期を求めるステップと、受信データのストリーム中に特徴パタンが周期毎に連続して出現することを検出し、一致した特徴パタンに基づいて送信速度と受信速度との世代差を判定するステップと、世代差と最高速度とに基づいて、受信データを送信する対向装置との伝送速度を決定するステップとを具備する。本発明によれば、対向する装置とのスピードネゴシエーションにおいて、伝送速度決定までの時間を短縮するシリアル通信回路、シリアル通信制御方法および半導体集積回路装置を提供することができる。図面を参照して本発明の実施の形態を説明する。第1の実施の形態図2は、本発明の第1の実施の形態に係るシリアル通信装置の受信部の構成を示すブロック図である。シリアル通信装置の受信部100は、制御部310、データ抽出部320、レシーバ330、信号検出部340、判定部200、伝送速度設定部250を具備する。判定部200は、パタン判定部210と、周期性判定部220とを備える。この受信部100はホスト装置の受信部として説明する。レシーバ330は、差動入力信号RX±を入力して量子化し、シリアルデータ信号SDTをデータ抽出部320およびパタン判定部210に出力する。データ抽出部320は、シリアルデータ信号SDTからクロックおよびデータを分離抽出し、直並列変換されたパラレルデータ信号PDTと受信再生クロック信号RCLKとを出力する。受信再生クロック信号RCLKは、パタン判定部210に入力される。信号検出部340は、差動入力信号RX±に基づいて、OOBOutOfBand信号を検出し、COMINIT検出信号CINITおよびCOMWAKE検出信号CWAKEを出力する。COMWAKE検出信号CWAKEは、パタン判定部210に入力される。また、信号検出部340は、差動入力信号RX±に閾値を超える信号が含まれるか否かを示すスケルチ出力信号SQOをパタン判定部210に出力する。制御部310は、伝送速度設定部250から出力されるスピードモード設定信号SPDSとシステムクロックSCLKとに基づいて、受信用の基準クロックRFCをデータ抽出部320に供給する。また、対向装置とのスピードネゴシエーションが成立して通信可能であることをコミュニケーション確立信号RDYによってパタン判定部210に通知する。判定部200は、スピードネゴシエーションに用いられるALIGNプリミティブのパタンが所定の期間連続するか否かを判定し、速度判定有効信号SENと世代差判定信号GNGとを伝送速度設定部250に供給する。すなわち、パタン判定部210は、信号検出部340から入力されるスケルチ信号SQOが信号受信を示すと、周期カウンタ開始信号CSTを周期性判定部220に出力し、シリアルデータ信号SDTに基づいてALIGNプリミティブの所定のパタンの出現を監視し、所定のパタンを検出し、前回検出した世代差と同じとき、パタン有効信号PENと、パタン検出信号PDTとを周期性判定部220に出力する。また、所定のパタンを検出し、前回検出した世代差と異なるときは、周期性判定リセット信号CRSを周期性判定部220に出力する。周期性判定部220は、パタン判定部210から入力される周期カウンタ開始信号CSTに基づいて周期カウントを開始し、所定のパタンが所定の回数以上周期性を有して検出されるか否かを監視し、速度判定有効信号SENと世代差判定信号GNGとを伝送速度設定部250に出力する。所定のパタンの検出周期が所定の周期に一致しないとき、周期性判定部220は、パタン判定リセット信号PRSをパタン判定部210に出力する。本実施の形態では、シリアルデータ信号SDTでの例を示すが、同様にパラレルデータPDTでも実施可能である。伝送速度設定部250は、図示されないLINK層から出力されるスピード設定信号SPSに基づいて、伝送速度の初期値を設定する。また、伝送速度設定部250は、判定部200から出力される速度判定有効信号SENと世代差判定信号GNGとに基づいて適切な伝送速度を求める。伝送速度設定部250は、伝送速度をスピードモード設定信号SPDSによって制御部310に通知する。判定部200における伝送速度判定方法を説明する。SATASerialAdvancedTechnologyAttachment規格では、第1世代Gen1の伝送速度は1.5Gbps、第2世代Gen2の伝送速度は3.0Gbps、第3世代Gen3の伝送速度は6.0Gbpsとなっている。ホスト装置デバイス装置間において互いにサポートできる最速の伝送速度で通信することが好ましく、通信を開始する前に伝送速度の調整が行なわれる。この調整がスピードネゴシエーションと呼ばれる。ホスト装置とデバイス装置との間では、まず、OOBOutOfBand信号により接続を確認するための手順が実行される。OOB信号は、差動信号が1.5Gbpsの伝送速度で何らかの動作をしているバースト状態の時間と、差動信号が同電位となって動作していないアイドル状態の時間とによって、COMRESET/COMINIT、COMWAKEを示す。OOB信号による手続きは以下となる。1ホスト装置からデバイス装置へCOMRESETが送られる。ただし、デバイス装置から先にCOMINITが送られた場合は省略される。2デバイス装置でCOMRESETを検出すると、デバイス装置からホスト装置へCOMINITが送られる。3COMINITをホスト装置が検出すると、ホスト装置からデバイス装置へCOMWAKEが送られる。4ホスト装置から送られるCOMWAKEをデバイス装置が検出すると、デバイス装置からホスト装置へCOMWAKEが送られる。5デバイス装置からCOMWAKEを送信した後、スピードネゴシエーションが開始される。スピードネゴシエーションには、ALIGNプリミティブと称されるビット列が使用される。ALIGNプリミティブは、転送制御用に定義された制御コードプリミティブの1種であり、8b/10b変換でいうK28.5コードを先頭に、D10.2、D10.2、D27.3の4つのコードシンボルの列で示される。それぞれランニングディスパリティRDの値または-に応じてビットパタンが定義されているが、RD-から始まる場合のコードを例にビット列で示すと、K28.5RD-:0011111010D10.2RD:0101010101D27.3RD:0010011100となる。したがって、RD-から始まる場合のALIGNプリミティブは、0011111010010101010101010101010010011100という40ビットのビット列で示される。この40ビットのビット列が伝送路を送信側から受信側へ転送される。すなわち、レシーバ330から出力されるシリアルデータ信号SDTは、伝送速度が一致していればこのようなビット列として観測できる。受信側のホスト装置がGen2をサポートし、発信側のデバイス装置がGen1をサポートしている場合を例にすると、発信側のデバイス装置がGen11.5Gbpsで送信したALIGNプリミティブを受信側のホスト装置がGen23.0Gbpsで受信することになる。すなわち、受信側のホスト装置は、受信されたALIGNプリミティブを2倍のクロックでサンプリングすることになる。この場合、図3bに示されるように、それぞれのビットが2回ずつ検出される。したがって、ALIGNプリミティブのビットパタンは、80ビットのパタンとして受信される。すなわち、世代差が1であれば、伝送クロックが2倍あるいは1/2倍になり、1ビット分の時間が1/2あるいは2倍になる図3bc。世代差が2であれば、22、22の関係になる図3a。同じ世代差の装置であれば、伝送速度が異なっていても同じパタンが検出される図3bc。したがって、上記ALIGNプリミティブのビット列の2倍、4倍...のビット列パタンを保持し、受信したデータのビット列と比較することにより、一致したパタンに基づいて世代差を求めることができる。受信側のホスト装置は、自体の受信速度と求めた世代差とに基づいて、送信側のデバイス装置が送信しているALIGNプリミティブの送信速度を求めることができ、受信速度をデバイス装置の送信速度に等しい速度に設定し、スピードネゴシエーションが成立する。図4A、図4B、図4C、図4Dを参照して、第1の実施の形態に係るシリアル通信装置のスピードネゴシエーションの動作を説明する。図4Aは、ホスト装置のスピードネゴシエーション時のパタン判定部210の動作を示すフローチャートである。図4Bは、ホスト装置のスピードネゴシエーション時の周期性判定部220の動作を示すフローチャートである。図4Cは、ホスト装置のスピードネゴシエーション時の伝送速度設定部250の動作を示すフローチャートである。図4Dは、判定部200の起動時の動作を示すフローチャートである。ここでは、ホスト装置は第3世代Gen3、デバイス装置は第1世代Gen1をそれぞれサポートするものとして説明する。パタン判定部210は、コミュニケーション確立信号RDYを確認し、スピードネゴシエーションを開始するか否かを判定するステップS102。コミュニケーション確立信号RDYは、アクティブであればホスト装置とデバイス装置との間の接続が確立しており、インアクティブであれば接続が確立していない状態、すなわちスピードネゴシエーションする必要がある状態を示す。したがって、コミュニケーション確立信号RDYがアクティブであればステップS102:Yes、処理せずにスピードネゴシエーションが必要になるまで待機する。コミュニケーション確立信号RDYがインアクティブであればステップS102:No、スピードネゴシエーションを開始する。パタン判定部210は、デバイス装置からOOB信号によるCOMWAKEの応答を検出したことを示すCOMWAKE検出信号CWAKEがアクティブになっているか否かを判定するステップS104。デバイス装置からのCOMWAKEを検出するまで待ちステップS104:No、COMWAKEを検出するとステップS104:Yes、判定部200は、初期設定を開始する。初期設定として、パタン判定部210は、周期性判定部220に含まれるデータパタン検出の周期性を観測するための周期カウンタ、連続性を観測する連続検出カウンタ、パタン判定部210に含まれるビットパタンを判定するためのフラグ等をリセットするステップS106。また、伝送速度設定部250は、伝送速度として設定可能な最大速度をスピードモード設定信号SPDSによって制御部310に指示するステップS402。ここでは、第3世代の速度である6.0Gbpsが設定される。制御部310は、システムクロックSCLKに基づいて、設定された速度のクロック信号を生成し、受信用の基準クロックRFCとしてデータ抽出部320に供給する。パタン判定部210は、受信信号から抽出されるビットパタンを示す検出データパタンを設定するステップS202。すなわち、パタン判定部210は、デバイス装置から送信されるALIGNプリミティブのデータパタンを検出するためのひな型パタンを世代差に対応付けて設定する。本実施の形態では、第3世代が基準となり、2倍に引き伸ばした第2世代用1世代差パタン、4倍に引き伸ばした第1世代用2世代差パタンが生成される。ここでは、RD-から始まるALIGNデータパタンについて示す。原パタン世代差なし:第3世代/40ビットK28.5:0011111010D10.2:0101010101D10.2:0101010101D27.3:00100111001世代差パタン第2世代/80ビットK28.5:00001111111111001100D10.2:00110011001100110011D10.2:00110011001100110011D27.3:000011000011111100002世代差パタン第1世代/160ビットK28.5:0000000011111111111111111111000011110000D10.2:0000111100001111000011110000111100001111D10.2:0000111100001111000011110000111100001111D27.3:0000000011110000000011111111111100000000パタン判定部210は、信号検出部340から出力されるスケルチ信号SQOを監視し、スケルチ信号SQOが信号受信を示すとパタン判定を開始するステップS206。ここで、スケルチ信号SQOが信号受信を示すということは、デバイス装置からスピードネゴシエーションのためのALIGNプリミティブを受信していることを示している。したがって、このALIGNプリミティブのパタンマッチングが開始される。パタン判定が開始されるとステップS206:Yes、パタン判定部は周期カウンタ開始信号CSTをオンとして周期性判定部220に出力するステップS212。周期性判定部220は、周期カウンタ開始信号CSTがオンになるまで待機しておりステップS302、周期カウンタ開始信号CSTがオンとなると、抽出されるビットパタンの周期を求める周期カウンタを起動してカウントを開始するステップS304。すなわち、周期カウンタは、検出データパタンにマッチングする周期をビット数でカウントする。パタン判定部210は、デバイス装置から送信されるデータであるALIGNプリミティブを示すシリアルデータ信号SDTを受信し、受信再生クロック信号RCLKに基づいてサンプリングするステップS214。このときパタン判定が継続しているかを信号検出部340から出力されるスケルチ信号SQOを監視し、スケルチ信号SQOが信号受信を示しているかを判定する。ステップS216。ここで、スケルチ信号SQOが信号受信を示していない場合ステップS216:Noはパタン判定せず、周期性判定リセット信号CRSをオン、周期カウンタ開始信号CSTをオフとしステップS248、ステップS206に戻り、スケルチ信号SQOが信号受信を示すまで待つ。スケルチ信号SQOが信号受信を示している場合ステップS216:Yes、周期性判定部220から入力されるパタン判定リセット信号PRSを監視しステップS218、パタン判定リセット信号PRSがオフの場合ステップS218:オフ、サンプリングして得られるシリアルデータは、検出データパタンと比較される。パタン判定リセット信号PRSがオンの場合ステップS218:オン、保持しているパタン検出信号PDTの世代差をリセットしステップS242、パタン判定有効信号PENをオフ、周期性判定リセット信号CRSをオフとしステップS246、ステップS216に戻る。比較の結果、原パタンを22倍に引き伸ばした160ビットデータの2世代差パタンここでは第1世代と一致しているとステップS222:Yes、パタン判定部210は、パタン検出信号PDTに2世代差を示す2を設定しステップS232、前回検出した世代差と同じか判定しステップS237、同じであればステップS237:Yesパタン判定有効信号PENをアクティブオンにして周期性判定部220に通知するステップS238。コミュニケーション確立信号RDYを確認し、スピードネゴシエーションが完了したか否かを判定しステップS252、コミュニケーション確立信号RDYがアクティブであればパタン検出を終了しステップS252:Yes、インアクティブであれば、ステップS216へ戻り、パタン判定を継続する。また、前回検出した世代差と異なる場合ステップS237:No、周期性判定リセット信号CRSをオンに設定し、周期性判定部220へ出力しステップS244、パタン判定有効信号PENをオフ、周期性判定リセット信号CRSをオフとしステップS246、ステップS216へ戻る。比較の結果、原パタンを21倍に引き伸ばした80ビットデータの1世代差パタンここでは第2世代と一致しているとステップS224:Yes、パタン判定部210は、パタン検出信号PDTに1世代差を示す1を設定しステップS234、前回検出した世代差と同じか判定しステップS237、同じであればステップS237:Yesパタン判定有効信号PENをアクティブオンにして周期性判定部220に通知するステップS238。コミュニケーション確立信号RDYを確認し、スピードネゴシエーションが完了したか否かを判定しステップS252、コミュニケーション確立信号RDYがアクティブであればパタン検出を終了しステップS252:Yes、インアクティブであれば、ステップS216へ戻り、パタン判定を継続する。また、前回検出した世代差と異なる場合ステップS237:No、周期性判定リセット信号CRSをオンに設定し、周期性判定部220へ出力しステップS244、パタン判定有効信号PENをオフ、周期性判定リセット信号CRSをオフとしステップS246、ステップS216へ戻る。比較の結果、同一世代の原パタンここでは第3世代の40ビットパタンと一致しているとステップS226:Yes、パタン判定部210は、パタン検出信号PDTに同一世代を示す0を設定しステップS236、前回検出した世代差と同じか判定しステップS237、同じであればステップS237:Yesパタン判定有効信号PENをアクティブオンにして周期性判定部220に通知するステップS238。コミュニケーション確立信号RDYを確認し、スピードネゴシエーションが完了したか否かを判定しステップS252、コミュニケーション確立信号RDYがアクティブであればパタン検出を終了しステップS252:Yes、インアクティブであれば、ステップS216へ戻り、パタン判定を継続する。また、前回検出した世代差と異なる場合ステップS237:No、周期性判定リセット信号CRSをオンに設定し、周期性判定部220へ出力しステップS244、パタン判定有効信号PENをオフ、周期性判定リセット信号CRSをオフとしステップS246、ステップS216へ戻る。ここでは、2世代差パタンまで設定されている例で説明するが、n世代差パタンまで設定されている場合は、同様にn世代差パタンから同一世代パタンまで比較される。設定されている検出データパタンに一致しなければステップS226:No、パタン判定部210は、パタン判定有効信号PENをオフ、周期性判定リセット信号CRSをオフとしステップS246、ステップS216へ戻り上記動作を繰り返す。また、どのステップにいる場合でもCOMWAKEを受信するとステップS106に戻る。周期性判定部220は、周期性判定リセット信号CRSがオフであり、パタン判定有効信号PENがオンである場合、周期カウンタの値が40×2nを示しているか否かを判定するステップS310。周期性判定部220は、周期カウンタを備えており、パタン判定部210から出力される周期カウンタ開始信号CSTがオンである場合ステップS302:オン、周期カウンタを開始しステップS304、オフの場合ステップS302:オフ、ステップS302に戻りオンになるまで待つ。周期カウンタの開始後、周期性判定リセット信号CRSがオフの場合ステップS306:オフ、パタン判定有効信号PENの状態を判断するステップS308。周期性判定リセット信号CRSがオンの場合ステップS306:オン、周期カウンタ、連続検出カウンタをリセットしステップS322、パタン判定リセット信号PRSをオフにしステップS326、その時、周期カウンタ開始信号CSTがオンステップS342:オンの場合、ステップS306へ戻る。また、周期カウンタ開始信号CSTがオフステップS342:オフの場合、ステップS302に戻り、周期カウンタ開始信号CSTがオンになるまで待つ。ステップS306で周期性判定リセット信号CRSがオフの場合ステップS306:オフ、パタン判定有効信号PENがオンステップS308:オンの場合、周期カウンタの値を判定するステップS310。パタン判定有効信号PENがオフステップS308:オフの場合、ステップS306に戻り、周期性判定リセット信号CRSの状態を確認する。周期カウンタの値が40×2nを示していない場合ステップS310:≠40×2n、周期性判定部220は、検出周期が不良であるとして、パタン判定リセット信号PRSをアクティブオンにして不一致をパタン判定部210に通知しステップS324、周期カウンタ、連続検出カウンタをリセットするステップS322。パタン判定部210は、パタン判定リセット信号PRSのオンを受け取ると、保持している世代差をリセットしステップS242、パタン判定有効信号PENをオフ、周期性判定リセットCRSをオフとしステップS246、ステップS216へ戻る。周期性判定部220は、パタン判定リセット信号PRSをオフとしステップS326、周期カウンタ開始信号CSTを確認しステップS342、オンのままであればステップS342:オン、ステップS306から繰り返す。周期カウンタ開始信号CSTがオフとなっている場合ステップS342:オフ、ステップS302に戻り、周期カウンタ開始信号CSTがオンとなるのを待つ。すなわち、デバイス装置から送信されるALIGNプリミティブのサンプリングをやり直すことになる。したがって、ALIGNプリミティブを誤ってサンプリングをしたとしても、ALIGNプリミティブのビットパタンの周期である、40×2nn=0、1、...毎に検出データパタンに一致するデータを受信していることを確認することにより、誤検出なく正しくスピードネゴシエーションを行うことができる。周期カウンタの値が40×2nを示す場合ステップS310:=40×2n、周期性判定部220は、デバイス装置が送信するALIGNプリミティブを受信再生クロック信号RCLKに基づいて所定の周期でサンプリングすることができたとして、周期カウンタをリセットするステップS312。ここでは、ホスト装置は第3世代の速度、デバイス装置は第1世代の速度をそれぞれサポートする装置であるから、周期カウンタは2世代差として40×22すなわち160をカウントし、リセットされる。また、周期性判定部220は、連続検出カウンタをカウントアップするステップS314。周期性判定部220は、カウントアップされた連続検出カウンタの値が所定の数mに達したか否かを判定するステップS332。すなわち、ALIGNプリミティブのパタンが連続してm回検出されるまでステップS332:<m、ステップS306に戻り、上記処理が繰り返される。連続検出カウンタの値がm以上を示すとステップS332:≧m、周期性判定部220は、所定の周期でm回以上連続してデバイス装置からのALIGNプリミティブを検出できたとする。したがって、周期性判定部220は、パタン検出信号PDTに設定された世代差を示すnここでは2を世代差判定信号GNGに設定し、速度判定有効信号SENをアクティブにして世代差判定処理を完了したことを伝送速度設定部250に通知するステップS334。伝送速度設定部250は、ステップS402で設定可能な最大速度を設定後、速度判定有効信号SENがアクティブになるまで待機するステップS404。速度判定有効信号SENがアクティブになるとステップS404:オン、伝送速度設定部250は、世代差判定信号GNGに設定された値と、LINK層から出力されるスピード設定信号SPSに設定された値とに基づいて、適切な伝送速度を求める。伝送速度設定部250は、求められた伝送速度をスピードモード設定信号SPDSに設定して制御部310に通知するステップS406。ここでは、スピード設定信号SPSには3が設定され、世代差判定信号GNGには2が設定されているため、スピードモード設定信号SPDSには1が設定される。すなわち、第1世代の伝送速度である1.5Gbpsがデバイス装置との間でスピードネゴシエーションされた伝送速度として設定される。このように、スピードネゴシエーション時にデバイス装置から送信されるデータパタンは、ホスト装置の最高速度の受信クロックでサンプリングされ、世代差nに対応して2n倍n=0,1,2,3に引き伸ばされたデータパタンとして受信される。そのデータパタンに基づいてホスト装置とデバイス装置との世代差を判別することにより、1回のスピードネゴシエーションで、デバイス装置から送信されるALIGNプリミティブの伝送速度を判別することができる。したがって、本発明によれば、接続確立までの時間を短縮できる。また、受信部がサポートする最高速度の受信クロックでサンプリングするため、それ以上の速度のクロック信号を持つ必要がない。第2の実施の形態上記第1の実施の形態においては、検出データパタンは、ALIGNプリミティブの全てのビットが比較の対象となっている。第2の実施の形態においては、40ビットのALIGNプリミティブのうちの特徴的な部分のビット列を検出データパタンとして世代差を判定する。したがって、装置構成は第1の実施の形態と同じであるため説明を省略し、処理手順は第1の実施の形態と相違する部分を説明する。第2の実施の形態では、検出データパタンの設定が異なっている。すなわち、ステップS202において、設定される検出データパタンは、ALIGNプリミティブのうちの特徴的な部分として、例えば、K28.5コードの全体あるいは、一部のビット列とする。K28.5コードを示すビット列は、0011111010と示され、K28.5コードの特徴的な部分として、連続する5ビットの1に注目する。連続5ビットの1のビット列は、ALIGNプリミティブの中で最長の1の連続部分であり、ALIGNプリミティブの40ビットのビット列に1か所にしか出現しない。この連続5ビットを確実に判定するために、前後1ビットを連結した0111110パタンに注目し、40×2nビット毎に1度の出現を確認することにより、その周期を判定することができる。検出データパタンとして設定されるビット列は、原パタン世代差なし/7ビット:01111101世代差パタン/12ビット:0111111111102世代差パタン/22ビット:0111111111111111111110というように、連続する5×2nビットの1と前後に0が付加された5×2n2ビットのビット列となるnは世代差。パタン判定部210は、設定された検出データパタンに基づいて、ALIGNプリミティブの受信パタンを判定しステップS222~S236、上記パタンが検出されると、前回検出の世代差と同じか判定しステップS237、同じ世代差であればステップS237:Yes、周期性判定部220に通知するステップS238。周期性判定部220は、周期カウンタの値が40×2nn=0、1、...であること確認してALIGNプリミティブの一部であることを判定するステップS310。その判定が所定の回数m回連続することを連続検出カウンタの値によって確認しステップS332、周期性判定部220は、伝送速度を確定するステップS334。このように、周期カウンタによる検出データパタンの一致の周期の判定、連続検出カウンタによる連続検出回数の判定を行うことにより、正確にスピードネゴシエーションができる。ALIGNプリミティブは、他にも特徴的なビットパタンを有している。例えば、1K28.5コードの反転パタンにおける連続5ビットの0と前後に1を付加した部分K28.5コードには、ランニングディスパリティRDの値に応じて使い分ける2つのビットパタンが定義されている。上記で説明されたK28.5は、K28.5RD-:0011111010であり、反転されたパタンであるK28.5は、K28.5RD:1100000101となる。K28.5RDパタンの連続する5ビットの0も特徴的パタンとなる。連続5ビットを確実に判定するために、前後1ビットを連結した1000001パタンが特徴的なパタンとなる。2K28.5コード全体K28.5コードは、上記のように、2パタンが定義されているため、以下の10ビットの2パタンが特徴的パタンとなる。K28.5RD-:0011111010K28.5RD:11000001013D27.3コードの全体D27.3コードにもランニングディスパリティRDの値に応じて使い分ける2つのビットパタンが定義されている。したがって、以下の10ビットの2パタンが特徴的パタンとなる。D27.3RD:0010011100D27.3RD-:11011000114D10.2コードと続くD27.3コードの先頭の2ビットD10.2コードは、ALIGNプリミティブの中に2回出現するが、D27.3コードの先頭の2ビットを連結させると、そのパタンは1回の出現となる。D10.2コードは、0101010101であり、D27.3コードは、上記のように2パタンが定義されているため、以下の12ビットの2パタンが特徴的パタンとなる。D10.2D27.3RD-の2ビット:010101010100D10.2D27.3RDの2ビット:0101010101115D27.3コードとK28.5コードに含まれる100111000011111または011000111100000のビット列D27.3コードからK28.5コードにわたり1、0を示すビットが交互に1ビット、2ビット連続、3ビット連続、4ビット連続、5ビット連続して出現する部分がある。下記のように、2つのコードを並べるとD27.3RDK28.5RD-00100111000011111010←-------------→または、反転パタンD27.3RD-K28.5RD11011000111100000101←-------------→となり、15ビットの2パタンが特徴的パタンとなる。このように、検出データパタンには、世代差を誤解釈、誤検出せずに判別できる全ての特徴的なパタンを使用することができる。これらの検出データパタンを使用しても同様にスピードネゴシエーションをすることができる。このように短い検出データパタンとすることにより、ビットパタンの比較器を簡素化できる。上述のように、シリアル通信装置の受信部が有する最高速度の受信クロックを用いて受信データをサンプリングするため、受信部の回路を高速化せずに設計することができ、回路設計の負担を軽減することができる。また、規格更新によって、より高速化された場合にもサポートする世代差をnからn1にするだけでよく、同じ論理を適用することができる。以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施の可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。"