throbber
United States Patent [19J
`Sartore et al.
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`US006012103A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,012,103
`Jan.4,2000
`
`[54] BUS INTERFACE SYSTEM AND METHOD
`
`[75]
`
`Inventors: Ronald H. Sartore, San Diego; Steven
`P. Larky, Del Mar, both of Calif.
`
`[73] Assignee: Cypress Semiconductor Corp., San
`Jose, Calif.
`
`[21] Appl. No.: 08/886,923
`
`[22]
`
`Filed:
`
`Jul. 2, 1997
`
`[51]
`[52]
`[58]
`
`[56]
`
`Int. Cl.7
`•••.•••..•.••........•...•.....•••..•...•.•........ G06F 13/368
`U.S. Cl . ...................................... 710/8; 710/9; 710!10
`Field of Search ............................. 379/395; 709/220,
`709/250; 711/114, 115, 130; 713/100; 710/9
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,641,261
`4,862,355
`5,289,580
`5,428,748
`5,488,657
`5,574,859
`5,577,213
`5,586,268
`
`2/1987 Dwyer et a!. .
`8/1989 Newman et a!. .
`2/1994 Latif et a!. .
`... ....................... 710/9
`6/1995 Davidson et a!.
`1/1996 Lynn eta!. .............................. 379/395
`11/1996 Yeh .
`11/1996 Avery et a!. .
`12/1996 Chen et a!. .
`
`2/1997 Wade .
`5,606,672
`3/1997 Corder .
`5,615,344
`5/1997 Devon eta!. ........................... 395/828
`5,634,074
`9/1997 Collins .................................... 709/250
`5,671,355
`5,687,346 11/1997 Shinohara ............................... 711/130
`........................ 711/114
`5,701,429 12/1997 Legvold et a!.
`8/1998 Aldebert et a!. ........................ 713/100
`5,794,033
`9/1998 Pierce ...................................... 711/115
`5,802,558
`5,838,907 11/1998 Hansen .................................... 709/220
`
`Primary Examiner-Thomas C. Lee
`Assistant Examiner-Chien Yuan
`Attorney, Agent, or Firm-Christopher P. Maiorana, P.C.
`
`[57]
`
`ABSTRACT
`
`A system and method for reconfiguring a peripheral device
`connected by a computer bus and port to a host from a first
`generic configuration to a second manufacturer specific
`configuration is provided in which the configuration of a
`peripheral device may be electronically reset. A peripheral
`interface device for a standardized computer peripheral
`device bus and port is also provided in which a physical
`disconnection and reconnection of the peripheral device is
`emulated to reconfigure the bus and port for a particular
`peripheral device.
`
`33 Claims, 7 Drawing Sheets
`
`50'
`
`52
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`70
`
`\
`\
`\
`I
`I
`I
`I
`
`I " I 78
`
`I
`
`I
`
`/
`
`/
`
`/
`
`/
`
`.......
`
`74
`
`LOADABLE
`MEMORY
`
`l i
`
`'·-L··-··------------------------'-·-'
`DEVICE
`
`EXHIBIT 1001
`IPR Petition for U.S. Patent No. 6,012,103
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 1 of 7
`
`6,012,103
`
`20'
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`33J
`DEVICE
`DRIVER
`
`CPU
`
`~------~~ MEMORY
`
`!
`
`30,
`USB INTERFACE
`...c::::; ~
`USB
`2(
`~ ?"
`USB INTERFACE
`34_)
`
`1
`
`l .,..
`
`l
`
`I
`38\
`
`24,
`
`MEMORY
`
`DEVICE
`CHARACTER(cid:173)
`ISTICS
`
`CPU
`
`DEVICE
`
`FIG. 1
`(PRIOR ART)
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 2 of 7
`
`6,012,103
`
`50 \
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`70___..._ 1_
`68 -=:J.
`DEVICE
`DEVICE
`CHARACTER(cid:173)
`DRIVER
`ISTICS
`
`\
`
`1\
`64\ ~~80
`
`65../
`
`CPU
`
`MEMORY
`
`I
`
`!
`I USB INTERFACE
`~~
`66
`71
`USB
`···---------------------- ----- -------------------------------~----...
`~ ;:::::--
`54\ i
`:
`, uss;~~ERFACE I
`,________ --------------------
`7 4 \
`
`11
`
`LOADABLE
`MEMORY ~-;- -
`
`CPU
`
`L ••••••••••••••••••••••••••••••••••••••••
`
`DEVICE
`
`FIG. 2
`
`I
`
`/
`
`/
`/ /
`
`\
`\
`\
`\
`\
`\
`I
`I
`
`I " I 78
`
`I
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 3 of 7
`
`6,012,103
`
`3.3 v
`
`D-
`
`PERIPHERAL
`
`FIG. 3
`
`(PRIOR ART)
`
`100,
`
`134
`
`HOST
`
`FIG. 4
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 4 of 7
`
`6,012,103
`
`140~
`
`142
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`
`182
`
`150
`
`CPU
`
`MEMORY
`
`174
`
`LOADABLE
`MEMORY
`
`/
`
`176
`
`CPU
`
`DEVICE "A"
`
`FIG. 5
`
`\
`
`\
`\
`\
`\
`~
`1180
`I
`I
`I
`I
`I
`
`170
`_/
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 5 of 7
`
`6,012,103
`
`142
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`
`CPU
`
`MEMORY
`
`150
`
`146
`
`176
`
`CPU
`
`LOADABLE
`MEMORY
`
`/
`
`. , / -
`
`DEVICE "B"
`
`FIG. 6
`
`1184
`I
`I
`I
`
`I
`
`/
`
`/
`
`170
`../
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 6 of 7
`
`6,012,103
`
`HOST COMPUTER
`
`142
`
`OPERATING SYSTEM
`
`150
`
`CPU
`
`MEMORY
`
`190
`
`I
`I
`I
`I
`I
`I
`/~8
`I
`
`I
`
`I
`
`/
`
`/
`
`/
`./
`
`170
`_/
`
`174
`
`LOADABLE """
`MEMORY
`
`176
`
`CPU
`
`DEVICE "C"
`
`FIG. 7
`
`

`

`U.S. Patent
`
`Jan.4,2000
`
`Sheet 7 of 7
`
`6,012,103
`
`200\
`
`202
`
`204
`
`206
`
`208
`
`CONFIGURE DEVICE
`AS LOADER
`
`LOAD
`CONFIGURATION
`INFORMATION FROM
`HOST INTO DEVICE
`
`ELECTRONICALLY
`DISCONECT &
`RECONECT DEVICE
`
`RECONFIGURE
`DEVICE WITH LOADED
`CHARACTERISTICS
`
`FIG. 8
`
`

`

`6,012,103
`
`1
`BUS INTERFACE SYSTEM AND METHOD
`
`BACKGROUND OF THE INVENTION
`
`5
`
`This invention relates generally to a system and method
`for connecting a computer system to a computer bus and in
`particular to a system and method for interfacing a computer
`system to a standard universal serial peripheral device bus.
`In a typical computer system, a computer having a micro(cid:173)
`processor may be connected to a plurality of peripheral 10
`devices, such as a printer or a modem, by one or more
`electrical buses and several different communications ports.
`Different peripheral devices have interfaces with different
`form factors and electrical characteristics, and these com(cid:173)
`munications ports are used for a variety of different periph- 15
`eral devices. A typical desktop computer may have a
`modem, a printer, a keyboard and a mouse connected to it.
`The modem may be connected to a serial port, the printer
`may be connected to a parallel port, the keyboard may be
`connected to a dedicated keyboard port and the mouse may 20
`be connected to a dedicated mouse port. Each of these
`communication ports may have different electrical
`characteristics, require different connectors and each has a
`different cable that runs from the peripheral device to the
`connector which connects to the computer communications 25
`port. For example, the serial port, the parallel port, the
`keyboard port and the mouse port all have different
`characteristics, cables and different connectors. The result is
`a large number of diverse interfaces and cables that must be
`used. In addition, the electrical design of these communi- 30
`cations ports typically requires that the computer be turned
`off before connecting and/or disconnecting a peripheral
`device from the port because the port may be permanently
`damaged otherwise. This prompted the design of a single
`standardized peripheral interface connection system which 35
`reduces the need for multiple connectors and cables, and
`permits the connection and disconnection of a peripheral
`device while the computer is turned on.
`A new emerging technology called the Universal Serial
`Bus (USB) is a system intended to create a single standard- 40
`ized peripheral device connection system. The USB makes
`the task of connecting peripheral devices to computers easier
`and more reliable since it uses a standardized connector and
`form factor, and makes operating those peripheral devices
`with the computer, easier and more reliable than with the 45
`various different types of communication ports. The com(cid:173)
`puter to which these peripheral devices are connected by the
`USB is known as the "host computer". The USB replaces the
`multiple cable and connector types with a single standard(cid:173)
`ized connection system. The USB also permits the connec- 50
`tion and disconnection of USB compatible peripheral
`devices while the computer is turned on which eliminates
`the typical turning off and rebooting of the computer in order
`to connect or disconnect a peripheral device to the computer.
`When a peripheral device is first connected to the USB 55
`and the host computer through a standard USB communi(cid:173)
`cations port, the presence of the connected peripheral device
`is detected and a configuration process of the USB for the
`connected peripheral device, known as device enumeration,
`begins. The enumeration process assigns a unique USB 60
`address to the connected peripheral device, queries the
`connected peripheral device about its requirements and
`capabilities, writes data about the connected peripheral
`device into the host computer's operating system, and loads
`the appropriate software device driver from a storage loca- 65
`tion into the host computer's operating system. During the
`query, a data table stored in the peripheral device, which
`
`2
`contains the particular peripheral device's configuration
`information, is read from the peripheral device into the host
`computer's memory. Upon completion of the enumeration
`process, the connected peripheral device is recognized by
`the host computer's operating system and may be used by
`application software being executed by the microprocessor
`of the host computer. The association of the device with the
`software device driver cannot be subsequently changed.
`In a serial bus system, such as the USB, the only oppor-
`tunity for associating software device drivers with a periph(cid:173)
`eral device is at the time when the peripheral device is
`plugged into the USB and the enumeration process occurs.
`Thus, to alter the configuration or personality of a peripheral
`device, such as downloading new code or configuration
`information into the memory of the peripheral device, the
`host computer system must detect a peripheral device con(cid:173)
`nection or a disconnection and then a reconnection.
`The USB provides a number of advantages, as described
`above, over standard peripheral device connection tech(cid:173)
`niques. The USB, however, does not provide a system and
`method for easily altering the configuration data for a
`peripheral device. In addition, the USB also does not pro(cid:173)
`vide a method for easily changing the software device driver
`associated with a particular peripheral device.
`Thus, there is a need for a system and method for
`interfacing to a universal serial bus which avoids these and
`other problems of known systems and methods, and it is to
`this end that the present invention is directed.
`
`SUMMARY OF THE INVENTION
`
`The invention provides a universal serial bus interface
`system and method in which the configuration information
`for a plurality of different peripheral devices may be stored
`in the host computer rather than in the peripheral devices
`themselves. The flexibility of the universal serial bus is
`thereby increased because each peripheral device does not
`need to store configuration information. In addition, the
`configuration information for any peripheral device may be
`easily modified to accommodate changes in the peripheral
`devices or to take advantage of other peripheral device
`features because it is located in the file system of the host
`computers. The configuration information may include con(cid:173)
`figuration data, microprocessor code to be executed on the
`CPU in the peripheral device, and logic configuration data.
`The configuration information may be downloaded from the
`host computer into the peripheral device.
`In addition, the universal serial bus interface system and
`method permits the configuration information associated
`with the peripheral device to be electronically altered to
`match changes in the peripheral devices. Instead of physi(cid:173)
`cally disconnecting and reconnecting a peripheral device to
`reconfigure it, a peripheral device may be electronically
`disconnected and then reconnected to the USB (e.g. the
`disconnect/connect cycle may be electrically simulated) so
`that a change in the configuration information for a particu(cid:173)
`lar peripheral device may be implemented. One of many
`advantages of the electrical simulation of the disconnect and
`reconnect cycle is that since the peripheral device is physi(cid:173)
`cally connected to the bus during the electrical simulation,
`the peripheral device may utilize the electrical power sup(cid:173)
`plied by the bus to operate the peripheral device. If the
`peripheral device is physically disconnected as in a conven(cid:173)
`tional USB system, the peripheral device would require its
`own electrical power source. Thus, the computer system
`may, without human assistance, reconfigure a peripheral
`device connected to the USB.
`
`

`

`6,012,103
`
`3
`In addition, the universal serial bus interface system and
`method may be a single semiconductor chip which may be
`incorporated into a plurality of peripheral devices made by
`a plurality of manufacturers. The chip may initially have a
`generic configuration (e.g., not specific to a particular
`peripheral device). Then, the appropriate configuration
`information for a particular peripheral device and manufac(cid:173)
`turer may be downloaded to the chip, an electronic simula(cid:173)
`tion of the disconnection and reconnection of the peripheral
`device occurs, the peripheral device is recognized as a new,
`manufacturer specific peripheral device and the appropriate
`software device driver is loaded into the memory of the host
`computer.
`In accordance with the invention, a system and method for
`reconfiguring a peripheral device connected by a computer
`bus and port to a host computer is provided in which a host
`computer detects a peripheral device connected to the port in
`which the peripheral device has a first configuration. A
`second set of configuration information may be downloaded
`from the host computer into the peripheral device over the
`computer bus, and the configuration of the peripheral device
`is electronically reset from said first configuration to a
`second configuration based on the second set of configura(cid:173)
`tion information.
`In accordance with another aspect of the invention, a
`peripheral interface device for a standardized computer
`peripheral device bus and port is provided in which a
`peripheral device is physically connected to a computer
`system through a computer peripheral bus and port and the
`peripheral device has a first configuration. A second set of
`configuration information may be received from a computer
`system, and a physical disconnection and reconnection of
`the peripheral device is simulated to reconfigure the periph(cid:173)
`eral device to a second configuration based on the second
`configuration information.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram illustrating a conventional universal
`serial bus system in a computer system;
`FIG. 2 is a diagram illustrating a universal serial bus
`system in accordance with the invention;
`FIG. 3 is a diagram illustrating a conventional universal
`serial bus interface circuit;
`FIG. 4 is a diagram illustrating a universal serial bus
`interface circuit in accordance with the invention;
`FIG. 5 is a diagram illustrating a peripheral device with a
`first configuration being connected to a computer system
`through a USB port and configured in accordance with the
`invention;
`FIG. 6 is a diagram illustrating a peripheral device being
`configured with a second configuration in accordance with
`the invention;
`FIG. 7 is a diagram illustrating a peripheral device being
`reconfigured with a third configuration in accordance with
`the invention; and
`FIG. 8 is a flowchart illustrating a method for changing
`the configuration information for a peripheral device con(cid:173)
`nected to a universal serial bus in accordance with the
`invention.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`The invention is particularly applicable to a universal
`serial bus interface system and method. It is in this context
`that the invention will be described. It will be appreciated,
`
`5
`
`4
`however, that the system and method in accordance with the
`invention has greater utility, such as with other different
`computer buses and standardized interfaces.
`FIG. 1 is a diagram illustrating a standardized bus
`interface, such as a conventional computer system 20, that
`may include a host computer system 22 and a peripheral
`device 24. The peripheral device is connected to the host
`computer by a universal serial bus (USB) 26. The host
`computer may include a central processing unit (CPU) 28
`10 connected to a USB interface (1/F) circuit 30, and the USB
`standard provides a universal electrical and physical inter(cid:173)
`face for the peripheral devices via bus 26. The CPU executes
`software application code located in a memory 31 and
`communicates data to and from the peripheral device
`15 through the USB interface and the USB 26. The host
`computer may also include an operating system 32 which
`may include a software device driver 33. The peripheral
`device 24 may include a USB interface circuit 34, a CPU 36
`and a non-volatile memory 38 that may store configuration
`20 information describing the characteristics of the peripheral
`device. The non-volatile memory may be a read only
`memory (ROM) or an erasable programmable read only
`memory (EPROM).
`When the peripheral device is initially connected to the
`25 USB, an enumeration process is conducted in which the host
`computer determines the characteristics of the peripheral
`device by receiving the configuration information from the
`memory 38 within the peripheral device, and configures the
`USB according to the characteristics of the peripheral
`30 device. As shown, the configuration information about the
`characteristics of the peripheral device in a conventional
`USB system is stored in a non-volatile memory 38 on the
`peripheral device. The data about the characteristics of the
`peripheral device is programmed into the non-volatile
`35 memory at the factory, and the characteristics of the periph(cid:173)
`eral device may not be easily altered. In addition, the
`memory in the peripheral device stores all of the configu(cid:173)
`ration information about the peripheral device which may
`require a large amount of memory in the peripheral device.
`Once the enumeration process has been completed, the
`CPU of the host computer may load an appropriate software
`device driver 33 for the peripheral device and the software
`applications being executed by that CPU of the host com(cid:173)
`puter may communicate with the peripheral device using the
`45 USB. When the first peripheral device is disconnected and
`another peripheral device is connected to the USB, the
`enumeration process for the new peripheral device may be
`conducted and another software device driver may be
`loaded. The configuration of the peripheral device cannot be
`50 easily altered. Now, a universal serial bus system and
`method in accordance with the invention will be described.
`FIG. 2 is a diagram illustrating a computer system 50 that
`may have a universal serial bus system in accordance with
`the invention. The computer system may include a host
`55 computer 52 connected to a peripheral device 54 by a
`universal serial bus (USB) 60. The host computer may
`include a CPU 62, a memory 64, an operating system 65 and
`a USB interface circuit 66. One or more peripheral device
`drivers, such as a first peripheral device driver 68, may be
`60 stored in the operating system 65. Each device driver
`contains information about the proper configuration of the
`USB for a particular class of peripheral devices. The oper(cid:173)
`ating system within the host computer may also contain a
`plurality of different configuration information sets 70,
`65 which may include configuration data for a particular
`peripheral device (including which device driver to use),
`microprocessor code to be executed by a CPU located in the
`
`40
`
`

`

`6,012,103
`
`5
`peripheral device, or logic configuration data to configure
`logic circuits in the peripheral device. This invention advan(cid:173)
`tageously enables these configuration information sets to be
`updated or altered easily since they are located in the host
`computer and not in a non-volatile memory in the peripheral 5
`device.
`The peripheral device 54 may include a USB interface
`system 71 and a CPU 72. The USB interface system may
`include an alterable memory 74 such as a random access
`memory (RAM) or a flash electrically erasable program- 10
`mable read only memory (flash EPROM), and a USB
`interface circuit 76. The memory 74 may initially contain an
`identification code to indicate which configuration inform a(cid:173)
`tion set should be downloaded to the peripheral device. The
`USB interface system 71 may be a semiconductor chip 15
`containing the USB interface circuit as well as the memory
`that may be added onto the peripheral device. The USB
`interface circuit in accordance with the invention is designed
`to meet USB standard specifications, such as communica(cid:173)
`tions protocols, electrical specifications and the USB form 20
`factor, and may permit the peripheral device to be discon(cid:173)
`nected and connected to the USB without the physical
`disconnection or connection of the peripheral device, as
`described below.
`The various configuration information sets are stored in
`the host computer so that they may be easily updated or
`altered and then, using the electronic disconnect and recon(cid:173)
`nect method in accordance with the invention, the peripheral
`devices attached to the host computer may be dynamically
`reconfigured using the updated configuration information
`sets without the necessity to physically disconnect and
`reconnect the peripheral devices.
`In operation, during the initial factory configuration of the
`peripheral device with the USB interface system in accor(cid:173)
`dance with the invention, the memory may store an identi- 35
`fication code indicating the appropriate configuration infor(cid:173)
`mation set to be loaded. Thus, when the peripheral device is
`first connected to the USB, the configuration information 70,
`including any microprocessor code applicable to the periph(cid:173)
`eral device and the appropriate configuration data for the 40
`peripheral device may be downloaded over the USB into the
`memory 74 of the peripheral device 54 as shown by the
`dashed arrow 78. The electrical simulation of the discon(cid:173)
`nection and reconnection of the peripheral device from the
`USB, as described below, may be initiated and a 45
`re-enumeration process may occur. During the
`re-enumeration process, the newly downloaded configura(cid:173)
`tion information may be used to reconfigure the USB for the
`peripheral device and the host computer may select the
`appropriate software device driver 68 for the peripheral 50
`device based on the configuration information and load the
`device driver into memory 64 as shown by arrow 80. For
`example, a plurality of different peripheral devices manu(cid:173)
`factured by different companies may each include a USB
`interface system in accordance with the invention. The USB 55
`interface system for each peripheral device is identical (e.g.
`has a USB interface circuit and a memory) except that each
`memory may contain an identification code that is unique to,
`for example, a particular manufacturer. When one of the
`peripheral devices is connected to the USB and the host 60
`computer, the appropriate configuration information for the
`peripheral device, based on the identification code, is down(cid:173)
`loaded over the USB to the memory of the peripheral device
`and the appropriate software device driver is loaded into the
`memory of the host computer. Thus, a plurality of different 65
`peripheral device may include the same USB interface
`system hardware since the configuration information is
`
`6
`located in the operating system of the host computer. Now,
`a conventional USB interface circuit and the universal serial
`bus interface circuit in accordance with the invention that
`permits the electronic disconnection and reconnection of the
`peripheral device will be described.
`FIG. 3 is a diagram illustrating a conventional host
`computer universal serial bus interface circuit 100 and a
`peripheral device USB interface circuit 101. The host com(cid:173)
`puter USB interface 100 may include two USB data leads
`102, 103 that may be labeled D+and D-, which are both
`connected to ground through a resistor 112, 113 respectively.
`The peripheral device USB interface 101 may include a
`buffer amplifier 104, having a first normal output of the
`buffer (D+) 106 and a second inverted output of the buffer
`(D-) 108. The D+ output of the buffer may be connected to
`a supply voltage, which may be 3.3 volts for example,
`through a 1.5 kQ resistor 110. In operation, the host com(cid:173)
`puter detects the connection of a peripheral device by
`monitoring the voltage levels of one of the two USB data
`leads. In particular, in the computer host, the D+ data line is
`terminated with a 15 kQ resistor 112 to ground. Thus, when
`the D+ line is not connected to a peripheral device, the
`measured voltage of the D+ line is approximately zero volts
`and the host computer determines that no peripheral device
`25 is connected to the USB port. When a peripheral device is
`connected to the USB port, the 1.5 kQ resistor 110 con(cid:173)
`nected to a supply voltage of the peripheral device USB
`interface 101 adds a voltage to the D+ line and the D+ line
`at the host computer is pulled to above 3 volts which is
`30 detected as a connected peripheral device by the host
`computer and the host computer begins the enumeration
`process. Now, the USB interface circuit in accordance with
`the invention will be described.
`FIG. 4 is a diagram illustrating a USB interface circuit for
`a peripheral device in accordance with the invention which
`permits the peripheral device to be electronically discon(cid:173)
`nected and/or reconnected to the USB without physically
`disconnecting and reconnecting the peripheral device from
`the USB (e.g., the electric simulation of a disconnect/
`connect cycle). As with the conventional USB interface, the
`host computer USB interface circuit 100 may include two
`USB data leads 102, 103 which may be labeled as D+ and
`D- as shown. As above, each data lead is connected to
`ground through a resistor and a 15 kQ resistor 112 connects
`the D+ data lead to ground. A peripheral device USB
`interface circuit 120 in accordance with the invention will
`now be described.
`The peripheral USB interface circuit 120 may include a
`buffer amplifier 122, a first buffer output 124 labeled D+ and
`a second buffer output 126 labeled D-. In accordance with
`the invention, the D+ data lead may be connected to a supply
`voltage, which may be 3.3 volts, through a 1.5 kQ resistor
`128 and an electrical switch 130, that may be a semicon(cid:173)
`ductor switch such as a field effect transistor (FET). The
`electrical switch may have a control lead 132 which may
`control the operation of the electrical switch. The electrical
`switch is normally controlled by the peripheral device, but
`the host computer may download configuration information
`containing a command instructing the peripheral device to
`actuate the electrical switch. Thus, both the peripheral
`device itself and the host computer may control the electrical
`switch. As above, when no peripheral device is physically
`connected to the USB, the host computer reads zero volts on
`the D+ data lead.
`When a peripheral device is connected to the USB, the
`electrical switch permits the peripheral device to disconnect
`and then reconnect itself to the USB without the physical
`
`

`

`6,012,103
`
`7
`disconnection of the peripheral device from the USB. In
`particular, if the peripheral device is physically connected to
`the USB, but the electrical switch is open, the D+ data lead
`is no longer connected to the supply voltage and the host
`computer determines that the peripheral device has been
`disconnected even though the peripheral device is still
`physically connected to the USB. Similarly, when the elec(cid:173)
`trical switch is closed again, the D+ data lead is again
`connected to the supply voltage and the host computer will
`detect that the peripheral device has been reconnected to the
`USB. Therefore, the physical disconnection and/or connec(cid:173)
`tion of the peripheral device may be effected without actu(cid:173)
`ally physically disconnection and/or connecting the periph(cid:173)
`eral device. This electronic disconnection and reconnection
`of the peripheral device, as described above, in combination
`with the storage of the configuration information sets on the
`host computer permits the configuration of the peripheral
`devices to be changed easily without requiring the physical
`disconnection and reconnection of a peripheral device. Now,
`an example of a system for connecting a plurality of different
`peripheral devices each containing a USB interface system
`in accordance with the invention, to a computer system will
`be described.
`FIGS. 5, 6, and 7 are diagrams illustrating three different
`peripheral devices from different manufacturers, for
`example, being connected to a host computer in accordance
`with the invention. In each Figure, a computer system 140
`may include a host computer 142, a plurality of peripheral
`devices, such as peripheral device "A" 144 (shown in FIG.
`5), peripheral device "B" 146 (shown in FIG. 6), peripheral
`device "C" 148 (shown in FIG. 7) and a USB bus 149. The
`host computer 142 may include a CPU 150, a memory 152,
`an operating system 154 and a USB interface circuit 156.
`The operating system, in this example, may include a
`plurality of software device drivers, such as device driver
`"A" 158, device driver "B" 160 and device driver "C" 162,
`and a plurality of configuration information sets, such as
`device "A" characteristics 164, device "B" characteristics
`166 and device "C" characteristics 168.
`Each peripheral device 144, 146, 148 may include a 40
`universal USB interface system 170 that may include a USB
`interface circuit 172 as shown in FIG. 4 and a loadable
`memory 174. Each peripheral device may also include a
`CPU 176 and a non-volatile memory 178. The non-volatile
`memory may store a unique manufacture signature or iden(cid:173)
`tifier that identifies the appropriate configuration inform a(cid:173)
`tion to be downloaded into the peripheral device. Now, the
`connection of each of these peripheral device to the com(cid:173)
`puter system will be described.
`As shown in FIG. 5, peripheral device "A" 144 may have
`a unique manufacturer signature in the non-volatile memory
`178. When the peripheral device is connected to the com(cid:173)
`puter system, the enumeration process begins in which the
`USB interface system 170 is recognized by the USB as a
`generic device and the unique manufacturer signature is read
`from the non-volatile memory by the CPU 150 over the USB
`149. The unique signature identifies device "A" character(cid:173)
`istics 164 as the appropriate configuration information and
`that configuration information may be downloaded over the
`USB 149 into the memory 174 of the peripheral device as
`shown by dashed arrow 180. Then the electrical simulation
`of the disconnection and reconnection of the peripheral
`device occurs, as described above, which cause
`re-enumeration of the peripheral device. During
`re-enumeration, device driver "A" 158, which is identified
`by device "A" characteristics 164 as the appropriate device
`driver, is loaded from the operating system into the memory,
`
`8
`as shown by arrow 182, such that the peripheral device is
`now recognized as a peripheral device with device "A"
`characteristics. Thus, a generic hardware USB interface
`system may be incorporated into a peripheral device and the
`5 particular characteristics for the particular peripheral device
`may be later downloaded from the host computer into the
`peripheral device.
`Similarly, as shown in FIGS. 6 and 7, the peripheral
`devices 146, 148 may include the generic USB interface
`10 system and a unique manufacturer signature in the non(cid:173)
`volatile memory and may be re-enumerated in accordance
`with the invention so that the appropriate device character(cid:173)
`istics are downloaded from the host computer over the USB
`into the memory of the peripheral device and the appropriate
`15 device driver may be selected by the host computer. Thus,
`peripheral device "B" 146 (shown in FIG. 6) may have
`device "B" characteristics 166 downloaded into its memory,
`as shown by dashed arrow 184 in FIG. 6, and the host
`computer may use device driver "B" 160, as shown by arrow
`20 186 in FIG. 6. The peripheral device "C" 148 (shown in FIG.
`7) may have device "C" characteristics 168 downloaded into
`its memory as shown by the dashed arrow 188 in FIG. 7 and
`the host computer may use device driver "C" 162 as shown
`by arrow 190 in FIG. 7. Thus, a generic USB interfac

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