nRF5340 behaves like LDO mode while DCDC mode is configured

Hi,

We are facing a strange behavior where the consumption we measure on the nRF5340 doesn't change according to supply voltage like it is supposed to do in DCDC mode. 

This behavior seems to indicate the nRF5340 is running in LDO mode, but the registers shows that we are supposed to be in DCDC mode : 

Our wiring diagram is the following (same as product specification v1.6, chapter 9.3.1 Circuit configuration no. 1 for QKAA aQFN94) : 

We need help to understand this behavior. 

Thank you very much

Best regards

Parents
  • Hello,

    I can see you are debugging, in debug mode the chip will stay in LDO mode, this to ensure that programming and debugging can occur even when there is no DCDC available. I suggest you do a hard reset (power cycle) and measure the current then.

    Kenneth

  • Hi,

    Thank you for your quick answer. The consumptions are mesured in release mode, not debug mode. How to verify the values of the register without being in debug mode?

  • dts file is correct : 

    The firmware do enter in idle mode but not few uA. Between 60uA and 300uA regarding nRf5340 chip lot (other ticket pending on this). In the firmware we have the wifi stack and the QSPI enabled which adds around 50uA or so so floor consumption is correct on chip with 2022 date code, and erratic with 2024 date code (investigation in progress, this is not the purpose of this ticket). 

    We are in production state, the firmware is no longer compatible with DK at this stage of developpment.

    I previously looked at NS register from PERIPHERAL views but we are actually running in secure mode so I checked NRF_REGULATORS_S registers like this : 

    	if(NRF_REGULATORS_S->VREGMAIN.DCDCEN == 1 && 
    		NRF_REGULATORS_S->VREGRADIO.DCDCEN == 1 &&
    		NRF_REGULATORS_S->VREGH.DCDCEN == 1) 
    	{
    		lErr = module_usb_enable();
    		FATAL_ASSERT(lErr == SUCCESS);
    	}
    

    Basically, I mount the USB if these are correctly set, just for test purpose. This test pass so register are being configured correctly. How to verify I am not still in debug mode, despite not having CONFIG_DEBUG=y ?

    EDIT : I just noticed that both in our release and debug build, (we set CMAKE_BUILD_TYPE to Debug) we still have this:

    #
    # Debugging Options
    #
    # CONFIG_DEBUG is not set
    # CONFIG_STACK_USAGE is not set
    CONFIG_PRINTK=y
    CONFIG_EARLY_CONSOLE=y
    CONFIG_ASSERT_LEVEL=2
    # CONFIG_FORCE_NO_ASSERT is not set
    CONFIG_ASSERT_VERBOSE=y
    # CONFIG_ASSERT_NO_FILE_INFO is not set
    CONFIG_ASSERT_NO_COND_INFO=y
    CONFIG_ASSERT_NO_MSG_INFO=y
    # CONFIG_ASSERT_TEST is not set
    # CONFIG_OVERRIDE_FRAME_POINTER_DEFAULT is not set
    # CONFIG_DEBUG_INFO is not set
    # CONFIG_DEBUG_THREAD_INFO is not set
    # CONFIG_DEBUG_COREDUMP is not set
    # CONFIG_SYMTAB is not set
    # end of Debugging Options

    In the .conf file

  • Hi,

    Just to make sure there is no misunderstanding, when I commented on "debug mode" I am not thinking of the setting of CONFIG_DEBUG. But I am just saying that when the chip is programmed it will stay in "debug mode" until a hard reset (power cycle). But I assume you are performing power cycles between programming and measurements here.

    Also it could be interesting to try LDO configuration in the devicetree instead of DCDC for comparison, just in case it's actually is using DCDC. I know the spikes in the online power profiler are a bit averaged and the ppk also likely jump between two measurement ranges here (~5mA, which unfortunately has shown can cause the measurement to be wrong in some cases), both could explain potentially the first transient is higher.

    If you are using VDDH mode then the supply voltage range is 2.5-5.5V, and the current consumption will not be the same as the online power profiler (which use VDD mode 1.7-3.6V), ref:
    https://docs.nordicsemi.com/bundle/ps_nrf5340/page/chapters/recommended_op_conditions/doc/recommended_op_conditions.html 

    So that might also be part of the reason.

    Also see the difference in the supply configurations here (VDDH vs. VDD):
    https://docs.nordicsemi.com/bundle/ps_nrf5340/page/chapters/ref_circuitry.html 

    You should also check what the voltage output from VDDH to VDD is configured:
    https://docs.nordicsemi.com/bundle/ps_nrf5340/page/chapters/uicr/doc/uicr.html#register.VREGHVOUT 

    I notice you have EXTSILENTEN enabled, do you feed external circuitry from VDD?
    https://docs.nordicsemi.com/bundle/ps_nrf5340/page/regulators.html#ariaid-title13 

    I can try to ask a colleague tomorrow that do current consumption measurements if he can comment in specific, but would be good if you can comment on the above first.

    Kenneth

  • If you are using VDDH mode then the supply voltage range is 2.5-3.6V, and the current consumption will not be the same as the online power profiler (which use VDD mode 1.7-3.6V)

    Still, if we are in DCDC mode, the consomption must change according to supply voltage right? Here it is not the case.

    Also see the supply configurations here (VDDH vs. VDD):
    https://docs.nordicsemi.com/bundle/ps_nrf5340/page/chapters/ref_circuitry.html 

    see : 

    Our wiring diagram is the following (same as product specification v1.6, chapter 9.3.1 Circuit configuration no. 1 for QKAA aQFN94) : 

    I notice you have EXTSILENTEN enabled, do you feed external circuitry from VDD?

    Yes we do.

    Just to make sure there is no misunderstanding, when I commented on "debug mode" I am not thinking of the setting of CONFIG_DEBUG. But I am just saying that when the chip is programmed it will stay in "debug mode" until a hard reset (power cycle). But I assume you are performing power cycles between programming and measurements here.

    Yes I do perform power cycle between measurments. My point is, if the nRF53440 is in LDO mode despite the registers being configured in DCDC mode when it is in debug, then I must be SURE we are not in debug mode. How can I do? 

    Thank you

  • Can you please do the measurements with LDO for comparison?

    Also please specify the output voltage you have when using VDDH.

    Kenneth

  • The first radio spike you are focusing on can be explained by: "I know the spikes in the online power profiler are a bit averaged and the ppk also likely jump between two measurement ranges here (~5mA, which unfortunately has shown can cause the measurement to be wrong in some cases), both could explain potentially the first transient is higher."

    Kenneth

Reply
  • The first radio spike you are focusing on can be explained by: "I know the spikes in the online power profiler are a bit averaged and the ppk also likely jump between two measurement ranges here (~5mA, which unfortunately has shown can cause the measurement to be wrong in some cases), both could explain potentially the first transient is higher."

    Kenneth

Children
  • One final comment for today: I am wondering actually that when radio startup it may be indirectly charging C31, that can also add to the initial spike you see there. 

    Kenneth

  • The first radio spike you are focusing on can be explained by

    All the spikes are around 14mA, not only the first one. This value is typical from the LDO configuration shown in the profiler.

    I did measurement with LDO enabled, and the results are almost the same : BLE spikes are around 15mA and does not change according to supply voltage (same case as before, but now consistent with profiler estimation), but the floor consumption increased from 150uA to 400uA.

    Output voltage is set to 1V8.

  • I can try to measure myself next week on a DK for comparison.

    I was thinking that the green peaks are not that far off the online profiler:

    And that the red spike is caused by either:

    - measurement error due to ppk change measurement range from <5mA to >5mA
    - transient due to charging of C31 (will likely occur in both LDO and DCDC mode)

    If you say that you see no difference in the green spikes when going from DCDC to LDO, then it sounds like it's something else problematic here that we can't see. The schematic looks good as far as I can see. 

    Next step would be to try a simple BLE beacon example from the SDK for comparison, that should be able to run on any hardware.

    Kenneth

  • Okay, I misunderstood what you meant by first spike sorry, This diagram comes from a collegue's measurment so I made other measurments with another device. Here is the diagram: 

    While the spikes are still around 12mA like the others, the profile is different. So I took the total average current from the profiler (11 µA ) and compared it with the average current I had on my device : 13 µA. knowing that I have an external flash consuming 1µA so in term of energy, I think we are good. You might have right about the ranges switch of the ppk, leading to wrong spike values. 

    Knowing that floor consumption jumps about 250µA when enabling LDO instead of DCDC, I think we can say that the nRF5340 is actually in DCDC mode.

    Next step would be to try a simple BLE beacon example from the SDK for comparison, that should be able to run on any hardware.

    I just wasn't able to make wthe beacon sample work for our custom board nor 7002dk. The ipc_radio.bin won't build, and I got err -11 from bt_enable(). Could you give me the right build configuration to make it work please? It is still good to verify with a minimal example. Thank you very much

  • Hi,

    Thanks for the update. Looks like to be a PPK issue yes.

    Ben_Squar3d said:
    The ipc_radio.bin won't build, and I got err -11 from bt_enable().

    What ncs version you are using? I would expect this to work out of the box, do you build from command line or vs code? I assume you are using sysbuild? Error -11 from bt_enable() normally means that the network(radio) core is not programmed, which make sense seeing that you have problems building radio core.

    Kenneth

Related