Hello,
我用DA14580测试了延长睡眠模式,它可以工作,但是当前的消耗量是350ua,而不是预期的1.4ua
对于这个测试,我遵循了Training\u 04\u sleep\u modes\u current\u measurement.v10.pdf的说明。我使用的是带有PAN1740 doughter板和sdk5.0.2.1的pro工具包。
First I used the power profiler of SmartSnippets tool, but the average current was 350 uA. I checked the current offset before doing this test.
Then, I used a DMM and the same results appear.
Finally, I used other projects like sleep_mode of the SDK guide, but the current level was again the same.
Maybe someone had this problem before and know how to fix it?. Maybe I am making a mistake during the measurement?. I really appreciate your help.
Best,
Matías
Device:
Hi mjara,
I am measuring near 350 uA when the sleep is not enabled (app_default_sleep_mode = ARCH_SLEEP_OFF;) and the watchdog is enabled, so an NMI interrupt occurs, perhaps your system hits the NMI handler and this is what you measure. Other than that, check you pins if there is any kind of leakage, remove all the jumpers from the dev kit.
Thanks MT_dialog
Hello MT_Dialog,
I am using,
sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON
所以我的WD计时器没有问题。我检查了引脚是否有渗漏,没有明显的区别。我使用的是上一个SDK版本,您建议我尝试延长睡眠模式吗?。
By the way, I am using the Debug to program the DA14580 (start debug, and then stop), not Smart Snippets.
Best,
Matías
Hi mjara,
The program that you are using is fine (as far i could understand when you say sleep_mode of the SDK guide, you mean ble_app_sleepmode in the 5.0.4 SDK) since it fallls in permanent sleep and you dont have to place a long adv interval in order to measure the lowest point of the power consumtion, so after the few seconds of advertising the device will fall in sleep so at that point you should be able to measure tha lowest power consumtion. Using a PAN on a dialog's pro kit i wasn't able to replicate the 350uA that you see, the only value close to the was when the sleep was disabled and no radio activity (about 442uA), are you sure that you dont disable sleep anywhere in the testing code (arch_disable_sleep()) ?
Thanks MT_dialog
Hello MT_Dialog,
I double checked and I never disable the sleep mode. Yes I am using the ble_app_sleepmode project in the 5.0.4 SDK .
The projects works fine, after 10 seconds, the ble stops advertising, but the current that I measured in "sleep mode" is near 350 uA.
I read inhttps://support.dialog-semiconductor.com/current-bleappsleepmodethat in ble_app_sleemode in the major current consumption comes from the flash.
Maybe that is the extra current that I am measuring. Do you know anything about this issue?
Best,
Matías
Hi mjara,
Do you have a 583 with an embedded flash or a 580 ? The reference design that you are using hasn't got any flash interaction (your program downloads straight to the sysram via keil) also in order to use the flash you have to place some jumpers on the specified pins (you can check the pins for using the flash at the schematic on the pro motherboard right beside to the J6 header), check if you mistakenly have placed the power supply jumper of the SPI (you can find more info regarding the pins and the pro motherboard at the UM-B-034 document).
您还可以执行以下测试,增加设备保持唤醒和播发的持续时间(将APP\u ADV\u DATA\u UPDATE\u从1000->10秒更改为3000->30秒或更长),然后在更改之后,增加广告间隔(在user\u config.h文件中更改user\u adv\u conf结构的members.intv\u min和.intv\u max)超过2秒甚至3秒,甚至10.24秒,这是最大值。这将迫使设备在广告间隔之间进入睡眠模式,并给测量仪器足够的时间来测量广告间隔之间睡眠模式下的功耗(如果设备在进入永久睡眠前工作正常,您应该看到广告间隔之间的最小功耗)事件)。
Other than that i would suggest to try to use a different daughter board and perform the measurements.
Thanks MT_dialog
Hello MT_Dialog,
是的,我用的是580,所以没有嵌入式闪存。另外,我检查了一下,SPI的电源没有连接。
我做了你建议的测试。但当BLE停止做广告时,我仍在衡量当前的水平。我试过用另一块木板,结果还是一样。
Any other suggestion?. Thanks for your time,
Matías
Hi mjara,
I ve aksed you to do this in order to give you enough time to measure the power consumption between the advertising interval, not when the device falls asleep permanently, so what was the power consumption between the advertising intervals ?
You can perform the same with other SDK examples (increase the advertising interval and try to measure between the intervals, or kill the advertising at some point and dont start it again), perhaps also try on a fresh SDK, perhaps you ve made any changed on the current one.
Thanks MT_dialog
Hello MT_DIalog,
The current between the advetising intervals is 440 uA (measured with SmartSnippets).
我尝试了一个新的SDK,目前的水平从来没有低于350 uA。
Best,
Matías
Hi mjara,
正如本教程所指出的,您将无法通过智能代码段测量设备的最低功耗,最好使用数字万用表。如果这个值和你用数字万用表测量的值一样,那么我想不出还有什么原因可以解释为什么你的设备不能进入睡眠模式,而不是偏转主板,如果你已经检查了以上所有的情况,但在睡眠时仍然没有测量到大约1.5uA,那么我想不出还有什么其他的原因可以导致这种行为。
Thanks MT_dialog
Hello MT_dialog
After some test, I figured it out that if I use the Booter tool of Smar Snippets with Close Debug Sess to write in the SysRAM, then I can measure a low current of 2.2uA in sleep mode. But if I use Keil, although I detached the debug, the current level always increment in 300 uA.
Thank you for your time.
Matías
Hi mjara,
Are you using a dev kit or a custom board ? The expert kit when the debugger is attached on the board it consumes some extra power.
当使用keil下载使用powerprofiler的代码和智能代码片段时,您能看到580是否进入睡眠状态并醒来吗?还有,你用的是哪个版本的keil?
Thanks MT_dialog
Hello MT_dialog
我正在使用开发工具包-专业版。
If I used Keil, I cannot see that the 580 goes to sleep in the Power Profiler of Smart Snippets. I am using Keil V5.21.1.0
Best,
Matías
Hi mjara,
这可能是由于您拥有的jlink驱动程序与您使用的keil版本之间存在已知的兼容性问题,请检查“已知问题”部分和相应的“常见问题”部分中的“常见问题”部分凯尔MDK521a compability问题older JLink drivers.". FAQ并没有报道这一点,但我们观察到,有时这个问题也会阻止580在通过keil下载时进入睡眠状态。您可以遵循此操作,也可以安装较旧版本的keil。
Thanks MT_dialog