51uwb.cn

 找回密码
 立即注册
楼主: gi7878
打印 上一主题 下一主题

DWM1000 收发数据总是超时

[复制链接]

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
11#
 楼主| 发表于 2020-7-14 11:23:51 | 只看该作者
蓝点无限 发表于 2020-7-14 10:00
延时时间太短了,导致配置tx发送命令的时候,延时已经过去。导致tx fifo 发不出去了。
问题这么多,赶快 ...

延迟我也调整过到ms级别以上但是还是失败,不过每次过17s,就会提示发送成功
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
12#
发表于 2020-7-14 15:46:27 | 只看该作者
gi7878 发表于 2020-7-14 11:23
延迟我也调整过到ms级别以上但是还是失败,不过每次过17s,就会提示发送成功

17s 这么长,那肯定是下一轮了吧,好好检查code吧
回复

使用道具 举报

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
13#
 楼主| 发表于 2020-7-14 16:58:55 | 只看该作者
蓝点无限 发表于 2020-7-14 15:46
17s 这么长,那肯定是下一轮了吧,好好检查code吧

参考蓝点哥的,标签这边用的延迟已经没问题了#if 0
                /* Compute final message transmission time. See NOTE 10 below. */
                final_tx_time = (resp_rx_ts + (RESP_RX_TO_FINAL_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;
                dwt_setdelayedtrxtime(final_tx_time);

                /* Final TX timestamp is the transmission time we programmed plus the TX antenna delay. */
                final_tx_ts = (((uint64)(final_tx_time & 0xFFFFFFFEUL)) << 8) + TX_ANT_DLY;
#else
                                final_tx_time = dwt_readsystimestamphi32()+ 0x17cdc00/10;
                dwt_setdelayedtrxtime(final_tx_time);
                final_tx_ts = (((uint64)(final_tx_time & 0xFFFFFFFEUL)) << 8);
#endif


不过基站这边就对接收final超时了,而且基站也是用ret = dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);发送respone包,如果标签也是用ret = dwt_starttx(DWT_START_TX_IMMEDIATE );发送final包,交互正常实现,但是距离测出来都是不准的。 感觉理目标就差一点点了。就是不知道基站这边到底哪里出问题了,基站用的F429的hal库
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
14#
发表于 2020-7-15 10:09:54 | 只看该作者
gi7878 发表于 2020-7-14 16:58
参考蓝点哥的,标签这边用的延迟已经没问题了#if 0
                /* Compute final message transmis ...

和stm32 hal 库没有关系的,我们的开源框架就是用的hal库
肯定是uwb 的逻辑上有问题,你再好好查下代码吧
回复

使用道具 举报

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
15#
 楼主| 发表于 2020-7-15 10:25:49 | 只看该作者
蓝点无限 发表于 2020-7-15 10:09
和stm32 hal 库没有关系的,我们的开源框架就是用的hal库
肯定是uwb 的逻辑上有问题,你再好好查下代码 ...

好的谢谢蓝点哥,昨晚查官方论坛,还是那几个参数设置的问题,这里有个疑问就是,DWM1000里的uus是 微秒的意思吗,还是指的是皮秒, 官网的说法都是微秒
回复

使用道具 举报

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
16#
 楼主| 发表于 2020-7-15 14:24:13 | 只看该作者
蓝点无限 发表于 2020-7-15 10:09
和stm32 hal 库没有关系的,我们的开源框架就是用的hal库
肯定是uwb 的逻辑上有问题,你再好好查下代码 ...

发现问了,dwt_initialise(DWT_LOADUCODE),这里原来填的是DWT_LOADNONE,所以导致没有装载LDE算法,现在基站解决了,就剩下TX端,TX端,这里接收到respose包后,get_tx_timestamp_u64()得到为0,测试了一下,如果一直发送poll,这个get_tx_timestamp_u64是会变化的,现在还没找到原因为什么是0
回复

使用道具 举报

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
17#
 楼主| 发表于 2020-7-15 16:38:38 | 只看该作者
蓝点无限 发表于 2020-7-15 10:09
和stm32 hal 库没有关系的,我们的开源框架就是用的hal库
肯定是uwb 的逻辑上有问题,你再好好查下代码 ...

调试成功了,很艰难
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
18#
发表于 2020-7-15 20:06:14 | 只看该作者
gi7878 发表于 2020-7-15 16:38
调试成功了,很艰难

最后什么问题?
回复

使用道具 举报

7

主题

37

帖子

78

积分

注册会员

Rank: 2

积分
78
19#
 楼主| 发表于 2020-7-16 00:02:39 | 只看该作者

换了一个备用模块就好了,主板还是用TI CC2640驱动起来的
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
20#
发表于 2020-7-16 10:09:54 | 只看该作者
gi7878 发表于 2020-7-16 00:02
换了一个备用模块就好了,主板还是用TI CC2640驱动起来的

你们的主控是CC2640?
我之前也想搞uwb+zigbee 双频,后面没有时间搞
回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-11-23 15:29 , Processed in 0.016350 second(s), 4 queries , File On.

Powered by Discuz! X3.3

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

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