Patent ID: 12222891

5. DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the present invention are directed to circuits. More particularly, some embodiments of the invention provide handshake controllers and methods for charging protocols. Merely by way of example, some embodiments of the invention have been applied to multiport chargers. But it would be recognized that the invention has a much broader range of applicability.

FIG.2is a simplified diagram showing a handshake controller for one or more charging protocols according to certain embodiments of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The handshake controller200includes terminals280,282,284,290,292and294, an input/output interface unit220, a digital handshake unit210, a port selection unit240, an analog handshake unit250, and a port detection unit260. For example, the handshake controller200is a part of a multiport fast charger that includes a USB port J and a USB port K. As an example, the port selection unit240includes a port selection subunit242and a port selection subunit244. Although the above has been shown using a selected group of components for the handshake controller200, there can be many alternatives, modifications, and variations. For example, some of the components may be expanded and/or combined. Other components may be inserted to those noted above. Depending upon the embodiment, the arrangement of components may be interchanged with others replaced. Further details of these components are found throughout the present specification.

In some examples, the analog handshake unit250includes an analog circuit to implement a handshake for a regular charging protocol that is not a fast charging protocol. For example, the regular charging protocol uses a 5-volt charging voltage at a supply voltage pin of a USB port. In certain examples, the digital handshake unit210includes a digital circuit to implement a handshake for a fast charging protocol.

According to some embodiments, the handshake controller200supports at least the USB port J and the USB port K. In certain examples, the USB port J includes the terminals280,282and284. For example, the terminal280is a positive data pin, the terminal282is a negative data pin, and the terminal284is a supply voltage pin. As an example, the USB port J also includes a ground voltage pin. In some examples, the USB port K includes the terminals290,292and294. For example, the terminal290is a positive data pin, the terminal292is a negative data pin, and the terminal294is a supply voltage pin. As an example, the USB port K also includes a ground voltage pin.

According to certain embodiments, the port detection unit260is connected to the terminal284(e.g., a supply voltage pin) of the USB port J and the terminal294(e.g., a supply voltage pin) of the USB port K. In some examples, the port detection unit260receives one or more signals from the terminal284(e.g., a supply voltage pin) and/or the terminal294(e.g., a supply voltage pin), uses the received one or more signals to determine whether the USB port J is connected to a load device and whether the USB port K is connected to a load device, and generates a detection signal261. For example, a load device is a portable electronic device (e.g., a laptop computer and/or a mobile phone). In certain examples, the detection signal261indicates whether the USB port J is connected to a load device and whether the USB port K is connected to a load device. For example, the detection signal261(e.g., being equal to 10) indicates that the USB port J is connected to a load device, but the USB port K is not connected to a load device. As an example, the detection signal261(e.g., being equal to 01) indicates that the USB port K is connected to a load device, but the USB port J is not connected to a load device. For example, the detection signal261(e.g., being equal to 11) indicates that the USB port J is connected to a load device and the USB port K is connected to another load device. As an example, the detection signal261(e.g., being equal to 00) indicates that neither the USB port J nor the USB port K is connected to a load device.

In some embodiments, the detection signal261is received by the port selection unit240and the analog handshake unit250. For example, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, the port selection unit240connects the terminal280(e.g., a positive data pin) and the terminal282(e.g., a negative data pin) of the USB port J to the input/output interface unit220. As an example, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, the port selection unit240connects the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) of the USB port K to the input/output interface unit220.

In certain embodiments, the detection signal261is received by the port selection subunit242of the port selection unit240and the port selection subunit244of the port selection unit240. For example, the port selection subunit242is connected to the terminal280(e.g., a positive data pin) and the terminal290(e.g., a positive data pin) and is connected to the input/output interface unit220through a terminal241. As an example, the port selection subunit244is connected to the terminal282(e.g., a negative data pin) and the terminal292(e.g., a negative data pin) and is connected to the input/output interface unit220through a terminal243. In some examples, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, the port selection subunit242connects the terminal280(e.g., a positive data pin) to the input/output interface unit220through the terminal241, and the port selection subunit244connects the terminal282(e.g., a negative data pin) to the input/output interface unit220through the terminal243. In some examples, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, the port selection subunit242connects the terminal290(e.g., a positive data pin) to the input/output interface unit220through the terminal241, and the port selection subunit244connects the terminal292(e.g., a negative data pin) to the input/output interface unit220through the terminal243.

According to some embodiments, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, the terminal280(e.g., a positive data pin) and the terminal282(e.g., a negative data pin) are connected to the input/output interface unit220through the port selection unit240, so that the port selection unit240enables signal communication between the USB port J and the digital handshake unit210. In certain examples, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, the digital handshake unit210communicates with the load device that is connected to USB port J and determines whether or not to establish a handshake for a fast charging protocol with the load device that is connected to the USB port J. For example, if the load device connected to the USB port J is compatible with a fast charging protocol, the digital handshake unit210determines to establish a handshake for the fast charging protocol with the load device connected to the USB port J and establishes a handshake for the fast charging protocol with the load device connected to the USB port J. As an example, if the load device connected to the USB port J is not compatible with a fast charging protocol, the digital handshake unit210determines not to establish a handshake for the fast charging protocol with the load device connected to the USB port J and the analog handshake unit250is used to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port J.

According to certain embodiments, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) are connected to the input/output interface unit220through the port selection unit240, so that the port selection unit240enables signal communication between the USB port K and the digital handshake unit210. In some examples, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, the digital handshake unit210communicates with the load device that is connected to USB port K and determines whether or not to establish a handshake for a fast charging protocol with the load device that is connected to the USB port K. For example, if the load device connected to the USB port K is compatible with a fast charging protocol, the digital handshake unit210determines to establish a handshake for the fast charging protocol with the load device connected to the USB port K and establishes a handshake for the fast charging protocol with the load device connected to the USB port K. As an example, if the load device connected to the USB port K is not compatible with a fast charging protocol, the digital handshake unit210determines not to establish a handshake for the fast charging protocol with the load device connected to the USB port K and the analog handshake unit250is used to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port K.

As shown inFIG.2, the detection signal261is received by the analog handshake unit250, which is connected to the terminal280(e.g., a positive data pin), the terminal290(e.g., a positive data pin), the terminal282(e.g., a negative data pin) and the terminal292(e.g., a negative data pin) according to some embodiments. In certain embodiments, if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is connected to another load device, the analog handshake unit250communicates with the load device connected to the USB port J to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port J, and the analog handshake unit250also communicates with the load device connected to the USB port K to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port K.

In some examples, if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is connected to another load device, the analog handshake unit250determines whether the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, and if the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol, and further determines whether the load device connected to the USB port J is compatible with the BC 1.2 charging protocol. For example, if the analog handshake unit250determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port J, and if the analog handshake unit250determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines not to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port J. As an example, if the analog handshake unit250determines that the load device connected to the USB port J is compatible with the BC 1.2 charging protocol, the analog handshake unit250determines to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port J, and if the analog handshake unit250determines that the load device connected to the USB port J is not compatible with the BC 1.2 charging protocol, the analog handshake unit250determines not to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port J.

In certain examples, if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is connected to another load device, the analog handshake unit250determines whether the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, and if the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol, and further determines whether the load device connected to the USB port K is compatible with the BC 1.2 charging protocol. For example, if the analog handshake unit250determines that the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port K, and if the analog handshake unit250determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines not to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port K. As an example, if the analog handshake unit250determines that the load device connected to the USB port K is compatible with the BC 1.2 charging protocol, the analog handshake unit250determines to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port K, and if the analog handshake unit250determines that the load device connected to the USB port K is not compatible with the BC 1.2 charging protocol, the analog handshake unit250determines not to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port K.

According to certain embodiments, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port J, the analog handshake unit250communicates with the load device connected to the USB port J to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port J. In some examples, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port J, the analog handshake unit250determines whether the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, and if the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol, and further determines whether the load device connected to the USB port J is compatible with the BC 1.2 charging protocol. For example, if the analog handshake unit250determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port J, and if the analog handshake unit250determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines not to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port J. As an example, if the analog handshake unit250determines that the load device connected to the USB port J is compatible with the BC 1.2 charging protocol, the analog handshake unit250determines to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port J, and if the analog handshake unit250determines that the load device connected to the USB port J is not compatible with the BC 1.2 charging protocol, the analog handshake unit250determines not to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port J.

According to some embodiments, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port K, the analog handshake unit250communicates with the load device connected to the USB port K to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port K. In certain examples, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port K, the analog handshake unit250determines whether the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, and if the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol, and further determines whether the load device connected to the USB port K is compatible with the BC 1.2 charging protocol. For example, if the analog handshake unit250determines that the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port K, and if the analog handshake unit250determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol, the analog handshake unit250determines not to establish a handshake for the Apple 2.4A charging protocol with the load device connected to the USB port K. As an example, if the analog handshake unit250determines that the load device connected to the USB port K is compatible with the BC 1.2 charging protocol, the analog handshake unit250determines to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port K, and if the analog handshake unit250determines that the load device connected to the USB port K is not compatible with the BC 1.2 charging protocol, the analog handshake unit250determines not to establish a handshake for the BC 1.2 charging protocol with the load device connected to the USB port K.

In certain embodiments, if the detection signal261indicates that neither the USB port J nor the USB port K is connected to a load device, neither the digital handshake unit210nor the analog handshake unit250is used to establish any handshake for any charging protocol.

As discussed above and further emphasized here,FIG.2is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. In certain embodiments, the handshake controller200is a part of the multiport fast charger that includes N USB ports, wherein N is an integer larger than 1. For example, the N USB ports include the USB port J, the USB port K, and one or more additional USB ports. As an example, the port detection unit260is connected to each USB port of the N USB ports. In some examples, the port detection unit260determines whether only one USB port of the N USB ports is connected to a load device and all other USB ports of the N USB ports are not connected to any load device. For example, if only one USB port of the N USB ports is connected to a load device and all other USB ports of the N USB ports are not connected to any load device, that only one USB port is connected to the input/output interface unit220through the port selection unit240, so that the port selection unit240enables signal communication between that only one USB port and the digital handshake unit210to determine whether or not to establish a handshake for a fast charging protocol with the load device that is connected to that only one USB port. For example, if the load device that is connected to that only one USB port is compatible with a fast charging protocol, the digital handshake unit210establishes a handshake for the fast charging protocol with the load device that is connected to that only one USB port. As an example, if the load device that is connected to that only one USB port is not compatible with a fast charging protocol, the digital handshake unit210does not establish a handshake for the fast charging protocol with the load device that is connected to that only one USB port and the analog handshake unit250is used to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device that is connected to that only one USB port.

In certain examples, the port detection unit260determines whether two or more USB ports of the N USB ports are connected to two or more load devices respectively. For example, the two or more USB ports are some USB ports, not all USB ports, of the N USB ports, or the two or more USB ports are all USB ports of the N USB ports. As an example, if two or more USB ports of the N USB ports are connected to two or more load devices respectively, the analog handshake unit250communicates with each load device of the two or more load devices connected to the two or more USB ports respectively to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with each load device of the two or more load devices connected to the two or more USB ports respectively.

FIG.3A,FIG.3B, andFIG.3Care simplified diagrams showing signal communications between one or more devices connected to one or more USB ports with the handshake controller200as shown inFIG.2according to some embodiments of the present invention. These diagrams are merely examples, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications.

As shown inFIG.3A, if the USB port J is connected to a load device but the USB port K is not connected to a load device, the terminal280(e.g., a positive data pin) and the terminal282(e.g., a negative data pin) communicate with the digital handshake unit210through the port selection unit240and the input/output interface unit220according to certain embodiments. For example, as shown inFIG.3A, the terminal280(e.g., a positive data pin) and the terminal282(e.g., a negative data pin) send one or more signals to the digital handshake unit210and/or receive one or more signals from the digital handshake unit210, through the port selection unit240and the input/output interface unit220. As an example, as shown inFIG.3A, the digital handshake unit210communicates with the load device that is connected to USB port J and determines whether or not to establish a handshake for a fast charging protocol with the load device that is connected to the USB port J.

As shown inFIG.3B, if the USB port K is connected to a load device but the USB port J is not connected to a load device, the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) communicate with the digital handshake unit210through the port selection unit240and the input/output interface unit220according to some embodiments. For example, as shown inFIG.3B, the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) send one or more signals to the digital handshake unit210and/or receive one or more signals from the digital handshake unit210, through the port selection unit240and the input/output interface unit220. As an example, as shown inFIG.3B, the digital handshake unit210communicates with the load device that is connected to USB port K and determines whether or not to establish a handshake for a fast charging protocol with the load device that is connected to the USB port K.

As shown inFIG.3C, if the USB port J is connected to a load device and the USB port K is connected to another load device, the terminal280(e.g., a positive data pin), the terminal282(e.g., a negative data pin), the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) communicate with the analog handshake unit250according to certain embodiments. For example, as shown inFIG.3C, the terminal280(e.g., a positive data pin), the terminal282(e.g., a negative data pin), the terminal290(e.g., a positive data pin) and the terminal292(e.g., a negative data pin) send one or more signals to the analog handshake unit250and/or receive one or more signals from the analog handshake unit250. As an example, the analog handshake unit250communicates with the load device connected to the USB port J to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port J, and the analog handshake unit250also communicates with the load device connected to the USB port K to determine whether or not to establish a handshake for a regular charging protocol that is not a fast charging protocol with the load device connected to the USB port K.

FIG.4is a simplified diagram showing certain components of the port selection unit240as part of the handshake controller200as shown inFIG.2according to certain embodiments of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The port selection unit240includes the port selection subunit242and the port selection subunit244. The port selection subunit242includes switches410and420and a transistor450, and the port selection subunit244includes switches430and440and a transistor460. Although the above has been shown using a selected group of components for the port selection unit240, there can be many alternatives, modifications, and variations. For example, some of the components may be expanded and/or combined. Other components may be inserted to those noted above. Depending upon the embodiment, the arrangement of components may be interchanged with others replaced. Further details of these components are found throughout the present specification.

In some examples, the switch410includes terminals412and414, and the switch420includes terminals422and424. For example, the transistor450is a PMOS transistor, which includes a gate terminal452, a source terminal454, and a drain terminal456. In certain examples, the switch430includes terminals432and434, and the switch440includes terminals442and444. For example, the transistor460is a PMOS transistor, which includes a gate terminal462, a source terminal464, and a drain terminal466.

According to certain embodiments, the terminal412of the switch410is connected to the terminal280, and the terminal422of the switch420is connected to the terminal290. In some examples, the terminal414of the switch410, the terminal424of the switch420, and the drain terminal456of the PMOS transistor450are all connected to the terminal241. In certain examples, the source terminal454of the transistor450is biased to a supply voltage490, and the gate terminal452of the transistor450receives a drive signal453. For example, if the PMOS transistor450is turned on, the drain terminal456is biased to the supply voltage490.

According to some embodiments, the terminal432of the switch430is connected to the terminal282, and the terminal442of the switch440is connected to the terminal292. In certain examples, the terminal434of the switch430, the terminal444of the switch440, and the drain terminal466of the PMOS transistor460are all connected to the terminal243. In some examples, the source terminal464of the transistor460is biased to the supply voltage490, and the gate terminal462of the transistor460receives a drive signal463. For example, if the PMOS transistor460is turned on, the drain terminal466is biased to the supply voltage490.

In certain embodiments, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, the switch410is closed, the switch420is open, the switch430is closed, the switch440is open, and the transistors450and460are both open (e.g., turned off). For example, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, one or more signals425that are outputted at the terminal241are the same as one or more signals received by the terminal280. As an example, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device, one or more signals445that are outputted at the terminal243are the same as one or more signals received by the terminal282.

In some embodiments, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, the switch410is open, the switch420is closed, the switch430is open, the switch440is closed, and the transistors450and460are both open (e.g., turned off). For example, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, one or more signals445that are outputted at the terminal243are the same as one or more signals received by the terminal290. As an example, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device, one or more signals445that are outputted at the terminal243are the same as one or more signals received by the terminal292.

According to certain embodiments, if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is connected to another load device, the switch410is open, the switch420is open, the switch430is open, the switch440is open, and the transistors450and460are both closed (e.g., turned on). According to some embodiments, if the detection signal261indicates that neither the USB port J nor the USB port K is connected to a load device, the switch410is open, the switch420is open, the switch430is open, the switch440is open, and the transistors450and460are both closed (e.g., turned on).

FIG.5is a simplified diagram showing certain components of the analog handshake unit250as part of the handshake controller200as shown inFIG.2according to certain embodiments of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The analog handshake unit250includes a protocol detection subunit510, a switch controller520, a gate controller526, a buffer530, switches540,550,560and570, resistors546,556,566and576, and transistors580and590. Although the above has been shown using a selected group of components for the analog handshake unit250, there can be many alternatives, modifications, and variations. For example, some of the components may be expanded and/or combined. Other components may be inserted to those noted above. Depending upon the embodiment, the arrangement of components may be interchanged with others replaced. Further details of these components are found throughout the present specification.

In some embodiments, the buffer530includes a non-inverting input terminal532(e.g., a “+” terminal), an inverting input terminal534(e.g., a “−” terminal), and an output terminal536. For example, the non-inverting input terminal532(e.g., a “+” terminal) is biased to a predetermined constant voltage533(e.g., 2.7 volts), and the inverting input terminal534(e.g., a “−” terminal) is connected to the output terminal536. As an example, a voltage537at the output terminal536is equal to the predetermined constant voltage533(e.g., 2.7 volts). In certain examples, the switch540includes terminals542and544, the switch550includes terminals552and554, the switch560includes terminals562and564, and the switch570includes terminals572and574. For example, the terminals542,552,562and572are connected to the output terminal536of the buffer530. In some examples, the resistor546includes terminals548and549, the resistor556includes terminals558and559, the resistor566includes terminals568and569, and the resistor576includes terminals578and579. For example, the terminal544is connected to the terminal548, the terminal554is connected to the terminal558, the terminal564is connected to the terminal568, and the terminal574is connected to the terminal578.

In certain embodiments, the transistor580is an NMOS transistor including a gate terminal582, a drain terminal584, and a source terminal586, and the transistor590is an NMOS transistor including a gate terminal592, a drain terminal594, and a source terminal596. For example, the terminal549is connected to the drain terminal584and the terminal280, and the terminal559is connected to the source terminal586and the terminal282. As an example, the terminal569is connected to the drain terminal594and the terminal290, and the terminal579is connected to the source terminal596and the terminal292.

According to certain embodiments, the protocol detection subunit510generates detection signals511and513. In some examples, the switch controller520receives the detection signal511and the detection signal261and generates switch control signals521and523based at least in part on the detection signal511and/or the detection signal261. For example, the switch control signal521closes the switches540and550and/or opens the switches540and550. As an example, the switch control signal523closes the switches560and570and/or opens the switches560and570. According to some embodiments, the gate controller526receives the detection signal513and the detection signal261and generates gate control signals525and527based at least in part on the detection signal513and/or the detection signal261. For example, the gate control signal525is received by the gate terminal582to turn on and/or turn off the transistor580. As an example, the gate control signal527is received by the gate terminal592to turn on and/or turn off the transistor590.

In some embodiments, if the detection signal261indicates that neither the USB port J nor the USB port K is connected to a load device, the switch controller520generates the switch control signals521and523based at least in part on the detection signal261regardless of the detection signal511, and the gate controller526generates the gate control signals525and527based at least in part on the detection signal261regardless of the detection signal513. For example, if the detection signal261indicates that neither the USB port J nor the USB port K is connected to a load device, the switch controller520generates the switch control signals521and523to keep the switches540,550,560and570all closed regardless of the detection signal511, and the gate controller526generates the gate control signals525and527to keep the transistors580and590both turned off regardless of the detection signal513. As an example, if the detection signal261indicates that neither the USB port J nor the USB port K is connected to a load device, the terminals280,282,290and292are all biased at the predetermined constant voltage533(e.g., 2.7 volts).

In certain embodiments, if the detection signal261indicates that the USB port J is connected to a load device and/or the USB port K is connected to another load device, the switch controller520generates the switch control signals521and523based at least in part on the detection signal511and the detection signal261, and the gate controller526generates the gate control signals525and527based at least in part on the detection signal513and the detection signal261. In some examples, if the detection signal261indicates that the USB port J is connected to a load device and/or the USB port K is connected to another load device, the switches540,550,560and570are all closed and the transistors580and590are both turned off. For example, if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is also connected to another load device, afterwards the protocol detection subunit510determines whether the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol and whether the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol. As an example, if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port J, afterwards the protocol detection subunit510determines whether the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol. For example, if the detection signal261indicates that the USB port K is connected to a load device but the USB port J is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port K, afterwards the protocol detection subunit510determines whether the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol.

According to some embodiments, with the predetermined constant voltage533being equal to 2.7 volts, if the terminals280and282both remain biased at 2.7 volts during a predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, and if any of the terminals280and282does not remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol. For example, if the USB port J is determined compatible with the Apple 2.4A charging protocol, the switches540and550both remain closed and the transistor580remains turned off. As an example, if the USB port J is determined not compatible with the Apple 2.4A charging protocol, the switches540and550both become open and the transistor580becomes turned on, and afterwards, the protocol detection subunit510determines whether the load device connected to the USB port J is compatible with the BC 1.2 charging protocol based at least a voltage of the terminal280and a voltage of the terminal282.

According to certain embodiments, with the predetermined constant voltage533being equal to 2.7 volts, if the terminals290and292both remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, and if any of the terminals290and292does not remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol. For example, if the USB port K is determined compatible with the Apple 2.4A charging protocol, the switches560and570both remain closed and the transistor590remains turned off. As an example, if the USB port K is determined not compatible with the Apple 2.4A charging protocol, the switches560and570both become open and the transistor590becomes turned on, and afterwards, the protocol detection subunit510determines whether the load device connected to the USB port K is compatible with the BC 1.2 charging protocol based at least a voltage of the terminal290and a voltage of the terminal292.

FIG.6is a simplified diagram showing a method for the USB port J and/or the USB port K performed by the analog handshake unit250as part of the handshake controller200as shown inFIG.2according to some embodiments of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The method600includes a process610for closing multiple switches and turning off one or more transistors, a process620for determining whether one or more load devices are compatible with the Apple 2.4A charging protocol, a process630for keeping multiple switches closed and one or more transistors turned off and providing communications between the analog handshake unit250and one or more load devices, a process640for changing multiple switches from being closed to being open and changing one or more transistors from being turned off to being turned on, a process650for determining whether one or more load devices are compatible with the BC 1.2 charging protocol, and a process660for keeping multiple switches open and one or more transistors turned on and providing communications between the analog handshake unit250and one or more load devices. Although the above has been shown using a selected group of components for the analog handshake unit250, there can be many alternatives, modifications, and variations. For example, some of the components may be expanded and/or combined. Other components may be inserted to those noted above. Depending upon the embodiment, the arrangement of components may be interchanged with others replaced. Further details of these components are found throughout the present specification.

In some embodiments, the method600is performed for the USB port J if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is also connected to another load device, or if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port J. At the process610, for the USB port J, the switches540and550are closed and the transistor580is turned off according to certain embodiments. At the process620, during the predetermined time duration (e.g., T0), whether the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol is determined according to some embodiments. In certain examples, if the terminals280and282both remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol, and if any of the terminals280and282does not remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol. For example, if the load device connected to the USB port J is determined to be compatible with the Apple 2.4A charging protocol, the process630is performed. As an example, if the load device connected to the USB port J is determined to be not compatible with the Apple 2.4A charging protocol, the process640is performed. At the process630, the switches540and550remain closed and the transistor580remains turned off, and the analog handshake unit250communicates with the load device connected to the USB port J according to certain embodiments. At the process640, the switches540and550become open and the transistor580becomes turned on according to some embodiments. At the process650, whether the load device connected to the USB port J is compatible with the BC 1.2 charging protocol is determined according to certain embodiments. For example, if the protocol detection subunit510determines that the load device connected to the USB port J is compatible with the BC 1.2 charging protocol, the process660is performed. As an example, if the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the BC 1.2 charging protocol, the process650is performed again. At the process660, the switches540and550remain open and the transistor580remains turned on, and the analog handshake unit250communicates with the load device connected to the USB port J according to certain embodiments.

In certain embodiments, the method600is performed for the USB port K if the detection signal261indicates that the USB port J is connected to a load device and the USB port K is also connected to another load device, or if the detection signal261indicates that the USB port J is connected to a load device but the USB port K is not connected to a load device and the digital handshake unit210does not establish any handshake for a fast charging protocol with the load device connected to the USB port J. At the process610, for the USB port K, the switches560and570are closed and the transistor590is turned off according to certain embodiments. At the process620, during the predetermined time duration (e.g., T0), whether the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol is determined according to some embodiments. In certain examples, if the terminals290and292both remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port K is compatible with the Apple 2.4A charging protocol, and if any of the terminals290and292does not remain biased at 2.7 volts during the predetermined time duration (e.g., T0), the protocol detection subunit510determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol. For example, if the load device connected to the USB port K is determined to be compatible with the Apple 2.4A charging protocol, the process630is performed. As an example, if the load device connected to the USB port K is determined to be not compatible with the Apple 2.4A charging protocol, the process640is performed. At the process630, the switches560and570remain closed and the transistor590remains turned off, and the analog handshake unit250communicates with the load device connected to the USB port K according to certain embodiments. At the process640, the switches560and570become open and the transistor590becomes turned on according to some embodiments. At the process650, whether the load device connected to the USB port K is compatible with the BC 1.2 charging protocol is determined according to certain embodiments. For example, if the protocol detection subunit510determines that the load device connected to the USB port K is compatible with the BC 1.2 charging protocol, the process660is performed. As an example, if the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the BC 1.2 charging protocol, the process650is performed again. At the process660, the switches560and570remain open and the transistor590remains turned on, and the analog handshake unit250communicates with the load device connected to the USB port K according to certain embodiments.

According to certain embodiments, the regular charging protocol that is compatible with the load device connected to the USB port J and the regular charging protocol that is compatible with the load device connected to the USB port K are different. For example, the protocol detection subunit510determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol. As an example, the protocol detection subunit510determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol but is compatible with the BC 1.2 charging protocol.

According to some embodiments, the regular charging protocol that is compatible with the load device connected to the USB port J and the regular charging protocol that is compatible with the load device connected to the USB port K are the same. For example, the protocol detection subunit510determines that the load device connected to the USB port J is compatible with the Apple 2.4A charging protocol and the load device connected to the USB port K is also compatible with the Apple 2.4A charging protocol. As an example, the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol but is compatible with the BC 1.2 charging protocol, and the protocol detection subunit510also determines that the load device connected to the USB port K is not compatible with the Apple 2.4A charging protocol but is compatible with the BC 1.2 charging protocol.

FIG.7shows simplified timing diagrams for the analog handshake unit250as part of the handshake controller200as shown inFIG.2if the USB port J is connected to a load device and the USB port K is connected to another load device according to certain embodiments of the present invention. These diagrams are merely examples, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The waveform710represents a signal indicating whether the USB port J is connected to a load device as a function of time, the waveform720represents a signal indicating whether the USB port K is connected to a load device as a function of time, the waveform730represents the switch control signal521as a function of time, the waveform740represents the switch control signal523as a function of time, the waveform750represents the gate control signal525as a function of time, and the waveform760represents the gate control signal527as a function of time.

According to certain embodiments, the detection signal261includes the signal as represented by the waveform710and the signal as represented by the waveform720. In some examples, if the signal as represented by the waveform710is at a logic low level (e.g., being equal to 0), the USB port J is not connected to a load device, and if the signal as represented by the waveform710is at a logic high level (e.g., being equal to 1), the USB port J is connected to a load device. In certain examples, if the signal as represented by the waveform720is at the logic low level (e.g., being equal to 0), the USB port K is not connected to a load device, and if the signal as represented by the waveform720is at the logic high level (e.g., being equal to 1), the USB port K is connected to a load device. For example, if the detection signal261is equal to 10, the USB port J is connected to a load device, but the USB port K is not connected to a load device. As an example, if the detection signal261is equal to 01, the USB port J is not connected to a load device, but the USB port K is connected to a load device. For example, if the detection signal261is equal to 11, the USB port J is connected to a load device and the USB port K is connected to another load device. As an example, if the detection signal261is equal to 00, neither the USB port J nor the USB port K is connected to a load device.

In some embodiments, before time t1, the USB port J is not connected to a load device as shown by the waveform710, and the USB port K is also not connected to a load device as shown by the waveform720. For example, before time t1, the switch control signal521is at the logic high level to close both switches540and550as shown by the waveform730, and the switch control signal523is at the logic high level to close both switches560and570as shown by the waveform740. As an example, before time t1, the gate control signal525is at the logic low level to turn off the transistor580as shown by the waveform750, and the gate control signal527is at the logic low level to turn off the transistor590as shown by the waveform760.

In certain embodiments, at time t1, the USB port J becomes connected to a load device as shown by the waveform710, and the USB port K also becomes connected to a load device as shown by the waveform720. For example, at time t1, the switch control signal521remains at the logic high level to close both switches540and550as shown by the waveform730, and the switch control signal523also remains at the logic high level to close both switches560and570as shown by the waveform740. As an example, at time t1, the gate control signal525remains at the logic low level to turn off the transistor580as shown by the waveform750, and the gate control signal527also remains at the logic low level to turn off the transistor590as shown by the waveform760.

In some embodiments, from time t1to time t2, the USB port J remains connected to a load device as shown by the waveform710, and the USB port K also remains connected to a load device as shown by the waveform720. For example, from time t1to time t2, the switch control signal521remains at the logic high level to keep both switches540and550closed as shown by the waveform730, and the switch control signal523also remains at the logic high level to keep both switches560and570closed as shown by the waveform740. As an example, from time t1to time t2, the gate control signal525remains at the logic low level to keep the transistor580turned off as shown by the waveform750, and the gate control signal527also remains at the logic low level to keep the transistor590turned off as shown by the waveform760. In certain examples, time t2follows time t1by the predetermined time duration (e.g., T0). In some examples, from time t1to time t2(e.g., during T0), the protocol detection subunit510determines that the load device connected to the USB port J is not compatible with the Apple 2.4A charging protocol and the load device connected to the USB port K is also not compatible with the Apple 2.4A charging protocol.

In certain embodiments, at time t2, the USB port J remains connected to a load device as shown by the waveform710, and the USB port K also remains connected to a load device as shown by the waveform720. For example, at time t2, the switch control signal521changes from the logic high level to the logic low level to open both switches540and550as shown by the waveform730, and the switch control signal523also changes from the logic high level to the logic low level to open both switches560and570as shown by the waveform740. As an example, at time t2, the gate control signal525changes from the logic low level to the logic high level to turn on the transistor580as shown by the waveform750, and the gate control signal527also changes from the logic low level to the logic high level to turn on the transistor590as shown by the waveform760.

In certain embodiments, after time t2, the USB port J remains connected to a load device as shown by the waveform710, and the USB port K also remains connected to a load device as shown by the waveform720. For example, after time t2, the switch control signal521remains at the logic low level to keep both switches540and550open as shown by the waveform730, and the switch control signal523also remains at the logic low level to keep both switches560and570open as shown by the waveform740. As an example, after time t2, the gate control signal525remains at the logic high level to keep the transistor580turned on as shown by the waveform750, and the gate control signal527also remains at the logic high level to keep the transistor590turned on as shown by the waveform760. In some examples, after time t2, the protocol detection subunit510determines whether the load device connected to the USB port J is compatible with the BC 1.2 charging protocol and whether the load device connected to the USB port K is compatible with the BC 1.2 charging protocol.

In some examples, at time t1, the process610for closing multiple switches and turning off one or more transistors is performed for both the USB port J and the USB port K. In certain examples, from time t1to time t2, the process620for determining whether one or more load devices are compatible with the Apple 2.4A charging protocol is performed for both the USB port J and the USB port K. In some examples, at time t2, the process640for changing multiple switches from being closed to being open and changing one or more transistors from being turned off to being turned on is performed for both the USB port J and the USB port K. In certain examples, after time t2, the process650for determining whether one or more load devices are compatible with the BC 1.2 charging protocol is performed for both the USB port J and the USB port K.

According to some embodiments, a handshake controller for one or more charging protocols includes: a port detection unit connected to a plurality of USB ports and configured to generate a detection signal; a port selection unit configured to receive the detection signal and connected to the plurality of USB ports; an interface unit connected to the port selection unit; and a digital handshake unit connected to the interface unit; wherein the port detection unit is further configured to: determine whether a single USB port of the plurality of USB ports is connected to a load device; and if the single USB port of the plurality of USB ports is connected to the load device and no other USB port of the plurality of USB ports is connected to any load device, generate the detection signal identifying the single USB port that is connected to the load device; wherein the port selection unit is further configured to, if the detection signal identifies the single USB port that is connected to the load device, connect the single USB port to the interface unit to establish one or more signal communications between the single USB port and the digital handshake unit through the interface unit. For example, the handshake controller is implemented according to at leastFIG.2.

As an example, the digital handshake unit is configured to, if the detection signal identifies the single USB port that is connected to the load device, determine whether or not to establish a handshake for a charging protocol with the load device. For example, wherein the charging protocol is a fast charting protocol.

As an example, the handshake controller further includes an analog handshake unit connected to the plurality of USB ports. For example, the port detection unit is further configured to: determine whether multiple USB ports of the plurality of USB ports are connected to multiple load devices respectively; and if the multiple USB ports of the plurality of USB ports are connected to the multiple load devices respectively, generate the detection signal identifying the multiple USB ports connected to the multiple load devices respectively. As an example, the multiple USB ports are some USB ports, not all USB ports, of the plurality of USB ports. For example, the multiple USB ports are all USB ports of the plurality of USB ports. As an example, the analog handshake unit is configured to, if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively: with each load device of the multiple load devices, determine whether or not to establish a handshake for a charging protocol selected from one or more charging protocols.

For example, the multiple USB ports include a first USB port and a second USB port; and the multiple load devices include a first load device connected to the first USB port and a second load device connected to the second USB port. As an example, the analog handshake unit is further configured to, if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively: determine whether or not to establish a first handshake for a first charging protocol with the first load device; and determine whether or not to establish a second handshake for a second charging protocol with the second load device; wherein: the first charging protocol is selected from one or more charging protocols; and the second charging protocol is selected from the one or more charging protocols. For example, the first charging protocol and the second charging protocol are the same. As an example, the first charging protocol and the second charging protocol are different.

As an example, the analog handshake unit is configured to, if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively, for each load device of the multiple load devices, during a predetermined time duration, determine whether the each load device is compatible with a first charging protocol; and after the predetermined time duration, if the each load device is not compatible with the first charging protocol, determine whether the each load device is compatible with a second charging protocol; wherein the first charging protocol and the second charging protocol are different.

According to certain embodiments, a handshake control method for one or more charging protocols includes: determining, by a port detection unit, whether a single USB port of a plurality of USB ports is connected to a load device; if the single USB port of the plurality of USB ports is connected to the load device and no other USB port of the plurality of USB ports is connected to any load device, generating, by the port detection unit, a detection signal identifying the single USB port that is connected to the load device; receiving the detection signal by a port selection unit; and if the detection signal identifies the single USB port that is connected to the load device, connecting, by the port selection unit, the single USB port to an interface unit; and establishing one or more signal communications between the single USB port and the digital handshake unit through the interface unit. For example, the handshake control method is implemented according to at leastFIG.2.

As an example, the handshake control method further includes: if the detection signal identifies the single USB port that is connected to the load device, determining, by the digital handshake unit, whether or not to establish a handshake for a charging protocol with the load device. For example, the charging protocol is a fast charting protocol.

For example, the handshake control method further includes: determining, by the port detection unit, whether multiple USB ports of the plurality of USB ports are connected to multiple load devices respectively; and if the multiple USB ports of the plurality of USB ports are connected to the multiple load devices respectively, generating, by the port detection unit, the detection signal identifying the multiple USB ports connected to the multiple load devices respectively. As an example, the multiple USB ports are some USB ports, not all USB ports, of the plurality of USB ports. For example, the multiple USB ports are all USB ports of the plurality of USB ports. As an example, the handshake control method further includes: if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively, with each load device of the multiple load devices, determining, by an analog handshake unit connected to the plurality of USB ports, whether or not to establish a handshake for a charging protocol selected from one or more charging protocols.

For example, the multiple USB ports include a first USB port and a second USB port; and the multiple load devices include a first load device connected to the first USB port and a second load device connected to the second USB port. As an example, the handshake control method further includes: if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively, determining, by an analog handshake unit connected to the plurality of USB ports, whether or not to establish a first handshake for a first charging protocol with the first load device; and determining, by the analog handshake unit, whether or not to establish a second handshake for a second charging protocol with the second load device; wherein: the first charging protocol is selected from one or more charging protocols; and the second charging protocol is selected from the one or more charging protocols. For example, the first charging protocol and the second charging protocol are the same. As an example, the first charging protocol and the second charging protocol are different.

For example, the handshake control method further includes, if the detection signal identifies the multiple USB ports connected to the multiple load devices respectively, for each load device of the multiple load devices: during a predetermined time duration, determining, by an analog handshake unit connected to the plurality of USB ports, whether the each load device is compatible with a first charging protocol; and after the predetermined time duration, if the each load device is not compatible with the first charging protocol, determining, by the analog handshake unit, whether the each load device is compatible with a second charging protocol; wherein the first charging protocol and the second charging protocol are different.

In certain examples, some or all components of various embodiments of the present invention each are, individually and/or in combination with at least another component, implemented using one or more software components, one or more hardware components, and/or one or more combinations of software and hardware components. In some examples, some or all components of various embodiments of the present invention each are, individually and/or in combination with at least another component, implemented in one or more circuits, such as one or more analog circuits and/or one or more digital circuits. For example, the input/output interface unit220, the digital handshake unit210, the port selection unit240, the analog handshake unit250, and/or the port detection unit260is implemented in one or more circuits. As an example, various embodiments and/or examples of the present invention can be combined.

Although specific embodiments of the present invention have been described, it will be understood by those of skill in the art that there are other embodiments that are equivalent to the described embodiments. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments.