DW1000跟MCU之间是通过SPI读写完成数据交互,如果SPI数据读写有延迟,对基站吞吐量的影响是很大的,最近一次,分析标签完成一次测距时间比较长,耗时5ms左右,分析完,就找到了SPI读写过程中的问题,当然也有选用MCU自身主频低的因素在里面;
1、协议分析仪抓包分析;
通过优化,某蓝牙芯片在发送F帧和收到A帧的时间间隔可以缩短近100us,整个TWR测距时长能缩短到3ms;
2、DW1000的时间差值分析;
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速率选择;
低速:2M 高速: 16M
继续爬坑中。
-------------------广告线---------------
项目、合作,欢迎勾搭,邮箱:promall@qq.com
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com