WCS (2b) Blutooth Smart (2)
Loading the player...
将在30s后自动为您播放下一课程
接下来讲呢 就是说是看下 BLE Stack 的一个发展情况 那就是说最早就是我之前讲过我们 TI 的2540 就说是40是最早的一颗业内最早一个 BLE 芯片 它早在哪里呢 就是因为这个 SIG 公布 BLE 4.0的 这个标准时候是在2010年 然后我们 TI 在2010年就有那个 CC2540了 它就跟着那个 就是我们 BLE 的那个发展与时俱进的 为什么那个有呢 因为 TI 一直是跟那个 SIG 是有比较紧密的关系 因为是属于 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就蓝牙技术联盟那2010年我们就有这个芯片了 那个时候市面上还没有 其他的那个蓝牙芯片 然后SDK也是就是说2010年的时候就有 然后一直 然后就一直发展 大家可以看到从1.0 1.1 1.2 1.3 1.4 1.4.1 到2015年1.4.1 上面这些都是基于 CC254041的 那2015年呢 我们就是现在2640面世之后呢 我们就有2.0 2.1 这两条线开始分开 就是我们有同时支持2540和2541 2640 254x和26xx 不好意思 就是现在我们有最新的2.0 2.1了 现在呢就是我们2.1应该是刚刚的 就是应该算这个月刚刚面世的吧 这个月月中的时候 大家其实已经在 TI 官网下载到这个东西 就是我们 就是在 TI 网上下载到的那个软件 我们都是 TI 免费提供的嘛 就是我刚才讲的就是 TI 是卖芯片 不是卖软件 那最新的2.1 SDK2.1 基于2640 SDK 2.1呢 我们是完全支持 BLE 4.1的 然后可以用 IAR 或者 CCS 然后我们有很全的 你下载了这个SDK安装好之后 我们的那个开发指导文档都在 那个SDK里面 很多人就经常收到一些邮件 客户问 唉 我这个比如说某个功能怎么用 或者怎么样 我怎么开始 这些东西 Task 怎么创建 什么这样对吧 那我然后我就经常回邮件告诉他们 就是我你安装SDK之后 我们SDK的目录下面 有一个叫 Document 的一个目录 里面有很多的包括那个你一些 怎么样开始基于2640开发 还有那个我们那个TI-RTOS 因为2640里面是在 TI 在RTOS对吧 RTOS 的一些 API 接口的一些 基础的一些 比如说怎么创建 Task 怎么用 Timer 怎么用 Timer 这些其实这里面都有 这是我们就是你安装 SDK 之后 我们提供的一些 Profile 包括就是 SIG 标准的一些 Profile 包括什么 BloodPressure 比如 CyclingSensor GlucoseCollector 什么这些乱七八糟 这些都是那个 SIG 提供了一些 这些都是那个 SIG 提供了一些 就是标准的 Profile 然后还有很多 TI 的一些SimpleBLEPeripheral 什么SimpleBLECentral这些 包括那个 Sensor Tag 这些就是那个 TI 提供一些 私有的一些 就 TI 的一些基于 BLE 的那个 Profile 就 TI 的一些基于 BLE 的那个 Profile 因为实际情况来讲 就是根据我的经验 就是从不管2540还是2640现在 就是客户他们做开发的时候呢 不满 基本上都是不满于 就是 SIG 给他提供那些标准的开发 为什么 就是比如说我 我做了一个心率计的一个产品 我做了一个心率计的一个产品 它是个标准的东西 比如说那个技术人员 他定义了你的心率计上面 应该是有哪些特征哪些属性 然后在那个手机那边 比如说接收端 它有些 它怎么样去处理这些属性对吧 然后比如说你 你就做了一个基于它那个心率计产品 然后你同时 你自己开发了一个 APP 对应的就是完全根据那个 SIG 的那个要求来好了 然后你然后你把产品推到市面上去 OK那另外一个 另外一个公司 比如说我 唉 我发现你这个东西 但我不会写那个 IOS 或者安卓 APP 我只会做那个嵌入式编程 那没问题 我就做一个也做一个标准的 Heartrate 的一个心率计 然后完了之后 我就可以直接用跟人家 跟我的客户说用我的这个 然后去下载 比如说其他家的那个已经写好了 IOS 的安卓的 APP 然后就能配合 就能用 对我来讲就省去了很多 就是说开发 IOS 或者 Android 的那个资源 对吧 省钱了就是说 但是对于之前那家 他做的那家呢 他不就很惨 对吧 所以很多客户他们意识到了这一点 所以基本上他们都不太会用这些东西 标准的那个 Profile 或者说是只是用其中的一点点 然后加上他们自己的特有的 那个就基于 TI 的 特别是 SimpleBLEPeripheral 我觉得这个是应该是市面上最受欢迎的 Profile 它不是 SIG 定义的 那个而是 TI 的一个 SimpleBLEPeripheral 我觉得这个东西在现在在满世界飞 因为很多客户都是基于这个来开发 然后来提问我们问题 就这个 所以因为你基于这个开发的好处就是 你可以自己定义你的特征值一些属性 一些操作方法 然后你在自己的IOS上 也是可以就是说针对性地对它进行开发嘛 对它进行通信什么 这样其他家他就没法抄袭你了 就是你完全是一个私有的一个应用 它说它还是基于标准的蓝牙的那个通信协议来 就这点就是它的优势嘛 你还是用手机上的那个蓝牙 包括自己这边的蓝牙标准来通信 然后但是上的数据全都是你这个私有的 这么一个情况 所以我觉得所以这里标蓝了嘛 这里两个是很重要的两个 Profile 那在2.1里面 TI 还提供了一个比较好的 新的一个特性 叫做 Simple Network 就是 CC2640 就是说我们的 比如说你要很多很多的应用要加进去 要算法什么这种乱七八糟的 把它加完了之后的时候 你可能会发现 CC2640的可能 Flash 和 RAM 不够用了 因为现在很多我接触的很多客户 他们都是有很多自己的想法 然后想加很多东西进去 比如说你做那个智能手表 或者是腕带的一些客户 他们肯定不满足一些 简单的一些应用 因为市面上实在是太多了对吧 这种现在然后他们当然想 加很多特殊的那个东西进去 然后去发现可能加一些算法 什么时候可能240的那个 Flash不够 但是说有一点 他们做这些设备的那个客户啊什么的 他们经常会有一些外挂 Flash 或者甚至外挂 MCU 因为像手表什么 特别是这些东西 他们需要有很多人现在都会带屏嘛 他们要显示字体 什么乱七八糟 然后那个他这个字体什么 他都必须得存在那个 Flash 里面 它显然是需要一个很更大的 Flash 88K Flash 就是不够的 这些厂商他们一般都会有外挂 Flash 所以甚至外挂 MCU 所以这时候 TI 提供的这个 Simple Network Processor Simple Network Processor 这么一个 在我们新的SDK 2.1里面 它有这个工程 它干嘛用呢 就是说你只要把这个 SimpleNP 这个工程编译好以后 刷到2640里面 然后就不用管这个2640了 它就完全成为一个 Network Processor 这是一个透传(8:36) BLE 透传的东西 这个是一直到BLE的 GATT 层这边 然后 TI 还提供了一个对应它的 也在这个 SDK 里面有个 SimpleAP 就是 Application Processor 我们的 Demo 是 就是说是基于两个CC2640的板子 就是一个跑SimpleNP 一个跑 SimpleAP 然后就说相当于 把 GATT 跑一个 就是说应用跑在另外一个 就是说是 MCU 上面 然后GATT层以下的所有的蓝牙协议栈呢 就跑在我们的那个另外 就是单独的一个2640上 就这么一个情况 所以客户需要做就是说 把这个 SimpleNP 烧到我们的 CC2640上面 然后再把那个 SimpleAP 移到 就是它的外部的 MCU 上面就可以了 这样它就能两个 然后两个用 SPI 或者是 UART 连起来 然后它们就能通信了 中间的通讯协议我们都是做好都写好 这样的好处就是说 因为其实说白了 因为蓝牙就 BLE 这个 东西在很多产品里面 它只是一个负责传数据的一个附属设备 客户很多的他们的应用 其实如果他们已经有自己平台的话 都是基于他们自己的 MCU 平台来开发 这个好处就是说 客户还是可以不需要管2640 不需要学习新的环境 他只要有这个Image 他烧进去就可以 然后他可以就是说把注意力 还是集中在它原来的平台上 就把我们这边很简单的 SimpleAP 移到他那个里面 代码量很小的 移到它里面的那个 MCU 里面 他们自己平台上 然后就可以在这个 还是在他们这个 MCU 上面做 就是说应用的开发 这样就可以了 其实对他们来讲就简单很多 这是 Simple Network Processor 这是 Simple Network Processor 然后还提供了 就是在 SDK 里面还提供了off-Chip OAD 这什么东西呢 就是外挂 Flash 的那个OAD 的更新 也就是我前面讲过的 因为客户现在越来越多的那个应用需求 128K Flash可能很难满足他们的要求 所以如果你这个时候一个外挂 Flash 的话 比如说你那些存放了一些什么 字体其他一些 一些固定的一些数据 在外挂 Flash 里面的话 反正你有外 Flash 就可以 在 Flash 里面也做我们的这个 OTA 就是另外一个说法就是OTA嘛对吧 这怎么做呢 就是说可以通过蓝牙 把你要更新的固件先收来 然后放到那个外挂 Flash 里面 然后再把它拷到那个我们内部 Flash 里面 然后你再 Reset 一下 然后就可以用新的那个 它会自动的 Reset 的 然后你就会有跑新的 更新固件了 就这么情况 然后 TI-RTOS driver update 是什么东西呢 因为2640里面是有 TI-RTOS 的对吧 现在就是它不同于2540 它原来的一些 你要做一些那个驱动的开发 或者怎么样的时候 你必须得直接访问寄存器 那我们2640里面有 TI-RTOS 之后 就是我们把一些底层的一些驱动是吧 比如说 URAT SPI 简单来讲 就是说你可以 我们直接分装成了一个 RTOS 的API 那比如说你很简单 Open UART 或者什么 Transmission Data UART Transmission Data 你只要调这样的接口 你只要调这样的接口 TI-RTOS的接口 然后它就直接把那个 UART 的那个接口 比如说 Read 的或者是 这样子它就直接完成了UART 的那个功能 只要到 API 就行 所以我们每次 RTOS 的更新呢 它都会可能加一些新的外设的驱动进去 或者是一些 Bug 进去 Bug的那个 Face 进去不是加 Bug 进去 所以2.1里面 TI-RTOS 有一些更新 所以 driver 也有些 update 就是这种情况 然后Flash Memory configuration 是什么意思呢 增加就是原来我们的 SDK 2.0里面呢 就是第一版里面 我们做了一个很高大全的一个东西在里面 就是说你为了就是BLE 4.1嘛对吧 也不是 BLE 4.1 就是说为了 你能一个设备2640 你做外设做那个 BLE 的 Client 的同时 能做 server 所以把这两个 这两个功能给并起来 它其实很多实际的应用当中呢 就说做 BLE 的设备的时候 就说做 BLE 的设备的时候 就做只是做一个 BLE 的那个server 不需要 BLE 的 Client 你其实不需要手机的那种功能 所以在2.1里面 我们就是说把这条加进去 就是说其实就设定一个宏定义 你就能把那个 Client 的功能关掉 这样就能省出额外的 Flash 而且让空间出来就是做开发用 那么另外一个就是说 放在最下面的 这点其实对大家来说 可能是我觉得也是很重要的 对一些特别对那个成本上 就是要求比较高的一些客户 就是我们的2.1里面我们会支持 对 PG2.3 我们现在量产版本的那个2640 它是 PG2.2的 就是说 PG2.3 我们马上就会那个面世 就是这个有什么特别呢 就是我们在 ROM 里面有些改动 就是说可以支持 我们用内部的那个32K的那个震荡器 就来做那个 RTC 不需要再外挂一个32K的那个晶振 当然它的那个精度会稍微弱一点 它会需要去实时的一些 就是说做一些同步或者怎么样 更新它的那个 clock 那就说当然做这些动作 它会有一些一定稍微一点点功耗的增加 它说对成本来讲它就可以省成本 就是说你可以不需要外挂那个32K了 但对你的那个产品的那个尺寸呢它也会有帮助的 因为少了一个元器件 尺寸会更优化 所以这是一个很重要的 我们软件上是支持的 我们软件上是支持的 只要等着 PG2.3 量产就可以了 这是就是说我们 SDK 下载完之后呢 SDK 2.1下载完之后 安装好时 安装好之后呢 就是能看到这么一个情况 打开 IAR 和 CCS 结构是一样的 就是那个有 TI-RTOS一个目录 还有一个 BLE SDK 的 在你的那个C盘下面 就是默认的安装目录下面有这两个东西 就前面讲过 就是因为我们的2640 它是有带 RTOS 的 然后呢其实用起来很简单 用 IDE 打开 IDE 就是 CCS 或者是 IAR 对吧 然后编译 编程编出来之后 你会有两个 一个 Stack 和一个 Application 然后烧到2650那个板子里面去 当然你可以有那个 什么 IOS BTool 或者 TI Device Monitor 进行那个 OAD 的更新 这里BTool 应该不可以作为 OAD 更新的 就说应该是TI Device Monitor 也可以下载附件给它 就这样 讲呢我们 SDK 我们的那个 SDK 2.1呢 它是完全支持 BLE 4.1的嘛对吧 所以其实大家有概念不要搞错了 我们讲再讲SDK2.1 以后有其他人来问你 这个是 SDK 2.1是不是蓝牙2.1 然后说当然不是了 就是那个 TI 的那个内部的 那个软件的一个版本 那2.1我们说支持 BLE BT4.1就是 其实就是 BLE4.1里面的一些 所有的一些那个性能 这里有很多什么 很多什么Low Duty Cycle Direct Advertising 其实最重要的一点 就是应该下放在最下面的 这个我觉得就是说对实际应用来讲 就是可能影响比较大 或者是能开发出一些新的应用场景的一个东西 就是说新的那个拓扑结构 因为 BLE 4.0里面 里面就是一个我们一个 Master设备 它只能是 Master 一个 Slave 设备它只能是Slave 它不能同时做 Slave 或者 master 这就存在一个缺陷 就是我们只能做星形网络 就是我们只能做星形网络 为一个手机做 Master 可能连几个 BLE 的外设是一个星形的形状 那么在4.1之后呢 就是我们有了那个叫做 scan 就是我们有了那个叫做 scan 就是跟原来的那个蓝牙的传统来讲 BLE 很像的一个拓扑结构 BLE 很像的一个拓扑结构 就是我的那个 比如说我手机现在包括 IOS 的设备 安卓5.0以后的那个设备 就是我能同时支持 Slave 或者 Master 我手机可以当 Slave 然后那个也同时可以当 Master 去连外设 当然我们2640也支持这种特性 同时能支持那个 Slave 或者 Master的共存 我可以是我自己这个网络里面 星形网络里面的 Master 星形网络里面的 Master 我连了很多那个 BLE 的外设 跟它们在通信 但同时呢 我又是其他另外一个星形网络的一个 Slave 设备 我又是其他另外一个星形网络的一个 Slave 设备 我可以跟那边的 Master通信 这样子就成了什么呢 就是说大家可以 可能很快就能想到 就是说是一个你可以做 Mesh 就是说我可以从一个网络跳到另外一个网络 我不单单局限于我自己的那个星形网络里面 我不单单局限于我自己的那个星形网络里面 所以这是一个 这是一个很大很大的改进 所以这其实也是为以后 就是说可能我们很多人在问 那个蓝牙有没有 Mesh TI 有没有 Mesh的那个什么方案呀对吧 那这个就是说 也是 SIG 它在为定义那个 以后会定义 他们自己的那个 Mesh 的一个标准做准备 然后 TI 当然也会跟进 然后 TI 当然也会跟进 只要他们有新的标准出来 我们就会有新的那个 SDK 去做支持 那这个还有就是说 现在最新当然不是已经 BLE4.1了 BLE4.2了已经 就去年12月份的时候 就是那个蓝牙技术联盟 它公布的 它有些什么东西呢 有Secure Connections 有Privacy 1.2 这些东西其实对真正做应用产品开发来讲的话 可能怎么说呢 就是说你跟前面的 相对于前面来讲的话 跟前面比较的话就区别不是很大 因为很多人不会关心这两个东西 但是有一点这个会关注 叫做 LE Data Length Extension 这什么东西呢 就是现在我们的 BLE 空中最大的一个包 只能发20个字节 然后这个呢 4.2之后呢 它能发250多个字节 这什么概念 就是说是原来速度的那个2.5倍嘛 就是一个包长可以达到250多个字节 然后所以就是将会 以后将来怎么 可能今年会发布 BLE5.0或者怎么样 以后将来做准备 就是说甚至它还给您支持传输语音这种 就是说甚至它还给您支持传输语音这种 就是 BLE4.2 TI 我们呢 就是说是最应该是在就是明年年初的时候 应该就会有这个 BLE2.2的 SDK 发布 然后支持这个 BLE4.2 大家可以关注一下
接下来讲呢 就是说是看下 BLE Stack 的一个发展情况 那就是说最早就是我之前讲过我们 TI 的2540 就说是40是最早的一颗业内最早一个 BLE 芯片 它早在哪里呢 就是因为这个 SIG 公布 BLE 4.0的 这个标准时候是在2010年 然后我们 TI 在2010年就有那个 CC2540了 它就跟着那个 就是我们 BLE 的那个发展与时俱进的 为什么那个有呢 因为 TI 一直是跟那个 SIG 是有比较紧密的关系 因为是属于 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就蓝牙技术联盟那2010年我们就有这个芯片了 那个时候市面上还没有 其他的那个蓝牙芯片 然后SDK也是就是说2010年的时候就有 然后一直 然后就一直发展 大家可以看到从1.0 1.1 1.2 1.3 1.4 1.4.1 到2015年1.4.1 上面这些都是基于 CC254041的 那2015年呢 我们就是现在2640面世之后呢 我们就有2.0 2.1 这两条线开始分开 就是我们有同时支持2540和2541 2640 254x和26xx 不好意思 就是现在我们有最新的2.0 2.1了 现在呢就是我们2.1应该是刚刚的 就是应该算这个月刚刚面世的吧 这个月月中的时候 大家其实已经在 TI 官网下载到这个东西 就是我们 就是在 TI 网上下载到的那个软件 我们都是 TI 免费提供的嘛 就是我刚才讲的就是 TI 是卖芯片 不是卖软件 那最新的2.1 SDK2.1 基于2640 SDK 2.1呢 我们是完全支持 BLE 4.1的 然后可以用 IAR 或者 CCS 然后我们有很全的 你下载了这个SDK安装好之后 我们的那个开发指导文档都在 那个SDK里面 很多人就经常收到一些邮件 客户问 唉 我这个比如说某个功能怎么用 或者怎么样 我怎么开始 这些东西 Task 怎么创建 什么这样对吧 那我然后我就经常回邮件告诉他们 就是我你安装SDK之后 我们SDK的目录下面 有一个叫 Document 的一个目录 里面有很多的包括那个你一些 怎么样开始基于2640开发 还有那个我们那个TI-RTOS 因为2640里面是在 TI 在RTOS对吧 RTOS 的一些 API 接口的一些 基础的一些 比如说怎么创建 Task 怎么用 Timer 怎么用 Timer 这些其实这里面都有 这是我们就是你安装 SDK 之后 我们提供的一些 Profile 包括就是 SIG 标准的一些 Profile 包括什么 BloodPressure 比如 CyclingSensor GlucoseCollector 什么这些乱七八糟 这些都是那个 SIG 提供了一些 这些都是那个 SIG 提供了一些 就是标准的 Profile 然后还有很多 TI 的一些SimpleBLEPeripheral 什么SimpleBLECentral这些 包括那个 Sensor Tag 这些就是那个 TI 提供一些 私有的一些 就 TI 的一些基于 BLE 的那个 Profile 就 TI 的一些基于 BLE 的那个 Profile 因为实际情况来讲 就是根据我的经验 就是从不管2540还是2640现在 就是客户他们做开发的时候呢 不满 基本上都是不满于 就是 SIG 给他提供那些标准的开发 为什么 就是比如说我 我做了一个心率计的一个产品 我做了一个心率计的一个产品 它是个标准的东西 比如说那个技术人员 他定义了你的心率计上面 应该是有哪些特征哪些属性 然后在那个手机那边 比如说接收端 它有些 它怎么样去处理这些属性对吧 然后比如说你 你就做了一个基于它那个心率计产品 然后你同时 你自己开发了一个 APP 对应的就是完全根据那个 SIG 的那个要求来好了 然后你然后你把产品推到市面上去 OK那另外一个 另外一个公司 比如说我 唉 我发现你这个东西 但我不会写那个 IOS 或者安卓 APP 我只会做那个嵌入式编程 那没问题 我就做一个也做一个标准的 Heartrate 的一个心率计 然后完了之后 我就可以直接用跟人家 跟我的客户说用我的这个 然后去下载 比如说其他家的那个已经写好了 IOS 的安卓的 APP 然后就能配合 就能用 对我来讲就省去了很多 就是说开发 IOS 或者 Android 的那个资源 对吧 省钱了就是说 但是对于之前那家 他做的那家呢 他不就很惨 对吧 所以很多客户他们意识到了这一点 所以基本上他们都不太会用这些东西 标准的那个 Profile 或者说是只是用其中的一点点 然后加上他们自己的特有的 那个就基于 TI 的 特别是 SimpleBLEPeripheral 我觉得这个是应该是市面上最受欢迎的 Profile 它不是 SIG 定义的 那个而是 TI 的一个 SimpleBLEPeripheral 我觉得这个东西在现在在满世界飞 因为很多客户都是基于这个来开发 然后来提问我们问题 就这个 所以因为你基于这个开发的好处就是 你可以自己定义你的特征值一些属性 一些操作方法 然后你在自己的IOS上 也是可以就是说针对性地对它进行开发嘛 对它进行通信什么 这样其他家他就没法抄袭你了 就是你完全是一个私有的一个应用 它说它还是基于标准的蓝牙的那个通信协议来 就这点就是它的优势嘛 你还是用手机上的那个蓝牙 包括自己这边的蓝牙标准来通信 然后但是上的数据全都是你这个私有的 这么一个情况 所以我觉得所以这里标蓝了嘛 这里两个是很重要的两个 Profile 那在2.1里面 TI 还提供了一个比较好的 新的一个特性 叫做 Simple Network 就是 CC2640 就是说我们的 比如说你要很多很多的应用要加进去 要算法什么这种乱七八糟的 把它加完了之后的时候 你可能会发现 CC2640的可能 Flash 和 RAM 不够用了 因为现在很多我接触的很多客户 他们都是有很多自己的想法 然后想加很多东西进去 比如说你做那个智能手表 或者是腕带的一些客户 他们肯定不满足一些 简单的一些应用 因为市面上实在是太多了对吧 这种现在然后他们当然想 加很多特殊的那个东西进去 然后去发现可能加一些算法 什么时候可能240的那个 Flash不够 但是说有一点 他们做这些设备的那个客户啊什么的 他们经常会有一些外挂 Flash 或者甚至外挂 MCU 因为像手表什么 特别是这些东西 他们需要有很多人现在都会带屏嘛 他们要显示字体 什么乱七八糟 然后那个他这个字体什么 他都必须得存在那个 Flash 里面 它显然是需要一个很更大的 Flash 88K Flash 就是不够的 这些厂商他们一般都会有外挂 Flash 所以甚至外挂 MCU 所以这时候 TI 提供的这个 Simple Network Processor Simple Network Processor 这么一个 在我们新的SDK 2.1里面 它有这个工程 它干嘛用呢 就是说你只要把这个 SimpleNP 这个工程编译好以后 刷到2640里面 然后就不用管这个2640了 它就完全成为一个 Network Processor 这是一个透传(8:36) BLE 透传的东西 这个是一直到BLE的 GATT 层这边 然后 TI 还提供了一个对应它的 也在这个 SDK 里面有个 SimpleAP 就是 Application Processor 我们的 Demo 是 就是说是基于两个CC2640的板子 就是一个跑SimpleNP 一个跑 SimpleAP 然后就说相当于 把 GATT 跑一个 就是说应用跑在另外一个 就是说是 MCU 上面 然后GATT层以下的所有的蓝牙协议栈呢 就跑在我们的那个另外 就是单独的一个2640上 就这么一个情况 所以客户需要做就是说 把这个 SimpleNP 烧到我们的 CC2640上面 然后再把那个 SimpleAP 移到 就是它的外部的 MCU 上面就可以了 这样它就能两个 然后两个用 SPI 或者是 UART 连起来 然后它们就能通信了 中间的通讯协议我们都是做好都写好 这样的好处就是说 因为其实说白了 因为蓝牙就 BLE 这个 东西在很多产品里面 它只是一个负责传数据的一个附属设备 客户很多的他们的应用 其实如果他们已经有自己平台的话 都是基于他们自己的 MCU 平台来开发 这个好处就是说 客户还是可以不需要管2640 不需要学习新的环境 他只要有这个Image 他烧进去就可以 然后他可以就是说把注意力 还是集中在它原来的平台上 就把我们这边很简单的 SimpleAP 移到他那个里面 代码量很小的 移到它里面的那个 MCU 里面 他们自己平台上 然后就可以在这个 还是在他们这个 MCU 上面做 就是说应用的开发 这样就可以了 其实对他们来讲就简单很多 这是 Simple Network Processor 这是 Simple Network Processor 然后还提供了 就是在 SDK 里面还提供了off-Chip OAD 这什么东西呢 就是外挂 Flash 的那个OAD 的更新 也就是我前面讲过的 因为客户现在越来越多的那个应用需求 128K Flash可能很难满足他们的要求 所以如果你这个时候一个外挂 Flash 的话 比如说你那些存放了一些什么 字体其他一些 一些固定的一些数据 在外挂 Flash 里面的话 反正你有外 Flash 就可以 在 Flash 里面也做我们的这个 OTA 就是另外一个说法就是OTA嘛对吧 这怎么做呢 就是说可以通过蓝牙 把你要更新的固件先收来 然后放到那个外挂 Flash 里面 然后再把它拷到那个我们内部 Flash 里面 然后你再 Reset 一下 然后就可以用新的那个 它会自动的 Reset 的 然后你就会有跑新的 更新固件了 就这么情况 然后 TI-RTOS driver update 是什么东西呢 因为2640里面是有 TI-RTOS 的对吧 现在就是它不同于2540 它原来的一些 你要做一些那个驱动的开发 或者怎么样的时候 你必须得直接访问寄存器 那我们2640里面有 TI-RTOS 之后 就是我们把一些底层的一些驱动是吧 比如说 URAT SPI 简单来讲 就是说你可以 我们直接分装成了一个 RTOS 的API 那比如说你很简单 Open UART 或者什么 Transmission Data UART Transmission Data 你只要调这样的接口 你只要调这样的接口 TI-RTOS的接口 然后它就直接把那个 UART 的那个接口 比如说 Read 的或者是 这样子它就直接完成了UART 的那个功能 只要到 API 就行 所以我们每次 RTOS 的更新呢 它都会可能加一些新的外设的驱动进去 或者是一些 Bug 进去 Bug的那个 Face 进去不是加 Bug 进去 所以2.1里面 TI-RTOS 有一些更新 所以 driver 也有些 update 就是这种情况 然后Flash Memory configuration 是什么意思呢 增加就是原来我们的 SDK 2.0里面呢 就是第一版里面 我们做了一个很高大全的一个东西在里面 就是说你为了就是BLE 4.1嘛对吧 也不是 BLE 4.1 就是说为了 你能一个设备2640 你做外设做那个 BLE 的 Client 的同时 能做 server 所以把这两个 这两个功能给并起来 它其实很多实际的应用当中呢 就说做 BLE 的设备的时候 就说做 BLE 的设备的时候 就做只是做一个 BLE 的那个server 不需要 BLE 的 Client 你其实不需要手机的那种功能 所以在2.1里面 我们就是说把这条加进去 就是说其实就设定一个宏定义 你就能把那个 Client 的功能关掉 这样就能省出额外的 Flash 而且让空间出来就是做开发用 那么另外一个就是说 放在最下面的 这点其实对大家来说 可能是我觉得也是很重要的 对一些特别对那个成本上 就是要求比较高的一些客户 就是我们的2.1里面我们会支持 对 PG2.3 我们现在量产版本的那个2640 它是 PG2.2的 就是说 PG2.3 我们马上就会那个面世 就是这个有什么特别呢 就是我们在 ROM 里面有些改动 就是说可以支持 我们用内部的那个32K的那个震荡器 就来做那个 RTC 不需要再外挂一个32K的那个晶振 当然它的那个精度会稍微弱一点 它会需要去实时的一些 就是说做一些同步或者怎么样 更新它的那个 clock 那就说当然做这些动作 它会有一些一定稍微一点点功耗的增加 它说对成本来讲它就可以省成本 就是说你可以不需要外挂那个32K了 但对你的那个产品的那个尺寸呢它也会有帮助的 因为少了一个元器件 尺寸会更优化 所以这是一个很重要的 我们软件上是支持的 我们软件上是支持的 只要等着 PG2.3 量产就可以了 这是就是说我们 SDK 下载完之后呢 SDK 2.1下载完之后 安装好时 安装好之后呢 就是能看到这么一个情况 打开 IAR 和 CCS 结构是一样的 就是那个有 TI-RTOS一个目录 还有一个 BLE SDK 的 在你的那个C盘下面 就是默认的安装目录下面有这两个东西 就前面讲过 就是因为我们的2640 它是有带 RTOS 的 然后呢其实用起来很简单 用 IDE 打开 IDE 就是 CCS 或者是 IAR 对吧 然后编译 编程编出来之后 你会有两个 一个 Stack 和一个 Application 然后烧到2650那个板子里面去 当然你可以有那个 什么 IOS BTool 或者 TI Device Monitor 进行那个 OAD 的更新 这里BTool 应该不可以作为 OAD 更新的 就说应该是TI Device Monitor 也可以下载附件给它 就这样 讲呢我们 SDK 我们的那个 SDK 2.1呢 它是完全支持 BLE 4.1的嘛对吧 所以其实大家有概念不要搞错了 我们讲再讲SDK2.1 以后有其他人来问你 这个是 SDK 2.1是不是蓝牙2.1 然后说当然不是了 就是那个 TI 的那个内部的 那个软件的一个版本 那2.1我们说支持 BLE BT4.1就是 其实就是 BLE4.1里面的一些 所有的一些那个性能 这里有很多什么 很多什么Low Duty Cycle Direct Advertising 其实最重要的一点 就是应该下放在最下面的 这个我觉得就是说对实际应用来讲 就是可能影响比较大 或者是能开发出一些新的应用场景的一个东西 就是说新的那个拓扑结构 因为 BLE 4.0里面 里面就是一个我们一个 Master设备 它只能是 Master 一个 Slave 设备它只能是Slave 它不能同时做 Slave 或者 master 这就存在一个缺陷 就是我们只能做星形网络 就是我们只能做星形网络 为一个手机做 Master 可能连几个 BLE 的外设是一个星形的形状 那么在4.1之后呢 就是我们有了那个叫做 scan 就是我们有了那个叫做 scan 就是跟原来的那个蓝牙的传统来讲 BLE 很像的一个拓扑结构 BLE 很像的一个拓扑结构 就是我的那个 比如说我手机现在包括 IOS 的设备 安卓5.0以后的那个设备 就是我能同时支持 Slave 或者 Master 我手机可以当 Slave 然后那个也同时可以当 Master 去连外设 当然我们2640也支持这种特性 同时能支持那个 Slave 或者 Master的共存 我可以是我自己这个网络里面 星形网络里面的 Master 星形网络里面的 Master 我连了很多那个 BLE 的外设 跟它们在通信 但同时呢 我又是其他另外一个星形网络的一个 Slave 设备 我又是其他另外一个星形网络的一个 Slave 设备 我可以跟那边的 Master通信 这样子就成了什么呢 就是说大家可以 可能很快就能想到 就是说是一个你可以做 Mesh 就是说我可以从一个网络跳到另外一个网络 我不单单局限于我自己的那个星形网络里面 我不单单局限于我自己的那个星形网络里面 所以这是一个 这是一个很大很大的改进 所以这其实也是为以后 就是说可能我们很多人在问 那个蓝牙有没有 Mesh TI 有没有 Mesh的那个什么方案呀对吧 那这个就是说 也是 SIG 它在为定义那个 以后会定义 他们自己的那个 Mesh 的一个标准做准备 然后 TI 当然也会跟进 然后 TI 当然也会跟进 只要他们有新的标准出来 我们就会有新的那个 SDK 去做支持 那这个还有就是说 现在最新当然不是已经 BLE4.1了 BLE4.2了已经 就去年12月份的时候 就是那个蓝牙技术联盟 它公布的 它有些什么东西呢 有Secure Connections 有Privacy 1.2 这些东西其实对真正做应用产品开发来讲的话 可能怎么说呢 就是说你跟前面的 相对于前面来讲的话 跟前面比较的话就区别不是很大 因为很多人不会关心这两个东西 但是有一点这个会关注 叫做 LE Data Length Extension 这什么东西呢 就是现在我们的 BLE 空中最大的一个包 只能发20个字节 然后这个呢 4.2之后呢 它能发250多个字节 这什么概念 就是说是原来速度的那个2.5倍嘛 就是一个包长可以达到250多个字节 然后所以就是将会 以后将来怎么 可能今年会发布 BLE5.0或者怎么样 以后将来做准备 就是说甚至它还给您支持传输语音这种 就是说甚至它还给您支持传输语音这种 就是 BLE4.2 TI 我们呢 就是说是最应该是在就是明年年初的时候 应该就会有这个 BLE2.2的 SDK 发布 然后支持这个 BLE4.2 大家可以关注一下
接下来讲呢
就是说是看下 BLE Stack 的一个发展情况
那就是说最早就是我之前讲过我们 TI 的2540
就说是40是最早的一颗业内最早一个 BLE 芯片
它早在哪里呢
就是因为这个 SIG 公布 BLE 4.0的
这个标准时候是在2010年
然后我们 TI 在2010年就有那个 CC2540了
它就跟着那个
就是我们 BLE 的那个发展与时俱进的
为什么那个有呢
因为 TI 一直是跟那个 SIG 是有比较紧密的关系
因为是属于
就是 SIG 的几个合作比较密切的那个晶圆厂之一
就是 SIG 的几个合作比较密切的那个晶圆厂之一
就蓝牙技术联盟那2010年我们就有这个芯片了
那个时候市面上还没有
其他的那个蓝牙芯片
然后SDK也是就是说2010年的时候就有
然后一直 然后就一直发展
大家可以看到从1.0 1.1 1.2 1.3 1.4 1.4.1
到2015年1.4.1
上面这些都是基于 CC254041的
那2015年呢
我们就是现在2640面世之后呢
我们就有2.0 2.1
这两条线开始分开
就是我们有同时支持2540和2541
2640 254x和26xx
不好意思 就是现在我们有最新的2.0 2.1了
现在呢就是我们2.1应该是刚刚的
就是应该算这个月刚刚面世的吧
这个月月中的时候
大家其实已经在 TI 官网下载到这个东西
就是我们 就是在 TI 网上下载到的那个软件
我们都是 TI 免费提供的嘛
就是我刚才讲的就是 TI 是卖芯片
不是卖软件 那最新的2.1 SDK2.1
基于2640 SDK 2.1呢
我们是完全支持 BLE 4.1的
然后可以用 IAR 或者 CCS
然后我们有很全的
你下载了这个SDK安装好之后
我们的那个开发指导文档都在
那个SDK里面 很多人就经常收到一些邮件
客户问 唉 我这个比如说某个功能怎么用
或者怎么样 我怎么开始
这些东西 Task 怎么创建
什么这样对吧
那我然后我就经常回邮件告诉他们
就是我你安装SDK之后
我们SDK的目录下面
有一个叫 Document 的一个目录
里面有很多的包括那个你一些
怎么样开始基于2640开发
还有那个我们那个TI-RTOS
因为2640里面是在 TI 在RTOS对吧
RTOS 的一些 API 接口的一些
基础的一些 比如说怎么创建 Task
怎么用 Timer
怎么用 Timer
这些其实这里面都有
这是我们就是你安装 SDK 之后
我们提供的一些 Profile
包括就是 SIG 标准的一些 Profile
包括什么 BloodPressure
比如 CyclingSensor
GlucoseCollector
什么这些乱七八糟
这些都是那个 SIG 提供了一些
这些都是那个 SIG 提供了一些
就是标准的 Profile
然后还有很多 TI 的一些SimpleBLEPeripheral
什么SimpleBLECentral这些
包括那个 Sensor Tag
这些就是那个 TI 提供一些 私有的一些
就 TI 的一些基于 BLE 的那个 Profile
就 TI 的一些基于 BLE 的那个 Profile
因为实际情况来讲
就是根据我的经验
就是从不管2540还是2640现在
就是客户他们做开发的时候呢
不满 基本上都是不满于
就是 SIG 给他提供那些标准的开发
为什么 就是比如说我
我做了一个心率计的一个产品
我做了一个心率计的一个产品
它是个标准的东西
比如说那个技术人员
他定义了你的心率计上面
应该是有哪些特征哪些属性
然后在那个手机那边
比如说接收端
它有些 它怎么样去处理这些属性对吧
然后比如说你
你就做了一个基于它那个心率计产品
然后你同时 你自己开发了一个 APP
对应的就是完全根据那个 SIG 的那个要求来好了
然后你然后你把产品推到市面上去
OK那另外一个
另外一个公司 比如说我
唉 我发现你这个东西
但我不会写那个 IOS 或者安卓 APP
我只会做那个嵌入式编程
那没问题 我就做一个也做一个标准的
Heartrate 的一个心率计
然后完了之后
我就可以直接用跟人家
跟我的客户说用我的这个
然后去下载 比如说其他家的那个已经写好了
IOS 的安卓的 APP 然后就能配合
就能用 对我来讲就省去了很多
就是说开发 IOS 或者 Android 的那个资源 对吧
省钱了就是说
但是对于之前那家
他做的那家呢
他不就很惨 对吧
所以很多客户他们意识到了这一点
所以基本上他们都不太会用这些东西
标准的那个 Profile
或者说是只是用其中的一点点
然后加上他们自己的特有的
那个就基于 TI 的
特别是 SimpleBLEPeripheral
我觉得这个是应该是市面上最受欢迎的 Profile
它不是 SIG 定义的
那个而是 TI 的一个 SimpleBLEPeripheral
我觉得这个东西在现在在满世界飞
因为很多客户都是基于这个来开发
然后来提问我们问题
就这个 所以因为你基于这个开发的好处就是
你可以自己定义你的特征值一些属性
一些操作方法
然后你在自己的IOS上
也是可以就是说针对性地对它进行开发嘛
对它进行通信什么
这样其他家他就没法抄袭你了
就是你完全是一个私有的一个应用
它说它还是基于标准的蓝牙的那个通信协议来
就这点就是它的优势嘛
你还是用手机上的那个蓝牙
包括自己这边的蓝牙标准来通信
然后但是上的数据全都是你这个私有的
这么一个情况
所以我觉得所以这里标蓝了嘛
这里两个是很重要的两个 Profile
那在2.1里面 TI 还提供了一个比较好的
新的一个特性 叫做 Simple Network
就是 CC2640 就是说我们的
比如说你要很多很多的应用要加进去
要算法什么这种乱七八糟的
把它加完了之后的时候
你可能会发现
CC2640的可能 Flash 和 RAM 不够用了
因为现在很多我接触的很多客户
他们都是有很多自己的想法
然后想加很多东西进去
比如说你做那个智能手表
或者是腕带的一些客户
他们肯定不满足一些
简单的一些应用
因为市面上实在是太多了对吧
这种现在然后他们当然想
加很多特殊的那个东西进去
然后去发现可能加一些算法
什么时候可能240的那个 Flash不够
但是说有一点
他们做这些设备的那个客户啊什么的
他们经常会有一些外挂 Flash
或者甚至外挂 MCU
因为像手表什么
特别是这些东西
他们需要有很多人现在都会带屏嘛
他们要显示字体
什么乱七八糟
然后那个他这个字体什么
他都必须得存在那个 Flash 里面
它显然是需要一个很更大的 Flash
88K Flash 就是不够的
这些厂商他们一般都会有外挂 Flash
所以甚至外挂 MCU
所以这时候 TI 提供的这个
Simple Network Processor
Simple Network Processor
这么一个 在我们新的SDK 2.1里面
它有这个工程
它干嘛用呢
就是说你只要把这个
SimpleNP 这个工程编译好以后
刷到2640里面
然后就不用管这个2640了
它就完全成为一个 Network Processor
这是一个透传(8:36)
BLE 透传的东西
这个是一直到BLE的 GATT 层这边
然后 TI 还提供了一个对应它的
也在这个 SDK 里面有个 SimpleAP
就是 Application Processor
我们的 Demo 是
就是说是基于两个CC2640的板子
就是一个跑SimpleNP
一个跑 SimpleAP
然后就说相当于
把 GATT 跑一个
就是说应用跑在另外一个
就是说是 MCU 上面
然后GATT层以下的所有的蓝牙协议栈呢
就跑在我们的那个另外
就是单独的一个2640上
就这么一个情况
所以客户需要做就是说
把这个 SimpleNP 烧到我们的 CC2640上面
然后再把那个 SimpleAP 移到
就是它的外部的 MCU 上面就可以了
这样它就能两个
然后两个用 SPI 或者是 UART 连起来
然后它们就能通信了
中间的通讯协议我们都是做好都写好
这样的好处就是说
因为其实说白了
因为蓝牙就 BLE 这个
东西在很多产品里面
它只是一个负责传数据的一个附属设备
客户很多的他们的应用
其实如果他们已经有自己平台的话
都是基于他们自己的 MCU 平台来开发
这个好处就是说
客户还是可以不需要管2640
不需要学习新的环境
他只要有这个Image
他烧进去就可以
然后他可以就是说把注意力
还是集中在它原来的平台上
就把我们这边很简单的 SimpleAP 移到他那个里面
代码量很小的
移到它里面的那个 MCU 里面
他们自己平台上
然后就可以在这个
还是在他们这个 MCU 上面做
就是说应用的开发
这样就可以了
其实对他们来讲就简单很多
这是 Simple Network Processor
这是 Simple Network Processor
然后还提供了
就是在 SDK 里面还提供了off-Chip OAD
这什么东西呢
就是外挂 Flash 的那个OAD 的更新
也就是我前面讲过的
因为客户现在越来越多的那个应用需求
128K Flash可能很难满足他们的要求
所以如果你这个时候一个外挂 Flash 的话
比如说你那些存放了一些什么
字体其他一些
一些固定的一些数据
在外挂 Flash 里面的话
反正你有外 Flash 就可以
在 Flash 里面也做我们的这个 OTA
就是另外一个说法就是OTA嘛对吧
这怎么做呢
就是说可以通过蓝牙
把你要更新的固件先收来
然后放到那个外挂 Flash 里面
然后再把它拷到那个我们内部 Flash 里面
然后你再 Reset 一下
然后就可以用新的那个
它会自动的 Reset 的
然后你就会有跑新的
更新固件了 就这么情况
然后 TI-RTOS driver update 是什么东西呢
因为2640里面是有 TI-RTOS 的对吧
现在就是它不同于2540
它原来的一些
你要做一些那个驱动的开发
或者怎么样的时候
你必须得直接访问寄存器
那我们2640里面有 TI-RTOS 之后
就是我们把一些底层的一些驱动是吧
比如说 URAT SPI 简单来讲
就是说你可以
我们直接分装成了一个 RTOS 的API
那比如说你很简单
Open UART 或者什么
Transmission Data
UART Transmission Data
你只要调这样的接口
你只要调这样的接口
TI-RTOS的接口
然后它就直接把那个 UART 的那个接口
比如说 Read 的或者是
这样子它就直接完成了UART 的那个功能
只要到 API 就行
所以我们每次 RTOS 的更新呢
它都会可能加一些新的外设的驱动进去
或者是一些 Bug 进去 Bug的那个
Face 进去不是加 Bug 进去
所以2.1里面 TI-RTOS 有一些更新
所以 driver 也有些 update
就是这种情况
然后Flash Memory configuration 是什么意思呢
增加就是原来我们的 SDK 2.0里面呢
就是第一版里面
我们做了一个很高大全的一个东西在里面
就是说你为了就是BLE 4.1嘛对吧
也不是 BLE 4.1
就是说为了
你能一个设备2640
你做外设做那个 BLE 的 Client 的同时
能做 server
所以把这两个
这两个功能给并起来
它其实很多实际的应用当中呢
就说做 BLE 的设备的时候
就说做 BLE 的设备的时候
就做只是做一个 BLE 的那个server
不需要 BLE 的 Client
你其实不需要手机的那种功能
所以在2.1里面
我们就是说把这条加进去
就是说其实就设定一个宏定义
你就能把那个 Client 的功能关掉
这样就能省出额外的 Flash
而且让空间出来就是做开发用
那么另外一个就是说
放在最下面的
这点其实对大家来说
可能是我觉得也是很重要的
对一些特别对那个成本上
就是要求比较高的一些客户
就是我们的2.1里面我们会支持
对 PG2.3
我们现在量产版本的那个2640
它是 PG2.2的
就是说 PG2.3
我们马上就会那个面世
就是这个有什么特别呢
就是我们在 ROM 里面有些改动
就是说可以支持
我们用内部的那个32K的那个震荡器
就来做那个 RTC
不需要再外挂一个32K的那个晶振
当然它的那个精度会稍微弱一点
它会需要去实时的一些
就是说做一些同步或者怎么样
更新它的那个 clock
那就说当然做这些动作
它会有一些一定稍微一点点功耗的增加
它说对成本来讲它就可以省成本
就是说你可以不需要外挂那个32K了
但对你的那个产品的那个尺寸呢它也会有帮助的
因为少了一个元器件
尺寸会更优化
所以这是一个很重要的
我们软件上是支持的
我们软件上是支持的
只要等着 PG2.3 量产就可以了
这是就是说我们 SDK 下载完之后呢
SDK 2.1下载完之后
安装好时
安装好之后呢
就是能看到这么一个情况
打开 IAR 和 CCS 结构是一样的
就是那个有 TI-RTOS一个目录
还有一个 BLE SDK 的
在你的那个C盘下面
就是默认的安装目录下面有这两个东西
就前面讲过
就是因为我们的2640
它是有带 RTOS 的
然后呢其实用起来很简单
用 IDE 打开
IDE 就是 CCS 或者是 IAR 对吧
然后编译
编程编出来之后
你会有两个
一个 Stack 和一个 Application
然后烧到2650那个板子里面去
当然你可以有那个
什么 IOS BTool 或者 TI Device Monitor
进行那个 OAD 的更新
这里BTool 应该不可以作为 OAD 更新的
就说应该是TI Device Monitor
也可以下载附件给它
就这样 讲呢我们 SDK
我们的那个 SDK 2.1呢
它是完全支持 BLE 4.1的嘛对吧
所以其实大家有概念不要搞错了
我们讲再讲SDK2.1
以后有其他人来问你
这个是 SDK 2.1是不是蓝牙2.1
然后说当然不是了
就是那个 TI 的那个内部的
那个软件的一个版本
那2.1我们说支持 BLE BT4.1就是
其实就是 BLE4.1里面的一些
所有的一些那个性能
这里有很多什么
很多什么Low Duty Cycle Direct Advertising
其实最重要的一点
就是应该下放在最下面的
这个我觉得就是说对实际应用来讲
就是可能影响比较大
或者是能开发出一些新的应用场景的一个东西
就是说新的那个拓扑结构
因为 BLE 4.0里面
里面就是一个我们一个 Master设备
它只能是 Master
一个 Slave 设备它只能是Slave
它不能同时做 Slave 或者 master
这就存在一个缺陷
就是我们只能做星形网络
就是我们只能做星形网络
为一个手机做 Master
可能连几个 BLE 的外设是一个星形的形状
那么在4.1之后呢
就是我们有了那个叫做 scan
就是我们有了那个叫做 scan
就是跟原来的那个蓝牙的传统来讲
BLE 很像的一个拓扑结构
BLE 很像的一个拓扑结构
就是我的那个
比如说我手机现在包括 IOS 的设备
安卓5.0以后的那个设备
就是我能同时支持 Slave 或者 Master
我手机可以当 Slave
然后那个也同时可以当 Master 去连外设
当然我们2640也支持这种特性
同时能支持那个 Slave 或者 Master的共存
我可以是我自己这个网络里面
星形网络里面的 Master
星形网络里面的 Master
我连了很多那个 BLE 的外设
跟它们在通信
但同时呢
我又是其他另外一个星形网络的一个 Slave 设备
我又是其他另外一个星形网络的一个 Slave 设备
我可以跟那边的 Master通信
这样子就成了什么呢
就是说大家可以
可能很快就能想到
就是说是一个你可以做 Mesh
就是说我可以从一个网络跳到另外一个网络
我不单单局限于我自己的那个星形网络里面
我不单单局限于我自己的那个星形网络里面
所以这是一个
这是一个很大很大的改进
所以这其实也是为以后
就是说可能我们很多人在问
那个蓝牙有没有 Mesh
TI 有没有 Mesh的那个什么方案呀对吧
那这个就是说
也是 SIG 它在为定义那个
以后会定义
他们自己的那个 Mesh 的一个标准做准备
然后 TI 当然也会跟进
然后 TI 当然也会跟进
只要他们有新的标准出来
我们就会有新的那个 SDK 去做支持
那这个还有就是说
现在最新当然不是已经 BLE4.1了
BLE4.2了已经
就去年12月份的时候
就是那个蓝牙技术联盟
它公布的
它有些什么东西呢
有Secure Connections
有Privacy 1.2
这些东西其实对真正做应用产品开发来讲的话
可能怎么说呢
就是说你跟前面的
相对于前面来讲的话
跟前面比较的话就区别不是很大
因为很多人不会关心这两个东西
但是有一点这个会关注
叫做 LE Data Length Extension
这什么东西呢
就是现在我们的 BLE 空中最大的一个包
只能发20个字节
然后这个呢
4.2之后呢
它能发250多个字节
这什么概念
就是说是原来速度的那个2.5倍嘛
就是一个包长可以达到250多个字节
然后所以就是将会
以后将来怎么
可能今年会发布 BLE5.0或者怎么样
以后将来做准备
就是说甚至它还给您支持传输语音这种
就是说甚至它还给您支持传输语音这种
就是 BLE4.2
TI 我们呢
就是说是最应该是在就是明年年初的时候
应该就会有这个 BLE2.2的 SDK 发布
然后支持这个 BLE4.2
大家可以关注一下
接下来讲呢 就是说是看下 BLE Stack 的一个发展情况 那就是说最早就是我之前讲过我们 TI 的2540 就说是40是最早的一颗业内最早一个 BLE 芯片 它早在哪里呢 就是因为这个 SIG 公布 BLE 4.0的 这个标准时候是在2010年 然后我们 TI 在2010年就有那个 CC2540了 它就跟着那个 就是我们 BLE 的那个发展与时俱进的 为什么那个有呢 因为 TI 一直是跟那个 SIG 是有比较紧密的关系 因为是属于 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就是 SIG 的几个合作比较密切的那个晶圆厂之一 就蓝牙技术联盟那2010年我们就有这个芯片了 那个时候市面上还没有 其他的那个蓝牙芯片 然后SDK也是就是说2010年的时候就有 然后一直 然后就一直发展 大家可以看到从1.0 1.1 1.2 1.3 1.4 1.4.1 到2015年1.4.1 上面这些都是基于 CC254041的 那2015年呢 我们就是现在2640面世之后呢 我们就有2.0 2.1 这两条线开始分开 就是我们有同时支持2540和2541 2640 254x和26xx 不好意思 就是现在我们有最新的2.0 2.1了 现在呢就是我们2.1应该是刚刚的 就是应该算这个月刚刚面世的吧 这个月月中的时候 大家其实已经在 TI 官网下载到这个东西 就是我们 就是在 TI 网上下载到的那个软件 我们都是 TI 免费提供的嘛 就是我刚才讲的就是 TI 是卖芯片 不是卖软件 那最新的2.1 SDK2.1 基于2640 SDK 2.1呢 我们是完全支持 BLE 4.1的 然后可以用 IAR 或者 CCS 然后我们有很全的 你下载了这个SDK安装好之后 我们的那个开发指导文档都在 那个SDK里面 很多人就经常收到一些邮件 客户问 唉 我这个比如说某个功能怎么用 或者怎么样 我怎么开始 这些东西 Task 怎么创建 什么这样对吧 那我然后我就经常回邮件告诉他们 就是我你安装SDK之后 我们SDK的目录下面 有一个叫 Document 的一个目录 里面有很多的包括那个你一些 怎么样开始基于2640开发 还有那个我们那个TI-RTOS 因为2640里面是在 TI 在RTOS对吧 RTOS 的一些 API 接口的一些 基础的一些 比如说怎么创建 Task 怎么用 Timer 怎么用 Timer 这些其实这里面都有 这是我们就是你安装 SDK 之后 我们提供的一些 Profile 包括就是 SIG 标准的一些 Profile 包括什么 BloodPressure 比如 CyclingSensor GlucoseCollector 什么这些乱七八糟 这些都是那个 SIG 提供了一些 这些都是那个 SIG 提供了一些 就是标准的 Profile 然后还有很多 TI 的一些SimpleBLEPeripheral 什么SimpleBLECentral这些 包括那个 Sensor Tag 这些就是那个 TI 提供一些 私有的一些 就 TI 的一些基于 BLE 的那个 Profile 就 TI 的一些基于 BLE 的那个 Profile 因为实际情况来讲 就是根据我的经验 就是从不管2540还是2640现在 就是客户他们做开发的时候呢 不满 基本上都是不满于 就是 SIG 给他提供那些标准的开发 为什么 就是比如说我 我做了一个心率计的一个产品 我做了一个心率计的一个产品 它是个标准的东西 比如说那个技术人员 他定义了你的心率计上面 应该是有哪些特征哪些属性 然后在那个手机那边 比如说接收端 它有些 它怎么样去处理这些属性对吧 然后比如说你 你就做了一个基于它那个心率计产品 然后你同时 你自己开发了一个 APP 对应的就是完全根据那个 SIG 的那个要求来好了 然后你然后你把产品推到市面上去 OK那另外一个 另外一个公司 比如说我 唉 我发现你这个东西 但我不会写那个 IOS 或者安卓 APP 我只会做那个嵌入式编程 那没问题 我就做一个也做一个标准的 Heartrate 的一个心率计 然后完了之后 我就可以直接用跟人家 跟我的客户说用我的这个 然后去下载 比如说其他家的那个已经写好了 IOS 的安卓的 APP 然后就能配合 就能用 对我来讲就省去了很多 就是说开发 IOS 或者 Android 的那个资源 对吧 省钱了就是说 但是对于之前那家 他做的那家呢 他不就很惨 对吧 所以很多客户他们意识到了这一点 所以基本上他们都不太会用这些东西 标准的那个 Profile 或者说是只是用其中的一点点 然后加上他们自己的特有的 那个就基于 TI 的 特别是 SimpleBLEPeripheral 我觉得这个是应该是市面上最受欢迎的 Profile 它不是 SIG 定义的 那个而是 TI 的一个 SimpleBLEPeripheral 我觉得这个东西在现在在满世界飞 因为很多客户都是基于这个来开发 然后来提问我们问题 就这个 所以因为你基于这个开发的好处就是 你可以自己定义你的特征值一些属性 一些操作方法 然后你在自己的IOS上 也是可以就是说针对性地对它进行开发嘛 对它进行通信什么 这样其他家他就没法抄袭你了 就是你完全是一个私有的一个应用 它说它还是基于标准的蓝牙的那个通信协议来 就这点就是它的优势嘛 你还是用手机上的那个蓝牙 包括自己这边的蓝牙标准来通信 然后但是上的数据全都是你这个私有的 这么一个情况 所以我觉得所以这里标蓝了嘛 这里两个是很重要的两个 Profile 那在2.1里面 TI 还提供了一个比较好的 新的一个特性 叫做 Simple Network 就是 CC2640 就是说我们的 比如说你要很多很多的应用要加进去 要算法什么这种乱七八糟的 把它加完了之后的时候 你可能会发现 CC2640的可能 Flash 和 RAM 不够用了 因为现在很多我接触的很多客户 他们都是有很多自己的想法 然后想加很多东西进去 比如说你做那个智能手表 或者是腕带的一些客户 他们肯定不满足一些 简单的一些应用 因为市面上实在是太多了对吧 这种现在然后他们当然想 加很多特殊的那个东西进去 然后去发现可能加一些算法 什么时候可能240的那个 Flash不够 但是说有一点 他们做这些设备的那个客户啊什么的 他们经常会有一些外挂 Flash 或者甚至外挂 MCU 因为像手表什么 特别是这些东西 他们需要有很多人现在都会带屏嘛 他们要显示字体 什么乱七八糟 然后那个他这个字体什么 他都必须得存在那个 Flash 里面 它显然是需要一个很更大的 Flash 88K Flash 就是不够的 这些厂商他们一般都会有外挂 Flash 所以甚至外挂 MCU 所以这时候 TI 提供的这个 Simple Network Processor Simple Network Processor 这么一个 在我们新的SDK 2.1里面 它有这个工程 它干嘛用呢 就是说你只要把这个 SimpleNP 这个工程编译好以后 刷到2640里面 然后就不用管这个2640了 它就完全成为一个 Network Processor 这是一个透传(8:36) BLE 透传的东西 这个是一直到BLE的 GATT 层这边 然后 TI 还提供了一个对应它的 也在这个 SDK 里面有个 SimpleAP 就是 Application Processor 我们的 Demo 是 就是说是基于两个CC2640的板子 就是一个跑SimpleNP 一个跑 SimpleAP 然后就说相当于 把 GATT 跑一个 就是说应用跑在另外一个 就是说是 MCU 上面 然后GATT层以下的所有的蓝牙协议栈呢 就跑在我们的那个另外 就是单独的一个2640上 就这么一个情况 所以客户需要做就是说 把这个 SimpleNP 烧到我们的 CC2640上面 然后再把那个 SimpleAP 移到 就是它的外部的 MCU 上面就可以了 这样它就能两个 然后两个用 SPI 或者是 UART 连起来 然后它们就能通信了 中间的通讯协议我们都是做好都写好 这样的好处就是说 因为其实说白了 因为蓝牙就 BLE 这个 东西在很多产品里面 它只是一个负责传数据的一个附属设备 客户很多的他们的应用 其实如果他们已经有自己平台的话 都是基于他们自己的 MCU 平台来开发 这个好处就是说 客户还是可以不需要管2640 不需要学习新的环境 他只要有这个Image 他烧进去就可以 然后他可以就是说把注意力 还是集中在它原来的平台上 就把我们这边很简单的 SimpleAP 移到他那个里面 代码量很小的 移到它里面的那个 MCU 里面 他们自己平台上 然后就可以在这个 还是在他们这个 MCU 上面做 就是说应用的开发 这样就可以了 其实对他们来讲就简单很多 这是 Simple Network Processor 这是 Simple Network Processor 然后还提供了 就是在 SDK 里面还提供了off-Chip OAD 这什么东西呢 就是外挂 Flash 的那个OAD 的更新 也就是我前面讲过的 因为客户现在越来越多的那个应用需求 128K Flash可能很难满足他们的要求 所以如果你这个时候一个外挂 Flash 的话 比如说你那些存放了一些什么 字体其他一些 一些固定的一些数据 在外挂 Flash 里面的话 反正你有外 Flash 就可以 在 Flash 里面也做我们的这个 OTA 就是另外一个说法就是OTA嘛对吧 这怎么做呢 就是说可以通过蓝牙 把你要更新的固件先收来 然后放到那个外挂 Flash 里面 然后再把它拷到那个我们内部 Flash 里面 然后你再 Reset 一下 然后就可以用新的那个 它会自动的 Reset 的 然后你就会有跑新的 更新固件了 就这么情况 然后 TI-RTOS driver update 是什么东西呢 因为2640里面是有 TI-RTOS 的对吧 现在就是它不同于2540 它原来的一些 你要做一些那个驱动的开发 或者怎么样的时候 你必须得直接访问寄存器 那我们2640里面有 TI-RTOS 之后 就是我们把一些底层的一些驱动是吧 比如说 URAT SPI 简单来讲 就是说你可以 我们直接分装成了一个 RTOS 的API 那比如说你很简单 Open UART 或者什么 Transmission Data UART Transmission Data 你只要调这样的接口 你只要调这样的接口 TI-RTOS的接口 然后它就直接把那个 UART 的那个接口 比如说 Read 的或者是 这样子它就直接完成了UART 的那个功能 只要到 API 就行 所以我们每次 RTOS 的更新呢 它都会可能加一些新的外设的驱动进去 或者是一些 Bug 进去 Bug的那个 Face 进去不是加 Bug 进去 所以2.1里面 TI-RTOS 有一些更新 所以 driver 也有些 update 就是这种情况 然后Flash Memory configuration 是什么意思呢 增加就是原来我们的 SDK 2.0里面呢 就是第一版里面 我们做了一个很高大全的一个东西在里面 就是说你为了就是BLE 4.1嘛对吧 也不是 BLE 4.1 就是说为了 你能一个设备2640 你做外设做那个 BLE 的 Client 的同时 能做 server 所以把这两个 这两个功能给并起来 它其实很多实际的应用当中呢 就说做 BLE 的设备的时候 就说做 BLE 的设备的时候 就做只是做一个 BLE 的那个server 不需要 BLE 的 Client 你其实不需要手机的那种功能 所以在2.1里面 我们就是说把这条加进去 就是说其实就设定一个宏定义 你就能把那个 Client 的功能关掉 这样就能省出额外的 Flash 而且让空间出来就是做开发用 那么另外一个就是说 放在最下面的 这点其实对大家来说 可能是我觉得也是很重要的 对一些特别对那个成本上 就是要求比较高的一些客户 就是我们的2.1里面我们会支持 对 PG2.3 我们现在量产版本的那个2640 它是 PG2.2的 就是说 PG2.3 我们马上就会那个面世 就是这个有什么特别呢 就是我们在 ROM 里面有些改动 就是说可以支持 我们用内部的那个32K的那个震荡器 就来做那个 RTC 不需要再外挂一个32K的那个晶振 当然它的那个精度会稍微弱一点 它会需要去实时的一些 就是说做一些同步或者怎么样 更新它的那个 clock 那就说当然做这些动作 它会有一些一定稍微一点点功耗的增加 它说对成本来讲它就可以省成本 就是说你可以不需要外挂那个32K了 但对你的那个产品的那个尺寸呢它也会有帮助的 因为少了一个元器件 尺寸会更优化 所以这是一个很重要的 我们软件上是支持的 我们软件上是支持的 只要等着 PG2.3 量产就可以了 这是就是说我们 SDK 下载完之后呢 SDK 2.1下载完之后 安装好时 安装好之后呢 就是能看到这么一个情况 打开 IAR 和 CCS 结构是一样的 就是那个有 TI-RTOS一个目录 还有一个 BLE SDK 的 在你的那个C盘下面 就是默认的安装目录下面有这两个东西 就前面讲过 就是因为我们的2640 它是有带 RTOS 的 然后呢其实用起来很简单 用 IDE 打开 IDE 就是 CCS 或者是 IAR 对吧 然后编译 编程编出来之后 你会有两个 一个 Stack 和一个 Application 然后烧到2650那个板子里面去 当然你可以有那个 什么 IOS BTool 或者 TI Device Monitor 进行那个 OAD 的更新 这里BTool 应该不可以作为 OAD 更新的 就说应该是TI Device Monitor 也可以下载附件给它 就这样 讲呢我们 SDK 我们的那个 SDK 2.1呢 它是完全支持 BLE 4.1的嘛对吧 所以其实大家有概念不要搞错了 我们讲再讲SDK2.1 以后有其他人来问你 这个是 SDK 2.1是不是蓝牙2.1 然后说当然不是了 就是那个 TI 的那个内部的 那个软件的一个版本 那2.1我们说支持 BLE BT4.1就是 其实就是 BLE4.1里面的一些 所有的一些那个性能 这里有很多什么 很多什么Low Duty Cycle Direct Advertising 其实最重要的一点 就是应该下放在最下面的 这个我觉得就是说对实际应用来讲 就是可能影响比较大 或者是能开发出一些新的应用场景的一个东西 就是说新的那个拓扑结构 因为 BLE 4.0里面 里面就是一个我们一个 Master设备 它只能是 Master 一个 Slave 设备它只能是Slave 它不能同时做 Slave 或者 master 这就存在一个缺陷 就是我们只能做星形网络 就是我们只能做星形网络 为一个手机做 Master 可能连几个 BLE 的外设是一个星形的形状 那么在4.1之后呢 就是我们有了那个叫做 scan 就是我们有了那个叫做 scan 就是跟原来的那个蓝牙的传统来讲 BLE 很像的一个拓扑结构 BLE 很像的一个拓扑结构 就是我的那个 比如说我手机现在包括 IOS 的设备 安卓5.0以后的那个设备 就是我能同时支持 Slave 或者 Master 我手机可以当 Slave 然后那个也同时可以当 Master 去连外设 当然我们2640也支持这种特性 同时能支持那个 Slave 或者 Master的共存 我可以是我自己这个网络里面 星形网络里面的 Master 星形网络里面的 Master 我连了很多那个 BLE 的外设 跟它们在通信 但同时呢 我又是其他另外一个星形网络的一个 Slave 设备 我又是其他另外一个星形网络的一个 Slave 设备 我可以跟那边的 Master通信 这样子就成了什么呢 就是说大家可以 可能很快就能想到 就是说是一个你可以做 Mesh 就是说我可以从一个网络跳到另外一个网络 我不单单局限于我自己的那个星形网络里面 我不单单局限于我自己的那个星形网络里面 所以这是一个 这是一个很大很大的改进 所以这其实也是为以后 就是说可能我们很多人在问 那个蓝牙有没有 Mesh TI 有没有 Mesh的那个什么方案呀对吧 那这个就是说 也是 SIG 它在为定义那个 以后会定义 他们自己的那个 Mesh 的一个标准做准备 然后 TI 当然也会跟进 然后 TI 当然也会跟进 只要他们有新的标准出来 我们就会有新的那个 SDK 去做支持 那这个还有就是说 现在最新当然不是已经 BLE4.1了 BLE4.2了已经 就去年12月份的时候 就是那个蓝牙技术联盟 它公布的 它有些什么东西呢 有Secure Connections 有Privacy 1.2 这些东西其实对真正做应用产品开发来讲的话 可能怎么说呢 就是说你跟前面的 相对于前面来讲的话 跟前面比较的话就区别不是很大 因为很多人不会关心这两个东西 但是有一点这个会关注 叫做 LE Data Length Extension 这什么东西呢 就是现在我们的 BLE 空中最大的一个包 只能发20个字节 然后这个呢 4.2之后呢 它能发250多个字节 这什么概念 就是说是原来速度的那个2.5倍嘛 就是一个包长可以达到250多个字节 然后所以就是将会 以后将来怎么 可能今年会发布 BLE5.0或者怎么样 以后将来做准备 就是说甚至它还给您支持传输语音这种 就是说甚至它还给您支持传输语音这种 就是 BLE4.2 TI 我们呢 就是说是最应该是在就是明年年初的时候 应该就会有这个 BLE2.2的 SDK 发布 然后支持这个 BLE4.2 大家可以关注一下
接下来讲呢
就是说是看下 BLE Stack 的一个发展情况
那就是说最早就是我之前讲过我们 TI 的2540
就说是40是最早的一颗业内最早一个 BLE 芯片
它早在哪里呢
就是因为这个 SIG 公布 BLE 4.0的
这个标准时候是在2010年
然后我们 TI 在2010年就有那个 CC2540了
它就跟着那个
就是我们 BLE 的那个发展与时俱进的
为什么那个有呢
因为 TI 一直是跟那个 SIG 是有比较紧密的关系
因为是属于
就是 SIG 的几个合作比较密切的那个晶圆厂之一
就是 SIG 的几个合作比较密切的那个晶圆厂之一
就蓝牙技术联盟那2010年我们就有这个芯片了
那个时候市面上还没有
其他的那个蓝牙芯片
然后SDK也是就是说2010年的时候就有
然后一直 然后就一直发展
大家可以看到从1.0 1.1 1.2 1.3 1.4 1.4.1
到2015年1.4.1
上面这些都是基于 CC254041的
那2015年呢
我们就是现在2640面世之后呢
我们就有2.0 2.1
这两条线开始分开
就是我们有同时支持2540和2541
2640 254x和26xx
不好意思 就是现在我们有最新的2.0 2.1了
现在呢就是我们2.1应该是刚刚的
就是应该算这个月刚刚面世的吧
这个月月中的时候
大家其实已经在 TI 官网下载到这个东西
就是我们 就是在 TI 网上下载到的那个软件
我们都是 TI 免费提供的嘛
就是我刚才讲的就是 TI 是卖芯片
不是卖软件 那最新的2.1 SDK2.1
基于2640 SDK 2.1呢
我们是完全支持 BLE 4.1的
然后可以用 IAR 或者 CCS
然后我们有很全的
你下载了这个SDK安装好之后
我们的那个开发指导文档都在
那个SDK里面 很多人就经常收到一些邮件
客户问 唉 我这个比如说某个功能怎么用
或者怎么样 我怎么开始
这些东西 Task 怎么创建
什么这样对吧
那我然后我就经常回邮件告诉他们
就是我你安装SDK之后
我们SDK的目录下面
有一个叫 Document 的一个目录
里面有很多的包括那个你一些
怎么样开始基于2640开发
还有那个我们那个TI-RTOS
因为2640里面是在 TI 在RTOS对吧
RTOS 的一些 API 接口的一些
基础的一些 比如说怎么创建 Task
怎么用 Timer
怎么用 Timer
这些其实这里面都有
这是我们就是你安装 SDK 之后
我们提供的一些 Profile
包括就是 SIG 标准的一些 Profile
包括什么 BloodPressure
比如 CyclingSensor
GlucoseCollector
什么这些乱七八糟
这些都是那个 SIG 提供了一些
这些都是那个 SIG 提供了一些
就是标准的 Profile
然后还有很多 TI 的一些SimpleBLEPeripheral
什么SimpleBLECentral这些
包括那个 Sensor Tag
这些就是那个 TI 提供一些 私有的一些
就 TI 的一些基于 BLE 的那个 Profile
就 TI 的一些基于 BLE 的那个 Profile
因为实际情况来讲
就是根据我的经验
就是从不管2540还是2640现在
就是客户他们做开发的时候呢
不满 基本上都是不满于
就是 SIG 给他提供那些标准的开发
为什么 就是比如说我
我做了一个心率计的一个产品
我做了一个心率计的一个产品
它是个标准的东西
比如说那个技术人员
他定义了你的心率计上面
应该是有哪些特征哪些属性
然后在那个手机那边
比如说接收端
它有些 它怎么样去处理这些属性对吧
然后比如说你
你就做了一个基于它那个心率计产品
然后你同时 你自己开发了一个 APP
对应的就是完全根据那个 SIG 的那个要求来好了
然后你然后你把产品推到市面上去
OK那另外一个
另外一个公司 比如说我
唉 我发现你这个东西
但我不会写那个 IOS 或者安卓 APP
我只会做那个嵌入式编程
那没问题 我就做一个也做一个标准的
Heartrate 的一个心率计
然后完了之后
我就可以直接用跟人家
跟我的客户说用我的这个
然后去下载 比如说其他家的那个已经写好了
IOS 的安卓的 APP 然后就能配合
就能用 对我来讲就省去了很多
就是说开发 IOS 或者 Android 的那个资源 对吧
省钱了就是说
但是对于之前那家
他做的那家呢
他不就很惨 对吧
所以很多客户他们意识到了这一点
所以基本上他们都不太会用这些东西
标准的那个 Profile
或者说是只是用其中的一点点
然后加上他们自己的特有的
那个就基于 TI 的
特别是 SimpleBLEPeripheral
我觉得这个是应该是市面上最受欢迎的 Profile
它不是 SIG 定义的
那个而是 TI 的一个 SimpleBLEPeripheral
我觉得这个东西在现在在满世界飞
因为很多客户都是基于这个来开发
然后来提问我们问题
就这个 所以因为你基于这个开发的好处就是
你可以自己定义你的特征值一些属性
一些操作方法
然后你在自己的IOS上
也是可以就是说针对性地对它进行开发嘛
对它进行通信什么
这样其他家他就没法抄袭你了
就是你完全是一个私有的一个应用
它说它还是基于标准的蓝牙的那个通信协议来
就这点就是它的优势嘛
你还是用手机上的那个蓝牙
包括自己这边的蓝牙标准来通信
然后但是上的数据全都是你这个私有的
这么一个情况
所以我觉得所以这里标蓝了嘛
这里两个是很重要的两个 Profile
那在2.1里面 TI 还提供了一个比较好的
新的一个特性 叫做 Simple Network
就是 CC2640 就是说我们的
比如说你要很多很多的应用要加进去
要算法什么这种乱七八糟的
把它加完了之后的时候
你可能会发现
CC2640的可能 Flash 和 RAM 不够用了
因为现在很多我接触的很多客户
他们都是有很多自己的想法
然后想加很多东西进去
比如说你做那个智能手表
或者是腕带的一些客户
他们肯定不满足一些
简单的一些应用
因为市面上实在是太多了对吧
这种现在然后他们当然想
加很多特殊的那个东西进去
然后去发现可能加一些算法
什么时候可能240的那个 Flash不够
但是说有一点
他们做这些设备的那个客户啊什么的
他们经常会有一些外挂 Flash
或者甚至外挂 MCU
因为像手表什么
特别是这些东西
他们需要有很多人现在都会带屏嘛
他们要显示字体
什么乱七八糟
然后那个他这个字体什么
他都必须得存在那个 Flash 里面
它显然是需要一个很更大的 Flash
88K Flash 就是不够的
这些厂商他们一般都会有外挂 Flash
所以甚至外挂 MCU
所以这时候 TI 提供的这个
Simple Network Processor
Simple Network Processor
这么一个 在我们新的SDK 2.1里面
它有这个工程
它干嘛用呢
就是说你只要把这个
SimpleNP 这个工程编译好以后
刷到2640里面
然后就不用管这个2640了
它就完全成为一个 Network Processor
这是一个透传(8:36)
BLE 透传的东西
这个是一直到BLE的 GATT 层这边
然后 TI 还提供了一个对应它的
也在这个 SDK 里面有个 SimpleAP
就是 Application Processor
我们的 Demo 是
就是说是基于两个CC2640的板子
就是一个跑SimpleNP
一个跑 SimpleAP
然后就说相当于
把 GATT 跑一个
就是说应用跑在另外一个
就是说是 MCU 上面
然后GATT层以下的所有的蓝牙协议栈呢
就跑在我们的那个另外
就是单独的一个2640上
就这么一个情况
所以客户需要做就是说
把这个 SimpleNP 烧到我们的 CC2640上面
然后再把那个 SimpleAP 移到
就是它的外部的 MCU 上面就可以了
这样它就能两个
然后两个用 SPI 或者是 UART 连起来
然后它们就能通信了
中间的通讯协议我们都是做好都写好
这样的好处就是说
因为其实说白了
因为蓝牙就 BLE 这个
东西在很多产品里面
它只是一个负责传数据的一个附属设备
客户很多的他们的应用
其实如果他们已经有自己平台的话
都是基于他们自己的 MCU 平台来开发
这个好处就是说
客户还是可以不需要管2640
不需要学习新的环境
他只要有这个Image
他烧进去就可以
然后他可以就是说把注意力
还是集中在它原来的平台上
就把我们这边很简单的 SimpleAP 移到他那个里面
代码量很小的
移到它里面的那个 MCU 里面
他们自己平台上
然后就可以在这个
还是在他们这个 MCU 上面做
就是说应用的开发
这样就可以了
其实对他们来讲就简单很多
这是 Simple Network Processor
这是 Simple Network Processor
然后还提供了
就是在 SDK 里面还提供了off-Chip OAD
这什么东西呢
就是外挂 Flash 的那个OAD 的更新
也就是我前面讲过的
因为客户现在越来越多的那个应用需求
128K Flash可能很难满足他们的要求
所以如果你这个时候一个外挂 Flash 的话
比如说你那些存放了一些什么
字体其他一些
一些固定的一些数据
在外挂 Flash 里面的话
反正你有外 Flash 就可以
在 Flash 里面也做我们的这个 OTA
就是另外一个说法就是OTA嘛对吧
这怎么做呢
就是说可以通过蓝牙
把你要更新的固件先收来
然后放到那个外挂 Flash 里面
然后再把它拷到那个我们内部 Flash 里面
然后你再 Reset 一下
然后就可以用新的那个
它会自动的 Reset 的
然后你就会有跑新的
更新固件了 就这么情况
然后 TI-RTOS driver update 是什么东西呢
因为2640里面是有 TI-RTOS 的对吧
现在就是它不同于2540
它原来的一些
你要做一些那个驱动的开发
或者怎么样的时候
你必须得直接访问寄存器
那我们2640里面有 TI-RTOS 之后
就是我们把一些底层的一些驱动是吧
比如说 URAT SPI 简单来讲
就是说你可以
我们直接分装成了一个 RTOS 的API
那比如说你很简单
Open UART 或者什么
Transmission Data
UART Transmission Data
你只要调这样的接口
你只要调这样的接口
TI-RTOS的接口
然后它就直接把那个 UART 的那个接口
比如说 Read 的或者是
这样子它就直接完成了UART 的那个功能
只要到 API 就行
所以我们每次 RTOS 的更新呢
它都会可能加一些新的外设的驱动进去
或者是一些 Bug 进去 Bug的那个
Face 进去不是加 Bug 进去
所以2.1里面 TI-RTOS 有一些更新
所以 driver 也有些 update
就是这种情况
然后Flash Memory configuration 是什么意思呢
增加就是原来我们的 SDK 2.0里面呢
就是第一版里面
我们做了一个很高大全的一个东西在里面
就是说你为了就是BLE 4.1嘛对吧
也不是 BLE 4.1
就是说为了
你能一个设备2640
你做外设做那个 BLE 的 Client 的同时
能做 server
所以把这两个
这两个功能给并起来
它其实很多实际的应用当中呢
就说做 BLE 的设备的时候
就说做 BLE 的设备的时候
就做只是做一个 BLE 的那个server
不需要 BLE 的 Client
你其实不需要手机的那种功能
所以在2.1里面
我们就是说把这条加进去
就是说其实就设定一个宏定义
你就能把那个 Client 的功能关掉
这样就能省出额外的 Flash
而且让空间出来就是做开发用
那么另外一个就是说
放在最下面的
这点其实对大家来说
可能是我觉得也是很重要的
对一些特别对那个成本上
就是要求比较高的一些客户
就是我们的2.1里面我们会支持
对 PG2.3
我们现在量产版本的那个2640
它是 PG2.2的
就是说 PG2.3
我们马上就会那个面世
就是这个有什么特别呢
就是我们在 ROM 里面有些改动
就是说可以支持
我们用内部的那个32K的那个震荡器
就来做那个 RTC
不需要再外挂一个32K的那个晶振
当然它的那个精度会稍微弱一点
它会需要去实时的一些
就是说做一些同步或者怎么样
更新它的那个 clock
那就说当然做这些动作
它会有一些一定稍微一点点功耗的增加
它说对成本来讲它就可以省成本
就是说你可以不需要外挂那个32K了
但对你的那个产品的那个尺寸呢它也会有帮助的
因为少了一个元器件
尺寸会更优化
所以这是一个很重要的
我们软件上是支持的
我们软件上是支持的
只要等着 PG2.3 量产就可以了
这是就是说我们 SDK 下载完之后呢
SDK 2.1下载完之后
安装好时
安装好之后呢
就是能看到这么一个情况
打开 IAR 和 CCS 结构是一样的
就是那个有 TI-RTOS一个目录
还有一个 BLE SDK 的
在你的那个C盘下面
就是默认的安装目录下面有这两个东西
就前面讲过
就是因为我们的2640
它是有带 RTOS 的
然后呢其实用起来很简单
用 IDE 打开
IDE 就是 CCS 或者是 IAR 对吧
然后编译
编程编出来之后
你会有两个
一个 Stack 和一个 Application
然后烧到2650那个板子里面去
当然你可以有那个
什么 IOS BTool 或者 TI Device Monitor
进行那个 OAD 的更新
这里BTool 应该不可以作为 OAD 更新的
就说应该是TI Device Monitor
也可以下载附件给它
就这样 讲呢我们 SDK
我们的那个 SDK 2.1呢
它是完全支持 BLE 4.1的嘛对吧
所以其实大家有概念不要搞错了
我们讲再讲SDK2.1
以后有其他人来问你
这个是 SDK 2.1是不是蓝牙2.1
然后说当然不是了
就是那个 TI 的那个内部的
那个软件的一个版本
那2.1我们说支持 BLE BT4.1就是
其实就是 BLE4.1里面的一些
所有的一些那个性能
这里有很多什么
很多什么Low Duty Cycle Direct Advertising
其实最重要的一点
就是应该下放在最下面的
这个我觉得就是说对实际应用来讲
就是可能影响比较大
或者是能开发出一些新的应用场景的一个东西
就是说新的那个拓扑结构
因为 BLE 4.0里面
里面就是一个我们一个 Master设备
它只能是 Master
一个 Slave 设备它只能是Slave
它不能同时做 Slave 或者 master
这就存在一个缺陷
就是我们只能做星形网络
就是我们只能做星形网络
为一个手机做 Master
可能连几个 BLE 的外设是一个星形的形状
那么在4.1之后呢
就是我们有了那个叫做 scan
就是我们有了那个叫做 scan
就是跟原来的那个蓝牙的传统来讲
BLE 很像的一个拓扑结构
BLE 很像的一个拓扑结构
就是我的那个
比如说我手机现在包括 IOS 的设备
安卓5.0以后的那个设备
就是我能同时支持 Slave 或者 Master
我手机可以当 Slave
然后那个也同时可以当 Master 去连外设
当然我们2640也支持这种特性
同时能支持那个 Slave 或者 Master的共存
我可以是我自己这个网络里面
星形网络里面的 Master
星形网络里面的 Master
我连了很多那个 BLE 的外设
跟它们在通信
但同时呢
我又是其他另外一个星形网络的一个 Slave 设备
我又是其他另外一个星形网络的一个 Slave 设备
我可以跟那边的 Master通信
这样子就成了什么呢
就是说大家可以
可能很快就能想到
就是说是一个你可以做 Mesh
就是说我可以从一个网络跳到另外一个网络
我不单单局限于我自己的那个星形网络里面
我不单单局限于我自己的那个星形网络里面
所以这是一个
这是一个很大很大的改进
所以这其实也是为以后
就是说可能我们很多人在问
那个蓝牙有没有 Mesh
TI 有没有 Mesh的那个什么方案呀对吧
那这个就是说
也是 SIG 它在为定义那个
以后会定义
他们自己的那个 Mesh 的一个标准做准备
然后 TI 当然也会跟进
然后 TI 当然也会跟进
只要他们有新的标准出来
我们就会有新的那个 SDK 去做支持
那这个还有就是说
现在最新当然不是已经 BLE4.1了
BLE4.2了已经
就去年12月份的时候
就是那个蓝牙技术联盟
它公布的
它有些什么东西呢
有Secure Connections
有Privacy 1.2
这些东西其实对真正做应用产品开发来讲的话
可能怎么说呢
就是说你跟前面的
相对于前面来讲的话
跟前面比较的话就区别不是很大
因为很多人不会关心这两个东西
但是有一点这个会关注
叫做 LE Data Length Extension
这什么东西呢
就是现在我们的 BLE 空中最大的一个包
只能发20个字节
然后这个呢
4.2之后呢
它能发250多个字节
这什么概念
就是说是原来速度的那个2.5倍嘛
就是一个包长可以达到250多个字节
然后所以就是将会
以后将来怎么
可能今年会发布 BLE5.0或者怎么样
以后将来做准备
就是说甚至它还给您支持传输语音这种
就是说甚至它还给您支持传输语音这种
就是 BLE4.2
TI 我们呢
就是说是最应该是在就是明年年初的时候
应该就会有这个 BLE2.2的 SDK 发布
然后支持这个 BLE4.2
大家可以关注一下
视频报错
手机看
扫码用手机观看
收藏本课程
-
未学习 WCS (2b) Blutooth Smart (2)
00:20:33
播放中
视频简介
WCS (2b) Blutooth Smart (2)
所属课程:WCS (2b) Blutooth Smart (2)
发布时间:2016.04.01
视频集数:1
本节视频时长:00:20:33
TI 微控制器 (MCU) 在世界各地帮助塑造系统,推动迅速、环保、智能和富于乐趣的设计进步。让 TI MCU 帮助您实现这一目标。从低功耗 MSP MCU 和高性能 C2000™ 实时控制器到用于功能安全的 32 位 Hercules™ARM® MCU 以及Cortex®-M4 MCU,TI 提供了种类繁多的嵌入式控制器产品以满足您的设计需要。TI 的 MCU 产品系列具有各种通用的可靠选件,能够满足客户在不断变化的技术世界中的需求。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>