`Sartore et al.
`
`US006012103A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,012,103
`Jan. 4, 2000
`
`[54] BUS INTERFACE SYSTEM AND METHOD
`
`5,606,672
`5,615,344
`
`2/1997 Wade .
`3/1997 Corder.
`
`
`
`Steven Inventors: Ronald HI sartore, San P. Larky, Del Mar, both of Calif.
`
`
`
`5,671,355
`
`9/1997
`
`
`
`Devon Ct 8.1. ......................... .. _ ~
`
`
`
`'
`.
`-
`[73] Asslgnee' lcyprecssliemlconducmr Corp" San
`056’ 211'
`
`[21] Appl. No.: 08/886,923
`-
`_
`Jul‘ 2’ 1997
`Flled'
`[22]
`Int. Cl.7 ................................................. .. G06F 13/368
`[51]
`[52] U..S. Cl. .................................... .. 710/8; 710/9; 710/10
`[58] Field of Search ........................... .. 379/395; 709/220,
`709/250; 711/114, 115, 130; 713/100; 710/9
`_
`References Clted
`U'S' PATENT DOCUMENTS
`
`[56]
`
`2/1987 Dwyer etal..
`4,641,261
`8/1989 Newman et a1- -
`4,862,355
`2/1994 La“? ct a1~ -
`572897580
`6/1995 Davidson et al. ........................ .. 710/9
`5,428,748
`1/1996 Lynn et al. ............................ .. 379/395
`5,488,657
`5,574,859 11/1996 Yeh .
`5,577,213 11/1996 Avery et al. .
`5,586,268 12/1996 Chen et al. .
`
`5,687,346 11/1997 Shinohara ............................. .. 711/130
`5,701,429 12/1997 Legvold et al. ...................... .. 711/114
`5,794,033
`8/1998 Aldebert et al.
`713/100
`5,802,558
`9/1998 Pierce ........ ..
`.. 711/115
`5,838,907 11/1998 Hansen .................................. .. 709/220
`
`Primary Examiner—Thomas C. Lee
`Assistant Examiner—Chien Yuan
`Attorney, Agent, or Firm—Christopher P. Maiorana, PC.
`[57]
`ABSTRACT
`
`A system and method for recon?guring a peripheral device
`connected by a computer bus and port to a host from a ?rst
`generic con?guration to a second manufacturer speci?c
`con?guration is provided in Which the con?guration 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 recon?gure the bus and port for a particular
`eri heral device
`p p
`'
`
`33 Claims, 7 Drawing Sheets
`
`50 \
`
`52\
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`70
`
`68
`
`DEV'CE
`DR'VER
`
`DEVICE
`CHARACTER
`ISTICS
`
`62\
`CPU
`
`1
`
`65/
`
`\
`64\ ,80
`r MEMORY
`
`\
`\\
`\
`\
`
`\
`\
`\
`I
`[K
`/
`/
`/
`/
`/
`/ /
`LOADABLE
`MEMORY <-- / /
`
`71 \
`
`74\
`
`M
`66
`v
`USB INTERFACE
`
`60
`USB
`l7 USB INTERFACE
`7e
`
`\
`
`72
`\ '
`
`CPU
`
`‘
`
`:
`
`DEVICE
`
`BLACKBERRY Ex. 1001, page 1
`
`
`
`U.S. Patent
`
`Jan. 4, 2000
`
`Sheet 1 of7
`
`6,012,103
`
`20 \
`
`22\
`
`HOST COMPUTER
`
`33
`
`OPERATING SYSTEM
`
`DEVICE
`DRIVER
`
`321
`
`28\
`
`31\ v
`
`CPU
`
`‘
`
`r MEMORY
`
`A
`30\
`v
`USB INTERFACE
`/\
`
`/ USB
`26
`24\ V
`USB INTERFACE
`34/
`A
`
`38\
`MEMORY
`
`36\ v
`
`CpU
`
`‘
`
`>
`
`DEVICE
`CHARACTER
`IsTICs
`
`DEVICE
`
`icil
`(P RIOR ART)
`
`BLACKBERRY Ex. 1001, page 2
`
`
`
`U.S. Patent
`
`Jan. 4,2000
`
`Sheet 2 of7
`
`6,012,103
`
`50 \
`
`52\
`
`HOST COMPUTER
`
`OPERATING SYSTEM
`70
`
`68
`
`820g
`
`DEVICE
`CHARACTER
`ISTICS
`
`62\
`
`\
`64\ 080
`
`651
`
`CPU
`
`‘
`
`> MEMORY
`
`A
`66\
`v
`USBINTERFACE
`
`/
`
`\
`\
`\\
`
`\
`
`\
`\
`\
`
`USB INTERFACE
`76)
`
`k
`
`74\
`
`/
`/
`/
`/
`/
`/ /
`LOADABLE
`MEMORY +- ‘I’
`
`72
`\ "
`
`CPU
`
`‘
`
`,
`
`DEVICE
`
`FIG. 2
`
`BLACKBERRY Ex. 1001, page 3
`
`
`
`U.S. Patent
`
`Jan. 4,2000
`
`Sheet 3 of7
`
`6,012,103
`
`101 \
`
`110
`
`3.3V
`
`HOST
`1.5K!)
`D+ m 100\
`J>
`> J
`104
`USB
`102
`106
`210% \
`> {103
`6-
`D-
`113\
`
`\
`
`PERIPHERAL
`
`/
`L g
`/
`112
`151m
`
`FIG. 3
`(PRIORART)
`
`BLACKBERRY Ex. 1001, page 4
`
`
`
`U.S. Patent
`
`Jan. 4, 2000
`
`Sheet 4 0f 7
`
`6,012,103
`
`140\
`
`142\
`
`HOST COMPUTER
`
`/
`182
`
`DEVICE A
`CHARACTER-
`ISTICS
`
`DEVICE B
`CHARACTER-
`\ ISTICS
`
`DEVICE C
`CHARACTER
`ISTICS
`
`150\
`
`\\
`
`154/
`
`CPU v
`
`> MEMORY
`
`‘
`156\
`v
`F USB INTERFACE
`
`152/
`
`144\
`
`149
`
`USB
`
`USB INTERFACE J
`172/
`
`174\
`
`‘
`
`176\ v
`
`CPU
`
`<
`
`,
`
`LOADABLE
`MEMORY ¢/ /
`
`@718 DEVICE A
`
`\
`\
`\
`\
`
`I180
`I
`I
`/
`/
`/
`
`170
`J
`
`FIG. 5
`
`BLACKBERRY Ex. 1001, page 5
`
`
`
`U.S. Patent
`
`Jan. 4,2000
`
`Sheet 5 of7
`
`6,012,103
`
`140\
`
`142
`\
`
`HOST COMPUTER
`
`158
`DEVICE
`DR|VER"A"
`
`164
`DEVICE A
`CHARACTER
`ISTICS
`
`OPERATING SYSTEM
`DEVICE
`DEVICE
`DRIVER"B"
`DRIVER“C"
`160
`162
`166
`DEVICE B
`CHARACTER
`ISTICS
`
`DEVICE C
`CHARACTER
`ISTICS
`
`15o\
`
`"
`
`CPU
`
`<
`
`V MEMORY
`
`186
`
`A
`156\
`v
`USB INTERFACE
`
`152/
`
`146-\
`
`USB
`
`148
`
`USB INTERFACE
`172/
`
`‘
`
`I
`
`I184
`I
`
`/
`/
`
`176
`\ "
`
`/
`/
`/
`LOADABLE ’//
`MEMORY
`
`170
`
`CPU
`
`<
`
`,
`
`J
`
`@{78 DEVICE B
`
`FIG. 6
`
`BLACKBERRY Ex. 1001, page 6
`
`
`
`U.S. Patent
`
`Jan. 4,2000
`
`Sheet 6 of7
`
`6,012,103
`
`140\
`
`142
`\
`
`HOST COMPUTER
`
`158
`DEVICE
`DRIVER"A"
`
`16
`4
`
`OPERATING SYSTEM
`
`DEVICE
`DRIVER"B"
`160/
`166
`
`DEVICE
`DRIVER"C"
`
`162
`168
`
`DEVICE A
`CHARACTER
`ISTICS
`
`DEVICE B
`CHARACTER
`ISTICS
`
`DEVICE C
`CHARACTER
`ISTICS
`
`150\
`
`154/''
`
`CPU
`
`<
`
`r MEMORY ‘
`
`190/
`
`I
`
`‘
`156\
`v
`USB INTERFACE
`
`152/
`
`148\
`
`149
`USB
`USB INTERFACE
`1721
`
`174\
`
`I
`/
`/
`/
`\
`/188
`/
`//
`/
`/
`/
`_/
`LOADABLE <.,/
`MEMORY
`
`176\
`
`'
`
`CPU
`
`<
`
`>
`
`170
`J
`
`@{78 DEVICE C
`
`w
`
`BLACKBERRY Ex. 1001, page 7
`
`
`
`U.S. Patent
`
`Jan. 4, 2000
`
`Sheet 7 0f 7
`
`6,012,103
`
`200 \
`
`START
`
`f 202
`CONFIGURE DEVICE
`AS LOADER
`
`f 204
`
`'
`V
`LOAD
`CONFIGURATION
`INFORMATION FROM
`HOST INTO DEVICE
`
`206
`
`V
`ELECTRONICALLY
`DISCONECT &
`RECONECT DEVICE
`
`f 208
`
`V
`RECONFIGURE
`DEVICE WITH LOADED
`CHARACTERISTICS
`
`210
`
`RECONFIGURE
`DEVICE
`?
`
`END
`
`FIG. 8
`
`BLACKBERRY Ex. 1001, page 8
`
`
`
`1
`BUS INTERFACE SYSTEM AND METHOD
`
`BACKGROUND OF THE INVENTION
`
`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
`processor may be connected to a plurality of peripheral
`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
`munications ports are used for a variety of different periph
`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
`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
`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
`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
`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
`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
`various different types of communication ports. The com
`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
`iZed connection system. The USB also permits the connec
`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 ?rst connected to the USB
`and the host computer through a standard USB communi
`cations port, the presence of the connected peripheral device
`is detected and a con?guration process of the USB for the
`connected peripheral device, knoWn as device enumeration,
`begins. The enumeration process assigns a unique USB
`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
`tion into the host computer’s operating system. During the
`query, a data table stored in the peripheral device, which
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,012,103
`
`2
`contains the particular peripheral device’s con?guration
`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
`eral device is at the time When the peripheral device is
`plugged into the USB and the enumeration process occurs.
`Thus, to alter the con?guration or personality of a peripheral
`device, such as doWnloading neW code or con?guration
`information into the memory of the peripheral device, the
`host computer system must detect a peripheral device con
`nection or a disconnection and then a reconnection.
`The USB provides a number of advantages, as described
`above, over standard peripheral device connection tech
`niques. The USB, hoWever, does not provide a system and
`method for easily altering the con?guration data for a
`peripheral device. In addition, the USB also does not pro
`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 con?guration information
`for a plurality of different peripheral devices may be stored
`in the host computer rather than in the peripheral devices
`themselves. The ?exibility of the universal serial bus is
`thereby increased because each peripheral device does not
`need to store con?guration information. In addition, the
`con?guration information for any peripheral device may be
`easily modi?ed to accommodate changes in the peripheral
`devices or to take advantage of other peripheral device
`features because it is located in the ?le system of the host
`computers. The con?guration information may include con
`?guration data, microprocessor code to be eXecuted on the
`CPU in the peripheral device, and logic con?guration data.
`The con?guration information may be doWnloaded from the
`host computer into the peripheral device.
`In addition, the universal serial bus interface system and
`method permits the con?guration information associated
`With the peripheral device to be electronically altered to
`match changes in the peripheral devices. Instead of physi
`cally disconnecting and reconnecting a peripheral device to
`recon?gure it, a peripheral device may be electronically
`disconnected and then reconnected to the USB (eg the
`disconnect/connect cycle may be electrically simulated) so
`that a change in the con?guration information for a particu
`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
`cally connected to the bus during the electrical simulation,
`the peripheral device may utiliZe the electrical poWer sup
`plied by the bus to operate the peripheral device. If the
`peripheral device is physically disconnected as in a conven
`tional USB system, the peripheral device Would require its
`oWn electrical poWer source. Thus, the computer system
`may, Without human assistance, recon?gure a peripheral
`device connected to the USB.
`
`BLACKBERRY Ex. 1001, page 9
`
`
`
`6,012,103
`
`15
`
`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 con?guration (e.g., not speci?c to a particular
`peripheral device). Then, the appropriate con?guration
`information for a particular peripheral device and manufac
`turer may be doWnloaded to the chip, an electronic simula
`tion of the disconnection and reconnection of the peripheral
`device occurs, the peripheral device is recogniZed as a neW,
`manufacturer speci?c 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
`recon?guring 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 ?rst con?guration. A
`second set of con?guration information may be doWnloaded
`from the host computer into the peripheral device over the
`computer bus, and the con?guration of the peripheral device
`is electronically reset from said ?rst con?guration to a
`second con?guration based on the second set of con?gura
`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 ?rst con?guration. A second set of
`con?guration information may be received from a computer
`system, and a physical disconnection and reconnection of
`the peripheral device is simulated to recon?gure the periph
`eral device to a second con?guration based on the second
`con?guration information.
`
`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
`connected to a USB interface (I/F) circuit 30, and the USB
`standard provides a universal electrical and physical inter
`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
`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 con?guration
`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
`USB, an enumeration process is conducted in Which the host
`computer determines the characteristics of the peripheral
`device by receiving the con?guration information from the
`memory 38 Within the peripheral device, and con?gures the
`USB according to the characteristics of the peripheral
`device. As shoWn, the con?guration 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
`memory at the factory, and the characteristics of the periph
`eral device may not be easily altered. In addition, the
`memory in the peripheral device stores all of the con?gu
`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
`puter may communicate With the peripheral device using the
`USB. When the ?rst 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 con?guration of the peripheral device cannot be
`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
`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 ?rst peripheral device driver 68, may be
`stored in the operating system 65. Each device driver
`contains information about the proper con?guration of the
`USB for a particular class of peripheral devices. The oper
`ating system Within the host computer may also contain a
`plurality of different con?guration information sets 70,
`Which may include con?guration data for a particular
`peripheral device (including Which device driver to use),
`microprocessor code to be eXecuted by a CPU located in the
`
`25
`
`35
`
`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
`?rst con?guration being connected to a computer system
`through a USB port and con?gured in accordance With the
`invention;
`FIG. 6 is a diagram illustrating a peripheral device being
`con?gured With a second con?guration in accordance With
`the invention;
`FIG. 7 is a diagram illustrating a peripheral device being
`recon?gured With a third con?guration in accordance With
`the invention; and
`FIG. 8 is a ?oWchart illustrating a method for changing
`the con?guration information for a peripheral device con
`nected to a universal serial bus in accordance With the
`invention.
`
`45
`
`55
`
`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,
`
`65
`
`BLACKBERRY Ex. 1001, page 10
`
`
`
`6,012,103
`
`5
`peripheral device, or logic con?guration data to con?gure
`logic circuits in the peripheral device. This invention advan
`tageously enables these con?guration 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
`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 ?ash electrically erasable program
`mable read only memory (?ash EPROM), and a USB
`interface circuit 76. The memory 74 may initially contain an
`identi?cation code to indicate Which con?guration informa
`tion set should be doWnloaded to the peripheral device. The
`USB interface system 71 may be a semiconductor chip
`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 speci?cations, such as communica
`tions protocols, electrical speci?cations and the USB form
`factor, and may permit the peripheral device to be discon
`nected and connected to the USB Without the physical
`disconnection or connection of the peripheral device, as
`described beloW.
`The various con?guration 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
`nect method in accordance With the invention, the peripheral
`devices attached to the host computer may be dynamically
`recon?gured using the updated con?guration information
`sets Without the necessity to physically disconnect and
`reconnect the peripheral devices.
`In operation, during the initial factory con?guration of the
`peripheral device With the USB interface system in accor
`dance With the invention, the memory may store an identi
`?cation code indicating the appropriate con?guration infor
`mation set to be loaded. Thus, When the peripheral device is
`?rst connected to the USB, the con?guration information 70,
`including any microprocessor code applicable to the periph
`eral device and the appropriate con?guration data for the
`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
`nection and reconnection of the peripheral device from the
`USB, as described beloW, may be initiated and a
`re-enumeration process may occur. During the
`re-enumeration process, the neWly doWnloaded con?gura
`tion information may be used to recon?gure the USB for the
`peripheral device and the host computer may select the
`appropriate softWare device driver 68 for the peripheral
`device based on the con?guration information and load the
`device driver into memory 64 as shoWn by arroW 80. For
`eXample, a plurality of different peripheral devices manu
`factured by different companies may each include a USB
`interface system in accordance With the invention. The USB
`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 identi?cation code that is unique to,
`for eXample, a particular manufacturer. When one of the
`peripheral devices is connected to the USB and the host
`computer, the appropriate con?guration information for the
`peripheral device, based on the identi?cation code, is doWn
`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
`peripheral device may include the same USB interface
`system hardWare since the con?guration information is
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`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
`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 ampli?er 104, having a ?rst 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
`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 k9 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
`is connected to the USB port. When a peripheral device is
`connected to the USB port, the 1.5 kQ resistor 110 con
`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
`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
`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 k9 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 ampli?er 122, a ?rst 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
`ductor sWitch such as a ?eld effect transistor
`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 con?guration 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
`
`BLACKBERRY Ex. 1001, page 11
`
`
`
`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
`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
`tion of the peripheral device may be effected Without actu
`ally physically disconnection and/or connecting the periph
`eral device. This electronic disconnection and reconnection
`of the peripheral device, as described above, in combination
`With the storage of the con?guration information sets on the
`host computer permits the con?guration 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 con?guration 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
`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
`ti?er that identi?es the appropriate con?guration informa
`tion to be doWnloaded into the peripheral device. NoW, the
`connection of each of these peripheral device to the com
`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
`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 identi?es device “A” character
`istics 164 as the appropriate con?guration information and
`that con?guration 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 identi?ed
`by device “A” characteristics 164 as the appropriate device
`driver, is loaded from the operating system into the memory,
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`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
`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
`system and a unique manufacturer signature in the non
`volatile memory and may be re-enumerated in accordance
`With the invention so that the appropriate device character
`istics are doWnloaded from the host computer over the USB
`into the memory of the peripheral device and the appropriate
`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 da