6。深睡眠配置

要将DA14531或DA14585 / 586设备配置为Deep Sleep模式,请按照下面提到的步骤进行操作。

  1. 从以下方式打开Proximity Reporter项目:...项目/ target_apps / ble_examples / prox_reporter / keil_5

  2. 打开文件user_proxr.h.它位于User_App文件夹下。

  3. 定义cfg_app_goto_deep_sleep.选择设备在完成后输入的睡眠模式。

#define cfg_app_goto_deep_sleep.
  1. 选择通过执行以下操作从深度睡眠模式唤醒的触发机制,

#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从深睡眠中唤醒。

  1. 在同一文件中,配置要保留的保留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.
  1. 在文件中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.#万一
  1. 在里面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.#别的
  1. 要使用电源唤醒复位(POR),请定义CFG_DEEP_SLEEP_WAKEUP_POR并拒绝唤醒机制的其余部分。使用主板上的SW1 / RESET按钮唤醒设备。

#define cfg_deep_sleep_wakeup_por.
  1. 要使用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.;
  1. 要使用Timer1唤醒(仅适用于DA14531),请定义CFG_DEEP_SLEEP_WAKEUP_TIMER1并拒绝唤醒机制的其余机制。

#if定义(__da14531__)#undef cfg_deep_sleep_wakeup_rtc.#define cfg_deep_sleep_wakeup_timer1.#万一
  1. 保存并编译(F7)项目

  2. 打开SmartSnippets Toolbox,然后单击电源分布器(可从我们的Portal获取yabo国际娱乐对话半导体网站。)观察BLE事件和深睡眠。

  1. 如果您使用的是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项目中的广告间隔。按照以下步骤操作:

  1. 打开文件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之后,设备将进入深度睡眠模式。通过编程前一节所述的触发机制,该设备可以通过编程唤醒机制来唤醒深度睡眠模式。

  1. 保存并编译项目

  2. 按照步骤这里在第12章OTP程序员或第13章SPI闪存程序员中,以便在Flash或OTP中编程设备,然后从那里启动。

  1. 使用数字万用表,将万用表的正为J9 [4]和主板的否定J9 [3],如下图所示,

_images / extsleep.png

图12.深睡功率测量

  1. 观察仪表中显示的深度睡眠电流值。下面提到的典型数字,其中ibat_low值是升压模式,并且ibat_high值用于降压模式。

_images / deepsleepdata.png

图13.BUCK和BOOST模式下深睡功率数字(DA14531)

_images / deepsleepdata_585.png

图14.BUCK和BOOST模式下深睡功率数字(DA14585)

  1. 要更改为Boost模式,请将跳线放在主板上的J4 [1-2]上,如睡眠模式概述章节所示。

  2. 重复1到6的步骤