- 本课程为精品课,您可以登录eeworld继续观看:
- 开发板,软件包及协议栈
- 登录
- 课程目录
- 相关资源
- 课程笔记
大家好我是德州仪器无线连接
技术部门的现场应用工程师Barbara Wu
这里我要给大家介绍德州
仪器新一代的低功耗蓝牙芯片
软件开发的相关知识在 上一讲中
我们一起了解了芯片是如何工作的
在这一讲中我们一起来看一看
CC2640和cc2640R2F
都有哪些可用的开发版软件包
以及协议栈 总的来说可供
CC2640和C2640R2F
使用的开发板有两种 一种是SensorTag
另外一种是LaunchPad
SensorTag开发版上搭载了很多的外部
传感器 比如六轴加速度传感器
温湿度传感器光照传感器等等
同时也附带一个512K的web flash
它需要搭配使用CCDEVPack
第八个板来完成烧录
和调试的功能 使用SensorTag
开发版可以使用TI提供的例程
在五分钟之内搭建起BLE终端
设备采集传感器数据并通过BLE
把数据传输到手机APP上并
显示的应用场景示例 LaunchPad上
已经集成了烧录器不需要再配合
CCDEVPack第八个板来
完成烧录和调试的工作 同时附带
的外部flash大小也增加
到了一兆 但并不带有传感器
LaunchPAD的好处是板子上接触了
芯片的各个引脚可以方便地使用
连线的方式搭建或者测试符合
自己应用的硬件环境比如对GPL口的
操作或者测试功耗
等等 同时配合LaunchPad的提案也
提供了更丰富的应用例程 包括
一些可以直接和手机APP连接
的例程 在上一讲中我们有提到
CC2640和CC2640R2F在
基本的芯片架构和工作原理上
相同 但是在软件功能上还是
有一些不同 这里我们就一起来
看一下到底有什么不同 从封装来看
cc2640和cc2640R2F
都支持QFN的封装 而且是
pin to pin的 C2640R2F增加了
一种2.7毫米乘2.7毫米的
芯片级封装 在软件开发包支持的
方面CC2640R2F使用的是
3.0.0版本的开发包
而CC2640则使用的是2.2.1版本
的开发包 这两个开发包从软件
实现的功能来说都是一样的
但是3.0.0版本释放了更多的
flash空间供客户应用编程使用
从开发版的支持来说
CC2640R2F使用搭在
CC2640R2的LaunchPad的
而CC2640则使用搭在CC2650
的LaunchPad 从蓝牙协议栈来说
目前两个开发包都支持蓝牙4.2协议
而2640R2F芯片本身
支持蓝牙5.0的PHY 在四月发布的新的开发包之后
支持蓝牙5.0的协议 对于CC2640来说
则只支持到蓝牙4.2协议 所以如果要
对CC2640R2F和
CC2640的区别勾重点 就是三条
第一CC2640R2F支持
蓝牙5.0的PHY 内建对蓝牙5.0
的新特性发送长广播包的支持
第二点CC2640R2F可以
为客户应用的程序编程提供更大
的flash空间支持 从宽度中
我们可以看到同样是运行TI的
simple BLE peripheral例程
基于蓝牙4.0协议 CC2640R2F
可以提供给客户应用程序
编程的空间是83K大B
而CC2640是41K 如果是基于
蓝牙4.2的协议 CC2640R2F
可以提供给客户应用程序
编程的空间是80K大B
而CC2640则只有31K 第三点
就是CC2640R2F除了
pin to pin支持CC2640QFN
的封装之外还另外添加了一种
更小的2.7毫米乘2.7毫米的
芯片级封装 这种封装的外部
GPIO口有14个 那么为什么
在不改变芯片架构的情况下
CC2640R2F能够提供80K
字节的可编程空间给客户应用
程序使用呢 从框图中我们可以
看到CC2640R2F将蓝牙
4.2的协议栈放到ROM里面去了
后期如果需要升级必要一协议栈
可以通过打ROM patch的方式来实现
在这样的架构之上CC2640R2F
提供给客户应用的空间
可以满足和256K
flash的BLE SoC芯片
一样的使用需求 下面我们一起来
看一下适用于CC2640的
2.2版本开发包都支持哪些蓝牙
4. 2的特点 首先添加了LE安全
连接的属性 包括修复蓝牙4.0和
4.1中使用legacy pairing存在的可能
被窃听的漏洞 添加了数字比较
配对认证方法 以防止中间人的攻击
使用ECDH算法用于配对
过程中的密钥交换 使用和蓝牙
4.0相同的FIPS兼容AES128
加密 向下兼容LE legacy pairing
方法 这一特点使蓝牙4.2的
设备连接更加安全可靠 然后增加
了LE1.2版本的隐私规范
通过使用随时间变化的随机蓝牙设备
地址来保护设备不被跟踪 修复了
老版本蓝牙协议中对实现隐私
功能混淆的部分 通过屏蔽不需要
的设备连接或者扫描结果来提高
效率 进一步降低功耗 允许对绑定
的IOS和安卓一设备使用
白名单从而实现隐私属性 这一特点
可以防止BLE4.2设备被
非使用者窃听和跟踪 同时又使整个
设备的功耗更低 第三点LE数据
长度扩展 和蓝牙4.0和4.1相比
数据吞吐量可以提高2.5倍
在使用同样的一兆Mbps通讯速率
PHY层的情况下PDU又可以从
27个字节增大到最多251个字节
具体PDU的大小是在连接
的过程中由通讯的双方设备协商
确认 由于PDU的增大带来了
整个吞吐量的提高 所以BLE设备
再也不是只能低速传输无线数据
也可以满足一些对数据
吞吐量有一定要求的应用 最典型
的一个例子就是在做无限升级
OAD的时候高数据吞吐量
可以明显缩短无限升级的时间
TI同样提供了专门适用于
CC2640R2F的软件开发包
这个开发包从对蓝牙协议的支持
来说和CC2640是一样的
都可以支持蓝牙4.2协议 从提供的
软件例程来看 包含了和
CC2640开发包一样的事例程序
同时还提供一个可选的应用程序
安装包 这个外加的安装包里包含
了一些额外的应用历程 从开发包
的组成来说则是和TI SimpleLink
一系列的芯片保持一致 这个高度
整合的平台使客户可以方便快捷
地在不同硬件之间进行切换
如果您已经使用过TI SimpleLink系列
芯片中的一种 并且已经基于它的
开发包开发过自己的应用程序
那么做少量的修改就可以方便地
把自己的应用程序移植到新的
硬件平台之上 从TI的官方网站
上下载软件包的安装文件并安装
完成之后可以看到在系统C盘
tm目录下就可以找到
CC2640R2F的软件资料了
包括TI Rtos内核层
驱动层的代码以及应用软件开发
最关心的事例程序和开发文档
示例程序在开发包目录example
文件夹下 包括对BLE
协议栈的例程以及对外设的
例程等等 开发文档则在开发包
目录docx文件夹下 从TI Rtos
BLE协议栈 从系统
底层驱动到协议栈应用事例都有
专门的文档作为介绍 目录内有
一个名为Documentation Overview的
html文件 将所有的应用开发
文档整合在一个页面里
透过浏览器打开这个文件就可以方便
地浏览和查找你需要的开发寿命文档
那么如何修改CC2640R2F
软件包中的事例程序
使它能够运行在自己的硬件平台之上呢
其实步骤也非常简单 首先确认
硬件平台上使用的CC2640R2F
芯片的封装是什么
拿5x5 QFN封装作为例子 这时只需要
修改版及配置 将宏定义从默认对
7×7芯片的支持改为对5x5
芯片的支持 然后根据原理图对应
的更改银角定义就可以了 也可以
从TI的GitHub上获取
TI搭载不同封装芯片的EM板
的板级配置文件作为参考
谢谢大家的时间
课程介绍
共计3课时,32分4秒
猜你喜欢
换一换
推荐帖子