The technology of the disclosure relates generally to full-duplex communications over a single-wire communication bus in an electronic device.
Mobile communication devices have become increasingly common in current society. The prevalence of these mobile communication devices is driven in part by the many functions that are now enabled on such devices. Increased processing capabilities in such devices means that mobile communication devices have evolved from being pure communication tools into sophisticated mobile multimedia centers that enable enhanced user experiences.
The redefined user experience requires higher data rates offered by wireless communication technologies, such as Wi-Fi, long-term evolution (LTE), and fifth-generation new-radio (5G-NR). To achieve the higher data rates in mobile communication devices, a mobile communication device may employ a power amplifier(s) to amplify a radio frequency (RF) signal(s) to a higher output power prior to radiating the RF signal via an antenna(s).
However, the increased output power of RF signal(s) can lead to increased power consumption and thermal dissipation, thus compromising overall performance and user experiences. Envelope tracking (ET) is a power management technology designed to improve efficiency levels of PAs to help reduce power consumption and thermal dissipation in mobile communication devices. As such, it may be desirable to enable ET in mobile communication devices whenever possible. Notably, the RF signal(s) communicated in different wireless communication systems may correspond to different modulation bandwidths (e.g., from 80 KHz to over 200 MHz). As such, it may be further desirable to ensure that the power amplifier(s) can maintain optimal efficiency across a wide range of modulation bandwidth.
In many mobile communication devices, the power amplifier(s) and the antenna(s) are typically located in an RF front-end (RFFE) circuit communicatively coupled to a transceiver circuit(s) via an RFFE bus as defined in the MIPI® alliance specification for radio frequency front-end control interface, version 2.1. However, not all communications require a two-wire serial bus like the RFFE bus. In some cases, a single-wire serial bus may be sufficient or even desired for carrying out certain type of communications between circuits. As such, it may be possible to provide a single-wire bus, either concurrent to or independent of, the RFFE bus in a mobile communication device.
A conventional single-wire bus is typically configured to support half-duplex communications between a master circuit and a slave circuit(s). In this regard, the master circuit and the slave circuit(s) are taking turns to communicate forward (master to slave) and reverse (slave to master) bus telegrams over the single-wire bus. It is thus desirable to support full-duplex communications over the single-wire bus, whereby the master circuit and the slave circuit(s) can communicate the forward and reverse bus telegrams concurrently, to help improve efficiency, cost, and power consumption.
Aspects disclosed in the detailed description are related to full-duplex communications over a single-wire bus. In embodiments disclosed herein, a master circuit and a slave circuit(s) are able to communicate forward (master to slave) bus telegrams and reverse (slave to master) bus telegrams concurrently over a single-wire bus consisting of one wire. Specifically, the master circuit is configured to modulate the forward bus telegrams based on voltage pulse-width modulation (PWM), while the slave circuit(s) is configured to modulate the reverse bus telegrams based on current variations. In addition, the slave circuit(s) is further configured to harvest power from the master circuit concurrent to receiving the forward bus telegrams and sending the reverse bus telegrams. By supporting full-duplex communications over the single-wire bus, it is possible to improve efficiency, cost, and power consumption in an electronic device wherein the single-wire bus is deployed.
In one aspect, a single-wire bus apparatus is provided. The single-wire bus apparatus includes a single-wire bus consisting of one wire. The single-wire bus apparatus also includes at least one slave circuit coupled to the single-wire bus. The single-wire bus apparatus also includes a master circuit. The master circuit includes a bus driver circuit coupled to the single-wire bus. The bus driver circuit is configured to communicate, over the single-wire bus, one or more voltage PWM values in one or more bus symbols, respectively. The bus driver circuit is also configured to determine whether a current variation occurs on the single-wire bus in each of the one or more bus symbols. The master circuit also includes a receiver circuit coupled to the bus driver circuit. The receiver circuit is configured to, for each of the one or more bus symbols output a first binary value if the current variation occurs and output a second binary value different from the first binary value if the current variation does not occur.
Those skilled in the art will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description in association with the accompanying drawings.
The accompanying drawings incorporated in and forming a part of this specification illustrate several aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element such as a layer, region, or substrate is referred to as being “on” or extending “onto” another element, it can be directly on or extend directly onto the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly on” or extending “directly onto” another element, there are no intervening elements present. Likewise, it will be understood that when an element such as a layer, region, or substrate is referred to as being “over” or extending “over” another element, it can be directly over or extend directly over the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly over” or extending “directly over” another element, there are no intervening elements present. It will also be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
Relative terms such as “below” or “above” or “upper” or “lower” or “horizontal” or “vertical” may be used herein to describe a relationship of one element, layer, or region to another element, layer, or region as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including” when used herein specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Aspects disclosed in the detailed description are related to full-duplex communications over a single-wire bus. In embodiments disclosed herein, a master circuit and a slave circuit(s) are able to communicate forward (master to slave) bus telegrams and reverse (slave to master) bus telegrams concurrently over a single-wire bus consisting of one wire. Specifically, the master circuit is configured to modulate the forward bus telegrams based on voltage pulse-width modulation (PWM), while the slave circuit(s) is configured to modulate the reverse bus telegrams based on current variations. In addition, the slave circuit(s) is further configured to harvest power from the master circuit concurrent to receiving the forward bus telegrams and sending the reverse bus telegrams. By supporting full-duplex communications over the single-wire bus, it is possible to improve efficiency, cost, and power consumption in an electronic device wherein the single-wire bus is deployed.
Before discussing a single-wire bus apparatus of the present disclosure, starting at
In this regard,
The master circuit 12 is configured to always initiate a bus telegram communication over the half-duplex single-wire bus 16 by communicating a bus telegram(s) to one or more of the slave circuits 14(1)-14(M). As such, the conventional single-wire bus apparatus 10 is also known as a “master-slave bus architecture.” The slave circuits 14(1)-14(M) may provide a data payload(s) to the master circuit 12 over the half-duplex single-wire bus 16 in response to receiving the bus telegram(s) from the master circuit 12. Hereinafter, the bus telegram(s) communicated from the master circuit 12 to the slave circuits 14(1)-14(M) is referred to as “a forward bus telegram(s)” and the data payload(s) communicated from the slave circuits 14(1)-14(M) to the master circuit 12 are referred to as “a reverse bus telegram(s).”
The SOS sequence 24 always precedes the bus command sequence 26 and is always communicated from the master circuit 12 to the slave circuits 14(1)-14(M). The bus telegram 22, which succeeds the bus telegram 20, may be separated from the bus telegram 20 by a fast-charge period 36 that starts at time T1 and ends at time T2 (T2>T1) and an idle period 38 that starts at time T2 and ends at time T3 (T3>T2). The fast-charge period 36 is configured to allow each of the slave circuits 14(1)-14(M) to draw a higher charging current via the half-duplex single-wire bus 16 and harvest power from the higher charging current. In this regard, the half-duplex single-wire bus 16 is said to be in a fast-charge state during the fast-charge period 36. The idle period 38 may be a no-activity period in which the master circuit 12 and the slave circuits 14(1)-14(M) may be inactive to help conserve power. Accordingly, the half-duplex single-wire bus 16 is said to be in an idle state during the idle period 38. During the fast-charge period 36 and the idle period 38, the half-duplex single-wire bus 16 is maintained at a bus voltage that is greater than zero volts (0 V).
The master circuit 12 is configured to suspend the bus telegram communication over the half-duplex single-wire bus 16 during the fast-charge period 36 and the idle period 38. Accordingly, the master circuit 12 and the slave circuits 14(1)-14(M) are configured to refrain from communicating bus telegram(s) and data payload(s) from time T1 to T3. In this regard, the half-duplex single-wire bus 16 can be said to be in a suspension mode between time T1 and T3.
The bus command sequence includes a slave address field 40 and is followed by a bus park period 42 and subsequently four acknowledgement (ACK) symbols 44. The slave address field 40 can be used to address the slave circuits 14(1)-14(M). The bus park period 42 may be used to switch between the forward and the reverse communication modes. The ACK symbols 44 can be used by up to four of the slave circuits 14(1)-14(M) to acknowledge respective receipt of the data carried in the write data period 34. Given that the ACK symbols 44 are communicated immediately before the fast-charge period 36, each of the slave circuits 14(1)-14(M) can determine the time T1 to start the fast-charge period 36 by counting four ACKs communicated in the four ACK symbols 44 from the end of the bus park period 42.
Each of the slave circuits 14(1)-14(M) is uniquely identified by a respective unique slave identification (USID). As such, the bus command sequence 26 in the bus telegrams 20, 22 can be a unicast command sequence destined to any one of the slave circuits 14(1)-14(M) when the slave address field 40 contains the USID of the any one of the slave circuits 14(1)-14(M). The bus command sequence 26 in the bus telegrams 20, 22 can also be a multicast command sequence destined to a subset of the slave circuits 14(1)-14(M) when the slave address field 40 contains a group slave identification (GSID) corresponding to the subset of the slave circuits 14(1)-14(M). Furthermore, the bus command sequence 26 in the bus telegrams 20, 22 can be a broadcast command sequence destined to all of the slave circuits 14(1)-14(M) when the slave address field 40 contains a broadcast slave identification (BSID).
Each of the bus telegrams 46, 48 includes the bus command sequence 26. The bus command sequence 26 includes a read command frame 50 and a read data frame 52, separated by a bus park period 42. The read command frame 50 includes the command field 32 (denoted as “CMD”), which is encoded with a binary value “010” to indicate a register-read operation. The read data frame 52 includes a read data period 54, which includes one or more read data symbols TS modulated to carry data payloads to the master circuit 12 during the register-read operation. The master circuit 12 first communicates the read command frame 50 to the slave circuits 14(1)-14(M) identified by the slave address field 40 to initiate the register-read operation. The master circuit 12 then tri-states during the bus park period 42 to yield control of the half-duplex single-wire bus 16 to the slave circuits 14(1)-14(M). Subsequently, the slave circuits 14(1)-14(M) can begin sending the data payloads in the read data period 54. In this regard, the bus telegrams 46, 48 may be an example of both the forward and the reverse bus telegram(s).
Given that the master circuit 12 must refrain from sending anything during in the read data frame 52, the slave circuits 14(1)-14(M) are unable to harvest any power from the master circuit 12 when communicating the read data frame 52. Instead, the slave circuits 14(1)-14(M) must rely on the power harvested during the fast-charge period 36 and/or while receiving the forward bus telegram(s) 20, 22 to carry out the register-read operation.
In the conventional single-wire bus apparatus 10, the write data symbols TS in the write data period 34 and the read data symbols TS in the read data period 54 are each modulated based on voltage PWM, as illustrated in
The bus symbol TS, which can be any of the write data symbols TS and the read data symbols TS, is modulated based on a predefined low-voltage interval 56 and a predefined high-voltage interval 58 that are configured according to a predefined configuration ratio. To represent the voltage PWM value “1,” the predefined low-voltage interval 56 is shorter than the predefined high-voltage interval 58. For example, the bus symbol TS can include sixteen (16) free-running oscillators (FROs) or 16 digitally controlled oscillators (DCOs) and the predefined configuration ratio between the predefined low-voltage interval 56 and the predefined high-voltage interval 58 is 25% to 75% (or 1 to 3). In a non-limiting example, the FROs are derived from a local clock running in the slave circuits 14(1)-14(M) and the DCOs are derived from a clock running at the master circuit 12. Accordingly, the predefined low-voltage interval 56 lasts for four (4) FROs or DCOs and the predefined high-voltage interval 58 lasts for eight (8) FROs or DCOs.
In this regard, to modulate the bus symbol TS to represent the voltage PWM value “1,” a lower bus voltage VLOW is first asserted on the half-duplex single-wire bus 16 for the predefined low-voltage interval 56 and then a higher bus voltage VHIGH is asserted on the half-duplex single-wire bus 16 for the predefined high-voltage interval 58.
To represent the voltage PWM value “0,” the predefined low-voltage interval 56 is longer than the predefined high-voltage interval 58. Based on the same example in
As previously discussed in
In this regard,
As discussed in detail below, the master circuit 64 and the slave circuit 66 are configured to communicate forward (master to slave) bus telegrams and reverse (slave to master) bus telegrams concurrently over the single-wire bus 62, thus making it possible to support full-duplex communications over the single-wire bus 62. As a result, it is possible to improve efficiency, cost, and power consumption in an electronic device wherein the single-wire bus apparatus 60 is deployed.
The master circuit 64 includes a bus driver circuit 70 and a receiver circuit 72. The bus driver circuit 70 is coupled to the single-wire bus 62. In a non-limiting example, the bus driver circuit 70 is configured to initiate a register-read operation by sending the read command frame 50 in
Because the data payloads are modulated in each of the read data symbols TS based on presence or absence of the current variation ΔC, the bus driver circuit 70 is no longer prohibited from sending data during the read data period 54. As such, the bus driver circuit 70 can be configured to communicate one or more voltage PWM values, such as the voltage PWM value “1” of
By making it possible for the bus driver circuit 70 and the slave circuit 66 to concurrently communicate in the read data frame 52, the single-wire bus 62 becomes capable of supporting full-duplex communications, at least in the read data frame 52. In addition, by allowing the bus driver circuit 70 to communicate in the read data frame 52, the slave circuit 66 can continue to harvest power from the master circuit 64 during the read data frame 52. As a result, the slave circuit 66 can sustain a prolonged register-read operation without suffering potential power drooping issues, thus helping to improve reliability of the single-wire bus apparatus 60. More detail on how the slave circuit 66 can harvest power during the read data frame 52 will be provided later in this disclosure.
Notably, the first binary value and the second binary value outputted by the receiver circuit 72 can be related or unrelated to the voltage PWM values communicated by the bus driver circuit 70 in the read data frame 52. In fact, the bus driver circuit 70 may communicate any data to the slave circuit 66 in the read data frame 52.
In one embodiment, the bus driver circuit 70 may modulate each of the voltage PWM values in the read data frame 52 to equal the voltage PWM value one (“1”) shown in
In addition to enabling the slave circuit 66 to continue harvesting power during the read data frame 52, the master circuit 64 may also help the slave circuit 66 to conserve power by acknowledging the write data frame 30, as shown in
As illustrated in
Notably, the bus driver circuit 70 acknowledges the write data frame 30 without knowing whether the slave circuit 66 has indeed received the write data frame 30 with a correct frame check sequence. As such, the slave circuit 66 needs to confirm or disconfirm the ACK communicated by the bus driver circuit 70 in the respective one of the ACK symbols 44. In a non-limiting example, the slave circuit 66 can confirm or disconfirm the ACK by causing or not causing a current variation ΔC on the single-wire bus 62.
In this regard, the bus driver circuit 70 is configured to determine, either concurrent to or after communicating the ACK, whether the current variation ΔC occurs in the respective one of the ACK symbols 44. Accordingly, the receiver circuit 72 can output an indication indicating an ACK from the slave circuit 66 in the presence of the current variation ΔC. In contrast, the receiver circuit 72 can output the indication indicating a No-ACK (NACK) from the slave circuit 66 in the absence of the current variation ΔC.
The master circuit 64 also includes a master port 74, a master current sink 76, and a master controller 78. The master port 74 is coupled to the single-wire bus 62 and the bus driver circuit 70. The master current sink 76 is coupled between the master port 74 and a ground (GND). The master controller 78, which can be a microcontroller or a microprocessor for example, is configured to control the bus driver circuit 70 and/or the master current sink 76 to cause the master circuit 64 to modulate the voltage PWM values in the bus symbols TS (e.g., the read data symbols TS in the read data frame 52 and the ACK symbols 44), respectively. The master circuit 64 also includes an electromagnetic interference (EMI) capacitor CL coupled between the master port 74 and the GND. Notably, the EMI capacitor CL corresponds to a total EMI capacitance of the single-wire bus 62, which may vary depending on the number of slave circuits, any added capacitance, and effective capacitance increases due to increased length of the single-wire bus 62.
The slave circuit 66 can include a slave port 80, a slave current sink 82, a holding capacitor CHOLD, and a slave controller 84. The slave port 80 is coupled to the single-wire bus 62. The slave current sink 82, which can be an N-type transistor for example, is coupled between the slave port 80 and the GND. The holding capacitor CHOLD has a first end 86 coupled to the slave port 80 via a charge switch S1 and a second end 88 coupled to the GND. The slave controller 84, which can be a microcontroller or a microprocessor for example, is coupled to the slave current sink 82 and the charge switch S1. The slave circuit 66 also includes an idle switch S2 and a resistor R that are coupled in series between the slave port 80 and the first end 86 of the holding capacitor CHOLD. The idle switch S2 is closed during the idle period 38 in
Specific embodiments related to support full-duplex communications over the single-wire bus 62 are discussed below in reference to
In one embodiment, the master circuit 64 can be configured based on a closed loop configuration. In this regard,
The master circuit 64A includes a bus driver circuit 70A. In a non-limiting example, the bus driver circuit 70A is a low dropout (LDO) master current source. The bus driver circuit 70A includes a transistor 90, which can be a P-type transistor as an example. The transistor 90 includes a gate electrode G configured to receive a gate voltage VGATE, a source electrode S configured to receive a supply voltage VIO (e.g., 1.2 V), and a drain electrode D coupled to the master port 74 and configured to assert a bus voltage VBUS on the single-wire bus 62. The bus driver circuit 70A also includes a reference comparator 92. The reference comparator 92 includes a first input 94, a second input 96, and an output 98. The first input 94 is configured to receive a reference voltage VREF that is substantially close to the supply voltage VIO (e.g., VREF=VIO−20˜30 mV). The second input 96 is coupled to the drain electrode D to receive the bus voltage VBUS. The output 98 is coupled to the gate electrode G and configured to output the gate voltage VGATE.
The receiver circuit 72 includes a comparator 100 and a D type flip flop 102. The comparator 100 includes a third input 103, a fourth input 104, and a second output 106. The third input 103 is configured to receive a threshold voltage VTH. The fourth input 104 is coupled to the output 98 to receive the gate voltage VGATE. In this regard, the comparator 100 is configured to compare the gate voltage VGATE against the threshold voltage VTH. Accordingly, the second output 106 is configured to output an indication signal 108 that indicates whether the gate voltage VGATE is lower than the threshold voltage VTH.
The D type flip flop 102 is coupled to the second output 106 to receive the indication signal 108. The D type flip flop 102 outputs the first binary value (e.g., “1”) via the binary output BOUT when the indication signal 108 indicates that the gate voltage VGATE is lower than the threshold voltage VTH and outputs the second binary value (e.g., “0”) via the binary output BOUT otherwise. In a non-limiting example, the D type flip flop 102 can be controlled by a control signal 110 to output the first binary value or the second binary value at a last falling edge of the read data symbols TS or at a start of the ACK symbols 44.
To assert the bus voltage VBUS at the lower bus voltage VLOW, the master controller 78 is configured to deactivate the transistor 90 and activate the master current sink 76 to induce a sink current IDN at a falling edge 112 of the voltage PWM value “0” in each of the read data symbols TS. In contrast, to raise the bus voltage VBUS to the higher bus voltage VHIGH, the master controller 78 is configured to activate the transistor 90 and deactivate the master current sink 76. In a non-limiting example, the higher bus voltage VHIGH can be equal to the supply voltage VIO before the slave circuit 66 causing any current variation ΔC on the single-wire bus 62. Accordingly, the transistor 90 will provide a source current IUP at a rising edge 114 of the voltage PWM value “0” in each of the read data symbols TS.
In this example, the slave circuit 66 is configured to send a binary “1” in a first of the read data symbol TS (denoted as “TS1”) and a binary “0” in a second of the read data symbols TS (denoted as “TS2”). In this regard, in the first read data symbol TS1, the slave controller 84 deactivates the slave current sink 82 during the predefined low-voltage interval 56 and activates the slave current sink 82 during the predefined high-voltage interval 58. When activated, the slave current sink 82 draws a slave current ISLAVE from the master circuit 64A to reduce the source current IUP, thus causing the current variation ΔC (ΔC=IUP−ISLAVE) on the single-wire bus 62.
Notably, the current variation ΔC can cause the bus voltage VBUS to drop from the higher bus voltage VHIGH. In this regard, the reference comparator 92 compares the bus voltage VBUS against the reference voltage VREF. If the bus voltage VBUS falls below the reference voltage VREF, the reference comparator 92 will reduce the gate voltage VGATE at the gate electrode G to help maintain the higher bus voltage VHIGH at the reference voltage VREF. In this regard, if the gate voltage VGATE is reduced, it is an indication that the current variation ΔC is present on the single-wire bus 62. In contrast, if the gate voltage VGATE is not reduced, it is an indication that the current variation ΔC is absent on the single-wire bus 62. When the gate voltage VGATE falls below the threshold voltage VTH, the receiver circuit 72 will output binary “1” at the binary output BOUT.
In the second read data symbol TS2, the slave controller 84 deactivates the slave current sink 82 during both the predefined low-voltage interval 56 and the predefined high-voltage interval 58. As a result, the slave circuit 66 will not draw the slave current ISLAVE from the master circuit 64A to reduce the source current IUP, thus not causing the current variation ΔC on the single-wire bus 62. Accordingly, the higher bus voltage VHIGH and the gate voltage VGATE will not be reduced. As such, the gate voltage VGATE will not fall below the threshold voltage VTH and the receiver circuit 72 will output binary “0” at the binary output BOUT.
With reference back to
As previously mentioned, the master circuit 64 may communicate any data to the slave circuit 66 in the read data frame 52. In this regard, the slave circuit may include a register circuit 116 (denoted as “S-REGMAP”) configured to explicitly indicate what type of data the master circuit 64 will communicate in the read data frame 52. Alternatively, if the register circuit 116 does not indicate the type of data the master circuit 64 will communicate in the read data frame 52, the slave circuit 66 may assume a worst case scenario wherein the master circuit 64 is sending a voltage PWM “0” in each of the read data symbols TS of the read data frame 52 and opportunistically charge the holding capacitor CHOLD as discussed above.
The master circuit 64A of
In this example, the bus driver circuit 70A communicates a voltage PWM “1” in an ACK symbol TS, which can be any of the ACK symbols 44 in
To assert the bus voltage VBUS at the lower bus voltage VLOW, the master controller 78 is configured to deactivate the transistor 90 and activate the master current sink 76 to induce the sink current IDN at the falling edge 112 of the voltage PWM value “1” in the ACK symbol TS. In contrast, to raise the bus voltage VBUS to the higher bus voltage VHIGH, the master controller 78 is configured to activate the transistor 90 and deactivate the master current sink 76. In a non-limiting example, the higher bus voltage VHIGH can be equal to the supply voltage VIO before the slave circuit 66 causes any current variation ΔC on the single-wire bus 62. Accordingly, the transistor 90 will provide the source current IUP at a rising edge 114 of the voltage PWM value “1” in the ACK TS.
In this example, the slave circuit 66 is configured to confirm the ACK communicated by the master circuit 64A. In this regard, the slave controller 84 activates the slave current sink 82 in the first half of the ACK symbol TS to draw the slave current ISLAVE from the master circuit 64A to reduce the source current IUP, thus causing the current variation ΔC (ΔC=IUP−ISLAVE) on the single-wire bus 62. In an alternative embodiment, the slave controller 84 may even activate the slave current sink 82 before the ACK symbol TS.
The slave controller 84 may deactivate the slave current sink 82 based on timing information as determined based on the SOS sequence 24 as shown in
Notably, the current variation ΔC can cause the bus voltage VBUS to drop from the higher bus voltage VHIGH. In this regard, the reference comparator 92 compares the bus voltage VBUS against the reference voltage VREF. If the bus voltage VBUS falls below the reference voltage VREF, the reference comparator 92 will reduce the gate voltage VGATE at the gate electrode G to help maintain the higher bus voltage VHIGH at the reference voltage VREF. In this regard, if the gate voltage VGATE is reduced, it is an indication that the current variation ΔC is present on the single-wire bus 62. In contrast, if the gate voltage VGATE is not reduced, it is an indication that the current variation ΔC is absent on the single-wire bus 62. When the gate voltage VGATE falls below the threshold voltage VTH, the receiver circuit 72 will output binary “1” at the binary output BOUT (e.g., in a second half of the ACK symbol TS) to indicate that an ACK is received from the slave circuit 66.
Understandably, the slave controller 84 may keep the slave current sink 82 deactivated throughout the ACK symbol TS if the slave circuit 66 intends to send a NACK to the master circuit 64A. As such, the gate voltage VGATE will not drop below the threshold voltage VTH. Accordingly, the receiver circuit 72 will output binary “0” at the binary output BOUT (e.g., in a second half of the ACK symbol TS) to indicate that a NACK is received from the slave circuit 66.
In another embodiment, the master circuit 64 can be configured based on an open loop configuration. In this regard,
The master circuit 64B includes a bus driver circuit 70B. In a non-limiting example, the bus driver circuit 70B is a master current source that includes the transistor 90 having the source electrode S configured to receive the supply voltage VIO and the drain electrode D coupled to the master port 74 and the master current sink 76. The master controller 78 may be coupled to the gate electrode G to provide the gate voltage VGATE.
In contrast to the master circuit 64A of
The D type flip flop 102 outputs the first binary value (e.g., “1”) via the binary output BOUT when the indication signal 108 indicates that the bus voltage VBUS is lower than the threshold voltage VTH and outputs the second binary value (e.g., “0”) via the binary output BOUT otherwise. In a non-limiting example, the D type flip flop 102 can be controlled by the control signal 110 to output the first binary value or the second binary value at the last falling edge of the read data symbols TS or at the start of the ACK symbols 44.
To assert the bus voltage VBUS at the lower bus voltage VLOW, the master controller 78 is configured to deactivate the transistor 90 and activate the master current sink 76 to induce a sink current IDN at the falling edge 112 of the voltage PWM value “0” in each of the read data symbols TS. In contrast, to raise the bus voltage VBUS to the higher bus voltage VHIGH, the master controller 78 is configured to activate the transistor 90 and deactivate the master current sink 76. In a non-limiting example, the higher bus voltage VHIGH can be equal to the supply voltage VIO before the slave circuit 66 causes any current variation ΔC on the single-wire bus 62. Accordingly, the transistor 90 will provide the source current IUP at the rising edge 114 of the voltage PWM value “0” in each of the read data symbols TS.
In this example, the slave circuit 66 is configured to send a binary “1” in a first of the read data symbol TS (denoted as “TS1”) and a binary “0” in a second of the read data symbols TS (denoted as “TS2”). In this regard, in the first read data symbol TS1, the slave controller 84 deactivates the slave current sink 82 during the predefined low-voltage interval 56 and activates the slave current sink 82 during the predefined high-voltage interval 58. When activated, the slave current sink 82 draws the slave current ISLAVE from the master circuit 64B to reduce the source current IUP, thus causing the current variation ΔC (ΔC=IUP−ISLAVE) on the single-wire bus 62.
Notably, the current variation ΔC can cause the bus voltage VBUS to drop from the higher bus voltage VHIGH. In this regard, if the bus voltage VBUS is reduced, it is an indication that the current variation ΔC is present on the single-wire bus 62. In contrast, if the bus voltage VBUS is not reduced, it is an indication that the current variation ΔC is absent on the single-wire bus 62. When the bus voltage VBUS falls below the threshold voltage VTH, the receiver circuit 72 will output binary “1” at the binary output BOUT.
In the second read data symbol TS2, the slave controller 84 deactivates the slave current sink 82 during both the predefined low-voltage interval 56 and the predefined high-voltage interval 58. As a result, the slave circuit 66 will not draw the slave current ISLAVE from the master circuit 64B to reduce the source current IUP, thus not causing the current variation ΔC on the single-wire bus 62. Accordingly, the higher bus voltage VHIGH and the gate voltage VGATE will not be reduced. As such, the bus voltage VBUS will not fall below the threshold voltage VTH and the receiver circuit 72 will output binary “0” at the binary output BOUT.
In a non-limiting example, the master circuit 64B is configured to tristate the transistor 90 during a last DCO of the predefined high-voltage interval 58. As such, the slave current ISLAVE will cause the bus voltage VBUS to linearly decrease (dV=ISLAVE/CL*1/DCO). Thus, at the falling edge 112 of a next of the read data symbols TS, the receiver circuit 72 will output the binary “1” if the bus voltage VBUS is below the threshold VTH.
The slave controller 84 can close the charge switch S1 during the predefined high-voltage interval 58 to continue charging the holding capacitor CHOLD. The slave controller 84 will open the charge switch S1 during the predefined low-voltage interval 56 and the last DCO of the predefined high-voltage interval 58 to prevent the holding capacitor CHOLD from being discharged.
The master circuit 64B of
In this example, the bus driver circuit 70B communicates a voltage PWM “1” in an ACK symbol TS, which can be any of the ACK symbols 44 in
To assert the bus voltage VBUS at the lower bus voltage VLOW, the master controller 78 is configured to deactivate the transistor 90 and activate the master current sink 76 to induce the sink current IDN at the falling edge 112 of the voltage PWM value “1” in the ACK symbol TS. In contrast, to raise the bus voltage VBUS to the higher bus voltage VHIGH, the master controller 78 is configured to activate the transistor 90 and deactivate the master current sink 76. In a non-limiting example, the higher bus voltage VHIGH can be equal to the supply voltage VIO before the slave circuit 66 causes any current variation ΔC on the single-wire bus 62. Accordingly, the transistor 90 will provide the source current IUP at the rising edge 114 of the voltage PWM value “1” in the ACK TS.
In this example, the slave circuit 66 is configured to confirm the ACK communicated by the master circuit 64A. In this regard, the slave controller 84 activates the slave current sink 82 before a start of the ACK symbol TS to draw the slave current ISLAVE from the master circuit 64B to reduce the source current IUP. In a non-limiting example, the slave controller 84 activates the slave current sink 82 one FRO ahead of the falling edge 112. The slave controller 82 is also configured to deactivate the slave current sink 82 at the start (e.g., falling edge 112) of the ACK symbol TS. In this regard, the slave current ISLAVE directly causes the current variation ΔC on the single-wire bus 62.
Notably, the current variation ΔC can cause the bus voltage VBUS to drop from the higher bus voltage VHIGH. In this regard, if the bus voltage VBUS is reduced, it is an indication that the current variation ΔC is present on the single-wire bus 62. In contrast, if the bus voltage VBUS is not reduced, it is an indication that the current variation ΔC is absent on the single-wire bus 62. When the bus voltage VBUS falls below the threshold voltage VTH, the receiver circuit 72 will output binary “1” at the binary output BOUT (e.g., before the start of the ACK symbol TS) to indicate that an ACK is received from the slave circuit 66.
Understandably, the slave controller 84 may keep the slave current sink 82 deactivated if the slave circuit 66 intends to send a NACK to the master circuit 64A. As such, the bus voltage VBUS will not drop below the threshold voltage VTH. Accordingly, the receiver circuit 72 will output binary “0” at the binary output BOUT (e.g., before the start of the ACK symbol TS) to indicate that a NACK is received from the slave circuit 66.
Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
Number | Name | Date | Kind |
---|---|---|---|
3555196 | Singer | Jan 1971 | A |
3953835 | Cuccio et al. | Apr 1976 | A |
4336447 | Oguchi | Jun 1982 | A |
4424812 | Lesnick | Jan 1984 | A |
4497068 | Fischer | Jan 1985 | A |
4736367 | Wroblewski | Apr 1988 | A |
5412644 | Herberle | May 1995 | A |
5459660 | Berra | Oct 1995 | A |
5495469 | Halter | Feb 1996 | A |
5499247 | Matsuda | Mar 1996 | A |
5586266 | Hershey | Dec 1996 | A |
5621897 | Boury et al. | Apr 1997 | A |
5684803 | Nguyen Thuy | Nov 1997 | A |
5734847 | Garbus et al. | Mar 1998 | A |
5748675 | Hormel | May 1998 | A |
5774680 | Wanner et al. | Jun 1998 | A |
5787132 | Kishigami et al. | Jul 1998 | A |
5832207 | Little et al. | Nov 1998 | A |
5978860 | Chan et al. | Nov 1999 | A |
6094699 | Surugucchi et al. | Jul 2000 | A |
6141708 | Tavallaei et al. | Oct 2000 | A |
6189063 | Rekeita et al. | Feb 2001 | B1 |
6292705 | Wang et al. | Sep 2001 | B1 |
6308255 | Gorishek, IV et al. | Oct 2001 | B1 |
6310408 | Hermann | Oct 2001 | B1 |
6360291 | Tavallaei | Mar 2002 | B1 |
6397279 | Jaramillo et al. | May 2002 | B1 |
6408163 | Fik | Jun 2002 | B1 |
6484268 | Tamura et al. | Nov 2002 | B2 |
6985990 | Bronson et al. | Jan 2006 | B2 |
7197589 | Deneroff et al. | Mar 2007 | B1 |
7519005 | Hejdeman et al. | Apr 2009 | B2 |
7685320 | Wishneusky | Mar 2010 | B1 |
7729427 | Kwok | Jun 2010 | B2 |
8509318 | Tailliet | Aug 2013 | B2 |
8694710 | Bas et al. | Apr 2014 | B2 |
8775707 | Poulsen | Jul 2014 | B2 |
9166584 | Kandala | Oct 2015 | B1 |
9252900 | Poulsen | Feb 2016 | B2 |
9430321 | Slik | Aug 2016 | B2 |
9519612 | Hietala et al. | Dec 2016 | B2 |
9569386 | Du | Feb 2017 | B2 |
9639500 | Bas et al. | May 2017 | B2 |
9652451 | Elder | May 2017 | B2 |
9690725 | Sengoku | Jun 2017 | B2 |
9755821 | Jang et al. | Sep 2017 | B2 |
9946677 | Hapke | Apr 2018 | B2 |
10176130 | Ngo et al. | Jan 2019 | B2 |
10185683 | Ngo | Jan 2019 | B2 |
10558607 | Ngo | Feb 2020 | B2 |
10599601 | Ngo et al. | Mar 2020 | B1 |
10983942 | Ngo et al. | Apr 2021 | B1 |
20010050713 | Kubo et al. | Dec 2001 | A1 |
20040049619 | Lin | Mar 2004 | A1 |
20040100400 | Perelman et al. | May 2004 | A1 |
20040128594 | Elmhurst et al. | Jul 2004 | A1 |
20040221067 | Huang et al. | Nov 2004 | A1 |
20050012492 | Mihalka | Jan 2005 | A1 |
20050185665 | Uboldi | Aug 2005 | A1 |
20050259609 | Hansquine et al. | Nov 2005 | A1 |
20060031618 | Hansquine et al. | Feb 2006 | A1 |
20060050694 | Bury et al. | Mar 2006 | A1 |
20060152236 | Kim | Jul 2006 | A1 |
20060236008 | Asano et al. | Oct 2006 | A1 |
20070073449 | Kraemer | Mar 2007 | A1 |
20080217076 | Kraemer | Sep 2008 | A1 |
20090121825 | Har | May 2009 | A1 |
20090248932 | Taylor et al. | Oct 2009 | A1 |
20100305723 | Koyama | Dec 2010 | A1 |
20100306430 | Takahashi | Dec 2010 | A1 |
20110035632 | Hong et al. | Feb 2011 | A1 |
20110113171 | Radhakrishnan et al. | May 2011 | A1 |
20120027104 | Bas et al. | Feb 2012 | A1 |
20120030753 | Bas et al. | Feb 2012 | A1 |
20120226965 | Hammerschmidt et al. | Sep 2012 | A1 |
20120303836 | Ngo et al. | Nov 2012 | A1 |
20130054850 | Co | Feb 2013 | A1 |
20130124763 | Kessler | May 2013 | A1 |
20130128724 | Farley | May 2013 | A1 |
20130132624 | Chen et al. | May 2013 | A1 |
20130166801 | Chun et al. | Jun 2013 | A1 |
20130197920 | Lesso et al. | Aug 2013 | A1 |
20130265884 | Brombal et al. | Oct 2013 | A1 |
20130301689 | Marchand et al. | Nov 2013 | A1 |
20140025999 | Kessler | Jan 2014 | A1 |
20140112339 | Safranek et al. | Apr 2014 | A1 |
20140281593 | Hayes | Sep 2014 | A1 |
20140304442 | Hietala et al. | Oct 2014 | A1 |
20140310436 | Du | Oct 2014 | A1 |
20140376278 | Fornage et al. | Dec 2014 | A1 |
20150056941 | Lin et al. | Feb 2015 | A1 |
20150074306 | Ayyagari et al. | Mar 2015 | A1 |
20150106541 | Southcombe et al. | Apr 2015 | A1 |
20150127862 | Fan et al. | May 2015 | A1 |
20150149673 | Balkan et al. | May 2015 | A1 |
20150169482 | Ngo et al. | Jun 2015 | A1 |
20150192974 | Ngo et al. | Jul 2015 | A1 |
20150193297 | Ngo et al. | Jul 2015 | A1 |
20150193298 | Ngo et al. | Jul 2015 | A1 |
20150193321 | Ngo et al. | Jul 2015 | A1 |
20150193373 | Ngo et al. | Jul 2015 | A1 |
20160050513 | Wang et al. | Feb 2016 | A1 |
20160124892 | Amarilio et al. | May 2016 | A1 |
20170255250 | Ngo et al. | Sep 2017 | A1 |
20170255578 | Ngo et al. | Sep 2017 | A1 |
20170255579 | Ngo et al. | Sep 2017 | A1 |
20170277651 | Ngo et al. | Sep 2017 | A1 |
20170286340 | Ngo et al. | Oct 2017 | A1 |
20180217959 | Ngo et al. | Aug 2018 | A1 |
20190250876 | Amarilio et al. | Aug 2019 | A1 |
20200151131 | Ngo et al. | May 2020 | A1 |
20200334185 | Ngo et al. | Oct 2020 | A1 |
20200394046 | Snelgrove et al. | Dec 2020 | A1 |
Entry |
---|
Final Office Action for U.S. Appl. No. 16/736,164, dated Jan. 11, 2021, 10 pages. |
International Search Report and Written Opinion for International Patent Application No. PCT/US2020/012702, dated Apr. 7, 2020, 17 pages. |
Non-Final Office Action for U.S. Appl. No. 16/599,384, dated Aug. 24, 2020, 8 pages. |
Final Office Action for U.S. Appl. No. 16/599,384, dated Dec. 1, 2020, 9 pages. |
Non-Final Office Action for U.S. Appl. No. 16/549,116, dated Aug. 6, 2020, 9 pages. |
Final Office Action for U.S. Appl. No. 16/549,116, dated Jan. 13, 2021, 9 pages. |
Non-Final Office Action for U.S. Appl. No. 16/710,457, dated Aug. 28, 2020, 7 pages. |
Non-Final Office Action for U.S. Appl. No. 14/575,491, dated May 26, 2017, 20 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,379, dated Apr. 7, 2017, 37 pages. |
Author Unknown, “1-Wire,” Wikipedia, last modified Jan. 16, 2015, accessed Feb. 12, 2015, http://en.wikipedia.org/wiki/1-Wire, 4 pages. |
Author Unknown, “DS1822: Econo 1-Wire Digital Thermometer,” Maxim Integrated, 2007, 21 pages. |
Author Unknown, “MAXIM 1-Wire® Tutorial,” MAXIM, online audiovisual presentation, 17 slides, No Date, accessed Feb. 12, 2015, http://www.maximintegrated.com/products/1-wire/flash/overview/ (38 images of slides). |
Awtry, Dan, et al., “Design Guide v1.0,” Springbok Digitronics, Aug. 19, 2004, 96 pages. |
Non-Final Office Action for U.S. Appl. No. 14/575,491, dated Nov. 30, 2017, 18 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,292, dated Sep. 29, 2017, 27 pages. |
Final Office Action for U.S. Appl. No. 14/659,292, dated Apr. 30, 2018, 24 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,328, dated Sep. 8, 2017, 51 pages. |
Final Office Action for U.S. Appl. No. 14/659,328, dated Mar. 20, 2018, 61 pages. |
Notice of Allowance for U.S. Appl. No. 14/659,328, dated Jul. 2, 2018, 8 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,355, dated Sep. 20, 2017, 32 pages. |
Final Office Action for U.S. Appl. No. 14/659,355, dated Apr. 17, 2018, 11 pages. |
Advisory Action for U.S. Appl. No. 14/659,355, dated Jul. 5, 2018, 3 pages. |
Non-Final Office Action for U.S. Appl. No. 15/467,790, dated Jun. 28, 2018, 14 pages. |
Ex Parte Quayle Action for U.S. Appl. No. 15/365,315, mailed Jul. 26, 2018, 7 pages. |
Final Office Action for U.S. Appl. No. 14/659,379, dated Oct. 18, 2017, 44 pages. |
Advisory Action for U.S. Appl. No. 14/659,379, dated Feb. 26, 2018, 3 pages. |
Notice of Allowance for U.S. Appl. No. 14/659,379, dated Mar. 20, 2018, 10 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,371, dated Sep. 25, 2017, 23 pages. |
Final Office Action for U.S. Appl. No. 14/659,371, dated May 3, 2018, 21 pages. |
Advisory Action for U.S. Appl. No. 14/659,371, dated Aug. 1, 2018, 3 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,292, dated Dec. 21, 2018, 23 pages. |
Final Office Action for U.S. Appl. No. 14/659,292, dated Jun. 4, 2019, 24 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,355, dated Oct. 12, 2018, 8 pages. |
Final Office Action for U.S. Appl. No. 14/659,355, dated May 2, 2019, 8 pages. |
Non-Final Office Action for U.S. Appl. No. 15/886,209, dated May 17, 2019, 7 pages. |
Non-Final Office Action for U.S. Appl. No. 14/659,371, dated Feb. 26, 2019, 22 pages. |
Non-Final Office Action for U.S. Appl. No. 15/365,295, dated Mar. 29, 2019, 15 pages. |
Final Office Action for U.S. Appl. No. 15/365,295, dated Aug. 15, 2019, 11 pages. |
Final Office Action for U.S. Appl. No. 15/467,790, dated Nov. 5, 2018, 15 pages. |
Advisory Action for U.S. Appl. No. 15/467,790, dated Feb. 26, 2019, 3 pages. |
Notice of Allowance for U.S. Appl. No. 15/467,790, dated May 20, 2019, 8 pages. |
Non-Final Office Action for U.S. Appl. No. 15/443,236, dated Nov. 16, 2018, 19 pages. |
Final Office Action for U.S. Appl. No. 15/443,236, dated May 30, 2019, 20 pages. |
Notice of Allowance and Examiner-Initiated Interview Summary for U.S. Appl. No. 15/365,315, dated Sep. 14, 2018, 9 pages. |
Notice of Allowance for U.S. Appl. No. 15/472,756, dated Aug. 8, 2018, 8 pages. |
Notice of Allowance for U.S. Appl. No. 15/886,209, dated Sep. 11, 2019, 7 pages. |
Notice of Allowance for U.S. Appl. No. 16/402,613, dated Nov. 4, 2019, 9 pages. |
Notice of Allowance for U.S. Appl. No. 16/407,397, dated Nov. 12, 2019, 7 pages. |
Advisory Action for U.S. Appl. No. 15/365,295, dated Nov. 6, 2019, 3 pages. |
Corrected Notice of Allowance for U.S. Appl. No. 15/467,790, dated Aug. 15, 2019, 6 pages. |
Corrected Notice of Allowance for U.S. Appl. No. 15/467,790, dated Aug. 28, 2019, 6 pages. |
Notice of Allowance for U.S. Appl. No. 15/443,236, dated Sep. 24, 2019, 8 pages. |
Notice of Allowance for U.S. Appl. No. 15/365,295, dated Feb. 25, 2020, 8 pages. |
Awtry, Dan, “Transmitting Data and Power over a One-Wire Bus,” Sensors, Feb. 1997, Dallas Semiconductor, 4 pages. |
Non-Final Office Action for U.S. Appl. No. 16/736,164, dated Feb. 27, 2020, 7 pages. |
Final Office Action for U.S. Appl. No. 16/736,164, dated Jun. 2, 2020, 7 pages. |
Non-Final Office Action for U.S. Appl. No. 16/736,164, dated Sep. 21, 2020, 8 pages. |
Advisory Action for U.S. Appl. No. 16/736,164, dated Mar. 19, 2021, 3 pages. |
Advisory Action for U.S. Appl. No. 16/549,116, dated Mar. 24, 2021, 3 pages. |
Applicant-Initiated Interview Summary for U.S. Appl. No. 16/549,116, dated Aug. 18, 2021, 2 pages. |
Notice of Allowance and Examiner-Initiated Interview Summary for U.S. Appl. No. 16/549,116, dated Sep. 14, 2021, 15 pages. |
Non-Final Office Action for U.S. Appl. No. 17/095,204, dated Oct. 14, 2021, 8 pages. |
Notice of Allowance for U.S. Appl. No. 16/736,164, dated Apr. 29, 2021, 8 pages. |
Non-Final Office Action and Examiner-Initiated Interview Summary for U.S. Appl. No. 16/549,116, dated May 12, 2021, 10 pages. |
Author Unknown, “IEEE Standard for Reduced-Pin and Enhanced-Functionality Test Access Point and Boundary-Scan Architecture,” IEEE Std 1149.7™—2009, Feb. 10, 2010, IEEE, 1037 pages. |
Kawoosa, M.S. et al., “Towards Single Pin Scan for Extremely Low Pin Count Test,” 2018 31st International Conference on VLSI Design and 2018 17th International Conference on Embedded Systems (VLSID), Jan. 6-10, 2018, Pune, India, IEEE, 6 pages. |
Notice of Allowance for U.S. Appl. No. 17/095,204, dated Mar. 17, 2022, 7 pages. |
Number | Date | Country | |
---|---|---|---|
20220166644 A1 | May 2022 | US |