51uwb.cn

标题: DS-TWR测距距离变短,求解答 [打印本页]

作者: zhanghx    时间: 2021-5-12 15:36
标题: DS-TWR测距距离变短,求解答
我这边使用通道2实现测距,在室内的情况下,可以测到40米,每秒测一次。后来项目需要添加一下其他逻辑,就是什么开始检测,但还是每秒检测一次,结果数据稳定距离变成了30米,在40米处会不断的丢包。
说明,整个工程是裸机写的,在while循环中,每次测距完成我都会执行dwt_entersleep(),并在整个循环运行完,执行__WFI()。
求解答,为什么只是添加了一些逻辑判断,并没有修改DW1000的代码,会导致测的距离变短,怎么修改,让测距值恢复到以前。(目前是将添加的逻辑去掉就可以恢复到以前的状态)

作者: 蓝点无限    时间: 2021-5-12 15:50
DW1000 从sleep状态恢复过来,应该有些寄存器的值没有恢复,导致发射功率降低吧

dump sleep 前后寄存器对比下
作者: zhanghx    时间: 2021-5-12 16:19
蓝点无限 发表于 2021-5-12 15:50
DW1000 从sleep状态恢复过来,应该有些寄存器的值没有恢复,导致发射功率降低吧

dump sleep 前后寄存器 ...

不过,我不知道改如何看相应寄存器的值,另外,不添加逻辑的,不出问题,按理说寄存器也没有恢复才对
作者: 蓝点无限    时间: 2021-5-12 16:51
zhanghx 发表于 2021-5-12 16:19
不过,我不知道改如何看相应寄存器的值,另外,不添加逻辑的,不出问题,按理说寄存器也没有恢复才对

会写寄存器不会读吗?

sleep 起来有些寄存器需要重新配置,你看下数据手册
作者: zhanghx    时间: 2021-5-13 10:49
蓝点无限 发表于 2021-5-12 16:51
会写寄存器不会读吗?

sleep 起来有些寄存器需要重新配置,你看下数据手册

应该不是sleep的事,我让整个系统和模块一直运行,不进入sleep模式,现象依然不变。
作者: 蓝点无限    时间: 2021-5-13 10:52
zhanghx 发表于 2021-5-13 10:49
应该不是sleep的事,我让整个系统和模块一直运行,不进入sleep模式,现象依然不变。

你增加的逻辑部分,是否有对UWB做设定?

我觉得还是把UWB寄存器dump出来看下。

后面我找时间把dump寄存器代码给你贴一下,你加到代码里,看看前后有什么差异吧。

UWB不可能无缘无故的距离降低
作者: zhanghx    时间: 2021-5-13 11:20
蓝点无限 发表于 2021-5-13 10:52
你增加的逻辑部分,是否有对UWB做设定?

我觉得还是把UWB寄存器dump出来看下。

好的, 他也不是完全收不到,只是丢包严重了。




欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3