51uwb.cn

 找回密码
 立即注册
查看: 5837|回复: 3
打印 上一主题 下一主题

DWM1000 使用官方twr测距,测距失败

[复制链接]

1

主题

11

帖子

30

积分

新手上路

Rank: 1

积分
30
跳转到指定楼层
楼主
发表于 2020-10-20 22:20:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
移植官方TWR测距,原来使用stm32f103,可以实现一个基站和两个标签的测距。
现在使用STM32G030,可以读取芯片ID。然后继续就有问题了,网上查阅修改各种延时时间都没办法解决问题。
出现的问题主要有:
1.标签发送完之后,基站接收到poll包之后,发送resp包之后,出现如下的错误状态
#define SYS_STATUS_HPDWARN      0x08000000UL    /* Half Period Delay Warning */
#define SYS_STATUS_RXSFDTO      0x04000000UL    /* Receive SFD timeout */
#define SYS_STATUS_RXPTO        0x00200000UL    /* Preamble detection timeout */
1.1  中间有段时间,出现可以正常twr测距的情况,但是最后计算结果飘的离谱,在正的5位数和负的六位数(十进制)之间来回飘...
2.今天重新移植后,使用01a和02a例程,发送端正常循环发送,接收端接收到帧后,读取SYS_STATUS_ID的24位状态为:0xFFFFFFFF,或者高8位偶尔出现非0xFF的情况,读取frame_len==0x3ff,也就是1023个字节,读取缓存数据最后一个字节为0x00,其它为0xFF。
求解,问题出在了哪个地方??
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
沙发
发表于 2020-10-21 07:53:17 | 只看该作者
建议你移植的时候,一个模块依然用103的程序,例如基站, G030 跑标签。
有问题的话那肯定就是标签代码有问题,这样好排查,两个一起弄,纠缠在一起不好debug
回复

使用道具 举报

1

主题

11

帖子

30

积分

新手上路

Rank: 1

积分
30
板凳
 楼主| 发表于 2020-10-21 11:33:12 | 只看该作者
蓝点无限 发表于 2020-10-21 07:53
建议你移植的时候,一个模块依然用103的程序,例如基站, G030 跑标签。
有问题的话那肯定就是标签代码有 ...

感谢
其实这样的尝试已经进行过了,标签用STM32G030,基站依然用STM32F103,是可以使用的。但是把基站也换STM32G030之后,测距就失败了。
中间状态之前使用printf打印调试信息,后来查资料,意识到了这个问题后,去掉printf,在debug模式下,读取中间过程的状态(比如starttx之后的发送状态或者标签侧resp包),依然还是返回错误,主要是   未检测到前导码或者rx接收超时  或者tx发送超时。
怀疑还是uwb本身使用twr时严格的时序相关,但是改延时时间也是同样的效果,即便能twr成功,距离又是错的(中间无printf调试信息输出),现在没有思路了
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
地板
发表于 2020-10-21 14:52:19 | 只看该作者
wo4fisher 发表于 2020-10-21 11:33
感谢
其实这样的尝试已经进行过了,标签用STM32G030,基站依然用STM32F103,是可以使用的。但是把基站也 ...

你着重检查下delay tx 这个功能,大的流程应该没有问题,基站和标签除了大流程以外,基站主要用了delay tx
回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-11-23 15:46 , Processed in 0.012022 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表