Telink BLE多连接应用的SDK简介

描述

本系列的几篇文章主要讲述"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来满足产品开发。

SDK

Telink多连接SDK还提供了标准的 BLE Controller,通过标准HCI与其他BLE Host配合,Controller架构图如下。

SDK

2拓扑结构

单连接SDK同时只支持单独的Slave Role或Master Role。

SDK

Telink多连接SDK最大支持同时连接4个Peer Slave和4个Peer Master(简称 M4S4),拓扑结构如下:

SDK

3实现原理-射频时分复用

Telink多连接SDK实现多条link共存的原理是射频时分复用。如果不同link在某个时刻发⽣了冲突,协议栈调度器会进行仲裁处理。整体时序如下图所示:

SDK

如果Advertising、Scanning、ACL Connection Slave Role、ACL Connection Master Role的任务同时存在,调度器会先分配ACL Connection Master、ACL Connection Slave、Advertising,然后在每两个任务之间的空余时间部分分配Scanning。

SDK

当存在DLE长包或More Data的情况,调度器会让ACL Connection任务触发时隙扩展,满足全时隙带宽利用。

SDK

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 三个系列的芯片,下图是支持芯片的资源情况。

SDK

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)。

SDK

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)。

SDK

B91_feature和b85m_feature提供的feature demo如下。

SDK

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任务同时存在时低功耗管理的示意图。

SDK

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分