介绍CC2640芯片组成架构及是如何工作达到低功耗的

发布日期:2017.10.31     浏览次数:221

蓝牙无线技术是全球使用范围最广泛的短距离无线标准之一,作为一种小范围无线连接技术,能够在设备间实现方便快捷、灵活安全、低成本、低功耗的数据和语音通信。


CC2640 TI公司的一款无线微控制器 (MCU),主要适用于Bluetooth低功耗应用,具有丰富的外设功能集,其中包括一个独特的超低功耗传感器控制器。此传感器控制器非常适合连接外部传感器,还适合用于在系统其余部分处于睡眠模式的情况下自主收集模拟和数字数据。因此,CC2640 器件成为注重电池使用寿命、小型尺寸和简便实用性的各类应用的理想选择。

(1)通讯距离更远

最大发射功率为5dBm,理论通讯距离比0dBmCC2541大了一倍。

(2)峰值电流更小

0dm的发射峰值电流为6.1mACC2541相应峰值电流为18.2mACC2640 接受电流为5.9mACC2541的接收电流为17.9mA

(3)更多的封装选项
有4X4mm、 5X5mm、7X7mm三个尺寸的封装,CC254x仅有6X6mm的一个封装选项。

 


*CC2640CC2640R2F的区别是什么?*

    CC2640CC2640R2F是低功耗蓝牙SOC的解决方案,两颗芯片的基本架构和工作原理相同,实现的功能略有不同。


*CC2640芯片组成*

      1)主MCU(Main CPU):主MCU是一颗ARM Cortex-M3的处理器,主要运行用户的应用程序,同时也包含TIRTOS和底层的驱动。

     2RF射频部分(RF Core):射频核,是一个不开放的M0,专门控制射频操作,这部分的操作控制主要由BLE协议栈来完成,BLE产品的开发一般都是在App操作,可以完全不需要关心这部分的操作。

     3)传感器控制器引擎(Sensor Control Engine):是CC2640CC2640R2F区别其他TI BLE SOC一个特有的部分,是一个16位的MCU,独立主MCU Cortex-M3和射频核M0工作,可以在系统其他部分都关掉的情况下,独立实现对外部传感器的采集,从而保持整个系统运行的低功耗。

     4)外设(Peripherals):外设接口,则包含了GPIOUART/SPII2CI2STimers(定器),硬件的AES加密。

 

*CC2640系统是如何工作达到低功耗的?*

     1)首先可以看到,当整个系统处于Standby模式的时候,系统RTCRAM还在保持,这时候功耗是1个微安,如果在ShutDown模式,也就是系统RTCRAM不在保持的状态下,整个系统的功耗则是小于0.15微安;

     2)然后当主MCU进入到工作状态的时候,系统功耗大约为3个毫安,而且由于是M3的内容,BLE协议栈和应用程序的处理速度是非常功耗的,在有BLE事件需要处理的时候M3快速处理完成,整个系统又可以切换到低功耗状态;

     3)当需要有射频收发的时候,RF核才打开工作,TX/RX过程大概是6个毫安,同样的当发送和接受处理完成之后,RF核又处于关闭状态;

     4)通过使用SEC可以控制外部传感器的数据采集,在系统的采集的整个过程中,系统的其他部分都可以保持关闭,这时候整个系统的平均功耗可以达到微安级别。

 

*对使用Sensor Control Engine的介绍*

       Sensor Control Engine 是一个16位的RSICMCU,有自己独立2KSRAM,可以独立于主MCU Cortex M3工作,因此可以帮助M3继续采集传感器的数据,从而达到整个系统的低功耗运作。通过整个模块我们可以操作各式各样的传感器,例如,运动检测器、电容式触摸按键、加速度传感器,ADC采样等,另外,当你的系统需要多个串口的时候,也可以通过Sensor Control Engine实现除外设之外的多一个串口,Sensor Control Engine 独立主MCU编程,因此就引出了我们另外的一个工具:Sensor Control Studio

 

*如何对Sensor Control Engine进行编程?*

      1Sensor Contro Studio简称SCS,是一个集成了外部编译环境和调试环境的开发工具。它包含了一个直观的人机操作界面和内键的应用程序实例。使用这个工具的开发可以总结为三个步骤:

     2)参考工具已经提供的多种对不同外设操控的例程,使用类C语言在工具中编程,完成任务的初始化、执行和结束,这个任务运行在SensorControlEngine自己独立的内存找那个。

     3)在工具的测试界面,测试和调试自己的编程任务执行。(如果任务正确执行,就可以执行第三步)

4)导出代码,并把代码整合应用应用到主工程应用程序中去。