nRF52 Power optimized power consumption reduced by more than 70%

tags: nrf52  Power  Bluetooth  Low power consumption

A circuit optimization

DC/DC

 32kHz

Second, the estimated power consumption

Online Power Profiler https://devzone.nordicsemi.com/power/

1, or using an external 32kHz crystal using the RC internal 32kHz

2, radio consumption:

  • Broadcast interval
  • Number of bytes per packet radio broadcast valid data
  • Continuous or periodic radio broadcast
  • Each broadcast processing time interval

3, the current consumption during the connection:

  • Connection interval
  • Slave Delay
  • Each packet payload RX
  • Each packet of payload TX
  • Each RX data packet number for the received connection interval (up to 6)
  • TX number of packets (up to 6) each connection interval to be transmitted
  • The accuracy of the master clock 32 khz
  • Each connector application processing time interval

4, calculation SPI, UART or TWI transmission current consumption

  • What use interfaces, SPI, UART, TWI
  • transfer speed
  • Statistics
  • Transmit, receive or both using

There are other peripherals power consumption, such as TIMER, GPIOTE etc; provide the above parameters as possible to more accurately estimate the power consumption of the current driver.

Third, the battery life prediction

Average current consumption of the known device and the battery capacity, battery life is calculated. The following different battery energy capacity of the battery life calculation example:

example 1:

The average current consumption of the device: 20uA

Battery capacity: 220mAh (standard coin cell CR2032)

Battery Life:

0.22 A h / 0.00002 A = 11000 h o u r s = 458 d a y s

Example 2:

The average current consumption of the device: 100uA

Battery capacity: 220mAh (standard coin cell CR2032)

Battery Life:

0.22 A h / 0.0001 A = 2200 h o u r s = 91 d a y s

Example 3:

The average current consumption of the device: 100uA

Battery capacity: 1000mAh (standard coin cell CR2477)

Battery Life:

1 A h / 0.0001 A = 10000 h o u r s = 417 d a y s

Fourth, the power optimization

1, the system

  • By enabling and setting DC / DC converter, so that the current consumption can be greatly reduced. Depending on the design, can be reduced by 40% or more of power usage. The higher the duty cycle, the more savings from the DC / DC converter consumption.

    • main.c file, main functions provided: NRF_POWER-> DCDCEN = 1;
    • POWER_CONFIG_DEFAULT_DCDCEN disposed in the sdk_config.h = 1
  • Close the log logging:

    • main.c file, main function commented log_init ();
    • sdk_config.h log recorded in the associated enable is set to 0
  • And provided by enabling the external 32kHz LFCLK crystal, 1-2% of the energy can be saved. At very low duty cycle applications, the more the greater the interval broadcast beacon, saving power.

    • main.c file, ble_stack_init () function go to Definition of 'nrf_sdh_enable_request ();' ret_code_t nrf_sdh_enable_request nrf_sdh.c file into the function find (void):
    nrf_clock_lf_cfg_t const clock_lf_cfg =
        {
            .source       = NRF_SDH_CLOCK_LF_SRC, 
            .rc_ctiv      = NRF_SDH_CLOCK_LF_RC_CTIV, 
            .rc_temp_ctiv = NRF_SDH_CLOCK_LF_RC_TEMP_CTIV,
            .accuracy     = NRF_SDH_CLOCK_LF_ACCURACY
        };

    clock pulse source arranged .source: / pulse of the clock source, the internal clock source 0 NRF_CLOCK_LF_SRC_RC, 1 external crystal oscillator source NRF_CLOCK_LF_SRC_XTAL, 2 synthesized clock source NRF_CLOCK_LF_SRC_SYNTH;

    .rc_ctiv configured calibration interval, using an external crystal oscillator source is set to 0;

    .rc_temp_ctivRC oscillator frequency to be calibrated using an external crystal oscillator source is set to 0;

    .accuracy an external clock accuracy, set NRF_CLOCK_LF_ACCURACY_20_PPM

  • To provide a measuring method of ensuring nRF52 current. If the power supply and other circuitry nRF52 binding, it can not be measured independently and meaningful results nRF current measurement circuit with reference to FIG.

  • Select the appropriate button batteries. nRF52832 pulse current is 7mA (DCDC) and 12mA (w / o DCDC). Adequate decoupling can reduce the impact of these pulses to the battery, but the high and low pulse current can significantly reduce the total capacity of the coin battery.

  • Check errata, and pay attention to the power consumption of your design. It may affect the serial port or other peripheral device selection.

  • Try to work on the device voltage 3V (although the chip to allow work 5V voltage), in addition to the GPIO, the internal circuit does not operate at such a voltage, and therefore, at a lower operating voltage without reducing the power consumption.

  • Only memory use RAM_RETENTION want to keep, use more unnecessary power consumption will increase

  • NRF52 on only two power modes: SYSTEM_ON and SYSTEM_OFF:

    • SYSTEM_OFF: is the lowest power mode, the operating current of 300nA (nRF52832) or 400nA (nRF52840), in this mode, the core system and all running tasks will stop, that is to say the clock is stopped, the equivalent off. POWER control registers can be directly related to the system into System OFF mode (NRF_POWER-> SYSTEMOFF = 1;), may be (this function is performed sleep_mode_enter () or nrf_pwr_mgmt_run () __WFE () clear all instructions before entering sleep) through the API function may nrf_pwr_mgt Referring to the example in the SDK, the system enters a state before system OFF mode retains GPIO, including input GPIO / output, I2C bus, SPI bus, etc., so before entering system OFF mode should GPIO is freed, using nrf_gpio_cfg_default (pin) the GPIO released, while, if there is bus like I2C or SPI peripherals need freed; can be reset, the GPIO interrupt signal or NFC (increase 100nA) to wake up. System OFF mode wakes up from a reset procedure occurs, the reference832 product specwith840 product spec File

    If the parameters need to be retained in the RAM before entering sleep, you may be provided in the main function:

    // RAM retention parameters of sleep 
    NRF_POWER->RAMON = POWER_RAMON_ONRAM0_RAM0On<<POWER_RAMON_ONRAM0_Pos  
                    | POWER_RAMON_ONRAM1_RAM1On<<POWER_RAMON_ONRAM1_Pos  
                    | POWER_RAMON_OFFRAM0_RAM0Off<<POWER_RAMON_OFFRAM0_Pos 
                    |POWER_RAMON_OFFRAM1_RAM1Off<<POWER_RAMON_OFFRAM1_Pos;
    • SYSTEM_ON: This state has continued latency and low-power sub-mode. In the default low power sub-mode, typically the lowest power consumption of 1.9uA (nRF52832) or 1.5uA (nRF52840), comprising LFCLK and RTC. This is the normal state of the connection between the events. CPU restart when the timer interrupt pin or peripheral device.

2, hardware

  • Please note that, depending on the scene, one leg GPIOTE interrupts may interrupt port GPIOTE than using more power.
  • By default all GPIO input is disconnected state. In addition to pin configuration you need to use a different type, or pin is left unused default state, and no current is disconnected in order to control the physical loss.
  • When 0dBm, open the DC / DC, nRF52832 emission current of 5.3mA. The TX power is increased to + 4dBm increase of only 2.2mA. Reduced to - 40dbm save only 2.6mA.
  • GPIO consider adding a controlled power switch (e.g., p-channel high-side MOSFET) is a sensor having a high leakage current, in order to reduce system power current.

3, software

  • Note that the main function of the SDK samples while (1) loop power_manage () or sd_app_evt_wait () call. This operation instructions to handle interrupts and race conditions, and allow proper idle CPU. If your code has not reached this instruction, CPU will continue to be open and power consumption.
  • Whenever possible, use a timer rather than a software application delay. Software delay loop will remain operational capability of the CPU.

4, debugging

  • If the SWD debugger connection is not properly disconnected, nRF52 may still be in Debug Interface (DIF) mode. When the device is in debug interface mode, it will add additional current, as it always maintain a certain set of peripherals. Performing a reset pin, the reset pin given enabled on the component and can be accessed, is a common method of ensuring mode is not enabled DIF
  • Use the right tools to measure your current. useOnline power analyzerAnd product specifications to estimate the number of your average current. usePPK Surveys Orcorrect method measuring. Please note, PPK measurement is not accurate at very, very low on the quiescent current level.
  • When measuring current, be sure to use battery power for your design, because the power may introduce unknown variables.
  • Listed below are the most common power supply scenarios and how to recognize them:
    • Measuring current is about 4mA : CPU is running, or you intentionally use it, either because you are not running power_manage (); This instruction is turning off the CPU's instruction.
    • In SYSTEM_OFF mode measuring current much more than a few hundred nA : This part is not actually in SYSTEM_OFF mode, but there is something still running ... such as CPU, peripherals. Make sure that your process does shut off all the equipment. Cycling power to ensure that ports are not SWD inadvertent opening. Another common problem is the debug interface (DIF) mode, is not connected to the debugger or power cycle after programming.
    • In the off mode SYSTEM_ON CPU, but the measured uA 100 : You may leave a peripheral, it may be intentional. If you're logging is enabled through the UART, it will also be the number of current use. Close UART logging in sdk_config.h file support RTT. Unless the debugger is connected, otherwise do not use current RTT.
    • Measured 10mA: NRF52 almost impossible to consume such a large current. Almost certainly, you simultaneously measure the current peripheral circuit.

Intelligent Recommendation

Optimized power operation

Recently I found a problem when I brushed OJ, which is to calculate X^62. This is a very simple problem and it is easy to implement. An easy implementation of this problem is an algorithm with a time ...

Bit optimized fast power

Knowing the values ​​of X and N, find the value of X^N. The first method is to directly call the pow function: The second method is to write a loop: int a,b=1; for(int a=1;a<=N;a++)     b...

CPU analysis of power consumption

The Android phone contains two CPUs, AP and BP. The AP is the Application Processor, and all user interfaces and apps are running on the AP. BP-level Baseband Processor, mobile phone RF is running on ...

Positioning and power consumption

iOS-GPS positioning basics iOS - GPS location service and map app are two completely different APIs Four location services for iOS7 -GPS satellites have the most accurate advantages, disadvantages, hi...

[ ] android power consumption test

BatteryjobsTime has been a key factor in the design of mobile wireless devices. As mobile devices become smaller and lighter, using large batteries is not a good choice. Analyzing battery power consum...

More Recommendation

Microprocessor power consumption source

  First come a pie:   The clock consumes the most power: The clock unit has a clock generator, a clock driver, a clock tree, and a control unit. The data path is second: mainly from the arit...

Android power consumption measurement

original:https://source.android.com/devices/tech/power/values Device manufacturer must provide component power profile/frameworks/base/core/res/res/xml/power_profile.xml。 To determine the value of a p...

Power consumption challenge

In the traditional concept, the improvement of the chip process will bring about an increase in performance and a reduction in cost. At the same time, due to the reduction of the chip core voltage, th...

Strategies for reducing power consumption

Now more and more electronic devices, more and more small and intelligent, but in order to achieve good experience, long standby is essential. However, a small device which is smaller cell volume will...

DDR power consumption calculation

The full text is taken from: https: //blog.csdn.net/viicauss/article/details/39027197 Embedded computing during the system design process, the total power consumption is a problem can not be bypassed,...

Copyright  DMCA © 2018-2024 - All Rights Reserved - www.programmersought.com  User Notice

Top