zoukankan      html  css  js  c++  java
  • UWB DW1000 BP30 测距代码架构

    BP30 是我们推出的一款高性价比UWB开发板。目前有测距和定位两套代码。

    BP30 测距代码是基于我们自己开发的代码框架完成的,近期对代码重新整理,添加详细的中文注释,除去多余无用代码。

    准备在此记录一些,分享给准备学习UWB的新手小白。

    代码开发环境:MDK5, 

    主控单片机:STM32F401

    代码结构层次

    int main(void)
    {
        peripherals_init();//STM32 外设初始化
        BPhero_UWB_Message_Init();//UWB 数据包初始化
        BPhero_UWB_Init();//DW1000 硬件初始化
    #ifdef RX_NODE
        rx_main();//基站函数
    #endif
    
    #ifdef TX_NODE
        tx_main();//标签主函数
    #endif
    }

    其中

    1 peripherals_init() 这个与UWB无关,只初始化STM32 相关的硬件配置,例如GPIO UASRT SPI 系统时钟等信息(所有需要有一定STM32 基础)

    2 BPhero_UWB_Message_Init(), 组织符合IEEE标准的UWB数据包,因为我们用到帧过滤功能

    3 BPhero_UWB_Init(),主要完成DW1000 芯片硬件初始化,配置初始化参数,设定短地址,网络ID,发射功率等。这个函数里面会调用deca提供的API接口完成

    4 rx_main 和 tx_main 是一个独立函数,分别是基站 标签的主函数,里面实现了twr具体算法。

    UWB twr 算法讲解视频

    1.TWR测距原理分析1: https://www.bilibili.com/video/BV1jt4y1y7v8/
    2.TWR测距原理分析2: https://www.bilibili.com/video/BV1GT4y1J7Ky/
    

    结构框图如下:

    博客讨论一些室内定位(DWM1000/CC2431/CC2530) 以及一些随性的技术。博文可以转载,但需要注明出处!
  • 相关阅读:
    比较器 Comparable 与compartor 的区别及理解
    事务特性、事务隔离级别、spring事务传播特性
    分布式文件上传-FastDFS
    spring-cloud 组件总结以及搭建图示 (六)
    springCloud zuul网关(五)
    hashCode与equals 通过面试题一窥究竟
    【原】那年30岁
    【原】Hyper-V虚拟机设置外部网络访问
    【原】win10 .net framework 3.5安装
    【原】做梦有感
  • 原文地址:https://www.cnblogs.com/tuzhuke/p/14778917.html
Copyright © 2011-2022 走看看