(57)【要約】【課題】  較正処理後においても、受信データに基づいて随時適切なイコライズ量を調整する情報処理装置、方法およびプログラムを提供すること。【解決手段】  シリアルデータを通信する情報処理装置であって、シリアルデータを所定のイコライズ量でイコライズ処理する手段と、イコライズ処理したシリアルデータをオーバーサンプリングするオーバーサンプリング部２１０と、オーバーサンプリングしたシリアルデータに含まれるハイ信号またはロー信号のうち、同じの符号の信号が連続する数を計測するデータ幅計測部２２０と、計測した同じ信号が連続する数に基づいて、イコライズ量を設定するイコライズ量設定部２３０とを含む。【選択図】  図７
2017152901.tif 000002
【特許請求の範囲】
【請求項１】
シリアルデータを通信する情報処理装置であって、
前記シリアルデータを所定のイコライズ量でイコライズ処理する手段と、
前記イコライズ処理した前記シリアルデータをオーバーサンプリングする手段と、
前記オーバーサンプリングした前記シリアルデータに含まれるハイ信号またはロー信号のうち、同じの符号の信号が連続する数を計測する手段と、
前記計測した同じ信号が連続する数に基づいて、前記イコライズ量を設定する手段と
を含む情報処理装置。
【請求項２】
所定の数の同じ符号が連続する信号に続いて、前記符号と異なる符号の信号を含むデータパターンを受信した場合に、
前記オーバーサンプリングしたサンプリング周波数の逓倍数と、
前記符号と異なる符号の前記信号のデータ幅のクロック数とを比較し、該比較の結果に基づいて前記イコライズ量を設定する
請求項１に記載の情報処理装置。
【請求項３】
前記イコライズ量を設定する手段は、
前記イコライズ量の設定を実行した後は一定時間が経過するまで前記イコライズ量の設定を待機する
請求項１または請求項２に記載の情報処理装置。
【請求項４】
シリアルデータを通信する情報処理装置が実行する方法であって、
前記シリアルデータを所定のイコライズ量でイコライズ処理するステップと、
前記イコライズ処理した前記シリアルデータをオーバーサンプリングするステップと、
前記オーバーサンプリングした前記シリアルデータに含まれるハイ信号またはロー信号のうち、同じの符号の信号が連続する数を計測するステップと、
前記計測した同じ信号が連続する数に基づいて、前記イコライズ量を設定するステップと
を含む方法。
【請求項５】
所定の数の同じ符号が連続する信号に続いて、前記符号と異なる符号の信号を含むデータパターンを受信した場合に、
前記オーバーサンプリングしたサンプリング周波数の逓倍数と、
前記符号と異なる符号の前記信号のデータ幅のクロック数とを比較し、該比較の結果に基づいて前記イコライズ量を設定する
請求項４に記載の方法。
【請求項６】
前記イコライズ量の設定するステップを実行した後は一定時間が経過するまで前記イコライズ量の設定を待機する
請求項４または請求項５に記載の方法。
【請求項７】
シリアルデータを通信する情報処理装置が実行可能なプログラムであって、前記情報処理装置が、請求項４から請求項６のいずれか１項に記載の方法を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年の高速通信手段として、ＵＳＢ（Universal Serial Bus）、シリアルＡＴＡ（Serial Advanced Technology Attachment）、ＰＣＩｅ（Peripheral Component Interconnect express）等のシリアル通信規格が挙げられる。通信を確立するためにシリアル通信では、クロックの同期処理や、信号の較正処理を行う。較正処理は、伝送路で劣化した信号を補償するためのものであり、送信側で行うエンファシス処理や、受信側で行うイコライズ処理等がある。
【０００３】
ここでシリアル通信におけるイコライズ処理について説明する。図１１は、シリアル通信系におけるシリアルデータの例を示す図である。図１１（ａ）は送信装置が送信するシリアルデータであり、例としてハイ（Ｈｉｇｈ）信号とロー（Ｌｏｗ）信号が等間隔で交互に送信されているものとする。
【０００４】
図１１（ｂ）は、シリアル通信系の伝送路を通り、受信装置に入力されるシリアルデータの例である。伝送路はローパスフィルタとして作用することから、高周波成分が劣化し、図１１（ｂ）に例示するような波形となる。その後受信装置で２値化処理を行うと、図１１（ｃ）に示す矩形の波形となる。しかしながら不適切なイコライズ量でイコライズ処理を行うと、送信装置では等間隔であったハイ／ローの信号が、図１１（ｃ）のように間隔やタイミングに差が生じ、正しいデータの送受信をすることができない。
【０００５】
そこで信号の送受信を正しく行うために、適切なイコライズ量を設定することで、シリアル通信を確立する。例えば、ハイ／ローの信号のパターン間隔が短い場合、即ち高周波ライクな信号を受信すると、信号の劣化が大きくなることから、イコライズ量を大きくする。また、ハイ／ローの信号のパターン間隔が長い場合、即ち低周波ライクな信号を受信する場合には、上述とは逆にイコライズ量を小さくする。
【０００６】
しかしながら較正処理を行い、適切なイコライズ量を設定した伝送系であっても、較正処理後に伝送経路の状態が変わった場合には、正しいデータの送受信を行うことができなくなり、再度較正処理を行う必要あるため、通信効率が低下するという問題点があった。
【０００７】
上述した問題点を解決するために、受信データに基づいて随時較正処理を行うイコライジング技術が知られている。例えば特開２０１３−２５８６８１（特許文献１）では、受信データをオーバーサンプリングしてアイパターンを検出し、該検出結果に基づいてイコライザの特性を制御する技術が開示されている。
【０００８】
特許文献１によれば、受信データに対する適応的なイコライズ処理が実施できることから、較正処理後に伝送経路の状態が変化した伝送系においても、効率的な信号の伝送を行うことができる。
【０００９】
しかしながら特許文献１における較正処理後のイコライズ量の決定は、アイパターンに依拠していることから、アイパターンを検出する回路が必要である。したがって、受信装置の回路規模が大きくなるという問題点がある。
【００１０】
そこで、較正処理後に伝送経路の状態が変化した伝送系においても、良好な通信状態を維持することができる伝送系が求められていた。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記従来技術における課題に鑑みてなされたものであり、較正処理後に伝送経路の状態が変化した伝送系においても、受信データに基づいて随時イコライズ量を制御する情報処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
すなわち、本発明によれば、シリアルデータを通信する情報処理装置であって、前記シリアルデータを所定のイコライズ量でイコライズ処理する手段と、前記イコライズ処理した前記シリアルデータをオーバーサンプリングする手段と、前記オーバーサンプリングした前記シリアルデータに含まれるハイ信号またはロー信号のうち、同じの符号の信号が連続する数を計測する手段と、前記計測した同じ信号が連続する数に基づいて、前記イコライズ量を設定する手段とを含む情報処理装置が提供される。
【発明の効果】
【００１３】
上述したように、本発明によれば、受信データに基づいて随時イコライズ量を制御する情報処理装置、方法およびプログラムが提供される。
【図面の簡単な説明】
【００１４】
【図１】本実施形態のシリアル通信系および情報処理装置のハードウェア構成を示す図。
【図２】本実施形態のシリアル通信系に含まれる情報処理装置のソフトウェアブロック図。
【図３】本実施形態の受信装置がシリアルデータを受信する処理の流れを示すフローチャート図。
【図４】本実施形態の受信装置が実行する較正処理の流れを示すフローチャート図。
【図５】本実施形態のシリアル通信系で通信されるシリアルデータのフォーマットの例を示す図。
【図６】本実施形態の受信装置がイコライズ量を調整する処理の流れを示すフローチャート図。
【図７】本実施形態の受信装置のソフトウェアブロック図。
【図８】本実施形態の受信装置に含まれるハードウェアの例を示す図。
【図９】１Ｔ幅に偏りがないシリアルデータと、データ幅計測部で計測されるデータ幅との関係を説明する図。
【図１０】１Ｔ幅に偏りがあるシリアルデータと、データ幅計測部で計測されるデータ幅との関係を説明する図。
【図１１】シリアル通信系におけるシリアルデータの例を示す図。
【発明を実施するための形態】
【００１５】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜その説明を省略するものとする。
【００１６】
図１は、本実施形態のシリアル通信系１００および情報処理装置１１０のハードウェア構成を示す図である。図１（ａ）は、情報処理装置１１０がシリアル通信系を構成する例を示しており、送信装置１１０ａが受信装置１１０ｂに対してシリアルデータを送信している。なお図１（ａ）では、送信装置１１０ａから受信装置１１０ｂへのデータ伝送を示しているが、情報処理装置１１０同士が相互にシリアルデータを送受信してもよい。
【００１７】
また図１（ｂ）は、情報処理装置１１０のハードウェア構成の例を示している。情報処理装置１１０は、ＣＰＵ１１１と、通信インターフェース１１２とＲＡＭ１１３と、ＲＯＭ１１４とを含んでおり、以下では各ハードウェアについて説明する。
【００１８】
ＣＰＵ１１１は、情報処理装置１１０の動作を制御するプログラムを実行する装置である。通信インターフェース１１２は、情報処理装置１１０を他の情報処理装置１１０と接続し、シリアル通信を行うための装置である。ＲＡＭ１１３は、情報処理装置１１０が実行するプログラムの実行空間を提供するための揮発性の記憶装置であり、プログラムやデータの格納用、展開用として使用される。ＲＯＭ１１４は、情報処理装置１１０が実行するプログラムやデータ等を記憶するための不揮発性の記憶装置である。
【００１９】
図１では、本実施形態のシリアル通信系１００に含まれる情報処理装置１１０のハードウェア構成について説明した。以下では、情報処理装置１１０によって実行される機能手段について、図２によって説明する。図２は、本実施形態のシリアル通信系１００に含まれる情報処理装置１１０のソフトウェアブロック図である。なお図２では、送信装置１１０ａと、受信装置１１０ｂとを図示しているが、送信装置１１０ａのソフトウェアブロックの説明は省略する。
【００２０】
受信装置１１０ｂは、イコライズ処理部２０１と、イコライズ量制御部２０２と、クロックリカバリ部２０３と、デシリアライズ部２０４とを含んでいる。イコライズ処理部２０１は、受信したシリアルデータの信号を改善するために、所定のイコライズ量でイコライズ処理する手段である。イコライズ量制御部は、受信したシリアルデータに基づいてイコライズ処理部２０１が実行するイコライズ処理のイコライズ量を制御する手段である。
【００２１】
クロックリカバリ部２０３は、受信したシリアルデータに基づいて、クロックを復元する手段である。またクロックリカバリ部２０３は、復元したクロックに基づくオーバーサンプリングクロック（ＯＶＳＣＬＫ）を生成することもできる。デシリアライズ部２０４は、受信したシリアルデータをパラレルデータに変換する手段である。
【００２２】
なお、図２に示したソフトウェアブロックは、ＣＰＵ１１１が本実施形態のプログラムを実行することにより、各ハードウェア上に実現される機能手段に相当する。また、図２に示した機能手段は、全部がソフトウェア的に実現されても良いし、その一部または全部を同等の機能を提供するハードウェアとして実装することもできる。
【００２３】
以上、本実施形態における情報処理装置１１０のソフトウェアブロックについて説明した。以下では本実施形態のシリアル通信系１００に含まれる受信装置１１０ｂが実行する処理について説明する。図３は、本実施形態の受信装置１１０ｂがシリアルデータを受信する処理の流れを示すフローチャート図である。
【００２４】
まず受信装置１１０ｂは、ステップＳ１０００からシリアルデータを受信する処理を開始する。次にステップＳ１００１で較正処理を行い、シリアル通信系１００を確立する。なお、較正処理の詳細については後述する。シリアル通信系１００を確立した後ステップＳ１００２で、送信装置１１０ａからシリアルデータを受信する。受信したシリアルデータは、ステップＳ１００３でイコライズ処理される。その後ステップＳ１００４で、シリアルデータの通信が継続しているかを判定する。
【００２５】
ステップＳ１００４で通信が継続していないと判定された場合には、ステップＳ１００６へ進み、受信装置１１０ｂはシリアルデータを受信する処理を終了する。ステップＳ１００４で通信が継続していると判定された場合には、ステップＳ１００５へ進み、イコライズ処理したシリアルデータに基づいて、イコライズ量の調整を行う。その後ステップＳ１００２へ戻り、シリアルデータを受信する。なお、イコライズ量の調整についての詳細は後述する。
【００２６】
シリアル通信を行う受信装置１１０ｂは図３に示す処理を実行することで、シリアルデータの通信が継続している間に随時イコライズ量の調整を行うことができる。次にシリアル通信系１００を確立するための較正処理について説明する。図４は、本実施形態の受信装置１１０ｂが実行する較正処理の流れを示すフローチャート図であり、図３のステップＳ１００１に相当する。
【００２７】
図３のステップＳ１０００でシリアルデータを受信する処理を開始した受信装置１１０ｂは、ステップＳ２０００から較正処理を開始する。次にステップＳ２００１で、送信装置１１０ａからクロックデータを受信する。その後ステップＳ２００２では、ステップＳ２００１で受信したクロックデータに基づいて、クロックリカバリ部２０３のＣＤＲ（Clock Data Recovery）周波数を、送信装置１１０ａの周波数とロックさせることで、送信装置１１０ａと受信装置１１０ｂとを同期させる。
【００２８】
さらにその後ステップＳ２００３で受信装置１１０ｂは、イコライズ量を設定するためのデータパターンを受信する。本実施形態ではデータパターンは、連続する５つのロー（Ｌｏｗ）信号（５Ｔ）と１つのハイ（Ｈｉｇｈ）信号（１Ｔ）で構成され、以下、本明細書では５Ｔ１Ｔパターンとして参照する。なおデータパターンは上述のものに限定されず、例えば連続する４つのハイ信号（４Ｔ）と１つのロー信号（１Ｔ）であってもよい。さらに連続するロー信号またはハイ信号の数は上述した数に限定するものではなく、４つまたは５つでなくてもよい。
【００２９】
そしてステップＳ２００４では、ステップＳ２００３で受信したデータパターンに基づいて、イコライズ量を設定する。イコライズ量は、受信したデータパターンをオーバーサンプリングすることで、５Ｔ１Ｔパターンに含まれる１Ｔの幅を求め、該幅によって決定する。例えば、１Ｔ幅に対応するイコライズ量をあらかじめ記憶しておき、求めた１Ｔ幅に応じたイコライズ量に設定する方法等が挙げられる。
【００３０】
そしてステップＳ２００４でイコライズ量を設定した後、ステップＳ２００５で、受信装置１１０ｂは較正処理を終了する。ここまでで受信装置１１０ｂが較正処理を行い、シリアル通信系１００を確立する処理について説明した。以下では、本実施形態におけるシリアルデータについて説明する。図５は、本実施形態のシリアル通信系１００で通信されるシリアルデータのフォーマットの例を示す図である。
【００３１】
シリアル通信系１００においてシリアルデータは、ある一定のまとめられたパケットフォーマットで通信される。図５では、データの始まりを示す４バイトのＳｙｎｃコードと、Ｓｙｎｃコードに続く８０バイトのデータと、４バイトのＥＣＣ（Error Correcting Code：誤り訂正符合）から構成されるシリアルデータを例示している。なお、Ｓｙｎｃコードと、データと、ＥＣＣのバイト数は上述のものに限定するものではなく、シリアル通信系１００によって任意の数を選択することができる。また誤り訂正を行わない場合には、ＥＣＣが無くてもよい。
【００３２】
シリアルデータに含まれるハイ／ロー信号が長期間にわたって連続した場合には、クロックを取り出せないことがあり得る。そこで８ｂ／１０ｂ変換することで、冗長度を与え、シリアル通信することが好ましい。したがって本実施形態におけるシリアルデータは、８ｂ／１０ｂ変換し、Ｓｙｎｃコードは、５Ｔ１Ｔパターンを含む制御コード（Ｋコード）とすることが好ましい。
【００３３】
図５では、５Ｔ１Ｔパターンを含むＳｙｎｃコードを示しており、５Ｔ１Ｔパターンは、５個の連続するロー信号と、ロー信号に続く１つのハイ信号で構成されている。また本実施形態のＳｙｎｃコードは４バイトであることから、４バイトに相当する複数の５Ｔ１Ｔパターンを含めることができ、受信するシリアルデータには常に５Ｔ１Ｔパターンを含めることができる。したがって較正処理後のシリアルデータ通信であっても、５Ｔ１Ｔパターンを含むシリアルデータを受信するたびに１Ｔ幅を計測し、該計測結果に基づいて適切なイコライズ量を随時設定することができる。また複数の５Ｔ１Ｔパターンを含めることで、調整するイコライズ量の確度を向上させることができる。
【００３４】
以下では、較正処理後におけるイコライズ量の調整について説明する。図６は、本実施形態の受信装置１１０ｂがイコライズ量を調整する処理の流れを示すフローチャート図であり、図３のステップＳ１００５に相当する。図３のステップＳ１００４で通信が継続していると判定した受信装置１１０ｂは、ステップＳ３０００からイコライズ量を調整する処理を開始する。
【００３５】
ステップＳ３００１では、イコライズ処理後の１Ｔ幅に偏りがあるかを判定する。ここで１Ｔ幅の偏りは、イコライズ処理後のオーバーサンプリングしたシリアルデータに含まれる５Ｔ１Ｔパターンの１Ｔのクロック数を計測し、オーバーサンプリングしたサンプリング周波数の逓倍数と比較することで求める。例えば、４逓倍でオーバーサンプリングした場合には、１Ｔ幅が４クロックであれば偏りがないと判定し、１Ｔ幅が４クロック以外であれば偏りがあると判定する。
【００３６】
ステップＳ３００１で１Ｔ幅に偏りがないと判定した場合には、イコライズ量は適切であることからイコライズ量の調整の必要はなく、ステップＳ３０１０へ進む。ステップＳ３０１０では、イコライズ量を調整する処理を終了し、その後図３のステップＳ１００２に戻って、データの受信を継続する。ステップＳ３００１で１Ｔ幅に偏りがあると判定した場合には、ステップＳ３００２へ進む。
【００３７】
ステップＳ３００２では、イコライズ量の調整を行っていたか否かを判定する。これはステップＳ３００１で判定された１Ｔ幅の偏りが、イコライズ量の調整をした結果生じたものであるかを判定するためのものであり、後述するイコライズ量の調整をするステップ後に、イコライズ量の調整をしたことを示すフラグを記録することで判定を行う。
【００３８】
ステップＳ３００２でイコライズ量の調整を行っていないと判定した場合には、ステップＳ３００６へ進み、イコライズ量の調整を行う。なおステップＳ３００６の詳細は後述する。ステップＳ３００２でイコライズ量の調整を行っていたと判定した場合には、ステップＳ３００３へ進み、イコライズ量の調整によって１Ｔ幅の偏りが減少したかを判定する。
【００３９】
ステップＳ３００３の処理は、イコライズ量の調整を行った場合に、イコライズ量の調整前後の１Ｔ幅を比較して、イコライズ量の調整によって１Ｔ幅の偏りが減少していれば、イコライズ量の調整が適切であったと判定するものである。したがってステップＳ３００３で１Ｔ幅の偏りが減少していないと判定した場合には、さらにイコライズ量の調整を行うためステップＳ３００６へ進む。またステップＳ３００３で１Ｔ幅の偏りが減少したと判定した場合には、これ以上の調整を行う必要が無いことから、ステップＳ３００４へ進む。
【００４０】
ステップＳ３００４では、イコライズ量の調整後であっても、調整した結果がイコライズ処理部２０１のアナログ回路に直ちに反映されないため、あらかじめ設定した一定時間が経過するまで処理を待機する。このように一定時間処理を待機することによって、イコライズ量の増減が過剰になることを防止することができる。一定時間処理を待機した後、ステップＳ３００５でイコライズ量調整フラグをクリアして、さらにステップＳ３０１０へ進む。ステップＳ３０１０では、イコライズ量を調整する処理を終了し、その後図３のステップＳ１００２に戻って、データの受信を継続する。
【００４１】
次にステップＳ３００６からの処理について説明する。ステップＳ３００６では、ステップＳ３００２でイコライズ量の調整を行っていないと判定した場合、またはステップＳ３００３で１Ｔ幅の偏りが減少していないと判定した場合に、イコライズ量の調整を実行する。ステップＳ３００６では、１Ｔ幅のクロック数が、オーバーサンプリングのサンプリング周波数の逓倍数と比較して大きいかを判定する。
【００４２】
１Ｔ幅が大きいと判定した場合には、ステップＳ３００７へ進み、イコライズ量を１段階小さくする。１Ｔ幅が小さいと判定した場合には、ステップＳ３００８へ進みイコライズ量を１段階大きくする。イコライズ量は０ｄＢ、２ｄＢ、４ｄＢ等の値をあらかじめ設定しておき、１Ｔ幅の大小によって段階的に調整することが好ましい。なお上述のイコライズ量の値は一例であって、これらの値に限定するものではない。
【００４３】
ステップＳ３００７またはステップＳ３００８でイコライズ量を調整した後、ステップＳ３００９へ進み、イコライズ量を調整したことを識別するフラグを記録して、ステップＳ３０１０へ進む。ステップＳ３０１０では、イコライズ量を調整する処理を終了し、その後図３のステップＳ１００２に戻って、データの受信を継続する。
【００４４】
以上、本実施形態の受信装置１１０ｂがイコライズ量を調整する処理について説明した。上述の通り、受信装置１１０ｂは図６の処理を実行することで、受信したシリアルデータに基づいて随時適切なイコライズ量に調整することができる。次に、イコライズ量を調整する処理を実行する受信装置１１０ｂの構成について説明する。図７は、本実施形態の受信装置１１０ｂのソフトウェアブロック図であり、図２の受信装置１１０ｂを詳細に示している。
【００４５】
本実施形態の受信装置１１０ｂは、イコライズ処理部２０１と、イコライズ量制御部２０２と、クロックリカバリ部２０３と、デシリアライズ部２０４とを含んで構成される。イコライズ処理部２０１と、クロックリカバリ部２０３と、デシリアライズ部２０４については図２で説明したので省略し、イコライズ量制御部２０２について以下に説明する。
【００４６】
イコライズ量制御部２０２は、オーバーサンプリング部２１０と、データ幅計測部２２０と、イコライズ量設定部２３０とを含んで構成される。オーバーサンプリング部２１０は、シリアルデータとオーバーサンプリングクロック信号（ＯＶＳＣＬＫ）に基づいて、オーバーサンプリングデータ信号（ＯＶＳＤＡＴＡ）を出力する手段である。
【００４７】
データ幅計測部２２０は、オーバーサンプリング部２１０が出力したオーバーサンプリングデータ信号に基づいて、受信したシリアルデータに含まれるハイ信号またはロー信号のデータ幅を計測する手段である。イコライズ量設定部２３０は、データ幅計測部２２０が計測したハイ信号またはロー信号のデータ幅に基づいて、適切なイコライズ量を設定し、イコライズ処理部２０１へフィードバックする手段である。
【００４８】
なお図７に示したソフトウェアブロックは、ＣＰＵ１１１が本実施形態のプログラムを実行することにより、各ハードウェア上に実現される機能手段に相当する。また、図７に示した機能手段は、全部がソフトウェア的に実現されても良いし、その一部または全部を同等の機能を提供するハードウェアとして実装することもできる。
【００４９】
次に図７に示したオーバーサンプリング部２１０およびデータ幅計測部２２０のハードウェアの構成について説明する。図８は、本実施形態の受信装置１１０ｂに含まれるハードウェアの例を示す図である。なお、図８に示すハードウェアの構成は一例であり、他の構成を排除するものではない。
【００５０】
オーバーサンプリング部２１０は、第１フリップフロップ回路２１１と、第２フリップフロップ回路２１２とを含んで構成され、２つのＯＶＳＤＡＴＡを出力する。なお、第２フリップフロップ回路２１２の出力は、第１フリップフロップ回路２１１の出力に対して１クロック分だけ遅れて出力される。このように２つのフリップフロップ回路の出力に１クロック分の時間差を設けることで、シリアルデータの時間的な変化を検出することができる。
【００５１】
データ幅計測部２２０は、排他的論理和（ＸＯＲ）演算部２２１と、カウンタ回路２２２とを含んで構成される。ＸＯＲ演算部２２１は、第１フリップフロップ回路２１１と、第２フリップフロップ回路２１２が出力した２つのＯＶＳＤＡＴＡに基づいて、ＸＯＲ演算した結果を出力する手段である。カウンタ回路２２２は、シリアルデータのハイ信号またはロー信号のデータ幅をカウントし、ＸＯＲ演算部２２１が出力した演算結果に基づいて、カウント数をリセットする。なおデータ幅計測部２２０は、ＸＯＲ演算部２２１に代えて、否定排他的論理和（ＸＮＯＲ）演算部を用いてもよく、ＸＮＯＲ演算した結果に基づいて、シリアルデータのハイ信号またはロー信号のデータ幅をカウントしてもよい。
【００５２】
本実施形態では５Ｔ１Ｔパターンに含まれる１Ｔ幅の長短に基づいて、イコライズ量が適切となるように制御する。以下では、受信したシリアルデータをオーバーサンプリングして、１Ｔ幅の長短を判定する方法について説明する。図９は、１Ｔ幅に偏りがないシリアルデータと、データ幅計測部２２０で計測されるデータ幅との関係を説明する図である。なお図９では、例として４逓倍のサンプリング周波数でオーバーサンプリングしているが、オーバーサンプリングのサンプリング周波数はこれに制限されるものではない。例えばサンプリング周波数を高くすることで、データ幅の分解能を向上させることができ、より精密なイコライズ量の調整を行うことができる。
【００５３】
図９では５Ｔ１Ｔパターンを含むシリアルデータを受信した様子を示しており、時刻１から時刻２０で５個の連続するロー信号（５Ｔ）を受信した後、時刻２１から時刻２４で１個のハイ信号（１Ｔ）を受信している。オーバーサンプリング部２１０は、このシリアルデータを４逓倍のクロック数（ＯＶＳＣＬＫ）でオーバーサンプリングして、オーバーサンプリングデータ信号（ＯＶＳＤＡＴＡ）を出力している。図９中の「ＯＶＳＣＬＫ」の「↑」はクロックの立ち上がりを意味し、オーバーサンプリングするタイミングを示している。また「ＯＶＳＤＡＴＡ」はオーバーサンプリングしたときのシリアルデータがハイであったかローであったかを示している。
【００５４】
「ＸＯＲ」は、ある時刻ｔにおけるＯＶＳＤＡＴＡおよびその次の時刻ｔ＋１におけるＯＶＳＤＡＴＡの排他的論理和演算の出力である。即ち、時刻ｔと時刻ｔ＋１のＯＶＳＤＡＴＡを比較して、同じ信号が出力されている場合には「ＸＯＲ」の出力はローとなり、異なる信号が出力されている場合には「ＸＯＲ」の出力はハイとなる。したがって図９では、時刻０と時刻１の場合、時刻２０と時刻２１の場合、時刻２４と時刻２５の場合、時刻２８と時刻２９の場合で、それぞれ異なる信号が出力されていることから、ＸＯＲ出力がハイとなっている。
【００５５】
カウンタ回路２２２は、上述のＸＯＲ出力に基づいて、シリアルデータのデータ幅のクロック数をカウントする。図９中の「ＣＯＵＮＴ」は、同じ符号の信号がいくつ連続しているかを計測した結果である。計測する方法は一例として、カウント数を１から計測を開始し、オーバーサンプリングのクロックが立ち上がるごとにカウント数を１ずつ増加させ、ＸＯＲ出力がハイとなったときにカウント数を１にリセットする方法等が挙げられる。したがって図９では、時刻１の「ＣＯＵＮＴ」が１となり、その後時刻２０まで「ＣＯＵＮＴ」が１ずつ増加している。時刻２１では「ＸＯＲ」がハイとなったことから「ＣＯＵＮＴ」が１にリセットされ、その後は同様にカウントされている。
【００５６】
イコライズ量設定部２３０は、上述したデータ幅計測部２２０の出力に基づいて、１Ｔ幅が長いか短いかを判定し、適切なイコライズ量を設定する。１Ｔ幅の長短は、１Ｔパターンの末尾の時刻におけるカウント数を、オーバーサンプリングしたサンプリング周波数の逓倍数で割って、その商と余りから判定することができる。例えば図９では、４逓倍でオーバーサンプリングしていることから、カウント数を４で割った商と余りを求めることで、１Ｔ幅の長短を判定する。
【００５７】
図９の「ＱＵＯＴＩＥＮＴ」は、「ＣＯＵＮＴ」を４で割ったときの商を表しており、「ＭＯＤ」は、「ＣＯＵＮＴ」を４で割ったときの余りを表している。即ち「ＭＯＤ」は、「ＣＯＵＮＴ」の増加に伴って「１→２→３→０→１・・・」とカウントする２ビットのカウンタであって、「３→０」とオーバーフローしたときに「ＱＵＯＴＩＥＮＴ」が１ずつ増加すると言い換えることができる。
【００５８】
例えば図９において１Ｔ幅の長短を判定する場合について説明する。図９では、１Ｔパターンの末尾である時刻２４のときの「ＣＯＵＮＴ」は４であることから、「４÷４」を計算して、「ＱＵＯＴＩＥＮＴ」が１、「ＭＯＤ」が０となる。ここでイコライズ量の調整が必要であるかの判定について説明する。イコライズ量の調整が必要であるかの判定は、１Ｔ幅のクロック数とオーバーサンプリングしたサンプリング周波数の逓倍数とを比較し、例えば４逓倍でオーバーサンプリングした場合には、１Ｔ幅が４クロックであれば偏りがないと判定する（ステップＳ３００１）。したがって「ＱＵＯＴＩＥＮＴ」および「ＭＯＤ」の値から、イコライズ量の調整が必要であるかを判定することができる。
【００５９】
そこで、イコライズ量の調整が必要であるかの判定は、表１のようにまとめることができる。表１は１Ｔ幅のクロック数とイコライズ量調整の要／不要との関係を示す表である。なお表１は一例を示したものであり、サンプリング周波数の逓倍数によって、１Ｔ幅のクロック数とイコライズ量調整との関係は適宜変更される。
【００６０】
【表１】
2017152901.tif 000003
【００６１】
図９の例では「ＱＵＯＴＩＥＮＴ」が１、「ＭＯＤ」が０であり、表１から、１Ｔ幅に偏りがなく、イコライズ量が適切であると判定することができる。
【００６２】
次に１Ｔ幅の長短を判定した結果、イコライズ量の調整が必要となる場合について説明する。図１０は、１Ｔ幅に偏りがあるシリアルデータと、データ幅計測部２２０で計測されるデータ幅との関係を説明する図である。図１０（ａ）は１Ｔ幅が長い場合の例を示し、図１０（ｂ）は１Ｔ幅が短い場合の例を示している。なお図１０（ａ）、図１０（ｂ）の時刻１６までは、図９と同様であるため省略している。
【００６３】
図１０（ａ）では、１Ｔパターンの末尾である時刻２５における「ＣＯＵＮＴ」は５であることから、１Ｔ幅は５クロックであり、データ幅に偏りがあると判定される。さらに「５÷４」を計算すると、「ＱＵＯＴＩＥＮＴ」が１、「ＭＯＤ」が１となり、この計算結果と表１から、イコライズ量を減らす必要があると判定することができる。
【００６４】
図１０（ｂ）では、１Ｔパターンの末尾である時刻２３における「ＣＯＵＮＴ」は３であることから、１Ｔ幅は３クロックであり、データ幅に偏りがあると判定される。さらに「３÷４」を計算すると、「ＱＵＯＴＩＥＮＴ」が０、「ＭＯＤ」が３となり、この計算結果と表１から、イコライズ量を増やす必要があると判定することができる。
【００６５】
図９および図１０で示したように同じ信号が連続する回数をカウントして、５Ｔ１Ｔパターンの１Ｔ幅を計測することで、該計測結果と表１から、イコライズ量の調整を適切に行うことができる。また表１において、「ＱＵＯＴＩＥＮＴ」が０、「ＭＯＤ」が２となる場合や、「ＱＵＯＴＩＥＮＴ」が１、「ＭＯＤ」が２となる場合では、１Ｔ幅の偏りが極端であることから、キャリブレーションエラーとして処理してもよい。
【００６６】
さらにカウント数が極端に大きくなる場合、即ち同じ信号が長期間にわたって連続する場合においても、キャリブレーションエラーとして処理してもよい。例えばキャリブレーションエラーと判定する閾値をあらかじめ設定しておき、カウント数が閾値を超えた場合に、キャリブレーションエラーとして処理してもよい。
【００６７】
以上、本発明によれば、較正処理後であっても、受信したシリアルデータに基づいて、随時適切にイコライズ量を調整することができ、良好な通信状態を維持するシリアル通信を行うことができる。
【００６８】
上述した本発明の実施形態の各機能は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等で記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭ等の装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００６９】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００７０】
１００…シリアル通信系、１１０…情報処理装置、１１０ａ…送信装置、１１０ｂ…受信装置、１１１…ＣＰＵ、１１２…通信インターフェース、１１３…ＲＡＭ、１１４…ＲＯＭ、２０１…イコライズ処理部、２０２…イコライズ量制御部、２０３…クロックリカバリ部、２０４…デシリアライズ部、２１０…オーバーサンプリング部、２１１…第１フリップフロップ回路、２１２…第２フリップフロップ回路、２２０…データ幅計測部、２２１…排他的論理和演算回路、２２２…カウンタ回路、２３０…イコライズ量設定部
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２０１３−２５８６８１
【図１】
2017152901.tif 000004
【図２】
2017152901.tif 000005
【図３】
2017152901.tif 000006
【図４】
2017152901.tif 000007
【図５】
2017152901.tif 000008
【図６】
2017152901.tif 000009
【図７】
2017152901.tif 000010
【図８】
2017152901.tif 000011
【図９】
2017152901.tif 000012
【図１０】
2017152901.tif 000013
【図１１】
2017152901.tif 000014