A N 116 Power Management Techniques and Calculation Relevant Devices This application note applies to the following devices: C8051F000, C8051F001, C8051F002, C8051F005, C8051F006, C8051F010, C8051F011, C8051F012, C8051F012, C8051F015, C8051F016, C8051F017, C8051F018, and C8051F019. This application note discusses power management techniques and methods of calculating power in a Silicon Labs C8051F00x and C8051F01x SoC. Many applications will have strict power requirements, and there are several methods of lowering the rate of power consumption without sacrificing performance. Calculating the predicted power use is important to characterize the system’s power supply requirements. Key Points • Reducing System Clock Frequency In CMOS digital logic devices, power consumption is directly proportional to system clock (SYSCLK) frequency: power = CV 2 f Introduction • controlled by the designer. This section discusses these parameters and how they affect power usage. Supply voltage and system clock frequency strongly affect power consumption. Silicon Lab’s SoC’s feature power management modes: IDLE and STOP. Power use can be calculated as a function of system clock frequency, supply voltage, and enabled peripherals. where: C is CMOS load capacitance, V is supply voltage, and f is SYSCLK frequency. Equation 1. CMOS Power Equation The system clock on the C8051Fxxx family of devices can be derived from an internal oscillator or an external source. External sources may be a CMOS clock, RC circuit, capacitor, or crystal oscillator. For information on configuring oscillators, see application note: “AN02 - Configuring the Internal and External Oscillators.” The internal oscillator can provide four SYSCLK frequencies: 2, 4, 8, and 16 MHz. Many different frequencies can be achieved using the external oscillator. To conserve power, a designer must decide what the fastest needed SYSCLK frequency and required accuracy is for a given application. A design may require a constant SYSCLK frequency during all device operations. In this case, the designer will choose the lowest possible frequency Power Saving Methods required, and use the oscillator configuration that CMOS digital logic device power consumption is consumes the least power. Typical applications affected by supply voltage and system clock include serial communications, and periodic sam(SYSCLK) frequency. These parameters can be pling with an ADC that must be performed. adjusted to realize power savings, and are readily • Rev. 1.1 12/03 Copyright © 2003 by Silicon Laboratories AN116-DS11 AN116 Some operations may require high speed operation, but only in short, intermittent intervals. This is sometimes referred to as “burst” operation. In the C8051Fxxx, the SYSCLK frequency can be changed at anytime. Thus, the device can operate at low frequency until a condition occurs that requires high frequency operation. C8051F0xx devices have a flag that is set when the external clock signal is valid (XTLVLD bit in the OSCXCN register) to indicate the oscillator is running and stable. This flag is polled before switching to the external oscillator. Note that other operations can continue using the internal oscillator during the crystal start-up time. Two examples of alternating between SYSCLK sources are (1) an internal oscillator/external crystal configuration, and (2) an external crystal/RC oscillator configuration. If the device is used for occasional high speed data conversion, and a realtime clock is used for time-stamping the data, a combination internal oscillator and external crystal would be ideal. During sampling operations, the high speed internal oscillator would be used. When sampling is complete, the device could then use an external 32 kHz crystal to maintain the real-time clock. Once high speed operations are required again, the device switches to the internal oscillator as necessary (see Figure 1 below). An example of this procedure is illustrated in application note “AN008 - Implementing a Real-Time Clock”. Some applications require intermittent high speed and accuracy (e.g., ADC sampling and data processing), but have lower frequency and accuracy requirements at other times (e.g., waiting for sampling interval), a combination of an external oscillator and RC circuit can be useful. In this case, the external RC oscillator is used to derive the lower frequency SYSCLK source, and the crystal is used for high frequency operations. The RC circuit requires a connection to VDD (voltage source) to operate. Because this connection could load the crystal oscillator circuit while the crystal is in operation, we connect the RC circuit to a general purpose port pin (see Figure 2 below). When the RC circuit is in use, the port pin connection is driven high (to VDD) by selecting its output mode to “push-pull” and writing a ‘1’ to the port latch. When the crystal oscillator is being used, the port pin is placed in a ‘hi-Z’ condition by configuring the output mode of the port to “open-drain” and writing a ‘1’ to the port latch. Note the RC circuit The crystal oscillator and internal oscillator may be operated simultaneously and each selected as the SYSCLK source in software as desired. To reduce supply current, the crystal may also be shutdown when using the internal oscillator. In this case, when switching from the internal to external oscillator the designer must consider the start-up delay when switching the SYSCLK source. The C8051F0xx XTAL1 SYSCLK C External Oscillator XTAL2 Internal Oscillator C Figure 1. Internal Oscillator and an External Crystal Source Configuration Rev. 1.1 2 AN116 may take advantage of the existing capacitors used 3. Drive the voltage supply port pin high (to for the crystal oscillator. VDD) by putting the port pin in “push-pull” mode and writing a ‘1’ to its port latch. The start-up of the RC-circuit oscillator is nearly instantaneous. However, there is a notable start-up 4. Switch back to the external oscillator. time for the crystal. Therefore, switching from the RC oscillator to the external crystal oscillator using Supply Voltage the following procedure: The amount of current used in CMOS logic is directly proportional to the voltage of the power 1. Switch to the internal oscillator. supply. The power consumed by CMOS logic is 2. Configure the port pin used for the RC circuit proportional the power supply voltage squared (See voltage supply as open-drain and write a ‘1’ to Equation 1). Thus, power consumption may be reduced by lowering the supply voltage to the the port pin (Hi-Z condition). device. The C8051Fxxx family of devices require a supply voltage of 2.7-3.6 Volts. Thus, to save 3. Start the crystal (Set the XFCN bits). power, it is recommended to use a 3.0 volt regulator instead of a 3.3 volt regulator for power sav4. Wait for 1 ms. ings. 5. Poll for the External Crystal Valid Bit (XTLVLD --> ‘1’). 6. Switch to the external oscillator. Switch from the external crystal oscillator to the the RC oscillator as follows: 1. Switch to the internal oscillator. 2. Shutdown the crystal (clear the XFCN bits). CIP-51 Processor Power Management Modes The C8051 processor has two modes which can be used for power management. These modes are IDLE and STOP. IDLE Mode In IDLE Mode, the CPU and FLASH memory are taken off-line. All peripherals external to the CPU remain active, including the internal clocks. The CPU exits IDLE Mode when an enabled interrupt General Purpose Port Pin C8051F0xx R XTAL1 C External Oscillator XTAL2 C Figure 2. External RC and Crystal Oscillator Configuration Rev. 1.1 3 AN11 6 or reset occurs. The CPU is placed in IDLE Mode Mode. Thus, the Missing Clock Detector should be by setting the Idle Mode Select Bit (PCON.0) to disabled prior to entering STOP Mode if the CPU is to be in STOP Mode longer than the Missing ‘1’. Clock Detector time-out (100 µs). When the IDLE Mode Select Bit is set to ‘1’, the CPU enters IDLE Mode once the instruction that The C8051 processor is placed in STOP Mode by sets the bit has executed. An asserted interrupt will setting the STOP Mode Select Bit (PCON.1) to ‘1’. clear the IDLE Mode Select Bit and the CPU will Upon reset, the CPU performs the normal reset vector to service the interrupt. After a return from sequence and begins executing code at 0x0000. interrupt (RETI), the CPU will return to the next Any valid RESET source will exit STOP Mode. instruction following the one that had set the IDLE Sources of reset to exit STOP Mode are External (/RST), Missing Clock Detector, Mode Select Bit. If a reset occurs while in IDLE Reset Mode, the normal reset sequence will occur and the Comparator 0, and the External ADC Convert Start CPU will begin executing code at memory location (/CNVSTR). 0x0000. As an example, the CPU may be placed in STOP As an example, the CPU can be placed in IDLE Mode for a period to save power when no device while waiting for a Timer 2 overflow to initiate a operation is required. When the device is needed, sample/conversion in the ADC. Once the conver- Comparator 0 reset could be used to “wake up” the sion and sample processing is complete, the ADC device. end-of-conversion interrupt wakes the CPU from IDLE Mode and processes the sample. After the Generally, a power conscious design will use the sample processing is complete, the CPU is placed lowest voltage supply, lowest SYSCLK frequency, back into IDLE Mode to save power while waiting and will use Power Management Modes when possible to maximize power savings. Most of these can for the next interrupt. be implemented or controlled in software. As another example, the CPU may wait in IDLE Mode to save power until an external interrupt signal is used to “wake up” the CPU as needed. Upon Calculating Power receiving an external interrupt, the CPU will exit Consumption IDLE Mode and vector to the corresponding interThere are two components of power consumption rupt vector (e.g., /INT0 or /INT1). in Silicon Lab’s C8051F00x and C8051F01x family of devices: analog and digital. The analog comSTOP Mode ponent of power consumption is nearly constant for The C8051 STOP Mode is used to shut down the all SYSCLK frequencies. The digital component of CPU and oscillators. This will effectively shut power consumption changes considerably with down all digital peripherals as well. All analog SYSCLK frequency. The digital and analog comperipherals must be shutdown by software prior to ponents are added to determine the total power entering STOP Mode. The processor exits STOP consumption. Mode only by an internal or external reset. Thus, STOP Mode saves power by reducing the SYSCLK The current use calculations presented in this application note apply to the C8051F00x and frequency to zero. C8051F01x (‘F000, 01, 02, 03, 05, 06, 10, 11, 12, Note that the Missing Clock Detector will cause an 15, and 16) family of Silicon Labs devices. internal reset (if enabled) that will terminate STOP 4 Rev. 1.1 AN116 The data sheet section, “Global DC Electrical Characteristics” contains various supply current values for different device conditions. The current values are separated into digital (at three example frequencies) and analog components. The analog numbers presented are values with all analog peripherals active. Supply current values for each analog peripheral can be found in the data sheet section for the peripheral. For convenience, the Global DC Electrical Characteristics for the C8051F00x and C8051F01x family of devices are presented in the table below. Table 1. C8051F0xx Global DC Electrical Characteristics PARAMETER CONDITIONS Analog Supply Voltage Min Typ Max UNITS 2.7 3.0 3.6 V Analog Supply Current Internal REF, ADC, DAC, Comparators all active 1 2 mA Analog Supply Current with Analog Subsystems inactive Internal REF, ADC, DAC, Comparators all inactive; oscillator disabled 6 20 µA 0.5 V 3.6 V Analog-to-Digital supply delta (|VDD - AV+|) Digital Supply Voltage 2.7 3.0 Digital Supply Current with CPU active VDD=2.7V; CLK=20 MHz VDD=2.7V; CLK=1 MHz VDD=2.7V; CLK=32 kHz 10 90 10 mA µA µA Digital Supply Current with CPU inactive (IDLE Mode) VDD=2.7V; CLK=20 MHz VDD=2.7V; CLK=1 MHz VDD=2.7V; CLK=32 kHz 9 0.6 10 mA mA µA Digital Supply Current (STOP Mode) Oscillator not running 5 µA 1.5 V Digital Supply RAM Data Retention Voltage Specified Operating Temp Range -40 Internal vs. External Oscillator Besides using lower SYSCLK frequencies, the designer can realize power savings by making smart SYSCLK source choices. The internal oscillator will typically consume 200 µA of current supplied from the digital power supply. The current used to drive an external oscillator can vary. The drive current (supplied from the analog power supply) for an external source, such as a crystal, is set in software by configuring the XFCN bits in the External Oscillator Control Register (OSCXCN). Thus, at higher drive currents the user may save +85 degrees C power by using the internal oscillator. However, at the lowest XFCN setting the external oscillator will use less than 1 µA which is less current than used by the internal oscillator. Some typical measured current values are listed below. These measurements may vary from device to device. This drive level is kept as low as possible to minimize power consumption, but must be high enough to start the external oscillator. The following table lists the cur- Rev. 1.1 5 AN11 6 rent vs. External Oscillator Frequency Control Bit settings. Table 2. Typical Current Use vs. External Oscillator Frequency Control Bit Settings XFCN Current (µA) 000 0.6 001 2.0 010 5.8 011 17 100 50 101 140 110 630 111 2900 Analog Peripherals The individual supply current values for each analog peripheral are posted in the data sheet section for that component (typically near the end of the section). It is recommended to disable all peripherals not in use to save power. For convenience, the C8051F00x and C8051F10x analog peripherals supply current values are listed below: Table 4. C8051F0xx Analog Supply Current Use by Component Digital Peripherals Analog Peripheral Current (Typical) in µA VDD monitor (always enabled) 8 (VDD=2.7 V) 15 (VDD=3.6 V) ADC 450 VREF (internal) 50 (bandgap ref. and driver) Temp Sensor 10 Comparators 1.5 (each) For rough calculations, a good rule of thumb is to DAC 110 (each) assume a 1 mA/MHz of operating current (digital) Internal Oscillator (uses 200 + 1 mA if the analog components (ADC, comparadigital power supply) tors, DAC, VREF, etc.) are enabled. This rule of thumb assumes a 3.6 V supply voltage. A lower supply voltage will reduce power consumption. At Note the analog power consumption is relatively 2.7 V, the rule of thumb is 0.5 mA/MHz (in NOR- independent of by SYSCLK frequency. MAL mode). The rules of thumb for rough calculations are presented in the table below: Calculating Total Current When the required SYSCLK frequency, supply voltage, and peripherals have been determined, the total supply current can be estimated. To calculate Power Mode VDD=2.7 V VDD=3.6 V the total supply current, the analog peripheral curNORMAL 0.5 mA/MHz 1.0 mA/MHz rent use (found by adding the currents of each of IDLE 0.33 mA/ 0.65 mA/MHz the enabled analog peripherals) is added to the digMHz ital current use (calculated for a given frequency, power mode, and supply voltage). If all of the anaNote that digital supply current is independent of log peripherals are enabled, analog current use is how many digital peripherals are in use. Supply about 1 mA. current is proportional to SYSCLK frequency and power supply voltage. Example Calculations Table 3. Digital Current Consumption (typical) The following are examples of supply current calculations. Each application may use different 6 Rev. 1.1 AN116 power modes, SYSCLK frequencies, and peripherals at different times. Thus, power management specifications may require several different supply current calculations. The digital component and analog components of current use are found separately, and then added together for the total. In NORMAL Mode @ 16 MHz; 1 mA/MHz * 16 MHz = 16 mA Example 1 Example 2 The C8051F000 device is being used in a system with VDD=3.6 V. An ADC is sampling a parameter and processing the sample for an output to one DAC. Because of the sampling and processing requirements of the application, SYSCLK frequency is 16 MHz using the internal oscillator. Assume we are still estimating the supply current in the same application in Example 1. If the sample processing is a burst operation (i.e., intermittent need for sampling and conversions), we may choose to place the CIP-51 in IDLE Mode to allow a Timer to wake-up the CIP-51 after a specified interval. In this case, the average supply current can be calculated in order to estimate power requirements. The device will switch between NORMAL Mode (for sampling and data conversion) and IDLE Mode (between sample processing operations). The switch between IDLE and NORMAL Modes (and supply current values) will happen in a cycle with a period equal to the sampling rate. (See Figure 3 below). This will allow us to calculate average supply current, after we calculate the supply current in IDLE Mode. Table 5. Analog Components Peripheral Supply Current (µA) ADC 450 VREF (internal) 50 Internal Osc. 200 one DAC 110 VDD monitor 15 Total Analog 825 Table 8. Total Table 9. 825 µA (analog) + 16 mA (digital)= 16.8 mA Table 10. Analog Component Table 11. Table 6. Digital Component Table 7. Data Sample and Conversion (NORMAL Mode) Current 16.8mA IDLE Mode 10.4mA Sample Period Time Figure 3. Supply Current Modulation to Lower Average Power Rev. 1.1 7 AN11 6 Analog peripherals are disabled during the IDLE is 100 µs - 9.8 µs (time in NORMAL Mode) = Mode period between sample processing and out- 90.2 µs. By integrating the area under the curve in put. Thus, analog current consumption is just: Figure 3 for one period (100 µs), and dividing that number by the period, the average supply current is VDD monitor = 15 µA. 11 mA. Example 3 Table 12. Digital Component Table 13. In IDLE Mode @ 16 MHz; 0.65 mA/MHz * 16 MHz = 10.4 mA If the oscillator frequency were lowered while in IDLE Mode (in Example 2) to 32 kHz using an external crystal for additional power savings, the current use would be: Table 14. Total Table 15. The analog component would be considered negligible in most applications, thus, the total is just the The external oscillator control bits will be set to XFCN = 000. This uses 0.6 µA of analog current. digital component: 50 µA (analog) + 10.4 mA (digital) = 10.4 mA (0.65 mA *.032 MHz) + 0.6 µA = 21 µA Now that we have calculated IDLE Mode supply current and NORMAL Mode supply current (in Example 1), we must calculate the time we spend in each mode to find the average current the device will use. This is a dramatic difference from Example 2’s IDLE Mode at 16 MHz, by simply reducing oscillator frequency. Continuing with the average supply current calculation in Example 2 (with 6 extra SYSCLK cycles Assuming the ADC is in low-power tracking mode in NORMAL Mode to lower the frequency), the and at the maximum SAR conversion clock of average supply current would be 1.7 mA! 2 MHz (ADC set for SAR clock = SYSCLK/8), and we desire a 10 kHz sampling rate. The period Example 4 of the power cycle in Figure 3 is 1/10,000 (sample rate) = 100 µs. In this application, the C8051F000 is being used to sample a parameter using the ADC and store samThe time in NORMAL Mode will be the ADC ples in memory, with high accuracy timing of samtracking/conversion time, and the time to store the ples required. For more accurate timing, the value in memory. In low-power tracking mode, it SYSCLK is derived from an external 18.432 MHz will take 3 SAR clocks for tracking, and 16 SAR crystal oscillator. To save power, the designer has clocks for conversion. 19 SAR clocks at 2 MHz decided to use a supply voltage of 3.0 V. Timer 2 is will take 9.5 µs. To store the number will take to used to time the ADC sampling intervals. system clock cycles, or 0.125 µs. To enter NORMAL Mode, a mov instruction is executed, taking 3 Table 16. Analog Components SYSCLK cycles which takes 0.188 µs. Thus, the Peripheral Current (µA) total time in NORMAL Mode is 9.5 µs+0.125 µs+0.188 µs = 9.8 µs. ADC 450 Because the ADC sample period is 100 µs, the time we may be in IDLE Mode during the power cycle 8 External Osc Driver (XFCN=111) Rev. 1.1 2900 AN116 Table 16. Analog Components Peripheral Current (µA) VDD Monitor 11 Total Analog 3361 Table 17. Digital Component Table 18. In NORMAL Mode @ 18.432 MHz; 0.8 mA/MHz * 18.432 MHz = 14.7 mA Table 19. Total Current Use Table 20. 3.4 mA (analog)+14.7 mA (digital)= 18.1 mA Example 4 in IDLE Mode Placing the application in IDLE Mode with the ADC disabled during intervals that sampling is not required (no CIP-51 operations are needed; digital peripherals continue to operate) will save power if the sampling operation is a burst operation. In IDLE Mode, the digital current consumption is only 0.6 mA/MHz, with no ADC, thus the current consumption at 18.432 MHz =11.1 mA. Calculating the average supply current for one sample period (similarly to Example 2, assuming a 10 kHz sampling rate and low-power tracking mode), the average current is estimated to be 11.9 mA. Rev. 1.1 9 AN11 6 Contact Information Silicon Laboratories Inc. 4635 Boston Lane Austin, TX 78735 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 Email: [email protected] Internet: www.silabs.com The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders. 10 Rev. 1.1