UWB定位产品开发爬坑记录-3

2023-05-02 15:45:52 浏览数 (2)

DW1000跟MCU之间是通过SPI读写完成数据交互,如果SPI数据读写有延迟,对基站吞吐量的影响是很大的,最近一次,分析标签完成一次测距时间比较长,耗时5ms左右,分析完,就找到了SPI读写过程中的问题,当然也有选用MCU自身主频低的因素在里面;

1、协议分析仪抓包分析;

通过优化,某蓝牙芯片在发送F帧和收到A帧的时间间隔可以缩短近100us,整个TWR测距时长能缩短到3ms;

2、DW1000的时间差值分析;

代码语言:javascript复制
    Ra = (double)(resp_rx_ts - poll_tx_ts);
    Rb = (double)(final_rx_ts_32 - resp_tx_ts_32);
    Da = (double)(final_tx_ts - resp_rx_ts);
    Db = (double)(resp_tx_ts_32 - poll_rx_ts_32);
    tof_dtu = (int64)(((Ra * Rb) - (Da * Db)) / (Ra   Rb   Da   Db));
    
    //计算差值
    uint32 tag_diff_1 = (uint32)((Ra*(double)DWT_TIME_UNITS)*10000);

3、SPI速率选择;

代码语言:javascript复制
低速:2M
高速: 16M

继续爬坑中。

0 人点赞