什么是TREK1000?
TREK1000:Two-Way-Ranging(TWR)RTLS IC Evaluation Kit,是Decawave推出的双向测距芯片验证套件,包括:
- 4块板卡
- PC上位机软件
- 它们的源代码
市面上大部分采用TWR方法进行室内定位的产品,基本都是基于这个套件进行二次开发的。
资料获取
可以在官方网站下载源代码https://www.decawave.com/software/
Contents:
- Collateral
- DecaRangeRTLS ARM Source Code Guide .pdf
- DecaRangeRTLS PC Source Code Guide .pdf
- DecaRangeRTLS Binary
- DecaRangeRTLS_ARMCubeMxrev2p25 .bin
- DecaRangeRTLS Source Code
- DecaRangeRTLS PC / DecaRangingRTLS_PC_3p8 .zip
- DecaRangeRTLS ARM / DecaRangingRTLS_ARMCubeMx_2p25 .zip
重点参考资料
- DW1000芯片
- DW1000 User Manual.pdf - 芯片用户手册,说明了芯片的工作原理和通信接口
- DW1000_Software_API_Guide_rev2p4.pdf - 芯片API指南,说明了驱动程序API的使用方法
- TREK1000套件
- TREK1000 User Manual.pdf - 套件用户手册,说明套件的功能和特性
- 02_PortingToSTWorkbench.pdf - 介绍了使用STM32Cube移植硬件接口的要求
- DecaRangeRTLS_ARM_Source_Code_Guide.pdf - 设备端ARM源代码指南,对源码进行宏观层面的说明
- DecaRangeRTLS_ARMCubeMx_2p25 - 源代码
- 更多详细资料请参考Decawave官方资源
驱动程序
版本对齐
Decawave对驱动程序的定义可以在DW1000_Software_API_Guide_rev2p7.pdf 的首章节找到设备驱动程序本质上是一组低级函数,提供了一种使用 DW1000 收发器主要功能的方法,而无需处理直接通过其 SPI 接口寄存器集访问设备的细节。
设备驱动程序作为源代码提供,以允许它被移植到任何带有 SPI 接口的目标微处理器系统。
源代码采用 C 语言编程。
同时该章节还提到了API手册的适用范围:适用于DW1000 Device Driver Version **05.00.xx**
而看了看项目中的deca_version.h
文件,发现驱动程序版本为DW1000 Device Driver Version **04.00.05**
The format of the hex version is 0xAABBCC and the string ends with AA.BB.CC, where…
Quantity CC is updated for minor changes/bug fixes that should not need user code changes Quantity BB is updated for changes/bug fixes that may need user code changes Quantity AA is updated for major changes that will need user code changes
这里的大版本号都不对,大版本号不一致的API兼容性有问题,可能会影响到用户代码,所以首先我们应该拿到匹配的API手册和源代码,这里以TREK1000的版本为准
- TREK1000源码版本 - Decawave_TREK1000_Source_STM2.25MX_PC3.8
- DWM1000驱动版本 - DW1000 Device Driver Version 04.00.05(dw1000_api_rev2p04-1)
- 驱动API手册DW1000_Software_API_Guide_rev2p4.pdf