6。深睡眠配置¶
要将DA14531或DA14585 / 586设备配置为Deep Sleep模式,请按照下面提到的步骤进行操作。
从以下方式打开Proximity Reporter项目:...项目/ target_apps / ble_examples / prox_reporter / keil_5
打开文件user_proxr.h.它位于User_App文件夹下。
定义cfg_app_goto_deep_sleep.选择设备在完成后输入的睡眠模式。
#define cfg_app_goto_deep_sleep.
选择通过执行以下操作从深度睡眠模式唤醒的触发机制,
#f定义(cfg_app_goto_deep_sleep)/ *****************************************************************************************深的睡觉模式和唤醒-向上从深的睡觉配置**选择这扳机机制至唤醒向上从深的睡觉。****-cfg_deep_sleep_wakeup_por.-唤醒向上从p别针****-cfg_deep_sleep_wakeup_gpio.-唤醒向上从醒来控制器****-cfg_deep_sleep_wakeup_rtc.-唤醒向上从RTC.计时器(只要在DA14531.)****-cfg_deep_sleep_wakeup_timer1.-唤醒向上从Timer1.(只要在DA14531.)****笔记:**一种硬件重启或者力量循环将要总是唤醒向上这系统从深的睡觉。******************************************************************************************#undef cfg_deep_sleep_wakeup_por.#define cfg_deep_sleep_wakeup_gpio.
笔记
DA14585 / 586只能从POR PIN或GPIO从深睡眠中唤醒。
在同一文件中,配置要保留的保留RAM存储器。关闭任何RAM块使用PD_SYS_DOWN_RAM_OFF和PD_SYS_DOWN_RAM_ON要保留。禁用所有RAM块时,代码应在Flash或OTP中。禁用RAM块将降低睡眠电流,但它会增加唤醒所需的能量。
/ *****************************************************************************************深的睡觉模式配置******************************************************************************************#define cfg_deep_sleep_ram1 pd_sys_down_ram_off.#define cfg_deep_sleep_ram2 pd_sys_down_ram_off.#define cfg_deep_sleep_ram3 pd_sys_down_ram_off.#define cfg_deep_sleep_pad_latch_en false.
在文件中user_proxr.c.通过选择cfg_deep_sleep_wakeup_gpio,选择gpio port_pin以通过在文件中执行此操作,从深睡眠中唤醒设备,
#f定义(cfg_deep_sleep_wakeup_gpio)wkupct_enable_irq.(wkupct_pin_select.(gpio_button_port.那gpio_button_pin.),//选择别针wkupct_pin_polarity.(gpio_button_port.那gpio_button_pin.那wkupct_pin_polarity_low.),//极性低的1那//1事件0.);//debouncing.时间=0.#万一
在里面user_periph_setup.h.,配置GPIO_BUTTON_PORT和GPIO_BUTTON_PIN,如我们已配置P0_5以唤醒设备从深睡眠,
/ **************************************************************************************** // *按钮配置* // **************************************************************************************** /#if定义(__da14531__)#define gpio_button_port gpio_port_0.#define gpio_button_pin gpio_pin_5.#别的
要使用电源唤醒复位(POR),请定义CFG_DEEP_SLEEP_WAKEUP_POR并拒绝唤醒机制的其余部分。使用主板上的SW1 / RESET按钮唤醒设备。
#define cfg_deep_sleep_wakeup_por.
要使用RTC(实时时钟)计时器唤醒(仅适用于DA14531),请定义CFG_DEEP_SLEEP_WAKEUP_RTC并拒绝唤醒机制的其余机制。
#if定义(__da14531__)#define cfg_deep_sleep_wakeup_rtc.#undef cfg_deep_sleep_wakeup_timer1.#万一
通过定义此方法,RTC配置为在10秒后生成中断。这将从深度睡眠模式唤醒设备。可以通过更改函数中的alarm_time.sec来修改中断的时间configure_rtc_wakeup.在user_proxr.c.如下所示,
armarm_time.。秒+ =10.;
要使用Timer1唤醒(仅适用于DA14531),请定义CFG_DEEP_SLEEP_WAKEUP_TIMER1并拒绝唤醒机制的其余机制。
#if定义(__da14531__)#undef cfg_deep_sleep_wakeup_rtc.#define cfg_deep_sleep_wakeup_timer1.#万一
保存并编译(F7)项目
打开SmartSnippets Toolbox,然后单击电源分布器(可从我们的Portal获取yabo国际娱乐对话半导体网站。)观察BLE事件和深睡眠。
如果您使用的是DA14531模块,请务必通过在功能中调用SPI_FLASH_POWER_DOWN()在深入睡眠之前关闭闪光灯app_advertise_complete.在user_proxr.c.,如此,
spi_flash_power_down.();//放系统进入深的睡觉put_system_into_deep_sleep.();
6.1。测量深睡眠电流¶
为了测量数字万用表上的深度睡眠电流,在User_config.h下增加了Proximity Reporter项目中的广告间隔。按照以下步骤操作:
打开文件user_config.h.它位于User_Config文件夹下。
2.更改默认处理程序配置以使用超时方式宣传设备,通过配置.adv_scenario以def_adv_with_timeout,例如将超时值更改为3s,例如,.advertise_period = ms_to_timerUnits(18000),如下所示,...代码:
/ *******************************************************************************************默认处理者配置(适用只要为了@app_default_handlers.。C)****************************************************************************************** /静止的const塑造default_handlers_configuration.user_default_hnd_conf.={//配置这广告手术用过的经过这默认处理者//可能的价值://-def_add_forever//-def_adv_with_timeout.。adv_scenario.=def_add_forever那//广告永远//配置这广告时期在案件的def_adv_with_timeout.。//它是测量在计时器单位。用ms_to_timerunits.宏至兑换//从毫秒(小姐)至计时器单位。。广告_Period.=ms_to_timerunits.(3000.),//这是为了3.S.//配置这安全开始手术的这默认处理者//如果这安全是启用(cfg_app_security.)//可能的价值://-def_sec_req_never//-def_sec_req_on_connect.。security_request_scenario.=def_sec_req_never};
这将配置广告时段3S之后,设备将进入深度睡眠模式。通过编程前一节所述的触发机制,该设备可以通过编程唤醒机制来唤醒深度睡眠模式。
保存并编译项目
按照步骤这里在第12章OTP程序员或第13章SPI闪存程序员中,以便在Flash或OTP中编程设备,然后从那里启动。
使用数字万用表,将万用表的正为J9 [4]和主板的否定J9 [3],如下图所示,
观察仪表中显示的深度睡眠电流值。下面提到的典型数字,其中ibat_low值是升压模式,并且ibat_high值用于降压模式。
要更改为Boost模式,请将跳线放在主板上的J4 [1-2]上,如睡眠模式概述章节所示。
重复1到6的步骤