- 本课程为精品课,您可以登录eeworld继续观看:
- WCS (2b) Bluetooth Smart (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
大家可以关注一下
课程介绍
共计16课时,5小时14分59秒
猜你喜欢
换一换
推荐帖子
- <玩转C2000 Launchpad> 菜鸟入门,我也玩玩C2000
- 赶下潮流。也接触一下C2000,初步打算先了解一下这东西。听说这东西很复杂。好在有很多现成的例程可以用来学习。打算过年放假在家就靠这个打发时间了。...
- daijun 微控制器 MCU
- 【问TI】LM3S的功耗怎么样?比MSP430功耗要耗多少?
- 国家政府甚至整个世界都在提倡节能环保,功耗问题成为大家比较关注的问题,也是未来发展的方向。MSP430已经在这方面做的很成熟了,是其他公司所不能达到的。但是对于刚收购没几年的LM3S功耗又怎么样呢?与其他同类的M3系列的产品比,我们的芯片功耗如何? 说点其他的,TI的样片申请现在很严格啊,一有点不对就申请不...
- fxw451 微控制器 MCU
- 问题分享:电池管理芯片中AFE和电池监视器有什么区别
- 本帖最后由 qwqwqw2088 于 2020-6-16 10:55 编辑 Q: TI 的电池管理芯片中有好几个种类,包括电量计,电池监视器和平衡器(这个又有模拟前端AFE,电池监视器),想请问这些都是做电池管理的,有什么区别。比如BQ76PL102和BQ29330 ...
- qwqwqw2088 模拟与混合信号
- 一种用于过采样 - DAC和D类音频功率放大器的插值滤波器设计
- 本文提出了一种用于过采样 - DAC和D类音频功率放大器的插值滤波器的设计方法,利用此方法设计出了一个4倍的插值滤波器。...
- fighting 模拟与混合信号