CC1310架构及工作原理

CC1310组成部分:
主MCU:搭载的是ARM Cortex-M3,它作为CC1310主要的操控部份,包含的是RTOS和对底层外部接口的ㄧ些drivers,同时客户的应用程序也跑在这个部分;
RF核:顾名思义就是和射频相关的,它包含的是射频的一些接口,主MCU通过发送命令的方式可以控制射频进行工作,同时RF核会返回射频工作的结果给主MCU;
Sensor Controller Engine:CC1310独有的一个部份,它可以独立于主MCU工作,主要操控的是外部传感器和一些接口,可以自己做一些小的编程;
Peripherals:就是一些外设,包括一些GPIO UART的口AES加密、Timers相关的;

Sensor Controller和整个的这个系统如何工作以及整个系统是如何达到低功耗的:
举个例子,CC1310需要完成的工作是以一秒的频率,从外部的传感器获取数据,然后把这个数据通过AES加密最后发送出去的;
首先,主MCU、RF Core和外设全部都是关闭的,Sensor Controller Engine独立于这三个部分独立工作,从外部的传感器以一秒的频率进行采样,Sensor Controller Engine它可以独立编程,那么在编程逻辑里面我们加入了对传感器数据的判断,如果传感器的数据高于阈值,那么我们就唤醒主MCU,否则继续进行采样,在这样的工作状态下整个系统的平均功耗是1.6个微安;
如果Sensor Controller获取到的传感器的数高于阈值,那么它就会唤醒主MCU,主MCU会调用AES加密,对数据进行加密同时准备对RF Core进行初始化,主MCU通过发送TX命令对RF Core进行操控,RF Core在接受到命令之后会自动对命令进行处理,并把数据返回给主MCU,在发送的过程中整个的系统功耗是5.3个毫安;
当发送完成之后主MCU会继续关闭RF Core,这样又会回到刚才的省电状态,所以整个系统的平均功耗并不是所有的部份同时工作的功耗,只有在需要射频工作的时候功耗才达到最高,其余的时候可以进入低功耗状态;

CC1310射频工作的基本原理:
CC1310作为德州仪器1G以下新一代的无线芯片,它的射频的操控构架和老一代的产品是不一样的;
老一代的产品主要是通过寄存器对RF进行控制,比如我们可以通过配置寄存器来改变不同的射频配置,也可以通过寄存器来打开不同的操作模式,比如发送接收进入IDLE或者SLEEP的状态都是通过寄存器控制的;
那么在1310这一边主要是通过API接口,也就是发送命令的方式来对它进行控制包括发送、接收、Sniff等等,所有的对射频的配置和不同操作的切换都可以通过命令的方式来解决;
我们可以看看老一代的无限芯片CC1120和CC1310在设置上的不同.这里以对射频合成器的配置来举例,那么在老一代的CC1120芯片上我们必须逐个的配置26个寄存器,而在CC1310上面只需要发送一个command CMD_FS就可以对射频合成器进行配置了;

每一个command的结构:
在这里可以看到一个命令它包含一个通用的命令头和每个命令独有的数据部份。通用的命令头包含六个部分:
commandNo:是每个命令独有的命令标示,无线射频模块通过这个命令标示来判定当前执行的命令是哪一个;
status:主MCU可以通过读取这个状态值来知晓当前的这个命令在无线模块中被处理的状态;
pNextOp:这个地方存储的可以是当前命令运行完之后需要运行的下一个命令的指针; 一个实际的应用实例可以是比如说当我们需要在接收完数据之后立即发送一个ACK,那么我们就可以在每一次RX Command的下一个指针指向TX Command,这样的话我们就可以提高RX和TX命令进行切换的一个效率同时完成这样的一个功能;
startTime:是当前命令的执行时间,起始执行时间它可以是一个绝对时间也可以是一个相对的时间,绝对时间通常是必须要大于系统时间的,比如我们希望当前的命令在具体的某一个系统时间进行执行,那么我们可以设定这个参数为系统的一个绝对时间,那么到了这个系统的绝对时间这个command就会被执行;
startTrigger:代表的是当前命令的一个触发条件,它可以有很多种不同的设定。比如现在就触发,或者在一个绝对时间触发,或者是从来都不触发只是在be enable command这个条件为1的时候才触发;
condition:这个条件其实是对下一条命令来说的,它可以有很多种不同的执行条件。比如说COND_ALWAYS就是每一次在当前command执行完成之后下一条命令就会执行,COND_NEVER意思是从来不执行下一条命令,COND_STOP_ON_FALSE意思是如果当前的命令执行返回为true那么我就执行下一条命令,如果返回为false那我就停止执行。


主MCU是如何和射频模块进行数据通信的:
在图中我们可以看到,在主MCU和RF Core之间其实是有一个Radio Doorbell的模块的,这个模块会根据当前RF Core的状态和自己拿到的所有主MCU需要RF Core这边执行的命令的列表来进行命令的排序以及操控RF Core来进行执行,当命令需要被进行执行的时候RF Core可以直接访问主MCU的内存来读取当前命令的内容从而能够执行当前的命令;所有和CC1310相关的命令都可以通过CC13x0, CC26x0 SimpleLink™ Wireless MCU Technical Reference Manual来获取;

CC1310架构及工作原理相关推荐

  1. 原理c++_浅谈C/S和B/S架构的工作原理及优缺点

    C/S架构 一.C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内.在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架 ...

  2. CPU的内部架构和工作原理

    2019独角兽企业重金招聘Python工程师标准>>> 一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样,是各种逻辑门器件的组合.当看到纳米技 ...

  3. kubernetes的部署架构以及工作原理

    kubernetes 整体架构 Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统,所以整体的架构和borg很相似,整个架构有api server,control ...

  4. 三层架构学习的困难_浅谈C/S和B/S架构的工作原理及优缺点

    C/S架构 一.C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内.在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架 ...

  5. Hive架构和工作原理

    一.Hive 架构 下面是Hive的架构图. Hive的体系结构可以分为以下几部分: 1.用户接口主要有三个:CLI,Client 和 WUI.其中最常用的是CLI,Cli启动的时候,会同时启动一个H ...

  6. jetty架构及工作原理

    1. jetty 是什么 jetty是一个轻量级的servelt容器,是一个提供HHTP服务器.HTTP客户端和javax.servlet容器的开源项目. 2. 和tomcat比较 2.1 架构层面 ...

  7. 微服务架构及工作原理!

    在移动计算时代,应用程序开发人员应该能够快速部署操作并进行更改,而无需重新部署整个应用程序.结果,它导致了一种称为"微服务"的构建软件的新方法. 微服务是应用程序中独立的小部分,每 ...

  8. B/S架构的工作原理

    工作原理 直接上图..

  9. HDFS2.X架构及工作原理

    1 HDFS简介 1.1 Hadoop 2.0介绍 Hadoop是Apache的一个分布式系统基础架构,可以为海量数据提供存储和计算.Hadoop 2.0即第二代Hadoop系统,其框架最核心的设计是 ...

  10. 深度:一文看懂Linux内核,Linux内核架构和工作原理详解

    简介 作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址.目前支持模块的动态装卸(裁剪).Linux内核就是基于这个策略实现的.Linux进程1.采用层次结构,每个 ...

最新文章

  1. python中文版-Python中文版
  2. ACM数论之旅2---快速幂,快速求a^b
  3. python对比两个文件找出不同并显示_python difflib模块实现两个文件差异对比,并输出html格式。...
  4. Pytorch —— 损失函数(二)
  5. virtual box中安装Mac OS后设置分辨率
  6. centos x86-64位版本 想安装qq for linux
  7. log4j配置时的位置问题
  8. Java 第一大框架:Spring 的 IoC 跟 AOP 雏形如何实现?
  9. yoyo跑_足球YOYO体测大揭秘 失去资格只需两次
  10. MAC中配置SDK环境变量
  11. 阿里3大营销模型:AIPL、FAST、GROW
  12. c语言实现生成随机数
  13. 5G手机和4G手机的区别
  14. Netty in Action 中文版 --最贴近原著的翻译
  15. H5仿抖音上下切换翻页动态加载效果
  16. 通过LiveNVS(免费使用)集中化管理多个LiveNVR-数据透传摆脱局域网的公网IP限制
  17. VS2015安装失败KB3022398 KB3165756
  18. 企业项目实战k8s篇(十)Volumes配置管理
  19. Windows 10 设置开机自动连接宽带
  20. 华强北四代慧联A10|悦虎1562M怎么样?

热门文章

  1. 小德,真的没想到,去年的千年德三子到现如今的现象级
  2. 一文带你明白什么是浏览器插件?
  3. NCA(Neighborhood Components Analysis)
  4. 「算法」FWT(快速沃尔什变换)
  5. 变色龙(Floyd算法)
  6. bert实践:关系抽取解读
  7. Zookeeper之Leader选举
  8. win7配置TomCat环境
  9. starbound服务器未响应,星界边境starbound
  10. 千兆SFP光模块可以在万兆SFP+端口上使用吗?