本系列的几篇文章主要讲述"Bluetooth LE Multiple Connection",此SDK是Telink BLE多连接应用的SDK,所谓的BLE多连接就是蓝牙BLE芯片作为多主多从设备跟其他主机(一般是手机/Pad)和其他从机同时建立多条link连接的应用场景。
1软件架构
根据 Bluetooth Core Specification,⼀个标准的 BLE SDK 架构如下图所⽰,包含Application、Host和Controller。BLE 协议栈分为 Host 和 Controller 两部分。
Telink多连接SDK提供了BLE Multiple Connection Whole Stack全栈参考设计,实现了下图中的Host和Controller,Application Profile部分提供了简单的HID、SPP和OTA等参考示例,用户可以根据自己的实际需求丰富Application Profile来满足产品开发。
Telink多连接SDK还提供了标准的 BLE Controller,通过标准HCI与其他BLE Host配合,Controller架构图如下。
2拓扑结构
单连接SDK同时只支持单独的Slave Role或Master Role。
Telink多连接SDK最大支持同时连接4个Peer Slave和4个Peer Master(简称 M4S4),拓扑结构如下:
3实现原理-射频时分复用
Telink多连接SDK实现多条link共存的原理是射频时分复用。如果不同link在某个时刻发⽣了冲突,协议栈调度器会进行仲裁处理。整体时序如下图所示:
如果Advertising、Scanning、ACL Connection Slave Role、ACL Connection Master Role的任务同时存在,调度器会先分配ACL Connection Master、ACL Connection Slave、Advertising,然后在每两个任务之间的空余时间部分分配Scanning。
当存在DLE长包或More Data的情况,调度器会让ACL Connection任务触发时隙扩展,满足全时隙带宽利用。
4Feature介绍
1、Telink多连接SDK支持BLE 5.0 所有主要的Feature:
2 × 数据吞吐量:LE 2M PHY
4 × 传输距离:LE Coded PHY
8 × 广播数据量:Extended Advertising、Extended SCAN
周期性广播:Periodic Advertising
同步扫描:Synchronization SCAN
跳频算法2:Channel Selection Algorithm #2
2、每条link独立配置MTU/DLE。
3、每条link独立配置1M/2M/Coded PHY。
4、每条link支持到加密最高安全级别LE Security Mode 1 Level 4。
Master和Slave可以分开配置为两种不同的安全级别。
每个连接允许实际生效不同的安全级别:No Security、Mode 1 Level 2、Mode 1 Level 3、Mode 1 Level 4。
5、支持多连接状态下的低功耗管理。
5支持芯片
Telink多连接SDK支持 TLSR825x / TLSR827x / TLSR921x 三个系列的芯片,下图是支持芯片的资源情况。
Telink提供了2套多连接SDK,分别称为 Telink B85m BLE Multiple Connection SDK 和 Telink B91 BLE Multiple Connection SDK。TLSR825x 和 TLSR827x 系列使用B85m多连接SDK,TLSR921x系列使用B91多连接SDK。
可通过以下链接获取相应SDK:
http://wiki.telink-semi.cn/tools_and_sdk/BLE/B85M_BLE_SDK.zip
http://wiki.telink-semi.cn/tools_and_sdk/BLE/B91M_BLE_SDK.zip
6Demo
Telink B85m多连接SDK提供了6个demo。
b85m_demo提供M4S4 demo(支持低功耗suspend mode)。
b85m_controller提供 M4S4 Controller demo。
b85m_feature提供M4S4 Feature demo。
b85m_m1s1提供M1S1 demo(支持低功耗suspend mode + deepsleep retention mode)。
b85m_master_dongle提供M4S0 demo(包含USB Dongle)。
b85m_slave提供M0S4 demo(支持低功耗suspend mode + deepsleep retention mode)。
Telink B91多连接SDK提供了5个demo。
B91_demo提供M4S4 demo(支持低功耗suspend mode)。
B91_controller提供 M4S4 Controller demo。
B91_feature提供M4S4 Feature demo。
B91_master_dongle提供M4S0 demo(包含USB Dongle)。
B91_slave提供M0S4 demo(支持低功耗suspend mode + deepsleep retention mode)。
B91_feature和b85m_feature提供的feature demo如下。
7PM 低功耗
Telink芯片的低功耗模式(low power mode)⼜称 sleep mode,包括以下 3 种模式: suspend mode、 deepsleep mode 和 deepsleep retention mode。
deepsleep mode的电流很低,但是⽆法存储 SRAM 信息。
suspend mode的SRAM 和 Register 可以保持不丢,但是电流偏⾼。
deepsleep retention mode可以让 SRAM 的前 16K/32K/64K保持不掉电,剩余的 SRAM 全部掉电。电流比deepsleep mode高一点,但是比suspend mode小很多。
Telink多连接SDK低功耗实现原理:调度器根据相邻两个BLE任务之间的空闲时间长短来决定是否进入sleep。下图是Advertising、Scanning、ACL Connection Slave、ACL Connection Master任务同时存在时低功耗管理的示意图。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !