WO2016166539A1 - Isolator with automatic speed selection for usb communication systems - Google Patents

Isolator with automatic speed selection for usb communication systems Download PDF

Info

Publication number
WO2016166539A1
WO2016166539A1 PCT/GB2016/051045 GB2016051045W WO2016166539A1 WO 2016166539 A1 WO2016166539 A1 WO 2016166539A1 GB 2016051045 W GB2016051045 W GB 2016051045W WO 2016166539 A1 WO2016166539 A1 WO 2016166539A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
speed
downstream
microcontroller
isolator
Prior art date
Application number
PCT/GB2016/051045
Other languages
French (fr)
Inventor
Hein LATT
Peter Cheung
Original Assignee
Murata Manufacturing Co., Ltd
Murata Power Solutions (Milton Keynes) Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Manufacturing Co., Ltd, Murata Power Solutions (Milton Keynes) Limited filed Critical Murata Manufacturing Co., Ltd
Publication of WO2016166539A1 publication Critical patent/WO2016166539A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • This application relates to an isolator for use in Universal Serial Bus (USB) communication systems, wherein the speed of an isolator apparatus is arranged to adapt to match the speed of a downstream USB device connected to the downstream side of the USB communication system.
  • USB Universal Serial Bus
  • USB-enabled devices such as laptops, cameras and storage devices
  • computers form an increasingly important part of everyday life; smaller, lighter and more energy-efficient USB-enabled devices, such as laptops, cameras and storage devices, are commonly being used in environments outside the home or office, where high voltages may be present.
  • high voltages may be present.
  • medical devices may be attached to a patient's body and large area electrodes or conductive gel may be used in order to reduce the impedance of the skin and to more effectively monitor conditions inside the patient's body. This in turn means that any unintended signals passing through these medical devices can easily cause currents to flow through the patient, potentially exposing them to danger.
  • a medical device may be simultaneously connected to a patient and plugged into the USB host of a computer device in order for the computer device to record measurements from the medical device. If it is necessary to use a defibrillator on the patient then the high voltage generated by the defibrillator may pass from the patient to the computer device via the USB cable of the attached medical device. As high voltage could damage the computer device, it would be necessary to disconnect the medical device from the patient or the computer device prior to using the defibrillator.
  • USB communication system that provides galvanic isolation between two different portions of the USB communication system that may operate in voltage domains with different source potentials and / or different ground references in order to protect a host computer device and connected systems from unintended high voltage signals or ground reference errors.
  • USB standard was developed to regulate the connection of computer peripheral devices to computers in order to facilitate communication between the devices as well as to enable the computer to supply power to the peripheral device.
  • the original version of the standard allowed two different data transfer rates, a "low speed” operating at 1 .5 Mbits/s and a “full speed” operating at 12 Mbits/s.
  • a "low speed” operating at 1 .5 Mbits/s and a "full speed” operating at 12 Mbits/s.
  • it is necessary for a computer host to be able to determine the speed at which a connected peripheral device is capable of operating in order to allow the host of the computer to communicate with the peripheral device.
  • USB standards also provide for a "high speed" operating mode that transfers data at a maximum signalling rate of 480 Mbits/s.
  • a high speed device In operation, a high speed device must first identify itself as a full speed device; once the high speed device has connected as a full speed device it may then send a high speed chirp in order to establish a high speed connection with the upstream USB host, if this is supported.
  • a USB device will have at least four connector lines, namely a D+ and a D- communication line that together form a differential pair, a power connection (typically known as the VBUS connection) and a ground connection for power return.
  • a power connection typically known as the VBUS connection
  • a ground connection for power return.
  • the USB device may indicate its speed by pulling the voltage on either the D+ or D- data line high using an attached pull up resistor.
  • a full speed device uses a pull up resistor attached to the D+ data line in order to identify itself as a full speed device, whereas a low speed device uses a pull up resistor attached to the D- data line in order to identify itself as a low speed device.
  • a standard USB host can automatically identify the speed of a USB device attached to it by monitoring the status of the D+ and D- USB data lines and the USB host can adjust to the communication speed of the connected USB device.
  • USB isolation circuit In order to provide galvanic isolation in a USB system, it is known to insert a USB isolation circuit between a USB host and a connected device.
  • the USB isolation circuit includes an isolation barrier that breaks the direct electrical path from the USB host to the connected USB device in order to provide the isolation.
  • the USB host side of the isolation barrier is then known as the upstream side of the USB isolator, and the USB device side of the isolation barrier is known as the downstream side of the USB isolator.
  • the power connections of the USB communication system may be connected using a DC-to-DC converter in order to provide isolation on the power line.
  • the isolation provided by the USB isolation circuit also means that the USB host cannot 'see' the pull up resistors used in the USB device and thus cannot automatically determine the speed of the connected USB device.
  • One known method for overcoming this problem is to provide a manual switch on the USB isolation circuit in order to allow a user to manually select the speed of the USB isolation circuit to match the speed of the USB device. The USB isolation circuit will then be operating at the same speed as the USB device and the USB host will be able to see the correct speed of the USB device at the upstream side of the USB isolation circuit.
  • this method requires the user to know the speed of the USB device and to manually adjust the speed setting when switching between USB devices.
  • a separate manual switch is required for each side of the isolation barrier in the USB isolation circuit since isolation between the upstream and downstream sides must be maintained, but the respective speed settings must match in order for the USB isolation circuit to function.
  • USB isolation circuit Another known method is to hardwire the USB isolation circuit to operate at a single speed. This will mean that the USB isolation circuit will work when a USB device operating at the same speed is connected, but the USB isolation circuit will fail when a USB device of a different speed is connected to it.
  • USB hub controller between the USB isolation circuit and the USB device so that the USB hub controller can convert the communications from the USB device to match the speed mode of the single speed USB isolation circuit.
  • USB hub controller requires the USB host to load the drivers required for the USB hub controller. Furthermore, the use of a USB hub controller increases the power consumption, size and cost of the system.
  • the invention in a first aspect, relates to a USB isolator apparatus comprising first I/O terminals for interfacing with a first USB device and second I/O terminals for interfacing with a second USB device, a USB isolation circuit having an upstream side and a downstream side, the upstream side connected to the first I/O terminals and the downstream side connected to the second I/O terminals, and a galvanic isolation barrier disposed between the upstream side and the downstream side of the USB isolation circuit to provide galvanic isolation between the first and second I/O terminals .
  • the upstream side of the USB isolation circuit has a first speed input for receiving an upstream speed signal
  • the downstream side of the USB isolation circuit has a second speed input for receiving a downstream speed signal.
  • the apparatus further comprises a microcontroller for monitoring the second I/O terminals and, when the second USB device is connected to the second I/O terminals, determining the speed of the second USB device.
  • the apparatus further comprises an isolation channel for providing an isolated signal path between the microcontroller and the first speed input on the upstream side of the USB isolation circuit.
  • the microcontroller is operable to provide a downstream speed signal to the second speed input of the USB isolation circuit and, via the isolation channel, provide an upstream speed signal to the first speed input of the USB isolation circuit, wherein the upstream speed signal and the downstream speed signal both indicate the speed of the second USB device.
  • USB isolator apparatus to automatically detect the speed of a connected USB device, i.e. the second USB device, and to set the speed of the upstream and downstream sides of the USB isolation circuit, without the need for user intervention and also without the need for a hub controller, which would complicate the system and increase the cost.
  • the isolation channel may comprise an opto-isolator, or a capacitively coupled isolator or a magnetically coupled isolator. This advantageously provides a simple method for isolating the speed signal that is sent from the
  • microcontroller at the downstream side of the device, to the upstream side of the USB isolation circuit in order to control the setting of the speed at upstream side of the USB isolation circuit.
  • the second I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the downstream side of the USB isolator circuit, and the microcontroller determines the speed of the second USB device by sensing USB data signals on the respective data lines.
  • the first I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the upstream side of the USB isolator circuit.
  • the upstream and downstream speed signals provided by the microcontroller may either be a high signal or a low signal, based on the determined speed of the second USB device.
  • the apparatus may further comprise a voltage source and a ground connection coupled to the microcontroller wherein the high signal may be provided by connecting to the voltage source and the low signal may be provided by connecting to the ground connection.
  • the USB isolator circuit may further comprise an enable/disable terminal connected to an enumeration control signal output on the microcontroller wherein the microcontroller is operable, via the enumeration control signal output, to cause the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and provided the upstream and downstream speed signals to the first and second speed inputs of the USB isolation circuit.
  • the system further comprises a counter that is configured to count the period of time during which the microprocessor detects a second USB device detached condition by monitoring the at least two downstream USB data lines.
  • the microprocessor may be further configured to maintain the upstream and downstream speed signals until the counter counts a predefined period.
  • the counter of the system may also be configured to reset the count if a second USB device detached condition is not detected by the microprocessor.
  • the system will continue to use the same speed setting associated with a given speed signal until it has been determined that the downstream USB device has been disconnected for a predetermined amount of time. This additionally reduces the possibility of a false detection for detachment of the USB device.
  • One of the first or the second USB device may be a USB hub.
  • the second USB device may also be referred to as a downstream USB device, since it is the second I/O terminals that are connected to the downstream side of the USB isolation circuit that are for interfacing with the second USB device.
  • the invention in a second aspect, relates to a method for automatically selecting the speed of a USB isolator that interfaces with a first USB device and a second USB device, comprising monitoring, by a microcontroller, at least two downstream USB data lines between a downstream side of a USB isolation circuit and a second USB device and determining, at the microcontroller, the speed of the second USB device based on the at least two monitored USB data lines.
  • the method further comprises sending, from the microcontroller, an upstream speed signal to a first speed input of the upstream side of the USB isolation circuit and sending, from the microcontroller, a downstream speed signal to a second speed input of a downstream side of the USB isolation circuit via an isolation channel.
  • the upstream speed signal and the downstream speed signal both indicate the determined speed of the second USB device.
  • the method advantageously enables the method to automatically detect the speed of a connected second USB device and set the speed of the upstream and downstream sides of the USB isolation circuit, without the need for user intervention.
  • the method also advantageously avoids the need to use an integrated hub controller for receiving, processing and sending USB communications, which would complicate the method and increase the overall cost.
  • the method may further comprise providing either a high signal or a low signal as the upstream and / or downstream speed signals based on the determined speed of the second USB device.
  • the high signal may be provided, from the microcontroller, by connecting to a voltage source and the low signal may be provided, from the
  • microcontroller by connecting to ground.
  • the method may further comprise causing, by the
  • the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and provided the upstream and downstream speed signals to the upstream and downstream sides of the USB isolation circuit respectively.
  • This step advantageously causes the USB data lines to come to a steady state so that the speed of the connected second USB device may be determined.
  • the speed of the second USB device may be determined by monitoring the pulled up or pulled down status of a D+ and a D- USB data line.
  • the second USB device may be determined to operate in a low speed mode if the D+ USB data line is pulled down and the D- USB data line is pulled up.
  • the second USB device may be determined to operate in a full speed mode if the D+ USB data line is pulled up and the D- USB data line is pulled down.
  • the method may further comprise monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the second USB device is determined, by the microcontroller, to be in a detached state when the D+ and D- USB data lines are pulled down for a predefined period counted by a counter. The count may be reset if either of the D+ or D- USB data lines is determined, by the microcontroller, to be pulled up.
  • the method for determining the speed of the second USB device will preferably not be repeated until it has been determined that the downstream USB device has been disconnected for a predetermined amount of time. This additionally reduces the possibility of a false detection for detachment of the second USB device.
  • the method may further comprise monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the downstream USB device is determined to be an invalid device when both the D+ and D- USB data lines are pulled up.
  • the invention relates to a computer program product containing computer code that, when executed on the microcontroller, causes the microcontroller to perform the steps of the method.
  • FIG. 1 is an illustration of a USB isolator forming an embodiment of the invention
  • Figure 2 is a flowchart that represents a method for determining if a valid USB device has been connected and the communication speed of a connected USB device;
  • FIG. 3 is a flowchart that represents a method for automatically selecting the speed of a USB isolator that interfaces with a USB host bus and a downstream USB device;
  • Figure 4 is a circuit diagram that illustrates a specific implementation of the embodiment of the invention shown in Figure 1.
  • FIG. 1 is a USB isolator apparatus 100 which comprises a USB isolator circuit
  • the USB isolator circuit 1 10 and the isolation channel 1 14 are each electrically divided into two halves, one half on either side of the isolation barrier 1 16.
  • the isolation barrier 1 16 divides the USB isolator 100 into an upstream side 1 18a and a downstream side 1 18b.
  • the USB isolator 100 has two USB communication lines for carrying a differential
  • USB data signal to and from a first USB device and a second USB device.
  • the first USB device may be an upstream USB host and the second USB device may be a downstream USB device.
  • These two USB communication lines are typically known as the D+ and D- USB data lines.
  • the USB isolator 100 may also include VBUS and GND connections for transferring power through the USB isolator and to the downstream USB device.
  • a DC-to- DC transformer, or other converter, (not shown) may be provided to isolate the power connections carrying the voltage signal.
  • the upstream side 1 18a of the USB isolator device 100 comprises USB input / output (I/O) terminals 1 11 a and 1 1 1 b, for the D+ and D- USB data lines respectively, for connection to a first USB device, for example USB host, a USB hub or another USB communication line 1 13.
  • the downstream side 118b of the USB isolator 100 comprises USB input / output terminals 1 15a and 1 15b, for the D+ and D- USB data lines respectively, for connection to a second USB device, for example downstream USB device 1 17.
  • the second USB device will be referred to as a downstream USB device for clarity.
  • the respective USB input / output (I/O) terminals 1 1 1 and 1 15 are typically provided as a USB socket (not shown) for receiving a USB plug of the USB device.
  • the D+ input / output terminal 1 1 1 a is connected to the upstream D+ pin of the USB isolator circuit 1 10 by a data line 120a and the D- input / output terminal 1 1 1 b is connected to the upstream D- pin of the USB isolator circuit 1 10 by a data line 122a.
  • the D+ input / output terminal 1 15a is connected to the downstream D+ pin of the USB isolator circuit 1 10 by a data line 120b and the D- input / output terminal 1 15b is connected to the downstream D- pin of the USB isolator circuit 1 10 by a data line 122b.
  • USB input / output terminals 1 1 1 a, 1 1 1 b, 1 15a and 1 15b may be located in the USB isolator circuit 1 10.
  • the separate USB data lines 120a, 120b, 122a and 122b may be omitted and the USB I/O terminals 1 1 1 a, 1 11 b, 1 15a and 1 15b may be regarded as forming the USB data lines.
  • the USB isolator circuit 1 10 may be any circuit that is operable to isolate the D+ 120 and D- 122 USB data lines and that may also be switched between USB speed operating modes, for example between low speed and full speed operating modes. Such devices work at a fixed USB transmission speed, which may be set by SPU (speed select upstream) and SPD (speed select downstream) pins on the respective upstream and downstream sides.
  • SPU speed select upstream
  • SPD speed select downstream
  • the SPU and SPD pins control the buffer speed, slew rate, timing and logic conventions on the upstream and downstream sides of the USB isolator circuit 1 10 respectively.
  • the SPU and SPD pins are typically set by connecting each pin to a given voltage level that defines the desired state using a plurality of voltage thresholds.
  • speed signals These voltage levels will be referred to herein as speed signals, wherein an upstream speed signal may be provided to the SPU pin and a downstream speed signal may be provided to the SPD pin.
  • upstream and downstream speed signals may also be referred to as speed setting signals or speed control signals.
  • speed setting signals As will be appreciated, the SPU and SPD pin settings must match each other in order for the USB isolator circuit to work properly.
  • the USB isolator circuit 1 10 may optionally further comprise a pin for receiving an 'enable / disable' or a 'delay' enumeration control signal. This pin will be referred to herein as the PIN input of the USB isolator circuit 1 10 and may be used to prevent enumeration of the downstream (second) USB device for a given duration of time. Enumeration of a USB device 1 17 is the process of detecting, identifying and loading the drivers required for the USB device 1 17 to operate.
  • the USB isolation circuit 1 10 may use any means that can selectively enable or disable the whole or a part of the USB isolator 100.
  • the USB isolator circuit 1 10 may selectively activate a pull up resistor that is integrated into the upstream side of the USB isolator circuit in order to prevent the upstream side of the USB isolator circuit 1 10 from attaching to the upstream USB host 1 13.
  • a USB isolator circuit 1 10 is the Analog Devices (RTM) ADuM4160 USB isolator.
  • the ADuM4160 USB isolator circuit provides isolation by using transformers; however, it will be appreciated that alternative USB isolator circuits 1 10 may use different methods for providing isolation, for example optically coupled isolators (otherwise known as optocouplers), capacitively coupled isolators or magnetically coupled isolators (otherwise known as magnetocouplers).
  • the microcontroller 1 12 may be any microcontroller that can be programmed to determine the speed of a downstream USB device 1 17 by monitoring the D+ 120b and D- 122b USB data lines that are connectable to the downstream USB device 1 17 via the USB input / output terminals 1 15a and 1 15b and to output a speed signal for controlling the setting of the USB communication speed of the apparatus in response to the determination.
  • microcontroller 1 12 The operation of a suitably programmed microcontroller 1 12 will be explained below with reference to Figure 2. Configuring the microcontroller to operate in this manner may be achieved using suitable software or firmware.
  • the I03 input of the microcontroller 1 12 is coupled to the downstream D+ USB data line 120b via communication line 121 a to enable the microcontroller 1 12 to monitor the downstream D+ USB data line 120b.
  • the 101 input of the microcontroller 1 12 is coupled to the downstream D- USB data line 122b via communication line 121 b to enable the microcontroller 1 12 to monitor the downstream D- USB data line 122b.
  • the IO0 output of the microcontroller 1 12 is connected to the PIN pin of the USB isolator circuit 1 10 via communication line 124. This connection enables the
  • microcontroller to provide an enumeration control signal to the USB isolator circuit for controlling the 'enable / disable' or 'delay' enumeration state.
  • the USB isolator circuit for controlling the 'enable / disable' or 'delay' enumeration state.
  • microcontroller 1 12 may force the USB isolator 100 into a delayed enumeration state such that the voltages on the D+ 120b and D- 122b USB data lines remains at a steady (or idle) state.
  • the speed of a connected downstream USB device 1 17 may then be determined. Once the speed of the downstream USB device 1 17 has been determined, enumeration of the downstream USB device 1 17 may be selectively enabled again.
  • the microcontroller 1 12 may additionally comprise a counter function (not shown).
  • the counter function could also be carried out by a component external to the microcontroller 1 12, as will be apparent to the skilled person.
  • the microcontroller 1 12 may be replaced by an arrangement of simple digital logic gates, a timer / counter and a flip-flop circuit or other discrete components.
  • the necessary arrangement of such components will be clear to the skilled person in light of the functions that the microcontroller 1 12 is required to carry out as detailed in the following pages.
  • a microcontroller 1 12 is the Microchip (RTM) PIC10F322 microcontroller.
  • the additional isolation channel 1 14 may be any galvanic isolator for receiving and isolating a speed signal from the I02 output of the microcontroller 1 12, which is located in the downstream side 1 18b of the USB isolator 100, (via a communication line 128b) to the SPU pin of the upstream side of the USB isolation circuit 1 10 (via a communication line 128a).
  • the I02 output of the microcontroller 1 12 is also connected to the SPD pin of the downstream side of the USB isolation circuit 1 10 via a communication line 126 that may be coupled directly to the IO02 output or alternatively coupled to communication line 128b as shown in Figure 1 .
  • the I02 output enables the microcontroller to output upstream and downstream speed signals to the SPU and SPD inputs of the USB isolator circuit 1 10 so that the upstream and downstream sides of the USB isolator circuit 1 10 can be set to operate at the same speed, i.e. the detected speed of the downstream USB device 1 17.
  • the IO0, 101 , I02 and I03 naming of the microcontroller outputs is arbitrary and that the naming may be interchanged or indeed any other nomenclature could be used.
  • the isolation channel 1 14 may be in the form of a transformer, an opto-isolator, a capacitively coupled isolator or a magnetocoupler.
  • an opto-isolator is used to provide the isolation channel 1 14.
  • an opto-isolator is the Vishay (RTM) VOS617A optocoupler.
  • the USB isolation circuit 1 10 is disposed between the first USB device, such as an upstream USB host, and the downstream USB device such that the electrical paths between the D+ 120b and D- 122b USB data lines, which are connectable to the downstream USB device, are isolated from the corresponding portions of the D+ 120a and D- 122a USB data lines that are connectable to the (upstream) first USB device.
  • the microcontroller 1 12 is coupled to the D+ 120b and D- 122b
  • USB data lines via communication lines 121 a and 121 b to respective microcontroller inputs I03 and 101 .
  • This enables the microcontroller to determine and monitor the pulled up or pulled down status of the D+ 120b and D- 122b USB data lines in order to detect the speed of a connected downstream USB device.
  • a method 200 for determining if a USB device 1 17 is connected and determining the communication speed of the connected USB device 1 17 by monitoring the D+ 120b and D- 122b USB data lines connected to the USB device will now be described with reference to Figure 2.
  • the microcontroller 1 12 of the USB isolator 100 may have its firmware programmed such that it performs the method 200.
  • enumeration of any connected downstream USB device 1 17 is preferably disabled or delayed at step 210.
  • a downstream USB device 1 17 is first connected to a USB host 1 13 (the first USB device)
  • the downstream USB device 1 17 and USB host 1 13 will typically begin the enumeration process; however, it is not possible to detect the speed of the downstream USB device 1 17 during the
  • USB isolator 100 it is preferable to disable or otherwise delay enumeration of the downstream USB device 1 17 before or once the USB device is connected to the USB isolator 100.
  • this step may not be necessary if the connected downstream USB device 1 17 is already in an idle state.
  • the counter (which may be embodied in the microcontroller 1 12) is then reset as shown in step 212.
  • USB isolator circuit 1 10 will prevent any components, such as the USB host 1 13, provided in the upstream side 1 18a from being able to "see” the pull up resistors that are applied to either the D+ USB data line 120b or the D- USB data line 122b of a connected downstream USB device 1 17, a component in the downstream side 1 18b, such as the microcontroller 1 12, will still be able to "see” the pull up resistors in order to determine the speed of the connected downstream USB device 1 17.
  • USB data lines 120b and 122b may then be monitored either simultaneously or in turn. If a downstream USB device 1 17 with a pull up resistor on a given USB data line is connected then the USB data line will be determined to be at 'logic 1 ', i.e. pulled up.
  • USB data line will be determined to be at 'logic 0', i.e. pulled down. This is because the D+ 120b and D- 122b USB data lines of the USB isolation circuit 1 10 are typically pulled down by pull down resistors in the absence of a pull up resistor being provided by a connected downstream USB device 1 17.
  • the method 200 will determine if the D+ USB data line 120b is at logic 0 (i.e. pulled down). If this is not true and the D+ USB data line 120b is pulled up, i.e. at logic 1 , then the method will progress to step 216 where the method will determine if the D- USB data line 122b is at logic 0. If the D- USB data line 122b is determined to be at logic 0 then it will have been determined that the downstream USB device 1 17 is a full speed USB device connected to the USB isolator 100.
  • the method may then check if a full speed flag has been set at step 218.
  • This flag can be a setting held in the memory of the microcontroller 1 12 that determines the nature of the speed signal that is output by the microcontroller. If the full speed flag has not been set, then it may be set at step 220 and then enumeration enabled at step 222. This will then allow the connected full speed downstream USB device to communicate with the upstream USB host (the first USB device) 1 13 via the USB isolator 100 and the USB host
  • the method may then start the enumeration process with the downstream USB device 1 17.
  • the method will loop back to step 212 so that the method can repeat. This method is preferably repeated periodically so that it can be detected when the full speed USB device is detached from the USB isolator 100 as will be discussed below.
  • step 216 it is determined that the D- USB data line 122b is also at logic 1 then this would indicate that an invalid USB device is connected, as shown at step 224, since there should not be a time during normal operation when a USB device pulls both the D+ and D- USB data lines up.
  • step 214 it is determined that the D+ USB data line 120b is at logic 0 then the method will progress to step 226 where the D- USB data line 122b will be monitored. If the D- USB data line 122b is determined to be at logic 1 then it will have been determined that the downstream USB device 1 17 is a low speed USB device connected to the USB isolator
  • the method may then check if a low speed flag has been set at step 228.
  • This flag can be a setting held in the memory of the microcontroller 1 12 that determines the nature of the speed signal that is output by the microcontroller 1 12. If the low speed flag has not been set, then it may be set at step 230 and then enumeration enabled at step 222. This will then allow the connected low speed downstream USB device to communicate with the upstream USB host 1 13 via the USB isolator 100 and the USB host 1 13 may then start the enumeration process with the low speed USB device. Once the full speed flag has been set, or alternatively if the low speed flag has already been set, the method will loop back to step 212 so that the method can repeat. This method is preferably repeated periodically so that it can be detected when the low speed USB device is detached from the USB isolator 100 as will be discussed below.
  • USB ports are 'hot swappable' by nature and thus a user may decide to detach a connected downstream USB device 117 and / or connect a new downstream USB device 1 17 (which may operate at a different speed to the previous downstream USB device) at any point in time. Since the speed of the USB isolator 100 will be fixed until the USB isolator detects that the USB device has been detached, the USB isolator 100 is preferably able to detect the USB device 1 17 being detached from the USB isolator 100.
  • the D+ 120b and D- 122b USB data lines will not typically be at stable states during normal operation when a downstream USB device 1 17 is connected. Furthermore, the D+ 120b and D- 122b USB data lines should not both be at the same logic value at the same time.
  • step 226 it is determined that the D- USB data line 122b is at logic 0 (as well as the D+ USB data line 120b) then this condition would be indicative of a downstream (second) USB device detached condition. This is because the USB data lines default to logic 0 (pulled down) when no downstream USB device 1 17 is attached with a pull up resistor to pull the USB data line into the logic 1 (pulled up) state.
  • noise or a glitch on the D+ 120b and D- 122b USB data lines may cause the method to falsely detect that a downstream USB device 1 17 is not connected or that a previously connected downstream USB device 117 has been detached.
  • a false detection may also be caused if the speed of the method 200 is too slow for the speed of the USB communication on the D+ and D- USB data lines.
  • preferred embodiments of the invention increment the counter at step 232 if the D- USB data line 122b is determined to be at logic 0 at step 226.
  • the method 200 may then determine, at step 234, if a predefined count value has been reached. If the predefined count value has not been reached then the method simply returns to step 214 to monitor the D+ USB data line 120b again. Alternatively, if the predefined count value has been reached then the method will determine at step 236 that no downstream USB device is attached and that the USB isolator 100 is in a downstream (second) USB device detached state. The method may then return to step 210 wherein the method may disable or delay enumeration so that the USB isolator 100 is ready to detect the next downstream USB device 1 17 to be connected to the USB isolator 100.
  • the predefined count value should be set to be high enough to reduce the likelihood that the method returns a false detection of the downstream (second) USB device detached state. However, the predefined count should be set low enough to enable the system to enable enumeration quickly when a downstream USB device 1 17 is next connected to the USB isolator 100. If either of the D+ 120b or D- 122b USB data lines are detected at logic 1 (pulled up) before the counter reaches the predefined value then the counter will be reset, the count will begin again. The method 200 will have determined that the previous
  • downstream USB device detached condition determination was a false detection and that the downstream USB device 1 17 is still attached to the system.
  • USB isolator device 100 Since high speed USB devices must connect to a USB host 1 13 initially as a full speed USB device, high speed USB devices are also supported by the above method 200 and USB isolator device 100.
  • the microcontroller 1 12 may then send upstream and downstream speed signals to first and second speed inputs on the upstream side (via the isolation channel) and downstream side of the USB isolator circuit 1 10 respectively in order to automatically set the speed of the USB isolator 100 to match the speed of the connected USB device 1 17.
  • the upstream speed signal and downstream speed signal may alternatively be referred to as a first speed setting signal and a second speed setting signal respectively or vice versa.
  • step 200 may be reversed and the desired result will still be achieved.
  • the method 200 may be adapted to determine if the D+ 120b and D- 122b USB data lines are in a logic 1 state rather than a logic 0 state as described above.
  • Steps 218 and 228 may also be omitted in an embodiment of the invention such that the previous speed flags are simply overwritten with the appropriate new speed flag values.
  • steps 212, 232 and 234 may be omitted in alternative embodiments of the invention that do not include a counter.
  • FIG. 3 is a flowchart representing a method 300 for automatically selecting the speed of a USB isolator 100 that is arranged to interface with a USB host 1 13 and a downstream USB device 1 17.
  • the method comprises monitoring, by a microcontroller 1 12, at least two downstream USB data lines between a downstream side of a USB isolation circuit 1 10 and a downstream USB device 1 17.
  • the at least two downstream USB data lines may be the D+ 120b and D- 122b USB data lines described above.
  • the method 300 comprises determining, at the microcontroller 112, the speed of the downstream USB device 1 17 based on the at least two monitored USB data lines.
  • the microcontroller 1 12 may be programmed to perform method 200 in order to determine the speed of the downstream USB device 1 17.
  • step 312 may also comprise determining a USB device detached condition or an invalid USB device condition based on the at least two monitored USB data lines.
  • the method 300 comprises sending, from the microcontroller 1 12, a downstream speed signal to the downstream side of the USB isolation circuit 1 10 (via communication line 126) and an upstream speed signal to an upstream side of the USB isolation circuit 1 10 (via the isolation channel 114 and communication lines 128b and 128a).
  • the upstream speed signal and the downstream speed signal both indicate the determined speed of the downstream USB device 1 17.
  • the upstream and downstream speed signals provided by the microcontroller 1 12 may be a high signal, for example by connecting the SPD and SPU pins of the respective sides of the USB isolation circuit 1 10 to a voltage source.
  • the upstream and downstream speed signals provided by the microcontroller 1 12 may be a low signal, for example by connecting the SPD and SPU pins of the respective sides of the USB isolation circuit 1 10 to a ground reference.
  • the methods 200 and 300 and the USB isolator device 100 described above automatically detect the speed of a USB device 117 connected to a variable speed USB isolation circuit 1 10 and adapt the speed of the USB isolation circuit 1 10 to match that of the connected downstream USB device 1 17.
  • This advantageously provides automatic speed detection and selection functionality to a USB isolator circuit 1 10 that could otherwise only be hardwired to a fixed USB communication speed.
  • an apparatus 100 is provided with which the user is not required to visually identify the speed of a downstream USB device 1 17 to be connected to the USB isolator 100 nor to then manually set the speed of the USB isolator 100, for example by switches, to match the speed of the downstream USB device 1 17 before it is connected to the USB isolator 100.
  • the methods 200 and 300 and the apparatus 100 described above achieve this automatic speed detection and speed adaptation without the need for a USB hub controller.
  • This advantageously reduces the number of components required to complete the apparatus 100, reduces the total cost and power consumption of the apparatus 100 and avoids the requirement for any computer that is to be used with the USB isolator apparatus 100 to be loaded with appropriate USB hub driver software.
  • FIG. 4 shows a circuit diagram of a USB isolator apparatus 400 according to a preferred embodiment of the invention.
  • the USB isolator 400 comprises an Analog Devices (RTM) ADuM4160 USB isolator circuit 410 to provide USB bus isolation, a Microchip (RTM) PIC10F322 microcontroller 412 to detect the speed of a removable downstream USB device 1 17 connected to a downstream USB port 415 and provide USB isolator circuit speed signals and a Vishay (RTM) VOS617A optocoupler 414 for facilitating communication of the speed signal from the downstream PIC10F322 microcontroller 412 to the upstream side of the ADuM4160 USB isolator circuit 410.
  • RTM Analog Devices
  • RTM Microchip
  • VOS617A optocoupler 414 for facilitating communication of the speed signal from the downstream PIC10F322 microcontroller 412 to the upstream side of the ADuM4160 USB isolator circuit 410.
  • a dotted line 416 has been included to show the location of the isolation barrier in the USB isolator 400, which is electrically split into an upstream side 418a and a downstream side 418b.
  • PIC10F322 microcontroller 412 correspond to the inputs and outputs IO0, 101 , I02 and I03 of the microcontroller 112 respectively.
  • the ADuM4160 USB isolator circuit 410 is intended to be hardwired to a single speed (for example a low speed or a full speed) via speed select pins that are labelled as SPU for the upstream speed select pin and SPD for the downstream speed select pin. As with the USB isolator circuit 1 10, the ADuM4160 USB isolator circuit 410 works when the speed of a downstream USB device or peripheral 1 17 (not shown) attached to a downstream USB port 415 is the same as the speed of the ADuM4160 USB isolator circuit
  • the USB isolator 400 additionally comprises an upstream USB port 41 1 for connecting to an upstream USB host 1 13 (not shown); this connection may be a fixed connection or alternatively the USB host 1 13 may be removably connected.
  • upstream USB host 1 13 and downstream USB device 1 17 are not shown in Figure 4, it will be appreciated that the upstream USB port 41 1 and the downstream USB port 415 of the USB isolator apparatus 400 are suitable for interfacing with the upstream USB host 1 13 and downstream USB device 1 17 respectively.
  • Pins 10 and 1 1 of the ADuM4160 USB isolator circuit 410 are labelled DD+ and DD- respectively and represent the downstream D+ and D- input / output terminals of the
  • ADuM4160 USB isolator circuit 410 These pins are connected to the corresponding D+ and D- pins of the downstream USB port 415 via USB data lines 420b and 422b respectively.
  • the downstream D+ and D- input / output terminals of the ADuM4160 USB isolator circuit 410 transfer or pass the differential information, received from the USB data lines 420b and 422b, to the upstream D+ and D- input / output terminals of the ADuM4160
  • USB isolator circuit 410 via an internal isolation barrier.
  • the upstream D+ and D- input / output terminals of the ADuM4160 USB isolator circuit 410 are labelled UD+ and UD- and are connected to the D+ and D- pins of an upstream USB port 41 1 via USB data lines 420a and 422a respectively.
  • series resistors R1 to R4 are connected to the UD-, UD+, DD- and DD+ transceiver terminals of the ADuM4160 USB isolator circuit 410.
  • the resistors For full speed operation the resistors
  • R1 to R4 are preferably 24 ⁇ , 1 % resistors. If the ADuM4160 USB isolator circuit 410 was to be operated in a fixed low speed operating mode then resistors R1 to R4 would preferably be replaced by 0 ⁇ shunts, for example using a simple wire to short the connection. However, the resistors 24 ⁇ , 1 % resistors do not significantly affect the low speed performance and thus may be used for low speed operation as well as full speed operation.
  • the RA3 input of the microcontroller 412 is coupled to the downstream D+ USB data line 420b via communication line 421 a to enable the microcontroller 412 to monitor the downstream D+ USB data line 420b.
  • the RA1 input of the microcontroller 412 is coupled to the downstream D- USB data line 422b via communication line 421 b to enable the microcontroller 412 to monitor the downstream D- USB data line 422b.
  • the communication lines 421 a and 421 b may include series resistors R6 and R5 respectively to provide correct termination at the DD+ and DD- pins of the downstream side of the ADuM4160 USB isolator circuit 410.
  • the PIN pin 12 of the ADuM4160 USB isolator circuit 410 controls the power connection to the upstream pull up resistor for the upstream USB port 411 , which can be used to delay enumeration when it is pulled down low.
  • the PIN pin is connected to output pin RAO of the PIC10F322 microcontroller 412 via communication line 424. This allows the PIC10F322 microcontroller 412 to selectively enable or disable enumeration, for example while the PIC10F322 microcontroller 412 is trying to detect the speed of the attached downstream USB device 1 17.
  • the SPD pin of the ADuM4160 USB isolator circuit 410 is connected to output pin RA2 of PIC10F322 microcontroller 412 via communication line 426. This allows the
  • PIC10F322 microcontroller 412 to control the speed of the ADuM4160 USB isolator circuit 410 such that the speed of the ADuM4160 USB isolator circuit 410 matches the speed of the downstream USB device 1 17 attached to the downstream USB port 415.
  • the speed setting of the ADuM4160 USB isolator circuit 410 has to be the same on both upstream (SPU) and downstream (SPD) sides and thus the RA2 output pin of the PIC10F322 microcontroller 412 is also connected to pin 2 of the downstream side of the VOS617A optocoupler 414 via communication line 428b.
  • Pin 4 of the upstream side of the VOS617A optocoupler 414 is in turn connected to the SPU pin of the ADuM4160 USB isolator circuit 410 via communication line 428a.
  • the communication lines 428a and 428b may comprise series resistors R7 and R8 as will be appreciated by the skilled person.
  • Pin 1 of the downstream side of the VOS617A optocoupler 414 is connected to VDD2 terminal (pin 14) of the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 430b.
  • the VDD2 pin supplies power to the downstream side of the ADuM4160 USB isolator circuit 410, for example from a +3.3V downstream power supply 432 via a communication line 433.
  • Pin 3 of the upstream side of the VOS617A optocoupler 414 is connected to the GND1 terminals (pins 2 and 8) of the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 430a.
  • This configuration of the VOS617A optocoupler 414 enables the USB isolator 400 to maintain the isolation between the output pin RA2 of the downstream PIC10F322 microcontroller 412 and the SPU pin on the upstream side of the ADuM4160 USB isolator circuit 410.
  • the SPU and SPD pins are configured to operate the USB isolator circuit 410 in a full speed mode if the speed signal connected to the SPU and SPD pins is a high signal and to operate the ADuM4160 USB isolator circuit 410 in a low speed mode if the connected speed signal is a low signal.
  • the speed signal input may be set high by connecting the SPU and SPD pins to the VDD1 and VDD2 pins respectively.
  • the VDD1 and VDD2 pins supply power to the upstream and downstream sides of the ADuM4160 USB isolator circuit 410 respectively.
  • the speed signal input may be set low by connecting the SPU and SPD pins to the GND1 and GND2 pins respectively.
  • the GND1 and GND2 pins provide the return ground references for the upstream and downstream sides of the ADuM4160 USB isolator circuit 410 respectively.
  • VDD and VSS input pins of PIC10F322 microcontroller 412 are preferably connected to the VDD2 and GND2 pins of the downstream side of the
  • ADuM4160 USB isolator circuit 410 via communication lines 434 and 436 respectively.
  • a corresponding upstream speed signal may be sent to the SPU pin of ADuM4160 USB isolator circuit 410 via the VOS617A optocoupler 414 and communication lines 428a and 428b.
  • the upstream USB port 411 may be provided with VBUS and GND connectors for connecting to a voltage source and ground reference of the upstream USB host 1 13.
  • the VBUS and GND connectors of the upstream USB port 41 1 may be connected to a separate voltage source and ground reference, for example upstream +5V power supply 435a (via communication line 437a) and upstream ground reference 431 a (via communication line 438a).
  • This voltage supply may in turn be provided to the VBUS1 power supply input for the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 440a.
  • the upstream ground reference may be connected to the GND1 ground reference for the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 441 a.
  • a power supply bypass capacitor C1 may be provided on the connection line between the VBUS1 and VDD1 pins of the upstream side of the ADuM4160 USB isolator circuit 410 to filter undesired noise from the power supply.
  • a power supply bypass capacitor C2 may be provided on the connection line between the VDD1 and GND1 pins of the upstream side of the ADuM4160 USB isolator circuit 410.
  • the power supply bypass capacitors C1 and C2 preferably have a value of 0.1 and furthermore are preferably of a low equivalent series resistance (ESR) type.
  • Downstream power may be provided to the VDD2 pin of the downstream side of the
  • ADuM4160 USB isolator circuit 410 from an external source, such as +3.3V source 432, or from an upstream power supply, such as the upstream bus power, via a DC-DC converter.
  • a downstream ground reference 431 b may be connected to the GND2 ground reference for the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 441 b.
  • a power supply bypass capacitor C3 may be provided on the connection lines between the VDD2 and GND2 pins of the downstream side of the ADuM4160 USB isolator circuit 410.
  • the power supply bypass capacitor C3 preferably has a value of 0.1 and furthermore is preferably of a low equivalent series resistance (ESR) type.
  • the VBUS and GND connectors of the downstream USB port 417 may be connected to a voltage source and ground reference respectively, for example downstream +5V power supply 435b (via communication line 437b) and downstream ground reference 431 b (via communication line 438b).
  • the +5V power supply 435b and the VBUS connector of the downstream USB port 417 may also be connected to the VBUS2 terminal of the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 440b.
  • the microcontroller 412 of the USB isolator 400 may have its firmware programmed such that it performs the method 200 of Figure 2 for determining if a downstream USB device 1 17 is connected and determining the communication speed of the connected downstream USB device 1 17 by monitoring the D+ (420b) and D- (422b) USB data lines connected to the downstream USB device.
  • the USB isolator 400 may be configured to automatically select the speed of the USB isolation circuit 410 such that the speed matches the speed of a downstream USB device 1 17 connected to the downstream USB port 415 by carrying out the method 300 of Figure 3.
  • USB isolator apparatus' 100, 400 in accordance with the present invention may be formed into a packaged unit that can be integrated into a computer device, for example by connecting the USB isolator 100, 400 directly to the USB host 1 13 on a motherboard of the computer device.
  • the USB isolator 100, 400 may be provided as an in-line unit for providing USB isolation, such as in an isolating USB cable or a discrete unit that can be placed in between, and removably connected to, a USB host 1 13 and a
  • the USB isolator apparatus may interface with a USB hub or another USB communication line 1 13 instead of the USB host 1 13 and the USB host, USB hub or other USB communication line may be referred to as a first USB device.
  • the downstream USB device may also be referred to as a second USB device as set out above.
  • Each block in the flowchart may represent a module comprising one or more executable computer instructions, or a portion of an instruction, for implementing the logical function specified in the block.
  • the order of blocks in the diagram is only intended to be illustrative of an example. In alternative implementations, the logical functions illustrated in particular blocks may occur out of the order noted in Figures 2 and 3. For example, the steps associated with two blocks that are depicted as adjacent one another may be carried out simultaneously or, depending on the functionality, in the reverse order.
  • Each block in the flowchart may be implemented in software, hardware or a combination of software and hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

A USB isolator apparatus comprising a USB isolation circuit, a microcontroller and an isolation channel is provided for automatically detecting and selecting the speed at which the USB isolation circuit should operate in order to be compatible with a connected downstream USB device. The upstream side of the USB isolation circuit is configured to interface with a first USB device, such as USB host bus, and the downstream side of the USB isolation circuit is configured to interface with a second USB device, such as downstream USB device. An isolation barrier is disposed between the upstream and downstream sides. The microcontroller monitors at least two downstream USB data lines between the downstream side of the USB isolation circuit and the second USB device and determines the speed of the second USB device. Speed signals indicating the determined speed of the second USB device are then sent by the microcontroller to the downstream side of the USB isolation circuit and (via the isolation channel) to the upstream side of the USB isolation circuit.

Description

ISOLATOR WITH AUTOMATIC SPEED SELECTION
FOR USB COMMUNICATION SYSTEMS
This application relates to an isolator for use in Universal Serial Bus (USB) communication systems, wherein the speed of an isolator apparatus is arranged to adapt to match the speed of a downstream USB device connected to the downstream side of the USB communication system.
Computer devices form an increasingly important part of everyday life; smaller, lighter and more energy-efficient USB-enabled devices, such as laptops, cameras and storage devices, are commonly being used in environments outside the home or office, where high voltages may be present. There is a general need, however, to prevent the exposure of the electronics of these computer devices to such high voltages in order to protect the devices and maintain a safe environment for the user.
In a medical environment, medical devices may be attached to a patient's body and large area electrodes or conductive gel may be used in order to reduce the impedance of the skin and to more effectively monitor conditions inside the patient's body. This in turn means that any unintended signals passing through these medical devices can easily cause currents to flow through the patient, potentially exposing them to danger.
Accordingly, it is desirable for devices, such as medical devices, to be isolated from AC leakage from equipment or power lines that may have a different ground reference, transients due to lightning strikes, switching noise or line fault conditions.
Furthermore, a medical device may be simultaneously connected to a patient and plugged into the USB host of a computer device in order for the computer device to record measurements from the medical device. If it is necessary to use a defibrillator on the patient then the high voltage generated by the defibrillator may pass from the patient to the computer device via the USB cable of the attached medical device. As high voltage could damage the computer device, it would be necessary to disconnect the medical device from the patient or the computer device prior to using the defibrillator.
Accordingly, it is desirable to provide a USB communication system that provides galvanic isolation between two different portions of the USB communication system that may operate in voltage domains with different source potentials and / or different ground references in order to protect a host computer device and connected systems from unintended high voltage signals or ground reference errors.
The USB standard was developed to regulate the connection of computer peripheral devices to computers in order to facilitate communication between the devices as well as to enable the computer to supply power to the peripheral device. The original version of the standard allowed two different data transfer rates, a "low speed" operating at 1 .5 Mbits/s and a "full speed" operating at 12 Mbits/s. Thus, it is necessary for a computer host to be able to determine the speed at which a connected peripheral device is capable of operating in order to allow the host of the computer to communicate with the peripheral device. Later USB standards also provide for a "high speed" operating mode that transfers data at a maximum signalling rate of 480 Mbits/s. In operation, a high speed device must first identify itself as a full speed device; once the high speed device has connected as a full speed device it may then send a high speed chirp in order to establish a high speed connection with the upstream USB host, if this is supported.
A USB device will have at least four connector lines, namely a D+ and a D- communication line that together form a differential pair, a power connection (typically known as the VBUS connection) and a ground connection for power return. Although portions of the following description will refer only to the D+ and D- USB communication lines, it will be appreciated that the various components of the USB communication system may also comprise VBUS and ground (or GND) connections for transferring or passing power.
In the USB protocol, the USB device may indicate its speed by pulling the voltage on either the D+ or D- data line high using an attached pull up resistor. A full speed device uses a pull up resistor attached to the D+ data line in order to identify itself as a full speed device, whereas a low speed device uses a pull up resistor attached to the D- data line in order to identify itself as a low speed device.
In this manner, a standard USB host can automatically identify the speed of a USB device attached to it by monitoring the status of the D+ and D- USB data lines and the USB host can adjust to the communication speed of the connected USB device.
In order to provide galvanic isolation in a USB system, it is known to insert a USB isolation circuit between a USB host and a connected device. The USB isolation circuit includes an isolation barrier that breaks the direct electrical path from the USB host to the connected USB device in order to provide the isolation. The USB host side of the isolation barrier is then known as the upstream side of the USB isolator, and the USB device side of the isolation barrier is known as the downstream side of the USB isolator. It will be appreciated that the power connections of the USB communication system may be connected using a DC-to-DC converter in order to provide isolation on the power line.
However, the isolation provided by the USB isolation circuit also means that the USB host cannot 'see' the pull up resistors used in the USB device and thus cannot automatically determine the speed of the connected USB device. One known method for overcoming this problem is to provide a manual switch on the USB isolation circuit in order to allow a user to manually select the speed of the USB isolation circuit to match the speed of the USB device. The USB isolation circuit will then be operating at the same speed as the USB device and the USB host will be able to see the correct speed of the USB device at the upstream side of the USB isolation circuit. However, this method requires the user to know the speed of the USB device and to manually adjust the speed setting when switching between USB devices. Furthermore, a separate manual switch is required for each side of the isolation barrier in the USB isolation circuit since isolation between the upstream and downstream sides must be maintained, but the respective speed settings must match in order for the USB isolation circuit to function.
Another known method is to hardwire the USB isolation circuit to operate at a single speed. This will mean that the USB isolation circuit will work when a USB device operating at the same speed is connected, but the USB isolation circuit will fail when a USB device of a different speed is connected to it.
In order to maintain compatibility with both low and high speed USB devices in this arrangement, it is known to provide a USB hub controller between the USB isolation circuit and the USB device so that the USB hub controller can convert the communications from the USB device to match the speed mode of the single speed USB isolation circuit.
However, such an arrangement requires the USB host to load the drivers required for the USB hub controller. Furthermore, the use of a USB hub controller increases the power consumption, size and cost of the system.
Therefore, we have appreciated that it would be desirable to provide an alternative USB isolation system that can automatically detect the speed of a connected USB device and adapt the speed of the USB isolation system accordingly.
SUMMARY OF THE INVENTION
The invention is defined in the independent claims to which reference should now be directed. Advantageous features are set out in the dependent claims.
In a first aspect, the invention relates to a USB isolator apparatus comprising first I/O terminals for interfacing with a first USB device and second I/O terminals for interfacing with a second USB device, a USB isolation circuit having an upstream side and a downstream side, the upstream side connected to the first I/O terminals and the downstream side connected to the second I/O terminals, and a galvanic isolation barrier disposed between the upstream side and the downstream side of the USB isolation circuit to provide galvanic isolation between the first and second I/O terminals . The upstream side of the USB isolation circuit has a first speed input for receiving an upstream speed signal, and the downstream side of the USB isolation circuit has a second speed input for receiving a downstream speed signal. The apparatus further comprises a microcontroller for monitoring the second I/O terminals and, when the second USB device is connected to the second I/O terminals, determining the speed of the second USB device. The apparatus further comprises an isolation channel for providing an isolated signal path between the microcontroller and the first speed input on the upstream side of the USB isolation circuit. The microcontroller is operable to provide a downstream speed signal to the second speed input of the USB isolation circuit and, via the isolation channel, provide an upstream speed signal to the first speed input of the USB isolation circuit, wherein the upstream speed signal and the downstream speed signal both indicate the speed of the second USB device.
This advantageously enables the USB isolator apparatus to automatically detect the speed of a connected USB device, i.e. the second USB device, and to set the speed of the upstream and downstream sides of the USB isolation circuit, without the need for user intervention and also without the need for a hub controller, which would complicate the system and increase the cost.
In one embodiment, the isolation channel may comprise an opto-isolator, or a capacitively coupled isolator or a magnetically coupled isolator. This advantageously provides a simple method for isolating the speed signal that is sent from the
microcontroller, at the downstream side of the device, to the upstream side of the USB isolation circuit in order to control the setting of the speed at upstream side of the USB isolation circuit.
In a further embodiment, the second I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the downstream side of the USB isolator circuit, and the microcontroller determines the speed of the second USB device by sensing USB data signals on the respective data lines.
In yet another embodiment, the first I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the upstream side of the USB isolator circuit.
In one embodiment, the upstream and downstream speed signals provided by the microcontroller may either be a high signal or a low signal, based on the determined speed of the second USB device. The apparatus may further comprise a voltage source and a ground connection coupled to the microcontroller wherein the high signal may be provided by connecting to the voltage source and the low signal may be provided by connecting to the ground connection. The USB isolator circuit may further comprise an enable/disable terminal connected to an enumeration control signal output on the microcontroller wherein the microcontroller is operable, via the enumeration control signal output, to cause the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and provided the upstream and downstream speed signals to the first and second speed inputs of the USB isolation circuit. This advantageously causes the USB data lines to come to a steady state so that the system may determine the speed of the connected second USB device.
In one embodiment, the system further comprises a counter that is configured to count the period of time during which the microprocessor detects a second USB device detached condition by monitoring the at least two downstream USB data lines. The microprocessor may be further configured to maintain the upstream and downstream speed signals until the counter counts a predefined period. The counter of the system may also be configured to reset the count if a second USB device detached condition is not detected by the microprocessor.
In this manner, the system will continue to use the same speed setting associated with a given speed signal until it has been determined that the downstream USB device has been disconnected for a predetermined amount of time. This additionally reduces the possibility of a false detection for detachment of the USB device.
One of the first or the second USB device may be a USB hub. The second USB device may also be referred to as a downstream USB device, since it is the second I/O terminals that are connected to the downstream side of the USB isolation circuit that are for interfacing with the second USB device.
In a second aspect, the invention relates to a method for automatically selecting the speed of a USB isolator that interfaces with a first USB device and a second USB device, comprising monitoring, by a microcontroller, at least two downstream USB data lines between a downstream side of a USB isolation circuit and a second USB device and determining, at the microcontroller, the speed of the second USB device based on the at least two monitored USB data lines. The method further comprises sending, from the microcontroller, an upstream speed signal to a first speed input of the upstream side of the USB isolation circuit and sending, from the microcontroller, a downstream speed signal to a second speed input of a downstream side of the USB isolation circuit via an isolation channel. The upstream speed signal and the downstream speed signal both indicate the determined speed of the second USB device.
This advantageously enables the method to automatically detect the speed of a connected second USB device and set the speed of the upstream and downstream sides of the USB isolation circuit, without the need for user intervention. The method also advantageously avoids the need to use an integrated hub controller for receiving, processing and sending USB communications, which would complicate the method and increase the overall cost.
The method may further comprise providing either a high signal or a low signal as the upstream and / or downstream speed signals based on the determined speed of the second USB device. The high signal may be provided, from the microcontroller, by connecting to a voltage source and the low signal may be provided, from the
microcontroller, by connecting to ground.
In one embodiment, the method may further comprise causing, by the
microcontroller, the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and provided the upstream and downstream speed signals to the upstream and downstream sides of the USB isolation circuit respectively. This step advantageously causes the USB data lines to come to a steady state so that the speed of the connected second USB device may be determined.
In a further embodiment, the speed of the second USB device may be determined by monitoring the pulled up or pulled down status of a D+ and a D- USB data line. The second USB device may be determined to operate in a low speed mode if the D+ USB data line is pulled down and the D- USB data line is pulled up. The second USB device may be determined to operate in a full speed mode if the D+ USB data line is pulled up and the D- USB data line is pulled down.
The method may further comprise monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the second USB device is determined, by the microcontroller, to be in a detached state when the D+ and D- USB data lines are pulled down for a predefined period counted by a counter. The count may be reset if either of the D+ or D- USB data lines is determined, by the microcontroller, to be pulled up. This means that the method for determining the speed of the second USB device will preferably not be repeated until it has been determined that the downstream USB device has been disconnected for a predetermined amount of time. This additionally reduces the possibility of a false detection for detachment of the second USB device.
The method may further comprise monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the downstream USB device is determined to be an invalid device when both the D+ and D- USB data lines are pulled up.
In a third aspect, the invention relates to a computer program product containing computer code that, when executed on the microcontroller, causes the microcontroller to perform the steps of the method. BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will now be described, by way of example only, and with reference to the accompanying drawings, in which:
Figure 1 is an illustration of a USB isolator forming an embodiment of the invention;
Figure 2 is a flowchart that represents a method for determining if a valid USB device has been connected and the communication speed of a connected USB device;
Figure 3 is a flowchart that represents a method for automatically selecting the speed of a USB isolator that interfaces with a USB host bus and a downstream USB device; and
Figure 4 is a circuit diagram that illustrates a specific implementation of the embodiment of the invention shown in Figure 1.
DETAILED DESCRIPTION
Figure 1 is a USB isolator apparatus 100 which comprises a USB isolator circuit
1 10, a microcontroller 1 12 and an isolation channel 1 14. The USB isolator circuit 1 10 and the isolation channel 1 14 are each electrically divided into two halves, one half on either side of the isolation barrier 1 16. In general, the isolation barrier 1 16 divides the USB isolator 100 into an upstream side 1 18a and a downstream side 1 18b.
The USB isolator 100 has two USB communication lines for carrying a differential
USB data signal to and from a first USB device and a second USB device. The first USB device may be an upstream USB host and the second USB device may be a downstream USB device. These two USB communication lines are typically known as the D+ and D- USB data lines. Although not shown in Figure 1 to enable ease of viewing, it will be appreciated that the USB isolator 100 may also include VBUS and GND connections for transferring power through the USB isolator and to the downstream USB device. A DC-to- DC transformer, or other converter, (not shown) may be provided to isolate the power connections carrying the voltage signal.
The upstream side 1 18a of the USB isolator device 100 comprises USB input / output (I/O) terminals 1 11 a and 1 1 1 b, for the D+ and D- USB data lines respectively, for connection to a first USB device, for example USB host, a USB hub or another USB communication line 1 13. The downstream side 118b of the USB isolator 100 comprises USB input / output terminals 1 15a and 1 15b, for the D+ and D- USB data lines respectively, for connection to a second USB device, for example downstream USB device 1 17. In the following description, the second USB device will be referred to as a downstream USB device for clarity. The respective USB input / output (I/O) terminals 1 1 1 and 1 15 are typically provided as a USB socket (not shown) for receiving a USB plug of the USB device.
The D+ input / output terminal 1 1 1 a is connected to the upstream D+ pin of the USB isolator circuit 1 10 by a data line 120a and the D- input / output terminal 1 1 1 b is connected to the upstream D- pin of the USB isolator circuit 1 10 by a data line 122a. The D+ input / output terminal 1 15a is connected to the downstream D+ pin of the USB isolator circuit 1 10 by a data line 120b and the D- input / output terminal 1 15b is connected to the downstream D- pin of the USB isolator circuit 1 10 by a data line 122b. As would be understood by the skilled person, USB input / output terminals 1 1 1 a, 1 1 1 b, 1 15a and 1 15b may be located in the USB isolator circuit 1 10. In such an embodiment, the separate USB data lines 120a, 120b, 122a and 122b may be omitted and the USB I/O terminals 1 1 1 a, 1 11 b, 1 15a and 1 15b may be regarded as forming the USB data lines.
The USB isolator circuit 1 10 may be any circuit that is operable to isolate the D+ 120 and D- 122 USB data lines and that may also be switched between USB speed operating modes, for example between low speed and full speed operating modes. Such devices work at a fixed USB transmission speed, which may be set by SPU (speed select upstream) and SPD (speed select downstream) pins on the respective upstream and downstream sides. The SPU and SPD pins control the buffer speed, slew rate, timing and logic conventions on the upstream and downstream sides of the USB isolator circuit 1 10 respectively. The SPU and SPD pins are typically set by connecting each pin to a given voltage level that defines the desired state using a plurality of voltage thresholds. These voltage levels will be referred to herein as speed signals, wherein an upstream speed signal may be provided to the SPU pin and a downstream speed signal may be provided to the SPD pin. These upstream and downstream speed signals may also be referred to as speed setting signals or speed control signals. As will be appreciated, the SPU and SPD pin settings must match each other in order for the USB isolator circuit to work properly.
The USB isolator circuit 1 10 may optionally further comprise a pin for receiving an 'enable / disable' or a 'delay' enumeration control signal. This pin will be referred to herein as the PIN input of the USB isolator circuit 1 10 and may be used to prevent enumeration of the downstream (second) USB device for a given duration of time. Enumeration of a USB device 1 17 is the process of detecting, identifying and loading the drivers required for the USB device 1 17 to operate. The USB isolation circuit 1 10 may use any means that can selectively enable or disable the whole or a part of the USB isolator 100. For example, the USB isolator circuit 1 10 may selectively activate a pull up resistor that is integrated into the upstream side of the USB isolator circuit in order to prevent the upstream side of the USB isolator circuit 1 10 from attaching to the upstream USB host 1 13. One example of such a USB isolator circuit 1 10 is the Analog Devices (RTM) ADuM4160 USB isolator. The ADuM4160 USB isolator circuit provides isolation by using transformers; however, it will be appreciated that alternative USB isolator circuits 1 10 may use different methods for providing isolation, for example optically coupled isolators (otherwise known as optocouplers), capacitively coupled isolators or magnetically coupled isolators (otherwise known as magnetocouplers).
The microcontroller 1 12 may be any microcontroller that can be programmed to determine the speed of a downstream USB device 1 17 by monitoring the D+ 120b and D- 122b USB data lines that are connectable to the downstream USB device 1 17 via the USB input / output terminals 1 15a and 1 15b and to output a speed signal for controlling the setting of the USB communication speed of the apparatus in response to the determination.
The operation of a suitably programmed microcontroller 1 12 will be explained below with reference to Figure 2. Configuring the microcontroller to operate in this manner may be achieved using suitable software or firmware.
The I03 input of the microcontroller 1 12 is coupled to the downstream D+ USB data line 120b via communication line 121 a to enable the microcontroller 1 12 to monitor the downstream D+ USB data line 120b. Similarly, the 101 input of the microcontroller 1 12 is coupled to the downstream D- USB data line 122b via communication line 121 b to enable the microcontroller 1 12 to monitor the downstream D- USB data line 122b.
The IO0 output of the microcontroller 1 12 is connected to the PIN pin of the USB isolator circuit 1 10 via communication line 124. This connection enables the
microcontroller to provide an enumeration control signal to the USB isolator circuit for controlling the 'enable / disable' or 'delay' enumeration state. For example, the
microcontroller 1 12 may force the USB isolator 100 into a delayed enumeration state such that the voltages on the D+ 120b and D- 122b USB data lines remains at a steady (or idle) state. The speed of a connected downstream USB device 1 17 may then be determined. Once the speed of the downstream USB device 1 17 has been determined, enumeration of the downstream USB device 1 17 may be selectively enabled again.
In some embodiments, the microcontroller 1 12 may additionally comprise a counter function (not shown). The counter function could also be carried out by a component external to the microcontroller 1 12, as will be apparent to the skilled person.
In an alternative embodiment, the microcontroller 1 12 may be replaced by an arrangement of simple digital logic gates, a timer / counter and a flip-flop circuit or other discrete components. The necessary arrangement of such components will be clear to the skilled person in light of the functions that the microcontroller 1 12 is required to carry out as detailed in the following pages. However, it is preferred to use a microcontroller 1 12 as this allows the functionality and performance of the system to be adapted and improved by simply updating the firmware that controls microcontroller. One example of such a microcontroller 1 12 is the Microchip (RTM) PIC10F322 microcontroller.
The additional isolation channel 1 14 may be any galvanic isolator for receiving and isolating a speed signal from the I02 output of the microcontroller 1 12, which is located in the downstream side 1 18b of the USB isolator 100, (via a communication line 128b) to the SPU pin of the upstream side of the USB isolation circuit 1 10 (via a communication line 128a). The I02 output of the microcontroller 1 12 is also connected to the SPD pin of the downstream side of the USB isolation circuit 1 10 via a communication line 126 that may be coupled directly to the IO02 output or alternatively coupled to communication line 128b as shown in Figure 1 .
The I02 output enables the microcontroller to output upstream and downstream speed signals to the SPU and SPD inputs of the USB isolator circuit 1 10 so that the upstream and downstream sides of the USB isolator circuit 1 10 can be set to operate at the same speed, i.e. the detected speed of the downstream USB device 1 17. It will be appreciated that the IO0, 101 , I02 and I03 naming of the microcontroller outputs is arbitrary and that the naming may be interchanged or indeed any other nomenclature could be used.
In some embodiments, the isolation channel 1 14 may be in the form of a transformer, an opto-isolator, a capacitively coupled isolator or a magnetocoupler.
However, in a preferred embodiment, an opto-isolator is used to provide the isolation channel 1 14. One example of such an opto-isolator is the Vishay (RTM) VOS617A optocoupler.
In the USB isolator apparatus 100, the USB isolation circuit 1 10 is disposed between the first USB device, such as an upstream USB host, and the downstream USB device such that the electrical paths between the D+ 120b and D- 122b USB data lines, which are connectable to the downstream USB device, are isolated from the corresponding portions of the D+ 120a and D- 122a USB data lines that are connectable to the (upstream) first USB device.
As described above, the microcontroller 1 12 is coupled to the D+ 120b and D- 122b
USB data lines via communication lines 121 a and 121 b to respective microcontroller inputs I03 and 101 . This enables the microcontroller to determine and monitor the pulled up or pulled down status of the D+ 120b and D- 122b USB data lines in order to detect the speed of a connected downstream USB device.
A method 200 for determining if a USB device 1 17 is connected and determining the communication speed of the connected USB device 1 17 by monitoring the D+ 120b and D- 122b USB data lines connected to the USB device will now be described with reference to Figure 2. The microcontroller 1 12 of the USB isolator 100 may have its firmware programmed such that it performs the method 200.
At the start of the method 200, enumeration of any connected downstream USB device 1 17 is preferably disabled or delayed at step 210. When a downstream USB device 1 17 is first connected to a USB host 1 13 (the first USB device), the downstream USB device 1 17 and USB host 1 13 will typically begin the enumeration process; however, it is not possible to detect the speed of the downstream USB device 1 17 during the
enumeration process because the D+ 120b and D- 122b USB data lines will not typically be in an idle state during or after the enumeration process. Accordingly, it is preferable to disable or otherwise delay enumeration of the downstream USB device 1 17 before or once the USB device is connected to the USB isolator 100.
As will be appreciated by the skilled person, this step may not be necessary if the connected downstream USB device 1 17 is already in an idle state. The counter (which may be embodied in the microcontroller 1 12) is then reset as shown in step 212.
As set out in the background, although the USB isolator circuit 1 10 will prevent any components, such as the USB host 1 13, provided in the upstream side 1 18a from being able to "see" the pull up resistors that are applied to either the D+ USB data line 120b or the D- USB data line 122b of a connected downstream USB device 1 17, a component in the downstream side 1 18b, such as the microcontroller 1 12, will still be able to "see" the pull up resistors in order to determine the speed of the connected downstream USB device 1 17.
The USB data lines 120b and 122b may then be monitored either simultaneously or in turn. If a downstream USB device 1 17 with a pull up resistor on a given USB data line is connected then the USB data line will be determined to be at 'logic 1 ', i.e. pulled up.
Alternatively, if no downstream USB device 1 17 is connected or the connected downstream USB device does not have a pull up resistor on the given USB data line then the USB data line will be determined to be at 'logic 0', i.e. pulled down. This is because the D+ 120b and D- 122b USB data lines of the USB isolation circuit 1 10 are typically pulled down by pull down resistors in the absence of a pull up resistor being provided by a connected downstream USB device 1 17.
At step 214, the method 200 will determine if the D+ USB data line 120b is at logic 0 (i.e. pulled down). If this is not true and the D+ USB data line 120b is pulled up, i.e. at logic 1 , then the method will progress to step 216 where the method will determine if the D- USB data line 122b is at logic 0. If the D- USB data line 122b is determined to be at logic 0 then it will have been determined that the downstream USB device 1 17 is a full speed USB device connected to the USB isolator 100.
The method may then check if a full speed flag has been set at step 218. This flag can be a setting held in the memory of the microcontroller 1 12 that determines the nature of the speed signal that is output by the microcontroller. If the full speed flag has not been set, then it may be set at step 220 and then enumeration enabled at step 222. This will then allow the connected full speed downstream USB device to communicate with the upstream USB host (the first USB device) 1 13 via the USB isolator 100 and the USB host
1 13 may then start the enumeration process with the downstream USB device 1 17. Once the full speed flag has been set, or alternatively if the full speed flag has already been set, the method will loop back to step 212 so that the method can repeat. This method is preferably repeated periodically so that it can be detected when the full speed USB device is detached from the USB isolator 100 as will be discussed below.
If, at step 216, it is determined that the D- USB data line 122b is also at logic 1 then this would indicate that an invalid USB device is connected, as shown at step 224, since there should not be a time during normal operation when a USB device pulls both the D+ and D- USB data lines up.
If, at step 214, it is determined that the D+ USB data line 120b is at logic 0 then the method will progress to step 226 where the D- USB data line 122b will be monitored. If the D- USB data line 122b is determined to be at logic 1 then it will have been determined that the downstream USB device 1 17 is a low speed USB device connected to the USB isolator
100.
The method may then check if a low speed flag has been set at step 228. This flag can be a setting held in the memory of the microcontroller 1 12 that determines the nature of the speed signal that is output by the microcontroller 1 12. If the low speed flag has not been set, then it may be set at step 230 and then enumeration enabled at step 222. This will then allow the connected low speed downstream USB device to communicate with the upstream USB host 1 13 via the USB isolator 100 and the USB host 1 13 may then start the enumeration process with the low speed USB device. Once the full speed flag has been set, or alternatively if the low speed flag has already been set, the method will loop back to step 212 so that the method can repeat. This method is preferably repeated periodically so that it can be detected when the low speed USB device is detached from the USB isolator 100 as will be discussed below.
The D+ 120b and D- 122b USB data lines will typically not be at stable states once enumeration has been enabled. However, USB ports are 'hot swappable' by nature and thus a user may decide to detach a connected downstream USB device 117 and / or connect a new downstream USB device 1 17 (which may operate at a different speed to the previous downstream USB device) at any point in time. Since the speed of the USB isolator 100 will be fixed until the USB isolator detects that the USB device has been detached, the USB isolator 100 is preferably able to detect the USB device 1 17 being detached from the USB isolator 100.
Although it is unpredictable when a USB device 1 17 will be detached from the system, the D+ 120b and D- 122b USB data lines will not typically be at stable states during normal operation when a downstream USB device 1 17 is connected. Furthermore, the D+ 120b and D- 122b USB data lines should not both be at the same logic value at the same time.
Thus, if at step 226 it is determined that the D- USB data line 122b is at logic 0 (as well as the D+ USB data line 120b) then this condition would be indicative of a downstream (second) USB device detached condition. This is because the USB data lines default to logic 0 (pulled down) when no downstream USB device 1 17 is attached with a pull up resistor to pull the USB data line into the logic 1 (pulled up) state.
However, noise or a glitch on the D+ 120b and D- 122b USB data lines may cause the method to falsely detect that a downstream USB device 1 17 is not connected or that a previously connected downstream USB device 117 has been detached. A false detection may also be caused if the speed of the method 200 is too slow for the speed of the USB communication on the D+ and D- USB data lines. In order to reduce the likelihood of the method falsely concluding that a downstream USB device 1 17 has been detached, preferred embodiments of the invention increment the counter at step 232 if the D- USB data line 122b is determined to be at logic 0 at step 226.
The method 200 may then determine, at step 234, if a predefined count value has been reached. If the predefined count value has not been reached then the method simply returns to step 214 to monitor the D+ USB data line 120b again. Alternatively, if the predefined count value has been reached then the method will determine at step 236 that no downstream USB device is attached and that the USB isolator 100 is in a downstream (second) USB device detached state. The method may then return to step 210 wherein the method may disable or delay enumeration so that the USB isolator 100 is ready to detect the next downstream USB device 1 17 to be connected to the USB isolator 100.
As will be appreciated by the skilled person, the predefined count value should be set to be high enough to reduce the likelihood that the method returns a false detection of the downstream (second) USB device detached state. However, the predefined count should be set low enough to enable the system to enable enumeration quickly when a downstream USB device 1 17 is next connected to the USB isolator 100. If either of the D+ 120b or D- 122b USB data lines are detected at logic 1 (pulled up) before the counter reaches the predefined value then the counter will be reset, the count will begin again. The method 200 will have determined that the previous
downstream USB device detached condition determination was a false detection and that the downstream USB device 1 17 is still attached to the system.
In this manner, automatic speed detection for USB low speed and full speed devices may be achieved. Since high speed USB devices must connect to a USB host 1 13 initially as a full speed USB device, high speed USB devices are also supported by the above method 200 and USB isolator device 100. The microcontroller 1 12 may then send upstream and downstream speed signals to first and second speed inputs on the upstream side (via the isolation channel) and downstream side of the USB isolator circuit 1 10 respectively in order to automatically set the speed of the USB isolator 100 to match the speed of the connected USB device 1 17. The upstream speed signal and downstream speed signal may alternatively be referred to as a first speed setting signal and a second speed setting signal respectively or vice versa.
It will be appreciated that the order of checking the D+ 120b and D- 122b USB data lines in method 200 may be reversed and the desired result will still be achieved. Similarly, the method 200 may be adapted to determine if the D+ 120b and D- 122b USB data lines are in a logic 1 state rather than a logic 0 state as described above. Steps 218 and 228 may also be omitted in an embodiment of the invention such that the previous speed flags are simply overwritten with the appropriate new speed flag values. Furthermore, it will be appreciated that steps 212, 232 and 234 may be omitted in alternative embodiments of the invention that do not include a counter.
Figure 3 is a flowchart representing a method 300 for automatically selecting the speed of a USB isolator 100 that is arranged to interface with a USB host 1 13 and a downstream USB device 1 17. At step 310, the method comprises monitoring, by a microcontroller 1 12, at least two downstream USB data lines between a downstream side of a USB isolation circuit 1 10 and a downstream USB device 1 17. The at least two downstream USB data lines may be the D+ 120b and D- 122b USB data lines described above.
At step 312, the method 300 comprises determining, at the microcontroller 112, the speed of the downstream USB device 1 17 based on the at least two monitored USB data lines. The microcontroller 1 12 may be programmed to perform method 200 in order to determine the speed of the downstream USB device 1 17. Optionally, step 312 may also comprise determining a USB device detached condition or an invalid USB device condition based on the at least two monitored USB data lines. Finally, at step 314, the method 300 comprises sending, from the microcontroller 1 12, a downstream speed signal to the downstream side of the USB isolation circuit 1 10 (via communication line 126) and an upstream speed signal to an upstream side of the USB isolation circuit 1 10 (via the isolation channel 114 and communication lines 128b and 128a). The upstream speed signal and the downstream speed signal both indicate the determined speed of the downstream USB device 1 17.
In an alternative embodiment of the method 300, the upstream and downstream speed signals provided by the microcontroller 1 12 may be a high signal, for example by connecting the SPD and SPU pins of the respective sides of the USB isolation circuit 1 10 to a voltage source. Alternatively, the upstream and downstream speed signals provided by the microcontroller 1 12 may be a low signal, for example by connecting the SPD and SPU pins of the respective sides of the USB isolation circuit 1 10 to a ground reference.
The methods 200 and 300 and the USB isolator device 100 described above automatically detect the speed of a USB device 117 connected to a variable speed USB isolation circuit 1 10 and adapt the speed of the USB isolation circuit 1 10 to match that of the connected downstream USB device 1 17. This advantageously provides automatic speed detection and selection functionality to a USB isolator circuit 1 10 that could otherwise only be hardwired to a fixed USB communication speed. Furthermore, an apparatus 100 is provided with which the user is not required to visually identify the speed of a downstream USB device 1 17 to be connected to the USB isolator 100 nor to then manually set the speed of the USB isolator 100, for example by switches, to match the speed of the downstream USB device 1 17 before it is connected to the USB isolator 100.
Furthermore, the methods 200 and 300 and the apparatus 100 described above achieve this automatic speed detection and speed adaptation without the need for a USB hub controller. This advantageously reduces the number of components required to complete the apparatus 100, reduces the total cost and power consumption of the apparatus 100 and avoids the requirement for any computer that is to be used with the USB isolator apparatus 100 to be loaded with appropriate USB hub driver software.
Figure 4 shows a circuit diagram of a USB isolator apparatus 400 according to a preferred embodiment of the invention. Many of the components in the circuit diagram of Figure 4 are analogous to components in Figure 1 and like reference numerals have been provided where possible. The USB isolator 400 comprises an Analog Devices (RTM) ADuM4160 USB isolator circuit 410 to provide USB bus isolation, a Microchip (RTM) PIC10F322 microcontroller 412 to detect the speed of a removable downstream USB device 1 17 connected to a downstream USB port 415 and provide USB isolator circuit speed signals and a Vishay (RTM) VOS617A optocoupler 414 for facilitating communication of the speed signal from the downstream PIC10F322 microcontroller 412 to the upstream side of the ADuM4160 USB isolator circuit 410.
A dotted line 416 has been included to show the location of the isolation barrier in the USB isolator 400, which is electrically split into an upstream side 418a and a downstream side 418b. The inputs and outputs RAO, RA1 , RA2 and RA3 of the
PIC10F322 microcontroller 412 correspond to the inputs and outputs IO0, 101 , I02 and I03 of the microcontroller 112 respectively.
The ADuM4160 USB isolator circuit 410 is intended to be hardwired to a single speed (for example a low speed or a full speed) via speed select pins that are labelled as SPU for the upstream speed select pin and SPD for the downstream speed select pin. As with the USB isolator circuit 1 10, the ADuM4160 USB isolator circuit 410 works when the speed of a downstream USB device or peripheral 1 17 (not shown) attached to a downstream USB port 415 is the same as the speed of the ADuM4160 USB isolator circuit
410 but fails when the downstream USB device 1 17 operates at a different speed. The USB isolator 400 additionally comprises an upstream USB port 41 1 for connecting to an upstream USB host 1 13 (not shown); this connection may be a fixed connection or alternatively the USB host 1 13 may be removably connected.
Although the upstream USB host 1 13 and downstream USB device 1 17 are not shown in Figure 4, it will be appreciated that the upstream USB port 41 1 and the downstream USB port 415 of the USB isolator apparatus 400 are suitable for interfacing with the upstream USB host 1 13 and downstream USB device 1 17 respectively.
Pins 10 and 1 1 of the ADuM4160 USB isolator circuit 410 are labelled DD+ and DD- respectively and represent the downstream D+ and D- input / output terminals of the
ADuM4160 USB isolator circuit 410. These pins are connected to the corresponding D+ and D- pins of the downstream USB port 415 via USB data lines 420b and 422b respectively. The downstream D+ and D- input / output terminals of the ADuM4160 USB isolator circuit 410 transfer or pass the differential information, received from the USB data lines 420b and 422b, to the upstream D+ and D- input / output terminals of the ADuM4160
USB isolator circuit 410 via an internal isolation barrier. The upstream D+ and D- input / output terminals of the ADuM4160 USB isolator circuit 410 are labelled UD+ and UD- and are connected to the D+ and D- pins of an upstream USB port 41 1 via USB data lines 420a and 422a respectively.
In order to enable full speed operation of the ADuM4160 USB isolator circuit 410, series resistors R1 to R4 are connected to the UD-, UD+, DD- and DD+ transceiver terminals of the ADuM4160 USB isolator circuit 410. For full speed operation the resistors
R1 to R4 are preferably 24 Ω, 1 % resistors. If the ADuM4160 USB isolator circuit 410 was to be operated in a fixed low speed operating mode then resistors R1 to R4 would preferably be replaced by 0 Ω shunts, for example using a simple wire to short the connection. However, the resistors 24 Ω, 1 % resistors do not significantly affect the low speed performance and thus may be used for low speed operation as well as full speed operation.
The RA3 input of the microcontroller 412 is coupled to the downstream D+ USB data line 420b via communication line 421 a to enable the microcontroller 412 to monitor the downstream D+ USB data line 420b. Similarly, the RA1 input of the microcontroller 412 is coupled to the downstream D- USB data line 422b via communication line 421 b to enable the microcontroller 412 to monitor the downstream D- USB data line 422b. This enables the microcontroller 412 to monitor the D+ 420b and D- 422b USB data lines that are connectable to a downstream USB device 417 (via the downstream USB port 415), to determine the speed of the downstream USB device 1 17 and to output an appropriate speed signal in response to the determination. The communication lines 421 a and 421 b may include series resistors R6 and R5 respectively to provide correct termination at the DD+ and DD- pins of the downstream side of the ADuM4160 USB isolator circuit 410.
The PIN pin 12 of the ADuM4160 USB isolator circuit 410 controls the power connection to the upstream pull up resistor for the upstream USB port 411 , which can be used to delay enumeration when it is pulled down low. The PIN pin is connected to output pin RAO of the PIC10F322 microcontroller 412 via communication line 424. This allows the PIC10F322 microcontroller 412 to selectively enable or disable enumeration, for example while the PIC10F322 microcontroller 412 is trying to detect the speed of the attached downstream USB device 1 17.
The SPD pin of the ADuM4160 USB isolator circuit 410 is connected to output pin RA2 of PIC10F322 microcontroller 412 via communication line 426. This allows the
PIC10F322 microcontroller 412 to control the speed of the ADuM4160 USB isolator circuit 410 such that the speed of the ADuM4160 USB isolator circuit 410 matches the speed of the downstream USB device 1 17 attached to the downstream USB port 415. The speed setting of the ADuM4160 USB isolator circuit 410 has to be the same on both upstream (SPU) and downstream (SPD) sides and thus the RA2 output pin of the PIC10F322 microcontroller 412 is also connected to pin 2 of the downstream side of the VOS617A optocoupler 414 via communication line 428b. Pin 4 of the upstream side of the VOS617A optocoupler 414 is in turn connected to the SPU pin of the ADuM4160 USB isolator circuit 410 via communication line 428a. The communication lines 428a and 428b may comprise series resistors R7 and R8 as will be appreciated by the skilled person. Pin 1 of the downstream side of the VOS617A optocoupler 414 is connected to VDD2 terminal (pin 14) of the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 430b. The VDD2 pin supplies power to the downstream side of the ADuM4160 USB isolator circuit 410, for example from a +3.3V downstream power supply 432 via a communication line 433. This will cause a current to flow through the downstream side of the VOS617A optocoupler 414 when the potential at the RA2 pin of PIC10F322 microcontroller 412 differs from the potential at the VDD2 pin of the ADuM4160 USB isolator circuit 410 by more than a given amount. Pin 3 of the upstream side of the VOS617A optocoupler 414 is connected to the GND1 terminals (pins 2 and 8) of the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 430a.
This configuration of the VOS617A optocoupler 414 enables the USB isolator 400 to maintain the isolation between the output pin RA2 of the downstream PIC10F322 microcontroller 412 and the SPU pin on the upstream side of the ADuM4160 USB isolator circuit 410. In the ADuM4160 USB isolator circuit 410, the SPU and SPD pins are configured to operate the USB isolator circuit 410 in a full speed mode if the speed signal connected to the SPU and SPD pins is a high signal and to operate the ADuM4160 USB isolator circuit 410 in a low speed mode if the connected speed signal is a low signal. The speed signal input may be set high by connecting the SPU and SPD pins to the VDD1 and VDD2 pins respectively. The VDD1 and VDD2 pins supply power to the upstream and downstream sides of the ADuM4160 USB isolator circuit 410 respectively. The speed signal input may be set low by connecting the SPU and SPD pins to the GND1 and GND2 pins respectively. The GND1 and GND2 pins provide the return ground references for the upstream and downstream sides of the ADuM4160 USB isolator circuit 410 respectively.
Accordingly, the VDD and VSS input pins of PIC10F322 microcontroller 412 are preferably connected to the VDD2 and GND2 pins of the downstream side of the
ADuM4160 USB isolator circuit 410 via communication lines 434 and 436 respectively. This enables the PIC10F322 microcontroller 412 to receive the VDD2 and GND2 voltage signals such that one of the respective voltage signals, depending on the determined speed of a downstream USB device 1 17 connected to the downstream USB port 415, may be provided as a downstream speed signal to the SPD pin of ADuM4160 USB isolator circuit 410 via communication line 426. As described above, a corresponding upstream speed signal may be sent to the SPU pin of ADuM4160 USB isolator circuit 410 via the VOS617A optocoupler 414 and communication lines 428a and 428b.
As shown in Figure 4, the upstream USB port 411 may be provided with VBUS and GND connectors for connecting to a voltage source and ground reference of the upstream USB host 1 13. Alternatively, the VBUS and GND connectors of the upstream USB port 41 1 may be connected to a separate voltage source and ground reference, for example upstream +5V power supply 435a (via communication line 437a) and upstream ground reference 431 a (via communication line 438a). This voltage supply may in turn be provided to the VBUS1 power supply input for the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 440a. The upstream ground reference may be connected to the GND1 ground reference for the upstream side of the ADuM4160 USB isolator circuit 410 via communication line 441 a. A power supply bypass capacitor C1 may be provided on the connection line between the VBUS1 and VDD1 pins of the upstream side of the ADuM4160 USB isolator circuit 410 to filter undesired noise from the power supply. Similarly, a power supply bypass capacitor C2 may be provided on the connection line between the VDD1 and GND1 pins of the upstream side of the ADuM4160 USB isolator circuit 410. The power supply bypass capacitors C1 and C2 preferably have a value of 0.1 and furthermore are preferably of a low equivalent series resistance (ESR) type.
Downstream power may be provided to the VDD2 pin of the downstream side of the
ADuM4160 USB isolator circuit 410 from an external source, such as +3.3V source 432, or from an upstream power supply, such as the upstream bus power, via a DC-DC converter. A downstream ground reference 431 b may be connected to the GND2 ground reference for the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 441 b. Again, a power supply bypass capacitor C3 may be provided on the connection lines between the VDD2 and GND2 pins of the downstream side of the ADuM4160 USB isolator circuit 410. The power supply bypass capacitor C3 preferably has a value of 0.1 and furthermore is preferably of a low equivalent series resistance (ESR) type.
The VBUS and GND connectors of the downstream USB port 417 may be connected to a voltage source and ground reference respectively, for example downstream +5V power supply 435b (via communication line 437b) and downstream ground reference 431 b (via communication line 438b). The +5V power supply 435b and the VBUS connector of the downstream USB port 417 may also be connected to the VBUS2 terminal of the downstream side of the ADuM4160 USB isolator circuit 410 via communication line 440b.
In Figure 4, the respective voltage sources and ground references are shown as terminating within the USB isolator 400; however, it will be appreciated that these voltage sources and ground references may be provided from components external to the USB isolator 400.
The microcontroller 412 of the USB isolator 400 may have its firmware programmed such that it performs the method 200 of Figure 2 for determining if a downstream USB device 1 17 is connected and determining the communication speed of the connected downstream USB device 1 17 by monitoring the D+ (420b) and D- (422b) USB data lines connected to the downstream USB device.
Furthermore, the USB isolator 400 may be configured to automatically select the speed of the USB isolation circuit 410 such that the speed matches the speed of a downstream USB device 1 17 connected to the downstream USB port 415 by carrying out the method 300 of Figure 3.
USB isolator apparatus' 100, 400 in accordance with the present invention may be formed into a packaged unit that can be integrated into a computer device, for example by connecting the USB isolator 100, 400 directly to the USB host 1 13 on a motherboard of the computer device. Alternatively, the USB isolator 100, 400 may be provided as an in-line unit for providing USB isolation, such as in an isolating USB cable or a discrete unit that can be placed in between, and removably connected to, a USB host 1 13 and a
downstream USB device 1 17.
As described above, the USB isolator apparatus may interface with a USB hub or another USB communication line 1 13 instead of the USB host 1 13 and the USB host, USB hub or other USB communication line may be referred to as a first USB device. In this context, the downstream USB device may also be referred to as a second USB device as set out above.
The respective flowcharts of Figures 2 and 3 illustrate the operation of example implementations of devices and methods according to various embodiments of the present invention. Each block in the flowchart may represent a module comprising one or more executable computer instructions, or a portion of an instruction, for implementing the logical function specified in the block. The order of blocks in the diagram is only intended to be illustrative of an example. In alternative implementations, the logical functions illustrated in particular blocks may occur out of the order noted in Figures 2 and 3. For example, the steps associated with two blocks that are depicted as adjacent one another may be carried out simultaneously or, depending on the functionality, in the reverse order. Each block in the flowchart may be implemented in software, hardware or a combination of software and hardware.

Claims

1 . USB isolator apparatus, comprising:
first I/O terminals for interfacing with a first USB device and second I/O terminals for interfacing with a second USB device;
a USB isolation circuit having an upstream side and a downstream side, the upstream side connected to the first I/O terminals and the downstream side connected to the second I/O terminals,
a galvanic isolation barrier disposed between the upstream side and the downstream side of the USB isolation circuit to provide galvanic isolation between the first and second I/O terminals;
the upstream side of the USB isolation circuit further having a first speed input for receiving an upstream speed signal, and the downstream side of the USB isolation circuit having a second speed input for receiving a downstream speed signal;
a microcontroller for monitoring the second I/O terminals and, when the second
USB device is connected to the second I/O terminals, determining the speed of the second USB device; and
an isolation channel for providing an isolated signal path between the
microcontroller and the first speed input on the upstream side of the USB isolation circuit; wherein the microcontroller is operable to provide a downstream speed signal to the second speed input of the USB isolation circuit and, via the isolation channel, provide an upstream speed signal to the first speed input of the USB isolation circuit;
wherein the upstream speed signal and the downstream speed signal both indicate the speed of the second USB device.
2. The USB isolator apparatus of claim 1 , wherein the isolation channel comprises an opto-isolator, or a capacitively coupled isolator or a magnetically coupled isolator.
3. The USB isolator apparatus of claim 1 or 2, wherein the second I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the downstream side of the USB isolator circuit, and the
microcontroller determines the speed of the second USB device by sensing USB data signals on the respective data lines.
4. The USB isolator apparatus of claim 1 , 2 or 3, wherein the first I/O terminals have first and second terminals connected by respective data lines to corresponding first and second terminals on the upstream side of the USB isolator circuit.
5. The USB isolator apparatus of any preceding claim, wherein the upstream and downstream speed signal provided by the microcontroller are either a high signal or a low signal based on the determined speed of the second USB device.
6. The USB isolator apparatus according to claim 5, comprising:
a voltage source coupled to the microcontroller; and
a ground connection coupled to the microcontroller;
wherein the microcontroller is operable to provide the high signal by connecting to a voltage source or to provide the low signal by connecting to ground.
7. The USB isolator apparatus according to any preceding claim, the USB isolator circuit further comprising an enable/disable terminal connected to an enumeration control signal output on the microcontroller, and
wherein the microcontroller is operable, via the enumeration control signal output, to cause the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and provided the upstream and downstream speed signals to the first and second speed inputs of the USB isolation circuit.
8. The USB isolator apparatus of any preceding claim, further comprising a counter configured to count the period of time during which the microprocessor detects a second USB device detached condition, and wherein the microprocessor is further configured to maintain the upstream and downstream speed signals until the counter counts a predefined period.
9. The USB isolator apparatus according to claim 8, wherein the counter is configured to reset the count if the second USB device detached condition is not detected by the microprocessor.
10. The USB isolator apparatus, wherein one of the first or the second USB device is a USB hub.
1 1 . A method for automatically selecting the speed of a USB isolator that interfaces with a first USB device and a second USB device, comprising:
monitoring, by a microcontroller, at least two downstream USB data lines between a downstream side of a USB isolation circuit and a second USB device;
determining, at the microcontroller, the speed of the second USB device based on the at least two monitored USB data lines;
sending, from the microcontroller, an upstream speed signal to a first speed input of an upstream side of the USB isolation circuit via an isolation channel; and
sending, from the microcontroller, a downstream speed signal to a second speed input of the downstream side of the USB isolation circuit;
wherein the upstream speed signal and the downstream speed signal both indicate the determined speed of the second USB device.
12. A method according to claim 1 1 , wherein the upstream and downstream speed signals provided by the microcontroller are either a high signal or a low signal based on the determined speed of the second USB device.
13. A method according to claim 12, wherein the high signal is provided, from the microcontroller, by connecting to a voltage source and the low signal is provided, from the microcontroller, by connecting to ground.
14. A method according to any of claims 1 1 to 13, wherein the determining step further comprises causing, by the microcontroller, the USB isolation circuit to delay enumeration until the microcontroller has determined the speed of the second USB device and has provided the upstream and downstream speed signals to the upstream and downstream sides of the USB isolation circuit respectively.
15. A method according to any of claims 1 1 to 14, wherein the speed of the second USB device is determined by monitoring the pulled up or pulled down status of a D+ and a D- USB data line;
wherein the second USB device is determined to operate in a low speed mode if the D+ USB data line is pulled down and the D- USB data line is pulled up; and
wherein the second USB device is determined to operate in a full speed mode if the D+ USB data line is pulled up and the D- USB data line is pulled down.
16. A method according to any of claims 1 1 to 15, comprising monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the second USB device is determined, by the microcontroller, to be in a detached state when the D+ and D- USB data lines are both pulled down for a predefined period counted by a counter.
17. A method according to claim 16, wherein the count is reset if either of the D+ or D- USB data lines is determined, by the microcontroller, to be pulled up.
18. A method according to any of claims 1 1 to 17, comprising monitoring the pulled up or pulled down status of a D+ and a D- USB data line, wherein the second USB device is determined to be an invalid device when the D+ and D- USB data lines are both pulled up.
19. A device for automatic speed selection in a USB isolator substantially as described herein with reference to the figures.
20. A method for automatically selecting the speed of a USB isolator substantially as described herein with reference to the figures.
PCT/GB2016/051045 2015-04-15 2016-04-14 Isolator with automatic speed selection for usb communication systems WO2016166539A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1506403.3 2015-04-15
GB1506403.3A GB2537394A (en) 2015-04-15 2015-04-15 Isolator with automatic speed selection for USB communication systems

Publications (1)

Publication Number Publication Date
WO2016166539A1 true WO2016166539A1 (en) 2016-10-20

Family

ID=53333833

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2016/051045 WO2016166539A1 (en) 2015-04-15 2016-04-14 Isolator with automatic speed selection for usb communication systems

Country Status (2)

Country Link
GB (1) GB2537394A (en)
WO (1) WO2016166539A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429549B2 (en) 2017-07-20 2022-08-30 Hewlett-Packard Development Company, L.P. Input/output port configurations using multiplexers
WO2022232681A1 (en) * 2021-04-30 2022-11-03 Texas Instruments Incorporated Isolated universal serial bus repeater with high speed capability
CN116561038A (en) * 2023-04-26 2023-08-08 深圳市锐能微科技有限公司 Serial communication method, device, serial communication system and medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2017005164A (en) * 2017-04-20 2018-11-09 Gaspar Gonzalez Briceno Isolated usb interface for connecting medical instruments to a computer and usb speed sensor.
EP4170907A1 (en) * 2021-10-19 2023-04-26 Infineon Technologies Austria AG Integrated circuit with galvanic isolation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031056A1 (en) * 2007-07-26 2009-01-29 Davis Bliss USB integrated bidirectional digital isolator
US20100250820A1 (en) * 2009-03-30 2010-09-30 Analog Devices, Inc. Usb isolator with advanced control features
US20120117294A1 (en) * 2010-11-05 2012-05-10 Linear Technology Corporation Method and system for detecting and asserting bus speed condition in a usb isolating device
US20140211862A1 (en) * 2011-05-25 2014-07-31 The Silanna Group Pty Ltd. Usb isolator integrated circuit with usb 2.0 high speed mode and automatic speed detection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110117294A1 (en) * 2009-11-19 2011-05-19 Nevid Nicholas J Biofouling prevention by induction heating

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031056A1 (en) * 2007-07-26 2009-01-29 Davis Bliss USB integrated bidirectional digital isolator
US20100250820A1 (en) * 2009-03-30 2010-09-30 Analog Devices, Inc. Usb isolator with advanced control features
US20120117294A1 (en) * 2010-11-05 2012-05-10 Linear Technology Corporation Method and system for detecting and asserting bus speed condition in a usb isolating device
US20140211862A1 (en) * 2011-05-25 2014-07-31 The Silanna Group Pty Ltd. Usb isolator integrated circuit with usb 2.0 high speed mode and automatic speed detection

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429549B2 (en) 2017-07-20 2022-08-30 Hewlett-Packard Development Company, L.P. Input/output port configurations using multiplexers
WO2022232681A1 (en) * 2021-04-30 2022-11-03 Texas Instruments Incorporated Isolated universal serial bus repeater with high speed capability
US11669475B2 (en) 2021-04-30 2023-06-06 Texas Instruments Incorporated Isolated universal serial bus repeater with high speed capability
CN116561038A (en) * 2023-04-26 2023-08-08 深圳市锐能微科技有限公司 Serial communication method, device, serial communication system and medium

Also Published As

Publication number Publication date
GB201506403D0 (en) 2015-05-27
GB2537394A (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US10002061B2 (en) USB interface detector
WO2016166539A1 (en) Isolator with automatic speed selection for usb communication systems
US11646585B2 (en) Methods, electronic devices, and charger apparatus for quick USB charging
US10950987B2 (en) Voltage protection for universal serial bus Type-C (USB-C) connector systems
TWI731150B (en) Port controllers and methods for charging devices
KR101720398B1 (en) Power distribution inside cable
CN110456896B (en) Low power TYPE-C receiver with high idle noise and DC level rejection
US9824045B2 (en) USB port controller with automatic transmit retries and receive acknowledgements
CN111837312A (en) Programmable gate driver control in USB power delivery
US8898363B2 (en) Multiple connections to a single serial interface
US20150035477A1 (en) Method and apparatus of fast battery charging with universal high power input source
WO2008001153A1 (en) Device and method for detecting a usb charger
CN111858432A (en) Low power implementation of Type-C connector subsystem
US8781332B2 (en) Optical transceiver module, optical transmission device, and optical transmission method
EP2646926A1 (en) Communication bus with shared pin set
EP3229146B1 (en) System and device for identifying usb otg device
CN105893296B (en) A kind of transmitting device and its method of data information
US11356236B2 (en) Bidirectional re-driver for half-duplex interfaces
WO2024030545A1 (en) Repeater babble detection
CN118281651A (en) Charging wire, charging device and data transmission and charging method
EP3837612A1 (en) Adjustable embedded universal serial bus 2 low-impedance driving duration
TW201141092A (en) Optical transmitting and receiving modules and systems and optical transmitting and receiving methods

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16717691

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16717691

Country of ref document: EP

Kind code of ref document: A1