#1楼主:请教关于cc2430 COORD 地址分配的问题
文章发表于:2008-08-29 04:13
1、请问COORD 是怎样给RFD 分配地址的,这部分程序实在没看懂?
2、还有就是cc2430中第一个RFD 的网络地址为 0x1699,这是为什么呢?
3、再有就是当COORD 收到某个RFD 发来的数据,根据什么来区分是哪个RFD 的?如果根据RFD的地址,是根据RFD 的那个地址呢?我发现RFD 不止一个地址。
#2
文章发表于:2008-09-02 21:19
楼主知道答案了吗?能否指点一二
#3
文章发表于:2008-09-03 10:45
1:coord给rfd分配地址是根据分布式地址分配机制来确定的 搂主可以baidu一下
2:根据分布式地址分配机制,第一个rfd的网络地地址 A=A(parent)+Cskip(d)*Rm+n
Cskip(d)是不同深度的父设备分配地址时的偏移量 Rm是可以携带的最大路由数 n是第n个设备
Cskip(d)在04精简版协议栈的lrwpan_congig(我用的是无限龙的04精简版协议栈)里面能找到具体数值。 A=0+0x5a6*4+1=0x1699 0为父设备地址 父设备为协调器 所以为0
3:根据网络地址区分rfd rfd有网络地址和物理地址2种
#4
文章发表于:2008-09-04 09:21
A=A(parent)+Cskip(d)*Rm+n
这个公式在2006协议栈里的适用吗?
#5
文章发表于:2008-09-04 15:51
cc2430中,RFD 的网络地址是根据分布式地址分配机制来分配的,那么RFD 的物理地址是根据什么得来的呢?
RFD 和COORD 之间通信,是靠网络地址还是靠物理地址来确定对方的?
先谢谢啦!
#6
文章发表于:2008-09-04 17:01
rfd的物理地址是全球唯一的 在模块出厂的时候就确定了,可以用物理地址烧写软件修改其物理地址
我自己理解的是:rfd与coord之间的通信,rfd向coord发送信息时,是用网络地址的 因为在网络中coord的网络地址是0x0000, coord向rfd发送信息时,网络地址和物理地址都可以
但是用物理地址发送的话可能会出问题,这个我也是刚学没多久,很多也是不明白。
我问了无线龙的技术:采用物理地址发送可以吗?
他的回答:“采用物理地址发送可能路由会出问题,
我采用的方法是利用物理地址去找网络地址发送,这样就可以解决问题了
在节点加入网络的时候,将自己的物理地址和网络地方发送给其他设备,其他设备存起来后,在通过物理地址去找网络地址。”
协议栈里面好像有相关函数可以根据物理地址找到自己的网络地址,但是我没找到 。(没看明白...)
以上只是我自己的看法 可能有错的地方 只是作为参考阿
#7
文章发表于:2008-09-05 09:12
再次请教 jjh5600 :
你说 “可以利用物理地址去找网络地址”
请问怎样读取RFD的物理地址呢?
物理地址和网络地址是怎样的对应关系呢?
呵呵,谢谢了
#8
文章发表于:2008-09-05 09:15
还有两个问题:
请问物理地址放在闪存的什么地址呢?
能不能推荐一个物理地址烧写软件啊?
#9
文章发表于:2008-09-05 13:51
“可以利用物理地址去找网络地址”无线龙技术告诉我的 目前我也没闹明白
物理地址存放在哪我给忘记了...我在查看下资料找到在告诉你
你留下邮箱 吧 我给你发过去
#10
文章发表于:2008-09-05 14:03
物理地址是模块固有的具有全球唯一性
网络地址是入网后coord分配的
#11
文章发表于:2008-09-05 15:07
谢谢 jjh5600 了,
我的邮箱:yuexianhanshu@yahoo.com.cn