JP6136127B2 - コントローラ、電子機器及びusbデバイスの制御方法 - Google Patents
コントローラ、電子機器及びusbデバイスの制御方法 Download PDFInfo
- Publication number
- JP6136127B2 JP6136127B2 JP2012142271A JP2012142271A JP6136127B2 JP 6136127 B2 JP6136127 B2 JP 6136127B2 JP 2012142271 A JP2012142271 A JP 2012142271A JP 2012142271 A JP2012142271 A JP 2012142271A JP 6136127 B2 JP6136127 B2 JP 6136127B2
- Authority
- JP
- Japan
- Prior art keywords
- usb
- control method
- port
- usb hub
- special control
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
- G06F2213/4002—Universal serial bus hub with a single upstream port
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)
Description
前記USBを介してUSBデバイスが接続されるUSBハブのトポロジ情報と、該USBハブに接続されるUSBデバイスを特殊制御するための特殊制御方法とを関連付けて登録する登録部と、
前記登録された情報に基づき、USBデバイスが接続されるUSBハブのトポロジ情報に対応する前記特殊制御方法を特定する処理部と、
前記処理部により特定された前記特殊制御方法に基づき、前記USBハブに接続されるUSBデバイスの制御を実行する前記USBハブと、
を備えることを特徴とするコントローラが提供される。
近年、USBが高速シリアルインターフェースとして脚光を浴びている。USBでは、USBホストコントローラとUSBデバイスとの間で信号又はデータの送受信が行われる。
まず、本実施形態に係るUSBホストコントローラを含む電子機器について、図1を参照しながら説明する。図1は、本実施形態に係るUSBホストコントローラを含む電子機器の構成の一例を示した図である。
USBホストコントローラ40は、USBデバイス10を認識する際、予めUSBハブ80毎に以下の(1)〜(4)の4つの情報を設定することが可能である。そして、USBホストコントローラ40は、下記4つの情報に基づく特殊制御を自動で実行することが可能である。
(1)USBハブのトポロジ情報
(2)USBホストコントローラ名
(3)USBハブの認識処理時の特殊制御方法
(4)ポート毎の特殊制御方法
図2は、一のUSBホストコントローラ40を有する場合のリスト例である。通常、USBホストコントローラ40には、ルートハブと呼ばれる特別なハブが内蔵されている。図2の例では、一のUSBホストコントローラ40(hc_name"ehci0")に、ルートハブのようにデフォルトでUSBハブ80(uhub0)が接続されている。USBデバイス10は、このUSBハブ80(uhub0)のポート、又はUSBハブ80(uhub0)に接続された他のUSBハブのポートに接続される。本例では、USBハブ80(uhub0)のポート1にUSBハブ80a(uhub1)が接続され、USBハブ80a(uhub1)のポート5にUSBハブ80b(uhub2)が接続されている。複数のUSBデバイス10は、このUSBハブ80b(uhub2)の各ポートに接続されている。具体的には、図2では、USBメモリ10aがポート2に接続され、SDカードリーダ10bがポート4に接続され、操作部10cがポート1に接続されている。図2では操作部10c、図3ではNANDが起動時に必要なUSBデバイスとして取り扱われる。
(1)USBハブのトポロジ情報として「トポロジ情報porttier(own_porttier)」を記録する。
(2)USBホストコントローラ名として「接続ホストコントローラ名(hc_name)」を記録する。
(3)USBハブの特殊制御方法として「USBハブ特殊制御(hub_quirk)」を記録する。
(4)ポート毎の特殊制御方法として「ポート毎の特殊制御(port_quirk)」を記録する。
(1)USBハブのトポロジ情報porttier(own_porttier)
USBハブ自身がトポロジ上でどこに接続されているかを一意に表すために「トポロジ情報porttier」という概念を使用する。「トポロジ情報porttier」は20bitの値を持つ。最下位の桁はルートハブのどのポートに接続されているデバイスなのかを表す。以降、階層のdepth(深さ)が1増えるごとに左にシフトして該当ポートのポート番号が設定されていく。階層のdepth(深さ)は、USBハブ80(uhub0)に対して、USBハブ80a(uhub1)、USBハブ80b(uhub2)と1つずつ深くなる。「トポロジ情報porttier」の最大値が20bitである理由は、USB仕様上ルートハブ(ここではUSBハブ80(uhub0))を除いてUSBハブは5段までしか接続できないためである。
(2)接続ホストコントローラ名(hc_name)
図3の複数のホストコントローラが存在している場合、トポロジ情報porttierのみでは一意のポートを指定することはできない。例えば、トポロジ情報porttierが「0x00000」であっても、ホストコントローラ名が設定されていないと、ohci0、ohci1、ehci0のどのポートに接続されているかまでは特定できない。そこで、各ホストコントローラを識別するためにホストコントローラ名を設定する必要がある。
(3)USBハブの特殊制御方法(hub_quirk)
USBハブの特殊制御方法を「hub_quirk」に指定する。例えば、USBハブの特殊制御方法として、ポート番号の小さいポートから検索をするか、大きいポートから検索をするかを決めるフラグを設定する。
(4)ポートの特殊制御方法(port_quirk)
ポートの特殊制御方法を「port_quirk」に指定する。例えば、ポートの特殊制御方法として、各ポートに接続されるデバイスのディレイに関するフラグを設定する。フラグの例として、UHQ_PORT_NPSとUHQ_PORT_NMを挙げて以下に説明するが、フラグはこれに限られない。例えば、ポートの特殊制御方法には、下記USBデバイスの制御時間(応答時間)のためのフラグの他にも、USBデバイスが接続される可能性がないポートに対しては無駄な電力供給を避けるためにポートへの電力供給を停止するフラグを設定すること等が挙げられる。
次に、本実施形態に係るUSBホストコントローラ40による特殊制御について、図4を参照しながら説明する。図4は、本実施形態に係る特殊制御処理を示したフローチャートである。
Claims (7)
- USB(Universal Serial Bus)を介してUSBデバイスと通信するためのコントローラであって、
前記USBを介してUSBデバイスが接続されるUSBハブのトポロジ情報と、該USBハブに接続されるUSBデバイスを特殊制御するための特殊制御方法とを関連付けて登録する登録部と、
前記登録された情報に基づき、USBデバイスが接続される前記USBハブのトポロジ情報に対応する前記特殊制御方法を特定する処理部と、
前記処理部により特定された前記特殊制御方法に基づき、前記USBハブに接続されるUSBデバイスの制御を実行する前記USBハブと、
を備え、
前記登録部は、前記USBハブのトポロジ情報に関連付けて該USBハブに接続された複数のコントローラの識別情報を登録し、
前記処理部は、前記登録されたトポロジ情報及び複数のコントローラの識別情報に基づき、USBデバイスが接続される前記USBハブのトポロジ情報及びコントローラの識別情報に対応する前記特殊制御方法を特定し、
前記USBハブは、前記処理部により特定された前記特殊制御方法に基づき、前記識別情報を有するコントローラの前記USBハブに接続されるUSBデバイスの制御を実行することを特徴とするコントローラ。 - 前記登録部は、ポート毎に前記USBデバイスの特殊制御方法を登録し、
前記処理部は、前記USBデバイスが接続されるUSBハブのポート毎に特殊制御方法を特定し、
前記USBハブは、前記ポート毎に特定された特殊制御方法に基づき、ポート毎に前記USBデバイスの制御を実行することを特徴とする請求項1に記載のコントローラ。 - 前記登録部は、前記特殊制御方法として、USBハブの複数のポートを検索する際の優先順位を登録し、
前記処理部は、前記優先順位が高いポートから順に前記特殊制御方法を特定し、
前記USBハブは、前記特定された特殊制御方法に基づき、前記優先順位が高いポートから順に前記USBデバイスの制御を実行することを特徴とする請求項2に記載のコントローラ。 - 前記登録部は、前記特殊制御方法として、USBハブに接続されるUSBデバイスの応答のための制御時間であってUSB規格に準拠したディレイを含むデフォルト値以外の制御時間を登録し、
前記処理部は、前記登録された前記デフォルト値以外の制御時間を特定し、
前記USBハブは、前記特定されたデフォルト値以外の制御時間に基づき、前記USBデバイスの制御を実行することを特徴とする請求項1〜3のいずれか一項に記載のコントローラ。 - 前記登録部は、前記特殊制御方法として、USBハブの特定のポートを検索の対象外とする情報を登録し、
前記処理部は、前記USBハブの特定のポートを検索の対象外とする情報を特定し、
前記USBハブは、前記特定された前記ポートを検索の対象外とする情報に基づき、前記検索の対象外とされたポートを検索しない制御を実行することを特徴とする請求項1〜4のいずれか一項に記載のコントローラ。 - 請求項1〜5のいずれか一項に記載のコントローラと、
バスを介して前記コントローラに接続されるホストCPUと、
を備えることを特徴とする電子機器。 - USBを介してUSBデバイスと通信するためのコントローラによる前記USBデバイスの制御方法であって、
前記USBを介してUSBデバイスが接続されるUSBハブのトポロジ情報と、該USBハブに接続されるUSBデバイスを特殊制御するための特殊制御方法とを関連付けて登録するステップと、
前記登録された情報に基づき、USBデバイスが接続される前記USBハブのトポロジ情報に対応する前記特殊制御方法を特定するステップと、
前記特定された前記特殊制御方法に基づき、前記USBハブに接続されるUSBデバイスの制御を実行するステップと、
を含み、
前記USBハブのトポロジ情報に関連付けて該USBハブに接続された複数のコントローラの識別情報を登録し、
前記登録されたトポロジ情報及び複数のコントローラの識別情報に基づき、USBデバイスが接続される前記USBハブのトポロジ情報及びコントローラの識別情報に対応する前記特殊制御方法を特定し、
前記USBハブは、特定された前記特殊制御方法に基づき、前記識別情報を有するコントローラの前記USBハブに接続されるUSBデバイスの制御を実行するUSBデバイスの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012142271A JP6136127B2 (ja) | 2012-06-25 | 2012-06-25 | コントローラ、電子機器及びusbデバイスの制御方法 |
US13/905,550 US9098640B2 (en) | 2012-06-25 | 2013-05-30 | Controller, electronic equipment unit, and USB device control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012142271A JP6136127B2 (ja) | 2012-06-25 | 2012-06-25 | コントローラ、電子機器及びusbデバイスの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014006726A JP2014006726A (ja) | 2014-01-16 |
JP6136127B2 true JP6136127B2 (ja) | 2017-05-31 |
Family
ID=49775404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012142271A Expired - Fee Related JP6136127B2 (ja) | 2012-06-25 | 2012-06-25 | コントローラ、電子機器及びusbデバイスの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9098640B2 (ja) |
JP (1) | JP6136127B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9070199B2 (en) | 2012-10-02 | 2015-06-30 | Apple Inc. | Sharing a graphics-processing-unit display port |
TWI497306B (zh) * | 2012-11-29 | 2015-08-21 | Faraday Tech Corp | 超高速通用序列匯流排集線器及其相關流量管理方法 |
CN103106167B (zh) | 2013-01-22 | 2015-12-02 | 矽力杰半导体技术(杭州)有限公司 | 一种usb设备及其控制方法 |
US20140280960A1 (en) * | 2013-03-15 | 2014-09-18 | Apple, Inc. | Methods and apparatus for dynamically allocating devices between multiple controllers |
US9081705B2 (en) * | 2013-06-11 | 2015-07-14 | Apple Inc. | Methods and apparatus for reliable detection and enumeration of devices |
US10860522B2 (en) * | 2017-05-19 | 2020-12-08 | Intel Corporation | Method and apparatus for controlling USB-C connectors on system with multiple host controllers |
JP7062500B2 (ja) | 2018-04-17 | 2022-05-06 | Dynabook株式会社 | 電子機器、接続方法及びプログラム |
JP2020035293A (ja) | 2018-08-31 | 2020-03-05 | Dynabook株式会社 | 電子機器及び制御方法 |
US11940855B2 (en) * | 2019-10-14 | 2024-03-26 | Intel Corporation | Apparatus and method for dynamic reallocation of processor power by throttling processor to allow an external device to operate |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002007307A (ja) * | 2000-06-23 | 2002-01-11 | Fuji Photo Film Co Ltd | 機器制御装置及び方法 |
JP2004157604A (ja) * | 2002-11-01 | 2004-06-03 | Matsushita Electric Ind Co Ltd | Usb機器制御方法および装置 |
US6959355B2 (en) * | 2003-02-24 | 2005-10-25 | Standard Microsystems Corporation | Universal serial bus hub with shared high speed handler |
US6854984B1 (en) * | 2003-09-11 | 2005-02-15 | Super Talent Electronics, Inc. | Slim USB connector with spring-engaging depressions, stabilizing dividers and wider end rails for flash-memory drive |
JP2009048444A (ja) * | 2007-08-21 | 2009-03-05 | Seiko Epson Corp | Usbデバイスの制御方法、コントローラ及び電子機器 |
JP5029379B2 (ja) * | 2008-01-18 | 2012-09-19 | セイコーエプソン株式会社 | ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム |
JP4561873B2 (ja) * | 2008-05-16 | 2010-10-13 | コニカミノルタビジネステクノロジーズ株式会社 | 情報処理装置 |
US20110016253A1 (en) * | 2009-07-16 | 2011-01-20 | Musa Ibrahim Kakish | Auto-function USB port |
JP5391918B2 (ja) | 2009-08-10 | 2014-01-15 | 株式会社リコー | 情報処理装置、情報処理方法、及び情報処理プログラム |
US8135883B2 (en) * | 2010-01-19 | 2012-03-13 | Standard Microsystems Corporation | USB hub apparatus supporting multiple high speed devices and a single super speed device |
JP5541021B2 (ja) * | 2010-09-09 | 2014-07-09 | 富士通株式会社 | スイッチ装置 |
-
2012
- 2012-06-25 JP JP2012142271A patent/JP6136127B2/ja not_active Expired - Fee Related
-
2013
- 2013-05-30 US US13/905,550 patent/US9098640B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9098640B2 (en) | 2015-08-04 |
JP2014006726A (ja) | 2014-01-16 |
US20130346650A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6136127B2 (ja) | コントローラ、電子機器及びusbデバイスの制御方法 | |
US9778844B2 (en) | Installation of operating system on host computer using virtual storage of BMC | |
US10592253B2 (en) | Technologies for pre-memory phase initialization of a computing device | |
US20160006620A1 (en) | Hardware management and control of computer components through physical layout diagrams | |
US8990486B2 (en) | Hardware and file system agnostic mechanism for achieving capsule support | |
WO2017020647A1 (zh) | 基于新型存储器的嵌入式文件系统及其实现方法 | |
US8271707B2 (en) | Method and system for PCI hybrid function | |
CN101650660A (zh) | 从中央存储装置引导计算机系统 | |
US7921230B2 (en) | USB devices pre-configuration for KVM switch | |
CN104679540A (zh) | 计算机系统与计算机系统启动方法 | |
JP2009193301A (ja) | 情報処理装置、情報処理装置におけるデバイス初期化方法、およびデバイス初期化プログラム | |
JP6198843B2 (ja) | ハードディスクシステム操作方法、ストレージシステム及びプロセッサ | |
US10491736B2 (en) | Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS | |
US8291436B2 (en) | Synchronization of event handlers | |
WO2020206879A1 (zh) | Pcie宽度自动适配方法、装置及电子设备和存储介质 | |
US10616944B2 (en) | Computer system and method thereof for sharing of wireless connection information between UEFI firmware and OS | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
US20100017588A1 (en) | System, method, and computer program product for providing an extended capability to a system | |
US20150178094A1 (en) | Multisystem and method of booting the same | |
JP5794266B2 (ja) | Usbホスト装置、及びusbホスト装置用のプログラム | |
TWI441026B (zh) | 電子裝置及usb設備的移除策略設定方法 | |
US20090210589A1 (en) | Dynamic Vital Product Data Update Based on an Installed Feature Card | |
CN107301037B (zh) | 操作系统内核的加载方法和装置 | |
JP2011215889A (ja) | 情報処理装置及びその起動方法 | |
US9086895B1 (en) | Controlling hardware driver selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161125 |
|
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: 20170404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170417 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6136127 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |