Many electronic devices, such as cellular telephones, headphones, input devices, speakers, and portable batteries, may connect to electronic apparatuses, such as laptops, tablets, personal computers, televisions, and wall sockets via input/output (I/O) port connections. For instance, the I/O ports may be Universal Serial Bus (USB) ports. Some electronic devices may receive power from the electronic apparatuses via the I/O port connections and/or may communicate data with the electronic apparatuses via the I/O port connections.
Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
For simplicity and illustrative purposes, the principles of the present disclosure are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide an understanding of the examples. It will be apparent, however, to one of ordinary skill in the art, that the examples may be practiced without limitation to these specific details. In some instances, well known methods and/or structures have not been described in detail so as not to unnecessarily obscure the description of the examples. Furthermore, the examples may be used together in various combinations.
Throughout the present disclosure, the terms “a” and “an” are intended to denote one of a particular element or multiple ones of the particular element. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” may mean based in part on.
Many types of external devices, e.g., smartphones, input devices, headphones, a solid state drive, etc., that connect to a host device, e.g., a laptop, a tablet, etc., via an I/O connection, may receive power from the host device via the I/O connection. In some instances, an external device may expect a higher amount of power than the host device may provide. In these examples, the external device may not receive the expected amount of power, which may reduce or limit performance of the external device. Alternatively, the host device may supply power at the expected level, but such delivery of power may be harmful to the host device, e.g., may drain the battery of the host device at a faster rate than may be intended for the host device.
Disclosed herein are apparatuses, systems, and methods that may control a supply of power to a first device, e.g., an external device, from an external power source while enabling communications between the first device and a second device, e.g., a host device. According to examples, the apparatuses disclosed herein may function as a physical interface between the first device and the second device. In this capacity, the apparatuses may cause power to be delivered to the first device from the external power source while communicating data to the first device to make it appear that the first device is receiving power from the second device. The apparatuses may also communicate data to the second device to make it appear that the first device is either not receiving power from the second device or that the second device is supplying power to the first device. In one regard, this “spoofing” of the first device and the second device with respect to each other may cause the first device and the second device to communicate signals to each other as if the first device and the second device were connected to each other directly.
In some examples, the apparatuses may intercept data communications, e.g., power contract negotiations, between the first device and the second device. The intercepted data communications may include a requested power for the first device. In some examples, the apparatuses may cause the first device to be supplied with power according to the requested power. In some examples, the apparatuses may determine which of the second device and the external power source is to supply power to the first device. The apparatuses may make this determination based on the requested power. For instance, the apparatuses may cause power to be supplied from the second device in instances in which the requested power falls below a predefined output power level available from the second device and to cause power to be supplied from the external power source otherwise.
Through implementation of the apparatuses disclosed herein, a controller may cause an expected level of power to be supplied to a first device while also avoiding harm to the second device. Additionally, the apparatuses may control the power delivery while also enabling the first device and the second device to communicate with each other with limited or no disruption.
Reference is first made to
The apparatus 100 may include a power converter 102 and a controller 110. The apparatus 100 may be an interface between a first device 202 and a second device 204. In other words, the apparatus 100 may be or may include a mezzanine daughter board to which the first device 202 and the second device 204 may respectively be connected. In any regard, the apparatus 100 may include a first connector 210 and a second connector 212. The first device 202 may be connected to the apparatus 100 via the first connector 210 and the second device 204 may be connected to the apparatus 100 via the second connector 212. Although the first device 202 and the second device 204 are depicted as being directly connected to the apparatus 100, it should be understood that the first device 202 and/or the second device 204 may be connected to the apparatus 100 via a cable or other connecting component.
In some examples, the first connector 210 may be a female port and the second connector 212 may be a male adapter. In these examples, the first device 202 may include a male adapter that may be inserted into the first connector 210 and the second device 204 may include a female port into which the second connector 212 may be inserted. In other examples, the first connector 210 may be a male adapter and the second connector 212 may be a female port. In these examples, the first device 202 may include a female port into which the first connector 210 may be inserted and the second device 204 may include a male adapter that may be inserted into the second connector 212.
Generally speaking, the first connector 210 and the second connector 212 may comply with any of a number of protocols and/or standards. For instance, the first connector 210 and the second connector 212 may comply with current and/or prior USB standards. By way of example, the first connector 210 and the second connector 212 may comply with the USB Type C standard. In other examples, the first connector 210 and the second connector 212 may comply with the Thunderbolt™ standard, the DisplayPort standard, etc. In some examples, the first connector 210 may comply with a first protocol (or a first standard) and the second connector 212 may comply with a second protocol (or a second standard). By way of example, the first connector 210 may comply with a USB standard and the second connector 212 may comply with the Thunderbolt™ standard. In these examples, the apparatus 100 may function as a converter between devices having connectors that comply with various standards.
As also shown in
As also shown in
The controller 110 may be an integrated circuit, such as an application-specific integrated circuit (ASIC). In other examples, the controller 110 may operate with firmware (i.e., machine-readable instructions) stored in a memory (e.g., the non-transitory computer readable medium shown in
As shown in
According to examples, the controller 110 may spoof 114 the first device 202 and the second device 204 with respect to each other. That is, for instance, the controller 110 may send data signals to the first device 202 as if the controller 110 was the second device 204. In addition, the controller 110 may send data signals to the second device 204 as if the controller 110 was the first device 202. As such, for instance, the second device 204 may operate as if the second device 204 was communicating with the first device 202 and the first device 202 may operate as if the first device 202 was communicating with the second device 204 even though the first device 202 and the second device 204 are communicating with the controller 110.
The controller 110 may determine 116 a power contract between the first device 202 and the second device 204. That is, for instance, the controller 110 may determine 116 the amount of power that the first device 202 has requested and may determine that the first device 202 may be supplied with the requested amount of power. In addition, the controller 110 may supply 118 power to the first device 202 from the external power source 230 according to the determined power contract. That is, for instance, the controller 110 may control the power converter 102 to supply power to the power link 220 at a current, voltage, and/or frequency as set forth in the determined power contract. In this regard, the power converter 102 may be a programmable power converter.
The controller 110 may also enable pass-through of data (or equivalently, communication) signals between the first device 202 and the second device 204 through the link 222 in the apparatus 100. That is, the controller 110 may enable the first device 202 and the second device 204 to communicate data signals, other than the power contract negotiation data signals, to each other via the link 222. In addition, the controller 110 may send a communication to the first device 202 that signals to the first device 202 that the power is supplied to the first device 202 by the second device 204. In addition, the controller 110 may send a communication to the second device 204 that signals to the second device 204 that the first device 202 is not drawing power from the second device 204. Alternatively, the controller 110 may send a communication to the second device 204 that signals to the second device 204 that the power is delivered to the first device 202 by the second device 204.
With reference now to
The apparatus 300 may include a power converter 302, a controller 310, a first port 320, a second port 322, a power link 324, and a link 326. Similarly to the apparatus 100, the apparatus 300 may be an interface between a first device 202 and a second device 204. The apparatus 300 may be similar to the apparatus 100, the power converter 302 may be similar to the power converter 102, the controller 310 may be similar to the controller 110, the first port 320 may be similar to the first connector 210, the second port 322 may be similar to the second connector 212, the power link 324 may be similar to the power link 220, and the link 326 may be similar to the link 222 discussed above with respect to the apparatus 100. Accordingly, common features of these components will not be repeated with respect to the apparatus 300, the power converter 302, the controller 310, the first port 320, the second port 322, the power link 324, and the link 326. It is to be noted that the operations 312-314 discussed herein may be instructions that the controller 310 may execute.
As shown, the first port 320 may connect to a first device 202 and the second port 322 may connect to a second device 204. In addition, the power converter 302 may connect to an external power source 230. The first device 202, the second device 204, and the external power source 230 are shown with dashed lines to indicate that these components do not form part of the apparatus 300.
The controller 310 may be in communication with the first port 320 and the second port 322 via the link 326. In addition, the controller 310 may receive 312 a first signal communicated from the first device 202, in which the first signal may include a request for power. The controller 310 may negotiate the power contract with the first device 202. In some examples, the first device 202 may be powered, e.g., have a battery, and may send the first signal following connection to the first port 320 to initiate the power contract negotiation. In other examples, the first device 202 may not be powered and thus, when the first device 202 is connected to the first port 320, the controller 310 may cause the power converter 102 to supply power to the first port 320 over the power link 324. The first device 202, upon receiving the power, may send the first signal through the first port 320 to initiate a power contract negotiation, e.g., communicate a request for additional power.
The controller 310 may, based on receipt of the first signal, control 314 a power converter 302 to supply power to the first device 202 from the external power source 230 through the first port 320. That is, the controller 310 may control the power converter 302 to supply power to the first port 320 via the power link 324 according to a requested power level identified in the first signal. As discussed herein, the first signal may be part of a power contract negotiation and thus, the controller 310 may intercept the power contract negotiation from the first device 202. The controller 310 may also send a second signal to the second device 204, in which the second signal may be part of the power contract negotiation.
According to examples, the controller 310 may determine, from the power contract negotiation, whether the request for power from the first device 202 exceeds a predefined output power level of the second device 204. The predefined output power level may be a power level that the second device 204 is able to provide and/or a maximum output power level that the second device 204 is able to provide. The controller 310 may also control the power converter 302 to supply power to the first device 202 from the external power converter 230 based on a determination that the request from the first device 202 exceeds the predefined output power level of the second device 204. In other words, when the requested power from the first device 202 does not exceed the predefined output power level of the second device 204, the controller 310 may enable the first device 202 to receive power from the second device 204 via the link 326. However, when the requested power from the first device 202 exceeds the predefined output power level of the second device 204, the controller 310 may block the second device 204 from supplying power to the first device 202 and instead, may cause power to be delivered to the first device 202 from the external power source 230.
According to examples, the controller 310 may send a communication to the first device 202 that signals to the first device 202 that the power is supplied to the first device 202 by the second device 204. In addition, the controller 310 may send a communication to the second device 204 that signals to the second device 204 that the power is delivered to the first device 202 by the second device 204. In one regard, the communications may cause the first device 202 and the second device 204 to function as if the second device 204 is supplying power to the first device 202. As a result, the first device 202 and the second device 204 may communicate to each other normally, e.g., as if the first device 202 is directly connected to the second device 204, over the link 326.
Various manners in which the apparatuses 100, 300 may be implemented are discussed in greater detail with respect to the method 400 depicted in
The description of the method 400 is made with reference to the apparatuses 100, 300 illustrated in
At block 402, the controller 110, 310 may receive a power request from a first device 202. At block 404, the controller 110, 310 may determine, based on the received power request, whether a second device 204 or an external power source 230 is to provide power to the first device. At block 406, the controller 110, 310 may, based on the determination that the second device 204 is to provide power to the first device 202, enable power delivery from the second device 204 to the first device 202. At block 408, the controller 110, 310 may, based on the determination that the external power source 230 is to provide power to the first device 202, cause power to be supplied to the first device 202 from the external power source 230.
According to examples, the controller 110, 310 may determine whether the received power request exceeds a predefined output power level available from the second device 204, and may determine that the second device 204 is to provide power to the first device 202 based on a determination that the received request falls below the predefined output power level available from the second device 204.
Some or all of the operations set forth in the method 400 may be contained as utilities, programs, or subprograms, in any desired computer accessible medium. In addition, some or all of the operations set forth in the method 400 may be embodied by computer programs, which may exist in a variety of forms both active and inactive. For example, they may exist as machine readable instructions, including source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer readable storage medium. Examples of non-transitory computer readable storage media include computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.
Turning now to
The non-transitory computer readable medium 500 may have stored thereon machine readable instructions 502-508 that a processor may execute. The non-transitory computer readable medium 500 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The transitory computer readable medium 500 may be, for example, Random Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. The term “non-transitory” does not encompass transitory propagating signals.
The processor may fetch, decode, and execute the instructions 502 to receive a power request from a first device 202. The processor may fetch, decode, and execute the instructions 504 to determine, based on the received power request, whether a second device 204 or an external power source 230 is to provide power to the first device. The processor may fetch, decode, and execute the instructions 506 to, based on the determination that the second device 204 is to provide power to the first device 202, enable power delivery from the second device 204 to the first device 202. The processor may fetch, decode, and execute the instructions 508 to, based on the determination that the external power source 230 is to provide power to the first device 202, cause power to be supplied to the first device 202 from the external power source 230.
According to examples, the processor may determine whether the received power request exceeds a predefined output power level available from the second device 204, and may determine that the second device 204 is to provide power to the first device 202 based on a determination that the received request falls below the predefined output power level available from the second device 204.
Although described specifically throughout the entirety of the instant disclosure, representative examples of the present disclosure have utility over a wide range of applications, and the above discussion is not intended and should not be construed to be limiting but is offered as an illustrative discussion of aspects of the disclosure.
What has been described and illustrated herein is an example of the disclosure along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the disclosure, which is intended to be defined by the following claims—and their equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2018/060837 | 11/13/2018 | WO | 00 |