CC2640R2&BLE5.0开发
关于我们
入门开始
- 入门
- CC2640R2F 开发平台
-
视频教程
外设驱动
开发BLE应用
- 协议栈
- 无线固件下载(OAD)
- 应用举例
工具集
其他
- 仿真调试
- 移植向导
- Android BLE开发
CC2640R2&BLE5.0开发
关于我们
入门开始
视频教程
外设驱动
开发BLE应用
工具集
其他
TI 低功耗蓝牙软件开发套件( ble-stack SDK )是开发单模低功耗蓝牙应用的完整软件平台。该 SDK 基于完整的片上系统( SoC )低功耗蓝牙解决方案SimpleLink CC2640R2F。
CC2640R2F 结合了 2.4GHz RF 收发器、128KB 系统可编程存储器、20KB SRAM 以及丰富的外设。它有一个 ARM® Cortex®-M3 系列的处理器用来处理应用程序和蓝牙低功耗协议栈,还有一个 ARM Cortex®-M0 处理器来处理所有底层的无线电控制以及相关的物理层和部分链路层。
传感器控制器模块能够独立于 Cortex-M3 处理器进行自主数据采集和控制,从而提供了额外的灵活性,进一步扩展了 CC2640R2F 的低功耗能力。下图显示了模块框图。有关 CC2640R2F 的更多信息,请参见 CC26xx Technical Reference Manual 。
如上框图不难看出 CC2640R2F 包含三个物理内核,每个CPU既可独立使用也可共享 RAM/ROM,3 个 CPU 各司其职又协同工作,最大程度实现了性能和功耗平衡。
系统内核( CM3 )用于运行低功耗蓝牙协议栈的链路层到用户应用程序的。链路层通过位于 RF 门铃上方称为 RF 驱动器的软件模块连接到无线电内核。RF 驱动器在 CM3 上运行,可在 CC2640R2F 上作为无线电的接口,还能管理无线电硬件和内核的电源域。
有关 RF 驱动程序的文档,请参见 TI-RTOS Drivers Reference
。RF 驱动器上面的就是 TI 低功耗蓝牙协议栈,它是在库代码中实现的。
协议栈和应用都工作在 M3 和它的 128 Flash 中。注意区分提到过 App+stack 工程管理方式,整个 App+Stack 都是运行在该 CPU 上面,而不是错误理解为App 工作在 M3,Stack 协议栈工作在 M0。
CC2640R2F 内的 Cortex M0(CM0)内核负责与无线电硬件相连接、将来自 Cortex M3(CM3)内核的复杂指令转换为数据(可以通过无线电发送的)。低功耗蓝牙协议中 CM0 实现协议栈的物理层(PHY)。通常 CM0 能够自主运行,从而将 CM3 释放出来处理更高级别的协议和应用层。
CM3 通过一个称为 RF 门铃的硬件接口与 CM0 进行通信,这在 CC26xx Technical Reference Manual
的第 23.2 节中有说明。
CM0 不提供用户编程,由 TI 出厂固化好,M3 通过寄存器写入命令原语和共享 RAM 方式实现彼此通信。 BLE 这样的高级协议栈几乎屏蔽了物理层操作,所以几乎不用关心这里的 CM0。一些基于物理层( CC13x0 )的私有协议开发,可能会涉及部分。
功耗优化的 16 位单片机、具有 2K SRAM。负责一些外设控制、ADC 采样、SPI 通信等。在系统 CPU 休眠的时候 SC 能够独立工作,这样的设计极大降低了系统 CPU 唤醒频率,从而减少功耗。
SensorControl 必须熟悉其原理、开发。具体细节会将其放在 SensorController 章节统一讲解。
对于存储系统必须要有以下认识:
注意:以上存储空间映射图未包含完整功能寄存器和外设,完整存储映射图点击C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/docs/driverlib_cc13xx_cc26xx/cc26x0r2/register_descriptions/CPU_MMAP/CPU_MMAP.html
熟悉以上存储空间映射图和各个存储器起始地址对以后把控代码工程至关重要。
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。