JP2008234222A - Usbコントローラ及びusbコントローラ試験方法 - Google Patents

Usbコントローラ及びusbコントローラ試験方法 Download PDF

Info

Publication number
JP2008234222A
JP2008234222A JP2007071613A JP2007071613A JP2008234222A JP 2008234222 A JP2008234222 A JP 2008234222A JP 2007071613 A JP2007071613 A JP 2007071613A JP 2007071613 A JP2007071613 A JP 2007071613A JP 2008234222 A JP2008234222 A JP 2008234222A
Authority
JP
Japan
Prior art keywords
usb controller
data
enable signal
test
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007071613A
Other languages
English (en)
Other versions
JP5096024B2 (ja
Inventor
Shinji Sakaguchi
伸司 阪口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007071613A priority Critical patent/JP5096024B2/ja
Priority to US12/068,931 priority patent/US8135872B2/en
Publication of JP2008234222A publication Critical patent/JP2008234222A/ja
Application granted granted Critical
Publication of JP5096024B2 publication Critical patent/JP5096024B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】簡易な回路構成により機能検証を可能にするUSBコントローラ及びUSBコントローラ試験方法を提供することを目的とする。
【解決手段】送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路32と、受信データを受信するレシーバ回路31とを備えたUSBコントローラ1であって、当該USBコントローラ1のループバックテストのためのテストモードの設定用のレジスタと、前記レジスタにおいてテストモードが設定されると前記レシーバ回路31又は前記ドライバ回路32のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路33とを有し、前記レジスタにおいてテストモードが設定されると、ループバックテストを行うことを特徴とするUSBコントローラ1。
【選択図】図5

Description

本発明は、USBコントローラ及びUSBコントローラ試験方法に関する。
従来、USB(Universal Serial Bus)2.0通信規格を採用した各種デバイスが多く用いられている。USBとは、ホストとなるPC(ホストPC)にキーボード、マウス等の複数のPC周辺機器(周辺デバイス)を接続し、両者の間でデータ通信を行うためのシリアルインターフェイス規格の一つである。USBでは、高速通信が可能であり、ハブを介することで1つのホストPCポートに複数のデバイスを接続できるなど、従来用いられてきたシリアルインターフェイス規格では得られない利便性を有している。このため近年PC及びPC周辺機器の標準インターフェイスとして定着しつつある。なお、USB2.0規格に定められているホストPCと周辺デバイス間の高速通信モードでの通信ビットレートは、480Mbpsである。
図1は、USB2.0規格を採用したデバイスを制御するIC(Integrated Circuit)である従来のUSBコントローラデバイス(以降USBコントローラとする)の構成例を示す図である。図1において、USBコントローラ1は、図示しないホストPCとの間でUSB2.0通信を行うものであり、PHY層(PHYsical layer)2、LINK層3等により構成される。PHY層2は、ホストPCとの間でのデータ通信に係るデータと信号の変換等を行うためのアナログ回路であり、ホストPCとの間でシリアル通信を行うシリアルデータの送受信回路、シリアルパラレル変換回路、データ変復調回路等により構成される。LINK層3は、データの宛先や送信元、データの境界等の認識を行うためのデジタル回路であり、通信プロトコルを制御する回路等により構成される。なお、これら機能ブロックの構成は1つのIC内に全て配置される場合、それぞれ独立してIC化される場合等がある。
PHY層2とLINK層3がそれぞれ独立してIC化された場合、両者間のインターフェイス規格はUTMI(USB2.0 Transceiver Macro Interface)規格で定められている。また、UTMI規格を拡張した規格であるULPI(UTMI+Low Pin Interface)規格も策定されている。インターフェイス通信速度は、UTMI規格ではデータ幅8ビット/60MHzとデータ幅16ビット/30MHzが選択可能である。また、ULPI規格ではデータ幅8ビット/60MHzである。
USBコントローラデバイスを開発する上での課題として、高速通信モードでのIC動作確認が挙げられる。前述のように、高速通信モードでの通信ビットレートは480Mbps(=8ビット×60MHz)である。従来、ICを製造する段階で480Mbpsでの通信試験を行うには非常に高価なテスト治具を必要とする。また、テスト工程でのロジック検証を省き、実デバイスを評価ボード等に実装して動作検証を行っていたが、テスト工程初期段階で不良品を排除出来れば過剰なテスト工数とコストを省くことが可能である。
このような高速通信モードでのIC動作確認を効果的に行うことを目的として種々の発明がなされてきた。
特許文献1には、テストコストの低いループバック動作によって、周波数誤差、伝送ジッタ、クロック波形変動や位相変動を付加した実動作に近い通信状態での受信機及び送信機の異常検出テストが可能な通信装置に係る発明が開示されている。ここでは、位相調整(クロック変調)回路等でタイミングを変えることにより、内部DRC(Design Rule Check)、エラスティックバッファ、デコーダの評価を可能としている。また、特許文献2には、小さい回路規模であって且つUSB規格におけるインターパケットディレイ時間の制約を満足することが可能なUSBデバイスコントローラに係る発明が開示されている。
特開2004―260677号公報 特開2004―021742号公報
しかしながら、特許文献1に開示された発明では、480MHz或いは位相調整のために480MHzより高速に動作するテスト用回路の導入が必要となるという問題がある。
また、このような高速回路は実装面積増加にも繋がり、高速であるが故に実装難易度及びコストも高くなる。
本発明は、上記の点に鑑みて、この問題を解消するために発明されたものであり、簡易な回路構成により機能検証を可能にするUSBコントローラ及びUSBコントローラ試験方法を提供することを目的とする。
上記の目的を達成するために、本発明のUSBコントローラは、送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路と、受信データを受信するレシーバ回路とを備えたUSBコントローラであって、当該USBコントローラのループバックテストのためのテストモードの設定用のレジスタと、前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路とを有し、前記レジスタにおいてテストモードが設定されると、ループバックテストを行うように構成することができる。
また、上記の目的を達成するために、本発明のUSBコントローラは、当該ループバックテストに係るエラー情報を保持するエラー情報保持レジスタを有するように構成することができる。
また、上記の目的を達成するために、本発明のUSBコントローラは、当該ループバックテストに係る送信データ及び/又は受信データを保持するデータ保持レジスタを有するように構成することができる。
また、上記の目的を達成するために、本発明のUSBコントローラ試験方法は、送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、送信データを送信するドライバ回路と、受信データを受信するレシーバ回路と、当該USBコントローラのループバックテストのためのテストモードの設定用のレジスタとを備えたUSBコントローラにおけるUSBコントローラ試験方法であって、前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替工程と、前記切替工程における切替えにより前記レシーバ回路が前記ドライバ回路により送信された送信データを受信することを用いて、ループバックテストを行うテスト工程とを有するように構成することができる。
また、上記の目的を達成するために、本発明のUSBコントローラ試験方法において、前記レジスタへのテストモードの設定は、当該USBコントローラのUTMI又はULPIに準拠したインターフェイスを用いて設定されるように構成することができる。
本発明のUSBコントローラ及びUSBコントローラ試験方法によれば、簡易な回路構成により機能検証を可能にすることができる。
以下、本発明を実施するための最良の形態を各実施形態において図面に基づいて説明する。なお、前述の図1の従来のUSBコントローラについて補足説明を行う。
(PHY層の構成例)
図2は、図1に示される従来のUSBコントローラ1におけるPHY層2の構成例を示す図である。図2において、PHY層2は、シーケンス制御ブロック21、TX(Transmitter)ブロック22、AFE(Analog Front End)23、DLL(Delay Locked Loop)24、エラスティックバッファ25、RX(Reciever)ブロック26等を有する。
シーケンス制御ブロック21は、データの送受信に係るシーケンス制御を行う回路である。例えば、後述のTXブロック22、AFE23、DLL24、エラスティックバッファ25、RXブロック26の動作シーケンスの制御を行う。TXブロック22は、データの送信に係る制御を行う回路である。
AFE23は、AD変換の処理を行うための回路である。例えばホストPCから受信したDP/DM信号を元にデジタル信号に変換する処理を行ったり、TXブロック26から受信したデジタル信号を元にDP/DM信号に変換する処理を行ったりする。なお、AFE23の詳細については図3を用いて後述する。
DLL24は、クロック信号とデータバスのずれを調整するための回路である。例えば当該USBコントローラ1のサンプリングクロックの周波数位相を、ホストPCからAFE23を介して受信したデータに合わせて調整する。例えば、受信したデータのエッジを検出することにより、サンプリングクロックの周波数位相を調整する。
エラスティックバッファ25は、DLL24においてサンプリングクロックで取り込まれたデータを後述のRXブロック26等以降のブロックで使用する480MHzのリファレンスクロックに同期化させるためのバッファである。RXブロック26は、データの受信に係る制御を行う回路である。
以上のブロック構成により、PHY層2は、図示しないホストPCとの間でDP/DMで示される2本の双方向バスを用いて差動型の転送方式によるデータ授受を行う。例として周辺デバイス(PHY層2を含むUSBコントローラ1)とホストPCとの間においてデータを送受信する際の動作を説明する。
まず、周辺デバイス1がホストPCへデータを送信する動作について説明を行う。送信動作には、シーケンス制御ブロック21、TXブロック22、AFE23が用いられる。まず、図2に示すPHY層2のシーケンス制御ブロック21は、LINK層3から例えばUTMI規格に基づいた通信(ここではデータ幅8ビット/60MHz同期した転送)により被転送データを受信する。
TXブロック22は、シーケンス制御ブロック21により受信された被転送データを480MHzクロックでシリアル化する。さらにシリアル化された被転送データには、USB規格で規定されるビットスタッフエンコーディング及びNRZI(Non Return to Zero Inverted)符号化が施される。なお、ビットスタッフエンコーディングとは、シリアル信号に所定のビット区間変化が起こらなかった場合に信号極性を反転させるエンコード法である。また、NRZI符号化とはシリアル信号の値が0の場合に反転、1の場合にその前の値を継続させるという符号化の1方法である。
符号化処理を施されたシリアルデータは、AFEブロック23に送信される。AFEブロック23は、受信したシリアルデータをDP/DM端子を用いて図示しないホストPCへと出力する。以上の処理により、周辺デバイスはホストPCへデータを送信する。
次に、周辺デバイスがホストPCからデータを受信する動作について説明を行う。受信動作には、シーケンス制御ブロック21、AFE23、DLL24、エラスティックバッファ25、RXブロック26が用いられる。まず、AFE23は、図示しないホストPCからDP/DM端子を介してデータをアナログ信号として受信する。AFE23は、受信したアナログ信号をデジタル信号に変換する。なお、受信信号のデータビットレートは、USBコントローラ1内でサンプリングするクロック周波数と同じである。
続いて、DLL24は、AFE23からデジタル信号を受信し、受信したデータに合わせてサンプリングするクロックの位相を調整する。ここでは、受信したデータのエッジを検出することにより最適なサンプリングクロックの周波数位相を調整する。続いて、エラスティックバッファ25は、DLL24において調整されたサンプリングクロックで取り込まれたデータを、480MHzのリファレンスクロックに同期化する。DLL24、エラスティックバッファ25によりUSBコントローラ1のリファレンスクロックに同期化されたシリアルデータは、RXブロック26においてNRZI復号化及びアンビットスタッフエンコーディングが施されてパラレルデータに変換される。
さらに、シーケンス制御ブロック21は、該パラレルデータをLINK層3に例えばUTMI規格に基づいた通信(ここではデータ幅8ビット/60MHzに同期した転送)によりデータを転送する。以上の処理により、周辺デバイスはホストPCからデータを受信する。
なお、PHY層2とLINK層3の間におけるデータ転送は、8ビットパラレルデータを60MHzクロックに同期した転送により行われる。また、UTMI規格の場合には、16ビットパラレルデータを30MHzクロックに同期した転送により行ってもよい。
また、図2に示す全てのブロックの動作及びPHY層2とLINK層3間のデータ転送タイミング等は、シーケンス制御ブロック21により制御される。またPHY層2がホストPCから受信したデータが、符号化違反、ビットスタッフエンコーディング違反等のエラーを含んでいる場合、シーケンス制御ブロック21がエラーを管理し、受信したデータと共にLINK層3へエラー状況を送信する。
また、シーケンス制御ブロック21には、USB規格に定められた通信規格を満たすためのPHYモード等を設定するための記憶手段である図示しないレジスタを有している。また、図2に示される各ブロックは特に高速通信に係るブロックであり、PHY層2が有するブロックは図2で示されるブロックに限定されない。
(AFEの構成例)
次に、図3を用いてAFE23の構成について説明を行う。図3は従来のAFE23の構成例の一部を示す図である。なお、AFE23には、図示された部以外にもUSB規格に準拠するための機能が多く要求されるが、ここでは本発明において関連のある機能のみを図示している。
図3において、AFE23は、DP/DM端子からデータを受信するレシーバ31、DP/DM端子へデータを送信するドライバ32を有する。前述のようにDP/DMは双方向のバスであるため、図3に示されるように内部でレシーバ31、ドライバ32双方に接続されている。
続いてAFE23の動作についてレシーバ31及びドライバ32の動作を中心に説明を行う。レシーバ31及びドライバ32は、両者が同時に機能することがないようにシーケンス制御ブロック21から送信されるRXイネーブル信号(受信制御信号)、TXイネーブル信号(送信制御信号)によりそれぞれ制御される。また、RXイネーブル信号は、PHY層2の受信系のブロックであるDLL24、エラスティックバッファ25、RXブロック26を制御し、TXイネーブル信号は、PHY層2の送信系のブロックであるTXブロック22を制御する。これにより、周辺デバイスがホストPCに対してデータ送信(又は受信)中に、データ受信(又は送信)を行わないようにしている。
以上で示される構成及び作用により、従来、USBコントローラ1においてUSB規格に準じたデータ転送が可能であった。しかしながら、USB2.0の高速通信モードでは回路動作周波数が480MHxと非常に高速である。そのため、USBコントローラ1の製造段階においてデータ送受信のテストを行おうとする場合、480MHzの信号をDP/DM端子から入出力させる治具が必要である。そのような治具は高価であるという問題があった。
そこで、本発明では以降の各実施形態において示されるような構成及び作用により、高価なテスト治具を使用せずに、安価な専用テスト治具等を用いて簡易な構成によりUSBコントローラ1内部の480MHz動作を簡易的に検証することが可能になる。
[実施形態1]
以下、本発明に係る第1の実施形態について図4〜6を用いて説明する。
(PHY層の構成例)
まず、本実施形態1に係るUSBコントローラ1におけるPHY層2の構成例について図4を用いて説明する。図4は、本実施形態1に係るUSBコントローラ1におけるPHY層2の構成例を示す図である。図4で示される構成例においてテストシーケンス制御ブロック27が加えられている点が従来(図2参照)と相違する。ここでは、テストシーケンス制御ブロック27について中心に説明を行う。
テストシーケンス制御ブロック27は、USBコントローラ1のテストに係るシーケンス制御を行う回路である。テストに係るシーケンスとは、例えばデータの受信に係る受信シーケンスである。この場合、シーケンス制御ブロック21はデータの送信に係る送信シーケンス制御を行うように制御する。
このとき、シーケンス制御ブロック21とテストシーケンス制御ブロック27の異なる制御ブロックが、それぞれデータの送信、受信のシーケンス制御を行うことにより、データの送受信を同時に行うことが可能になる。
なお、このような制御が行われる前提として、PHY層2内部の受信系ブロックと送信系ブロックは完全に独立しているものとする。また、USBコントローラ1の動作モード(例えば、通常動作モード、機能テストモード)の設定のためのテストシーケンス制御ブロック27の図示しないレジスタに記憶されたモード情報がテストモードに設定された場合にのみ、テストシーケンス制御ブロック27は機能するものとする。テストシーケンス制御ブロック27は、図2に示されるような従来のPHY層2の構成に対して設けられた、USBコントローラ1の動作の検証を行う動作検証手段である。
(AFEの構成例)
次に、本実施形態1に係るUSBコントローラ1におけるAFE23の構成例について図5を用いて説明する。図5は、本実施形態1に係るUSBコントローラ1におけるAFE23の構成例を示す図である。図5で示される構成例において、マルチプレクサ33が加えられている点が従来(図3参照)と相違する。ここでは、マルチプレクサ33について中心に説明を行う。
マルチプレクサ33は、テストシーケンス制御ブロック27から受信したループバックイネーブル信号に従ってRXイネーブル信号、TXイネーブル信号のいずれか一つを選択してレシーバ31のイネーブル信号にする切り替え機能を有する。例えば通常動作時には、RXイネーブル信号をレシーバ31のイネーブル信号にし(図3と同様)、テスト時にはTXイネーブル信号をレシーバ31のイネーブル信号にする。
以上のような構成により、テスト時にはレシーバ31とドライバ32の両方がTXイネーブル信号により機能する。そのため、当該USBコントローラ1がホストPCと接続されていない場合であっても、USBコントローラ1内部でドライバ31の出力がレシーバ32の入力と繋がっているため、ドライバ31の出力がレシーバ31の入力となる。即ち、USBコントローラ1が出力したデータをUSBコントローラ1自身が受信することができ、データの検証を行うループバック試験が可能になる。
また、本実施形態1に係るUSBコントローラ1のPHY層2では、LINK層3から任意のデータを入力することにより、480MHzで動作するTXブロック22、AFE23、DLL24、エラスティックバッファ25、RXブロック26をDP/DM端子への外部からの入出力無しで実使用同様にIC内部を動作させることが出来る。
さらに、LINK層3から入力された被転送データは、送信系ブロックと受信系ブロックにより構成されるループバックの系におけるデータ処理、即ちTXブロック22における480MHzでのシリアル化処理、NRZI符号化、ビットスタッフエンコーディング、及び、RXブロック26におけるアンビットスタッフエンコーディング、NRZI復号化、パラレル化処理等により元の被転送データに復元される。これらのループバックの系におけるデータ処理過程でエラーが混入するか、またはDLL24やエラティックバッファ25での同期化に失敗した場合は、実使用時同様に受信系ブロックでエラーが生成される。
また、検証可否及びテストモードの設定は、既存のUTMI/ULPIレジスタを用いて設定されてもよい。このとき、新たにテスト用のインターフェイスピンを設ける必要がない。UTMI/ULPIインターフェイスを通してLINK層3からアクセス可能なレジスタにテストモードの設定、および送受信時のエラー情報を保持するためのエラー情報格納レジスタを追加し、そのレジスタ値が読み取られることにより、送受信系でのエラー有無を確認することができる。
また、PHY層2に対し新たに外部インターフェイスを設けてもよい。内部にバッファを設けてループバックテストによる受信データを保持しておく。保持されたデータを新たに設けられた外部インターフェイスから読み出すことを可能とすることで、そのデータを解析することによりエラー発生ブロックを特定する手がかりを得る。またその際には、テストモードの設定をするためのレジスタは、外部インターフェイスからアクセス可能にしてもよい。
以上示された本実施形態1のようなUSBコントローラ1において必要とされるテスト治具スペックは、LINK層3のインターフェイスに用いる60MHzあるいは30MHzでの信号が生成出来ればよい。これは高速信号ではないために、一般的なテスト治具でもアクセス可能な周波数である。従って、本実施形態1のUSBコントローラ1では、簡易な回路構成により機能検証を可能にすることができる。
(USBコントローラ試験例)
次に、本実施形態1に係るUSBコントローラ1を用いたUSBコントローラ試験方法の例について図6(前述の図4、5も参照)を用いて説明を行う。図6は、本実施形態1に係るUSBコントローラ試験方法を説明するための図である。
ここでは、本実施形態1に係るUSBコントローラ試験方法を行うに当たって、予めUSBコントローラ1の図示しないレジスタにはテストモードが動作モードとして設定されているため、テストシーケンス制御ブロック27はTXイネーブル信号をレシーバ回路31のイネーブル信号となるように切り替えている(図5参照)。即ち、USBコントローラ1内部でドライバ31の出力がレシーバ32の入力と繋がっているため、ドライバ31の出力がレシーバ31の入力となっている。
このとき、例えばLINK層3からテストデータ(パラレルデータ)を受信したPHY層2のシーケンス制御ブロック21が、該テストデータを出力し自身が受信するループバック試験を行う方法について図6の信号図に基づいて詳細に説明を行う。
まず、シーケンス制御ブロック21がTXブロック22にパラレルデータであるテストデータ(図6(A))を送信する。テストデータを受信したTXブロック22において、テストデータは、シリアル化処理(図6(B))、ビットスタッフエンコーディング(図6(C))、NRZI符号化処理(図6(D))を施され、送信用のシリアルデータに変換される。
続いて、該送信用のシリアルデータは、TXブロック22からAFE23のドライバ32に送られる。送信用のシリアルデータを受信したドライバ32は、DP端子に送るDP信号(図6(E))とDM信号(図6(F))を生成する。なお、ドライバ31の出力がレシーバ32の入力と繋がっているため、ドライバ31の出力であるDP信号及びDM信号はレシーバ31の入力となっている。レシーバ31は入力したDP信号及びDM信号に基づいてシリアルデータ(以降、受信用のシリアルデータとよぶ)を作成し、DLL24に送信する(図6(G))。
DLL24は、受信したシリアルデータのエッジを検出することにより最適なサンプリングクロックの周波数を調整する。エラスティックバッファ25は、DLL24において調整されたサンプリングクロックで取り込まれた受信用のシリアルデータを480MHzのリファレンスクロックに同期化する(図6(H))。なお、図6では、DLL24、エラスティックバッファ25における調整に係る誤差は十分小さいものとしてデータの信号図が示されている。
続いて、DLL24、エラスティックバッファ25により同期化された受信用のシリアルデータは、RXブロック26に送られる。該受信用のシリアルデータを受信したRXブロック26において、該受信用のシリアルデータは、NRZI復号化処理(図6(I))、アンビットスタッフエンコーディング(図6(J))パラレル化処理が行われて、パラレルデータ(図6(K))に変換される。
以上で示される処理により、例えばLINK層3からテストデータ(パラレルデータ)(図6(A))を受信したPHY層2のシーケンス制御ブロック21が、該テストデータを出力し自身が受信する(受信したデータは図6(K))ループバック試験を行う。
このとき、送信系と受信系で構成されるループバックの系のデータ処理過程において、エラーが混入したり、DLL24やエラスティックバッファ25での同期化に失敗したりする等のエラーが生じた場合、テストシーケンス制御ブロック25がエラーを例えばレジスタ等に保持することにより管理する。なお、図6では、テストデータ(図6(A))、受信データ(図6(K))の間においてエラーが発生していない場合を示している。
そのため、以下に掲げる利点を奏する。その利点とは、試験専用のテストシーケンス制御ブロック25を有することにより、PHY層2のIC内部でのループバック試験が可能となることである。また、外部との高速信号授受を必要とせず、規模の小さい低速動作回路を用いた簡易な回路構成により機能検証を可能にする内部高速回路動作の検証が実現可能となる。
また、LINK層3とのインターフェイスを用いて受信データを確認できるようにすることにより、ループバック試験によるループバックの系におけるエラー)故障)検出のみならず、エラー箇所の特定することに対しても有用である。なお、この場合、LINK層3とのインターフェイスとして既存の標準規格であるUTMI/ULPIインターフェイスが利用されることにより、従来のPHY層2のICに対して外部インターフェイスを追加しなくてもよい。
また、従来のPHY層2のICに対して新たに外部インターフェイスを設けてもよい。これにより、ループバックに用いるデータを設けられた外部インターフェイスを介して自由に変更もできる。これは、符号化やビットスタッフエンコーディング等のデータ依存を有するブロックの検証に有効である。
上記で示される本実施形態1に係る各利点は、既存のUTMI/ULPIインターフェイスを活用すること、または、動作速度は試験が容易に行えるほど低速な外部インターフェイスの追加により実現できる。従って、高速試験可能がテスト治具を要しなくても480MHzと高速な試験の実施が可能となる。即ち、例えば60MHzでのシーケンス制御回路25のみを盛り込むことにより、送信系ブロック、受信系ブロックを動作させることができる。また、本実施形態1によれば、試験動作を行った結果のエラー有無をテストに係るテスト結果として取得することができる。
[第2の実施形態]
以下、本発明のUSBデバイスコントローラに係る第2の実施形態について図7、8を用いて説明する。前述の第1の実施形態においては、図5のような構成により、USBコントローラ1の図示しないレジスタにテストモードが動作モードとして設定されると、テストシーケンス制御ブロック27はTXイネーブル信号をレシーバ回路31のイネーブル信号となるように切り替えた。即ち、TXイネーブル信号により、レシーバ回路31及びドライバ回路32は制御された。
ここでは、TXイネーブル信号ではなくRXイネーブル信号によりレシーバ回路31及びドライバ回路32が制御される実施の形態について説明を行う。詳細は図7、8を用いて後述する。
(PHY層の構成例)
まず、本実施形態2に係るUSBコントローラデバイスにおけるPHY層2の構成例について図7を用いて説明する。図7は、本実施形態2に係るUSBコントローラデバイスにおけるPHY層2の構成例を示す図である。図7で示される構成例においてテストシーケンス制御ブロック27及び記憶ブロック28が加えられている点が従来(図2参照)と相違する。ここでは、テストシーケンス制御ブロック27及び記憶ブロック28について中心に説明を行う。
テストシーケンス制御ブロック27は、USBコントローラ1のテストに係るシーケンス制御を行う回路である。テストに係るシーケンスとは、例えばデータの送信に係る送信シーケンスである。この場合、シーケンス制御ブロック21はデータの受信に係る受信シーケンス制御を行うように制御する。
このとき、シーケンス制御ブロック21とテストシーケンス制御ブロック27の異なる制御ブロックが、それぞれ受信、送信のシーケンス制御を行うことにより、データの送受信を同時にさせることが可能になる。
なお、このような制御が行われる前提として、PHY層2内部の受信系ブロックと送信系ブロックは完全に独立しているものとする。また、USBコントローラ1の動作モード(例えば、通常動作モード、機能テストモード)の設定のためのテストシーケンス制御ブロック27の図示しないレジスタに記憶されたモード情報がテストモードに設定された場合にのみ、テストシーケンス制御ブロック27は機能するものとする。テストシーケンス制御ブロック27は、図2に示されるような従来のPHY層2の構成に対して設けられた、USBコントローラ1の動作の検証を行う動作検証手段である。
記憶ブロック28は、テストに用いるデータを予め保持するレジスタ等の記憶部である。テストシーケンス制御ブロック27は、LINK層3との間のインターフェイスを介したテストモード設定等に基づいて機能し、記憶ブロック28に予め保持されたテストデータを送信系のブロックに対して送信する処理等を含む転送処理を行う。
(AFEの詳細構成例)
次に、本実施形態2に係るUSBコントローラ1におけるAFE23の構成例について図8を用いて説明する。図8は、本実施形態2に係るUSBコントローラ1におけるAFE23の構成例を示す図である。図8で示される構成例において、マルチプレクサ33の出力信号がドライバ32のイネーブル信号になっている点が前述の実施形態1(図5参照)と相違する。ここでは、マルチプレクサ33について中心に説明を行う。
マルチプレクサ33は、テストシーケンス制御ブロック27から受信したループバックイネーブル信号に従ってRXイネーブル信号、TXイネーブル信号のいずれか一つを選択してドライバ32のイネーブル信号にする切り替え機能を有する。例えば通常動作時には、TXイネーブル信号をドライバ32のイネーブル信号にし(図3と同様)、テスト時にはRXイネーブル信号をドライバ32のイネーブル信号にする。
以上のような構成により、テスト時にはレシーバ31とドライバ32の両方がRXイネーブル信号により機能する。そのため、当該USBコントローラ1がホストPCと接続されていない場合であっても、USBコントローラ1内部でドライバ31の出力がレシーバ32の入力と繋がっているため、ドライバ31の出力がレシーバ31の入力となる。即ち、USBコントローラ1が出力したデータをUSBコントローラ1自身が受信することができ、データの検証を行うループバック試験が可能になる。
また、本実施形態2に係るUSBコントローラ1のPHY層2では、記憶ブロック28に予め保持されたデータを入力することにより、480MHzで動作するTXブロック22、AFE23、DLL24、エラスティックバッファ25、RXブロック26をDP/DM端子への外部からの入出力無しで実使用同様にIC内部を動作させることが出来る。
さらに、記憶ブロック28に予め保持されたデータは、送信系ブロックと受信系ブロックにより構成されるループバックの系におけるデータ処理、即ちTXブロック22における480MHzでのシリアル化処理、NRZI符号化、ビットスタッフエンコーディング、及び、RXブロック26におけるアンビットスタッフエンコーディング、NRZI復号化、パラレル化処理等により元のデータに復元される。これらのループバックの系におけるデータ処理過程でエラーが混入するか、またはDLL24やエラティックバッファ25での同期化に失敗した場合は、実使用時同様に受信系ブロックでエラーが生成される。
また、検証可否及びテストモードの設定は、既存のUTMI/ULPIレジスタを用いて設定されてもよい。このとき、新たにテスト用のインターフェイスピンを設ける必要がない。UTMI/ULPIインターフェイスを通してLINK層3からアクセス可能なレジスタにテストモードの設定、および送受信時のエラー情報を保持するためのエラー情報格納レジスタを追加し、そのレジスタ値が読み取られることにより、送受信系でのエラー有無を確認することができる。
また、前述の実施形態1と異なる点として、LINK層3との間のインターフェイスを制御するシーケンス制御ブロック27が受信シーケンスに係る制御を行うために、ループバック試験により受信したデータはLINK層3との間のインターフェイスを介して外部から読み取ることが可能になる。
さらに、PHY層2に対し新たに外部インターフェイスを設けて記憶ブロック28へのアクセスを可能にしてもよい。記憶ブロック28へのアクセスを可能にすることにより、テストデータを変更することが可能になる。これは、データに依存するエラーの有無を検出する際に有効である。
以上示された本実施形態2のようなUSBコントローラ1において必要とされるテスト治具スペックは、前述の実施形態1と同様にLINK層3のインターフェイスに用いる60MHzあるいは30MHzでの信号が生成出来ればよい。これは高速信号ではないために、一般的なテスト治具でもアクセス可能な周波数である。従って、本実施形態2のUSBコントローラ1では、簡易な回路構成により機能検証を可能にすることができる。
上記実施形態1及び実施形態2において本発明を実施するための最良の形態について述べてきたが、実施形態1で示される構成(図3,4参照)と実施形態2の構成(図7,8参照)を組み合わせる形態も考えられる。
本発明に係るUSBコントローラ1のPHY層2において、LINK層3との間のインターフェイスを介してアクセス可能なレジスタ又は外部インターフェイスを介してアクセス可能なレジスタ等に対モード設定により、実施形態1又は2に係るUSBコントローラ試験方法を切り替えられるようにしてもよい。これによりPHY層2のIC内部での480MHz動作検証と共にLINK層3との間のインターフェイスの検証も可能となる。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
従来のUSBコントローラの構成例を示す図である。 従来のUSBコントローラにおけるPHY層の構成例を示す図である。 従来のUSBコントローラにおけるAFEの構成例の一部を示す図である。 本実施形態1に係るUSBコントローラにおけるPHY層の構成例を示す図である。 本実施形態1に係るUSBコントローラにおけるAFEの構成例を示す図である。 本実施形態1に係るUSBコントローラ試験方法を説明するための図である。 本実施形態2に係るUSBコントローラにおけるPHY層の構成例を示す図である。 本実施形態2に係るUSBコントローラにおけるAFEの構成例を示す図である。
符号の説明
1 USBコントローラ
2 PHY層
3 LINK層
21 シーケンス制御ブロック
22 TXブロック
23 AFE
24 DLL
25 エラスティックバッファ
26 RXブロック
27 テストシーケンス制御ブロック
28 記憶ブロック
31 レシーバ
32 ドライバ
33 マルチプレクサ

Claims (5)

  1. 送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、
    送信データを送信するドライバ回路と、
    受信データを受信するレシーバ回路とを備えたUSBコントローラであって、
    当該USBコントローラのループバックテストのためのテストモードの設定用のレジスタと、
    前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替回路と、
    を有し、
    前記レジスタにおいてテストモードが設定されると、ループバックテストを行うことを特徴とするUSBコントローラ。
  2. 当該ループバックテストに係るエラー情報を保持するエラー情報保持レジスタを有することを特徴とする請求項1に記載のUSBコントローラ。
  3. 当該ループバックテストに係る送信データ及び/又は受信データを保持するデータ保持レジスタを有することを特徴とする請求項1又は2に記載のUSBコントローラ。
  4. 送信イネーブル信号及び受信イネーブル信号を出力し、該送信イネーブル信号及び受信イネーブル信号に基づいてデータの送受信に係るシーケンスを制御するシーケンス制御回路と、
    送信データを送信するドライバ回路と、
    受信データを受信するレシーバ回路と、
    当該USBコントローラのループバックテストのためのテストモードの設定用のレジスタとを備えたUSBコントローラにおけるUSBコントローラ試験方法であって、
    前記レジスタにおいてテストモードが設定されると、前記レシーバ回路又は前記ドライバ回路のイネーブル信号を前記送信イネーブル信号又は前記受信イネーブル信号に切替える切替工程と、
    前記切替工程における切替えにより前記レシーバ回路が前記ドライバ回路により送信された送信データを受信することを用いてループバックテストを行うテスト工程と、
    を有することを特徴とするUSBコントローラ試験方法。
  5. 前記レジスタへのテストモードの設定は、当該USBコントローラのUTMI又はULPIに準拠したインターフェイスを用いて設定されることを特徴とする請求項4に記載のUSBコントローラ試験方法。
JP2007071613A 2007-03-19 2007-03-19 Usbコントローラ及びusbコントローラ試験方法 Expired - Fee Related JP5096024B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007071613A JP5096024B2 (ja) 2007-03-19 2007-03-19 Usbコントローラ及びusbコントローラ試験方法
US12/068,931 US8135872B2 (en) 2007-03-19 2008-02-13 USB controller and a testing method of the USB controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007071613A JP5096024B2 (ja) 2007-03-19 2007-03-19 Usbコントローラ及びusbコントローラ試験方法

Publications (2)

Publication Number Publication Date
JP2008234222A true JP2008234222A (ja) 2008-10-02
JP5096024B2 JP5096024B2 (ja) 2012-12-12

Family

ID=39775849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007071613A Expired - Fee Related JP5096024B2 (ja) 2007-03-19 2007-03-19 Usbコントローラ及びusbコントローラ試験方法

Country Status (2)

Country Link
US (1) US8135872B2 (ja)
JP (1) JP5096024B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4422134B2 (ja) * 2006-09-29 2010-02-24 Okiセミコンダクタ株式会社 Usbテスト回路
CN101488842B (zh) * 2009-02-27 2011-12-28 华为技术有限公司 信号环回方法、串并/并串转化器、芯片及印制电路板
CN102750208B (zh) * 2011-04-19 2016-08-24 中山市云创知识产权服务有限公司 测试装置及利用其测试嵌入式系统设备多路串口的方法
CN103176119B (zh) * 2011-12-23 2015-12-02 上海华虹宏力半导体制造有限公司 Usb芯片硅片级自动测试仪及测试方法
US8653868B2 (en) * 2012-06-28 2014-02-18 Intel Corporation Low power data recovery
US8712245B1 (en) * 2012-12-27 2014-04-29 Tubetime Inc. System and method for infrared dongle
JP2014174792A (ja) * 2013-03-11 2014-09-22 Seiko Epson Corp バス中継装置、集積回路装置、ケーブル、コネクター、電子機器、及びバス中継方法
CN113495844B (zh) * 2021-07-22 2023-03-14 上汽通用五菱汽车股份有限公司 基于虚拟点击的自动化测试方法、装置、系统及存储介质
JP7399146B2 (ja) * 2021-10-05 2023-12-15 アンリツ株式会社 誤り検出装置および誤り検出方法
JP7432569B2 (ja) * 2021-10-11 2024-02-16 アンリツ株式会社 誤り検出装置および誤り検出方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106247A (ja) * 1983-11-15 1985-06-11 Fujitsu Ltd 送受信回路の診断方式
JPS63127342A (ja) * 1986-11-17 1988-05-31 Mitsubishi Electric Corp 自己診断装置
JPS63131641A (ja) * 1986-11-20 1988-06-03 Mitsubishi Electric Corp 主局折返し試験装置
JPS63276134A (ja) * 1987-05-07 1988-11-14 Mitsubishi Electric Corp マイクロプロセツサ
JPH06311208A (ja) * 1993-04-23 1994-11-04 Yokogawa Electric Corp 通信制御装置
JP2001308883A (ja) * 2000-04-26 2001-11-02 Nec Microsystems Ltd 通信制御回路
JP2004233200A (ja) * 2003-01-30 2004-08-19 Seiko Epson Corp テスト回路、集積回路及びテスト方法
JP2004260677A (ja) * 2003-02-27 2004-09-16 Renesas Technology Corp 通信装置
US20080163012A1 (en) * 2006-12-31 2008-07-03 Radhakrishnan Nair Apparatus for Configuring a USB PHY to Loopback Mode

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052362A (en) * 1996-09-30 2000-04-18 Cypress Semiconductor Corporation Ethernet repeater data path loopback
KR100423902B1 (ko) * 2001-06-16 2004-03-22 삼성전자주식회사 크로스오버 전압을 조절할 수 있는 유니버셜 시리얼 버스저속 트랜시버
JP2004021742A (ja) 2002-06-18 2004-01-22 Ricoh Co Ltd Usbデバイスコントローラ
JP4695816B2 (ja) * 2002-06-28 2011-06-08 富士通株式会社 電子装置
US7036055B2 (en) * 2002-12-31 2006-04-25 Intel Corporation Arrangements for self-measurement of I/O specifications
US20050097403A1 (en) * 2003-10-20 2005-05-05 Ker-Min Chen USB interface and testing method thereof
JP2005337740A (ja) * 2004-05-24 2005-12-08 Matsushita Electric Ind Co Ltd 高速インターフェース回路検査モジュール、高速インターフェース回路検査対象モジュールおよび高速インターフェース回路検査方法
DE102004043051A1 (de) * 2004-09-06 2006-03-30 Infineon Technologies Ag Loop-back-Verfahren zur Vermessung des Interface-Timings von Halbleiterspeichervorrichtungen unter Verwendung des Normal-Mode-Speichers
TWI268354B (en) * 2005-04-01 2006-12-11 Via Tech Inc Method and related apparatus for chip testing
JP4641900B2 (ja) * 2005-08-24 2011-03-02 ルネサスエレクトロニクス株式会社 半導体装置及びテスト方法
JP4785465B2 (ja) * 2005-08-24 2011-10-05 ルネサスエレクトロニクス株式会社 インタフェース回路及び半導体装置
JP2007155587A (ja) * 2005-12-07 2007-06-21 Nec Electronics Corp 通信装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60106247A (ja) * 1983-11-15 1985-06-11 Fujitsu Ltd 送受信回路の診断方式
JPS63127342A (ja) * 1986-11-17 1988-05-31 Mitsubishi Electric Corp 自己診断装置
JPS63131641A (ja) * 1986-11-20 1988-06-03 Mitsubishi Electric Corp 主局折返し試験装置
JPS63276134A (ja) * 1987-05-07 1988-11-14 Mitsubishi Electric Corp マイクロプロセツサ
JPH06311208A (ja) * 1993-04-23 1994-11-04 Yokogawa Electric Corp 通信制御装置
JP2001308883A (ja) * 2000-04-26 2001-11-02 Nec Microsystems Ltd 通信制御回路
JP2004233200A (ja) * 2003-01-30 2004-08-19 Seiko Epson Corp テスト回路、集積回路及びテスト方法
JP2004260677A (ja) * 2003-02-27 2004-09-16 Renesas Technology Corp 通信装置
US20080163012A1 (en) * 2006-12-31 2008-07-03 Radhakrishnan Nair Apparatus for Configuring a USB PHY to Loopback Mode

Also Published As

Publication number Publication date
US8135872B2 (en) 2012-03-13
JP5096024B2 (ja) 2012-12-12
US20080235405A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
JP5096024B2 (ja) Usbコントローラ及びusbコントローラ試験方法
US6977960B2 (en) Self test circuit for evaluating a high-speed serial interface
US8006008B2 (en) Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices
US8023602B2 (en) Serial data communication apparatus and methods of using a single line
US8959268B2 (en) Information processing apparatus, serial communication system, method of initialization of communication therefor and serial communication apparatus
JP4279672B2 (ja) データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信
US8463962B2 (en) MAC and PHY interface arrangement
WO2005066785A1 (en) Programmable measurement mode for a serial point to point link
KR101174234B1 (ko) 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법
WO2004023268A9 (en) Method and apparatus for double data rate serial ata phy interface
JP2004260677A (ja) 通信装置
US20170337152A1 (en) Port mirroring for peripheral component interconnect express devices
CN106257436B (zh) 发送器、接收器、数据传输系统和数据传送方法
EP1700224B1 (en) Receiver corporation
US6880026B2 (en) Method and apparatus for implementing chip-to-chip interconnect bus initialization
JPWO2008152755A1 (ja) タイミングリカバリ回路、通信ノード、ネットワークシステム、及び電子機器
JP4806747B2 (ja) シリアライザ/デシリアライザ・バスコントローラ・インターフェース
CN115699668A (zh) 宽弹性缓冲器
JP5926583B2 (ja) 情報処理装置、シリアル通信システムおよびそれらの通信初期化の方法、並びにシリアル通信装置
KR20080013548A (ko) 클럭을 동기화하여 데이터를 송수신하는 인터페이스 모듈및 방법
JP2001236303A (ja) ユニバーサル・シリアル・バス制御回路
TWI818834B (zh) 微控制器及應用其之序列周邊介面系統
US8699550B2 (en) Phase alignment between phase-skewed clock domains
JP2006018712A (ja) デジタル・アナログ混載型半導体集積回路
JP4929742B2 (ja) 同時双方向回路、該回路を備えた大規模集積回路並びに信号同時伝送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees