TI教室 >
产品 >
无线连接 >
基于 CC2642 蓝牙 5.0 的应用,以及 TI Simplelink 学院动手实验 > 基于 CC2642 蓝牙 5.0 的应用,以及 TI Simplelink 学院动手实验
- 课程目录
- 相关资源
- 课程笔记
今天下午我们先来讲一下蓝牙5
大家可以在装那个软件的同时
来看一下我们蓝牙5有什么新的功能
然后蓝牙5
蓝牙5的话我会从下面五个方向
来跟大家说一下就是蓝牙5
我们可能会支持什么东西
如果要做蓝牙5的开发的话
我们会需要哪些东西
下午在讲完了之后准备去做一个Hands On
然后给大家看一下
我们的SimpleLink Academy这边有些什么东西
可以给大家看一下
然后大家如果在Hands On这边
没有做完的话 没关系
回去之后这个是一个open的
所以大家可以在家里面
只要有网络连接的情况下
都可以去访问那个SimpleLink Academy
然后继续把这个demo做完
好 现在我们先来看一下蓝牙5
我想问一下在座有多少人
是做过BLE的支持的 以前
可以举手示意一下
没有人吗 好吧
这样啊 如果是没有做BLE支持的
我就多讲一些跟基本网络相关的
一些功能可能多讲一点
大家如果以前做过的话
我可能就会讲得快一点
好 那我来讲一下
BLE5就是蓝牙5
蓝牙5是这样的
大家以前用过传统的蓝牙
传统蓝牙
最popular的一个应用
就是蓝牙耳机的应用
在很多年前蓝牙它的定义
就是说要把所有的设备
全部都用无线的方式连接起来
跟人相关的设备
全部用无线的方式连接起来
那在这种情况下面
在它的这个应用上面
它定义了很多层的不同的协议栈
在这个协议栈里面
最 最 最popular的一个应用
就是蓝牙耳机
一开始的时候是单声道的
那种就是蓝牙耳机打电话
然后后来变成双声道的
蓝牙耳机听音乐
这种的应用全部都是传统蓝牙的应用
就是我们叫Classic Bluetooth
应该是在四 五年前
那个蓝牙组织在Classic Bluetooth的基础上
加了一个BLE
BLE它其实也是在那个协议的里面
但是它和传统蓝牙
就是4.0以前的蓝牙
其实是不兼容的
你看到的有蓝牙3.0
蓝牙high speed
这个是蓝牙一开始传统蓝牙的发展
然后后来它有把BLE加进来之后
蓝牙4.0加进来了之后
它其实是一个低功耗蓝牙
所以它就是蓝牙协议的
不同的一个分支
这个分支和传统蓝牙是不兼容的
所以大家首先在今天下午的
这个课里面要搞清楚
蓝牙和传统蓝牙
蓝牙分传统蓝牙和低功耗蓝牙
这个是两个不同的概念
所以我们现在看到得很多
比如说小米的手环
然后你可以看到一些
比如说别人跑步的时候
用的那个心率的
然后在家里面的时候
有一些蓝牙做的遥控器
小米的遥控器
上面打了一个蓝牙的那个标志的
都是低功耗蓝牙的产品
低功耗蓝牙就不是标准蓝牙
因为低功耗蓝牙和标准蓝牙的区别
在于以前耳机就是大家知道双模耳机
什么双模 就是传统蓝牙的那个耳机
双声道的耳机 它是需要充电的
你可能听一天的电 然后电就没有了
你要再继续充电
但是低功耗蓝牙
它标榜的就是功耗超低的蓝牙
所以它可以通过纽扣电池供电
达到很长时间
如果大家有用过
小米的蓝牙遥控器的话
大家就知道它其实里面
就是一个CR2032的电池
然后可以用一年以上
所以这个是低功耗蓝牙
和标准蓝牙最本质的一个区别
那它在协议上面
因为它要达到低功耗
所以它做了很多修改
所以它在协议的兼容性上面
它和传统蓝牙是不兼容的
这是大家两个概念大家要知道
然后在这个完成之后
到Bluetooth 5是去年的时候
就已经有这个概念了
然后TI声称自己是Release Bluetooth 5
最早的一家公司
当然现在也有很多公司
都开始陆陆续续Release
蓝牙5
它在低功耗蓝牙上面的操作
在这张图上可以看到
第一个是四倍的距离
第二个就是两倍的通讯速度
第三个就是800倍的一个广播包
发送的那个信息的一个
就是广播包发送信息的一个量
所以它在这个上面
蓝牙5.0其实主要就是低功耗蓝牙
在以前就是基于4.0的蓝牙
它有一个非常大的
在这三个点上面它是有一些改进
因为我们主要的题目是蓝牙5.0
因为这个SIG组织也是说蓝牙5.0
是以后未来的发展方向
所以它可能想要干掉ZigBee
干掉一些其他的网络应用
所以也是跟其他网络应用做一些区分
可能在这几方面会进行一些加强
所以这个是蓝牙5.0在这几个特点
这节课大家一定要知道
好 具体的来看这四个特点是怎么做的
所以蓝牙5.0它有三个不同的mode
一个是Long Range Mode
一个是HigherSpeeds
还有一个就是Broadcasting Capacity
所以这个就是Long Range的话
它是用code的方式来做的
也就是说如果回头
大家看到一个蓝牙4.0的设备
它是不可能跑蓝牙5.0的协议的
原因在于说就是在Long Range mode这边
它是通过IF code这边做编码的方式
来实现这个长距离的数据传输
所以它是底层的
你可以把[indiscernible]这边
直接做的一个特殊属性
也就是说你如果是4.0的蓝牙设备
你必须升级硬件
你才可以支持5.0的这个应用
这个是Long Range mode我在后面会具体讲
到底Long Range mode是怎么实现的
我们再看一下higher speeds
它的这个通讯速率
modulation是达到以前的两倍
它因为以前的蓝牙
都是在GFSK一兆的这个调制模式上面的
所以现在它在蓝牙5.0上面
它加进来了一个两兆的通讯模式
所以做IF的就知道我同样的时间内
我的通讯速率
相当于从一兆变成两兆之后
我的data rate肯定会提高
所以这个是通过这种方式来做的
然后八倍的传输速度
这个是蓝牙协议软件实现的
就是蓝牙协议在广播包里面的时候
以前广播包最长是31个byte
现在它把这个东西加进来了之后
它可以传非常长的一个数据包beacon
所以在一些beacon应用的时候
就是蓝牙广播的这个数据应用的时候
它这种广播的数据包它可以加进来
这个后面具体实现
我也会具体跟大家说是怎么实现的
所以在蓝牙5.0
它把这些功能加进来了之后
它的应用范围会变得比较广
那在蓝牙4.0这边的情况
就是BLE的这种情况
其实做的最后就是穿戴设备
遥控器这个是量比较大的
然后应用比较多的
那种小的那种智能设备
低功耗蓝牙我看到的比较有意思的应用
就是有一年的2014年的CES展上面
最佳设计设备
很多都是围绕着BLE的应用来的
然后在那个应用上面
有人把它做在养花草一个设备里面
把那个花草一样插到花盆里面
它就是通过低功耗蓝牙和手机连接
然后它就去监控这个土壤的温湿度
然后告诉你这个花
是不是适合这个花生长
然后就来养花 就是应用
就是智能养花的一个应用
然后做的很有意思
就是BLE有很多
这种很有意思的应用
然后现在在BLE5.0
这样做了进阶之后
那么它就有非常多的一些应用
加进来了
所以可以看到下面
比如说Home Building Automation
这个其实就是和早上的15.4的
其实是有一些重叠
你会发现在无限的网络连接里面
很多应用都是重叠的
就有的应用可以通过BLE来做
也可以通过15.4来做
也可以通过ZigBee来做
那其实就是要看你具体这个应用中间
有些小的区别是在什么地方
所以在这个上面列出来的
其实是有很多
比如说我在工业方面的E-meter sensor
或者Power Tool用BLE
然后在家用家电的时候
它用BLE其实主要的方式
就是它的优势在于
它可以跟手机进行通讯
所以BLE和其他的网络连接
它的优势就在于它可以非常简单地
用简单的自己的协议
就和手机进行数据连接
然后人就可以
根据通过这个手机来控制某些设备
或者看到某些设备的状态
所以这个是BLE
能够给使用者提供的
我觉得是和其他的网络连接
最大的一个区别
这个就是蓝牙
好 下面我们来看一下
蓝牙5.0的一些use case
刚才跟大家讲了一下
就是它引进了三个新的网络特征
那么我们看一下
在引入新的网络特征之后
它会有一些什么样的
新的应用可以引进进来
首先是door lock
就是这个话可能是老外的房子比较多
我们国内的房子可能就不需要这么远
但是这只是一个例子
就是如果我是在蓝牙的这个门锁上面
它是一个BLE的门
那么这个BLE的门
我其实是直接可以跟手机进行通讯的
因为我现在是
就是它是一个
如果这个门锁是一个
bluetooth4.0的设备
那它是可以跟手机通讯的
但是它的通讯距离就比较近
就是比如说我们是在客厅里面
那我肯定要人走到客厅这个范围内
然后我才可以跟我的门锁连接上
在这种情况下
我才有可能去对我的门锁进行操作
但是如果你把5.0的应用加进来
也就是说它本身的通讯距离
long range的这个通讯距离加进来
它本身long range我们老外在
我们的BU在挪威
就是做BLE的这个BU在挪威
然后他们曾经在5.0的long range
刚做出来的时候拉了一个距
等一会在后面可以看到
就是它有一个video
当时video拉出来的通讯距离
是16公里
就是这一侧是在接收端跟发射端
是保持连接的状态
然后他们就一个人在冰面上面滑冰
另外一个人就到远处去爬山
爬到山顶上面那个连接还在
然后最后回来
google map上面拉一个距
16公里
所以这个就是
当然挪威的环境非常
就是不像中国国内的环境这么嘈杂
4G的环境比较嘈杂
所以拿到国内来说的话
如果是家庭应用
家庭这个房子可能500米
不到100米肯定是可以
就是实现这么个连接的
所以如果你的手机
是支持5.0的手机
如果是在一年前
可能只有三星的有一款手机是支持的
那到现在iPhone8
和iPhone X
都是支持5.0的
所以现在越来越多的手机
开始支持BLE
5.0之后你如果你的设备
是支持BLE5.0的
你就可以在家里的任何地方
去操控你的门锁
如果是在这个应用中
所以这个就是很典型的一个
就是long range mode的一个使用场景
那么在另外的一些使用场景中
同样的把它从门锁[indiscernible]out出来之后
你可以看到比如说家电
在家里就是家电
它是可以有BLE5.0的操作
你不需要有gateway
你不需要通过像早上说的
如果你是Sub-1G做的
那么你还需要一个gateway
把它从Sub-1G的网络桥接到wifi网络
然后wifi网络
再通过GPRS到你的手机
最后你通过手机
你要走一个这样的
通过Cloud走一个数据回路
然后去控制你家的电冰箱 洗衣机
但是如果你是用BLE的话
你可以直接实现这个功能
就直接去连接
然后对它进行控制
所以这个是BLE5.0
就是蓝牙5.0long range
它和就是LT这个应用的一个区别
所以反过来还是强调说
很多的无线应用都是可以实现的
只是说看什么样的应用就满足
你对应用的这个需求
特定应用的一个需求
那么这个地方也列了
还有其他的一些
比如说在工业中间的话
sensor network也可以通过蓝牙来做
那这个地方的瓶颈
就是说它在建立连接的时候
它的那个连接数量是有限的
就是如果你是和15.4来比
15.4 200个
那你的BLE的连接
用手机连的话最多十几个
所以这个也是一个限制
好 看下面
下面就是还有
第二个 就是刚才说的是long range
那如果是在advertising extension这边
就是所谓的广播包
括展广播包的这个应用上面的话
扩展广播包它的意思是这样
就是刚才有提到广播包的话
它在蓝牙协议里面定义的
就是广播包里面可以携带一个广播的
就是客户自定义的数据长度
那这个数据长度在以前的
通讯协议里面规定的是31个byte
31个byte可以写什么东西
基本上你写一些自定义的名字就没了
然后像以前的beacon的应用的话
它是直接办直接用这31个byte
去写那个link
就是写一个网络地址
比如说我在万达商场里面逛商场
然后我走到一家店门口
然后这个店要打广告
然后它给我推送了一个beacon
然后这个beacon里面我应该写什么东西
能够包含我的数据
它就会推送一个link给你
那个link就是它的一个广告页
所以它会给你一个手机推送的
这么一个数据
然后你看到这个数据之后
你直接就link到
就是你点了这个之后
你其实去打开一个网页
那个网页就是它推给你的广告
一般的那个应用是这么做的
那如果你是在现在的
就是advertising extensionuse case里面
就是你如果加长扩张广播包来用的话
因为你就不会受这个31个byte的
数据限制
你可以发256个byte或者更长的
数据byte
那你也就是说你可以包含
更多更多的数据信息
你可以把你的所有的有用的东西
全部都直接写在你的那个广播包里
那这种情况下就不需要客户很麻烦的
我点了一个link
然后那个link上面有什么数据
它就直接可以通过手机上面就拿到
那这个beacon是这样的
在IOS设备上面叫iBeacon
它是有一定的数据格式的
然后在Android设备上面叫beacon
它其实都是基于Bluetooth的这个广播包的
这个协议的数据框架来做的
那么不同的这个应用
都会支持不同的东西
所以现在就是相当于是说
给客户开放一个可以携带
更多数据信息的一个广播包来给你
所以在这种情况下
你在应用上面就不会像以前
那么麻烦了
这个是advertising extension的例子
好 下面就是faster data transfer
这个主要就是我们以前在蓝牙的
就是BLE的设备里面的话
用的最多的就是蓝牙与语音遥控器
就是大家如果用过小米的遥控器的话
或者是比如说海信的遥控器
它们做遥控器的时候
它会有一个功能
就是你按住一个按键对它说话
然后它会把你的语音录下来
然后发到电视端
发到电视端之后
电视端上面会有一个
就是语音识别的系统
然后比如说我说开机
或者说选频道
多少频道或者是选游戏
因为现在都是智能电视
你可能会有一个短的那个命令进去
然后它把这个打出来
打出来之后它可能会直接link到
自己的一些
就是电视机的那些操作
那这个功能其实就是通过BLE
单项的从手机 从遥控器
发一段语音发到电视机端
这么一个功能
但是单向的而且只是语音
大家知道语音的那个采样频率
是非常低的
就是相对而言
如果你是用BLE的通讯速率
因为BLE通讯速率是不那么高
就是它因为要做低功耗
所以根据早上的那个知识点
就是如果你要高的通讯速率
就是你必须要以非常高的
就是功耗来作为代价
那如果BLE是怎么做到又低功耗
然后又能数据传输
它只能是说牺牲掉这个通讯速率
这个点来做
所以它的通讯速率不高
但是它可以支持单向语音数据发送
在BLE5.0里面它是两兆的
通讯速率
所以两兆的调制模式
所以在通讯速率的情况下
它可以支持到基本上可以达到两兆
就是达到以前的通讯速率的两倍
从那个原理上面
就是从原理这个上面来考虑
不是实际的情况
只是从原理上面来分析
它应该是可以达到以前的两倍
所以在这种情况下
它可以实现双向语音通讯
那么在这种情况下
你就可以实现比如说双向的
从遥控器到手机
遥控器到电视机的一个语音传输
这是一个
第二个你可能可以实现一个比如说
媒流体播放器直接到遥控器的
一个数据传输
那么在这个时候
其实就是有一些比如说对讲机的功能
我们比如说不要把它局限在手机
遥控器和电视机的这个里面
您可以把它在思想再打开一点
可能在比如说对讲机
室内对讲机的这种情况下面
是不是也可以来做
所以在这种情况下
大家可以来想一下
就是在语音上面在BLE5.0上
可以传输更多的东西
好 再看一下faster data transfer的use case
还是在industrial这边
那在industrial这边
它是有更快的这个数据传输
所以有一些
比如说数据量比较大的情况
就是以前如果数据量小的话
比如说我们做OAD升级的时候
BLE如果256K的数据升级
得要一分多钟才能够把这个
就是256K的数据全部发送到手机
而且这个是非常快的通讯速率的
情况下才可以完成
那如果我用high speed来做的话
那我可能一分钟都不要就可以完成
那也就是说比如说我传一个
大一点的数据
比如20K或者10K的应用
在应用场景里面
这个时候对于使用者来说
他就会觉得我可以接受
这样一个等待时间
否则的话比起wifi
它可能这个功能
他就会觉得比较蹩脚
好 这是一个应用在工业方面
然后在其他的方面
比如说指纹识别方面
指纹识别大家知道数据量会比较大
那这种大的数据量传输以前和那个
以前是不能用Sub-1G
或者其他的方式就BLE无线来做的
那现在如果是高的数据传输的话
它是可以来做的
所以它就会有一些比如说数据支付
然后指纹的这种security的
需要大数据量传输的东西的时候
它可以用这个BLE来做
好 然后给大家讲一下TI的solution
今天早上杨杨这边给大家介绍的时候
是有这个road map
但是那个是三二的
然后我们在二六
就是二六和Sub-1G这边的road map
大家可以看一下
就是灰色的这部分
是我们现在已经量产的芯片
然后在1G以下部分的话
是有1350
1350是dual band
就是它支持1G以下和2.4G一起
所以它的下一代产品是1352
这个1352就是
早上有说它是concurrent mode
可以同时支持BLE的全功能连接
和Sub-1G的网络通讯
这个是1352
它现在处…就是第二
就是蓝颜色为底的这个
它是现在已经可以sampling
然后到今年年底的时候可以量产
所以大家如果想要开始sampling
除sampling之外
它的那个demo版也可以拿到
然后SDK也都在网上是发布的
所以等于说是
现在的开发就已经可以基于这个来做
然后等到量产之后
可以跟产品同步的进行数据量产
就是产品量产
然后后面还有一个1352P
就是加这个PA的
这个PA可以加到两点
它是就是芯片自带PA
所以它等于说是会有一个20DB output
以前的话2642的output
应该是5个DB
然后1352加进来之后
它可以选择
是在Sub-1G上面加20DB的PA
还是说在2.4G上面加20DB的PA
就是外围的那个设计会有一些不同
所以在这颗芯片上面
就是一个内置PA的一个问题
所以整个看下来的话
在BLE这边的话
我们现在是有2640IQF
然后有一个Q版本的
就是如果大家有汽车的客户
想做BLE的设计的话
你可能需要选一个
就是已经过了汽车Q100认证的
2640IQFQ的一颗芯片
那就是这是单独的2640的
然后2650的MODA是一个module
就是TI自己的一个module
2650的一个module
然后这个可能在国内用的人不太多
然后在2.4G私有信息这边的话
还有那个ZigBee Thread这边的话
是2630 2650
然后大家可以看到pin to pin的话
是7乘7的那个封装的话
它是这样直接过去
2640对2642
然后2650对2652
直接pin to pin的
所以这个是我们一个
在2.4G这边的一个roadmap
然后看一下SDK
刚才我有跟大家说
就是你要下载SDK之后
看一下自己的板子
如果是在2.4G这边来做
SDK支持的话
就有两颗芯片可以支持
一个是26X2的SDK
一个是1352SDK
然后你根据你自己的板子
下对应的SDK来安装
我们就等于用2K来做这个
BLE的demo
来讲一下Technical detail
就是它到底具体在协议里面
是怎么实现的
Bluetooth5的Long range它其实是会有一个口
它叫LE的coded PHY
就是它有两种就是标准的LE的
那个调制方式是1兆
然后它通过一个
就是比如说两个比特代表一个比特
就是用两位来代表一位的这种方式
来数据传输
这样的情况就是相当于
自己含了一个纠错的能力
那么它这样的话
它就可以增加那个sensitivity
所以它就可以增加磨耗
增加那个距离
在这种情况下
就是500K的通讯速率
因为它本来是1兆的
然后它现在里面
每两个比特代表一个比特的数据
所以它就相当于数据减半
就是1兆除以2就是500K
所以是这么这么来算的
还有一种就是1:4
就是它后面这个其方式有写
就是0就是通过0011来表示
然后1通过1100来表示
那么在这样的情况下
它就相当于是
4个byte来纠错一个byte
这样的话它的sensitivity
就会比500K的更高
但是它的通讯速率就降更低
就是它coded了之后
就是125K的data rate来做数据通讯
所以就是就变成了
就变了
就变成125K
所以这个就是在long range mode的时候
就有两种通讯速率可选
一个是500 一个是125
这个地方在代码里面是可以配置的
我们在后面的Hands On里面
也是可以有提到
如果大家有这个兴趣的话
可以看一下Hands On里面怎么做的
那这个是long range的基本的实现方式
好 刚才有说就是我们挪威的同事
做了一个非常令人亮眼的
long range的一个demo
大家到时候有兴趣的话
可以通过访问这个网站去看一下
这个网就是这个training的
这个video是在网上
TI官网上面是公开的
然后你们可以看到就是
他们实际去拉距的时候
最后实现的那个就是16公里的这个
最后一个那个结果
好 下面就是讲一下
high speed是怎么实现的
high speed的话
就是刚才其实有提到
我们其实就是通过
一个两兆的通讯速率来做的
其实大家从下面的这个
历史的这个图就可以看到
Bluetooth4.0 4.1的时候
就是一兆bps的PHY
PHY 其实就是所谓的底层的物理层
物理层它实现的那个数据就是一兆
然后它是27个byte的PDU
然后在Bluetooth 4.2里面
它加了一个功能叫data extension
所以它可以在某种情况下面
如果你两边都是4.2的设备
它可以扩展就是有一个数据扩展
那在数据扩展的情况下面
它的PDU可以达到255K
而255个byte的PDU
所以它也就相当于是
我本来一个byte一个数据包
只能传27个byte的数据
那我就把这个数据扩展使用上了之后
就相当于我的一个蓝牙包
可以带255个byte payload的
所以它就相当于是说我在同一时间内
可以传更多的数据
因为你相当于是
蓝牙的通讯的那个协议
它做到低功耗的原因就是
它通讯一下之后休眠
再通讯一下之后再休眠
所以它的那个占空比
实际上是比较低的
所以它可以达到功耗
就是平均功耗会比较低
所以你就可以想象出
它其实要等到每一次我就是真的
要开始进行数据连接的时候
要进行数据通讯的时候
我才会进行就是才会进行数据收发
那我如果每一次收发
只能收发27个byte
那我的通讯速率肯定是比较低的
那么如果我用Data Extension的话
就相当于是说
我在同样的时间间隔里面
每一次收发的数据会比以前要长
那这样的话data rate就会高
所以这个就是通过这种方式来
最后它可以达到最高
780个KBPS的一个通讯速率
这个是按平均的这个时间来算
那么在BT5.0里面
它可以用到两兆的PHY
所以就是在物理连接上面本身的那个
这个PHY它就已经提供给你就是两兆
那它在这个双倍了这个之后
那它还是可以用以前的一个Data Extension
那它本身的这个通讯速率的话
就会达到1.4兆
所以这个就是它高速的一个原理
好 再看一下high speed
所以刚才有问题
就是说我刚才一直在说
是不是可以真正达到两兆
达到两兆其实只是一个算出来的
就是说因为我本身以前的通讯速率
是一兆 以前的那个data rate是一兆
我现在的data rate是两兆
所以情况理论上
我是能够达到以前的两倍
这是简单的算
但是实际上是不是真的可以达到两倍
其实是不行的
原因在于什么地方
大家可以看到下面画的这两张图
上面那张图是一兆时候的传输的方法
下面这张图是两兆的时候传输方法
它中间会有一个就是在每一个包
就是这个传输的时候
其实就是传两个包
然后黄色的这部分就是传第一个包
然后蓝色为底的那个地方传第二个包
大家你看就是它在传两个包之间
它一定会有一个150微秒
左右的一个就是slot 它是一个间隔
它一定会有这么一个间隔
所以在这一部分的占空比
是不能变的 也就是说
我虽然是以1兆的速率在传输
然后我虽然是以2兆的数据传输
你看下面这个图它是2兆
所以它比较起来的话
如果只是传同样长度的数据的时候
它的这个数据长度
是可以是之前的一半
但是这个间隔
150微秒的这个间隔
是没法儿变的
也就是说它的这个速率
其实是达不到真正的两倍
因为它会有一些网络的方面的
为了维持网络方面
它会有一些这方面的消耗
所以有些间隔它是不能变的
不是说我100%的1/2的占空比
就直接除出来
所以它理论上是可以达到两倍
但实际上最后出来就是1.4兆
这就是原因
好 下面讲一下那个advertisement extension
advertisement extension是这样
就是在广播包上面
蓝牙的广播是这样的
蓝牙它有39个信道 通讯信道
然后这个通讯信道的定义
就是和wifi是有一部分是重叠的
wifi的通讯频段也是2.4G
蓝牙的通讯频段也是2.4G
然后它为什么会选37 38 39
3个信道作为广播信道
原因这37 38 39
3个信道它是避开
就是避开wifi已经使用的信道
最远的两个可能比较干净的信道
所以它把它作为一个广播信道
因为所有的蓝牙的连接
都是从广播信道的广播开始的
广播信道的作用就是
当一个设备可以使用的时候
它要在广播信道上发广播
告诉对方设备
我在这里你可以来连接我
或者是我有数据
你可以到这个广播信道上来找我
所以这广播信道它的干净程度
受干扰程度
直接影响到BLE它的连接可靠度
或者说最后BLE使用的这个可靠度
所以它为什么要选37 38 39
这3个信道的原因就在于
这3个信道将相较于wifi来说
是最干净的3个信道
他们离wifi的那个频点最远
好 这是广播信道
这是在BLE
传统的BLE的广播包是这样做的
然后它这个传统的广播包里面
还有一个特点 就是这上面写了
PHY必须是1兆的PHY
因为在BLE5.0之前
就BLE4.0
BLE4.1的时候
它的那个PHY
都是一兆BPS的PHY
所以它是必须是在
这个PHY的基础上来做
然后它的payload
我刚才说是31个payload
这上面写的是PDU
PDU是它把它的一些那个Link Layer L2CAP
这个link的一些网络包的那个
数据包也算进去了
所以从PDU上面来讲的话
它是可以算成37
但实际真正的payload的话是31
好 这个是我刚才已经解释过 好
然后这个是传统的
那在新的广播包的这个里面
它是加进来了新的不同的Command
所以我们如果是要讲它的原理的话
从下面这个图上
可能会看得更形象一点
首先看下面那个图上面的前面
是粉红色的这3个框框
3个方框就是它要在
37 38 39 3个信道上面
轮巡的去发送广播
所以它是轮巡的37 38 39
37 38 39默认的
就是这样发的
所以它后面的这个灰色的部分
就永远都是payload
所以它要先发一个广播头
然后发payload
然后在37 38 39
3个信道上面来发送
好 这个是一个传统的
BLE的广播是这样
那后面的发3个蓝颜色的框框
是什么意思呢
蓝颜色的这个框框就是
它会发这个ADV EXT IND
indicate这个command
它的意思就是说我会在其他的
信道上面来发长的数据包
它在这个里面只发一个header
告诉你 你下一次来什么时间点
到哪一个信道上去接收
我的真正的payload
它其实是这么来做的
所以他就在
37 38 39三个信道上面告诉你
只发广播头
告诉你赶紧到其它的信道上去来做
因为以前的广播包
只能在37 38 39三个信道上发
但是在新的蓝牙5上面
它这个广播头是可以在
37 38 39三个信道上发
但是真正的payload
它可以发到其它的信道上去
所以它这个地方只是发一个头
就是发一个point的指针
告诉你说你去哪里去读
然后我在那个信道上真正的发数据
它通过这种方式来
还是我们把这个叫
就是它到data channel上面去发数据
所以data channel上面是可以发大数据的
然后广播信道还是发广播的数据
所以现在在蓝牙5.0上面的话
就是它把data channel上面也可以发广播数据
只是发有效的广播数据
它把这个功能加进来了
所以在这种情况下面它就是告诉你说
我们可以实现一个大数据量的
广播包的传输
所以它在这个上面的话就是有
除了刚才那个command之外还有
刚才介绍是ADV EXT Indicator
这个就是告诉你是广播包的一个指针
然后下面的那个AUX ADV Indicator
是真正的知识有用数据
就是它其实是在后续的
就是在data channel上面发送的
真正有用的广播数据
然后还有两个
一个是AUX SYNC Indication和AUX CHAIN Indication
这两个SYNC应该是不支持的
在2640IQ上面
然后CHAIN是支持的
就是它可以把数据链起来
也就是说我一个包可以发248个BYTE
但是我还可以把它Chain
比如说我要发500多个byte的数据
我可以有一个队列的方式
然后我第一个包发这么多
第二个包发这么多
我以一个队列的方式把它串起来
那在这种情况下
你就可以通过这个AUX CHAIN的方式来实现
那它总共就是扩展广播包
是通过这四个command
一共通过这四个command来实现的
好 大家可以看一下
就是刚才这样说可能有点不形象
所以大家可以看一下那个标一的sniffer
就是我们的抓包工具上面的刷包
就是有一个叫Ellisys的Tracker这个是我推荐
如果客户想要做BLE的开发
然后想要做应用的话
我们推荐就买这个
当然这个设备可能很贵
可能几万美金一台这样的设备
然后这个是这个设备
对这个协议最后
就是对我们的2642抓包之后
出来看到的一个结果
就是大家可以看到
我刚才说有39个信道
就是BLE有39个信道
全部都是在最左边的这个上面画出来
2042开始是37A
然后2427这个channel这个频点是38A
然后2480这个channel是39
就是37 38 39三个广播信道
然后大家可以看到在一开始的时候
我是有一个连接的
就是大家可以看到连接的这个
连到一起的就比较长的
就是其实是一个握手
就是我这个时候
蓝牙其实是连在一起的
然后它们是在2407的
这个信道上面进行数据通讯
然后在这个时候它断开连接了
断开连接之后
就设备回到了一个广播状态
在后面的
就37 38 39三个信道上面
进行数据广播信道的广播头的发送
就是刚才看到的广播头
就是刚才ADV-EXT-IND的这个
它就在这37 38 39上发了一个头
然后告诉它们
我真正要发的数据的广播包980
课程介绍
共计1课时,41分40秒
基于 CC2642 蓝牙 5.0 的应用,以及 TI Simplelink 学院动手实验
蓝牙5.0技术的发展带来了更远距离,更高速度和更多数据的网络特征,使得蓝牙5将在更多场景中提供便捷应用,例如智能家庭、智能楼宇、医疗健康、零售物流、汽车、工业领域。TI SimpleLink CC13xx/CC26xx软件开发套件(SDK),提供了丰富的基于蓝牙5的软件应用示例和文档,可以快速上手,加速产品应用开发。更加吸引人的是,软件开发套件还包含了并发执行的多协议,多频段的软件应用示例,在不增加额外平台移植整合工作量的情况下,为网络应用多样化提供可能。通过动手环节,大家还可以一起体验TI为开发者提供的强大的线上支持文档,步步引导,从入门到精通。
展开
猜你喜欢
换一换
推荐帖子
- DSP的雷达测速监控系统的设计
- 目前,车辆测速方法主要有线圈测速、光电式测速、雷达测速、视频测速等。线圈测速多为埋设式,车辆通过线圈时,会引起线圈磁场变化,检测器依此计算出车辆速度。线圈在安装或维护时必须直接埋入车道,安装过程中会暂时阻碍交通,且维护时容易使路面受损,线圈也易受到冰冻、路基下沉等因素的影响,当车流拥堵时,检测精度会大大降低。光电式测速在低速测量时精度较高,但时...
- Aguilera DSP 与 ARM 处理器
- MSP430学习的第一个模拟I2C程序
- #include <msp430.h> unsigned char I2CBUF; unsigned char checkbit; #define SCL_H (P10OUT |= BIT2) // P10.2为SCL #define SCL_L (P10OUT &= ~BIT2) #define S...
- 火辣西米秀 微控制器 MCU
- 开关电源与LED电源的EMI及EMC解决的最简方案
- 开关电源或LED电源在测试EMI的时候都很难通过.特别是辐射.针对高频开关电源来说,主要的来源是MOSFET和二极管. 采用具有'软'恢复系列的二极管.可以帮波形平缓,大大地减少了开关与传导的损耗. NIEC公司开发的软恢复二极管历史很久.性价比很高,与相同规格的竟争对手公司的普通快恢复价格一样. 600V/8A的速度达到15nS. 且具有软开关功能.如附件资料. 请查看 ...
- niec021 模拟与混合信号
- 寻求DSP仿真器 HDS560pod 驱动
- 一个很好的朋友向我求助DSP仿真器 HDS560pod,有哪位好心的朋友有的话,帮助我这个朋友一下好吗?谢谢!...
- 爱心 DSP 与 ARM 处理器