UWB DW1000 DTU 时间戳
时间: 2023-11-22 20:09:53 浏览: 236
UWB DW1000 DTU(Ultra-Wideband DW1000 Data Terminal Unit)使用时间戳来进行测距过程。在这个过程中,设备A和设备B之间通过发送和接收不同的消息来计算距离。
设备A首先发送一个消息P给设备B,并在发送时记录时间戳。设备B收到消息P后,发送一个应答消息R给设备A,并在发送时记录时间戳。设备A收到消息R后,发送一个确认消息F给设备B,并在发送时记录时间戳。设备B收到消息F后,记录接收时间戳。
设备A将所有的时间戳发送给设备B。设备B根据自己的时间戳和设备A发送的时间戳,使用DS-TWR算法计算出两者之间的距离。然后,设备B将计算出的距离打包发送给设备A。
需要注意的是,时间戳是五个字节的,但为了方便传输,只使用了四个字节,并且舍弃了最高字节。如果前面的时间戳比后面的时间戳大,说明已经过了一个周期,后者需要加上一个周期后再进行计算。由于一个测距过程只需要几毫秒完成,而跑满32位计数需要67.216毫秒,因此不用担心溢出的问题。
此外,在UWB DW1000中,所有的消息都以两个字节的校验和结束,这个校验和是由DW1000自动设置的。在消息中,字节10到13是用来传输消息的时间戳的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [UWB-DW1000的TWR测距及代码(五)](https://blog.csdn.net/weixin_46107106/article/details/129204267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [UWB DW1000 TWR测距定位功能实现](https://blog.csdn.net/CSDN_XIAXIA/article/details/128185923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文