CC2650设计相关 - RF内核、HAL、协议相关及实例 (1)

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • CC2650设计相关 - RF内核、HAL、协议相关及实例 (1)
  • 登录
大家好 今天呢我们来一起看看 TI CC2650 这个芯片 它的射频相关的一些内容 我们按照这个次序 来对今天的这个视频进行讲解 首先我们来看一看 RF 内核的一些情况 然后来看一看硬件抽象层的一些情况 最后后面是协议相关的一些情况 最后我们用 contiki 的示例 来结束本次视频 CC2650 它里面集成有一颗 Cortex-M0 控制的 2.4G 射频收发控制器 这颗控制器 可以支持低功耗蓝牙 BLE IEEE 802.15.4 和专用协议这三种应用 radio 子系统接口 通过接受命令的形式 在 MCU 和 Radio 之间进行消息的传递 消息可以包括命令状态数据事件等等 我们这里所关注的 802.15.4 呢 就是 ZigBee 和 6loWPAN 的底层物理标准 这个射频子系统呢 由 Cortex-M0 控制器 调制器频率综合器 RF接口 内外的一些总线桥 外部的射频驱动 内部的专用 SRAM 还有一些片上的一些驱动库 还有它的安全系统 接口 这些所构成 我们可以看看它的一个整体的框图 这边呢就是我们的系统 MCU 包括它的 Flash 系统的 RAM 还有它的安全接口 我们是挂载在一个总线上面 这个总线呢 通过我们的总线桥 可以跟 RF core 这里面进行一些相关的操作 这个 RF core 呢 里面包括一个 Cortex-M0 包括一些频率相关的一些组件 包括一个外部的 radio 的这样一个接口 在系统的 MCU 呢这一部分系统的 MCU 我们是可以运行 flash 中的代码 也可以在他的boot rom 里面去运行 driverlib 的一些代码 我们也可以运行用户层的一些应用 这个 MCU 呢它还要运行无线的一些协议栈 包括 ZigBee 的协议栈 6loWPAN 协议栈等等 比如说 BLE 低功耗蓝牙的协议栈等等 我们还需要在系统 MCU 里面呢 保持各种协议栈和应用的一些配置 并且处理一些协议栈中上层 MAC 的一些特性 系统 MCU 就是在这一头 系统的 RAM 20KB 的这样一个系统 RAM 它里面存放的是数据报负载 也就是TX和RX的包 还有各种的配置参数 安全子系统的 我们是可以直接被 RF core 来使用的 它呢主要提供验证和授权的这样一个功能 DMA 这一块 DMA它是一个主设备 BUS Master 主设备 它可以在 RF core 专用的 4K SRAM 和 MCU SRAM 之间进行数据的搬运 我们也可以看到在 RF 这一侧 RF core 这一侧 它里面有 RF 的 MCU 这一块 M0 的 MCU 它是接收来自 系统 MCU 的命令 调度这些命令实际的运行 他还有一个调制频率综合器 和 RF 接口就是这一块 它是在 bit 信息与调制信号之间 相互转换的这样一个外设 一个机构 RF 内核接收来自 MCU 的命令 验证并且执行这些命令 这些命令包括了发送接收这些面向应用的命令 也包括校准测试调试等等面向环境维护的命令 也包括校准测试调试等等面向环境维护的命令 RF 内核从系统 RAM 或者是 RF 专用 RAM 中 取得数据和配置参数 共享内存是 RF 内核与系统 MCU 的信息交互手段 这样的手段呢 可以减小 RF 内核自身对存储的需求 同时呢 MCU 和 RF 内核之间 避免了不必要的传输操作 从总体上面减小功耗 RF 内核收到数据报之后 对数据报进行解码 附带上它的一些状态信息 一起存储在系统 RAM 中 RF 内核可以使用 MCU 中的一个安全子系统 RF 内核呢也识别来自系统 MCU 的复杂指令 比如说 CCA 传输 RX 自动应答等等 这些呢在 802.15.4 里面有一些专门的论述 大家有兴趣的话可以去看一看 RF 内核内部将这些指令分解成子命令 然后自动的执行 这个当中我们是不需要有系统 MCU 的干涉的 Radio doorbell 是内核的一个模块 直译是门铃的意思 其实它就是一套命令系统 就比如说我们 MCU 里面的 event fabric 就是前面我们讲的一个路由 其实也就是消息路由这个东西 所以说名字很不知道什么意思 但是我们也能够知道他其实就是一个命令系统 这套命令系统 也叫做 CPE Command and Packet Engine CPE 这是一个简写 他负责在系统 MCU 和 RFMCU 之间传递信息 CPE 在 MCU 空间当中可以用 RFC_DBELL 这个寄存器进行访问 doorbell 呢他是有访问寄存器 参数和数据的一些 RAM 不管是在系统里面 还是在 RF 这个系统里面 一些数据和参数 还有它的一些中断的情况 RAM 呢数据和参数都是放在 RAM 当中 既可以是 SYS 也就是系统的RAM系统 MCU 的 RAM 也可以是RF自己的专用 RAM 如果这个信息是放在系统的 RAM 当中的话呢 系统 MCU 是不可以关闭电源的 因为关了的话这个信息就没有了 如果信息是存放在 RF 自己的 RAM 当中的话 系统 MCU 是可以切断电源降低功耗的 这个时候他的所有信息 都是保存在 RF 自己的 RAM 当中 具体上来说呢 我们 RF MCU 从 RAM 中读取数据和参数 这个具体的操作我们可以在后面的 contiki 的实际应用当中看到 然后操作这些 RF 不管是调制也好 还是解调也好 更新 RAM 当中的数据和参数 根据状态发出我们的中断 中断它只分了四个 有 CPE 0 1 hardware 中断 和 CMD_ACK 应答中断 这些中断呢 在我们的手册里面 都有一个详细的一个说明 这里面就不仔细说 可以查看在 interrupt 这里 使用上呢 每一个中断都基本上 和 Cortex 本身的使用没有太大的区别 只是说中断源是从 RF core 里面出来的 我们需要在 MCU system MCU里面 抓住这些中断的一些钩子 然后来执行它 RF core 它这个里面呢 还包括了一个自由的时钟 自由运行的时钟 这个时钟呢 是以四兆赫兹的固定频率来运行的 它有八个比较和捕获的这样一个功能 八个通道其中五个呢被 RF内核使用 剩下三个是可以用户自己使用的 手册里面也有相关的一些描述 是在 radio timer 这个里面 这个时钟呢使用上面 和我们普通的时钟也基本上是类似的 大家可以有兴趣看一看 我们硬件抽象层呢它是由命令组成的 这个命令呢 它也同时包括 RAM 内存中的命令结构 也包括 ROM 当中可调用的一些函数 我们在 TI 官方的公开资料当中呢 也没有找到特别详细的一些描述 这个例子呢也没有特别好的例子 所以说我们也不得不查看 contiki 它的一种操作 命令分三种形式的命令 第一种是radio操作命令 第二种是立即操作命令 第三个是直接操作命令 这张图呢我们也可以看到 这个命令的具体的一些格式 pointer to command structure 这个里面告诉我们 这个命令是以 structure 的形式存在的 后面我们可以看到这个 structure 的 一些具体形式 这个命令的形式呢是 direct command 就是直接命令的一些操作形式 那么这三个命令之间有什么区别呢 我们可以看到 radio 命令 它的操作是和 RF 相关的 比如说初始化 RF TX RX 这些一些 BUFFER 协议相关的等等 大多数的这些 radio 操作命令呢 只能在 RF idle 也就是说不工作的这样一种状态下面发出命令 立即命令它是有关修改或者是设置 RF 状态 操作 RX TX队列等等这样一种操作 我们在任何时刻都可以发出立即命令 然而大多数立即命令的响应 都希望能够得到正在运行的 RF 内核的一些状态 还有就是我们的直接命令 直接命令 direct direct command 这个直接命令 它其实就是简单的没有参数 或者是一两个字节参数的立即命令 那我们可以看看这些命令的一些具体状态 这里是它的响应状态 响应状态的话 我们也是按照一个字 按照一个字节的形式 result 给出来 command status 32 的这样一个字段 但是最后的八位一个字节 我们是一个 result 就叫相当于是我们的状态 然后剩下的三个字节 就是我们的一个返回的字节 我们可以在这个列表里面查看到一些 result 和一些 return byte 的一些东西 这个在手册上面也有 我们的命令和数据呢 可以有三种形式的访问 两种形式的访问 两种形式访问 第一种形式是直接访问 就是说我们在我们的数据结构里面 直接把它填充进去 第二种形式是单链表形式的这样一个访问 我们在我们的命令字段 命令数据结构里面 有相应的链表图指向下一个命令 和我们下一个下一个命令 比如说我们把所有的命令 通过一个单链表的形式把它串起来 这样的话我们在 RF core 里面 可以自动的按照一个命令 chain 命令链表的形式来执行每一个命令 我们每一个命令呢 还可以有它自己的触发条件 每一个触发条件呢 有一些它的一些触发的触发源 触发的一些标准 触发的判断等等这些我们在手册里面的 这个这里面也能够有一个比较好的描述 包括他的 trigger never 永远不触发等等 随着 2650 这颗芯片当中的 系统 MCU 和我们的 RF MCU之间 是通过 SRAM 进行了一个共享内存 这种形式的信息交互 所以说我们呢 需要有一些命令的一些列表 这个东西我们可以在手册上面 看的比较仔细一些 包括协议无关的一些操作 包括 NOP Radio 的建立 频率的一些东西 包括我们的 RX 其他的一些测试等等 也包括跟协议相关的一些命令 比如说我们的 Command IEEE 读取信号的一些 SCAN 等等 这里面呢比较有意思的是 它是用的是两部分 一部分称之为命令的头部 也就是说所有命令 只要是 radio operation command 这个命令 它都必须要有的 这 14 个字节 一个是命令的体 命题体也就是说每一个命令 比如说这里的 command radio setup 有它自己的一个特殊的体 包括我们在这里看到的第 14 个字节 第 15 个字节 跟这里所显示的一共 14 个字节接起来之后 形成一个完整的 command radio setup 这样一个命令 command radio setup 这样一个命令 因为也就说我们这里 每一部分都是不完整的 但是他们需要合起来 那么它就是一个完整的这样一个命令 这种命令呢我们也可以在手册里面的 比如说 radio command setup 这里是第 15 个字节 那么我们前面的 这里就是我们的命令的头部 就是它的 radio operation command 一个公共的这样一个头部 接下来呢我们用一个 contiki 的一个 运行的一个演示 来结束本次的这样一个视频
课程介绍 共计11课时,3小时7分49秒

EEworld原创:大话TI CC2650

TI 无线 Wi-Fi CC2650 Wi-Fi产品

     本系列视频由电子工程世界(EEworld)联合TI重磅推出。
     该视频由EEworld社区资深工程师主讲,结合802.15无线器件,组网,应用等使用经验,讲述CC26xx芯片分析介绍、CC2650DK出厂演示程序使用和用途分析,射频相关基础闲聊等。旨在帮助新进工程师快速开启最新最潮的cc26xx系列无线设计。

推荐帖子

DSP28335—程序从flash复制到ram里的两种情况:部分复制和全部复制
      DSP从内存RAM中取指令的速度要比从flash中取指令要快好多倍,但是RAM的缺陷限制了其不能存储用户程序代码,因为RAM掉电会丢失数据,但是其速度要快,而flash内信息掉电不丢失,因此可以保存用户编程的代码,但是其运算速度使得在一些实时性要求高或者对时间要求苛刻的场合不能满足要求。如果能够将两者有机的结合到一起,从而可以解决这两者...
fish001 DSP 与 ARM 处理器
请大家帮帮我
为什么我用MSP430F122进行串口通讯时(在默认时钟的情况下),为什么辅助时钟不能用啊,当选择辅助时钟时UxTD没有示波器上没有信号输出,但是用SMCLK,即来自DCO的始终时却有信号出现。当启动外部8M时钟,SMCLK,ACLK都没有看到波形。 请大家多多指点。想了好几天没想明白。。...
zhanghui9191 微控制器 MCU
F28027断开仿真器运行不正常
我在用F28027做个直流电源,把程序下载到F28027里和仿真器连接时程序运行正常。断开仿真器运行不正常。 ...
fjl2010 微控制器 MCU
肖特基二极管用作与门或门的介绍
肖特基二极管用作与门 如下图,n个肖特基二极管组成n输入的与门,只要A1~An中有一个信号输出逻辑0,则Output输出逻辑0,只有A1~An中所有信号输出逻辑1,Output才能输出逻辑1。即实现了信号A1~An的相与。由于在数字电路中,芯片信号输入级基本都是高阻的,因此,用肖特基二极管组成的与门电路总体电流都是ua级别的,肖特基二极管压降都是极其小的,电平仍能满足设计要求。 肖...
灞波儿奔 模拟与混合信号

szwtyh

学习了,很好的一款芯片

2022年01月04日 14:19:30

大明58

讲述CC26xx芯片分析介绍

2020年05月11日 09:07:55

hawkier

好好学习,不断长进

2019年11月05日 13:05:45

熊猫仙

老师讲的很详细,挺好的

2019年06月24日 11:53:52

zwei9

学习一下

2019年04月06日 00:29:37

dingxilindy

好好学习天天向上学习学习。

2019年04月04日 13:11:04

hellokt43

好好学习天天向上

2019年02月13日 10:50:05

cyrus1992

学习下

2018年12月15日 00:15:58

dl265361

学习

2018年12月12日 22:32:57

天马行空0

学习学习

2018年12月10日 17:02:31

分享到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