在线客服
客服热线
客服热线
js_thumb bannerPic
您现在的位置:
首页
/
/
/
SDK 8.1:引入 BLE 5.2/5.3 新特性

SDK 8.1:引入 BLE 5.2/5.3 新特性

Highlights:

  • 5.2 特性:路径损耗监测
  • 5.3 特性:功率控制(5.2 Core Spec 有缺陷)
  • 5.3 特性:减速(Subrating)模式
  • SDK 自动升级
  • 应用指南:蓝牙定位

1. 软件包

  • [新增] ING918xx Experimental (exp) 软件包 (8.1.0)

    为了保证软件包版本的稳定性,我们将这些新特性放到单独的实验性软件包里发布, 经过充分验证后再合并入其它软件包。

    Experimental (exp) 软件包同时包含私有扩展((8.1.5))。

  • [更新] 提高 CONNECT_IND 接收成功率 (8.1.1)

    提升作为从设备被主设备连接时的成功率。

  • [更新] 所有 Nim 模块已移动到 Smart Home Hub 示例内 (8.1.2)

  • [修正] L2CAP 的几个问题 (8.1.3)

    1. Central 角色不能正确响应 L2CAP_CONNECTION_PARAMETER_UPDATE_REQ

    2. Peripheral 角色不会上报 L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 事件

    3. 增加了一个新的事件 L2CAP_EVENT_COMMAND_REJECT_RESPONSE

    以上事件的使用请参考 UART GATT Console

  • [修正xxxx_request_can_send_now() 潜在的递归调用问题 (8.1.4)

  • [修正typical 软件包里的一个 HardFault (8.1.6)

    对于 ING916xx 的软件包,后续版本我们将考虑使用 Keil 5 编译。ING918xx 软件包仍将使用 Keil 4 编译。

2. 示例

  • [更新UART GATT Console (8.1.0)

    增加了几个相关命令用于演示 5.2/5.3 新特性。详细说明请参考“More Info”文档。

  • [更新Peripheral Ccnsole (8.1.2)

    增加 latency 命令,用来主动为 Peripheral Latency 参数赋值。

  • [更新UART GATT Console (8.1.3)

    增加 L2CAP 的相关演示。

  • [更新] Nim Smart Home Hub 现在作为 Gnu Arm Toolchain 示例存在 (8.1.2)

  • [删除] Nim Peripheral Battery (8.1.2)

  • [更新] 若干示例的文档 (8.1.2)

  • [更新Central CTE 增加 FOTA 功能 (8.1.6)

    通过串口为天线板下载/更新程序比较麻烦,因此添加了 FOTA 功能。

  • [更新LittlevGL: 加入对 ILI9488 的支持 (8.1.6)

    整理了 LittlevGL 里的驱动程序,加入对 ILI9488 的支持。通过编译开关设置显示屏类型:

    编译开关(宏) 说明 取值范围 默认值
    SPI_LCD_DRIVER 驱动芯片名称

    LCD_DRIVER_ST7735,

    LCD_DRIVER_ST7789,

    LCD_DRIVER_ILI9488

    LCD_DRIVER_ST7735
    LCD_WIDTH 显示屏水平分辨率 整数 128
    LCD_HEIGHT 显示屏垂直分辨率 整数 160

    在下列显示屏模块上做过测试:

    • 1.44inch SPI Module ST7735S (128x128)
    • 1.8inch SPI Module ST7735S (128x160)
    • 3.5inch SPI Module ILI9488

3. 工具

  • [更新] Tracer: 5.3 消息解析 (8.1.0)

  • [更新] Wizard 对那些不是 SDK 内置但是位于 examples 目录的工程作出提醒 (8.1.0)

    我们不建议将开发的新项目/工程存放于 examples 目录。现在当 Wizard 检测到这样的 项目时会加上一个醒目的标志,如下图所示:

    图片

  • [更新] Windows 安装包支持静默安装 (8.1.1)

    对于通常情况的 SDK 版本升级,带上 /silent 参数运行安装包,只需要点击一次鼠标就可以完成升级。

      ingchips_sdk_setup_v8.1.1.exe /silent

    当开发工具发生变化(比如更新了 Keil、Gnu 工具链)时,可以再用普通模式安装。

  • [更新] Wizard:移除了对 Nim 语言的支持 (8.1.2)

  • [更新] Wizard:添加在线更新功能 (8.1.2)

    当 Wizard 检测到新 SDK 版本时,会弹出 Online Update 窗口,点击 Update 按钮可直接完成升级。 Online Update 窗口里的版本号可以修改,不但可以自动升级,而且可以降级。

    图片

       禁用此功能: 如果开发者认为自动检查更新功能带来了不便,必须禁用此功能,那么可以在 ING_SDK\wizard\data 目录下创建一个名为 NO_UPDATE (无扩展名)的空白文件,然后重启 Wizard。

     

  • [修正] AoX 工具:命令行解析、去掉无关的 printf (8.1.2)

  • [更新] Trace:增加当前帧(5 秒) RF、协议栈负载统计功能 (8.1.3)

    下图中, RF 负载为 69.7%,就是说 RF 部分 69.7% 的时间里一直在工作;TASK 负载为 5.5%,就是说协议栈的两个任务共占用 5.5% 的 MCU 处理时间; ISR 负载为 1.8%,就是说中断处理程序共占用 1.8% 的 MCU 处理时间。

    图片

    这个统计功能可以辅助分析问题,例如:

    1. RF 负载较低导致扫描到的广播较少:需要检查扫描参数是否合适;

    2. 协议栈负载过高导致系统不流畅:需要检查代码是否可以优化;

    3. 中断负载过高导致系统不流畅:需要将复杂处理转移到 RTOS 的任务里。

   说明: 用于 log 可以会丢失,所以以上统计数据可能偏小。一部分 ISR 负载可能被再次统计到 TASK 负载里。
  • [更新] Wizard 的代码生成:Keil 启动文件兼容 MicroLib 及标准 Lib (8.1.6)

    现在 Wizard 为生成的启动文件兼容 MicroLib 及标准 Lib,方便开发者使用标准 Lib、C++ 语言。

4. 文档

  • [新增] 应用指南:蓝牙定位 (8.1.4)

5. 新特性解析

路径损耗监测

BLE 5.2 为路径损耗定义了 3 种分类(或者分区,zone),高损耗、中损耗和低损耗。Controller 监控损耗情况,当损耗分类发生改变时,上报 HCI_SUBEVENT_LE_PATH_LOSS_THRESHOLD 事件。 开发者可以响应这些事件,比如调整发射功率。

各分区的门限通过 API gap_set_path_loss_reporting_param 指定。

功率控制

对于本机的发射功率,SDK 已经提供了链路层 API ll_set_conn_tx_power。现在, 链路层新增了可以调整对端发射功率的 API ll_adjust_conn_peer_tx_power

联合上述两种功能以及 gap_read_rssi,开发者可以设计合适的功率自动控制方案。 UART GATT Console 里演示里一种简单的自动控制方案。

减速(Subrating)模式

试想,当主或从设备没有待发送的数据时,是否有办法节省功耗? 答案是肯定的:1) 更新为较大的连接间隔;2) 跳过一部分连接事件。

对于外围设备(从设备),这种 跳过 功能,就是 perirpheral latency (slave latency)。 中心设备(主设备)可以 跳过 吗?如果 perirpheral latency 为 0, 中心设备也是可以 跳过 的。 但是如果中心设备和外围设备都 跳过 就有问题:跳过的节奏不一致,通信中断。

减速(Subrating)模式其实就是为中心设备和外围设备定义了一种统一的节奏,保证通信的持续性。

图片

图片

减速模式与调整连接间隔相比,灵活敏捷,反应迅速,优势明显。 减速模式和功率控制一起,在保证服务质量的前提下,可以明显降低连接状态下功耗。

   关于 Perirpheral Latency: 目前除了 Windows 以外, Android、 iOS/macOS 皆未提供 Peripheral Latency 的相关接口。 当蓝牙设备被 Android、iOS 连接时,此参数往往为 0。开发者可以通过 ll_set_conn_latency API 主动为 Peripheral Latency 赋一个非 0 值。 具体数值需要综合考虑功耗、连接响应速度、连接稳定性等因素。
imgboxbg
SDK 8.3:更新说明
Highlights
1、ING916: USB 下载器
2、新增《开发者手册:低功耗》
3、mini 软件包
SDK 新工具:Cube
SDK 新工具 Cube 是一个图形化的初始化代码生成器,可为各种芯片型号生成 C 代码。

快捷导航

客服热线
服务时间:
-
客服热线

联系我们

客服电话:010-85160285

客户支持:service@ingchips.com

 

简历投递:hr@ingchips.com

公司地址

北京:北京市海淀区紫金数码园3号803

上海:上海市浦东新区祥科路58号炬芯大厦A座3层316

深圳:深圳市南山区科技园曙光大厦1009

技术讨论群

开发者网站

Github

版权所有:桃芯科技(苏州)有限公司  苏ICP备2022018764号-2       网站建设:新网