So I've been working with the DA14531 Dev Kit Pro and I have been having trouble getting the MCU into hibernation mode. I'm just trying to do some preliminary tests and power characterization so I wanted to just use the example code. Following the instructions in the "Sleep Mode Tutorial" I wasn't able to get it to go into hibernation mode. On the test board I'm seeing anywhere from 200-400 uA depending on the voltage and whether or not I'm in buck or boost mode. Any help on this would be greatly appreciated.
Keywords:
Device:
Hi djames,
Thanks for posting on our public Bluetooth forum and glad that you’ve been working with our new Smartbond device. In the “Sleep Mode Tutorial”, there are 3 cases for the hibernation mode configuration (using SPI Flash/SysRAM/OTP). Can you please indicate in which case are you measuring 200-400 uA? If you are using SysRAM, is the debugger attached or not? In addition, which RAM blocks are retained? It would be very helpful if you were able to share those clarifications.
Thanks, PM_Dialog
I'm currently using the SysRAM configuration. With the SysRAM configuation I've tried it with both the debugger attached and not attached (physically), and I've programmed it using both Keil and the SmartSnippets tool. Assuming that the configuration from the header file is being passed through correctly, all 3 RAM blocks are on. I'm going to guess that that's the cause of the increased current draw?
Hi djames,
If the debugger (from the Arm Keil IDE) is attached, this prevents the system to enter any of the sleep modes. You don’t need to remove the debugger physically, just press twice the “Start/Stop Debug Session” button. Can you please indicate if the SPI jumpers are placed or not in the J1 header? Please, try to unmount the SPI jumpers. Then, I would suggest you to use the Power profiler from the SmartSnippets Toolbox and check if the device stops advertising and going into hibernation. In the Hibernation tutorial, advertising with 18second timeout is used, so the device will enter the hibernation mode after 18 sec.
Thanks, PM_Dialog
So I've been able to get the power consumption down to about 27 uA after about 18 seconds using the settings from hibernation mode. The SPI jumpers are removed, and I'm running from 3.3V in buck mode. This measurement was made using an Agilent 34465A DMM. I must still be doing something wrong, but taking the board out of debug mode did help a lot. I'm not sure what the remaining issue is though.
Hi djames,
Can you please try to use theDA14531 Configuring To hibernation modeSW example in order to set the DK into hibernation mode? Can you detect any change in the power consumption? All our SW example (including the hibernation mode SW example) don’t contain SDK, so you should link them with the SDK. Please follow the steps described in theSoftware Example Setup Using Python Link Scriptdocument.
Thanks, PM_Dialog
Thanks for sending that example code. That slightly lowered the current consumption, but just barely. Before I was measuring about 27.3 uA and now I'm measuring about 26.9 uA.
Hi djames,
I ran theDA14531 Sleep Mode Tutorial (HTML)and the hibernation current is at ~1.8 uA. I measured it with the Power Profiler of SmartSnippets Toolbox using the DA14531 Pro-DK. Jumpers are placed as shown in Figure 5: Hardware setup with jtag jumpers placed
1. Define the CFG_APP_GOTO_HIBERNATION macro in user_proxr.h
2. Comment out the following code snippet is snippets in user_prox.h
3.开关在所有三个内存块和重新映射the address 0 to SysRAM as shown below:
4. In user_periph_setup.h file, configure the GPIO that would be used to wake-up the device from hibernation mode. In this case we have chosen P0_5 as the wake-up GPIO.
5. In the user_config.h change the advertising period to 5sec. After 5sec the device will stop advertising and enters the hibernation mode.
6. Build the project.
7. Open the Power Profiler from the SmartSnippets Toolbox. You will need to connect via UART/SPI to enable the power profiler tool. Press ”Initialize” and “Start”
8. Download the firmware into System-RAM.
9. The system will start advertising for 5sec and then it will enter the hibernation mode. Please check the attached screenshot from my setup. The current consumption in hibernation mod is around 1.8uA. If the hibernation current is around this value, then use your tool to measure it in order to have better measurement.
Thanks, PM_Dialog
So after doing some digging and playing with this again, I decided to swap to the WLCSP17 daugherboard instead of the QFN24 daugherboard. To my surprise this fixed my issue. Upon closer inspection of the schematic I noticed that there were some I/O pins on the 24 pin part that aren't connected on the 17 pin part. Removing all the jumpers on J8 and J19 lowered my current consumption down to 700nA. After some trial and error it looks like connect the jumper on J8 pins 1 and 2 causes a 26uA increase in the current consumption. I'm not sure if this is unique to my board, but if not I think removing this jumper should be included in the steps listed in the tutorial.
Hi djames,
Many thanks for your valuable feedback. Setting the jumper on J8 pins 1 and 2, the C_TRIG triggered is enabled which is mapped on the P0_9. That pin is only available on QFN24 package! I have already the Team know about this and we perform some tests early next week. I will keep you updated on this!
Thanks, PM_Dialog