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/

 

結構框圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM