51uwb.cn

标题: bp400接收数据异常、没有模块发送数据,也能接收到数据 [打印本页]

作者: dtltljb    时间: 2022-11-10 18:22
标题: bp400接收数据异常、没有模块发送数据,也能接收到数据
测试环境,
使用bp400模块、采用杜邦线连接spi接口和电源,其中Vcc的pin都连接3.3v,Vss只接了一个pin;
调试程序采用查询方式、读取dwm1000模块的数据。


测试过程:
(1)、 bp400 的一个 tx node 节点在发送数据,调试模块接收数据,检测 frame_len 大于 1023 个字节;

(2)、 关闭 tx node 发送节点,调试模块也能够接收到数据,打印日志如下:
(, 下载次数: 354)

本人推测、可能是参数配置有什么不对地方,看蓝点代码中,也有一处不太理解、望博主指点下方向。

程序中有对天线的延时参数配置、博主是否能够普及下这两个参数的意义呢。
后面我们的产品中、会直接使用bp400模块,我们自己做主板,把 bp400 模块焊接到主板上;
主 MCU 采用查询方式读取数据,我们是否需要调整 dwt_setrxantennadelay(RX_ANT_DLY); 和 dwt_settxantennadelay(TX_ANT_DLY); 这两个参数值,
如果需要调整、请问调整原则是什么,谢谢。



作者: 蓝点无限    时间: 2022-11-10 22:09
天线延迟是一个经验值,每一批板子或者每一批模组都应该是不一样的,具体可以看这个视频

作者: dtltljb    时间: 2022-11-11 18:04
谢谢博主。

经核实该问题是 mcu 的 spi 高速模式的速率太高、就会读出乱数来;把高速速率配置为 18MHz 后,就不再读取到乱数 了。
现在情况是这样,
调试板上电等待 BP400 tx node 发送数据,读取状态字内容如下,
(, 下载次数: 351)

多次测试、每次接收到的状态字、都是这个值。


作者: dtltljb    时间: 2022-11-12 18:03
此问题已经有答案,是程序在配置 dwt_enableframefilter(DWT_FF_COORD_EN); 设置为 DWT_FF_COORD_EN 模式,
按照源码注解理解,应该是 PAN ID 相符就应该能够接收到数据帧;实际运行效果不是这样的,模块的PAN ID = 0F 0F
并没有接收到对方发送过来的数据。

修改为 dwt_enableframefilter (DWT_FF_DATA_EN) 过滤数据帧,就可以接收到数据了。







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