(57)【要約】【課題】簡易な回路構成により機能検証を可能にするＵＳＢコントローラ及びＵＳＢコントローラ試験方法を提供することを目的とする。【解決手段】送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路３２と、受信データを受信するレシーバ回路３１とを備えたＵＳＢコントローラ１であって、当該ＵＳＢコントローラ１のループバックテストのためのテストモードの設定用のレジスタと、前記レジスタにおいてテストモードが設定されると前記レシーバ回路３１又は前記ドライバ回路３２のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路３３とを有し、前記レジスタにおいてテストモードが設定されると、ループバックテストを行うことを特徴とするＵＳＢコントローラ１。【選択図】図５
2008234222.tif 000002
【特許請求の範囲】
【請求項１】
送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、
送信データを送信するドライバ回路と、
受信データを受信するレシーバ回路とを備えたＵＳＢコントローラであって、
当該ＵＳＢコントローラのループバックテストのためのテストモードの設定用のレジスタと、
前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路と、
を有し、
前記レジスタにおいてテストモードが設定されると、ループバックテストを行うことを特徴とするＵＳＢコントローラ。
【請求項２】
当該ループバックテストに係るエラー情報を保持するエラー情報保持レジスタを有することを特徴とする請求項１に記載のＵＳＢコントローラ。
【請求項３】
当該ループバックテストに係る送信データ及び／又は受信データを保持するデータ保持レジスタを有することを特徴とする請求項１又は２に記載のＵＳＢコントローラ。
【請求項４】
送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、
送信データを送信するドライバ回路と、
受信データを受信するレシーバ回路と、
当該ＵＳＢコントローラのループバックテストのためのテストモードの設定用のレジスタとを備えたＵＳＢコントローラにおけるＵＳＢコントローラ試験方法であって、
前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替工程と、
前記切替工程における切替えにより前記レシーバ回路が前記ドライバ回路により送信された送信データを受信することを用いてループバックテストを行うテスト工程と、
を有することを特徴とするＵＳＢコントローラ試験方法。
【請求項５】
前記レジスタへのテストモードの設定は、当該ＵＳＢコントローラのＵＴＭＩ又はＵＬＰＩに準拠したインターフェイスを用いて設定されることを特徴とする請求項４に記載のＵＳＢコントローラ試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢコントローラ及びＵＳＢコントローラ試験方法に関する。
【背景技術】
【０００２】
従来、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２．０通信規格を採用した各種デバイスが多く用いられている。ＵＳＢとは、ホストとなるＰＣ（ホストＰＣ）にキーボード、マウス等の複数のＰＣ周辺機器（周辺デバイス）を接続し、両者の間でデータ通信を行うためのシリアルインターフェイス規格の一つである。ＵＳＢでは、高速通信が可能であり、ハブを介することで１つのホストＰＣポートに複数のデバイスを接続できるなど、従来用いられてきたシリアルインターフェイス規格では得られない利便性を有している。このため近年ＰＣ及びＰＣ周辺機器の標準インターフェイスとして定着しつつある。なお、ＵＳＢ２．０規格に定められているホストＰＣと周辺デバイス間の高速通信モードでの通信ビットレートは、４８０Ｍｂｐｓである。
【０００３】
図１は、ＵＳＢ２．０規格を採用したデバイスを制御するＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である従来のＵＳＢコントローラデバイス（以降ＵＳＢコントローラとする）の構成例を示す図である。図１において、ＵＳＢコントローラ１は、図示しないホストＰＣとの間でＵＳＢ２．０通信を行うものであり、ＰＨＹ層（ＰＨＹｓｉｃａｌ  ｌａｙｅｒ）２、ＬＩＮＫ層３等により構成される。ＰＨＹ層２は、ホストＰＣとの間でのデータ通信に係るデータと信号の変換等を行うためのアナログ回路であり、ホストＰＣとの間でシリアル通信を行うシリアルデータの送受信回路、シリアルパラレル変換回路、データ変復調回路等により構成される。ＬＩＮＫ層３は、データの宛先や送信元、データの境界等の認識を行うためのデジタル回路であり、通信プロトコルを制御する回路等により構成される。なお、これら機能ブロックの構成は１つのＩＣ内に全て配置される場合、それぞれ独立してＩＣ化される場合等がある。
【０００４】
ＰＨＹ層２とＬＩＮＫ層３がそれぞれ独立してＩＣ化された場合、両者間のインターフェイス規格はＵＴＭＩ（ＵＳＢ２．０  Ｔｒａｎｓｃｅｉｖｅｒ  Ｍａｃｒｏ  Ｉｎｔｅｒｆａｃｅ）規格で定められている。また、ＵＴＭＩ規格を拡張した規格であるＵＬＰＩ（ＵＴＭＩ＋Ｌｏｗ  Ｐｉｎ  Ｉｎｔｅｒｆａｃｅ）規格も策定されている。インターフェイス通信速度は、ＵＴＭＩ規格ではデータ幅８ビット／６０ＭＨｚとデータ幅１６ビット／３０ＭＨｚが選択可能である。また、ＵＬＰＩ規格ではデータ幅８ビット／６０ＭＨｚである。
【０００５】
ＵＳＢコントローラデバイスを開発する上での課題として、高速通信モードでのＩＣ動作確認が挙げられる。前述のように、高速通信モードでの通信ビットレートは４８０Ｍｂｐｓ（＝８ビット×６０ＭＨｚ）である。従来、ＩＣを製造する段階で４８０Ｍｂｐｓでの通信試験を行うには非常に高価なテスト治具を必要とする。また、テスト工程でのロジック検証を省き、実デバイスを評価ボード等に実装して動作検証を行っていたが、テスト工程初期段階で不良品を排除出来れば過剰なテスト工数とコストを省くことが可能である。
【０００６】
このような高速通信モードでのＩＣ動作確認を効果的に行うことを目的として種々の発明がなされてきた。
【０００７】
特許文献１には、テストコストの低いループバック動作によって、周波数誤差、伝送ジッタ、クロック波形変動や位相変動を付加した実動作に近い通信状態での受信機及び送信機の異常検出テストが可能な通信装置に係る発明が開示されている。ここでは、位相調整（クロック変調）回路等でタイミングを変えることにより、内部ＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋ）、エラスティックバッファ、デコーダの評価を可能としている。また、特許文献２には、小さい回路規模であって且つＵＳＢ規格におけるインターパケットディレイ時間の制約を満足することが可能なＵＳＢデバイスコントローラに係る発明が開示されている。
【特許文献１】特開２００４―２６０６７７号公報
【特許文献２】特開２００４―０２１７４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された発明では、４８０ＭＨｚ或いは位相調整のために４８０ＭＨｚより高速に動作するテスト用回路の導入が必要となるという問題がある。
また、このような高速回路は実装面積増加にも繋がり、高速であるが故に実装難易度及びコストも高くなる。
【０００９】
本発明は、上記の点に鑑みて、この問題を解消するために発明されたものであり、簡易な回路構成により機能検証を可能にするＵＳＢコントローラ及びＵＳＢコントローラ試験方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明のＵＳＢコントローラは、送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路と、受信データを受信するレシーバ回路とを備えたＵＳＢコントローラであって、当該ＵＳＢコントローラのループバックテストのためのテストモードの設定用のレジスタと、前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路とを有し、前記レジスタにおいてテストモードが設定されると、ループバックテストを行うように構成することができる。
【００１１】
また、上記の目的を達成するために、本発明のＵＳＢコントローラは、当該ループバックテストに係るエラー情報を保持するエラー情報保持レジスタを有するように構成することができる。
【００１２】
また、上記の目的を達成するために、本発明のＵＳＢコントローラは、当該ループバックテストに係る送信データ及び／又は受信データを保持するデータ保持レジスタを有するように構成することができる。
【００１３】
また、上記の目的を達成するために、本発明のＵＳＢコントローラ試験方法は、送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路と、受信データを受信するレシーバ回路と、当該ＵＳＢコントローラのループバックテストのためのテストモードの設定用のレジスタとを備えたＵＳＢコントローラにおけるＵＳＢコントローラ試験方法であって、前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替工程と、前記切替工程における切替えにより前記レシーバ回路が前記ドライバ回路により送信された送信データを受信することを用いて、ループバックテストを行うテスト工程とを有するように構成することができる。
【００１４】
また、上記の目的を達成するために、本発明のＵＳＢコントローラ試験方法において、前記レジスタへのテストモードの設定は、当該ＵＳＢコントローラのＵＴＭＩ又はＵＬＰＩに準拠したインターフェイスを用いて設定されるように構成することができる。
【発明の効果】
【００１５】
本発明のＵＳＢコントローラ及びＵＳＢコントローラ試験方法によれば、簡易な回路構成により機能検証を可能にすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を各実施形態において図面に基づいて説明する。なお、前述の図１の従来のＵＳＢコントローラについて補足説明を行う。
【００１７】
（ＰＨＹ層の構成例）
図２は、図１に示される従来のＵＳＢコントローラ１におけるＰＨＹ層２の構成例を示す図である。図２において、ＰＨＹ層２は、シーケンス制御ブロック２１、ＴＸ（Ｔｒａｎｓｍｉｔｔｅｒ）ブロック２２、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）２３、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）２４、エラスティックバッファ２５、ＲＸ（Ｒｅｃｉｅｖｅｒ）ブロック２６等を有する。
【００１８】
シーケンス制御ブロック２１は、データの送受信に係るシーケンス制御を行う回路である。例えば、後述のＴＸブロック２２、ＡＦＥ２３、ＤＬＬ２４、エラスティックバッファ２５、ＲＸブロック２６の動作シーケンスの制御を行う。ＴＸブロック２２は、データの送信に係る制御を行う回路である。
【００１９】
ＡＦＥ２３は、ＡＤ変換の処理を行うための回路である。例えばホストＰＣから受信したＤＰ／ＤＭ信号を元にデジタル信号に変換する処理を行ったり、ＴＸブロック２６から受信したデジタル信号を元にＤＰ／ＤＭ信号に変換する処理を行ったりする。なお、ＡＦＥ２３の詳細については図３を用いて後述する。
【００２０】
ＤＬＬ２４は、クロック信号とデータバスのずれを調整するための回路である。例えば当該ＵＳＢコントローラ１のサンプリングクロックの周波数位相を、ホストＰＣからＡＦＥ２３を介して受信したデータに合わせて調整する。例えば、受信したデータのエッジを検出することにより、サンプリングクロックの周波数位相を調整する。
【００２１】
エラスティックバッファ２５は、ＤＬＬ２４においてサンプリングクロックで取り込まれたデータを後述のＲＸブロック２６等以降のブロックで使用する４８０ＭＨｚのリファレンスクロックに同期化させるためのバッファである。ＲＸブロック２６は、データの受信に係る制御を行う回路である。
【００２２】
以上のブロック構成により、ＰＨＹ層２は、図示しないホストＰＣとの間でＤＰ／ＤＭで示される２本の双方向バスを用いて差動型の転送方式によるデータ授受を行う。例として周辺デバイス（ＰＨＹ層２を含むＵＳＢコントローラ１）とホストＰＣとの間においてデータを送受信する際の動作を説明する。
【００２３】
まず、周辺デバイス１がホストＰＣへデータを送信する動作について説明を行う。送信動作には、シーケンス制御ブロック２１、ＴＸブロック２２、ＡＦＥ２３が用いられる。まず、図２に示すＰＨＹ層２のシーケンス制御ブロック２１は、ＬＩＮＫ層３から例えばＵＴＭＩ規格に基づいた通信（ここではデータ幅８ビット／６０ＭＨｚ同期した転送）により被転送データを受信する。
【００２４】
ＴＸブロック２２は、シーケンス制御ブロック２１により受信された被転送データを４８０ＭＨｚクロックでシリアル化する。さらにシリアル化された被転送データには、ＵＳＢ規格で規定されるビットスタッフエンコーディング及びＮＲＺＩ（Ｎｏｎ  Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ  Ｉｎｖｅｒｔｅｄ）符号化が施される。なお、ビットスタッフエンコーディングとは、シリアル信号に所定のビット区間変化が起こらなかった場合に信号極性を反転させるエンコード法である。また、ＮＲＺＩ符号化とはシリアル信号の値が０の場合に反転、１の場合にその前の値を継続させるという符号化の１方法である。
【００２５】
符号化処理を施されたシリアルデータは、ＡＦＥブロック２３に送信される。ＡＦＥブロック２３は、受信したシリアルデータをＤＰ／ＤＭ端子を用いて図示しないホストＰＣへと出力する。以上の処理により、周辺デバイスはホストＰＣへデータを送信する。
【００２６】
次に、周辺デバイスがホストＰＣからデータを受信する動作について説明を行う。受信動作には、シーケンス制御ブロック２１、ＡＦＥ２３、ＤＬＬ２４、エラスティックバッファ２５、ＲＸブロック２６が用いられる。まず、ＡＦＥ２３は、図示しないホストＰＣからＤＰ／ＤＭ端子を介してデータをアナログ信号として受信する。ＡＦＥ２３は、受信したアナログ信号をデジタル信号に変換する。なお、受信信号のデータビットレートは、ＵＳＢコントローラ１内でサンプリングするクロック周波数と同じである。
【００２７】
続いて、ＤＬＬ２４は、ＡＦＥ２３からデジタル信号を受信し、受信したデータに合わせてサンプリングするクロックの位相を調整する。ここでは、受信したデータのエッジを検出することにより最適なサンプリングクロックの周波数位相を調整する。続いて、エラスティックバッファ２５は、ＤＬＬ２４において調整されたサンプリングクロックで取り込まれたデータを、４８０ＭＨｚのリファレンスクロックに同期化する。ＤＬＬ２４、エラスティックバッファ２５によりＵＳＢコントローラ１のリファレンスクロックに同期化されたシリアルデータは、ＲＸブロック２６においてＮＲＺＩ復号化及びアンビットスタッフエンコーディングが施されてパラレルデータに変換される。
【００２８】
さらに、シーケンス制御ブロック２１は、該パラレルデータをＬＩＮＫ層３に例えばＵＴＭＩ規格に基づいた通信（ここではデータ幅８ビット／６０ＭＨｚに同期した転送）によりデータを転送する。以上の処理により、周辺デバイスはホストＰＣからデータを受信する。
【００２９】
なお、ＰＨＹ層２とＬＩＮＫ層３の間におけるデータ転送は、８ビットパラレルデータを６０ＭＨｚクロックに同期した転送により行われる。また、ＵＴＭＩ規格の場合には、１６ビットパラレルデータを３０ＭＨｚクロックに同期した転送により行ってもよい。
【００３０】
また、図２に示す全てのブロックの動作及びＰＨＹ層２とＬＩＮＫ層３間のデータ転送タイミング等は、シーケンス制御ブロック２１により制御される。またＰＨＹ層２がホストＰＣから受信したデータが、符号化違反、ビットスタッフエンコーディング違反等のエラーを含んでいる場合、シーケンス制御ブロック２１がエラーを管理し、受信したデータと共にＬＩＮＫ層３へエラー状況を送信する。
【００３１】
また、シーケンス制御ブロック２１には、ＵＳＢ規格に定められた通信規格を満たすためのＰＨＹモード等を設定するための記憶手段である図示しないレジスタを有している。また、図２に示される各ブロックは特に高速通信に係るブロックであり、ＰＨＹ層２が有するブロックは図２で示されるブロックに限定されない。
【００３２】
（ＡＦＥの構成例）
次に、図３を用いてＡＦＥ２３の構成について説明を行う。図３は従来のＡＦＥ２３の構成例の一部を示す図である。なお、ＡＦＥ２３には、図示された部以外にもＵＳＢ規格に準拠するための機能が多く要求されるが、ここでは本発明において関連のある機能のみを図示している。
【００３３】
図３において、ＡＦＥ２３は、ＤＰ／ＤＭ端子からデータを受信するレシーバ３１、ＤＰ／ＤＭ端子へデータを送信するドライバ３２を有する。前述のようにＤＰ／ＤＭは双方向のバスであるため、図３に示されるように内部でレシーバ３１、ドライバ３２双方に接続されている。
【００３４】
続いてＡＦＥ２３の動作についてレシーバ３１及びドライバ３２の動作を中心に説明を行う。レシーバ３１及びドライバ３２は、両者が同時に機能することがないようにシーケンス制御ブロック２１から送信されるＲＸイネーブル信号（受信制御信号）、ＴＸイネーブル信号（送信制御信号）によりそれぞれ制御される。また、ＲＸイネーブル信号は、ＰＨＹ層２の受信系のブロックであるＤＬＬ２４、エラスティックバッファ２５、ＲＸブロック２６を制御し、ＴＸイネーブル信号は、ＰＨＹ層２の送信系のブロックであるＴＸブロック２２を制御する。これにより、周辺デバイスがホストＰＣに対してデータ送信（又は受信）中に、データ受信（又は送信）を行わないようにしている。
【００３５】
以上で示される構成及び作用により、従来、ＵＳＢコントローラ１においてＵＳＢ規格に準じたデータ転送が可能であった。しかしながら、ＵＳＢ２．０の高速通信モードでは回路動作周波数が４８０ＭＨｘと非常に高速である。そのため、ＵＳＢコントローラ１の製造段階においてデータ送受信のテストを行おうとする場合、４８０ＭＨｚの信号をＤＰ／ＤＭ端子から入出力させる治具が必要である。そのような治具は高価であるという問題があった。
【００３６】
そこで、本発明では以降の各実施形態において示されるような構成及び作用により、高価なテスト治具を使用せずに、安価な専用テスト治具等を用いて簡易な構成によりＵＳＢコントローラ１内部の４８０ＭＨｚ動作を簡易的に検証することが可能になる。
【００３７】
［実施形態１］
以下、本発明に係る第１の実施形態について図４〜６を用いて説明する。
（ＰＨＹ層の構成例）
まず、本実施形態１に係るＵＳＢコントローラ１におけるＰＨＹ層２の構成例について図４を用いて説明する。図４は、本実施形態１に係るＵＳＢコントローラ１におけるＰＨＹ層２の構成例を示す図である。図４で示される構成例においてテストシーケンス制御ブロック２７が加えられている点が従来（図２参照）と相違する。ここでは、テストシーケンス制御ブロック２７について中心に説明を行う。
【００３８】
テストシーケンス制御ブロック２７は、ＵＳＢコントローラ１のテストに係るシーケンス制御を行う回路である。テストに係るシーケンスとは、例えばデータの受信に係る受信シーケンスである。この場合、シーケンス制御ブロック２１はデータの送信に係る送信シーケンス制御を行うように制御する。
【００３９】
このとき、シーケンス制御ブロック２１とテストシーケンス制御ブロック２７の異なる制御ブロックが、それぞれデータの送信、受信のシーケンス制御を行うことにより、データの送受信を同時に行うことが可能になる。
【００４０】
なお、このような制御が行われる前提として、ＰＨＹ層２内部の受信系ブロックと送信系ブロックは完全に独立しているものとする。また、ＵＳＢコントローラ１の動作モード（例えば、通常動作モード、機能テストモード）の設定のためのテストシーケンス制御ブロック２７の図示しないレジスタに記憶されたモード情報がテストモードに設定された場合にのみ、テストシーケンス制御ブロック２７は機能するものとする。テストシーケンス制御ブロック２７は、図２に示されるような従来のＰＨＹ層２の構成に対して設けられた、ＵＳＢコントローラ１の動作の検証を行う動作検証手段である。
【００４１】
（ＡＦＥの構成例）
次に、本実施形態１に係るＵＳＢコントローラ１におけるＡＦＥ２３の構成例について図５を用いて説明する。図５は、本実施形態１に係るＵＳＢコントローラ１におけるＡＦＥ２３の構成例を示す図である。図５で示される構成例において、マルチプレクサ３３が加えられている点が従来（図３参照）と相違する。ここでは、マルチプレクサ３３について中心に説明を行う。
【００４２】
マルチプレクサ３３は、テストシーケンス制御ブロック２７から受信したループバックイネーブル信号に従ってＲＸイネーブル信号、ＴＸイネーブル信号のいずれか一つを選択してレシーバ３１のイネーブル信号にする切り替え機能を有する。例えば通常動作時には、ＲＸイネーブル信号をレシーバ３１のイネーブル信号にし（図３と同様）、テスト時にはＴＸイネーブル信号をレシーバ３１のイネーブル信号にする。
【００４３】
以上のような構成により、テスト時にはレシーバ３１とドライバ３２の両方がＴＸイネーブル信号により機能する。そのため、当該ＵＳＢコントローラ１がホストＰＣと接続されていない場合であっても、ＵＳＢコントローラ１内部でドライバ３１の出力がレシーバ３２の入力と繋がっているため、ドライバ３１の出力がレシーバ３１の入力となる。即ち、ＵＳＢコントローラ１が出力したデータをＵＳＢコントローラ１自身が受信することができ、データの検証を行うループバック試験が可能になる。
【００４４】
また、本実施形態１に係るＵＳＢコントローラ１のＰＨＹ層２では、ＬＩＮＫ層３から任意のデータを入力することにより、４８０ＭＨｚで動作するＴＸブロック２２、ＡＦＥ２３、ＤＬＬ２４、エラスティックバッファ２５、ＲＸブロック２６をＤＰ／ＤＭ端子への外部からの入出力無しで実使用同様にＩＣ内部を動作させることが出来る。
【００４５】
さらに、ＬＩＮＫ層３から入力された被転送データは、送信系ブロックと受信系ブロックにより構成されるループバックの系におけるデータ処理、即ちＴＸブロック２２における４８０ＭＨｚでのシリアル化処理、ＮＲＺＩ符号化、ビットスタッフエンコーディング、及び、ＲＸブロック２６におけるアンビットスタッフエンコーディング、ＮＲＺＩ復号化、パラレル化処理等により元の被転送データに復元される。これらのループバックの系におけるデータ処理過程でエラーが混入するか、またはＤＬＬ２４やエラティックバッファ２５での同期化に失敗した場合は、実使用時同様に受信系ブロックでエラーが生成される。
【００４６】
また、検証可否及びテストモードの設定は、既存のＵＴＭＩ／ＵＬＰＩレジスタを用いて設定されてもよい。このとき、新たにテスト用のインターフェイスピンを設ける必要がない。ＵＴＭＩ／ＵＬＰＩインターフェイスを通してＬＩＮＫ層３からアクセス可能なレジスタにテストモードの設定、および送受信時のエラー情報を保持するためのエラー情報格納レジスタを追加し、そのレジスタ値が読み取られることにより、送受信系でのエラー有無を確認することができる。
【００４７】
また、ＰＨＹ層２に対し新たに外部インターフェイスを設けてもよい。内部にバッファを設けてループバックテストによる受信データを保持しておく。保持されたデータを新たに設けられた外部インターフェイスから読み出すことを可能とすることで、そのデータを解析することによりエラー発生ブロックを特定する手がかりを得る。またその際には、テストモードの設定をするためのレジスタは、外部インターフェイスからアクセス可能にしてもよい。
【００４８】
以上示された本実施形態１のようなＵＳＢコントローラ１において必要とされるテスト治具スペックは、ＬＩＮＫ層３のインターフェイスに用いる６０ＭＨｚあるいは３０ＭＨｚでの信号が生成出来ればよい。これは高速信号ではないために、一般的なテスト治具でもアクセス可能な周波数である。従って、本実施形態１のＵＳＢコントローラ１では、簡易な回路構成により機能検証を可能にすることができる。
【００４９】
（ＵＳＢコントローラ試験例）
次に、本実施形態１に係るＵＳＢコントローラ１を用いたＵＳＢコントローラ試験方法の例について図６（前述の図４、５も参照）を用いて説明を行う。図６は、本実施形態１に係るＵＳＢコントローラ試験方法を説明するための図である。
【００５０】
ここでは、本実施形態１に係るＵＳＢコントローラ試験方法を行うに当たって、予めＵＳＢコントローラ１の図示しないレジスタにはテストモードが動作モードとして設定されているため、テストシーケンス制御ブロック２７はＴＸイネーブル信号をレシーバ回路３１のイネーブル信号となるように切り替えている（図５参照）。即ち、ＵＳＢコントローラ１内部でドライバ３１の出力がレシーバ３２の入力と繋がっているため、ドライバ３１の出力がレシーバ３１の入力となっている。
【００５１】
このとき、例えばＬＩＮＫ層３からテストデータ（パラレルデータ）を受信したＰＨＹ層２のシーケンス制御ブロック２１が、該テストデータを出力し自身が受信するループバック試験を行う方法について図６の信号図に基づいて詳細に説明を行う。
【００５２】
まず、シーケンス制御ブロック２１がＴＸブロック２２にパラレルデータであるテストデータ（図６（Ａ））を送信する。テストデータを受信したＴＸブロック２２において、テストデータは、シリアル化処理（図６（Ｂ））、ビットスタッフエンコーディング（図６（Ｃ））、ＮＲＺＩ符号化処理（図６（Ｄ））を施され、送信用のシリアルデータに変換される。
【００５３】
続いて、該送信用のシリアルデータは、ＴＸブロック２２からＡＦＥ２３のドライバ３２に送られる。送信用のシリアルデータを受信したドライバ３２は、ＤＰ端子に送るＤＰ信号（図６（Ｅ））とＤＭ信号（図６（Ｆ））を生成する。なお、ドライバ３１の出力がレシーバ３２の入力と繋がっているため、ドライバ３１の出力であるＤＰ信号及びＤＭ信号はレシーバ３１の入力となっている。レシーバ３１は入力したＤＰ信号及びＤＭ信号に基づいてシリアルデータ（以降、受信用のシリアルデータとよぶ）を作成し、ＤＬＬ２４に送信する（図６（Ｇ））。
【００５４】
ＤＬＬ２４は、受信したシリアルデータのエッジを検出することにより最適なサンプリングクロックの周波数を調整する。エラスティックバッファ２５は、ＤＬＬ２４において調整されたサンプリングクロックで取り込まれた受信用のシリアルデータを４８０ＭＨｚのリファレンスクロックに同期化する（図６（Ｈ））。なお、図６では、ＤＬＬ２４、エラスティックバッファ２５における調整に係る誤差は十分小さいものとしてデータの信号図が示されている。
【００５５】
続いて、ＤＬＬ２４、エラスティックバッファ２５により同期化された受信用のシリアルデータは、ＲＸブロック２６に送られる。該受信用のシリアルデータを受信したＲＸブロック２６において、該受信用のシリアルデータは、ＮＲＺＩ復号化処理（図６（Ｉ））、アンビットスタッフエンコーディング（図６（Ｊ））パラレル化処理が行われて、パラレルデータ（図６（Ｋ））に変換される。
【００５６】
以上で示される処理により、例えばＬＩＮＫ層３からテストデータ（パラレルデータ）（図６（Ａ））を受信したＰＨＹ層２のシーケンス制御ブロック２１が、該テストデータを出力し自身が受信する（受信したデータは図６（Ｋ））ループバック試験を行う。
【００５７】
このとき、送信系と受信系で構成されるループバックの系のデータ処理過程において、エラーが混入したり、ＤＬＬ２４やエラスティックバッファ２５での同期化に失敗したりする等のエラーが生じた場合、テストシーケンス制御ブロック２５がエラーを例えばレジスタ等に保持することにより管理する。なお、図６では、テストデータ（図６（Ａ））、受信データ（図６（Ｋ））の間においてエラーが発生していない場合を示している。
【００５８】
そのため、以下に掲げる利点を奏する。その利点とは、試験専用のテストシーケンス制御ブロック２５を有することにより、ＰＨＹ層２のＩＣ内部でのループバック試験が可能となることである。また、外部との高速信号授受を必要とせず、規模の小さい低速動作回路を用いた簡易な回路構成により機能検証を可能にする内部高速回路動作の検証が実現可能となる。
【００５９】
また、ＬＩＮＫ層３とのインターフェイスを用いて受信データを確認できるようにすることにより、ループバック試験によるループバックの系におけるエラー）故障）検出のみならず、エラー箇所の特定することに対しても有用である。なお、この場合、ＬＩＮＫ層３とのインターフェイスとして既存の標準規格であるＵＴＭＩ／ＵＬＰＩインターフェイスが利用されることにより、従来のＰＨＹ層２のＩＣに対して外部インターフェイスを追加しなくてもよい。
【００６０】
また、従来のＰＨＹ層２のＩＣに対して新たに外部インターフェイスを設けてもよい。これにより、ループバックに用いるデータを設けられた外部インターフェイスを介して自由に変更もできる。これは、符号化やビットスタッフエンコーディング等のデータ依存を有するブロックの検証に有効である。
【００６１】
上記で示される本実施形態１に係る各利点は、既存のＵＴＭＩ／ＵＬＰＩインターフェイスを活用すること、または、動作速度は試験が容易に行えるほど低速な外部インターフェイスの追加により実現できる。従って、高速試験可能がテスト治具を要しなくても４８０ＭＨｚと高速な試験の実施が可能となる。即ち、例えば６０ＭＨｚでのシーケンス制御回路２５のみを盛り込むことにより、送信系ブロック、受信系ブロックを動作させることができる。また、本実施形態１によれば、試験動作を行った結果のエラー有無をテストに係るテスト結果として取得することができる。
【００６２】
［第２の実施形態］
以下、本発明のＵＳＢデバイスコントローラに係る第２の実施形態について図７、８を用いて説明する。前述の第１の実施形態においては、図５のような構成により、ＵＳＢコントローラ１の図示しないレジスタにテストモードが動作モードとして設定されると、テストシーケンス制御ブロック２７はＴＸイネーブル信号をレシーバ回路３１のイネーブル信号となるように切り替えた。即ち、ＴＸイネーブル信号により、レシーバ回路３１及びドライバ回路３２は制御された。
【００６３】
ここでは、ＴＸイネーブル信号ではなくＲＸイネーブル信号によりレシーバ回路３１及びドライバ回路３２が制御される実施の形態について説明を行う。詳細は図７、８を用いて後述する。
【００６４】
（ＰＨＹ層の構成例）
まず、本実施形態２に係るＵＳＢコントローラデバイスにおけるＰＨＹ層２の構成例について図７を用いて説明する。図７は、本実施形態２に係るＵＳＢコントローラデバイスにおけるＰＨＹ層２の構成例を示す図である。図７で示される構成例においてテストシーケンス制御ブロック２７及び記憶ブロック２８が加えられている点が従来（図２参照）と相違する。ここでは、テストシーケンス制御ブロック２７及び記憶ブロック２８について中心に説明を行う。
【００６５】
テストシーケンス制御ブロック２７は、ＵＳＢコントローラ１のテストに係るシーケンス制御を行う回路である。テストに係るシーケンスとは、例えばデータの送信に係る送信シーケンスである。この場合、シーケンス制御ブロック２１はデータの受信に係る受信シーケンス制御を行うように制御する。
【００６６】
このとき、シーケンス制御ブロック２１とテストシーケンス制御ブロック２７の異なる制御ブロックが、それぞれ受信、送信のシーケンス制御を行うことにより、データの送受信を同時にさせることが可能になる。
【００６７】
なお、このような制御が行われる前提として、ＰＨＹ層２内部の受信系ブロックと送信系ブロックは完全に独立しているものとする。また、ＵＳＢコントローラ１の動作モード（例えば、通常動作モード、機能テストモード）の設定のためのテストシーケンス制御ブロック２７の図示しないレジスタに記憶されたモード情報がテストモードに設定された場合にのみ、テストシーケンス制御ブロック２７は機能するものとする。テストシーケンス制御ブロック２７は、図２に示されるような従来のＰＨＹ層２の構成に対して設けられた、ＵＳＢコントローラ１の動作の検証を行う動作検証手段である。
【００６８】
記憶ブロック２８は、テストに用いるデータを予め保持するレジスタ等の記憶部である。テストシーケンス制御ブロック２７は、ＬＩＮＫ層３との間のインターフェイスを介したテストモード設定等に基づいて機能し、記憶ブロック２８に予め保持されたテストデータを送信系のブロックに対して送信する処理等を含む転送処理を行う。
【００６９】
（ＡＦＥの詳細構成例）
次に、本実施形態２に係るＵＳＢコントローラ１におけるＡＦＥ２３の構成例について図８を用いて説明する。図８は、本実施形態２に係るＵＳＢコントローラ１におけるＡＦＥ２３の構成例を示す図である。図８で示される構成例において、マルチプレクサ３３の出力信号がドライバ３２のイネーブル信号になっている点が前述の実施形態１（図５参照）と相違する。ここでは、マルチプレクサ３３について中心に説明を行う。
【００７０】
マルチプレクサ３３は、テストシーケンス制御ブロック２７から受信したループバックイネーブル信号に従ってＲＸイネーブル信号、ＴＸイネーブル信号のいずれか一つを選択してドライバ３２のイネーブル信号にする切り替え機能を有する。例えば通常動作時には、ＴＸイネーブル信号をドライバ３２のイネーブル信号にし（図３と同様）、テスト時にはＲＸイネーブル信号をドライバ３２のイネーブル信号にする。
【００７１】
以上のような構成により、テスト時にはレシーバ３１とドライバ３２の両方がＲＸイネーブル信号により機能する。そのため、当該ＵＳＢコントローラ１がホストＰＣと接続されていない場合であっても、ＵＳＢコントローラ１内部でドライバ３１の出力がレシーバ３２の入力と繋がっているため、ドライバ３１の出力がレシーバ３１の入力となる。即ち、ＵＳＢコントローラ１が出力したデータをＵＳＢコントローラ１自身が受信することができ、データの検証を行うループバック試験が可能になる。
【００７２】
また、本実施形態２に係るＵＳＢコントローラ１のＰＨＹ層２では、記憶ブロック２８に予め保持されたデータを入力することにより、４８０ＭＨｚで動作するＴＸブロック２２、ＡＦＥ２３、ＤＬＬ２４、エラスティックバッファ２５、ＲＸブロック２６をＤＰ／ＤＭ端子への外部からの入出力無しで実使用同様にＩＣ内部を動作させることが出来る。
【００７３】
さらに、記憶ブロック２８に予め保持されたデータは、送信系ブロックと受信系ブロックにより構成されるループバックの系におけるデータ処理、即ちＴＸブロック２２における４８０ＭＨｚでのシリアル化処理、ＮＲＺＩ符号化、ビットスタッフエンコーディング、及び、ＲＸブロック２６におけるアンビットスタッフエンコーディング、ＮＲＺＩ復号化、パラレル化処理等により元のデータに復元される。これらのループバックの系におけるデータ処理過程でエラーが混入するか、またはＤＬＬ２４やエラティックバッファ２５での同期化に失敗した場合は、実使用時同様に受信系ブロックでエラーが生成される。
【００７４】
また、検証可否及びテストモードの設定は、既存のＵＴＭＩ／ＵＬＰＩレジスタを用いて設定されてもよい。このとき、新たにテスト用のインターフェイスピンを設ける必要がない。ＵＴＭＩ／ＵＬＰＩインターフェイスを通してＬＩＮＫ層３からアクセス可能なレジスタにテストモードの設定、および送受信時のエラー情報を保持するためのエラー情報格納レジスタを追加し、そのレジスタ値が読み取られることにより、送受信系でのエラー有無を確認することができる。
【００７５】
また、前述の実施形態１と異なる点として、ＬＩＮＫ層３との間のインターフェイスを制御するシーケンス制御ブロック２７が受信シーケンスに係る制御を行うために、ループバック試験により受信したデータはＬＩＮＫ層３との間のインターフェイスを介して外部から読み取ることが可能になる。
【００７６】
さらに、ＰＨＹ層２に対し新たに外部インターフェイスを設けて記憶ブロック２８へのアクセスを可能にしてもよい。記憶ブロック２８へのアクセスを可能にすることにより、テストデータを変更することが可能になる。これは、データに依存するエラーの有無を検出する際に有効である。
【００７７】
以上示された本実施形態２のようなＵＳＢコントローラ１において必要とされるテスト治具スペックは、前述の実施形態１と同様にＬＩＮＫ層３のインターフェイスに用いる６０ＭＨｚあるいは３０ＭＨｚでの信号が生成出来ればよい。これは高速信号ではないために、一般的なテスト治具でもアクセス可能な周波数である。従って、本実施形態２のＵＳＢコントローラ１では、簡易な回路構成により機能検証を可能にすることができる。
【００７８】
上記実施形態１及び実施形態２において本発明を実施するための最良の形態について述べてきたが、実施形態１で示される構成（図３，４参照）と実施形態２の構成（図７，８参照）を組み合わせる形態も考えられる。
【００７９】
本発明に係るＵＳＢコントローラ１のＰＨＹ層２において、ＬＩＮＫ層３との間のインターフェイスを介してアクセス可能なレジスタ又は外部インターフェイスを介してアクセス可能なレジスタ等に対モード設定により、実施形態１又は２に係るＵＳＢコントローラ試験方法を切り替えられるようにしてもよい。これによりＰＨＹ層２のＩＣ内部での４８０ＭＨｚ動作検証と共にＬＩＮＫ層３との間のインターフェイスの検証も可能となる。
【００８０】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【００８１】
【図１】従来のＵＳＢコントローラの構成例を示す図である。
【図２】従来のＵＳＢコントローラにおけるＰＨＹ層の構成例を示す図である。
【図３】従来のＵＳＢコントローラにおけるＡＦＥの構成例の一部を示す図である。
【図４】本実施形態１に係るＵＳＢコントローラにおけるＰＨＹ層の構成例を示す図である。
【図５】本実施形態１に係るＵＳＢコントローラにおけるＡＦＥの構成例を示す図である。
【図６】本実施形態１に係るＵＳＢコントローラ試験方法を説明するための図である。
【図７】本実施形態２に係るＵＳＢコントローラにおけるＰＨＹ層の構成例を示す図である。
【図８】本実施形態２に係るＵＳＢコントローラにおけるＡＦＥの構成例を示す図である。
【符号の説明】
【００８２】
１  ＵＳＢコントローラ
２  ＰＨＹ層
３  ＬＩＮＫ層
２１  シーケンス制御ブロック
２２  ＴＸブロック
２３  ＡＦＥ
２４  ＤＬＬ
２５  エラスティックバッファ
２６  ＲＸブロック
２７  テストシーケンス制御ブロック
２８  記憶ブロック
３１  レシーバ
３２  ドライバ
３３  マルチプレクサ
【図１】
2008234222.tif 000003
【図２】
2008234222.tif 000004
【図３】
2008234222.tif 000005
【図４】
2008234222.tif 000006
【図５】
2008234222.tif 000007
【図６】
2008234222.tif 000008
【図７】
2008234222.tif 000009
【図８】
2008234222.tif 000010