throbber
United States Patent (19)
`Amoni et al.
`
`USOO5884086A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,884,086
`Mar 16, 1999
`
`54 SYSTEM AND METHOD FOR VOLTAGE
`SWITCHING TO SUPPLY WARIOUS
`VOLTAGES AND POWER LEVELS TO A
`
`5,560,022 9/1996 Dunstan et al. ................... 395/750.01
`5,652,895 7/1997 Poisner ........
`... 395/750.04
`5,742,514 4/1998 Bonola .................................... 379,1258
`
`
`
`75 Inventors: Sergio Amoni, Raleigh; Paul Daniel
`Kangas, Cary; John David Landers,
`Jr., Raleigh, all of N.C.
`
`73 ASSignee: International Business Machines
`Corporation, Armonk, N.Y.
`
`Appl. No.: 842,695
`21
`22 Filed:
`Apr. 15, 1997
`(51) Int. Cl. .................................................. G06F 1126
`52 U.S. Cl. ................................ 395/75001; 395/75002.
`364/492
`58 Field of Search ......................... 395/75001, 750.03,
`395/750.07, 750.06; 364/707, 492
`References Cited
`
`56)
`
`Halfhill, T. R., “The New PC,” BYTE, Oct. 1995, pp. 52–64.
`Klein, R. H., “Bus Pass for Serial Killers,” New Electronics,
`9 Jan. 1996, pp. 18–19.
`Universal Serial Bus Specification, 1.0 Final Draft Revision,
`Nov. 13, 1995, Copyright (C) 1995, Compaq Computer Cor
`poration, et al.
`Wright, M., Ed., “USB and IEEE 1394: Pretenders, Con
`tenders, or Locks for Ubiquitous Desktop Deployment?”
`EDN, Apr. 25, 1996, pp. 79–91.
`Primary Examiner-Gopal C. Ray
`Attorney, Agent, or Firm John D. Flynn; Winstead,
`Sechrest & Minick, PC
`57
`ABSTRACT
`Within a data processing System, Such as a personal
`computer, non-Standard, or auxiliary, Voltage and current
`may be Supplied to an attached peripheral device along with
`standard Universal Standard Bus (USB) power and signal
`U.S. PATENT DOCUMENTS
`ling. A communication protocol is enabled between the host
`4,782,355 11/1988 Sakai et al. ............................... 396/72
`System and the peripheral device to permit the peripheral
`4,884,287 11/1989 Jones et al. ...
`... 375/377
`device to communicate its power requirements to the host
`4,901.217 2/1990 Wilson .............
`... 363/126
`device So that the host device can Switch the proper Voltage
`5,121,500 6/1992 Arlington et al. ...
`... 395/750.07
`and current through the USB cable to the peripheral device.
`5,179,710
`1/1993 Coschieri.
`... 395/750.01
`S. 3.E. SS ?et al... S.S. This allows the peripheral device to obtain power without
`5,483,656
`1/1996 Oprescu et al. .....
`S.A.,
`having to connect to an AC power supply.
`5,493,684 2/1996 Gephardt et al. ...
`... 395/750.04
`5,514,859 5/1996 Seigel ...................................... 235/462
`21 Claims, 9 Drawing Sheets
`
`2 : - -2
`
`eWar el al. .....................
`
`HUB/FUNCTION
`
`HUB/FUNCTION
`
`HOSTHUB
`
`103
`KEYBOARD
`701.
`J701
`701
`
`702
`
`102
`MONITOR
`701.701
`
`101
`
`701.701
`
`701
`
`701
`
`702
`
`702
`
`701
`
`702
`
`702
`
`701
`
`701
`
`701
`
`701
`
`701
`
`701
`
`104.
`
`105
`
`MOUSE
`
`SPEAKER
`106
`
`107
`
`108
`
`PHONE
`
`109
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`HUB
`
`FISI Ex 2004-p 1
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 1 of 9
`
`5,884,086
`
`HUB/FUNCTION
`
`HUB/FUNCTION
`
`HOST/HUB
`
`103
`KEYBOARD
`701.701
`701
`
`702
`
`102
`MONITOR
`701.701
`
`101
`
`701.701
`
`701
`
`1701
`
`702
`
`702
`
`701
`
`702
`
`702
`
`u701 O1
`
`701
`
`701
`
`701
`
`701
`
`701
`
`104
`
`105
`
`106
`
`107
`
`108
`
`IC
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`FUNCTION
`
`HUB
`
`FIG. 1
`
`FISI Ex 2004-p 2
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 2 of 9
`
`5,884,086
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FISI Ex 2004-p 3
`LG v FISI
`IPR2018-00461
`
`

`

`US. Patent
`
`Mar. 16, 1999
`
`Sheet 3 0f 9
`
`5,884,086
`
`50>x2-
`
`50>XD<
`
`Eu
`
`zmG<SO>mm0<._.._0>Fm0<50>
`
`>m+
`
`
`momIo._._>>m
`395+rmomflIo._._>>wmmw<._.._o>m5:
`.uzmo<50>mEMF/Emmi
`
`@203?-rz559xEm10.:>>mmmo<50>m4m<o
`
`.E;_559502.2205mm:
`
`50>xa<._.m_u_Fmo<._.._o>x9.F
`
`zmo<So>5&3$26;02mm0<._.._0>EESOQmDI
`F552m3:Egon.
`
`oomm3:mm:
`
`
`
`>m<_.=xa<It>>
`
`m2:
`
`EjoEzoo
`
`om<oz<._.w
`
`m.GE
`
`FISI EX 2004-p 4
`LG V FISI
`
`|PR2018-OO461
`
`FISI Ex 2004-p 4
`LG v FISI
`IPR2018-00461
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 4 of 9
`
`5,884,086
`
`
`
`
`
`
`
`007
`
`
`
`HETTO HINOO
`
`TWN9||S
`
`FISI Ex 2004-p 5
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 5 of 9
`
`5,884,086
`
`| EXIOWd W LWO
`
`
`
`FISI Ex 2004-p 6
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 6 of 9
`
`5,884,086
`
`STARTENUMERATION
`OF ATTACHED DEVICES
`
`CLEAR POWER ACCUMULATORS
`CLEAR OVERPOWER FLAGS
`
`HOST GETS PORT STATUS
`VIA STATUS PIPEDEVICE
`INATTACHED STATE
`
`HOST OUERIES HUBFOR
`NATURE OF A STATUS CHANGE
`
`USB PORT ENABLED AND
`PORT IS RESET
`
`100MA PROVIDED TO STANDARD +5V
`LINE DEVICE IN POWERED STATE
`
`601
`
`603
`
`605
`
`607
`
`609
`
`611
`
`HOSTREADS DEVICE DESCRIPTOR -
`
`
`
`
`
`
`
`
`
`
`
`615
`
`DOES
`DEVICE
`REOURE AUX.
`POWER2
`
`YES
`
`STORE VOLTAGE, V
`AND CURRENT,
`
`CALCULATE
`POWER = WX
`
`NO
`
`617
`
`618
`
`
`
`
`
`
`
`
`
`FISI Ex 2004-p 7
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 7 of 9
`
`5,884,086
`
`
`
`619
`
`
`
`
`
`
`
`POWER(V)+
`ACCUMULATOR(V)>
`MAX
`THRESHOLD
`
`YES
`
`621
`
`
`
`
`
`625
`
`ADD POWER(V) TO
`ACCUMULATOR(V)
`
`SET
`OVERPOWER(V) FLAG
`
`623
`
`ENABLE RECURED VOLTAGETO
`PORT DEVICE IN AUXPOWERED
`STATE
`
`DEVICE ASSIGNED UNIQUE ADDRESS
`IN ADDRESSED STATE
`
`
`
`629
`
`631
`
`HOST READS DEVICE
`CONFIGURATION DATA
`
`INCREMENT TO NEXT
`CONNECTED DEVICE
`
`
`
`YES
`
`633
`
`
`
`MORE
`DEVICESTO
`ENUMERATE?
`
`NO
`
`END ENUMERATION
`
`635
`
`F.G. 6B
`
`FISI Ex 2004-p 8
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 8 of 9
`
`5,884,086
`
`
`
`FIG. 7
`
`FISI Ex 2004-p 9
`LG v FISI
`IPR2018-00461
`
`

`

`U.S. Patent
`
`Mar 16, 1999
`
`Sheet 9 of 9
`
`5,884,086
`
`
`
`FG. 8
`
`FISI Ex 2004-p 10
`LG v FISI
`IPR2018-00461
`
`

`

`5,884,086
`
`1
`SYSTEMAND METHOD FOR WOLTAGE
`SWITCHING TO SUPPLY WARIOUS
`VOLTAGES AND POWER LEVELS TO A
`PERIPHERAL DEVICE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`This application for patent is related to co-pending U.S.
`patent application Ser. No. 08/807,493, filed Feb. 27, 1997,
`entitled “ENHANCED UNIVERSAL SERIAL BUS,”
`which is hereby incorporated by reference herein.
`
`TECHNICAL FIELD
`The present invention relates to Supplying various Volt
`ages and power levels via a Standard bus interface. More
`particularly, it relates to Supplying multiple Voltages via a
`Universal Serial Bus compatible interface.
`
`15
`
`2
`as if they connect in a true Star arrangement. USB Supports
`both the Standard devices that operate a full 12 megabit rate
`and low end devices that use only a 1.5 megabit Sub-channel.
`HubS Support 12 megabit operations and insure that 12
`megabit transmissions do not go to 1.5 megabit devices.
`USB cables that carry 12 megabit traffic require a shielded
`twisted pair construction on the Signal pair and can be no
`longer than 5 meters. Low Speed cables can be no longer
`than 3 meters and require no shielding or twisting of the
`Signaling pair. The host uses a master Slave protocol to
`control the bidirectional communications with USB devices.
`The interface employs a 1 KHZ bus clock that instigates
`buSSing a new frame every 1 millisecond. The interface
`handles multiple transactions including time critical isoch
`ronous transactions within each frame in 1 millisecond
`periods and 12 megabit per Second bandwidth limits the type
`of isochronous data Streams that the interface can Success
`fully carry.
`One problem with the universal serial bus is that it
`provides only one Voltage. Devices that operate at different
`Voltages or have high power requirements are required to
`Supply their own voltage Sources and power Sources. In
`Some environments, for instance, the retail point-of-Sale
`environment, this additional cabling for power creates a
`non-aesthetic appearance at the Store front.
`These unresolved problems and deficiencies are clearly
`felt in the art and are solved by the invention in the manner
`described below.
`
`SUMMARY OF THE INVENTION
`The foregoing need is addressed by the present invention
`which provides for the communication of auxiliary (non
`standard USB) voltage and current to downstream hub and
`peripheral devices in accordance with the needs of the
`downstream hub and/or peripheral devices. This is per
`formed over an enhanced USB connection, whereby stan
`dard USB Signalling is provided along with the auxiliary
`power.
`Communication of auxiliary power requirements is pro
`vided from the peripheral device to the upstream hub or host,
`which then utilizes one or more Switches to connect the
`auxiliary power to the port coupled to the downstream
`hub/peripheral device.
`The foregoing has outlined rather broadly the features and
`technical advantages of the present invention in order that
`the detailed description of the invention that follows may be
`better understood. Additional features and advantages of the
`invention will be described hereinafter which form the
`subject of the claims of the invention.
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present
`invention, and the advantages thereof, reference is now
`made to the following descriptions taken in conjunction with
`the accompanying drawings, in which:
`FIG. 1 illustrates a data processing System configured in
`accordance with the present invention;
`FIG. 2 illustrates a host computer with integrated hub and
`auxiliary power;
`FIG. 3 illustrates a hub with auxiliary power capabilities;
`FIG. 4 illustrates a peripheral device with auxiliary
`power;
`FIG. 5 illustrates a communication protocol for commu
`nicating auxiliary power requirements to the host from a
`peripheral device;
`
`BACKGROUND INFORMATION
`Recently, personal computers (“PCs”) used a variety of
`techniques for providing input and output. These included a
`serial port, usually an RS232, a parallel port and several ISA
`expansion slots included on the mother board. Connecting
`25
`the PCS to anything more complicated than a mouse, modem
`or printer required the lid to be taken off and dip Switches to
`be set and software configured. SCSI (Small computer
`Systems interface) permitted access to external Storage
`devices, but required a large cable connector with the need
`to manually Set ID numbers and have a terminator.
`The universal serial bus (“USB”) is specified to be an
`industry standard extension to the PC architecture with a
`focus on computer telephony interface, consumer and pro
`ductivity applications. The USB architecture provides for
`ease of use of peripheral expansion, transfer rates up to 12
`megabits per Second, protocol flexibility for mixed modes,
`isochronous data transfers, and asynchronous messaging.
`USB is a cable bus supporting data transfer between the host
`PC and a range of Simultaneously testable peripherals. One
`host controller can Support up to 127 physical devices using
`a tiered topology. The hub is at the center of each Star with
`each wire Segment creating a point-to-point connection of up
`to 5 meters. The 5 meter limitation may be between a host
`and a hub or a hub function or a hub connected to another
`hub or function.
`Alternatively, a number of peripherals can be daisy
`chained together through compound hubs via the 4-wire
`USB cable. One of the 4 wires referred to as VBUS provides
`a DC voltage of +5 Volts and another wire provides a ground
`signal. The USB cable provides power to the devices along
`the chain. Signaling takes place over two wires between two
`end points. The Signals of each end point are driven differ
`entially over a 90 ohm impedance with each receiver fea
`turing input sensitivity of at least 200 millivolts. A non
`return to zero invert (NRZI) with bit stuffing to insure
`adequate transitions is used to carry the bus clock down the
`chain. A Sync field precedes each data package to allow the
`receivers to Synchronize their bit recovery clocks. The Serial
`interface provides a bandwidth of 12 megabits per Second
`and can connect as many as 127 devices to a host System.
`USB relies on a tiered star topology. Physically USB
`devices ranging from a mouse or joystick to telephones
`connect to a host via layers of multiport hubs. The requisite
`hub called “the root hub' is located in the host and can
`include multiple ports. Hubs are linked to USB devices via
`point-to-point connections. The host views all USB devices
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`FISI Ex 2004-p 11
`LG v FISI
`IPR2018-00461
`
`

`

`5,884,086
`
`15
`
`25
`
`35
`
`40
`
`3
`FIG. 6 illustrates with FIGS. 6A and 6B a enumeration
`proceSS for determining the auxiliary power requirements of
`peripheral devices,
`FIG. 7 illustrates a standard USB plug; and
`FIG. 8 illustrates a non-standard USB plug.
`DETAILED DESCRIPTION
`In the following description, numerous Specific details are
`Set forth Such as Specific Voltages and currents to provide a
`thorough understanding of the present invention. However,
`it will be obvious to those skilled in the art that the present
`invention may be practiced without Such specific details. In
`other instances, well-known circuits have been shown in
`block diagram form in order not to obscure the present
`invention in unnecessary detail. For the most part, details
`concerning timing considerations and the like have been
`omitted inasmuch as Such details are not necessary to obtain
`a complete understanding of the present invention and are
`within the skills of persons of ordinary skill in the relevant
`art.
`Refer now to the drawings wherein depicted elements are
`not necessarily shown to Scale and wherein like or similar
`elements are designated by the same reference numeral
`through the Several views.
`Within the following description, a standard universal
`Serial bus connector, receptacle, plug, and Signalling all refer
`to the USB architecture described within the “Universal
`Serial Bus Specification, 1.0 Final Draft Revision, Copy
`right Nov. 13, 1995, which is hereby incorporated by ref
`erence herein. While an embodiment of the invention will be
`illustrated using the Universal Serial Bus, it is not limited to
`the USB.
`Referring to FIG. 1, there is illustrated a diagram of how
`hubs provide connectivity in a desktop computer environ
`ment. The data processing System shown in FIG. 1 includes
`computer (PC) 101, monitor 102, and keyboard 103.
`Coupled to PC 101 are phone 108 and another hub 109.
`Coupled to monitor 102 are speaker 106 and microphone
`(MIC) 107. Coupled to keyboard 103 are pen 104 and mouse
`105. PC 101 is coupled to monitor 102, which is coupled to
`keyboard 103. Coupling is via USB buses 702 with USB
`plug connectors 701 (see FIG. 7).
`A function is a USB device that is able to transmit or
`receive data or control information over the bus. A function
`is typically implemented as a separate peripheral device with
`a cable that plugs into a port on a hub. However, a physical
`package may implement multiple functions and an embed
`ded hub with a single USB cable. This is known as a
`compound device. A compound device appears to the host as
`a hub with one or more permanently attached USB devices.
`Each function contains configuration information that
`describes its capabilities and resource requirements. Before
`a function can be used, it must be configured by the host.
`This configuration includes allocating USB bandwidth and
`Selecting function specific configuration options.
`Referring next to FIG. 7, there is illustrated standard USB
`cable plug 701 having bus 702 coupled thereto. Plug 701
`includes a standard USB shielded plug housing 703, which
`conforms to the standard USB architecture described in the
`Universal Serial Bus specification referenced above. Stan
`dard USB shielded plug housing 703 operates to commu
`nicate differentially driven data signals D+ and D-, a 5-volt
`Signal, and a ground Signal.
`Some or all portions of the topology shown in FIG.1 may
`use a modified (enhanced) USB cable having an extra
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`conductor to Supply the extra Voltage. Of course other
`Voltages could be added So that a single cable may Supply
`three or more Voltages with the addition of other conductors
`or wires. For purposes of clarity of understanding, the
`present invention will be described with respect to two
`conductor types in the cable. Cables with at least one other
`conductor (i.e., for instance 5 wire) are referred to as
`auxiliary (or non-standard) cables in that they Supply or are
`capable of Supplying auxiliary power. The auxiliary cables
`are designed to operate SeamleSS with non-auxiliary pow
`ered devices.
`In other words, some of cables 702 and corresponding
`connectors 701 illustrated in FIG. 1 may implement non
`Standard USB, or auxiliary, configurations for providing
`other than standard USB voltages to hubs or peripherals.
`Referring next to FIG. 8, there is illustrated auxiliary plug
`801, which further includes a non-standard USB portion
`804, which may communicate non-standard USB power
`transmission, Such as auxiliary Voltage Signals and corre
`sponding ground signals. Plug 801 has overmold 806 cor
`responding to overmold 704, standard USB portion (plug
`housing) 803 corresponding to shielded standard portion
`(plug housing) 703, and bus 802 corresponding to bus 702,
`except that additional hardware and parts have been added
`to implement non-standard USB portion 804. Housing 804
`may include a housing having cut-out portion 805, which
`enables housing 804 to mate with a non-standard USB
`receptacle through Specifically designed chassis cut-outs.
`Please refer to cross-referenced patent application Ser. No.
`08/807,493, filed Feb. 27, 1997 for a further discussion of
`Such chassis cut-outs and non-Standard plug 801.
`Using the auxiliary cable, peripheral devices can be
`Supplied power at two or more distinct voltages: the Standard
`USB voltage of +5 and one or more other voltages. The
`Voltage and power requirements for the auxiliary power can
`be negotiated with the host or hub. The auxiliary powered
`USB hub or function uses the standard USB communica
`tions and Standard USB power to request a Second Voltage
`and power.
`Auxiliary Host Device
`FIG. 2 illustrates a host device 230 with multiple auxiliary
`USB ports 203,205, 207,209. The host device 230 could be
`the same as host/hub 101 illustrated in FIG. 1. The host
`device 230 may include central processing unit 231, video
`controller 232, serial parallel floppy disk drive controller
`233, floppy disk drive 234, hard disk drive 235, bios 236,
`expansion I/O bus 237, and host main logic 238. Naturally,
`host 230 may include other well-known data processing
`system elements. Note that a standard USB device can use
`an auxiliary USB port by using a standard USB cable.
`The power supply 201 takes AC input and provides a
`plurality of DC voltages, including the USB standard volt
`age +5 Volts. Other Voltages may include +12, -12, +24,
`-24, or -3 volts. Any Suitable Voltages may be Selected. The
`non-standard voltages are Supplied by conductors (not
`shown) to switch circuits 220-223 provided for each of the
`ports 203, 205, 207, 209, respectively. In addition to the
`standard +5 volts, each port 203, 205, 207, 209 shown in
`FIG. 2 is capable of providing an auxiliary Voltage from one
`of the many voltages output by the power supply 201. The
`host 230 can select which ports are provided with which
`auxiliary voltages using the decoder 211. The decoder 211
`can direct each of the Switches 220-223 to select the
`appropriate voltage for each of the ports 203,205, 207,209
`as requested by the auxiliary peripheral device.
`A 1 toX hub repeater and controller 217 provides for data
`communications from the host 230 to the peripherals and
`
`FISI Ex 2004-p 12
`LG v FISI
`IPR2018-00461
`
`

`

`5,884,086
`
`6
`capability and cannot be configured, or the host could
`determine that the request exceeds the host power Supply
`capacity and not configure the device.
`The implications to the upstream power management is
`that the upstream power management for the auxiliary
`power is dictated by the host computer power management
`protocol. Auxiliary power should be viewed as the devices
`“local power Supply for power management purposes.
`Please refer to section 7.2.1.2 on "Self-Powered Hubs,” and
`section 4.3.2 on “Power Management” within the Universal
`Serial Bus Specification referenced above.
`Peripheral Devices
`FIG. 4 illustrates a peripheral device 400 that can make
`use of auxiliary power. The auxiliary peripheral 400 is
`coupled to the auxiliary cable 413 as shown. The auxiliary
`cable 413 may be coupled to host 230, or hub 300. The
`auxiliary peripheral device (“APD") 400 makes use of
`Standard USB Signals to request auxiliary power. Thus,
`when the cable 413 is hot plugged, USB standard power
`signals (+5 volts) provide power to the microcontroller 417
`via regulator 403. The microcontroller 417 then can request
`an auxiliary Voltage and power allocation using Standard
`USB communications described below. As shown in FIG. 4,
`the APD 400 may include a switch 419 under control of the
`microcontroller 417. The Switch 419 can prevent damage to
`the APD 400 by not permitting a connection from the
`auxiliary Voltage line to the peripheral device's main logic
`401 until the microcontroller 417 has received input from
`the auxiliary host 230 or hub 300 that its auxiliary power
`request can be granted.
`Auxiliary Power Communication Protocol
`The auxiliary USB peripheral 400 makes use of an
`auxiliary power enumeration process that uses native USB
`power and communications. The USB communication pro
`tocol uses four types of transactions: Control, Bulk, Interrupt
`and Isochronous. The Control transaction is used during
`device enumeration to communicate device configuration
`information to the host. This is done in two Stages: Setup and
`Status. The Setup Stage contains three packets: Token, Data
`and Handshake. The Setup Stage Serial bit Stream showing
`the three packets is illustrated in FIG. 5. The Data packet is
`formatted as shown in Table 1.
`
`15
`
`25
`
`35
`
`40
`
`S
`hubs (see FIG. 1) and also provides the host 230 with data
`communications from the peripherals and hubs. The USB
`host/hub 230 is generally a Very Large Scale Integrated
`(VLSI) state machine which is controlled by the host CPU
`231. The Auxiliary USB logic is shown in function block
`219. The USB logic 219 handles standard USB functions as
`well as auxiliary power requests.
`Auxiliary Hub
`FIG. 3 illustrates a functional block diagram of an aux
`iliary hub 300 which could be keyboard 103 or monitor 102.
`The auxiliary hub 300 provides for three auxiliary powered
`USB ports 303,305 and 307 although more could be added.
`Each of the ports 303,305,307 provide a standard USB port
`with the additional auxiliary voltage. The auxiliary hub 300
`is connected to the host 230 (see FIG. 1) via standard USB
`cable 313. Although discussed as connecting to the host/hub
`230, cable 313 may connect to another hub (not shown),
`which may be connected to another hub (not shown) even
`tually reaching the host/hub 230.
`The auxiliary hub 300 contains its own AC/DC power
`Supply 301, which is capable of outputting at least one
`voltage other than 5 volts (i.e., at least one auxiliary voltage)
`and can produce a plurality of Voltages including the USB
`standard +5 volts. The USB standard voltage may be Sup
`plied to the auxiliary ports 303, 305 and 307 from the host
`230 via the host-to-hub cable 313 rather than from the power
`supply 301.
`The non-USB standard voltages are supplied by conduc
`tors (not shown) to Switch circuits 320-322. Switch circuits
`320–322 are associated with each of the ports 303,305 and
`307. In addition to the standard +5 volts, each port 303,305,
`307 is capable of providing an auxiliary voltage from one of
`the many voltages output by the power Supply 301.
`The hub 300 can select which ports are provided with
`which auxiliary Voltages, if any, using the decoder 311. The
`decoder 311 can direct each of the Switches 320-322 to
`select the appropriate voltage for each of the ports 303, 305,
`307, respectively, as requested by the auxiliary peripheral
`device.
`The hub controller 331 is coupled to the decoder 311 and
`1 toX hub repeater 317. The repeater 317 makes sure (1) data
`sent from cable 313 makes its way to the addressed
`peripheral, and (2) data flowing upstream makes it way to
`the host 230.
`Use of the power supply 301 in the hub 300 requires that
`A/C power be supplied to the hub 300. This entails use of a
`power cord and access to A/C outlet. Normally this would be
`an AC outlet on the host computer. Use of the power cord
`can be eliminated by using upstream auxiliary power in a
`DC-DC converter if a different voltage is required by the
`peripheral devices. The power available to downstream
`devices would be limited, since total power received from
`the upstream auxiliary power Source is divided among the
`downstream devices.
`In FIG. 3, this would be implemented by replacing
`Standard USB cable 313 with an enhanced USB cable with
`auxiliary power conductors, as is disclosed herein. The
`auxiliary power conductors would flow to downstream
`ports. Note, however, that the downstream ports would then
`no longer be able to request any type of auxiliary Voltage. An
`allowance would need to be made for hub 300 to request a
`Specific auxiliary Voltage from the upstream host (e.g., the
`highest available voltage from the host). Then, during the
`auxiliary power request phase of step 615 in FIG. 6A, host
`Software could request downstream devices to resubmit their
`request based on available Voltage. A device could then
`Signal a new power request or that it does not have DC-DC
`
`45
`
`50
`
`55
`
`60
`
`65
`
`TABLE I
`
`FIELD DESCRIPTION
`
`BYTES
`
`Request Type
`Request
`Value
`Index
`Length
`
`The APD 400 can communicate its auxiliary power
`requirements in Several ways. The first makes use of device
`descriptor data field as shown in Table II. The device
`descriptor data Structure is returned to a host in response to
`a GET DESCRIPTOR request type and has the following
`format:
`
`TABLE II
`
`FIELD DESCRIPTION
`
`BYTES
`
`Length of Descriptor
`Descriptor Type
`USB Specification Number
`
`1.
`1.
`2
`
`FISI Ex 2004-p 13
`LG v FISI
`IPR2018-00461
`
`

`

`BYTES
`
`1.
`
`7
`
`TABLE II-continued
`
`FIELD DESCRIPTION
`
`Device Class(vendor specific type
`=0xFF)
`Device Sub-Class
`Device Protocol
`Max Packet Size
`Wendor ID
`Product ID
`Device Release Number
`Manufacturer ID String Index
`Product ID String Index
`Serial Number Index
`Number of Configurations
`
`One way of transferring auxiliary power requirements
`from the device is to assign a vendor Specific Device Class
`(0xFF) and designate a unique device Sub-class assignment
`with unique encoded Voltage and power requirements. Using
`a single byte: two bits (V2, V1) could be allocated to voltage
`selection with the remaining six bits (C6,C5,C4,C3,C2,C1)
`allocated to current requirements. For current, one of 64
`different levels could be specified or a fixed increment could
`be allocated such as 50 ma with bits C1-C6 indicating in
`binary the number of increments. A fixed current increment
`eliminates the need for a look-up table in the ADP
`A second way for the APD 400 to specify power require
`ments is to use a Product String Index pointing to a String
`containing Voltage and current requirements. This String
`may be text format and include a voltage request (ie., "12V')
`and a current request (i.e., “800 ma”). The index to a product
`String is contained in the Device Descriptor at offset 15 (see
`Section 9.6.1 of the Universal Serial Bus Specification
`referenced above). The index points to the location of a text
`string in UNICODE format (see section 9.6.5 of the Uni
`versal Serial Bus Specification).
`A third way of encoding the auxiliary power requirements
`is to use an iConfiguration Index located in the Configura
`tion DeScriptor. This may also be specified in text format.
`The indeX to a configuration is located in the Configuration
`Descriptor at offset 6 (see section 9.6.2 of the Universal
`Serial Bus Specification) and points to the location of a text
`string of UNICODE format (see section 9.6.5 of the Uni
`versal Serial Bus Specification).
`Referring next to FIG. 6, which comprises FIGS. 6A and
`6B, there is illustrated a flow diagram illustrating a process,
`which may be implemented within USB logic 219 and/or
`within hub 300 for responding to request for auxiliary power
`from peripheral device 400. The process begins at step 601,
`wherein enumeration of all attached devices is begun. For
`example, one or more peripheral devices 400 may be
`coupled to ports 203, 205, 207 and/or 209, or to ports 303,
`305 and/or 307.
`In Step 603, power accumulators are cleared and over
`power flags are cleared. The power accumulator is a math
`ematical variable Stored in a specific host memory location.
`Its purpose is to Store a running total of Supplied auxiliary
`power from the host A/C power supply. This variable is
`tested against the known maximum available power from
`the host power Supply to prevent a host overpower condi
`tion.
`The subscript “v' indicates that there could be a separate
`power accumulator for each different Voltage line. Power
`Supplies generally limit maximum power on each Voltage
`line, as well as an overall maximum power.
`The Overpower flags are also variables and are used to
`Store the condition that the host power Supply cannot Supply
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,884,086
`
`8
`additional auxiliary power. There may be a separate over
`power flag for each auxiliary voltage (i.e., +12v, +24v., etc.).
`Thereafter, in step 605, the host/hub obtains port status via
`status pipe. Device is now in attached state. When a hub
`detects that a USB cable has been plugged into one of its
`downstream ports, it signals to host Software that a change
`has occurred through Port Commands. An expanded dia
`gram of detecting a port Status changed is shown in Section
`11.8.2 of the Universal Serial Bus Specification. This is part
`of the standard USB Bus Enumeration and a summary of this
`is shown in section 9.1.2 of the Universal Serial Bus
`Specification. A general description of USB device States
`when first plugged in is given in the first Several pages of
`chapter 9 of the Universal Serial Bus Specification.
`Thereafter, in step 607, the host/hub queries the downstream
`hub/peripheral for the nature of a Status change. Additional
`Port Commands are used by host software to determine what
`type of change occurred at the hub's downstream port, Such
`as an Attach or Detach, etc.
`Next, in step 609, the port is enabled and is reset. In step
`611, standard USB power is supplied (100 milliamps pro
`vided to a standard +5 volt line) to the device through the
`port and USB line. Next, in step 613, the host/hub reads the
`Device Descriptor, which is supplied by the downstream
`hub/peripheral device. In step 615, a determination by
`above-mentioned methods is made whether or not the hub/
`peripheral device requires any auxiliary power. If not, the
`process proceeds to step 627. However, if the device does
`require auxiliary power, then the proceSS proceeds to Step
`617 to store the voltage and current requirements of the
`hub/peripheral device. In step 618, the power is computed.
`Thereafter, in step 619, a determination is made whether
`or not the power calculated in Step 618 plus any power
`calculated in an accumulator value with respect to any other
`devices attached to ports is greater than the maximum
`threshold of the host/hub. If yes, then in step 623, an
`overpower flag is Set and the process proceeds to Step 631.
`In step 621, the calculated power from step 618 is added
`to the accumulator value. In Step 625, the Voltage required
`by the hub/peripheral device is enabled via the auxiliary
`voltage line. In step 627, the hub/peripheral device is
`assigned a unique address. Device is now in the Address
`State. Devices must have a unique address with which they
`can be identified by the host software. Initially all devices
`have the same default address, but are addressed in a
`Sequential manner during Bus Enumeration, which allows a
`Single device to respond at any one time to host Software
`requests. AS part of BuS Enumeration, unique addresses are
`assigned to each device So host Software can communicate
`with the devices in a random manner. Please refer to Section
`9.1.1.4 of the Universal Serial Bus Specification for further
`discussion on this aspect. In step 629, the host/hub reads the
`device configuration data. The Configuration phase of BuS
`Enumerat

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket