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