架构及工作原理

+荐课 提问/讨论 评论 收藏
  • 课程目录
  • 相关资源
  • 课程笔记

大家好我是德州仪器无线连接 技术部门的现场应用工程师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秒

CC2640R2F软件速成

蓝牙 直播 CC2640

带领您了解CC2640R2软件开发,从熟悉您的第一个CC2640R2F例程到编写差异化定制应用,帮助您从入门到专家一步到位。

推荐帖子

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

hawkier

学习了,视频挺棒的

2020年06月24日 14:56:14

shakencity

学习学习带领您了解CC2640R2软件开发,从熟悉您的第一个CC2640R2F例程到编写差异化定制应用

2020年01月04日 09:48:30

zx1988ZX

以学习,不错,看看吧!

2019年09月06日 13:39:30

大明58

继续来学习学习了。。。

2019年07月19日 13:58:38

zwei9

学习学习

2019年06月13日 10:17:36

hellokt43

继续来学习学习了。。。

2019年05月25日 09:30:23

taozhihua1314

学习学习了

2019年03月18日 23:50:39

song430

继续来学习学习了。。。

2019年03月17日 10:18:13

59477cq

不错

2019年01月12日 10:03:59

59477cq

不错

2019年01月12日 10:03:59

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved