- 本课程为精品课,您可以登录eeworld继续观看:
- CC2650设计相关 - RF内核、HAL、协议相关及实例 (3)
- 登录
- 课程目录
- 相关资源
- 课程笔记
我们刚才已经在两块板子里面
分别烧录了 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 里面
读取这个命令具体的一些执行的一些状态
一直到我们没有错误的时候退出来了
然后我们就开始进行下面的一个操作
课程介绍
共计11课时,3小时7分49秒
猜你喜欢
换一换
推荐帖子
- 【TI MCU 猴年征集】我的那些小红板
- TI MCU LaunchPad,起初都是红色的,板子都很是小巧,一般到手就能用。 1.MSP430G2 LaunchPad 若干年前,在EEWorld论坛,经过N天的看教学视频,参加“考试”,“侥幸”地拿到了第一块TI MCU430开发板—— 430G2 LaunchPad。MCU是DIP封装,便于更换,还配了个触摸板(“风火轮”),跑一下演示程序,手指在小板上滑动,LED相应点亮。。。...
- sacq 微控制器 MCU
- 郁闷啊,刚想买那个55美金的DSP板,打开页面一看,悲剧了。。。。
- 板子卖完了。。。。 很奇怪的是,下面又有说551 units available.........
- youki12345 DSP 与 ARM 处理器
- MSP430F5529库函数
- 大学期间写的MSP430F5529库函数,期间断断续续写了快一年,从刚开始的1.0版本到最后的2.+版本,最后才有了让笔者满意的库函数。 MSP430是一款中低端的单片机,以至于很多人认为它不需要库函数,选择使用手写代码开发,然而,笔者却不这么认为,在库函数完成后,笔者使用该单片机开发时相比之前的速度提升了很多倍,当然一个不可忽略的原因是我更熟...
- 灞波儿奔 微控制器 MCU
- TMS320F28027中SCI-FIFO求助
- 一直没有理解SCI中FIFO堆栈,例程中的红色字体的数据流是怎样发送与接收的呢?开始发送的是00么?接收到的数据是存在FIFO中还是RXBUFER中呢?例程中rdataA=SciaRegs.SCIRXBUF.all; // Read data 初学DSP太多有不明白的,跪求大神,虚心受教 /...
- the_wanted 微控制器 MCU