示例说明

该示例演示了DA14531上的IBeAcon的优化软件实现,可以从中下载A14531功耗优化的动态广告

该示例是更新IBEACON SW.,低于主要修改,基本上我们展示了如何:

  • 备用静态随机地址:在每个广告活动中更改设备地址
  • 交替Tx输出功率:改变Txput power level in every advertising event
  • 替代用户广告数据:在每个广告活动中更改信标广告有效载荷

已经创建了一个新的IBeAcon结构以允许交替,并且广告间隔设置为10 s。

由于示例需要更改为SDK,我们在源目录中提供所有修改文件:src \ modified_files.

/ *设置广告率* /#define adv_interval_ms 10000.
ibeacon_adv_payload_t.ADV_PAYLOAD.;ibeacon_adv_payload_t_new.ADV_PAYLOAD_NEW.;
如果change_bd_addr_flag.2{user_app_adv_start.();/ *替代用户广告数据* /梅检store_add_data.ADV_PAYLOAD.尺寸ibeacon_adv_payload_t.));store_add_data_len.=尺寸ibeacon_adv_payload_t.);/ *备用TX输出功率,将输出电源设置为最大值(0dBm)* /rf_pa_pwr_set.rf_tx_pwr_lvl_0d0.);/ *替代静态随机地址* /llm_le_env.兰德克德addr.[0.]=0x11.;llm_le_env.兰德克德addr.[1]=0x12.;llm_le_env.兰德克德addr.[2]=0x13;llm_le_env.兰德克德addr.[3.]=0x14;llm_le_env.兰德克德addr.[4.]=0x15.;llm_le_env.兰德克德addr.[5.]=0x16;}别的{user_app_adv_start_new.();/ *替代用户广告数据* /梅检store_add_data.ADV_PAYLOAD_NEW.尺寸ibeacon_adv_payload_t_new.));store_add_data_len.=尺寸ibeacon_adv_payload_t_new.);/ *备用TX输出功率,将输出电源设置为最大值(+ 2.5dBm)* /rf_pa_pwr_set.rf_tx_pwr_lvl_plus_2d5.);/ *替代静态随机地址* /llm_le_env.兰德克德addr.[0.]=0x01;llm_le_env.兰德克德addr.[1]=0x02;llm_le_env.兰德克德addr.[2]=0x03;llm_le_env.兰德克德addr.[3.]=0x04;llm_le_env.兰德克德addr.[4.]=0x05;llm_le_env.兰德克德addr.[5.]=0x06.;}

替代静态随机地址备用TX输出功率电平

在此示例中,我们还显示如何调整DA14531最小电流消耗。当更改应用于SDK时,电流消耗将减少18%。

低于电力改进的更改列表:

  • 优化Tx脉冲之间的时间
rwble.C__bleirq.空白rwble._isr空白{...../ *优化time之间TX.脉冲* /ble_advtim_set.5.0.0.);}

优化Tx脉冲之间的时间

  • 睡眠准备时降低了AMBA的时钟速度
Arch_System.C__虚弱的BOOL.app_use_lower_clocks_check.空白{返回真的;}

降低了AMBA上的时钟速度

  • 删除RCX读取和校准
arch_mainC#if定义(__da14531__)//rcx20_read_freqfalse);#万一
  • 降低射频校准程序
Arch_System.C空白条件_run_radio_cals.空白{#if定义(__da14531__)//531.案件UINT32_T.当前时间=lld_evt_time_get.();如果当前时间<last_temp_time.{last_temp_time.=0.;}如果((当前时间-last_temp_time.> =500000.{
  • 减少XTAL32M等待时间
otp_cs.C#define xtal32m_wait_trim_time_usec(500)// 500 Usec
  • 优化XTAL启动时间
H#if定义(__da14531__)#define hw_startup_time_in_xtal32k_cycles(11)// 11 LP时钟用于启动状态机处理#define HW_STARTUP_TIME_IN_RCX_CYCLES (7) // 7 LP clocks for startup state machine handling#define rcx_ble_pwr_up_to_slp_irq_usec(60)#define xtal32k_ble_pwr_up_to_slp_irq_usec(45)#万一

结果在下面的屏幕截图中给出:

  • 平均功耗无软件优化:2,77 ua

平均功率消耗:没有SW选择性

  • 具有软件优化的平均功耗:2,27 ua

平均功率消耗:随着SW优化

  • 睡眠期间的平均功耗:1,2 ua

平均功率消耗:随着SW优化

估算电池寿命

当您知道设备的平均电流消耗和电池的能量容量时,可以计算电池寿命。可以使用电池寿命估算工具,并且可以通过在工具栏中的布局或“电池寿命估算器”下选择“电源监视器”或“电池寿命估算器”下的“电源监视器”来加载(从SmartSnippets工具箱)。

2. HW和SW配置

  • 硬件配置
    • This example runs on the DA14531 Bluetooth Smart SoC device.
    • 一个da14531.USB或者pro此示例需要开发套件。
  • 软件配置
    • 这个例子需要:
      • SmartSnippets Studio 2.0.14(或更高版本)
      • SDK6.0.14(或更高版本)
      • 应下载和安装Segger的J-Link工具。

3.如何运行该示例

对于初始设置,请参阅对话框支持门户的这一部分

3.1。初始设置

  1. 使用Keil IDE构建和下载示例。
  2. 使用keil调试器运行该示例。
  3. 使用运行应用程序的智能设备,例如定位以查看DA14531发送的信标。

4.已知的限制

5.许可证


Copyright (c) 2020 Dialog Semiconductor. All rights reserved.

该软件(“软件”)由对话半导体拥有。雷竞技电竞平台通过使用本软件,您同意,对话半导体保留在本软件和本软件中的所有知识产权和专有雷竞技电竞平台权,并且严格禁止任何使用,复制,披露或未明确书面许可的软件或许可协议。该软件仅用于或与对话半导体产品一起使用。雷竞技电竞平台雷电竞官网登录

EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES OR AS REQUIRED BY LAW, THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES OR BY LAW, IN NO EVENT SHALL DIALOG SEMICONDUCTOR BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE SOFTWARE.