nrf5340 set low power mode between advertising interval

Hi 

I want to set the low power mode between advertising interval. I intend to have advertising interval around 5s. According to online power profile for BLE, I should be able to reach avg current 7.1uA 

Test setup
Voltage 1.8 V
Regulator DCDC
Application RAM 512 kB
Network RAM 64 kB
BLE event details
Interval 5005.00 ms
Length 5.96 ms
Data transmission
On air data rate 1 Mbps
Current consumption
BLE event total charge 13.31 µC
Idle current 4.4 µA
Total average current 7.1 µA

I wonder is there example like this post but on nrf5340  Low power BLE advertising with Zephyr on nrf52840, is it supported? 

In the above post, I didn't find anywhere that the power management module set the low power mode. Please explain how this work. 

Thanks for help!

  • Hi 

    All the Bluetooth examples in the nRF Connect SDK should go to sleep in between Bluetooth events, but typically the examples will enable the UART for logging purposes, which will negatively affect the sleep current. 

    This documentation page contains some information on how to optimize the examples for low power. Please note it is targeting nRF91 applications specifically, but a lot of the information is relevant for the nRF53 as well. In particular the section regarding logging. 

    Best regards
    Torbjørn 

  • Hi Torbjørn 

    I've tried the blinky example in the documentation. I get 5.9uA avg current which is good. However, if I add CONFIG_BT=y in the prj.conf file , then it becomes 250uA. Is it possible to send bluetooth advertisement without configure CONFIG_BT=y? 

    How is it possible to achieve 7.1uA  according to online power profile for BLE. As long as CONFIG_BT is activated, it starts to consume 250uA?

  • Hi 

    You mean all you did was to open the standard basic/blinky sample and add CONFIG_BT=y?

    Did you remember to disable logging? 

    With the following config I see no difference in current consumption whether I have CONFIG_BT enabled or not:

    CONFIG_LOG=n
    CONFIG_CONSOLE=n
    CONFIG_SERIAL=n
    CONFIG_BT=y

    Best regards
    Torbjørn

  • Hi 

    I found out the problem now. The BT stack consumes around 240uA.  High power consumption when running the BLE stack. 

    I have to configure the \ncs\v2.0.2\zephyr\samples\bluetooth\hci_rpmsg   project with CONFIG_SERIAL=n

    to deactivate the logging in network core. 

    Here it raise another question. Is it possible to combine the sub image build configuration in the parent paroject. I tried to build the multicore example with no success. The following are my error log from build 

    FAILED: zephyr/merged_domains.hex
    cmd.exe /C "cd /D C:\Users\info\ncs\firmware_v3\multicore\build && C:\Users\info\ncs\toolchains\v2.0.2\opt\bin\python.exe C:/Users/info/ncs/v2.0.2/zephyr/scripts/mergehex.py -o C:/Users/info/ncs/firmware_v3/multicore/build/zephyr/merged_domains.hex C:/Users/info/ncs/firmware_v3/multicore/build/hci_rpmsg/zephyr/merged_CPUNET.hex C:/Users/info/ncs/firmware_v3/multicore/build/cpunet/zephyr/merged_cpunet.hex C:/Users/info/ncs/firmware_v3/multicore/build/zephyr/merged.hex"
    Traceback (most recent call last):
    File "C:/Users/info/ncs/v2.0.2/zephyr/scripts/mergehex.py", line 28, in merge_hex_files
    ih.merge(to_merge, overlap=overlap)
    File "c:\Users\info\ncs\toolchains\v2.0.2\opt\bin\Lib\site-packages\intelhex\__init__.py", line 875, in merge
    raise AddressOverlapError(
    intelhex.AddressOverlapError: Data overlapped at address 0x1000000

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "C:/Users/info/ncs/v2.0.2/zephyr/scripts/mergehex.py", line 56, in <module>
    main()
    File "C:/Users/info/ncs/v2.0.2/zephyr/scripts/mergehex.py", line 52, in main
    merge_hex_files(args.output, args.input_files, args.overlap)
    File "C:/Users/info/ncs/v2.0.2/zephyr/scripts/mergehex.py", line 30, in merge_hex_files
    raise AddressOverlapError("{} has merge issues".format(hex_file_path))
    intelhex.AddressOverlapError: C:/Users/info/ncs/firmware_v3/multicore/build/cpunet/zephyr/merged_cpunet.hex has merge issues
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: 'c:\Users\info\ncs\toolchains\v2.0.2\opt\bin\cmake.EXE' --build 'c:\Users\info\ncs\firmware_v3\multicore\build'

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

    It would be nice to have a more detail explanation step by step to include a child image configuration in side parent project. I am kind of dumbed or lacking of information to understand the content describe in the following link.

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.0/nrf/samples/nrf5340/multicore/README.html

    Thanks for help

  • Hi 

    You mean to say the multicore sample doesn't build out of the box, or did you make some changes to the project?

    If so, could you summarize what you changed?

    Which board did you build the sample for?

    Regarding documentation for adding child images, please take a look here.

    Best regards
    Torbjørn

Related