A Complete Discussion of the S2Cwire™ Single

APPLICATION NOTE
A Complete Discussion of the S2Cwire™ Single-Wire
Interface With tLAT Specification
Introduction
The S Cwire™ single-wire interface offers the simplest control
possible for programmable power I/C devices. Using only a single
wire, the S2Cwire interface is designed to be driven by a wide
range of systems in a simplified and flexible way. This interface
benefits system designers by bringing to market digitally
programmable, high performance power I/Cs with minimal pinouts
and tiny packaging.
2
S2Cwire is easily integrated into a wide range of portable systems.
The interface does not have a strict timing protocol, simplifying
integration for software systems and eliminating any need for
specialized hardware. In its entirety, the interface is simple,
flexible, and compatible with processor chips found in nearly all of
today's portable systems.
This Application Note provides details about programming
Skyworks power management I/Cs with the S2Cwire single-wire
interface. Insight is also provided for system integration.
S2Cwire Details
S2Cwire is not defined by a strict timing and signaling scheme, but
rather by a simple mechanism of toggling a line to program an
S2Cwire device. By avoiding strict timing requirements, the
S2Cwire interface is kept flexible. The method for programming a
device is simple; it consists of toggling the line of an I/O port so
that rising edges are received by the EN/SET pin of an S2Cwire
device. This can be done with the digital I/O ports found in many
processors, or any other digital or analog output capable of
sending a line high and low in a pulsed fashion. Toggling the line
submits edges to the S2Cwire device, where each rising edge is
counted.
Timing is flexible due to the interface's generous tolerance level.
The rising edges that program a part can be fast, slow, or
inconsistently spaced. Timing of the edges is bound only by the
loose timing specification. The S2Cwire interface is simple to
integrate with complex, multi-tasking systems, as well as slow,
isolated subsystems dedicated to system management.
Voltage Levels
Several voltage level specifications are associated with the
S2Cwire serial interface. The high-impedance input at the EN/SET
pin detects logic high and low levels when the high and low
voltage level thresholds are achieved for the specified times. The
high and low threshold levels are clearly defined in the product
Data Sheets as a minimum and a maximum specification,
respectively. Table 1 shows a example of the specifications found
in most S2Cwire device Data Sheets.
For VIH, the enable high threshold is given as 1.4 V. This means
that the applied enable high signal must be 1.4 V or greater. For
VIL, the enable low threshold is given as 0.4 V. This means that
the enable low signal must be 0.4 V or lower. To submit a rising
edge to the EN/SET pin, the line should be taken below 0.4 V and
then taken above 1.4 V. To submit a set of rising edges, the line
should be taken below 0.4 V and then above 1.4 V in a repetitive
fashion. See Figure 1 for an illustration of this process.
Table 1. Example of EN/SET Threshold Specifications
Symbol
Description
Conditions
VIL
Enable threshold low
VIN = 2.7 V
VIH
Enable threshold high
VIN = 5.5 V
Minimum
Typical
Maximum
Units
0.4
V
1.4
V
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
202738A • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • March 19, 2013
1
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Figure 1. Voltage Level Thresholds
Table 2. Example of EN/SET Timing Specifications
Symbol
Description
Conditions
tEN/SET_LO
EN/SET low time
VIN = 2.7 V
tEN/SET_HI_MIN
Minimum EN/SET high time
VIN = 5.5 V
tEN/SET_HI_MAX
Maximum EN/SET high time
Minimum
Typical
0.3
Maximum
Units
75
µs
50
ns
75
tOFF
EN/SET off timeout
500
µs
tLAT
EN/SET latch timeout
500
µs
Timing
A few timing specifications are associated with the S Cwire
interface. These relate to how fast or slow the interface can detect
rising edges, as well as when to expect the data registers to
update. Internally, a counter counts the rising edges and, after the
line has been held high, the data is latched and the output is
updated.
2
Table 2 provides an example of the EN/SET timing specifications
found in most S2Cwire product Data Sheets. The specifications
that correspond to edge detection are the tEN/SET_LO and
tEN/SET_HI. For determining the tLO time, the Data Sheet gives a
minimum and a maximum specification for tEN/SET_LO. This results
in a straightforward set of limits. To ensure edge detection, be
certain that the tLO time is at least the minimum time and no
greater than the maximum time. If edges are submitted outside of
this range, there is risk that the edges are not detected or that a
latch timeout occurs when not intended (see Figure 2).
For determining the tHI time, the Data Sheet gives two
specifications. There is a typical value for tEN/SET_HI_MIN and a
maximum value for tEN/SET_HI_MAX. To determine the minimum tHI
time, double the typical value for tEN/SET_HI_MIN. To determine the
maximum value for the tHI time, use the maximum value from the
tEN/SET_HI_MAX specification. If edges are submitted outside of this
range, there is risk that the edges are not detected or that a latch
timeout occurs when not intended.
The Data Sheet gives two additional specifications that detail the
S2Cwire interface. One is tLAT, which is given as a maximum
specification. This means that after submitting data and then
holding the line high, the latch timeout is guaranteed to occur by
this time. Typically, the tLAT timeout occurs more towards the
middle of the window created by tEN/SET_HI_MAX and maximum
tLAT (e.g., between 75 μs and 500 μs). The output updates after
tLAT, as illustrated in Figure 2.
The final relevant timing specification is tOFF. The tOFF time is
given as a maximum specification. This means that after taking
the line low, the part is guaranteed to enter shutdown within this
time. Note that when the part is shut down, the data register is
reset to zero, as illustrated in Figure 3.
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
2
µs
March 19, 2013 • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • 202738A
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Figure 2. Latch Time
Figure 3. Shutdown Time
Programming
Programming an S2Cwire device is simple. This section details
what is involved and is intended to be general so that it applies to
all S2Cwire devices. A basic block diagram for a sample device,
used to facilitate the programming discussion, is shown in
Figure 4. The available operating modes for this device are
presented in the same fashion as found in the Data Sheet for a
real device. This example operates as a constant voltage source
where the output voltage is programmable through the S2Cwire
interface. There are 16 programmable settings available for this
device, as defined in Table 3.
In the Data Sheet of an S2Cwire device, the complete functionality
of the device is listed in a Table similar to that shown in Table 3.
Programming an output voltage is accomplished by submitting a
burst of edges corresponding to the desired setting and then
holding the EN/SET line high. The device remains in this
programmed state for as long as the EN/SET signal remains high
or until it is reprogrammed. Taking EN/SET low shuts down the
device and resets the data register. If no edges are clocked in, but
EN/SET is taken high, the device operates in the default state
(Data 1).
Following is a discussion of a few simple programming examples
to illustrate some of the details of operation. As a first example,
suppose an event occurs and it is necessary to enable the
constant voltage output to 4.25 V. From Table 3, 4.25 V
corresponds to Data 4. Therefore, four edges are required to turn
on the output to this setting. To bring the device out of shutdown
and turn on the voltage output to 4.25 V, clock-in four edges for
Data 4 and hold the line high. After the latch timeout, the output
updates to the programmed output level, as illustrated in Figure 5.
Figure 4. Sample Device Block Diagram
Table 3. Mode Settings
Data
Voltage (V)
Data
Voltage (V)
Data
Voltage (V)
Data
Voltage (V)
1
5.00
5
4.00
9
3.00
13
2.00
2
4.75
6
3.75
10
2.75
14
1.75
3
4.50
7
3.50
11
2.50
15
1.50
4
4.25
8
3.25
12
2.25
16
0
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
202738A • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • March 19, 2013
3
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Figure 5. Turn-On Voltage Output
Figure 6. Turn-Off Voltage Output
Figure 7. Device Shutdown
Suppose the device is operating with the output set to 4.25 V and
an event occurs signaling that it needs to change to 5 V. This is
accomplished by immediately clocking-in the appropriate number
of edges (i.e., EN/SET does not need to be pulled low to reset the
data register first). To change the output voltage from 4.25 V to
5 V, only 1 edge is needed because 5 V corresponds to data
setting 1, as illustrated in Figure 6.
Lastly, the device needs to be put into shutdown. The device has
been in an operating state because the EN/SET pin has been held
high. Simply bring the EN/SET line low to enter shutdown mode.
After taking the line low, there is a delay time (tOFF) before
shutdown mode is entered, as shown in Figure 7. Note that
shutdown resets the data register to zero.
A more general timing diagram, as shown in Figure 8, appears in
many Data Sheets. All of the information that has just been
covered is captured in this diagram. The general idea is that the
user submits a set of edges to program an S2Cwire device. After
the delay time (tOFF), the device is programmed and is updated to
a particular operating state. To put the part into shutdown mode,
simply take the EN/SET pin low. When tOFF has expired, the part
enters shutdown and the data register is reset.
In summary, programming or re-programming an S2Cwire device
simply requires clocking in edges for the desired setting and then
holding the EN/SET line high. To ensure that S2Cwire programming
is successful, be certain that the signals fall within the timing
specifications and that the signals achieve the voltage level
thresholds. To turn the part off, the EN/SET pin is simply held low.
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
4
March 19, 2013 • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • 202738A
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Figure 8. Typical Data Sheet Timing Diagram
Figure 9. Example of Code
Software Integration
There are a number of practical ways to integrate S2Cwire
functionality into embedded software systems. Many of today's
cell phones and handheld devices are built around low-power,
high performance 16- and 32-bit processors that are running a
Real-Time Operating System (RTOS) and application Operating
System (OS). These systems are balancing heavy loads with many
hard, real-time deadlines that cannot be missed. As a result,
careful consideration is given to every additional piece of code
that is added to a system. In line with today's methodologies,
S2Cwire is flexible so that it is easy to integrate.
Due to the simplicity of the S2Cwire interface, very little code is
needed (see the example in Figure 9). Routines can just write 1s
and 0s to an I/O port to toggle the line that is connected to the
EN/SET pin of the part. The code can be fast and small, allowing it
to be implemented as a high priority task. A high priority task,
dedicated to writing sets of edges, can run to completion
extremely quickly since the S2Cwire timing specification allows for
fast timing. This fast execution time results in minimal impact to
the software system.
During the actual burst of edges, the code should execute with
high priority. If using a preemptive, multi-tasking system such as
an RTOS, a high priority task could be used during the data burst.
Then, the wait for tLAT can occur at the application level. Since the
S2Cwire interface accepts fast timing, the high-priority task could
toggle the I/O line quickly so that CPU time is minimized, as
illustrated in Figure 10.
Since the actual data burst is of primary concern, it is useful to
estimate the execution time. The calculation focuses purely on the
S2Cwire pulse timing and does not account for any OS latencies.
To minimize execution time, the fastest EN/SET timing should be
used (300 ns for tLO and 100 ns for tHI). With this timing, the
longest execution time occurs for the highest data setting. The
highest data setting requires 16 edges. This is the largest burst of
edges and should be used to estimate the time. It can be
calculated as follows:
tRUN = max_edges х (tLO(MIN) + tHI(MIN))
tRUN = 16 х (300 ns + 100 ns) = 6.4 μs
From this calculation, it can be seen that the necessary execution
time for the longest burst of edges is 6.4 μs.
A slow rate of edges can also be detected by the S2Cwire interface.
This gives a task dedicated to S2Cwire a high degree of tolerance
so that it can be preempted by more important code. However, a
major concern to consider is whether the task has a high enough
priority. Using the previous example, the task should have a high
enough priority so that control returns within 75 μs (because this
is the tEN/SET_HI_MAX and tLO maximum specifications). If the task
is kept waiting for more than 75 μs, it could cause a delay within
the burst of edges to exceed 75 μs. If tHI or tLO are allowed to
exceed 75 μs, a tLAT or tOFF timeout may occur and interfere with
the intended programming. For a simplified example, see
Figure 11.
The S2Cwire serial interface fits within the general multi-tasking
RTOS environments commonly used, as well as the custom-rolled
software solutions tailored to a specific application. With little
effort, S2Cwire control can be easily integrated into today's
software/hardware platforms.
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
202738A • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • March 19, 2013
5
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Figure 10. S2Cwire Code Implemented as a High Priority Task
Figure 11. S2Cwire Code that is Preempted for a Short Duration
Summary
The S Cwire single-wire interface and possible approaches to
software integration have been described in this Application Note.
The overall discussion is intended to give additional insight into
using the interface in the target application and has attempted to
clarify the conceptual aspects of the S2Cwire single-wire interface.
2
With this knowledge, designers can more effectively take
advantage of the features and benefits offered by Skyworks
digitally programmable, high performance I/C devices.
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
6
March 19, 2013 • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • 202738A
APPLICATION NOTE • A COMPLETE DISCUSSION OF THE S2CWIRE™ SINGLE-WIRE INTERFACE WITH tLAT SPECIFICATION
Copyright © 2006-2012, 2013 Skyworks Solutions, Inc. All Rights Reserved.
Information in this document is provided in connection with Skyworks Solutions, Inc. (“Skyworks”) products or services. These materials, including the information contained herein, are provided by
Skyworks as a service to its customers and may be used for informational purposes only by the customer. Skyworks assumes no responsibility for errors or omissions in these materials or the
information contained herein. Skyworks may change its documentation, products, services, specifications or product descriptions at any time, without notice. Skyworks makes no commitment to
update the materials or information and shall have no responsibility whatsoever for conflicts, incompatibilities, or other difficulties arising from any future changes.
No license, whether express, implied, by estoppel or otherwise, is granted to any intellectual property rights by this document. Skyworks assumes no liability for any materials, products or
information provided hereunder, including the sale, distribution, reproduction or use of Skyworks products, information or materials, except as may be provided in Skyworks Terms and Conditions of
Sale.
THE MATERIALS, PRODUCTS AND INFORMATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING FITNESS FOR A
PARTICULAR PURPOSE OR USE, MERCHANTABILITY, PERFORMANCE, QUALITY OR NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHT; ALL SUCH WARRANTIES ARE HEREBY EXPRESSLY
DISCLAIMED. SKYWORKS DOES NOT WARRANT THE ACCURACY OR COMPLETENESS OF THE INFORMATION, TEXT, GRAPHICS OR OTHER ITEMS CONTAINED WITHIN THESE MATERIALS. SKYWORKS
SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY SPECIAL, INDIRECT, INCIDENTAL, STATUTORY, OR CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION,
LOST REVENUES OR LOST PROFITS THAT MAY RESULT FROM THE USE OF THE MATERIALS OR INFORMATION, WHETHER OR NOT THE RECIPIENT OF MATERIALS HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Skyworks products are not intended for use in medical, lifesaving or life-sustaining applications, or other equipment in which the failure of the Skyworks products could lead to personal injury,
death, physical or environmental damage. Skyworks customers using or selling Skyworks products for use in such applications do so at their own risk and agree to fully indemnify Skyworks for any
damages resulting from such improper use or sale.
Customers are responsible for their products and applications using Skyworks products, which may deviate from published specifications as a result of design defects, errors, or operation of
products outside of published parameters or design specifications. Customers should include design and operating safeguards to minimize these and other risks. Skyworks assumes no liability for
applications assistance, customer product design, or damage to any equipment resulting from the use of Skyworks products outside of stated published specifications or parameters.
Skyworks, the Skyworks symbol, and “Breakthrough Simplicity” are trademarks or registered trademarks of Skyworks Solutions, Inc., in the United States and other countries. Third-party brands
and names are for identification purposes only, and are the property of their respective owners. Additional information, including relevant terms and conditions, posted at www.skyworksinc.com,
are incorporated by reference.
Skyworks Solutions, Inc. • Phone [781] 376-3000 • Fax [781] 376-3100 • [email protected] • www.skyworksinc.com
202738A • Skyworks Proprietary Information • Products and Product Information are Subject to Change Without Notice • March 19, 2013
7