7700|3

11

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在Z-stack中怎么读取RSSI的值 [复制链接]

我想做ZigBee无线定位,刚刚接触RSSI,现在还不知道怎么在Z-stack中怎么读取RSSI的值,请帮忙!
此帖出自无线连接论坛

最新回复

两种方式获取RSSI值:(1)直接读取RSSI寄存器(RSSI.RSSI_VAL);(2)读取数据包RSSI变量(pkg->rssi)。 RSSI_VAL寄存器值与RF接收信号功率的经验关系: P=(RSSI_VAL+RSSI_OFFSET)dBm RSSI_OFFET是来自前端增益的经验值,大约为-45。 CC2530发射功率范围为-22dBm~+3dBm,可在协议栈中设置调整, RSSI的取值范围为-40~-95dBm,CC2530中取整数。 RSSI和P都是表征功率的物理量,只是单位不同,二者的换算关系为: RSSI=10lgP P单位为mW,RSSI单位为dBm,1mW折算为0dBm,由于CC2530功耗较低,一般发射功率小于1mW,故RSSI取值为负,且绝对值越大信号越弱。 pkg->rssi是有符号数,以补码形式存储,而程序中多为无符号数,当rssi  详情 回复 发表于 2017-6-27 14:26
点赞 关注
 

回复
举报

3238

帖子

5

TA的资源

五彩晶圆(中级)

沙发
 
你仔细看下你的数据包结构体,有rssi的变量
此帖出自无线连接论坛
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
wateras1 发表于 2015-4-18 12:05
你仔细看下你的数据包结构体,有rssi的变量

恩恩, 我找到了,因为这个值是一个有符号的char型数据,我把他的真值算出来~(pkt->rssi)+1,这个就是它的真值吧,然后我带入公式计算,但是得到距离d的大概值,我改变ZigBee模块的距离,但是这个值不变,这个是怎么回事呢?如有代码指导,非常感谢
此帖出自无线连接论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

4
 
两种方式获取RSSI值:(1)直接读取RSSI寄存器(RSSI.RSSI_VAL);(2)读取数据包RSSI变量(pkg->rssi)。
RSSI_VAL寄存器值与RF接收信号功率的经验关系:
P=(RSSI_VAL+RSSI_OFFSET)dBm

RSSI_OFFET是来自前端增益的经验值,大约为-45。 CC2530发射功率范围为-22dBm~+3dBm,可在协议栈中设置调整, RSSI的取值范围为-40~-95dBm,CC2530中取整数。

RSSI和P都是表征功率的物理量,只是单位不同,二者的换算关系为:
RSSI=10lgP

P单位为mW,RSSI单位为dBm,1mW折算为0dBm,由于CC2530功耗较低,一般发射功率小于1mW,故RSSI取值为负,且绝对值越大信号越弱。

pkg->rssi是有符号数,以补码形式存储,而程序中多为无符号数,当rssi<0时要用2^8-rssi(256-rssi)来获取rssi的绝对值。
此帖出自无线连接论坛
个人签名物联网,智能家居产品开发   https://nicole088.taobao.com/
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表