- 课程目录
- 相关资源
- 课程笔记
大家好我是德州仪器无线连接
技术部门的现场应用工程师Barbara Wu
这里我要给大家介绍德州
仪器新一代的低功耗蓝牙芯片
软件开发的相关知识
CC2640和CC2640R2F是低功耗
蓝牙SOC的解决方案 两颗芯片
的基本架构和工作原理相同
实现的功能略有不同 我们首先来详细
看一看芯片是如何工作的
从框图可以看到芯片主要有四个部分
主MCU射频部分 sensor controller
engine 以及外设 主MUC是一个
Cortex-M3的处理器 主要
运行的是客户的BLE应用程序
同时也包含TI RTOS和底层的驱动
射频盒是一个不开放的M0
专门控制射频操作这部分的操作
控制主要有BLE协议栈完成
ble产品的开发一般只需要在
APP层编程可以完全不用操心
这部分的操作sensor controller engine
也就是SCE是CC2640
CC2640R2F区别于其他BLE
SOC芯片的一个特有部分
它是一个16位的单片机 独立于
主MUC M3和射频盒M0工作
可以在系统其他部分都关掉的
情况下独立实现对外部传感器的
数据采集 从而保持整个系统运行
的低功耗 外设接口则包含了GPIO
定时器 UART/SPI
I2C I2S接口
以及硬件AES加密等功能接口
下面我们就一起来看一下整个
系统是如何工作同时又达到
低功耗的 首先可以看到当整个
系统处于stand by模式的时候 系统RTC
和ROM还是在保持 这时整个
系统的功耗是一个微安 如果
在shut down模式也 就是系统RTC和
RAM不在保持的状态下整个系统的
功耗则是小于0.15个微安
然后再来看一下当主MUC M3
进入工作状态的时候系统功耗
大约为三个毫安 而且由于是M3
的内核BLE协议栈和应用程序
的处理速度是非常高效的
在有BLE一事件需要处理的时候M3
快速处理完成之后整个系统又
可以切回到低功耗运行的模式
第三步当需要有射频收发的时候
RF核才打开工作 TX和RX的
功耗大约为六个毫安 同样的它
发送接收处理完成之后RF核
回到关闭状态 通过使用SCE
可以控制外部传感器的数据采集
在数据采集的整个过程中系统的
其他部分都可以保持关闭 这时
整个系统的平均功耗可以达到微安级别
在图表中我们可以看到
每一个步骤所对应的功耗
sensor controller engine这个模块是一个16位的
RISC CPU 拥有自己独立的
2KB SRAM 可以独立于M3
工作 因此可以帮助M3在休眠
状态下继续采集传感器的数据
从而达到整个系统的低功耗运作
通过这个模块我们可以操作
各式各样的传感器例如运动检测器
电容式触摸按键 接近传感器
加速度传感器 ADC采样等等
另外当你的系统需要多个窗口的
时候也可以通过sensor controller来
实现除外设之外的多一个串口
sensor controller engine模块独立于主MCU编程
因此就引出了我们的另外
一个工具 sensor controller studio
下面我们来看一下如何对sensor controller
这部分进行编程sensor controller studio
简称SCS是一个集成了外部
编译环境和调试环境的开发工具
它包含一个直观的人机操作界面
和内件的应用程序示例 使用这个
工具的开发可以总结为三个步骤
一参考工具已经提供的多种
对不同外设操控的例程 使用类C语音
在工具中编成完成任务的
初始化执行和结束 这个任务运行
sensor controller engine自己独立的
内存之中第二步在工具的测试界面
测试和调试自己的编程任务执行
如果任务正确执行就可以
执行第三步 导出代码并把代码整合
应用到主工程之中去
下面我们就来详细看一下每一步
需要做什么在sensor controller studio的
主界面我们可以选择适合自己
应用的例程打开并基于这个例程
修改自己的应用 一个工程最多
可以包含八个task 每个
task都有初始化代码 执行代码
和终止代码组成 在这些代码部分
可以使用类C语言进行编程
可以调用的系统接口全部都列表
显示在屏幕的右下角可以参考
工具内建的说明文档来了解每个
接口的函数说明如果需要配置
使用到的拼角定义可以进入IO mapping
进行配置在完成
task的编程之后可以进入
task 的testing模块对task运行
进行调试调试模式
多种多样例如单步调试设置断点
等等这个工具都可以支持单个的
任务以一个预先定义好的间隔
时间来工作如果工程中有多个
任务则可以对每个任务都设置
自己的间隔时间当我们完成了
对sensor controller的编程之后进入
code 的generate模快点击
generator driver source code
即可导出程序的印象以及基于
TI RTOS的相关驱动
sensor controller engine的程序印象及固件
实际上是一段二进制的数组
将数组连同一起导出的驱动整合到
主CPU的应用程序之中即可完成
对sensor controller engine的操控
谢谢您的观看
课程介绍
共计3课时,32分4秒
猜你喜欢
换一换
推荐帖子
- MSP430F149单片机实现uart数据接收中断
- /***************************************************** 程序功能:MCU不停向PC机发送数据,在屏幕上显示0~127对应 的ASCII字符 ------------------------------------------------------ 通信格式...
- fish001 微控制器 MCU
- 关于6416收发ttl电平的问题!
- 我现在用的是DEC-6416,需要发送和接收ttl电平(控制其他仪表) 我已经打电话询问过了,技术人员说可以通过RS232 来实现,但是没有例程提供 请问应该怎么实现呢? ...
- lwmhunhun DSP 与 ARM 处理器
- MSP430初始化大量数据时跑飞的问题【Q&A】
- 问:MSP430初始化大量数据时跑飞的问题 问者 Qingcui Lu 我最近在用MSP430F5438A写一个fft(快速傅立叶)算法时,发时程序无法时行调试也无法进入中断。在TI的外国论坛上看到原因大概是因为文件中有大量的待初始化数据,在完成数据初始化之前,看门狗不会关闭,当数据初始化用时过多时会因为看门狗复位使程序无法正常运行。据说要在初始化数据之前调用 __sys...
- maylove 微控制器 MCU
- 第三章 底层库函数
- 小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paulhyde@126.com 第三章 底层库函数 3.1底层库函数简介 寄存器级编程直接、效率高,但不易编写与移植。一般情况下,不使用寄存器级编程。为了让开发者在最短时间...
- paulhyde 微控制器 MCU