基于 CC2642 蓝牙 5.0 的应用,以及 TI Simplelink 学院动手实验

展开字幕 关闭字幕 时长:41分40秒
评论 收藏 分享 上传者:hi5
今天下午我们先来讲一下蓝牙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为开发者提供的强大的线上支持文档,步步引导,从入门到精通。
展开

主讲人简介

Speaker:吴冰洁

TI 半导体事业部无线通讯技术中心技术应用工程师

分享到X
微博
QQ
QQ空间
微信

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved