US20100262726A1 - Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port - Google Patents
Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port Download PDFInfo
- Publication number
- US20100262726A1 US20100262726A1 US12/657,037 US65703710A US2010262726A1 US 20100262726 A1 US20100262726 A1 US 20100262726A1 US 65703710 A US65703710 A US 65703710A US 2010262726 A1 US2010262726 A1 US 2010262726A1
- Authority
- US
- United States
- Prior art keywords
- usb
- host controller
- limited functionality
- speed
- functionality
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002093 peripheral effect Effects 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 21
- 230000009977 dual effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- 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
Definitions
- the following sequence of events occurs when a USB peripheral device 120 - 1 through 120 - n is connected to a downstream USB port 118 - 1 through 118 - n. Power is switched on at block 400 .
- the limited functionality USB host controller 105 - 1 through 105 - n is switched to control a downstream USB port.
- the limited functionality USB host controller detects whether a device has been connected by monitoring the state of the USB data bus 110 - 1 through 110 - n per the USB 2.0 Specification.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
A method and apparatus for allowing a limited functionality Universal Serial Bus (USB) host controller to manage specific USB peripheral devices on a downstream facing USB port is provided. The port is also capable of dynamically interfacing to any USB compliant peripheral device, even one not supported directly by the limited capabilities of the host controller.
Description
- This application claims the benefit of U.S. provisional patent application, Ser. No. 61/144,278, filed on Jan. 13, 2009, the disclosure of which is incorporated in its entirety by reference herein.
- (1) Technical Field
- The present invention relates generally to interfacing of peripherals to data processing systems and more particularly to serial interfacing of peripherals having different levels of functionality.
- (2) Description of the Related Art
- Computer systems are often equipped with peripherals, such as human interface devices (e.g., keyboard, mouse, etc.), data storage devices (e.g., flash memory, hard drives, optical drives, etc.), printers, scanners, communication devices, etc. Such peripherals are often connected in accordance with a standardized interface (e.g., Universal Serial Bus (USB)). Computers are typically provided with USB host controllers to support their USB interfaces. Such USB host controllers allow the computer to communicate with the peripherals, but may not provide a desired level of communication between peripherals. While it would be possible to implement a USB host controller in a peripheral and connect other peripherals to that peripheral to allow that peripheral to interact with the other peripherals and/or to access and even modify data from the other peripherals, implementing a full-functionality USB host controller in a peripheral would be complex and costly, while implementing a limited-functionality USB host controller in the peripheral would not provide support for other peripherals requiring a full-functionality USB host controller. Thus, a cost-effective solution that supports a wide range of peripherals is needed.
- At least one embodiment may be better understood, and its features made apparent to those skilled in the art by referencing the accompanying drawings.
-
FIG. 1 is a block diagram of a system according to at least one embodiment showing connection of 1 to n downstream USB ports to a limited functionality embedded USB host controller and high-speed USB hub. -
FIG. 2 is a block diagram of an initial configuration of the digital switches illustrating one of the operating modes of at least one embodiment in which the limited functionality embedded USB host controller is in control of the USB peripheral device. -
FIG. 3 is a block diagram of a secondary configuration of the digital switches of at least one embodiment illustrating a mode of operation in which the high-speed USB hub is in control of the USB peripheral device. -
FIGS. 4A & 4B is a flow control diagram outlining a process flow of the system controller in accordance with at least one embodiment during normal system operation. -
FIGS. 5A & 5B is a flow control diagram outlining a limited functionality USB host controller enumeration process in accordance with at least one embodiment. -
FIG. 6 is a flow diagram illustrating a method in accordance with at least one embodiment. - The use of the same reference symbols in different drawings indicates similar or identical items.
- A method and apparatus for providing a limited functionality embedded USB host controller (e.g., human interface device (HID) class, full/low speed) to interface to specific peripheral devices (e.g., HID keyboard/mouse) and provide interface capability otherwise unattainable in a hub-only architecture is described. Support for devices not directly supported by the limited functionality USB host controller is enabled by switching any unsupported peripherals into a fully functional high-speed hub controlled by a fully functional host personal computer (PC). The overall result is that key device specific features and interface data is accessible but the overall full functionality of the USB downstream port is not compromised. Any USB compliant device is supported, despite the limited capability of the host controller and the costs associated with a fully functional high-speed capable USB host controller (like the ones found in typical PCs) are avoided.
- At least one embodiment allows a limited functionality embedded USB host controller to manage a specific subset of USB peripheral devices on a downstream facing USB port. The USB host controller is limited in that it communicates with low-speed and full-speed USB mouse and keyboard human interface devices (HID) that comply with the USB Device Class Definition for Human Interface Devices Firmware Specification. Despite this limitation of the host controller, the downstream USB port is capable of dynamically interfacing to any USB compliant peripheral device, even one not supported directly by the limited capabilities of the host controller. The approach is scalable, and its capacity can be increased by increasing the complexity of the system controller, number of available ports on the high-speed USB hub, and/or the number of ports on the USB Power Supply Controller.
- In embedded system design, cost and complexity are very important parameters in obtaining a successful product. By allowing the direct management of a specific subset of peripheral USB devices, another peripheral can leverage the capabilities of that subset of peripheral USB devices to provide even greater capabilities. Such a peripheral can be configured to support the key features of a larger system design such as keyboard and mouse device emulation, without requiring the cost and complexity of a fully functional high-speed USB host controller. At least one embodiment allows control over specific USB peripheral devices without compromising the capability of the downstream USB port to support any compliant USB devices, even those not directly supported by the limitations of the embedded USB host controller. Under a dual operating mode approach (i.e., selective use of embedded host controller or fully functional hub), the complexity and cost associated with full USB device and peripheral support are offloaded into the host PC, where the system resources are much greater, rather than placing it in the embedded solution, where the resources are limited.
- In accordance with at least one embodiment, referring to
FIG. 1 , asystem 100 is illustrated showing the connection of one or more limited functionality embedded USB host controller(s) 105-1 through 105-n or a high-speed USB hub 101 with one or more downstream USB interface port(s) 118-1 through 118-n. On a givensystem 100 there may be more than one limited functionality USB host controller 105-1 through 105-n, dual 1:2 digital switch 111-1 through 111-n and dual differential 1:2 high speed USB switch 114-1 through 114-n for providing more than one downstream USB port 118-1 through 118-n to support multiple USB peripheral devices 120-1 through 120-n as illustrated inFIG. 1 (two are illustrated as an example). The number of downstream USB ports can be increased by increasing the number of communication channels 106-1 through 106-n of the high-speed USB hub 101 and the complexity of the system control and switch configuration. - Connections are made through a set of dual digital switches 111-1 through 111-n and 114-1 through 114-n which are individually controlled by a single
master system controller 103 using digitallogic output signals 108. Thesystem controller 103 interfaces to each of the limited functionality USB host controllers 105-1 through 105-n through acommon bus interface 107 and monitors the port status indicators 102-1 through 102-n of the high-speed USB hub 101. - The high-
speed USB hub 101 may be a single device or may comprise a cascade of several high-speed USB hubs. The USB hub is capable of supporting USB high-speed data communication signals 106-1 through 106-n as defined in the USB 2.0 Specification, provide the ability to control a USBpower supply controller 113 with a port power enable output signal, accept an over-current input signal (grouped together logically as a power control bus 104-1 through 104-n) and generate a port status indicator signal 102-1 through 102-n indicating when a USB peripheral device is enabled by the host PC as described in the USB 2.0 Specification (e.g., Section 11.5.3). The port status indicator is an optional feature in the USB 2.0 Specification, and may be provided by the high-speed hub 101 or some external support circuitry. The high-speed data communication signals 106-1 through 106-n are provided with pull-down resistors as specified in the USB 2.0 Specification. The pull-down resistors may be internal to the high-speed USB hub 101 or added externally to thesystem 100. When the dual (e.g., differential) 1:2 high-speed USB switch 114-1 through 114-n disconnects the high-speed USB data communication path 106-1 through 106-n away from the downstreamdata communications bus 116 it is essential that the pull-down resistors force the unconnected high-speed USB data bus 106-1 through 106-n into a disconnect state, as defined in the USB 2.0 Specification, so that the high-speed USB hub 101 will register a disconnect event to the host PC. - At least one embodiment provides for the use of a limited functionality USB host controller 105-1 through 105-n to manage a subset of USB peripheral devices without compromising the ability of the
system 100 to connect a host PC to any compliant USB peripheral device, not just the ones supported by the limited functionality of the host controller. The limited functionality USB host controller 105-1 through 105-n supports low-speed and full-speed USB keyboard and mouse devices that comply with the USB Device Class Definition HID Specification. The limited USB host controller 105-1 through 105-n provides the ability to control a USBpower supply controller 113 with a port power enable output signal, to accept an overcurrent input signal (grouped together logically as a power control bus 109-1 through 109-n), and to communicate with the system controller over a communication bus 107 (common to all limited functionality USB host controllers if more that one is in the system). Thecommunication bus 107 may be, for example, SPI or I2C. USB port control information is sent between thesystem controller 103 and the limited functionality USB host controller 105-1 through 105-n across this bus along with a port status indicator report. The port status indicator report contains information relating to the connection state of the USB peripheral device 120-1 through 120-n attached to the downstream USB port 118-1 through 118-n. Therefore, the limited functionality USB host controller 105-1 through 105-n is capable of detecting USB peripheral device connection and disconnection events on the data communication signals 110-1 through 110-n as defined in the USB 2.0 Specification. - Referring to
FIG. 1 , the dual 1:2 digital switch 111-1 through 111-n switches power control bus signals between the high-speed USB hub power control bus 104-1 through 104-n or the limited functionality USB host controller power control bus 109-1 through 109-n and the USB +5V power supply controller power control bus 112-1 through 112-n. The switch is controlled from aswitch control signal 108 generated by thesystem controller 103. An important consideration of the digital switch 111-1 through 111-n on the design of the system is that the over-current indicator signals in the 104-1 through 104-n and 109-1 through 109-n power control buses are properly terminated such that they do not generate false over-current events on either the high-speed USB hub 101 or limited functionality USB host controller 105-1 through 105-n when not being actively driven by the USB +5Vpower supply controller 113. - The switch can consist of either two 1:2 active digital switches or a single dual active switch because there are two signals in the power control bus that are to be switched, a power enable signal and an over-current indicator signal. The switch uses a break-before-make architecture to prevent inadvertent coupling of the power control buses. The term active switch used herein is intended to generically represent an electronically controlled switch. The physical implementation of the switch may be with a relay, an active FET device or any other electronically controlled digital switch mechanism known in the art.
- In
FIG. 1 , the USB +5Vpower supply controller 113 accepts the power control bus signals 112-1 through 112-n consisting of an input power enable signal and an over-current event indicator output signal. The power enable signal is generated by the currently active USB controller which is either the high-speed USB hub 101 or the limited functionality USB host controller 105-1 through 105-n depending upon the state of the power control bus switch 111-1 through 111-n. The USB +5V power supply controller is able to enable or disable the VBUS output 115-1 through 115-n in response to the power supply enable signal and generate an over-current signal in response to an over-current event occurring on the downstream connection VBUS power 115-1 through 115-n, as defined in the USB 2.0 Specification. - Referring to
FIG. 1 , the dual (e.g., differential) 1:2 high-speed USB switch 114-1 through 114-n switches differential USB data communication to the downstream USB port data bus 116-1 through 116-n between the high-speed USB hub data bus 106-1 through 106-n (from high speed USB hub 101) or the full/low-speed USB data bus 110-1 through 110-n from the (limited functionality USB host controller). Aswitch control signal 108 is generated by thesystem controller 103 and determines which configuration path to activate. The data switch 114-1 through 114-n consists of a dual (e.g., differential) active digital switch that is rated to support high-speed USB data communication channels. By this, the on-resistance, required bandwidth and signal voltage levels comply with the electrical requirements of the USB 2.0 Specification. The data switch 114-1 through 114-n presents a high-impedance to the unconnected side when switched to ensure that the upstream port associated with the data bus can detect a disconnect USB event per the USB 2.0 Specification. The digital switch 114-1 through 114-n should implement a break-before-make connection when switching so that communication on the high-speed hub data bus 106-1 through 106-n does not couple into the limited functionality USB host controller data bus 110-1 through 110-n. - The downstream USB port 118-1 through 118-n consists of a 4-pin USB Type-A female connector as defined in the USB 2.0 Specification. Each downstream USB connection 118-1 through 118-n is comprised of three groups of signals; a +5V power output 115-1 through 115-n, designated as VBUS in the USB 2.0 Specification, a differential pair of data communication signals 116-1 through 116-n, designated as D+ and D− in the USB 2.0 Specification, and a reference ground signal 117-1 through 117-n, designated as GND in the USB 2.0 Specification. The USB GND signal is not switched, but is coupled to the electrical ground plane of the
overall system 100 to provide a common reference between all interfaces. A standard 4-wire USB cable 119-1 through 119-n is used to connect typically one (but may be more than one—two are shown inFIG. 1 ) USB peripheral devices 120-1 through 120-n to thesystem 100. - The initial configuration of switches 111-1 through 111-n and 114-1 through 114-n in the
system 100 is illustrated inFIG. 2 . Initially, the limited functionality USB host controller 105-1 through 105-n is connected to the downstream USB connection port 118-1 through 118-n. This configuration allows the limited functionality host controller to be in direct control of any USB peripheral devices 120-1 through 120-n connected to the downstream USB port 118-1 through 118-n. The configuration inFIG. 2 is also the default configuration mode when no USB peripheral devices are connected to a downstream USB port 118-1 through 118-n. -
FIG. 3 shows the configuration of switches 111-1 through 111-n and 114-1 through 114-n in thesystem 100 when the high-speed USB hub is in control of the downstream USB port 118-1 through 118-n. In this configuration, the high-speed USB hub is in direct control of any USB peripheral devices 120-1 through 120-n connected to the downstream USB port 118-1 through 118-n. - In both switch configuration cases, the
system controller 103 monitors the status of the USB peripheral connection through either the high-speed USB hub port indicator signals 102-1 through 102-n or thecommon communication bus 107 to the limited functionality USB host controller. Thesystem controller 103 is capable of changing the switch status from one configuration to another and does so based on the method illustrated inFIGS. 4A and 4B and described below, in accordance with at least one embodiment. - The following sequence of events occurs when a USB peripheral device 120-1 through 120-n is connected to a downstream USB port 118-1 through 118-n. Power is switched on at
block 400. Atblock 401, The limited functionality USB host controller 105-1 through 105-n is switched to control a downstream USB port. Atblock 401, the limited functionality USB host controller detects whether a device has been connected by monitoring the state of the USB data bus 110-1 through 110-n per the USB 2.0 Specification. - Once a peripheral device is detected, the device is configured by the limited functionality USB host controller 105-1 through 105-n through a process defined in the USB 2.0 Specification (e.g., Section 9.1.2) called bus enumeration at
block 404. A USB enumeration process in accordance with at least one embodiment is described inFIGS. 5A and 5B . The enumeration process starts atblock 500. The first step of enumeration is to wait after device detection for a minimum of 100 ms to allow completion of the insertion process and for power on the USB peripheral device 120-1 through 120-n to stabilize atblock 501. Next, the limited functionality USB host controller enables the port by issuing a USB bus reset command to the USB peripheral device 120-1 through 120-n atblock 502. A USB reset bus command is issued by driving a single-ended zero (SE0) on both of the USB data signals (D+& D−). The specific voltage levels and timing associated with a USB bus reset are defined in the USB 2.0 Specification (e.g., Section 7.1.7.5). - Upon completion of the USB device reset at
block 504 the limited functionality USB host controller 105-1 through 105-n issues a device descriptor request atblock 505 to obtain the maximum packet size supported by the USB device which is then used to process the remaining descriptor requests. Once the maximum packet size is determined, the limited functionality USB host controller issues another USB bus reset atblock 502 to start the bus enumeration process over. Upon determination that the second USB bus reset is complete atblock 504, the limited functionality USB host controller 105-1 through 105-n issues a Set Address USB command atblock 507 to set the device address on the USB bus. From this point on, the device will respond to the new assigned address value. - Following address assignment at
block 507, the limited functionality USB host controller 105-1 through 105-n will issue a Get Device Descriptor USB request and receive the full device descriptor table atblock 508. After receiving the full device descriptor atblock 508, the limited functionality USB host controller 105-1 through 105-n will issue a Get Configuration Descriptor USB request atblock 509. The initial Get Configuration Descriptor request is used to determine the size of the full configuration descriptor for a second Get Configuration Descriptor request for the full report descriptor that is issued atblock 510. The full configuration descriptor report contains information about the number and configuration of USB interfaces and endpoints, as defined in the USB 2.0 Specification. From this information, the limited functionality USB host controller can determine whether the attached device is a HID compliant keyboard or mouse. The limited functionality USB host controller 105-1 through 105-n reports this information atblock 511, via thecommon communication bus 107 to thesystem controller 103 to make a decision as to whether the connected device is a HID compliant mouse or keyboard atblock 405. If the enumerated USB peripheral device 120-1 through 120-n is a HID compliant USB mouse or keyboard (supported by the limited functionality USB host controller 105-1 through 105-n) then the system controller does nothing which leaves the limited functionality USB host controller 105-1 through 105-n in control of and processing requests from the USB peripheral device 120-1 through 120-n atblock 406. When operating in this configuration, as shown inFIG. 2 , thesystem controller 103 is inserted into the data communication path of the USB peripheral device 120-1 through 120-n. Having thesystem controller 103 in the power control bus path 112-1 through 112-n and data communication path 116-1 through 116-n of the HID compliant mouse and keyboard devices enables a level of interface control that would not be possible in a high-speed hub 101 only architecture. The specific system control capabilities may include capturing USB data packets to update USB peripheral emulation devices elsewhere in thesystem 100 or parsing USB data packets for keystroke information. - If, in the other case, the USB peripheral device 120-1 through 120-n is determined not to be a HID compliant mouse or keyboard after bus enumeration at
block 405, then thesystem controller 103 issues a switch command across theswitch control bus 108 atblock 407 which switches control of the USB peripheral device from the limited functionality USB host controller 105-1 through 105-n to the fully-functional high-speed USB hub 101 resulting in the system being configured as indicated inFIG. 3 . Once switched, both power control 112-1 through 112-n and data communication 116-1 through 116-n are under the control of the USB high-speed USB hub 101. - The physical process of switching, based on the requirements of the switches as outlined above, does two important things. First, the connection between the limited functionality USB host controller 105-1 through 105-n and the USB peripheral device 120-1 through 120-n is broken. Breaking this connection will cause the limited functionality USB host controller 105-1 through 105-n to register a USB device disconnect event, per the USB 2.0 Specification and revert to an unconnected state preparing it for accepting a new device in the future. Consequently a connection is now made between the high-
speed USB hub 101 data communication bus 106-1 through 106-n and the USB peripheral device 120-1 through 120-n data communication bus 116-1 through 116-n forcing a device detect event to occur on the high-speed USB hub 101 downstream facing port. The second important occurrence after switching is that the power control bus 112-1 through 112-n is momentarily disconnected from the USB +5V power supply controller. The power enable signal in the power control bus 112-1 through 112-n is biased in such a manner that the VBUS power signal 115-1 through 115-n associated with the USB peripheral device 120-1 through 120-n is turned off forcing a power-cycle event on the-USB peripheral device 120-1 through 120-n resetting the internal logic and preparing it for connection with the high-speedUSB hub port 101. - Once a device detect event, as defined by the USB 2.0 Specification occurs on the high-
speed USB hub 101, an independent USB bus enumeration cycle will be initiated by the host PC as supported by the device driver assigned to the USB peripheral device 120-1 through 120-n. Support for a given USB peripheral device 120-1 through 120-n is provided in accordance with the driver support capabilities of the host PC attached to the hub. For example, a USB flash drive could be connected to a Windows PC operating system and utilize the software driver supplied by the flash drive manufacturer. - After switching the USB peripheral device 120-1 through 120-n from the limited functionality USB host controller 105-1 through 105-n to the high-
speed USB hub 101, thesystem controller 103 begins monitoring the port status indicator signals 102-1 through 102-n generated by the high-speed USB hub 101 atblock 412. The system controller can determine, from the port status indicator signals 102-1 through 102-n, when the host PC enables the USB peripheral device 120-1 through 120-n (through the high-speed USB hub 101) allowing the system controller to monitor the connection state of the USB peripheral device 120-1 through 120-n to the high-speed USB hub 101. If it is determined atblock 414 that the port status indicator signal 102-1 through 102-n is not asserted within a timeout period (indicating the USB peripheral device 120-1 through 120-n was not properly enabled by the host PC) then the system controller can issue a switch command across theswitch control bus 108 atblock 401 reverting control of the peripheral back to the limited functionality USB host controller 105-1 through 105-n or forcing a second connection attempt with the high-speed USB hub 101. This can occur if the USB peripheral device 120-1 through 120-n is physically removed from the downstream USB port 118-1 through 118-n during the interval of time the physical switching occurs for switches 111-1 through 111-n and 114-1 through 114-n. If it is determined that the port status indicator indicates the USB peripheral device 120-1 through 120-n is enabled by the host PC atblock 412 then operation continues atblock 413 in the configuration illustrated inFIG. 3 with the high-speed USB hub 101 in control of the peripheral (with the hub being a proxy for the host PC as defined in the USB 2.0 Specification). - The following sequence of events occurs when an operational USB peripheral device 120-1 through 120-n is disconnected from a downstream USB port 118-1 through 118-n.
- When digital switches 111-1 through 111-n and 114-1 through 114-n in the
system 100 are configured as shown inFIG. 2 , that is, the limited functionality USB host controller 105-1 through 105-n is in control of a connected HID compliant USB mouse or keyboard atblock 406 then physically removing the USB peripheral device 120-1 through 120-n from the downstream USB port 118-1 through 118-n will generate a device disconnect event to the limited functionality USB host controller 105-1 through 105-n atblock 408 per the USB 2.0 Specification. The initial state of the system is that illustrated inFIG. 2 so when a device disconnect is registered, the limited functionality USB host controller 105-1 through 105-n is internally reset to prepare for the next detection of a device connect event atblock 403 without the need for additional actions. - When the digital switches 111-1 through 111-n and 114-1 through 114-n in the
system 100 are configured as illustrated inFIG. 3 , that is, the high-speed USB hub 101 is incontrol 413 of the USB peripheral device 120-1 through 120-n then physically removing the USB peripheral device 120-1 through 120-n from the downstream USB port 118-1 through 118-n will generate a disconnect event to the high-speed USB hub 101, as described in the USB 2.0 Specification. Upon registering the USB disconnect event the high-speed USB hub 101 will inform the host PC that a port status change occurred and that the USB peripheral device 120-1 through 120-n was disconnected. The host PC will, among other things, issue a port disable command changing the state of the port status indicator signal 102-1 through 102-n. Thesystem controller 103 previously monitoring this port status indicator signal atblock 416 will cause the configuration of the digital switches 111-1 through 111-n and 114-1 through 114-n to revert back to the initial state atblock 401 as shown inFIG. 2 where the limited functionality USB host controller 105-1 through 105-n is managing the downstream USB port 118-1 through 118-n. In this manner the system is returned to default operation and is ready for detection of the next USB peripheral device insertion atblock 403. -
FIG. 6 is a flow diagram illustrating a method in accordance with at least one embodiment. The method comprisessteps step 603, USB device enumeration is performed at a limited functionality USB host controller. Fromstep 603, the method continues to step 604. Instep 604, a determination is made as to whether or not a limited functionality USB host controller provides adequate functionality for USB device hosting. Adequate functionality is functionality sufficient to host a USB device coupled to the limited functionality USB host controller. For example, if a human interface device (HID) compliant device, such as a keyboard or mouse, is coupled to the limited functionality USB host controller, and the limited functionality USB host controller is able to host such a HID compliant device, then the limited functionality USB host controller provides adequate functionality. - If such adequate functionality is provided, the method continues at
step 605. Instep 605, USB device hosting is provided by the limited functionality USB host controller. If, however, such adequate functionality is not provided, the method continues fromstep 604 to step 608. Instep 608, a USB data path is switched to deselect the limited functionality USB host controller and to enable a pass-through connection for the USB data path. Step 608 may optionally includestep 609. Instep 609, the pass-through connection is enabled via a high-speed USB hub. - From
step 605, the method may optionally continue to step 606. Instep 606, USB device power is supplied from the limited functionality USB host controller. Step 606 may optionally comprisestep 607. Instep 607, USB device power is supplied via a USB power supply controller. - From
step 608, the method may optionally continue to step 610. Instep 610, USB device power is supplied from the high-speed USB hub. Step 610 may optionally comprisestep 611. Instep 611, USB device power is supplied via a USB power supply controller. - In accordance with at least one embodiment, steps 607 and 611 may be facilitated by
step 612. Instep 612, a digital switch is switched. Step 612 may optionally comprisestep 613. Instep 613, switching a digital switch comprises switching the USB data path at a high-speed USB switch. - In accordance with at least one embodiment, step 601 may be used to control performance of the method. In
step 601, a system controller controls the high-speed USB hub, the limited functionality USB host controller, the digital switch, the USB power supply controller, and the high-speed USB switch. In accordance with at least one embodiment, the method may also comprisestep 602. Instep 602, the system controller controls a second limited functionality USB host controller, a second digital switch, and a second high-speed USB switch to operate with respect to a second USB data path.Steps - In accordance with at least one embodiment, a method is provided comprising the steps of selecting a limited functionality universal serial bus (USB) host controller to control a downstream USB port; detecting a device connected via the downstream USB port using the limited functionality USB host controller; enumerating a peripheral USB device using the limited functionality USB host controller; and determining if the USB device is supportable by the limited functionality USB host controller. The method further comprises, when the USB device is supportable by the limited functionality USB host controller, switching a circuit to utilize the limited functionality USB host controller to host the USB device. The method further comprises, when the USB device is not supportable by the limited functionality USB host controller, switching a high-speed USB hub to deselect the limited functionality USB host controller.
- In accordance with at least one embodiment, the method further comprises, when the USB device is not supportable by the limited functionality USB host controller, utilizing a fully-functional high-speed USB host controller to host the USB device through the high-speed USB hub. The method further comprises, when the USB device is not supportable by the limited functionality USB host controller, determining if a port status indicator of the high-speed USB hub indicates the USB device is enabled. In accordance with at least one embodiment, determining if the USB device is supportable by the limited functionality USB host controller further comprises determining if the USB device is a human interface device (HID) compliant USB device. In accordance with at least one embodiment, determining if the USB device is a HID compliant USB device comprises determining if the USB device is a HID compliant USB device selected from a group consisting of a mouse and a keyboard.
- In accordance with at least one embodiment, the enumerating the peripheral USB device comprises issuing a USB bus reset request; waiting for USB bus reset completion; issuing a device descriptor request and capturing a maximum packet size; setting a device address; issuing a device descriptor request and capturing a full descriptor; issuing a get configuration descriptor request to get a size; issuing a get full configuration descriptor request; and outputting a HID compliance indication.
- In accordance with at least one embodiment, apparatus comprises a high-speed universal serial bus (USB) switch; a limited functionality USB host controller coupled to a first port of the high-speed USB switch; and a high-speed USB hub coupled to a second port of the high-speed USB switch, wherein the high-speed USB switch switches to direct less demanding USB traffic to the limited functionality USB host controller and switches to direct more demanding USB traffic to the high-speed USB hub. In accordance with at least one embodiment, the apparatus further comprises a system controller coupled to the limited functionality USB host controller and the high-speed USB switch, wherein, when the system controller receives an indication from the limited functionality USB host controller that the limited functionality USB host controller cannot accommodate the more demanding USB traffic, the system controller controls the high-speed USB switch to direct the more demanding USB traffic to the high-speed USB hub.
- In accordance with at least one embodiment, a USB power supply controller for controlling USB power and a digital switch for switching power supplied to the USB power supply controller are provided, wherein the digital switch selectably receives power from the limited-functionality USB host controller and the high-speed USB hub. In accordance with at least one embodiment, the digital switch provides the power to the USB power supply controller from the limited-functionality USB host controller when the high-speed USB switch has switched to direct less demanding USB traffic to the limited functionality USB host controller and wherein the digital switch provides the power to the USB power supply controller from the high-speed USB hub when the high-speed USB switch has switched to direct more demanding USB traffic to the high-speed USB hub. In accordance with at least one embodiment, the system controller controls the digital switch in response to the indication.
- In accordance with at least one embodiment, a method is provided comprising the steps of performing universal serial bus (USB) device enumeration at a limited functionality USB host controller; determining if the limited functionality USB host controller provides adequate functionality for USB device hosting; when the limited functionality USB host controller provides adequate functionality for USB device hosting, providing USB device hosting; and, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, switching a USB data path to deselect the limited functionality USB host controller and to enable a pass-through connection for the USB data path. In accordance with at least one embodiment, switching the USB data path further comprises enabling the pass-through connection via a high-speed USB hub.
- In accordance with at least one embodiment, the method further comprises, when the limited functionality USB host controller provides adequate functionality for USB device hosting, supplying USB device power from the limited functionality USB host controller; and, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, supplying USB device power from the high-speed USB hub. In accordance with at least one embodiment, when the limited functionality USB host controller provides adequate functionality for USB device hosting, the step of supplying the USB device power from the limited functionality USB host controller further comprises supplying the USB device power from the limited functionality USB host controller via a USB power supply controller, wherein the USB power supply controller enables the USB device power in response to a limited functionally USB host controller input power enable signal from the limited functionality USB host controller and provides a limited functionality USB host controller over-current event indicator output signal to the limited functionality USB host controller.
- In accordance with at least one embodiment, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, the step of switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path further comprises supplying the USB device power from the limited functionality USB host controller via a USB power supply controller, wherein the USB power supply controller enables the USB device power in response to a high-speed USB hub input power enable signal from the high-speed USB hub and provides a high-speed USB hub over-current event indicator output signal to the high-speed USB hub.
- In accordance with at least one embodiment, when the limited functionality USB host controller provides adequate functionality for USB device hosting, the step of supplying the USB device power from the limited functionality USB host controller and, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, the step of switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path are each facilitated by switching a digital switch.
- In accordance with at least one embodiment, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, the step of switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path further comprises switching the USB data path at a high-speed USB switch. In accordance with at least one embodiment, the method further comprises controlling the high-speed USB hub, the limited functionality USB host controller, the digital switch, the USB power supply controller, and the high-speed USB switch using a system controller. In accordance with at least one embodiment, the method further comprises controlling a second limited functionality USB host controller, a second digital switch, and a second high-speed USB switch using the system controller, wherein the second limited functionality USB host controller, the second digital switch, and the second high-speed USB switch operate with respect to a second USB data path.
Claims (20)
1. A method of controlling a USB port comprising:
selecting a limited functionality universal serial bus (USB) host controller to control a downstream USB port;
detecting a USB device connected via the downstream USB port using the limited functionality USB host controller;
enumerating the USB device using the limited functionality USB host controller;
determining if the USB device is supportable by the limited functionality USB host controller;
if the USB device is supportable by the limited functionality USB host controller, switching a circuit to utilize the limited functionality USB host controller to host the USB device;
if the USB device is not supportable by the limited functionality USB host controller, switching a high-speed USB hub to deselect the limited functionality USB host controller.
2. The method of claim 1 further comprising:
if the USB device is not supportable by the limited functionality USB host controller, utilizing a fully-functional high-speed USB host controller to host the USB device through the high-speed USB hub.
3. The method of claim 2 further comprising:
if the USB device is not supportable by the limited functionality USB host controller, determining if a port status indicator of the high-speed USB hub indicates the USB device is enabled.
4. The method of claim 1 wherein determining if the USB device is supportable by the limited functionality USB host controller further comprises:
determining if the USB device is a human interface device (HID) compliant USB device.
5. The method of claim 4 wherein determining if the USB device is a HID compliant USB device comprises:
determining if the USB device is a HID compliant USB device selected from a group consisting of a mouse and a keyboard.
6. The method of claim 1 wherein the enumerating the peripheral USB device comprises:
issuing a USB bus reset request;
waiting for USB bus reset completion;
issuing a device descriptor request and capturing a maximum packet size;
setting a device address;
issuing a device descriptor request and capturing a full descriptor;
issuing a get configuration descriptor request to get a size;
issuing a get full configuration descriptor request; and
outputting a HID compliance indication.
7. Apparatus comprising:
a high-speed universal serial bus (USB) switch;
a limited functionality USB host controller coupled to a first port of the high-speed USB switch; and
a high-speed USB hub coupled to a second port of the high-speed USB switch, wherein the high-speed USB switch switches to direct less demanding USB traffic to the limited functionality USB host controller and switches to direct more demanding USB traffic to the high-speed USB hub.
8. The apparatus of claim 7 further comprising:
a system controller coupled to the limited functionality USB host controller and the high-speed USB switch, wherein, when the system controller receives an indication from the limited functionality USB host controller that the limited functionality USB host controller cannot accommodate the more demanding USB traffic, the system controller controls the high-speed USB switch to direct the more demanding USB traffic to the high-speed USB hub.
9. The apparatus of claim 8 further comprising:
a USB power supply controller for controlling USB power; and
a digital switch for switching power supplied to the USB power supply controller, wherein the digital switch selectably receives power from the limited-functionality USB host controller and the high-speed USB hub.
10. The apparatus of claim 9 wherein the digital switch provides the power to the USB power supply controller from the limited-functionality USB host controller when the high-speed USB switch has switched to direct less demanding USB traffic to the limited functionality USB host controller and wherein the digital switch provides the power to the USB power supply controller from the high-speed USB hub when the high-speed USB switch has switched to direct more demanding USB traffic to the high-speed USB hub.
11. The apparatus of claim 10 wherein the system controller controls the digital switch in response to the indication.
12. A method for controlling a USB port comprising:
performing universal serial bus (USB) device enumeration at a limited functionality USB host controller;
determining if the limited functionality USB host controller provides adequate functionality for USB device hosting;
when the limited functionality USB host controller provides adequate functionality for USB device hosting, providing USB device hosting;
when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, switching a USB data path to deselect the limited functionality USB host controller and to enable a pass-through connection for the USB data path.
13. The method of claim 12 wherein switching the USB data path further comprises:
enabling the pass-through connection via a high-speed USB hub.
14. The method of claim 13 further comprising:
when the limited functionality USB host controller provides adequate functionality for USB device hosting, supplying USB device power from the limited functionality USB host controller; and
when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, supplying USB device power from the high-speed USB hub.
15. The method of claim 14 wherein the, when the limited functionality USB host controller provides adequate functionality for USB device hosting, supplying the USB device power from the limited functionality USB host controller further comprises:
supplying the USB device power from the limited functionality USB host controller via a USB power supply controller, wherein the USB power supply controller enables the USB device power in response to a limited functionally USB host controller input power enable signal from the limited functionality USB host controller and provides a limited functionality USB host controller over-current event indicator output signal to the limited functionality USB host controller.
16. The method of claim 15 wherein the, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path further comprises:
supplying the USB device power from the high-speed USB hub via a USB power supply controller, wherein the USB power supply controller enables the USB device power in response to a high-speed USB hub input power enable signal from the high-speed USB hub and provides a high-speed USB hub over-current event indicator output signal to the high-speed USB hub.
17. The method of claim 16 wherein the, when the limited functionality USB host controller provides adequate functionality for USB device hosting, supplying the USB device power from the limited functionality USB host controller and the, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path are facilitated by switching a digital switch.
18. The method of claim 17 wherein the, when the limited functionality USB host controller does not provide adequate functionality for USB device hosting, switching the USB data path to deselect the limited functionality USB host controller and to enable the pass-through connection for the USB data path further comprises:
switching the USB data path at a high-speed USB switch.
19. The method of claim 18 further comprising:
controlling the high-speed USB hub, the limited functionality USB host controller, the digital switch, the USB power supply controller, and the high-speed USB switch using a system controller.
20. The method of claim 19 further comprising:
controlling a second limited functionality USB host controller, a second digital switch, and a second high-speed USB switch using the system controller, wherein the second limited functionality USB host controller, the second digital switch, and the second high-speed USB switch operate with respect to a second USB data path.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/657,037 US20100262726A1 (en) | 2009-01-13 | 2010-01-12 | Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port |
US13/495,850 US8447893B2 (en) | 2009-01-13 | 2012-06-13 | USB peripheral device comprising limited function USB host controller |
US13/897,959 US8832329B2 (en) | 2009-01-13 | 2013-05-20 | USB peripheral device comprising limited function USB host controller |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14427809P | 2009-01-13 | 2009-01-13 | |
US12/657,037 US20100262726A1 (en) | 2009-01-13 | 2010-01-12 | Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/657,110 Continuation-In-Part US8205018B2 (en) | 2009-01-13 | 2010-01-13 | Method and apparatus for implementing a limited functionality embedded universal serial bus (USB) host controller on a fully functional downstream USB port |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100262726A1 true US20100262726A1 (en) | 2010-10-14 |
Family
ID=42731661
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/657,037 Abandoned US20100262726A1 (en) | 2009-01-13 | 2010-01-12 | Method and apparatus for implementing a limited functionality embedded universal serial (USB) host controller on a fully functional downstream USB port |
US12/657,110 Active US8205018B2 (en) | 2009-01-13 | 2010-01-13 | Method and apparatus for implementing a limited functionality embedded universal serial bus (USB) host controller on a fully functional downstream USB port |
US13/495,850 Active US8447893B2 (en) | 2009-01-13 | 2012-06-13 | USB peripheral device comprising limited function USB host controller |
US13/897,959 Active US8832329B2 (en) | 2009-01-13 | 2013-05-20 | USB peripheral device comprising limited function USB host controller |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/657,110 Active US8205018B2 (en) | 2009-01-13 | 2010-01-13 | Method and apparatus for implementing a limited functionality embedded universal serial bus (USB) host controller on a fully functional downstream USB port |
US13/495,850 Active US8447893B2 (en) | 2009-01-13 | 2012-06-13 | USB peripheral device comprising limited function USB host controller |
US13/897,959 Active US8832329B2 (en) | 2009-01-13 | 2013-05-20 | USB peripheral device comprising limited function USB host controller |
Country Status (1)
Country | Link |
---|---|
US (4) | US20100262726A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332691A1 (en) * | 2009-06-24 | 2010-12-30 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
US20110016253A1 (en) * | 2009-07-16 | 2011-01-20 | Musa Ibrahim Kakish | Auto-function USB port |
US20120042099A1 (en) * | 2010-08-12 | 2012-02-16 | Emcon Emanation Control Ltd. | Secure external computer hub |
US20120066422A1 (en) * | 2010-09-15 | 2012-03-15 | Standard Microsystems Corporation | Method and system for transferring high-speed data within a portable device |
US20120079158A1 (en) * | 2010-09-29 | 2012-03-29 | Asustek Computer Inc. | Signal switch connector set applied to motherboard of computer system |
US20120239842A1 (en) * | 2011-03-14 | 2012-09-20 | Lenovo (Singapore) Pte. Ltd. | High performance extension device |
US20130346660A1 (en) * | 2012-06-25 | 2013-12-26 | Piotr Kwidzinski | Usb device control using endpoint type detection during enumeration |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5917069B2 (en) * | 2010-10-20 | 2016-05-11 | キヤノン株式会社 | COMMUNICATION CONTROL DEVICE AND ITS CONTROL METHOD |
US9811667B2 (en) * | 2011-09-21 | 2017-11-07 | Mcafee, Inc. | System and method for grouping computer vulnerabilities |
JP5901241B2 (en) * | 2011-11-18 | 2016-04-06 | キヤノン株式会社 | USB hub device and system using the same |
TWI497306B (en) | 2012-11-29 | 2015-08-21 | Faraday Tech Corp | Usb super speed hub and associated traffic managing method |
CN103092799B (en) * | 2012-12-28 | 2015-07-22 | 飞天诚信科技股份有限公司 | Universal serial bus (USB) device and method for recognition of host operating system |
CN103106167B (en) | 2013-01-22 | 2015-12-02 | 矽力杰半导体技术(杭州)有限公司 | A kind of USB device and control method thereof |
US9684805B2 (en) * | 2013-08-20 | 2017-06-20 | Janus Technologies, Inc. | Method and apparatus for securing computer interfaces |
US10515040B2 (en) * | 2013-09-11 | 2019-12-24 | Lenovo (Singapore) Pte. Ltd. | Data bus host and controller switch |
US9460037B2 (en) * | 2013-09-26 | 2016-10-04 | Delphi Technologies, Inc. | Flexible mobile device connectivity to automotive systems with USB hubs |
CN106164813A (en) * | 2014-05-06 | 2016-11-23 | 密克罗奇普技术公司 | USB supply port controls |
US20150134983A1 (en) * | 2014-08-19 | 2015-05-14 | Leef Technology LTD | Providing power to a mobile device using a flash drive |
US9911011B1 (en) * | 2014-11-19 | 2018-03-06 | Western Digital Technologies, Inc. | Communications device that logically connects an upstream signal line to a downstream signal line |
EP3043442B1 (en) * | 2015-01-12 | 2024-12-04 | SIMPower Technology Inc. | Hub having complex power converters |
US9804977B2 (en) | 2015-04-28 | 2017-10-31 | Microchip Technology Incorporated | Universal serial bus smart hub |
US10452597B2 (en) * | 2015-10-12 | 2019-10-22 | Corsair Memory, Inc. | Unified communication of computer peripherals |
CN107210615B (en) * | 2016-01-05 | 2019-09-13 | Oppo广东移动通信有限公司 | Fast charging method, mobile terminal and adapter |
EP3208684A1 (en) * | 2016-02-16 | 2017-08-23 | Teleplan Technology B.V. | Mobile device testing apparatus and method |
US10055378B2 (en) | 2016-04-28 | 2018-08-21 | Hewlett Packard Enterprise Development Lp | Coupling connector to management port or system port |
TWI767997B (en) | 2017-03-23 | 2022-06-21 | 日商索尼半導體解決方案公司 | Communication device, communication method, program, and communication system |
WO2019017952A1 (en) * | 2017-07-20 | 2019-01-24 | Hewlett-Packard Development Company, L.P. | Input/output port configurations using multiplexers |
JP7080787B2 (en) * | 2018-10-04 | 2022-06-06 | キヤノン株式会社 | Information processing equipment, its control method and program |
CN110781111B (en) * | 2019-10-23 | 2020-12-01 | 北京计算机技术及应用研究所 | But real-time supervision's dual-redundancy USB port extension device |
KR102744882B1 (en) * | 2020-04-20 | 2024-12-20 | 삼성전자주식회사 | An electronic device including connector and a method detecting disconnection |
US20210390070A1 (en) * | 2020-06-16 | 2021-12-16 | Hewlett Packard Enterprise Development Lp | Universal industrial i/o interface bridge |
TWI813953B (en) * | 2021-02-26 | 2023-09-01 | 創惟科技股份有限公司 | Multi-host system and host equipment and operation method for sharing human-machine interface device |
US20220360489A1 (en) * | 2021-05-10 | 2022-11-10 | ZPE Systems, Inc. | Network bypass framework |
TWI818356B (en) * | 2021-11-16 | 2023-10-11 | 華碩電腦股份有限公司 | Electronic device and connecting device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735663B2 (en) * | 2000-12-18 | 2004-05-11 | Dell Products L.P. | Combination personal data assistant and personal computing device |
US6993618B2 (en) * | 2004-01-15 | 2006-01-31 | Super Talent Electronics, Inc. | Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host |
US20060288150A1 (en) * | 2005-06-16 | 2006-12-21 | Samsung Electronics Co., Ltd. | Device and method for performing multi-function using unique port in wireless terminal |
US7247781B2 (en) * | 2002-12-27 | 2007-07-24 | Yamaha Corporation | Interactive music application apparatus and electronic musical instrument and programs therefor |
US20080263243A1 (en) * | 2007-04-18 | 2008-10-23 | Cypress Semiconductor Corp. | Specialized universal serial bus controller |
US20100217892A1 (en) * | 2009-02-23 | 2010-08-26 | Emn8, Inc. | Kiosk device management in quick service restaurant environments |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135874B2 (en) * | 2008-04-02 | 2012-03-13 | June-On Technology Co., Ltd. | Automatic mapping and updating computer switching device |
-
2010
- 2010-01-12 US US12/657,037 patent/US20100262726A1/en not_active Abandoned
- 2010-01-13 US US12/657,110 patent/US8205018B2/en active Active
-
2012
- 2012-06-13 US US13/495,850 patent/US8447893B2/en active Active
-
2013
- 2013-05-20 US US13/897,959 patent/US8832329B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735663B2 (en) * | 2000-12-18 | 2004-05-11 | Dell Products L.P. | Combination personal data assistant and personal computing device |
US7247781B2 (en) * | 2002-12-27 | 2007-07-24 | Yamaha Corporation | Interactive music application apparatus and electronic musical instrument and programs therefor |
US6993618B2 (en) * | 2004-01-15 | 2006-01-31 | Super Talent Electronics, Inc. | Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host |
US20060288150A1 (en) * | 2005-06-16 | 2006-12-21 | Samsung Electronics Co., Ltd. | Device and method for performing multi-function using unique port in wireless terminal |
US20080263243A1 (en) * | 2007-04-18 | 2008-10-23 | Cypress Semiconductor Corp. | Specialized universal serial bus controller |
US20100217892A1 (en) * | 2009-02-23 | 2010-08-26 | Emn8, Inc. | Kiosk device management in quick service restaurant environments |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612642B2 (en) * | 2009-06-24 | 2013-12-17 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
US20100332691A1 (en) * | 2009-06-24 | 2010-12-30 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
US20110016253A1 (en) * | 2009-07-16 | 2011-01-20 | Musa Ibrahim Kakish | Auto-function USB port |
US20120042099A1 (en) * | 2010-08-12 | 2012-02-16 | Emcon Emanation Control Ltd. | Secure external computer hub |
US8140733B2 (en) * | 2010-08-12 | 2012-03-20 | Emcon Emanation Control Ltd. | Secure external computer hub |
US20120066422A1 (en) * | 2010-09-15 | 2012-03-15 | Standard Microsystems Corporation | Method and system for transferring high-speed data within a portable device |
US8631185B2 (en) * | 2010-09-15 | 2014-01-14 | Standard Microsystems Corporation | Method and system for transferring high-speed data within a portable device |
US8583849B2 (en) * | 2010-09-29 | 2013-11-12 | Asustek Computer Inc. | Signal switch connector set applied to motherboard of computer system |
US20120079158A1 (en) * | 2010-09-29 | 2012-03-29 | Asustek Computer Inc. | Signal switch connector set applied to motherboard of computer system |
US20120239842A1 (en) * | 2011-03-14 | 2012-09-20 | Lenovo (Singapore) Pte. Ltd. | High performance extension device |
US8443128B2 (en) * | 2011-03-14 | 2013-05-14 | Lenovo (Singapore) Pte. Ltd. | High performance extension device |
US20130346660A1 (en) * | 2012-06-25 | 2013-12-26 | Piotr Kwidzinski | Usb device control using endpoint type detection during enumeration |
US9026712B2 (en) * | 2012-06-25 | 2015-05-05 | Intel Corporation | USB device control using endpoint type detection during enumeration |
Also Published As
Publication number | Publication date |
---|---|
US8205018B2 (en) | 2012-06-19 |
US20130339554A1 (en) | 2013-12-19 |
US20120254486A1 (en) | 2012-10-04 |
US8447893B2 (en) | 2013-05-21 |
US20100235655A1 (en) | 2010-09-16 |
US8832329B2 (en) | 2014-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8832329B2 (en) | USB peripheral device comprising limited function USB host controller | |
US8713209B2 (en) | System, apparatus, and method for fast startup of USB devices | |
US6600739B1 (en) | Method and apparatus for switching among a plurality of universal serial bus host devices | |
US20040148451A1 (en) | USB controlling apparatus for data transfer between computers and method for the same | |
EP3234788B1 (en) | DATA TRANSMISSION USING PCIe PROTOCOL VIA USB PORT | |
US8677047B1 (en) | Serial/parallel ATA controller and converter | |
CN108885601B (en) | USB multi-host endpoint reflector hub | |
US7895386B2 (en) | USB interface provided with host/device function and its control method | |
EP2450801B1 (en) | Method and system for detecting and asserting bus speed condition in a USB isolating device | |
CN102130669B (en) | Method, system, device and network equipment for detecting state of hot-plug module | |
WO2004012090A1 (en) | Dual-role compatible usb hub device and method | |
JP2004157604A (en) | Usb peripheral control method and device | |
CN110419035B (en) | USB host-to-host automatic switching | |
KR20160147706A (en) | System and method for disconnect detection on a dual mode port of a usb hub | |
CN102087589B (en) | Remote management device capable of detecting state of controlled computer | |
CN102096457B (en) | processing device and operating system | |
US20210224216A1 (en) | Configurable usb-c alternate mode for multi-level controller communication | |
CN111417034A (en) | Switch and hot plug method, device and system for switch board card thereof | |
CN102122238B (en) | Computer management system and method | |
US6919878B2 (en) | Keyboard/mouse switching controller | |
JP2001184296A (en) | Usb communication interface, computer, hub, electronic equipment, and function switching method in the electronic equipment | |
JP2007233719A (en) | USB system, USB host, USB device | |
JP7544886B1 (en) | CONTROL DEVICE, ELECTRONIC DEVICE SYSTEM, AND CONTROL METHOD | |
JP7590513B1 (en) | Control device, USB cable, control method and program | |
TW201118578A (en) | Remote management device for detecting status of controlled computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |