这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
cc2640r2f:hardware_architecture [2017/09/01 17:40] long |
cc2640r2f:hardware_architecture [2021/06/22 23:14] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
< | < | ||
+ | |||
# 硬件架构 # | # 硬件架构 # | ||
+ | |||
## 概述 ## | ## 概述 ## | ||
- | 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**。 | + | |
- | ![图3. SimpleLink CC2640R2F框图](http:// | + | 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 **。 | ||
+ | |||
+ | ![](http:// | ||
## 硬件核心 ## | ## 硬件核心 ## | ||
- | 如上所示框图,我们不难看出CC2640R2F包含三个物理内核,每个CPU既可独立使用,也可共享RAM/ | + | |
+ | 如上框图不难看出 CC2640R2F 包含三个物理内核,每个CPU既可独立使用也可共享 RAM/ROM,3 个 CPU 各司其职又协同工作,最大程度实现了性能和功耗平衡。 | ||
### ARM Cortex M3(Main CPU) ### | ### ARM Cortex M3(Main CPU) ### | ||
- | 系统内核(CM3)是设计用来运行低功耗蓝牙协议栈的链路层到用户应用程序的。链路层通过位于RF门铃上方称为RF驱动器的软件模块连接到无线电内核。RF驱动器在CM3上运行,并在CC2640R2F上作为与无线电的接口,并且还管理无线电硬件和内核的电源域。有关RF驱动程序的文档,请参见` TI-RTOS Drivers Reference`。RF驱动器上面的就是TI低功耗蓝牙协议栈,它是在库代码中实现的。 | + | 系统内核( CM3 )用于运行低功耗蓝牙协议栈的链路层到用户应用程序的。链路层通过位于 RF 门铃上方称为 RF 驱动器的软件模块连接到无线电内核。RF 驱动器在 CM3 上运行,可在 CC2640R2F 上作为无线电的接口,还能管理无线电硬件和内核的电源域。 |
+ | 有关 RF 驱动程序的文档,请参见 ` TI-RTOS Drivers Reference` 。RF 驱动器上面的就是 TI 低功耗蓝牙协议栈,它是在库代码中实现的。 | ||
- | 协议栈和应用都工作在改M3和他的128Flash, | + | 协议栈和应用都工作在 M3 和它的 128 Flash 中。注意区分提到过 App+stack 工程管理方式,整个 App+Stack 都是运行在该 CPU 上面,而不是错误理解为App 工作在 M3,Stack 协议栈工作在 M0。 |
### ARM Cortex M0(RF Core) ### | ### ARM Cortex M0(RF Core) ### | ||
- | CC2640R2F内的Cortex M0(CM0)内核负责与无线电硬件相连接以及将来自Cortex M3(CM3)内核的复杂指令转换为可以通过无线电发送的数据。对于低功耗蓝牙协议,CM0实现协议栈的物理层(PHY)。通常,CM0能够自主运行,从而将CM3释放出来处理更高级别的协议和应用层。 | + | CC2640R2F 内的 Cortex M0(CM0)内核负责与无线电硬件相连接、将来自 Cortex M3(CM3)内核的复杂指令转换为数据(可以通过无线电发送的)。低功耗蓝牙协议中 CM0 实现协议栈的物理层(PHY)。通常 CM0 能够自主运行,从而将 CM3 释放出来处理更高级别的协议和应用层。 |
- | CM3通过一个称为RF门铃的硬件接口与CM0进行通信,这在`CC26xx Technical Reference Manual`的第23.2节中有说明。 | + | CM3 通过一个称为 RF 门铃的硬件接口与 CM0 进行通信,这在 `CC26xx Technical Reference Manual` 的第 23.2 节中有说明。 |
- | 对于这里的CM0,不提供用户编程,由TI出厂固化好,M3通过寄存器写入命令原语和共享RAM方式实现彼此通信,对于BLE这样的高级协议栈,几乎屏蔽了物理层操作,所以我们几乎不用关心这里的CM0。对于一些基于物理层(CC13x0)的私有协议开发,可能会设计部分。 | + | CM0 不提供用户编程,由 TI 出厂固化好,M3 通过寄存器写入命令原语和共享 RAM 方式实现彼此通信。 BLE 这样的高级协议栈几乎屏蔽了物理层操作,所以几乎不用关心这里的 CM0。一些基于物理层( CC13x0 )的私有协议开发,可能会涉及部分。 |
### SensorController ### | ### SensorController ### | ||
- | 功耗优化的16位单片机,具有的2KSRAM,负责一些外设控制、ADC采样、SPI通信等。在系统CPU休眠的时候,SC能够独立工作,这样的设计极大降低了系统CPU唤醒频率,从而减少功耗。 | + | 功耗优化的 16 位单片机、具有 |
- | 和Cortex-M0我们不需要关心不同,这的SensorControl我们必须熟悉其原理、开发。我们会将其放在< | + | SensorControl 必须熟悉其原理、开发。具体细节会将其放在< |
## 存储系统 ## | ## 存储系统 ## | ||
- | 对于存储系统我们必须要以下认识: | + | |
- | * 基于多个CPU的设计,每个CPU具有自己独立和彼此共享的存储系统。 | + | 对于存储系统必须要有以下认识: |
- | * TI保留的128ROM作为出厂固件固化,用以实现部分DriverLib、TI-RTOS、BLE-Stack功能; | + | * 基于多个 CPU 的设计,每个 CPU 具有自己独立和彼此共享的存储系统。 |
- | * TI保留8KB的Cache作为预取指缓存,该8KBCache可以配置通过RAM,也就是我们用户可使用的RAM可以从20KB配置到28KB。 | + | * TI 保留的 |
+ | * TI 保留 | ||
![](http:// | ![](http:// | ||
行 38: | 行 49: | ||
> | > | ||
- | 熟悉以上存储空间映射图,和各个存储器起始地址对于我们以后把控代码工程至关重要。 | + | 熟悉以上存储空间映射图和各个存储器起始地址对以后把控代码工程至关重要。 |
## 加入我们 ## | ## 加入我们 ## | ||
+ | |||
文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | ||
<div> | <div> | ||
行 49: | 行 61: | ||
</ | </ | ||
</ | </ | ||
- |