0.5mA static current with DA14583 / Pro kit

7 posts / 0 new
Last post
uta_lc
Offline
Last seen:1 year 1 month ago
加入:2016-05-03 07:39
0.5mA static current with DA14583 / Pro kit

Hi there,

I am using proxy_reporter and iOS app to measure current using with DA14583 / Pro kit. But always have 0.5mA ish static current in Smartsnippets measuring while the dynamic behavior looks OK (Tx/Rx waveform good). iOS app maintains good connection. Please see attached current measurement plot.

Changes from out-of-box SDK 5.0.3 (above drop down menu only allows me to choose 5.0.2.1 the highest version).
1. HW_CONFIG => 2 (pro kit)
2. select prox_reporter_583 in Keil (5)

I'm using the default jumper settings on the Pro kit from the factory. I have no JTAG attached - just the mini USB cable for Smartsnippets.

I've tried to calibration offset - which is only 0.018mA - no help in my case.

Tried Keil debug run, Smartsnippets booter serial download, burn SPI flash, same result.

I've read all the topics searched with keywords "current measurement" in the forum, tried the stuff mentioned, still bad.

I'm using DA14583 + Pro, is it of any difference from DA14580 in terms of jumper setting etc?

Does anyone have any more hint?

I'm wondering if the chip does not go to sleep in my case given the current 0.50mA is very much similar to active running mode. If I want to debug that, what's the best way to do it?

Further note: I'm trying to debug if the chip goes to sleep -http://support.dialog-semiconductor.com/ble-app-uart-debug-messages- after the change the prox-reporter does not advertise.

Any feedback is welcome.

Cheers,
Carl

Device:
uta_lc
Offline
Last seen:1 year 1 month ago
加入:2016-05-03 07:39
Re 1458 debug print: it is

Re 1458 debug print: it is working now after changing the 2 xxx_periph_setup.h to Pro kit.

Still getting high static current.

I put a break point in arch_main.c - main_func - at
if ((sleep_mode == mode_ext_sleep) || (sleep_mode == mode_deep_sleep)) {

但它从未在凯尔调试——休息iOS app keeps connected with prox-reporter.

Can someone please confirm:
1. Is it OK to put a break-point there?
2. Does it mean the chip is not getting into sleep mode?
3. What to check from here?

Thanks,
Carl

uta_lc
Offline
Last seen:1 year 1 month ago
加入:2016-05-03 07:39
I tried

I tried

#undef CFG_MEM_MAP_EXT_SLEEP
seems no difference - still cannot break at the above break-point.

Can some at Dialogue give it a try using setup: Pro kit + 14583 daughter board and advise?

Gongyu_Dialog
Offline
Last seen:1 week 8 hours ago
加入:2016-04-27 07:07
in user_config.h , may need

in user_config.h , may need to change the settings of the app_default_sleep_mode to ARCH_EXT_SLEEP_ON

uta_lc
Offline
Last seen:1 year 1 month ago
加入:2016-05-03 07:39
"app_default_sleep_mode to

"app_default_sleep_mode to ARCH_EXT_SLEEP_ON" - should this be for Keil debug or current measurement? My understanding is that SLEEP should be OFF for debug?

Anyway, tried both EX_SLEEP_ON and SLEEP OFF, neither can get debugger to break; measured current with both cases, still 0.5mA.

My feeling is that it is either not sleeping or some GPIO pin is not properly set up.

Do you have any readily built prox_reporter image for Pro kit + 14583 suitable for current measurement? Can some one at Dialogue try Pro kit + 14583 daughter board and advise? I cannot find any documentation on how to set up Pro dev kit using prox_reporter to measure power consumption.

Please find attached prox_reporter I modified for current measurement/debug. I added some arch_puts but seems I cannot print stuff in main_func.

Attachment:
Gongyu_Dialog
Offline
Last seen:1 week 8 hours ago
加入:2016-04-27 07:07
Hi, Uta_lc

Hi, Uta_lc
if you set the app_default_sleep_mode to ARCH_EXT_SLEEP_ON, the current drops in the smartsnippet view.
But in keil debug mode, you will enter into the following code, right?
if ( (app_get_sleep_mode() == 2) || (app_get_sleep_mode() == 1) )
{
SetWord16(SET_FREEZE_REG, FRZ_WDOG); // Stop WDOG until debugger is removed
while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};
SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0); // close debugger
}

它是由于调试器连接到DA14580。只要调试器连接到580,代码就会粘在上面的行(在Arch_main.c中):因此,必须删除这些线路以用于调试目的。

uta_lc
Offline
Last seen:1 year 1 month ago
加入:2016-05-03 07:39
Thank Gongyu for your reply.

Thank Gongyu for your reply.

After fiddling with the code, it is working now - average current is under 0.0070mA for 2s connection interval! The 0.5mA static current was there because the chip did not go to sleep.

Thank you very much for your help.

Topic locked