51uwb.cn
标题:
UWB DWM1000 开源项目框架 之 硬件模块混用测距实现
[打印本页]
作者:
蓝点无限
时间:
2022-2-20 19:54
标题:
UWB DWM1000 开源项目框架 之 硬件模块混用测距实现
蓝点UWB代码框架推出两年多,目前可以支持STM32F1 STM32F4两种主控,分别对应我们的BP30、BP50 和BP400
近期我们将代码进行融合,
将UWB使用的库单独剥离。重新整合后,代码实现更高层次的复用
。
实现用“一套代码”适配我们目前所有型号硬件,实现了“硬件自由”,可以理解为测距的时候,两个模块可以自由组合,例如一个是BP30一个是BP400.
同样,定位的时候,模块之间也可以自由组合。
同时,我们的工程使用了STM32 Cube 对硬件做初始化,简化编程,方便后期移植。
本帖分享STM32F1 和 STM32F4工程,后期逐步分享STM32G0和STM32L0工程。
(, 下载次数: 1142)
上传
点击文件名下载附件
整体目录结构:
(, 下载次数: 1036)
上传
点击文件名下载附件
其中文件夹“BP-UWB_LIB”为UWB公共库文件,而其他每个文件夹则对应一种硬件。在每个硬件MDK工程中都会去引用BP-UWB_LIB内所有文件。
代码说明:
公共代码
BP-UWB_LIB 公共为项目公共代码,主要代码
(, 下载次数: 1028)
上传
点击文件名下载附件
包括了
Decawave 芯片初始化代码
卡拉曼滤波
OLED液晶显示(如果某个板子没有液晶,需要配置的时候讲宏注释掉)
platform 硬件(spi api包装)
Src(发送(tx) 和接收(rx)的主函数以及uwb顶层初始化和
配置文件
)
特别注意:不同硬件板子工程使用的配置文件是共享的。
私有代码
每个板子对应的工程文件夹为私有代码,这部分代码主要是使用STM32Cube对硬件做初始化,同时对硬件做抽象(port.h文件)
每个板子必须定义的外设
1. SPI
2 Timer
3 USART
4 LED
代码使用
如果不做“硬件自由”模块混用,使用代码和之前工程并无差别,只需打开工程文件夹内的MDK工程,修改配置文件bphero_uwb.h 定义设备角色和短地址编译即可。
如果要模块混用,需要打开多个工程(因为每个工程对应一种硬件设计),例如打开STM32F1_UWB_BP50 使用BP50硬件编译基站,然后使用STM32F4_UWB工程将BP400 编译为标签。
//!!!!重要说明!!!!
//RX_NODE 和 TX_NODE 编译的时候只能有且只有一个打开
//RX_NODE 接收节点,通常称作为基站
//TX_NODE 发送节点,通常称作为标签
#define RX_NODE
//#define TX_NODE
//通过MAX_ANTHOR 定义系统中基站个数,2D定位3个基站,3D定位4个基站
//MAX_ANTHOR 3 --> 2D
//MAX_ANTHOR 4 --> 3D
#define MAX_ANTHOR 3
//!!!!重要说明!!!!
//天线延时校正,如果测得距离和实际距离有稳定偏差,可以适当调整这个参数修正
//参考视频:https://www.bilibili.com/video/BV1154y1q7Qp/
#ifndef RX_ANT_DLY
#define RX_ANT_DLY 32900
#endif
//TX 天线延时,设置为0即可,只用RX 天线延时即可
#ifndef TX_ANT_DLY
#define TX_ANT_DLY 0
#endif
//如果是RX节点,定义短地址为0x0002
#ifdef RX_NODE
#define SHORT_ADDR 0x0002
#endif
//如果是TX节点,定义短地址为0x0001并且使能LCD
#ifdef TX_NODE
#define SHORT_ADDR 0x0005
//#define LCD_ENABLE
#endif
//网络ID,如果同一个区域有多套设备存在,可以修改这个参数,每一套一个虚拟网络ID
#define NET_PANID 0xF0F2
复制代码
代码链接:
下面这个代码支持BP50 和 BP400 混用测距
链接:
https://pan.baidu.com/s/1iUUXBfyoWPKKyavbSIzFiw
提取码:6666
作者:
HolyDeal
时间:
2022-2-22 16:47
感谢分享!链接失效了,麻烦重新分享一下
作者:
lukkulluk
时间:
2022-3-4 15:51
谢谢楼主分享
作者:
Xcc333
时间:
2022-7-27 17:40
感谢分享!链接失效了,麻烦重新分享一下
作者:
ryanyooo
时间:
2022-8-15 10:06
感谢分享 可以重新补个链接么
作者:
天神笨笨
时间:
2022-8-16 16:26
感谢分享 学习到了
作者:
kylinwu
时间:
2022-8-17 22:01
感谢分享 学习到了
作者:
愤怒的小河马
时间:
2023-4-4 10:15
连接过期了
欢迎光临 51uwb.cn (http://51uwb.cn/)
Powered by Discuz! X3.3