首页 > 产品 > 无线连接 > CC2650开发套件详解 >

蓝牙产品

最新课程

热门课程

CC2650之射频(下)

我们刚才已经在两块板子里面 分别烧录了 web-demo 和一个 rpl 这样一个路由环境 所以我们现在来实际地看一看它们的一个表现 我们首先需要安装一个虚拟的 32 口 那这个里面呢我们可以具体一下 百度或者是其他的一些搜索引擎 他们会告诉我们怎么去安装 我们可以看到在 dev 里面 我们已经安装了tap0 和 tap1 这样的一个虚拟的一个设备端口 现在我们进入我们的工程 里面的 tools 下面 我们首先生成 contiki 提供给我们的这样一个工具 这个工具呢就是用串口 来作为我们的一个传输手段 Device 下的 tty 我们用 aaaa::1 来作为我们的路由器的地址 啊这个具体的地址呢大家可以去了解一下 IPV6 的一些情况 这里链接上它 链接上它之后呢 我们再看看我们的 demo 的一些情况 可以当看到我们这个 demo 启动 这个是 contiki 版本 我们可以看到它的一些地址 这个地址本身呢是用 CC26xx 这个芯片里面的工程出厂的 给的这样一个地址 作为它的 mac 地址 那么我们 IPV6 跟 mac 地址之间的关系 大家也可以去简单了解一下 我们可以用我们的 mac 来做我们的 IPV6 里面的某一部分 这样做一个唯一的这样一个标识 也省去了我们在 32 位 IPV4 的时候 我们需要指定大量 ip 地址的这样一种烦恼 我们现在可以直接利用它的 mac 地址 作为ip地址的某一部分 比如说这里我们可以看到它已经建立了 在这个里面的路由我们可以看到 aaaa::2124b00...6586 作为我们路由器的这样一个本机地址 那我们的另外一个板子呢 aaaa::2124b00...4106 是我们 demo 的这样一个例子 但这两个例子我们可以看到 我们在 layer 里面我们可以看到 4106这里面是一样的 07af 对吧 4b00这个一样 这样一个组成的这样一种方式 所以说我们可以用 mac 很方便地 来凑成我们的这样一个 IPV6 的地址 好我们这里已经建立了路由 建立路由之后 我们就可以对它进行一个操作 我们可以去看看 我们可以看到在这里面 虽然说延迟有点大 但是至少整个通路还是通的 可以看到 那如果说是我们现在 临时的断掉我们的这样一个路由 就是把它这个进程杀掉 我们可以看到 就是 ping 的话呢就是我们的4106 就是我们的 demo 已经变成了一个不可答的这样一种状态 好我们现在重新把它这个路由加上去 我们可以看到它又变成一个可答状态 就说明我们这个路由 这样一种转发的这样一个 这样一种转发的这样一个 无线转发的这样一种功能 我们现在可以根据 web-demo 这个例子呢打开 一个 COAP 的这样一种状况 我们可以在 Firefox 里面去安装一个 copper 这样一个插件 这个插件呢就是 Firefox 能够支持我们的 COAP 这样一个协议 那我们先用 COAP4106 那我们先用 COAP4106 这个地址端口号是 5683 我们可以找到它里面的一些资源 可以来看一看 这个资源 discovering 接下来搜索一下里面有什么东西 我们可以找到 这些东西有 sensor 有 net 看看它具体的一些资源当中的分析 也就是说我们确实也通过 我们的路由 IPV6 路由 在demo web-demo 里面 找到了所有协议能够支持的一些我们的资源 具体的 6loWPAN 或者说是 contiki 的一些东西呢 因为毕竟不是重点 所以说我们在这里就不做太多介绍 我们现在来看一看 板子的一个具体的表现 因为这个一只手要拿手机录板子这边的话 所以说这个界面上有一些东西就已经先敲好了 等会就是看能拷就拷 这个现在看的是路由器 然后我们打开它的开关 现在跑了一遍 跑了一遍的话 同时我们在我们的界面上 就可以把这个路由加上 然后同时呢我们再打开我们的 web-demo 我们可以看到她这个灯 绿色这个灯的一直都在闪烁 闪烁同时呢 就是说他没有找到我们的 router 现在它的闪烁的频率 相对来说比较就比较低 因为它在我们界面上我们可以看到 它迅速的就跟我们的路由器 已经达成了一个路由关系 我们现在可以重新来启动一下它 来看看界面上的一些显示 它还是在不断的闪不断的闪 你可以看见他的一直闪 那我们看见他这个时候 他已经建立了我们的路由关系 那我们就来 ping 这个地址 可以看到我们这个现在已经 ping 通了 最后我们来看一看 TI CC2650 这颗芯片 在 Contiki 里当中的一些实际的使用情况 我们可以在 Contiki 下面找到我们的 芯片相关的一些文件 包括这里的时钟 包括它的一些地址 包括它的低功耗的东西 包括它的实时时钟 还有一些串口的网络协议 这个 SLIP 在我们刚才 rbl 路由应用当中也有所使用 现在来看我们关注的 RF core 这个文件 这里面最关键的几个文件呢 包括我们的 RF core 这个是一个与协议无关的 RF 子系统的这样一个操作 IEEE-mode.c 这个是 与 802.15.4 协议相关的 这样一个 RF 子系统的这样一个操作 然后比较重要的呢 就是我们的 common_cmd 就是说我们的通用的命令 和我们的 IEEE 协议相关的命令 我们来看 common_cmd 里面实际的一些 包括我们都是以 struct 结构的形式 来对我们所有命令进行一些定义 包括我们的 radio operator 和我们的立即命令 还有我们的直接命令等等 我们来看比如说 common radio setup 这样一条命令 第二条命令呢 我们同样也可以在手册当中 发现它在哪里 这就是我们的命令 包括我们的手册 我们可以看到它前面 14 个字节 都是没有描述的 但是呢我们前面的 14 个字节是在这个地方 就是说协议头里面对它进行描述 它一共 14 个字节 包括 command number status conditon 等等 触发条件等等 第 15 个字节开始呢我们就是 command radio setup 这条命令 它自己相关的一些字段域 可以看到它这里面包括它的命令号 802 包括之前前面的 condition command number status 这样一个公共的一个头 结构头 后面是他们 是这条命令 command radio setup 自己的一些相关的一些域 但是我们在这个手册里面呢 我们也可以看到 这些域的描述 有些东西呢我们是可以理解的 但是有一些呢 在这个整个手册的上下文当中 应该表现得不是特别的明显 所以说有很多相关的域 包括 Regoverride 这里面相关的一些 很多操作的方式 我们也确实没有办法在这样一个手册 和没有其他的 TI 官方例程的情况下 能够更深入的了解 他这些所需要表达的一些什么意思 所以说我们这里也就没有办法再深入的去 追究这些各个域里面的一些情况 那么我们现在开始来填充这个 radio setup 这样一个命令 我们可以看到在 ieee_mode.c 里面 我们有一个 RF radio setup 这个命令 我们可以看到在这里面的话 就相当于是在内存里面 开辟了一个这个命令的一个空间 也就是 RAM 里面的一个空间 那么首先呢 对这条命令进行一个简单的初始化 我们可以看到把它的命令号填进去 把它的一些条件填进去 然后呢对我们这条命令的 radio setup 特殊的地方 相关的地方特定的地方进行一些填充 填充之后呢我们就需要执行一个 RF core send cmd 这个东西 其实这个相对来说 也是比较简单的一种操作方式 它最核心的是在这里 就相当于是我们 把我们的 command 的这个地址 你可以看到这个地址 填充到我们的 doorbell 这个寄存器的 command register 这样一个寄存器里面去 我们看这个提示 它提示就是 4004 1000+0 这个寄存器呢在我们手册里面 也可以看到是在这个地方 就是我们的 doorbell command register 也就相当于我们把它写进去之后呢 在仲裁它可以运行的时候 它就把我们 command 里面 按照我们前面填充的所有字段的信息 进行一个执行 在这里呢然后我们马上就开始 从 command status 里面 读取这个命令具体的一些执行的一些状态 一直到我们没有错误的时候退出来了 然后我们就开始进行下面的一个操作

我们刚才已经在两块板子里面

分别烧录了 web-demo

和一个 rpl 这样一个路由环境

所以我们现在来实际地看一看它们的一个表现

我们首先需要安装一个虚拟的 32 口

那这个里面呢我们可以具体一下

百度或者是其他的一些搜索引擎

他们会告诉我们怎么去安装

我们可以看到在 dev 里面

我们已经安装了tap0 和 tap1

这样的一个虚拟的一个设备端口

现在我们进入我们的工程

里面的 tools 下面

我们首先生成 contiki

提供给我们的这样一个工具

这个工具呢就是用串口

来作为我们的一个传输手段 Device 下的 tty

我们用 aaaa::1 来作为我们的路由器的地址

啊这个具体的地址呢大家可以去了解一下

IPV6 的一些情况

这里链接上它

链接上它之后呢

我们再看看我们的 demo 的一些情况

可以当看到我们这个 demo 启动

这个是 contiki 版本

我们可以看到它的一些地址

这个地址本身呢是用 CC26xx

这个芯片里面的工程出厂的

给的这样一个地址

作为它的 mac 地址

那么我们 IPV6 跟 mac 地址之间的关系

大家也可以去简单了解一下

我们可以用我们的 mac

来做我们的 IPV6 里面的某一部分

这样做一个唯一的这样一个标识

也省去了我们在 32 位 IPV4 的时候

我们需要指定大量 ip 地址的这样一种烦恼

我们现在可以直接利用它的 mac 地址

作为ip地址的某一部分

比如说这里我们可以看到它已经建立了

在这个里面的路由我们可以看到

aaaa::2124b00...6586

作为我们路由器的这样一个本机地址

那我们的另外一个板子呢 aaaa::2124b00...4106

是我们 demo 的这样一个例子

但这两个例子我们可以看到

我们在 layer 里面我们可以看到

4106这里面是一样的

07af 对吧 4b00这个一样

这样一个组成的这样一种方式

所以说我们可以用 mac 很方便地

来凑成我们的这样一个 IPV6 的地址

好我们这里已经建立了路由

建立路由之后

我们就可以对它进行一个操作

我们可以去看看

我们可以看到在这里面

虽然说延迟有点大

但是至少整个通路还是通的

可以看到

那如果说是我们现在

临时的断掉我们的这样一个路由

就是把它这个进程杀掉

我们可以看到

就是 ping 的话呢就是我们的4106

就是我们的 demo

已经变成了一个不可答的这样一种状态

好我们现在重新把它这个路由加上去

我们可以看到它又变成一个可答状态

就说明我们这个路由

这样一种转发的这样一个

这样一种转发的这样一个

无线转发的这样一种功能

我们现在可以根据 web-demo 这个例子呢打开

一个 COAP 的这样一种状况

我们可以在 Firefox 里面去安装一个

copper 这样一个插件

这个插件呢就是 Firefox

能够支持我们的 COAP 这样一个协议

那我们先用 COAP4106

那我们先用 COAP4106

这个地址端口号是 5683

我们可以找到它里面的一些资源

可以来看一看

这个资源 discovering

接下来搜索一下里面有什么东西

我们可以找到

这些东西有 sensor 有 net

看看它具体的一些资源当中的分析

也就是说我们确实也通过

我们的路由 IPV6 路由

在demo web-demo 里面

找到了所有协议能够支持的一些我们的资源

具体的 6loWPAN

或者说是 contiki 的一些东西呢

因为毕竟不是重点

所以说我们在这里就不做太多介绍

我们现在来看一看

板子的一个具体的表现

因为这个一只手要拿手机录板子这边的话

所以说这个界面上有一些东西就已经先敲好了

等会就是看能拷就拷

这个现在看的是路由器

然后我们打开它的开关

现在跑了一遍

跑了一遍的话

同时我们在我们的界面上

就可以把这个路由加上

然后同时呢我们再打开我们的 web-demo

我们可以看到她这个灯

绿色这个灯的一直都在闪烁

闪烁同时呢

就是说他没有找到我们的 router

现在它的闪烁的频率

相对来说比较就比较低

因为它在我们界面上我们可以看到

它迅速的就跟我们的路由器

已经达成了一个路由关系

我们现在可以重新来启动一下它

来看看界面上的一些显示

它还是在不断的闪不断的闪

你可以看见他的一直闪

那我们看见他这个时候

他已经建立了我们的路由关系

那我们就来 ping 这个地址

可以看到我们这个现在已经 ping 通了

最后我们来看一看

TI CC2650 这颗芯片

在 Contiki 里当中的一些实际的使用情况

我们可以在 Contiki 下面找到我们的

芯片相关的一些文件

包括这里的时钟

包括它的一些地址

包括它的低功耗的东西

包括它的实时时钟

还有一些串口的网络协议

这个 SLIP 在我们刚才

rbl 路由应用当中也有所使用

现在来看我们关注的 RF core 这个文件

这里面最关键的几个文件呢

包括我们的 RF core

这个是一个与协议无关的

RF 子系统的这样一个操作

IEEE-mode.c 这个是

与 802.15.4 协议相关的

这样一个 RF 子系统的这样一个操作

然后比较重要的呢

就是我们的 common_cmd

就是说我们的通用的命令

和我们的 IEEE 协议相关的命令

我们来看 common_cmd 里面实际的一些

包括我们都是以 struct 结构的形式

来对我们所有命令进行一些定义

包括我们的 radio operator 和我们的立即命令

还有我们的直接命令等等

我们来看比如说

common radio setup 这样一条命令

第二条命令呢

我们同样也可以在手册当中

发现它在哪里

这就是我们的命令

包括我们的手册

我们可以看到它前面 14 个字节

都是没有描述的

但是呢我们前面的 14 个字节是在这个地方

就是说协议头里面对它进行描述

它一共 14 个字节

包括 command number status conditon 等等

触发条件等等

第 15 个字节开始呢我们就是

command radio setup 这条命令

它自己相关的一些字段域

可以看到它这里面包括它的命令号 802

包括之前前面的 condition

command number status 这样一个公共的一个头

结构头 后面是他们

是这条命令 command radio setup

自己的一些相关的一些域

但是我们在这个手册里面呢

我们也可以看到

这些域的描述

有些东西呢我们是可以理解的

但是有一些呢

在这个整个手册的上下文当中

应该表现得不是特别的明显

所以说有很多相关的域

包括 Regoverride 这里面相关的一些

很多操作的方式

我们也确实没有办法在这样一个手册

和没有其他的 TI 官方例程的情况下

能够更深入的了解

他这些所需要表达的一些什么意思

所以说我们这里也就没有办法再深入的去

追究这些各个域里面的一些情况

那么我们现在开始来填充这个

radio setup 这样一个命令

我们可以看到在 ieee_mode.c 里面

我们有一个 RF radio setup 这个命令

我们可以看到在这里面的话

就相当于是在内存里面

开辟了一个这个命令的一个空间

也就是 RAM 里面的一个空间

那么首先呢

对这条命令进行一个简单的初始化

我们可以看到把它的命令号填进去

把它的一些条件填进去

然后呢对我们这条命令的

radio setup 特殊的地方

相关的地方特定的地方进行一些填充

填充之后呢我们就需要执行一个

RF core send cmd 这个东西

其实这个相对来说

也是比较简单的一种操作方式

它最核心的是在这里

就相当于是我们

把我们的 command 的这个地址

你可以看到这个地址

填充到我们的 doorbell 这个寄存器的

command register 这样一个寄存器里面去

我们看这个提示

它提示就是 4004 1000+0

这个寄存器呢在我们手册里面

也可以看到是在这个地方

就是我们的 doorbell command register

也就相当于我们把它写进去之后呢

在仲裁它可以运行的时候

它就把我们 command 里面

按照我们前面填充的所有字段的信息

进行一个执行

在这里呢然后我们马上就开始

从 command status 里面

读取这个命令具体的一些执行的一些状态

一直到我们没有错误的时候退出来了

然后我们就开始进行下面的一个操作

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

CC2650之射频(下)

所属课程:CC2650开发套件详解 发布时间:2015.12.11 视频集数:11 本节视频时长:00:14:19

该视频结合802.15无线器件,组网,应用等使用经验,讲述CC26xx芯片分析介绍、CC2650DK出厂演示程序使用和用途分析,射频相关基础闲聊等。旨在帮助新进工程师快速开启最新最潮的cc26xx系列无线设计。

TI培训小程序