概述
CC2640和CC2640R2F的区别是什么?
CC2640和CC2640R2F是低功耗蓝牙SOC的解决方案,两颗芯片的基本架构和工作原理相同,实现的功能略有不同。
CC2640芯片组成?
主MCU(Main CPU):
主MCU是一颗ARM Cortex-M3的处理器,主要运行的是客户的应用程序,同时也包含TIRTOS和底层的驱动。RF射频部分(RF Core):
射频核,是一个不开放的M0,专门控制射频操作,这部分的操作控制主要由BLE协议栈来完成,BLE产品的开发一般都是在App操作,可以完全不需要关心这部分的操作。传感器控制器(Sensor Control Engine):
Sensor Control Engine,SCE,是CC2640和CC2640R2F区别其他TI BLE SOC一个特有的部分,是一个16位的MCU,独立主MCU Cortex-M3和射频核M0工作,可以在系统其他部分都关掉的情况下,独立实现对外部传感器的采集,从而保持整个系统运行的低功耗。外设(Peripherals)
外设接口,则包含了GPIO,Timers(定器),UART/SPI,I2C,I2S,DMA,硬件的AES加密。
CC2640系统是如何工作达到低功耗的?
- 首先可以看到,当整个系统处于Standby模式的时候,系统RTC和RAM还在保持,这时候功耗是1个微安,如果在ShutDown模式,也就是系统RTC和RAM不在保持的状态下,整个系统的功耗则是小于0.15微安;
- 然后当主MCU进入到工作状态的时候,系统功耗大约为3个毫安,而且由于是M3的内容,BLE协议栈和应用程序的处理速度是非常功耗的,在有BLE事件需要处理的时候M3快速处理完成,整个系统又可以切换到低功耗状态;
- 当需要有射频收发的时候,RF核才打开工作,TX/RX过程大概是6个毫安,同样的当发送和接受处理完成之后,RF核又处于关闭状态;
- 通过使用SEC可以控制外部传感器的数据采集,在系统的采集的整个过程中,系统的其他部分都可以保持关闭,这时候整个系统的平均功耗可以达到微安级别。
对使用Sensor Control Engine的介绍
Sensor Control Engine 是一个16位的RSIC的MCU,有自己独立2K的SRAM,可以独立于主MCU Cortex M3工作,因此可以帮助M3继续采集传感器的数据,从而达到整个系统的低功耗运作。通过整个模块我们可以操作各式各样的传感器,例如,运动检测器、电容式触摸按键、加速度传感器,ADC采样等,另外,当你的系统需要多个串口的时候,也可以通过Sensor Control Engine实现除外设之外的多一个串口,Sensor Control Engine 独立主MCU编程,因此就引出了我们另外的一个工具:Sensor Control Studio。
如何对Sensor Control Engine进行编程?
Sensor Contro Studio简称SCS,是一个集成了外部编译环境和调试环境的开发工具。它包含了一个直观的人机操作界面和内键的应用程序实例。使用这个工具的开发可以总结为三个步骤:
参考工具已经提供的多种对不同外设操控的例程,使用类C语言在工具中编程,完成任务的初始化、执行和结束,这个任务运行在SensorControlEngine自己独立的内存找那个。
在工具的测试界面,测试和调试自己的编程任务执行。(如果任务正确执行,就可以执行第三步)
导出代码,并把代码整合应用应用到主工程应用程序中去。
Sensor Control Engine进行编程详细每一步的步骤?
在Sensor Contro Studio的主界面,我们可以选择适合自己应用的例程打开,并基于整个例程修改自己的应用,一个工程最多可以包含8个Task,每个Task都由初始化代码、执行代码和终止代码组成这些代码部分可以使用类C语言进行编程,可以调用的系统接口全部列表显示在屏幕的右下角,可以参考工具的内键文档,了解每个接口的函数说明。如果需要配置使用到的PIN脚定义可以进入IO Mapping进行配置。在完成Task的编程之后,可以进入Task Testing模块对Task运行进行调试。调试模式多种多样,例如:单步调试、设置断点调试等等,这个工具都可以支持。单个任务以一个预先定义好的间隔时间来工作,如果工程中有多个任务,则可以对每个任务设置自己的间隔时间。当我完成了对SensorControl的编程之后,进入Code Generate模块。
进入Generate Code模块,点击Generate Driver Source Code,即可导出程序的映像以及基于TIRTOS的相关驱动,Sensor Control Engine程序的映像即固件,实际上是一段二进制的数组,将数组和连同一起导出的驱动整合到主CPU的应用程序中去即可完成对Sensor Control Engine的操控。
最后
以上就是陶醉玉米为你收集整理的【CC2640】CC2640架构及原理的全部内容,希望文章能够帮你解决【CC2640】CC2640架构及原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复