【CC2640】CC2640开发板、软件以及协议栈介绍

CC2640的开发板有哪些?

总的来说,可以提供给CC2640CC2640R2F的开发板有两种,一种是SensorTag,另外一种是LaunchPad

  • SensorTag开发板上搭载了很多外部的传感器,比如六轴加速度传感器、温湿度传感器、光照传感器等等,同时也附带一个512K的外部Flash,它需要搭配使用CC-DEVPACK-DEBUG来完成烧录和调试的功能。使用SensorTag开发板可以使用TI提供的例程,在5分钟内搭建起BLE终端设备采集传感器数据并通过BLE把数据传输手机APP上并显示应用场景示例。

  • LaunchPad上已经集成了烧录器,不需要再配置CC-DEVPACK-DEBUG板来完成烧录和调试的工作,同时的附带的外部flash的大小也增加到了1M,但是并不带有传感器。LaunchPad的好处是接出来芯片的各个引脚,可以方便的使用连线的方式搭建和测试符合自己应用的硬件环境,比如对GPIO口的操作或者测试功耗等等,同时配合LaunchPad TI也提供了更丰富的应用例程,包括一些直接可以和手机APP连接的例程。

CC2640和CC2640R2F在芯片架构和原理上相同,但是软件功能上略有不同,不同点在哪?

  • 从封装来看,CC2640R2FCC2640都支持QFN封装(而且都是PinToPin的),CC2640R2F增加了一种2.7mm*2.7mm的芯片级封装;

  • 在软件开发包支持的方面,CC2640R2F使用的是version 3.0.0版本的开发包,而CC2640使用的是version 2.2.1版本的开发包,这两个开发包从软件实现的功能上来看,都是一样的,但是version 3.00版本的开发包释放了更多的Flash空间给客户应用程序使用;

  • 从开发板的支持来看,CC2640R2F使用搭载CC2640R2FLaunchPad,而CC2640使用的是搭载CC2650LaunchPad

  • 从蓝牙协议栈来说,目前两个开发包都支持蓝牙4.2协议,而CC2640R2F本身支持蓝牙5.0PHYs,在174月发布的蓝牙协议栈支持蓝牙5.0的协议,对于CC2640来说只支持到蓝牙4.2协议。

CC2640和CC2640R2F的核心区别和重点是什么?

  • 1.CC2640R2F支持蓝牙5.0PHYs,内键对蓝牙5.0的新特性:发送长广播的支持。

  • 2.CC2640R2F可以为客户应用程序编程,提供更大的Flash空间支持。同样是运行TI运行SimpleBLEPeripheral例程,基于蓝牙4.0协议,CC2640R2F可以提供给客户应用程序的空间是83Kbytes,而CC264041Kbytes;如果是基于蓝牙4.2的协议,CC2640R2F可以提供给客户应用程序的空间是80Kbytes,而CC264031Kbytes

  • 3.CC2640R2F除了支持Pin2PinQFN的封装方式,还另外添加了一种更小的2.7mm*2.7mm的芯片级封装(这种封装的外部GPIO口有14个)。

为什么在不改变外部芯片架构的情况下,CC2640R2F能够提供80K字节可编程空间给客户应用程序使用呢?

CC2640R2F将蓝牙4.2的协议栈放到ROM里面去了,后期如果需要升级BLE协议栈,可以通过打ROM Patch的方式实现。在这的架构之上,CC2640R2F提供给客户应用程序的空间可以满足和256K Flash BLE SOC 芯片一样的使用需求。

适用于CC2640的2.2版本的开发包都支持哪些蓝牙4.2的特点?

  • 首先添加了LE安全连接的属性,包括:修复BT4.0&BT4.1中使用Legcy Pairing存在的可能被窃听的漏洞;添加了数字比较配对的认证方法,以防止中间人的攻击;使用ECDH算法用于配对过程中的秘钥交换;使用和蓝牙4.0相同的FIPS兼容AES-128加密;向下兼容LE legacy Paring方法(这一特点使蓝牙4.2的设备连接更加的安全可靠);

  • 然后增加了LE 1.2版本的隐私规范,包括:通过使用随时间变化的随机蓝牙设备地址来保护设备不被跟踪;修复了老版本蓝牙协议中对时间隐私功能混淆的部分;通过屏蔽不需要的设备连接或者扫描结果来提高效率,进一步降低功耗;允许对绑定iOSAndroid设备进行白名单,从而实现隐私属性(这一特点可以防止BLE4.2设备被非使用者窃听和跟踪,同时又是整个设备的功耗更低);

  • 最后一点LE数据长度扩展,包括:和BT4.0&4.1相比,数据吞吐量可以提高2.5倍,在使用同样的1Mbps通讯的PHY层情况下,PDU可以从27字节增大到最多251bytes,具体的PDU的大小是在连接的过程中由通讯的双方设备协商确定;由于PDU的增大,带来这个吞吐量的提高,所以BLE设备不在是只能低速传输无线数据,也可以满足对数据吞吐量有一定要求的应用,最典型的例子就是做无线升级OAD,高数据的吞吐量可以缩短无线升级的时间。

SimpleLink CC2640R2 SDK 介绍:

TI专门提供了适用于CC2640R2F的软件开发包,这个开发包从对蓝牙协议的支持来说,和CC2640是一样的,都可以支持蓝牙4.2协议。

  • 从提供的软件例程上来看,包含了和CC2640包一样的示例程序,同时还提供了一个可选的应用程序安装包,这个外加的安装包里包含了额外的应用例程。

  • 从开发包的组成来说,则是和TISimpleLink一系列的芯片保持一致,这个高度整合的平台,使客户可以方便快捷的在不同的硬件之间进行切换。如果使用过TI SimpleLink系列芯片中的一种并且已经基于他的开发包开发过自己的应用程序,只需要做少量的修改,就可以方便的把自己的应用程序移植到新的硬件平台之上。

SimpleLink CC2640R2F SDK 内容:

TI的官方网站上下载软件包的安装文件并安装完成之后,在系统Cti目录下,就可以找到CC2640R2F的软件资料了,包括TIRTOS的内核层、驱动层的代码、以及应用软件开发最关心的示例程序和开发文档。示例程序在开包程序example目录下,包括对BLE协议栈的例程以及对外设的例程等等。开放文档在开发目录的docs文件夹下,从TiRTOSBLE协议栈,从系统底层驱动到协议栈应用示例都有专门的文档做为介绍,目录内有一个Documentation OverViewhtml文件,将所有的应用开发文档整合到一个页面内,通过浏览器打开这个文件,就可以方便的浏览和查找你需要的的开发说明文档。

如何修改CC2640R2F软件包中的实例程序,使它能够运行在自己的硬件平台之上?

步骤很简单,确认硬件平台上使用的CC2640芯片的封装是什么,拿5mm*5mm QFN封装作为例子,只需要板级配置把宏定义CC2650EM_7ID改为CC2650EM_5XD,根据引脚图对应的更改引脚定义就行。也可以从TIGitHub上获取TI搭载不同封装芯片EVM版板级配置文件作为参考。

你可能感兴趣的:(cc2640)