JP5085334B2 - Usb・otgコントローラ - Google Patents

Usb・otgコントローラ Download PDF

Info

Publication number
JP5085334B2
JP5085334B2 JP2007544489A JP2007544489A JP5085334B2 JP 5085334 B2 JP5085334 B2 JP 5085334B2 JP 2007544489 A JP2007544489 A JP 2007544489A JP 2007544489 A JP2007544489 A JP 2007544489A JP 5085334 B2 JP5085334 B2 JP 5085334B2
Authority
JP
Japan
Prior art keywords
otg
usb
host
register
control unit
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.)
Active
Application number
JP2007544489A
Other languages
English (en)
Other versions
JP2008522325A (ja
Inventor
ヘッセ カイ
ミュラー ズベン
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority claimed from PCT/US2005/043396 external-priority patent/WO2006060527A2/en
Publication of JP2008522325A publication Critical patent/JP2008522325A/ja
Application granted granted Critical
Publication of JP5085334B2 publication Critical patent/JP5085334B2/ja
Active 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

Description

本発明は概してUSB(Universal Serial Bus)(ユニバーサルシリアルバス)コントローラデバイスおよび方法に関し、さらに詳細にはOTG(On-The-Go)の機能性をインプリメントすることに関する。
ユニバーサルシリアルバスは、コンピュータシステムに追加の周辺装置の接続を容易にする外部拡張バスの規格として、1995年に最初に開発された。USB技術はPC(パーソナルコンピュータ)ホストコントローラハードウェアおよびソフトウェアならびに周辺装置に親和的なマスタ・スレーブプロトコルによって実装され、堅牢な接続およびケーブルアセンブリを実現している。USBシステムはマルチポートハブを介して拡張可能である。
USBシステムでは、システムソフトウェアの役割はハードウェア実装の詳細を隠すことによって、すべてのアプリケーションソフトウェアに対して、入出力アーキテクチャの統一された見え方を提供することにある。特に、それは周辺装置の動的な取り付けおよび取り外しを管理し、周辺装置と通信してその同一性を認識する。実行時には、ホストは特定の周辺装置に対するトランザクションを発し、各周辺装置はそのトランザクションを受け入れて適切に応答する。
USB周辺装置に対する追加的な接続性を設けるためにハブがシステムに導入され、接続されたデバイスに対して管理された電力を供給する。これらの周辺装置は、ホストから送信された要求トランザクションに応答しなければならないスレーブである。そのような要求トランザクションにはそのデバイスおよびその構成についての詳細な情報に対する要求も含まれる。
これらの機能およびプロトコルはすでにUSB1.1の規格に規定されているが、この機能はさらに高い性能のインターフェースを提供するために改良されている。図1は、ホストコントローラ100,複数のUSBデバイス115,120,125,130および2つのハブ105,110を含むUSB2.0システムの一例を示している。図1のシステムでは、接続性を増加させるためにハブ105、110を導入したが、他のUSB2.0システムではUSBデバイスはホストコントローラ100に直接接続することができる。
上述のように、USB2.0はより高性能なインターフェースを提供し、最大で約40倍の高速化が実現されている。さらに、図1から明らかなように、同じホストコントローラ100によって駆動されるUSB1.1デバイス120,125,130を接続することができることから、USB2.0はUSB1.1との下方互換性を有する。USB1.1のハブ110をも使用することができる。
図1からわかるように、USB1.1のデバイス120はUSB2.0のハブ105に直接接続することができる。さらに、それはホストコントローラ100に直接接続することもできる。これが可能なのは、USB2.0のホストコントローラおよびハブが、デバイス対デバイスの関係において、高速の伝送速度でも、低速の伝送速度でもネゴシエーションをする機能を持つからである。
図2に、USB2.0のシステムのシステムソフトウェアおよびハードウェアを示す。システムの構成要素は、図に示すように、いくつかの層を定義することによって階層的に編成することが可能である。
最上層では、クライアントドライバソフトウェア200がホストPC上で実施され、特定のUSBデバイス230に対応する。このクライアントソフトウェアは通常オペレーティングシステムの一部であり、デバイスと一緒に提供される。
USBドライバ205はシステムソフトウェア・バスドライバであって、特定のオペレーティングシステムのための特定のホストコントローラドライバ210,220の詳細を抜き出したものである。ホストコントローラドライバ210,220は、ドライバとハードウェアのインターフェースを提供するために特定のハードウェア215,225,230とUSBドライバ205との間のソフトウェア層を提供する。
これまで議論してきた層はソフトウェアによって実装されるものであるが、最上部のハードウェア部品層としてホストコントローラ215,225が含まれる。これらのコントローラはエンドユーザ機能を実行するUSBデバイス230に接続される。
図面から明らかなように、高速なUSB2.0機能のための拡張ホストコントローラ(EHC)である、ホストコントローラ225が設けられている。このホストコントローラはUSB2.0のEHCI(Enhanced Host Controller Interface、拡張ホストコントローラインターフェース)規格に従って動作する。ソフトウェア側では、ホストコントローラ225は、それに関連する特別のホストコントローラドライバ(EHCD)220を持つ。
さらに、最大速度および低速度の動作のためのホストコントローラ215が設けられている。UHCI(Universal Host Controller Interface)またはOHCI(Open Host Controller Interface)は、USB1.1ホストコントローラインターフェースを提供するためのユニバーサルな、またはオープンホストコントローラ(UHC/OHC)215において採用されている2つの業界標準である。ホストコントローラ215はその最下層のソフトウェアレベルにユニバーサル/オープンホストコントローラドライバ(UHCD/OHCD)210を割り当てている。
したがって、USB2.0準拠のホストコントローラシステムは、必ずEHCI規格に従ったドライバソフトウェアとホストコントローラハードウェアとを含む。この規格ではレジスタレベルのインターフェースとそれに関連したメモリ常駐のデータ構造とを規定しているが、それに準拠したホストコントローラを構築するために必要なハードウェアアーキテクチャについては定義も説明もしていない。
図3に、一般的なマザーボードレイアウトにおけるハードウェア要素を示す。マザーボード上の基本的な構成要素には、CPU(中央処理装置)300,ノースブリッジ305,サウスブリッジ310およびシステムメモリ315が含まれる。ノースブリッジ305は一般に単一チップのコアロジックチップセットであって、プロセッサ300をシステムメモリ315およびAGP(Accelerated Graphic Port)およびPCI(Peripheral Component Interface)バスに接続する。PCIバスはパーソナルコンピュータにおいて一般的に用いられ、プロセッサとビデオカード、サウンドカード、ネットワークインターフェースカードおよびモデムなどの周辺デバイスとの間のデータパスを提供する。AGPバスは高速のグラフィック拡張バスであって、ディスプレイアダプタとシステムメモリ315とを直接接続する。AGPとPCIバスとは独立して動作する。ノースブリッジを持たないような、またはAGPまたはPCIオプションがないノースブリッジを持つような他のマザーボードレイアウトが存在することに注意してもらいたい。
サウスブリッジ310は一般的にシステムコアロジックチップセット中のチップであって、IDE(Integrated Drive Electronics)またはEIDE(Enhanced IDE)バス、USBバスを制御し、プラグアンドプレイサポートを提供し、PCI−ISA(Industry Standard Architecture)ブリッジを制御し、キーボード/マウスコントローラを管理し、電力管理機能を提供し、他の周辺装置を制御する。
USBの機能性は、サウスブリッジデバイスまたはパーソナルコンピュータのチップセットの一部であり得る他のコンパニオンチップ中にしばしばインプリメントされる。
上述したように、この機能性は、サウスブリッジまたはコンパニオンチップ中に構築されたコンピュータと周辺装置との間のデータを交換する、ポピュラーなインターフェースを提供する。
低出力のデバイスが制のあるホスト能力を有することを可能にするために、”USB2.0規格に対するOTG補足書("On-The-Go Supplement to the USB 2.0 Specification" )”が草案されている。
この補足書は、2つのプロトコル、すなわち、周辺機器にUSB電源をつけれるようにホストに依頼させるSRP(セッション・リクエスト・プロトコル)、およびは周辺機器にUSBホストにならせるHNP(ホスト・ネゴシエーション・プロトコル)を定義する。
したがって、USB2.0規格に対する補足書は、ポータブル装置がパーソナルコンピュータのUSB機能をすべてサポートする負荷のない、制限のあるUSBホストの役割をすることを可能する。
他のものに加えて、OTG補足書は、周辺機器としてフルスピードで(および任意にハイスピードで)、およびさらにホストとしてフルスピードで(および任意にハイスピードで)動作し得る、デュアルロールデバイス(dual-role device)を明示する。
さらに、Aデバイスは、セッションの最初のホストであると明示される。
ある条件下では、Aデバイスは、デュアルロールBデバイスにホストの役割を譲るであろう。Bデバイスは、セッションの最初の周辺装置である。このデバイスがデュアルロールある場合、Aデバイスからホストの役割を与えられ得る。
上述した2つのプロトコルであるSRPおよびHNPは、状態図によりOTG補足書に記載される。
これらの状態図は、複数のOTG状態、およびこれらの状態間のトランジションが生じる条件を定義する。
しかしながら、OTG補足書で指定された状態図に準拠するように状態マシンをインプリメントすることは、一般的に非常に複雑であることが分かる。
特に、状態マシンのインプリメントは、従来のUSBの機能性を提供する回路を変更することを必要とし得る。
このことは、回路の開発規模および製造原価を増加させることにつながる。
発明の概要
OTGの機能性をインプリメントする改善されたUSBコントローラ技術は、開発規模の縮小(reduced development)および製造原価の縮小を実現することができるものとして提供される。
ある実施形態の一例においては、OTGの機能性を有するUSBコントローラ・デバイスが提供される。
USBコントローラ・デバイスは、少なくとも1つのUSB周辺機器に、および(または)少なくとも1つのUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに適した、EHCI対応ホストコントローラを有する、ホスト制御ユニットを含む。
USBコントローラ・デバイスは、ホスト制御ユニットの動作を制御するOTG状態マシンをインプリメントするのに適した、OTG制御ユニットをさらに含む。
OTG制御ユニットは、部分的にはハードウェア、および部分的にはソフトウェア中のOTG状態マシンをインプリメントするようになっている。
他の実施形態においては、USBコントローラ・デバイスは、OTG機能性を有しているものとして提供される。
このUSBコントローラ・デバイスは、少なくとも1つのUSB周辺機器に、および(または)少なくとも1つのUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに適した、EHCI対応ホストコントローラを有する、ホスト制御ユニットを含む。
USBコントローラ・デバイスは、ホスト制御ユニットの動作を制御するのに適した、OTG制御ユニットをさらに含む。
OTG制御ユニットは、OTG制御ユニットの動作を制御する制御情報を保持するOTG制御レジスタと、OTG制御ユニットのステータス情報を保持するOTGステータスレジスタと、を含む。OTG制御レジスタおよびステータスレジスタは、ソフトウェアによりアクセス可能である。
さらなる実施形態の一例によれば、USBコントローラ・デバイスは、少なくとも1つのUSB周辺機器に、および(または)少なくとも1つのUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに適した、EHCI対応ホストコントローラを有する、ホスト制御ユニットを含む。
このUSBコントローラ・デバイスは、少なくとも1つのUSBホストデバイスに、および(または)少なくとも1つのUSBホストデバイスからデータ転送を実行するデバイス機能性をインプリメントするのに適した、デバイス制御ユニットをさらに含む。
さらに、USBコントローラ・デバイスは、ホスト制御ユニットまたはデバイス制御ユニットのいずれか一方に物理ポートを割り当てるのに適したポート・マルチプレクサと、OTG機能性をインプリメントするのに適したOTG制御ユニットと、を含む。
OTG制御ユニットは、ポート・マルチプレクサに含まれる。
またさらに他の実施形態においては、コンピュータ可読記憶媒体は、プロセッサにおいて実行された際、EHCI対応ホストコントローラの動作を制御するOTG状態マシンの少なくとも一部をインプリメントすることにより、プロセッサに、OTG機能性を有するUSBコントローラ・デバイスを動かす指示を格納する。
さらに他の実施形態においては、コンピュータ可読記憶媒体は、プロセッサにおいて実行された際、USBコントローラ・デバイスのOTG制御レジスタおよびOTGステータスレジスタへのアクセスにより、プロセッサに、OTG機能性を有しているUSB制御デバイスを動かす指示を格納する。
このOTG制御レジスタおよびOTGステータスレジスタは、OTG機能性をインプリメントするのに適したOTG制御情報およびステータス情報を保持する。
さらに、ある実施形態は、双方ともソフトウェア・ドライバによってアクセス可能なOTG制御レジスタと、OTGステータスレジスタとを有しているUSBコントローラ・デバイスにおけるOTG機能性を提供する方法を提供する。
この方法は、USBコントローラ・デバイスからの割り込みの受信に応じて、OTGステータスレジスタをソフトウェアドライバによって読み込み、USBコントローラ・デバイスにそのOTG状態を変更させるように、ソフトウェアドライバによってOTG制御レジスタに書き込むことを含んでいる。
添付の図面は、本発明の原理を説明する目的において、本明細書に組み込まれ、その一部を構成する。これらの図面は本発明を限定するものと考えるべきではなく、本発明をいかに生産し、使用するかについて図示および説明された例であると考えるべきである。さらに、添付の図面に示されるように、後述のさらに詳細な説明から本発明の特徴および利点が明らかになるであろう。
図面を参照して、本発明の例としての実施形態を説明する。図面において、類似の要素および構造は類似の参照符号で示す。
図面、特に図4を参照すると、本実施形態によるUSBコントローラ・デバイス400は、ホスト制御ユニット415、デバイス制御ユニット410、ブリッジ405およびポート・マルチプレックス・コントローラ520を含む。
この実施形態のポート・マルチプレックス・コントローラ420は、USBコントローラ・デバイス400にOTG機能性をインプリメントする、OTGコントローラ425を含む。
以下に記載から明らかになるように、標準または既製の回路は、単に少し余分なハードウェアを有するホスト制御ユニットおよびデバイス制御ユニットをインプリメントするのに使用することができるので、ポート・マルチプレックス・コントローラ420にOTGコントローラ425を追加することは、最小の労力でOTG機能性を得ることができる。
本実施形態においては、ホスト制御ユニット415は、EHC/OHCコンビネーションであり、ポート・マルチプレックス・コントローラ420は、ホスト制御ユニット415およびデバイス制御ユニット410の共有の物理ポートに対するアクセスを制御する。
以下により詳細に記載するように、ホスト制御ユニット415は、この目的のためのポート・ルート機能を含む。
デバイス制御ユニット410は、デバイスUTMI(USB2.0トランシーバ・マクロセル・インターフェース)インターフェースによりホスト制御ユニット415に接続される。
ブリッジ405は、出願の広い範囲において適用することができ、さらに本実施形態のUSB2.0サブシステムに制限されなくてもよい。
ブリッジ405のメインタスクは、バス・プロトコルを変換することである。
さらに、ブリッジ405は、他のプロトコルの1つのポートにあるプロトコルのマルチプルポートをマッピングするアービタ(arbiter)またはデコーダとして役立ち得る。
本実施形態においては、このマルチプルポートは、バーストおよびスプリットオペレーションを備えたパケット化されていないバスポート(non-packetized bus port)であり得る。一方、もう1つのポートは厳密にパケット化されていてもよい。
デバイス制御ユニット410は、USBホストデバイスに、および(または)USBホストデバイスからデータ転送を実行するデバイス機能性をインプリメントするのに使用される。
このデバイス制御ユニット410は、多数の双方向のロジカル・エンドポイントをサポートし得る。
ホスト制御ユニット415は、1つ以上のUSB周辺機器に、および(または)1つ以上のUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに使用される。
以下に記載するように、このホスト制御ユニット415は、2つ(またはそれ以上)のUSBポート、1つのEHC、および1つのOHCコンパニオンコントローラをサポートし得る。
図5には、一実施形態によるホストコントローラ415の主要な構成要素が記載される。
一般的に、ホストコントローラ415,500は、3つの主要な構成要素を含んでいる。すなわち、エンハンスト・ホストコントローラ(EHC)225、1つ以上のコンパニオン・ホストコントローラ215、およびポート・ルータ515を含んでいる。
エンハンスト・ホストコントローラ225はUSB2.0の高速トラフィックをハンドルする。
本実施形態のコンパニオン・ホストコントローラ・ユニット215には、2つのOHCI対応ホストコントローラ、OHC0 505およびOHC1 510がある。これらのコントローラはすべてのUSB1.1対応トラフィックをハンドルし、USBを認識しない環境のためのレガシーキーボードエミュレーションを含んでいてもよい。
ポートルータ515はそれぞれの持ち主に物理ポートインターフェースを割り当てる。
もしUSB2.0認識のドライバがシステム上に存在しているならば、それはポートを低速度または全速度のデバイスまたはハブ(USB1.1のトラフィック)のためにコンパニオンホストコントローラ505、510に割り当てるか、または高速度デバイスまたはハブのためにEHC225に割り当てる。
つまり、図5のUSB2.0ホストコントローラは、EHCI規格に従い、USB1.1物理デバイスの代わりに、ポートルータブロック515とインターフェース接続するために必要な最小限の変更によって既存のOHCI USB1.1ホストコントローラを使用することを可能にしている。
図5のUSB2.0対応ホストコントローラは、EHCI対応ホストコントローラをサウスブリッジ310に統合して実装するためのハードウェアアーキテクチャとして定義することができる。
次にホストコントローラは、USB−2アナログ入力/出力ピンとリンクインターフェースモジュールの間に常駐して、システムメモリへのアップストリームのインターフェースを実現、例えばシステムにノースブリッジが存在すれば、ノースブリッジへのインターフェースを提供する。
図5から分かるように、ポートルータ515は、デバイス制御ユニット410およびポート・マルチプレックス・コントローラ420(これは本実施形態においてOTGコントローラ425を含む。)へのさらなるインターフェースを有する。デバイスコントローラへのインターフェースは、前述したUTMIインターフェースである。
ポート・マルチプレックス・コントローラへのインターフェースは、ホスト/デバイス・スイッチングのための制御インタフェースである。
図4を参照すると、ホスト制御ユニット415またはデバイス制御ユニット410のいずれかに共有の物理的なポートを割り当てることは、ポート・マルチプレックス・コントローラの本実施形態における基本的な機能であり得る。
その機能性を達成するために、本実施形態のポート・マルチプレックス・コントローラ420は、能力レジスタ(capability register)およびマルチプレキシング制御レジスタのようなソフトウェアにアクセス可能なレジスターを含んでいる。
双方のレジスタは、与えられたレジスタのフィールドからデータを読むソフトウェア、およびそのようなフィールドにデータを書き込むことによってアクセス可能となり得る。
しかしながら、少なくともフィールドのうちのいくつかは読み出し専用フィールドであり得ることが注目される。
ポート・マルチプレックス・コントローラ能力レジスタには、ポートがデバイス制御ユニット410に割り当てられる場合に、USBコントローラデバイスのプルアップ・レジスタがどのようにアクティベートするかを制御するのに使用することができる、自動プルアップ・イネーブル情報(automatic pull-up enable information)を格納するレジスタ・フィールドがあり得る。
この自動プルアップ・イネーブル情報は、ソフトウェアがプルアップをアクティベートする必要があるか、またはUSBポート上の電圧が有効な電圧範囲にあるとすぐにプルアップをアクティベートするかどうかを示してもよい。
過電流ハンドリング(overcurrent handling)に関しての過電流極性および情報を格納するポート・マルチプレックス・コントローラ・能力レジスタには、さらなるレジスタ・フィールドがあり得る。例えば、情報は、あるステータスに報告される過電流がどのように扱われるかを制御するために格納され得る。
さらに、能力レジスタは、ポート電源極性、およびホストコントローラからのポート電源制御情報がどのようにマッピングされるかを制御する処理についての情報を保持する。
ポート・マルチプレックス・コントローラ420のマルチプレキシング制御レジスタは、USBポート上の電圧が有効な範囲(すなわち4.4V以上)にあるかどうかを示すレジスタ・フィールドと、プルアップがディスエーブルかアクティベートされるかどうかを示す情報と、もしあればポートがどの制御ユニットに割り当てられるかを示すポート・マルチプレクサ制御情報と、を含み得る。
上述したように、本実施形態においては、OTGプロトコルサポートは、ポート・マルチプレックス・コントローラ420の一部としてインプリメントされる。このことは、コントローラ410、415をインプリメントするために既存既製のユニットを使用することを可能にする。
さらに、本実施形態のOTG制御ユニット425は、ソフトウェアがOTG補足書において明記されたOTGステートマシン(OTG state machine)の一部をインプリメントすることを可能にする。
USBソフトウェアドライバがOTGステートマシンの一部をインプリメントできるようにするために、OTG制御ユニット425は、図6により詳述されるステータスおよび制御機能を提供し得る。
図から分かるように、OTG制御ユニット425は、読込み専用モード、または書き込みアクセスモードにおけるソフトウェアによってアクセス可能な複数のレジスタ600ないし620を有している。
図6に示すように、これらのレジスタは、OTGステータスレジスタ600、OTG制御レジスタ605、OTGタイマレジスタ610、OTG割込みレジスタ615、およびOTG割込み可能レジスタ620を含んでいる。
まず、読込み専用モードにおけるソフトウェアによってアクセス可能であり得るOTGステータスレジスタ600について説明する。このレジスタは、複数のレジスタ・フィールドでOTG制御ユニット425のステータス情報を保持する。
第1のOTGステータスレジスタ・フィールドにおいては、タイマ終了情報が格納され得る。この情報は、OTGタイマが終了した場合、ビットがセットされるようにハードウェアによって制御することができる。
タイマが現在カウント中である場合、または停止状態にある場合、ビットは、ディアサートされ得る。
さらなるレジスタ・フィールドにおいては、OTGステータスレジスタ600は、ホスト制御ユニット415に割り当てられた、またはデバイス制御ユニット410に割り当てられたポートが、サスペンドされたか、またはそれぞれの制御ユニットによってサスペンドされることになっているかどうかを示す、ポート・サスペンション情報を保持し得る。
より詳細には、ポートがホストに割り当てられる場合、それぞれのコントローラがポートをサスペンドしたときにこのポート・サスペンション・フィールドビットはセットされ得る。
OTGステータスレジスタ600の他のレジスタ・フィールドは、ホスト制御ユニット415またはデバイス制御ユニット410へのポートの割り当てを示す、ポート結合情報を保持し得る。
より詳細には、ポートがホストに接続される場合、適切なホストコントローラがリモートデバイスへの接続を確立したときにレジスタ・フィールドビットがセットされる。
ポートがデバイスに割り当てられる場合、デバイスコントローラがリモートホストから連絡を受けたときにビットがセットされる。
このレジスタ・フィールドは読込み専用モードのみのソフトウェアによってアクセス可能であるが、ポート接続レジスタ・フィールドビットは、ソフトウェアによっていつでも上書きされ得ることに注意すべきである。
これを達成するために、OTG制御レジスタ605は、OTGステータスレジスタのポート接続レジスタ・フィールドの値に上書きするのに使用することができる(書き込み可能)レジスタ・フィールドを含み得る。このことは、以下により詳細に記載される。
OTGステータスレジスタ600には、OTG制御ユニット425に関するステータス情報を提供すべく、さらなるレジスタ・フィールドがあり得る。
例えばFS(フルスピード)出力イネーブル情報、ポート・スピード情報、およびある回線ステータスまたは電圧値が達したかどうかを示す情報を格納するレジスタ・フィールドがあり得る。
次に、OTG制御ユニット425の処理を制御する制御情報を保持するOTG制御レジスタ605は、また、複数のレジスタ・フィールドを有し得る。
例えば、タイマ計算条件情報および電源がポートに供給されるか否か、ポートに所定の制御ユニットが割り当てられるか否か、または自動的にまたはソフトウェアがプルアップをイネーブルにしたかどうかに関する制御情報を保持するレジスタ・フィールドがあり得る。
OTG技術のハードウェア実装およびソフトウェア制御の双方を促進するために、OTG制御レジスタ605のレジスタ・フィールドのうちのいくつかは、上述したポート・マルチプレックス・コントローラ・レジスタからエイリアスされ得る。
OTG制御レジスタ605は、書き込みポート接続情報を保持する書き込みポート接続レジスタ・フィールドをさらに含み得る。
上述したように、このレジスタ・フィールドは、OTGステータスレジスタ600のポート接続レジスタ・フィールドの値をオーバーライドするのに使用することができる。
すなわち、ソフトウェアは、OTGステータスレジスタ600のそれぞれのレジスタ・フィールドビットをアサートまたはディアサートすべく、OTG制御レジスタ605の書き込みポート接続レジスタ・フィールドに書き込みことができる。
この機能性は、たとえOTGステータスレジスタ600が読み取り専用レジスタであっても、ソフトウェアによってポート接続ステータスを変更することを可能にする。
より詳細には、ポートがホストに割り当てられる場合、その後、ポートがEHCによって所有され、無事にHS(高速)処理に移行している場合、ポート接続ステータス・レジスタ・フィールドビットは、アサートされる。
さらに、ポートがホストに割り当てられる場合、OHCが接続を検知してすぐに、ステータスレジスタ・ビットがアサートされる。
ポートがデバイスに割り当てられる場合、USB上のダウンストリームのアクティビティが検知される場合、ステータスレジスタ・ビットがアサートされる。
ポートがホストに割り当てられる場合、ポートがEHCによって所有され、切断(disconnect)を検知してすぐに、ステータスレジスタ・ビットがディアサートされる。同様に、OHCが切断を検知してすぐに、ビットはディアサートされる。
さらに、USBポートの電圧が0.8V未満に落ちる場合は常に、ビットはディアサートされ得る。この機能性はすべてハードウェア制御下で達成することができる。
OTG制御レジスタ605の書き込みポート接続レジスタ・フィールドは、ソフトウェアによってステータスビットを変更する可能性を追加する。
このことは、ソフトウェアドライバがUSB制御デバイスに特定のポート接続状態を入力させることを可能にして、OTG制御機能性に柔軟性を加える。
図6に戻ると、OTG制御ユニット425はさらなるレジスタを含み得る。
例えば、OTGタイマレジスタ610は、現在のタイマー値(読み出し専用であり得る)およびカウントダウンについてプリロードするプリロード値を格納するレジスタ・フィールドを有し得る。
OTG割込みレジスタ615は、タイマは終了したか否か、ポートサスペンションまたは接続が変更したか否か、レシーバ・アクティビティが検知されるか否か、ポート・スピードが変化したか否か、HS切断が検知されるか否か、回線状態が変更したか否か、または所定の電圧範囲となっているか否か、を示す情報をそのフィールドに格納し得る。
OTG割込み可能レジスタ620は、広域の割り込みメカニズムがイネーブルか否か、または、OTG割込みレジスタ615に格納された情報についての割り込みがイネーブルか否か、を示す割込みイネーブル情報をそのレジスターフィールドに格納し得る。
上述した様々な実施形態の説明においては、USBコントローラ・デバイス技術は、部分的にはハードウェア、および部分的にはソフトウェア中にインプリメントすることができる状態マシンによってコンポーネントを制御することができる方法でOTG機能性をインプリメントするように提供される。
この目的のために、制御およびステータス情報は、ソフトウェア・ドライバを実行するプロセッサと、OTGステータスおよび制御レジスタ600,606(および任意の他のOTGレジスタ)によるOTG制御ユニット425との間で渡されてもよい。
制御レジスタビットは、内部および外部スイッチを制御し、またステータスレジスタ・ビットは、OTG制御ユニット425からの関連する信号のステータスを示す。
ある実施形態においては、OTG制御レジスタ605は2つのアドレスを有している。一方のアドレスへの書き込みは選択されたビットをセットする一方、他方のアドレスへの書き込みはその選択されたビットをクリアする。
このスキームは、USBコントローラ・デバイスの他のコンポーネントと最大の互換性を提供する。
例えば、構成は、デバイス機能性そのもの等を提供するように、不変なポート割り当てを有するように選択することができる。
この場合、BIOS(基本入出力システム)は、コンピュータシステムがブートする時にしたがって、ポート・マルチプレクサをセットする。レジスタ内容はその後、システムが立上がっている限り、変更されない。
しかしながら、OTG機能性が使用される他の構成が選択される場合、USBポートは、デバイス・ポートまたはユーザのリクエストによりホスト・ポートの役割を果たし、これはいつでも変更することができる。その後、OTGドライバはポート・マルチプレクサの役に立つ。
したがって、レジスタ・エイリアシングは、これらもまたそのレジスタレベルでBIOSアクセスおよびOTGドライバアクセスを分離することを可能にする。
このことは、BIOSがOTGドライバに関する知識なしで動作することを可能にする。
ある実施形態の一例においては、USBコントローラ・デバイスは、以下のUSB構成を維持することができる。すなわち、(i)少なくとも1つのホスト・ポートおよび1つの周辺機器ポート、(ii)2つ以上のホスト・ポート、および(iii)1つのデュアルロール・デバイス・ポートおよび少なくとも1つのさらなるホスト・ポート、である。
デュアルロール・デバイス・ポートはまた、SRPの有能な周辺機器ポートとして使用することができる。
1つのデュアルロールデバイス・ポートに加えて1つの専用USBホスト・ポートを有する本実施形態のUSBコントローラ・デバイスを形成する場合、ソフトウェア・ドライバはホストコントローラ状態マシンと分離しているOTG状態マシンを維持することができる。
上述したように、部分的にはハードウェア、そして部分的にはソフトウェア中にOTG状態マシンをインプリメントする実施形態が提供される。
このことは、ハードウェア中のいくつかのステータスおよびソフトウェア中の他のステータスのインプリメントにより達成されてもよい。
例えば、デュアルロールデバイス状態マシンを例にとると、ソフトウェア・ドライバは、a_suspend、a_peripheralおよびb_wait_acon状態を除いた状態をすべてインプリメントすることができる。その後、これらの3つの状態をハードウェア中にインプリメントし得る。
さらに、OTG状態マシンは、ソフトウェア中のOTG状態マシンによって明示された状態トランジションのすべてではなくいくつかをインプリメントすることによって、部分的にはハードウェア、および部分的にはソフトウェア中にインプリメントすることができる。
図7を参照すると、ソフトウェア管理状態トランジションがどのように起こり得るかを示すフローチャートが提供される。
ステップ700において、OTG制御ユニット425は、ソフトウェア状態マシンにその状態を変更することを要求し得るイベントを検知する。
その後OTG制御ユニット425は、OTGステータスレジスタ600中の各ステータス情報を保存し(ステップ705)、プロセッサへの割り込みをかける(ステップ710)。
この割り込みに応じて、USBソフトウェア・ドライバは、ステータスレジスタを読み込み(ステップ715)、現在状況およびステータスレジスタ内容に基づき適切な状態変更を行い(ステップ720)、そしてスイッチの設定を変更するために、すなわちOTGハードウェアに適切な変更を加えるために、OTG制御レジスタ605に書き込む(ステップ725)。
本発明は、これにしたがって構築された物理的な実施形態に関して記載されているが、本発明の趣旨および範囲から逸脱することなく、上記の内容に照らして、および添付の請求項の範囲内において、本発明の様々な変更、変形および改善がなされることは当業者に明白である。さらに、当業者に周知であると考えられる領域は、ここに記載された発明を不必要に不明瞭にしないようにここには記載されない。したがって、特定の実施形態の一例によってのみに、本発明は制限されず、しかしながら添付の請求の範囲のみによって制限されることになっていることが理解される。
この発明は一般的に、USB(Universal Serial Bus)コントローラデバイスおよび方法に適用することができる。
USB2.0対応のシステムの一例を示す図。 図1のシステムにおけるハードウェアおよびソフトウェア・コンポーネントの層を示す図。 一般的なマザーボードのレイアウトを示す図。 一実施形態による、OTG機能性を有するUSBコントローラー・デバイスのコンポーネントを示すブロック図。 一実施形態による、図4の配置の一部であるホストコントローラのコンポーネントを示すブロック図。 一実施形態による、OTGコントローラを示す図。 本実施形態によってどのようにソフトウェア管理状態トランジションを達成することができるかを示すフローチャート。

Claims (8)

  1. 少なくとも1つのUSB周辺機器に、および(または)少なくとも1つのUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに適した、EHCI(Enhanced Host Controller Interface)対応ホストコントローラを有する、ホスト制御ユニットと、
    少なくとも1つのUSBホストとして働くUSBデバイスに、および(または)少なくとも1つのUSBホストとして働くUSBデバイスからデータ転送を実行するUSBデバイス機能性をインプリメントするのに適した、デバイス制御ユニットと、
    前記ホスト制御ユニットまたは前記デバイス制御ユニットのいずれか一方に物理ポートを割り当てるのに適した、ポート・マルチプレクサと、
    前記ホスト制御ユニットの動作を制御するOTG状態マシンをインプリメントするのに適した、OTG制御ユニットと、を有しており、
    前記ポート・マルチプレクサは、前記ポート・マルチプレクサの機能的能力を示す能力情報を格納するのに適した、ソフトウェアによってアクセス可能なポート・マルチプレクサ能力レジスタを含んでおり、
    前記OTG制御ユニットは、部分的にはハードウェア、および部分的にはソフトウェア中に前記OTG状態マシンをインプリメントするようになっており、前記OTG制御ユニットの動作を制御する制御情報を保持し、ソフトウェアによりアクセス可能であるOTG制御レジスタを含んでおり、
    前記OTG制御レジスタは、2つのアドレスの一方に書き込むことによってアドレス可能であり、前記2つのアドレスのうち一方のアドレスへの書き込みは制御情報をセットする一方、前記2つのアドレスのうち他方のアドレスへの書き込みは前記制御情報をクリアする、
    OTG(On-The-Go)の機能性を有するUSB(Universal Serial Bus)(ユニバーサルシリアルバス)コントローラデバイス。
  2. 前記OTG制御レジスタは、ソフトウェアによって書き込み可能である、請求項1記載のUSBコントローラデバイス。
  3. 前記OTG制御ユニットは、前記制御情報の変化に応じてハードウェアスイッチの状態を変化させるようになっている、請求項1記載のUSBコントローラデバイス。
  4. 少なくとも1つのUSB周辺機器に、および(または)少なくとも1つのUSB周辺機器からデータ転送を実行するホスト機能性をインプリメントするのに適した、EHCI(Enhanced Host Controller Interface)対応ホストコントローラを有する、ホスト制御ユニットと、
    少なくとも1つのUSBホストとして働くUSBデバイスに、および(または)少なくとも1つのUSBホストとして働くUSBデバイスからデータ転送を実行するUSBデバイス機能性をインプリメントするのに適した、デバイス制御ユニットと、
    前記ホスト制御ユニットまたは前記デバイス制御ユニットのいずれか一方に物理ポートを割り当てるのに適した、ポート・マルチプレクサと、
    前記ホスト制御ユニットの動作を制御するようになっているOTG制御ユニットと、を有しており、
    前記ポート・マルチプレクサは、前記ポート・マルチプレクサの機能的能力を示す能力情報を格納するのに適した、ソフトウェアによってアクセス可能なポート・マルチプレクサ能力レジスタを含んでおり、
    前記OTG制御ユニットは、前記OTG制御ユニットの動作を制御する制御情報を保持するOTG制御レジスタと、前記OTG制御ユニットのステータス情報を保持するOTGステータスレジスタと、を含む、
    OTG(On-The-Go)の機能性を有するUSB(Universal Serial Bus)(ユニバーサルシリアルバス)コントローラデバイス。
  5. 前記OTG制御レジスタは、タイマ計算条件情報を保持するレジスタ・フィールドを含む、請求項4記載のUSBコントローラデバイス。
  6. 前記OTG制御レジスタは、OTGポート接続ステータスを変化させるように、ソフトウェアによって書き込み可能である書き込みポート接続情報を保持するレジスタ・フィールドを含んでいる、請求項4記載のUSBコントローラデバイス。
  7. ソフトウェアが前記書き込みポート接続情報レジスタ・フィールドに書き込まない限り、前記OTGポート接続ステータスはハードウェア制御下にある、請求項6記載のUSBコントローラデバイス。
  8. 双方ともソフトウェアドライバによってアクセス可能である、2つのアドレスのうちの一方に書き込むことによってアドレス可能なOTG制御レジスタと、OTGステータスレジスタと、を有するUSB(Universal Serial Bus)(ユニバーサルシリアルバス)コントローラデバイス中にOTG(On-The-Go)の機能性を提供する方法であって、
    前記USBコントローラデバイスからの割り込みの受信に応じて、前記OTGステータスレジスタを前記ソフトウェアドライバによって読み込み、
    前記USBコントローラデバイスにそのOTG状態を変更させるように、前記ソフトウェアドライバによって前記OTG制御レジスタに書き込み、
    前記USBコントローラデバイスがOTGの機能性をインプリメントする状態にあるときは、前記ソフトウェアドライバがポート・マルチプレクサの役目をし、
    前記ソフトウェアドライバは前記ポート・マルチプレクサの機能的能力を示す情報を格納しているポート・マルチプレクサ能力レジスタを読み込む、
    方法。
JP2007544489A 2004-11-30 2005-11-29 Usb・otgコントローラ Active JP5085334B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102004057756.0 2004-11-30
DE102004057756A DE102004057756B4 (de) 2004-11-30 2004-11-30 USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
US11/230,979 US8180947B2 (en) 2004-10-29 2005-09-20 USB on-the-go controller
US11/230,979 2005-09-20
PCT/US2005/043396 WO2006060527A2 (en) 2004-11-30 2005-11-29 Usb on-the-go controller

Publications (2)

Publication Number Publication Date
JP2008522325A JP2008522325A (ja) 2008-06-26
JP5085334B2 true JP5085334B2 (ja) 2012-11-28

Family

ID=36263453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007544489A Active JP5085334B2 (ja) 2004-11-30 2005-11-29 Usb・otgコントローラ

Country Status (5)

Country Link
US (1) US8180947B2 (ja)
JP (1) JP5085334B2 (ja)
CN (1) CN101065740B (ja)
DE (1) DE102004057756B4 (ja)
TW (1) TWI454926B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014129694A1 (ko) * 2013-02-21 2014-08-28 (주)에스와이씨 무선 데이터 저장장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005009021A1 (de) * 2005-02-28 2006-09-07 Advanced Micro Devices Inc., Sunnyvale Vereinheitliche USB OTG-Steuerungseinheit
KR100678905B1 (ko) * 2005-09-27 2007-02-06 삼성전자주식회사 무선 usb 호스트, 무선 usb 디바이스, 이중 역할장치 호스트의 기능을 제공하는 방법 및 이중 역할 장치호스트의 기능을 수행하는 방법
US8882561B2 (en) * 2006-04-07 2014-11-11 Mattel, Inc. Multifunction removable memory device with ornamental housing
WO2007122453A1 (en) * 2006-04-26 2007-11-01 Nokia Corporation Usb connection
JP4482044B2 (ja) * 2008-03-18 2010-06-16 株式会社東芝 情報処理装置およびデバイスコントローラの駆動制御方法
JP2010088068A (ja) * 2008-10-03 2010-04-15 Seiko Epson Corp データ転送制御装置、集積回路装置及び電子機器
JP5287112B2 (ja) * 2008-10-06 2013-09-11 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7970976B2 (en) * 2009-03-01 2011-06-28 Qualcomm Incorporated Remote memory access using reversible host/client interface
US8832345B2 (en) * 2010-08-24 2014-09-09 Belkin International, Inc. System for communicating between two electrical devices and method therefore
CN101976230B (zh) * 2010-09-30 2014-04-23 威盛电子股份有限公司 通用序列总线传输转译器及输入请求同步传输方法
US8452910B1 (en) * 2010-10-21 2013-05-28 Total Phase, Inc. Capture of USB packets into separate USB protocol streams based on different USB protocol specifications
US8972621B1 (en) * 2011-09-28 2015-03-03 Cypress Semiconductor Corporation Methods, systems, and physical computer-readable media for multiplexing a single end-point memory structure between USB interfaces
CN103164355B (zh) * 2011-12-13 2015-09-23 联想(北京)有限公司 一种切换方法和电子设备
US9490791B2 (en) 2013-08-29 2016-11-08 Advanced Micro Devices, Inc. Method and circuit for detecting USB 3.0 LFPS signal
KR102089634B1 (ko) * 2014-11-07 2020-03-16 주식회사 칼라세븐 광선치료용 스마트폰 인터페이스 장치
WO2016072812A1 (ko) * 2014-11-07 2016-05-12 주식회사 칼라세븐 광선치료용 스마트폰 인터페이스 장치
CN105808488B (zh) * 2014-12-31 2019-07-02 新加坡商华科全球股份有限公司 电子装置与其电源供应控制方法
JP6602579B2 (ja) * 2015-07-15 2019-11-06 ルネサスエレクトロニクス株式会社 半導体装置およびシステム
US10141756B1 (en) 2016-03-24 2018-11-27 Amazon Technologies, Inc. Dynamic power optimization when transferring power between batteries
US10283975B1 (en) 2016-03-28 2019-05-07 Amazon Technologies, Inc. Smart diagnostics for hot-pluggable battery systems
WO2018038703A1 (en) * 2016-08-22 2018-03-01 Hewlett-Packard Development Company, L.P. Connected devices information
CN107391418A (zh) * 2017-09-12 2017-11-24 刘宇泽 一种基于usbhub技术的数据盒
FR3102583B1 (fr) * 2019-10-24 2022-11-25 Stmicroelectronics Grand Ouest Sas Dispositif à connecteur USB
CN112491562B (zh) * 2020-11-18 2023-05-23 惠州Tcl移动通信有限公司 通信控制方法、装置及移动终端
CN114996187A (zh) * 2022-05-06 2022-09-02 东莞市步步高教育软件有限公司 Otg功能的控制方法及装置、计算机设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199137B1 (en) * 1999-01-05 2001-03-06 Lucent Technolgies, Inc. Method and device for controlling data flow through an IO controller
US6434651B1 (en) * 1999-03-01 2002-08-13 Sun Microsystems, Inc. Method and apparatus for suppressing interrupts in a high-speed network environment
US6912060B1 (en) 2000-07-05 2005-06-28 Lexmark International, Inc. Photoprinter control of peripheral devices
US6675305B1 (en) 2000-08-04 2004-01-06 Synopsys, Inc. Power saving in a USB peripheral by providing gated clock signal to CSR block in response to a local interrupt generated when an operation is to be performed
US6732219B1 (en) * 2001-02-23 2004-05-04 Hewlett-Packard Development Company, L.P. Dynamic allocation of devices to host controllers
JP2002288112A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd 通信制御用半導体装置およびインタフェースシステム
DE60237379D1 (de) 2001-09-28 2010-09-30 Nxp Bv Bussystem und busschnittstelle zur verbindung mit einem bus
TW538364B (en) * 2001-12-10 2003-06-21 Via Tech Inc USB control circuit capable of automatically switching paths
DE10211054A1 (de) 2002-03-13 2003-10-09 Advanced Micro Devices Inc USB-Hostcontroller
JP3636157B2 (ja) * 2002-04-19 2005-04-06 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP3685151B2 (ja) 2002-04-26 2005-08-17 セイコーエプソン株式会社 クロック制御回路、データ転送制御装置及び電子機器
JP3722217B2 (ja) * 2002-04-26 2005-11-30 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
WO2003107199A2 (en) 2002-06-12 2003-12-24 Koninklijke Philips Electronics N.V. Bus system, station for use in a bus system, and bus interface
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
DE10234991B4 (de) 2002-07-31 2008-07-31 Advanced Micro Devices, Inc., Sunnyvale Hostcontrollerdiagnose für einen seriellen Bus
EP1546897B1 (en) * 2002-09-24 2006-12-20 Koninklijke Philips Electronics N.V. Bus connection system
TWI250413B (en) * 2004-09-17 2006-03-01 Faraday Tech Corp Universal serial bus (USB) system with single port and host controller thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014129694A1 (ko) * 2013-02-21 2014-08-28 (주)에스와이씨 무선 데이터 저장장치

Also Published As

Publication number Publication date
JP2008522325A (ja) 2008-06-26
US8180947B2 (en) 2012-05-15
CN101065740B (zh) 2010-09-08
TWI454926B (zh) 2014-10-01
TW200632674A (en) 2006-09-16
CN101065740A (zh) 2007-10-31
US20060095642A1 (en) 2006-05-04
DE102004057756A1 (de) 2006-06-01
DE102004057756B4 (de) 2009-08-06

Similar Documents

Publication Publication Date Title
JP5085334B2 (ja) Usb・otgコントローラ
US7506077B2 (en) Unified controller having host and device functionality
US7024510B2 (en) Supporting a host-to-input/output (I/O) bridge
US8205029B2 (en) Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
US6131131A (en) Computer system including an enhanced communication interface for an ACPI-compliant controller
JP2009070401A (ja) Ata/sata複合コントローラ
US20200142848A1 (en) Management controller including virtual usb host controller
EP2778936B1 (en) Apparatus, system and method for providing access to a device function
JP4351071B2 (ja) Ata/sata複合コントローラ
US6801970B2 (en) Priority transaction support on the PCI-X bus
JP2503183B2 (ja) バス・アダプタ・システム
TW202240413A (zh) PCIe裝置及其操作方法
EP3716084A1 (en) Apparatus and method for sharing a flash device among multiple masters of a computing platform
TW202240415A (zh) PCIe裝置及其操作方法
KR101118558B1 (ko) Usb otg 제어기
JP4404023B2 (ja) データ転送制御装置及び電子機器
US6473810B1 (en) Circuits, systems, and methods for efficient wake up of peripheral component interconnect controller
US8074033B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
US20070005851A1 (en) Data transfer control device and electronic instrument
US7730233B2 (en) Data transfer control device and electronic instrument

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081105

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110413

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120302

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: 20120808

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: 20120905

R150 Certificate of patent or registration of utility model

Ref document number: 5085334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250