4093|10

79

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【Atmel SAM R21创意大赛周计划】RSSI测距 [复制链接]

本帖最后由 义剑仗乾坤 于 2015-4-2 21:32 编辑

各位大神们已经交作品了,本菜鸟还没做完,表示压力很大。活动虽然已经截止了,但东西还是要做出来,给论坛一个交代。这次作品是想借助【相差测距】测量两个板子之间的距离,并用LCD显示;并且设置距离上限值,超限后协调器端报警,可以应用于贵重物品防盗。
其实一直想等LCD调通之后再发的,但LCD比较老走的三线制spi,不能用例程里的spi,就自己用IO口模拟,时序图都对了,就是不出字,感觉是时间没控制好,目前还在紧张调试中。

关于相差测距:【ATMEL宣布AT86RF233 2.4GHz IEEE 802.15.4 无线电收发器能支持两个无线电设备之间的距离测量,也就是测距(ranging)。这项创新技术使用无线电信号之间的相差(phase difference)以测量,实现了无线网络内的物体追踪,用于工业和消费应用。相位测量相比今天市场上提供的通用距离测量技术,是并不复杂的技术,并且具有相似的测量精度和较低的整体系统成本。】

datasheet上有下面的介绍
40.11 Phase Difference Measurement
The Phase Difference Measurement Unit (PMU) is characterized by: Relative phase measurement of received signal

40.11.1 Overview
The AT86RF233 performs a phase measurement of a received signal relative to an internal reference. The derived value represents the phase delay of the received signal referenced to an internal reference signal in the receiver low-IF domain, see “Receiver (RX)” on page 974. The measured value is captured in register bits PMU_VALUE (register 0x3B, PHY_PMU_VALUE) and periodically updated.

The register bit PMU_IF_INVERSE controls the PMU Intermediate Frequency path.

The register bits PMU_VALUE signals the PMU measurement value

基本测距流程

细节流程

关于相差测距,研究了很久之后发现是个大坑。一位大神建议把那几个pmu对应的函数内部流程搞清楚,自己写。我表示力不从心啊,只好转到RSSI上。

Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。通过接收到的信号强弱测定信号点与接收点的距离,进而根据相应数据进行定位计算的一种定位技术。

网上查了一些资料,RSSI=-(10*n*lgd+A) n代表传播指数,A代表距离1m时接受信号强度绝对值 单位dBm 根据这个公式的推导距离d

                      所以d=10^((ABS(RSSI)-A)/(10*n))

其中A值的最佳范围为45—49,n值最佳范围为3.25—4.5

于是根据公式编了一段计算距离的程序

         // 距离dis=10^((ABS(RSSI)-A)/(10*n))
         double bbb = abs(msg->rssi);     //求出rssi的绝对值
         double ccc=(bbb-48.0)/45.0;
         double dis=exp10(ccc) ;    //求出10的ccc次方

反复试了几次,A取了48,n取了4.5,可能不同的环境有差别吧

当然要添加头文件
#include "fastmath.h"

其中用到的两个数学函数
#define        abs(x)                fast_abs(x)             //取绝对值
#define        exp10(x)                fast_exp10(x)         //10的x次方

上视频

3米内,引脚输出低电平;
3-6米,脉冲;
6米以上,输出高电平。

上代码
在wsndemo.c中写的
  1. #if APP_COORDINATOR
  2.         appUartSendMessage(ind->data, ind->size);

  3.         if (APP_CommandsPending(ind->srcAddr)) {
  4.                 NWK_SetAckControl(APP_COMMAND_PENDING);
  5.         }
  6.          
  7.          // 距离dis=10^((ABS(RSSI)-A)/(10*n))
  8.          double bbb = abs(msg->rssi);
  9.          double ccc=(bbb-48.0)/45.0;
  10.          double dis=exp10(ccc) ;
  11.          
  12.          if(dis<3)
  13.          {
  14.                  port_pin_set_output_level(PIN_PA13,0);
  15.      }                 
  16.      else if (dis<6)
  17.      {
  18.                  port_pin_set_output_level(PIN_PA13,1);
  19.                  delay_ms(50);
  20.                  port_pin_set_output_level(PIN_PA13,0);
  21.      }else
  22.     {
  23.              port_pin_set_output_level(PIN_PA13,1);
  24.      }
  25.          
  26. #endif
  27.         return true;
  28. }
复制代码

用LCD显示距离的话会直观很多,现在只好用这种笨办法演示一下。

ASF库里给的这几个例程确实很好用,我用的是wsndemo,其中终端通过appSendData()发数据,协调器通过appDataInd()接收数据。

小弟之前只玩过51,没用过库函数,结构体也不太明白。这次能参与到这个活动真挺幸运的,学到了很多东西。我读的是双控,一直在帮导师做PLC相关的项目,玩板子方面实在是菜鸟,以后还多向各位大神请教。

后面调好LCD再补充吧。

最新回复

你初始化时指令延时时间增加下试试  详情 回复 发表于 2015-4-3 10:23

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

26

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
来看看大神的杰作

点评

别别 其他几位才是大神 我也是刚学 做了个半成品 后面再完善  详情 回复 发表于 2015-4-2 22:53
 
 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 
如果是室外效果会好一些,室内因为障碍物、墙壁造成的多径效应,对精度影响很大。

点评

是的 站着不动 信号强度也可能会变化  详情 回复 发表于 2015-4-2 22:57
 
 
 

回复

79

帖子

1

TA的资源

一粒金砂(中级)

4
 
qq597578205 发表于 2015-4-2 22:47
来看看大神的杰作

别别 其他几位才是大神
我也是刚学 做了个半成品 后面再完善
 
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

5
 
义剑仗乾坤 发表于 2015-4-2 22:53
别别 其他几位才是大神
我也是刚学 做了个半成品 后面再完善

我也想学习这块板子。。。没有板子好纠结
 
 
 

回复

79

帖子

1

TA的资源

一粒金砂(中级)

6
 
dcexpert 发表于 2015-4-2 22:52
如果是室外效果会好一些,室内因为障碍物、墙壁造成的多径效应,对精度影响很大。

是的 站着不动 信号强度也可能会变化

点评

因为R21使用的2.4G频率,也会收到Wifi的影响。虽然频点可能不一样,还是会把模拟信号叠加上去。  详情 回复 发表于 2015-4-2 23:07
 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 
义剑仗乾坤 发表于 2015-4-2 22:57
是的 站着不动 信号强度也可能会变化

因为R21使用的2.4G频率,也会收到Wifi的影响。虽然频点可能不一样,还是会把模拟信号叠加上去。

点评

学习了!  详情 回复 发表于 2015-4-3 08:37
 
 
 

回复

79

帖子

1

TA的资源

一粒金砂(中级)

8
 
dcexpert 发表于 2015-4-2 23:07
因为R21使用的2.4G频率,也会收到Wifi的影响。虽然频点可能不一样,还是会把模拟信号叠加上去。

学习了!
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

9
 
分享一些资料给你,好好研究研究

应该可以搞定的,不是很难,PPT中部分已经添加注释,方便理解

这篇PPT是atmel内部设计PMU的工程师写的,也算是比较专业了,仅此一篇,当然需要做一些实验,才能写好那几个函数,不过也需要一些基本的认识,比如多径效应等等,跳频测量也需要你好好理解下



ranging-with-ieee-802-15-4-narrow-band-phy.rar (53.6 KB, 下载次数: 29)

点评

多谢!我再研究一下!  详情 回复 发表于 2015-4-4 09:00
 
个人签名电工
 
 

回复

524

帖子

0

TA的资源

一粒金砂(高级)

10
 
你初始化时指令延时时间增加下试试
 
 
 

回复

79

帖子

1

TA的资源

一粒金砂(中级)

11
 
lyzhangxiang 发表于 2015-4-3 08:42
分享一些资料给你,好好研究研究

应该可以搞定的,不是很难,PPT中部分已经添加注释,方便理解

这篇PPT是atmel内部设计PMU的工程师写的,也算是比较专业了,仅此一篇,当然需要做一些实验,才能写好那几个函数,不过也需要一些基本的认识,比如多径效应等等,跳频测量也需要你好好理解下

多谢!我再研究一下!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表