cc2640蓝牙芯片软件开发指导说明文件

上传人:飞*** 文档编号:40636781 上传时间:2018-05-26 格式:DOCX 页数:119 大小:5.36MB
返回 下载 相关 举报
cc2640蓝牙芯片软件开发指导说明文件_第1页
第1页 / 共119页
cc2640蓝牙芯片软件开发指导说明文件_第2页
第2页 / 共119页
cc2640蓝牙芯片软件开发指导说明文件_第3页
第3页 / 共119页
cc2640蓝牙芯片软件开发指导说明文件_第4页
第4页 / 共119页
cc2640蓝牙芯片软件开发指导说明文件_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《cc2640蓝牙芯片软件开发指导说明文件》由会员分享,可在线阅读,更多相关《cc2640蓝牙芯片软件开发指导说明文件(119页珍藏版)》请在金锄头文库上搜索。

1、1 概述 该文档的目的是为了给出 TI simpleLink 低功耗蓝牙 cc2640 无线 MCU 软件开发工具的概述,从而开始创建一个智能蓝牙的定制应用。该文档也提供了低功耗蓝牙的特性的介绍,在本文档中,低功耗蓝牙特指 BLE。然而,这些不能作为 BLE 完整的技术规格的替代。阅读蓝牙内核规范来了解更多的细节,或者是 TI BLE wiki 页中提供的一些介绍资料。1.1 介绍4.1 版本的蓝牙规范允许两种无线技术系统:基本频率和低功耗蓝牙。BLE 系统设计用来一次发送非常小的数据包,所以比 BR 设备消耗更少的电量。可以支持 BR 和 BLE 的设备就是双模式设备,运行在Bluetoot

2、h Smart Ready 下。在蓝牙无线技术系统中的典型应用,一台移动智能手机或者笔记本电脑就是双模式设备。设备只制成 BLE 的就是单模式设备,运行在 Bluetooth Smart 下。这些单模式设备同城用在优先考虑低功耗的应用场景中,比如那些基于纽扣电池的设备。1.2 BLE 协议栈基础BLE 协议栈属性如下所示:BE 协议栈(就是简称协议栈)由两个部分组成:控制器和主机。这两个部分经常独立实现,这就将主机和控制器设备与蓝牙的 BR 设备区分开了。任何配置和应用都位于GAP 和 GATT 层的上面。物理层(PHY)是一个 1Mbps 适配调频的 GFSK 接收器,操作在公开的 2.4G

3、Hz 带宽上的。链路层(LL)控制设备上的 RF 的状态,设备会处于五种当中的一种状态:就绪、广播、扫描、初始化、连接。广播者发送数据不需要连接,扫描者监听广播。初始者就是一个设备响应一个广播者的连接请求。如果广播者接受连接,那么广播者和初始者就都处于连接状态。当一台设备处于连接状态,他将处于两种角色当中的一种,主机或从机。初始化连接的设备就成了主机,而接受请求的就变成了从机。主机控制接口(HCI)层,提供了一种控制器和主机之间的通讯手段的标准接口。该层也可以通过一个软件接口或者一个硬件接口如 UART,SPI,或者 USB 来实现。标准的HCI 命令和事件是在蓝牙内核中指定的。TI 所使用的

4、命令和事件在 Vendor Specific Guide 中说明。链路逻辑控制和适配协议层(L2CAP)层为长层提供数据打包服务,允许端对端的数据交互。安全管理层(SM)定义了配对和密匙分配的方法,也为其他协议层提供安全连接和数据交换的功能。5.4 中有 TI 的 SM 层的实现的更多的细节。通用通道协议层(GPA)层直接面向应用层(也可有)配置,来处理设备的发现和连接相关的服务。GAP 处理安全因素的初始化,5.1 中有更多关于 TI GAP 层实现的信息。属性协议层(ATT)协议允许一个设备展现一个确定长度的数据给另一个设备,就是所谓的属性。通用属性协议(GATT)层是个服务的框架,定义了

5、辅助进程来使用 ATT。所有发生在两个 BLE 连接设备之间的通讯都是通过 GATT 的副进程处理的,因此,应用(可以有)配置将直接使用 GATT。5.3 重点讲解 ATT 和 GATT 层。2Texas Instrucments 软件开发平台TI的免费版的BLE-Stack软件开发工具(SDK)是一个完成的软件平台,可以永爱开发单模式的BLE应用。它基于SimpleLink CC2640,完整的SOC Bluetooth Smart解决方案。cc2640结合了一个2.4GHz的RF收发器,128kB的嵌入式可编程的内存。20看BDSRAM,和一个全尺寸的外设。设备基于ARM Cortex-M

6、3串行处理器来处理应用层和协议栈,同时自动的天线内核基于ARM Cortex-M0处理器来处理所有低级的天线控制和与物理层及部分链路层的进程。传感器控制块提供了一种额外的灵活的方法来自动完成独立于M3核的数据获取和控制,因此也加强了cc2640的低功耗的能力。结构框图在下面,更多的细节在cc2640技术说明指南中。2.1 协议栈/应用配置平台支持两种不同的协议栈/应用配置1.单个设备:控制器,主机,配置和应用都在cc2640上实现作为一个真正的芯片解决方案。这是使用cc2640是最简单和最常见的配置。同时这也是我们大多数类程中使用的配置。是最佳性价比的技术和提供最低功耗的性能、2.网络处理器:

7、控制器和主机一起在cc2640上实现,而配置和应用则是分开实现的。应用和配置与cc2640的通讯是通过HCI命令或事件完成的,使用的是SPI或UART接口。这种配置对于运行在其他设备(如外部微处理器或电脑)上的应用来说是有用的。在这些案例中,应用可以独立开发,而BLE协议栈依旧运行在cc2640.网络工程不在该文档中展示。2.2 解决方案这部分将描述各种安装在BLE协议栈SDK中的组件,协议栈的目录结构和开发过程中所需的任何工具。这个解决方案包含了下面的组件:1.实时操作系统(RTOS),TI-RTOS SYS/BIOS kernel 支持最优化的电源管理,和外设驱动(如SPI,UART等)2

8、.cc26xxware驱动库:提供一个寄存器抽象层并被软件或驱动用来控制cc2640的Soc。3.BLE 协议栈:以库的形式提供,和存放在cc2640 ROM中的协议栈的部分。4.应用和配置类程:使基于合适的、通用的方案开发更加简单。BLE SDK中提供所有的应用和配置都是经过蓝牙技术联盟测试合格的。当前支持的编译器有:IAR和CCS2.3 目录结构BLE SDK的安装包中包含了大量的工程从最基本的BLE功能到使用案例特定的应用诸如:心率传感器,血糖采集等。这些应该用于应用开发的起始点的基本工程会在下面做简单的描述。更多的谢姐和其他的工程请查看12章。SimpleBLEPeripheral 工

9、程由简单的代码组成,展示了一个非常简单的但设备模式下的BLE从机应用。可以作为开发从机/外设应用的指导。SimpleBLECentral 工程展示了连接的另一边。展示了一个简单的单设备配置模式下主机/中心应用,可以作为开发主机或中心的应用的指导。SensorTag 工程上一个外设应用,用来运行在cc2650 Sensor Tag指向的硬件平台,与传感器目标通讯如温度传感器等。HostTest 工程用来给cc2640创建一个网络处理器的软件。包含了主机和从机的角色配置,并可以被电脑端的应用Btool控制。参考供应商提供的HCI应用接口指南,在文档文件夹中有提供网络处理器实现的APIs。2.4 设

10、置开发环境在进一步编程之前, 有必要来设置综合开发环境(IDE),目的是为了浏览本文档中提到的工程和代码。所有的适合cc2640的软件都是基于IAR或者ccs开发的。这部分讲在哪里可以找到这些软件,并正确的配置这些IDE。该文档中提到的所有的路径和文件都必须是BLE SDK安装的默认路径。强烈要求做个BLE SDK的备份来进行修改。BLE SDK使用的是相对路径,设计为模块化的,这样就允许顶层目录可以复制到任何合法的地址了。注意:确保最大的文件系统命名路径长度没有改变。2.5.1 安装SDK运行安装包“ble_cc26xx_setupwin32_2_00_00_xxxxx.exe”来安装BLE

11、协议栈的SDK。1.xxxx是SDK的版本号;2.默认的SDK的安装路径是:C:tisimplelinkble_cc26xx_2_00_00_xxxx.exe这个安装包同时也会安装TI-RTOS和XDC工具的附件,前提是以前没有安装过,也包括Btool电脑应用。下面的图列出了BLE-Stack SDK支持的软件、工具和测试。2.5.2 IAR这部分不予翻译。2.5.3Code Composer Studio(CCS)ccs包含了许多因素都超出了本文档的范围,可以在ccs网站获取更多的信息和文档:http:/ SDK的释放说明,注意ccs的版本和其它的工作相关的要求。另外,有CCS编译生成的代码

12、在大小上和表现上可能与IAR的生成的代码不同。 2.5.3.1配置ccs这部分秘书安装和配置当前办呢的CCS和必要的工具。1. 下载6.0.1或更高级的版本的ccs,下载地址为:http:/ Wireless MCUs;cc26xx 设备支持 TI ARM 编译器3. 安装XDS100或XDS200模拟器支持包。4. 一旦CCS安装成功后所有体统的应用可以通过选择 .help - Check for Updates来更新。注意:这个操作可能会要求在每次更新完一个应用后就会重启5. 充应用中心(APP Center)中安装最新的TI ARM 编译器5.1 选择View CCS App Cente

13、r5.2. 选择TI ARM 编译器5.3 选择要安装的软件6. 当所有的更新都安装完成后,通过选择help - About Code Composer Studio来验证安装细节。ARM Compiler Tools: 5.2.0CC26xx Device Support: 1.12.2.00 (or later)2.5.3.2使用CCS这部分将描述怎样打开和编译一个存在的工程。这里将使用SimpleBLEPeripheral工程作为例子。同样的,所有包含在CCS开发包中的CCS BLE工程都有相似的结构。2.5.3.2.1 导入一个存在的工程。首先,打开CCS编译器的开始菜单。一旦CCS已

14、经打开了,单击Project- Import CCS Project选择下面的目录:$BLE_INSTALL$ProjectsbleProjectsbleSimpleBLEPeripheralCC26xxCCS这个是CCS中SimpleBLEPeripheral工程的目录。ccs将会发现两个工程(一个应用,一个栈工程)。检查两个工程,选择“Copy Projects Into Workspace”,最后选择“Finish”完成导入。2.5.3.2.2 工作空间概述这个工作空间,其实所有的cc2640工程的工作空间,都包含两个工程:应用工程(SimpleBLEPeripheral)和栈工程(Si

15、mpleBLEPeripheralStack)。二者之一可以通过在浏览器中单击工程名字来激活。下图中,应用工程被选为激活工程,每个工程都会生成一个独立的下载镜像。采用这种双镜像的目的是应用工程可以独立于栈更新了。处于实际原因,SimpleBLEPeripheral例程的主要作用是作为一个通用应用开发的指导。SimpleBLEPeripheral工程实现了一个基本的BLE外设设备,包括GATT和GATT服务。这个工程可以用作一个开各种外设角色应用的固件。2.5.3.2.3 编译和下载因为工作空间分成了两个工程(应用和栈),因此编译和下载有固定的顺序:1. 选择应用工程作为激活工程使用Projec

16、t-Build ALL 编译工程;2. 选择栈工程作为激活工程,使用Project-Build ALL 编译工程;3. 选择栈工程作为激活工程,使用Run-Debug下载栈工程;4. 选择应用工程作为激活工程,使用Run-Debug下载应用工程。注意:以上操作只限于初次下载和栈工程有修改的时候。只要栈没有修改,则只需执行下面的步骤:1. 编译应用2. 下载应用2.6 访问预处理符号贯穿整个文档,所有的C的预处理符号可能需要修改或者是调整工程的等级。访问预处理符号的流程是基于使用的IDE的。下面的流程展示了如何访问和修改预处理符号(IAR的方法不讨论)。在CCS中,预处理符号可以通过选择和打开各自的工程properties(比如,应用或栈工程),按照CCS Build ARM Compiler Advanced O

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号