赞
踩
超宽带(UWB)是一种基于IEEE 802.15.4a和802.15.4z标准的无线电技术,可以非常精确地测量无线电信号的飞行时间,从而实现厘米级精度的距离/位置测量。UWB技术除了提供定位功能外,它本身是一种通信技术,其提供了一种安全的无线通信新方式,为新形式的安全交易打开了大门。
DW1000芯片是DecaWave公司于2012年推出的一款超宽带定位芯片,DecaWave公司已于2020年被苹果供应商Qorvo(威讯联合半导体)收购,最新推出的DW3000可与受支持的 Apple 产品配合使用实现附近互动功能(寻物等)。
本篇文章采取由上到下的思路来介绍UWB,首先介绍的是UWB这项技术的一些背景,再整体的从MDEK1001(Module Development & Evaluation Kit)开发套件讲起,直观的了解如何使用UWB技术来实现RTLS(实时定位系统),然后再介绍DWM1001-DEV(DWM1001模组的开发板),最后着重介绍DWM1001(DWM1001模组,集成了DW1000等芯片)的开发使用。
文章目录
超宽带技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据。 FCC对UWB系统的定义为带宽 >500MHz且载波中心频率>2.5GHz。
超宽带无线通信的实现方案有三种。
目前真正用于定位领域的是IR-UWB(下面介绍的也是这一种),利用纳秒级的非正弦波窄脉冲传输数据。
超宽带技术射频发射的脉冲工作脉宽一般为0.1-1.5ns (1纳秒= 十亿分之一秒),重复周期在25-1000ns。因为信号脉冲极窄,它的频谱无法像蓝牙这种持续信号能够通过傅里叶变化得到对应频率的尖峰(如下图蓝色部分在2.4G展示)而是得到一个以脉冲频率为中心,宽度大于500MHz的频谱结果,好似信号的能量被分摊到以500MHz为带宽,脉冲频率为中心的所有频率中(如下图的橙色部分),脉冲的频率被"隐藏"了起来。极高的带宽和极低的功率谱密度可以使其与其他窄带和宽带无线通信系统共享频谱且具备一定的抗干扰性。
这种发波的物理特性带来的好处还有一下两点:
与蓝牙或WiFi等其他技术不同,UWB技术射频信号的物理特性从一开始就被专门定义,以实现实时,超精确,超可靠的定位和通信。Qorvo收购了DecaWave之后,在 UWB 芯片的发展方向中添加了低功耗和低成本,使其的通用性更强。
UWB 基本原理是通过将信号的飞行时间(ToF)乘以光速来测量两个无线电收发器之间距离。根据这一基本原理,又分为到达时间差(TDoA),双向量程(TWR)以及到达相位差(PDoA)。
TDoA方法与GPS非常相似。多个参考点(称为锚点)部署在一个场地中,并且时间同步。将信标放置在移动物体上, 当锚点收到信标信号时,它将为其添加时间戳.然后将来自多个锚点的时间戳发送回中央定位引擎,该引擎将根据信标信号到达的时间差运行多点定位算法,以计算移动设备的 X、Y、Z坐标.
这种方式具有以下优点:
这种方式同时具有以下缺点:
这种方式的应用场景如下:
TWR方法依赖于两个设备之间的双向通信。在通信时,这些设备还会测量它们之间 UWB射频信号的飞行时间。通过将信号的往返时间乘以光速,然后除以2,可以得出两个设备之间的实际距离。如果在两个设备之间应用 TWR 方案,您将获得两个设备之间的距离 (D)。基于 TWR 方案, 您还可以通过测量移动标签和多个固定信标之间的距离来实现 2D 甚至 3D 定位 – 这称为三角测量。
方法优势:
方法劣势:
应用场景:
PDoA 方法包括将提供两个设备之间距离的 TWR 方案与两个设备之间的方位测量相结合。距离和方位的组合允许计算两个设备的相对位置(X,Y,z),而无需任何其他基础设施。为此,其中一个设备携带两个天线,能够测量射频信号到达的相位差。
方法优势:
方法劣势:
应用场景:
MDEK1001是基于DWM1001模组的评估和开发套件,它帮助我们通过DWM1001C来快速实现一个实时定位系统(Real-Time Location System),这个系统可以使用运行Android系统的平板电脑来轻松配置部署和可视化标签的实时位置信息。
套件包含如下:
部署RTLS系统分为以下几个步骤。
下图是8个锚点和两个标签的实时定位系统,其中的两个网关由定位设备配置成桥接模式与树莓派3B+组合而成,使用了预留的排针进行相连。
通过下图可以看到标签在不同区域时选择了最合适的锚点来做三角定位。
DWM1001-DEV是Decawave DWM1001C模组的开发板,上面提到的RTLS units外壳里边装的就是它,其主要是在Decawave DWM1001模组的基础上增加了板载 J-Link 用于通过 USB 进行调试和刷录,预留了8pin的普通IO和26pin与树莓派连接的接口,以及充电电路和LED指示灯。
其原理图如下:
DWM1001C是基于Decawave的DW1000芯片和Nordic Semiconductor的nRF52832 SoC的UWB和蓝牙模组。它具有板载运动传感器和集成天线,它的硬件/软件功能框图如下。
可以看出模组主要包含四个芯片:
下图是模组在不同状态下的功耗情况,可以看出模组在收发波的时候会有一个比较大的电流变化,对电源部分的瞬时相应提出了要求。
下图是显示了DWM1001C模组的天线辐射方向图。测量围绕板中心的球形空间中的三个平面,带有θ图和φ图,表示不同的极化。可以看出,在 RTLS 系统中使用时应该直立放置标签和锚点,如果标签和锚点的天线相对于彼此垂直,则极化会发生变化。在这种情况下,水平极化图案θ适用,并且在某些角度存在零点,可能限制定位的有效范围和引入位置不准确。
UWB网络使用 IEEE 802.15.4 定义的标准帧。该标准定义了多种帧类型,该系统仅使用数据帧。下图是一帧数据帧的组成。
UWB网络中的帧由上图中的Payload的第一字节来区分不同类型的消息,下面我们着重描述以下常见的消息。
DWM1001 模块预装了嵌入式固件,可提供基于双向测距 (TWR) 的实时定位系统 (RTLS)。该模块不仅可以通过蓝牙串口等通信接口进行配置和控制此,Decawave还以库和源代码的形式提供了模块固件源码以及构建环境,以便用户可以自定义操作和/或添加自己的功能。
DWM1001 模块中嵌入的固件基本上提供两种类型的功能:PANS API 和提供较低级别功能的 PANS 库。PANS API 包括通用 API(这些包括用于不同接口的不同 API 集和相应的解析器,它充当用户 API(C、UART、SPI 和 BLE)和 PANS 库之间的转换器)。下图显示了 DWM1001 固件的体系结构和组件。
其中核心的是PANS(Positioning and Networking Stack) Library,它主要包含了以下几个部分,其框图在列表的下面。
开发环境搭建包括以下几个组件,将其正确安装即可。
原厂提供的简易Demo目录结构如下:
打开“examples/dwm-simple-example/dwm-simple-example.emProject” file,工程应该被Segger Embedded Studio成功打开。
下一步配置编译工具链,遵循以下步骤。
要编译项目,请从SES菜单栏中打开“build”菜单,然后单击“编译dwm-simple”或按“F7”。生成的日志显示在输出窗口中。如果构建成功,目标 MCU 内存映射也会显示,以及占用和剩余的存/RAM 内存量。
下一步我们对例程做一些简单的修改。
dwm_pos_t pos;
- dwm_pos_get(&pos);
- printf("x=%ld, y=%ld, z=%ld, qf=%u \n", pos.x, pos.y, pos.z, pos.qf);
- printf("\t\t time=%lu \n", dwm_systime_us_get());
代码的作用是通过串口输出当前标签的坐标信息。代码中使用的dwm_pos_get即为Firmware提供的C语言的API接口,所有的C语言API接口定义都能在dwm/include/dwm.h文件找到。
编译的固件可以直接从 SES 向目标设备上刷写。通过 USB 将 DWM1001-Dev 设备与计算机相连,然后单击菜单栏中的“target”。选项“Download dwm-simple”可用于加载示例。SES 还支持调试。要启动调试模式,请单击菜单栏中的““Debug”或按F5。
Decawave公司不仅将上述的C语言接口称之为API,还将通过串口或者SPI发送的控制协议统称为API,我们举一个例子来类比它们的关系,比如接口int dwm_pos_set(dwm_pos_t* p_pos),它可以通过如下方式来配置位置信息:
- dwm_pos_t pos;
- pos.qf = 100;
- pos.x = 121;
- pos.y = 50;
- pos.z = 251;
- dwm_pos_set(&pos);
对应的UART/SPI的协议则如下:
值得一提的是串口可以通过在1秒内连续摁‘ENTER’键两次来进入shell模式,在shell模式中串口可以通过一系列命令来进行配置。
BLE同样也提供了一组API来设置和获取设备信息,并提供了升级Firmeware的功能。
十六宿舍 原创作品,转载必须标注原文链接。
©2023 Yang Li. All rights reserved.
欢迎关注 『十六宿舍』,大家喜欢的话,给个
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/829497
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。