无线电 DWM1001 收发器
本帖最后由 liuyongwangzi 于 2018-6-14 09:59 编辑
本文将探讨 Decawave 软件架构和配套的固件开发,说明在 Decawave 平台上开发用户应用的具体方法。 RTLS 系统的作用 精密 RTLS 已成为在办公大楼、仓库、制造厂和装配线中用于确定或跟踪人员及移动资产位置的有效方法。依据此方法,一个移动对象(标签)使用低速率无线个人局域网 (LR-WPAN) 标准 IEEE 802.15.4-2011 中规定的标准格式和 UWB 技术,与固定位置的设备(定位点)交换信息。通过确定标签与多个定位点之间的距离,相关应用可以确定标签相对这些已知定位点的位置,进而确定标签的绝对位置。
RTLS 方法 RTLS 应用使用多种方法确定距离。在最简单的方法中,应用或标签可以使用大多数收发器提供的接收信号强度指示器 (RSSI) 参数,来评估标签相对发射定位点的位置。由于存在多种可能影响链路预算的因素,此方法最多只能提供粗略的位置估计。相比之下,许多基于 RTLS 的新兴应用要求将绝对位置确定到几厘米的精度。 高精度 RTLS 使用飞行时间方法,而这类方法几乎不受射频信号强度大幅变动的影响。依据此方法,可通过测量射频信号从标签传递到多个定位点所需的时间,来确定标签的位置。
Decawave 在其双向测距 RTLS 协议中,从发现阶段和测距阶段的角度定义了此过程(图 1)。在发现期间,标签定期传送简短的标识信号(即眨眼信号),并等待来自定位点的响应。在标签和定位点彼此识别后,配对的标签和定位点使用简短的双向信息交换,其中包含了测距所需的信息。
图 1:在 Decawave 的双向测距协议中,标签和定位点交换一系列消息,以完成发现并提供测距信息。(图片来源:Decawave)
对于开发人员而言,实现这些精确设计的消息交换协议及其底层 UWB 无线电子 系统带来的挑战可能令人生畏。但凭借 Decawave DWM1001 模块,开发人员只需很少的额外工作,就能快速向其应用中添加精确的 RTLS 功能。集成式 RTLS 模块 Decawave DWM1001 模块可完整实现 RTLS,将 Decawave DW1000 UWB 收发器与一个 Nordic Semiconductor NRF52832 无线 MCU 和一个 STMicroelectronics LIS2DH12 3 轴运动传感器集成在一起。尽管 DW1000 提供符合 IEEE 802.15.4-2011 标准的射频信号发送功能,但 NRF52832 MCU 仍针对 RTLS 应用执行其内嵌的固件。LIS2DH12 传感器在电源 管理中扮演着重要的角色。 在任何复杂的射频应用中,射频设计往往都会带来一些最艰巨的挑战,尤其在要求极小封装和极低功耗的移动应用中。DWM1001 模块通过充分利用 DW1000 收发器提供的集成式射频设计(图 2)解决了这些问题。
图 2:Decawave DW1000
收发器集成了无线电信号路径和数字控制逻辑,以提供一个完整的符合 IEEE802.15.4-2011 标准的系统。(图片来源:Decawave)DW1000 提供集成了射频前端的完整 UWB 收发器,能够支持六个从 3.5 GHz 到 6.5 GHz 的 IEEE802.15.4-2011 通道,标准比特率为 110 Kb/s、850 Kb/s 和 6.81 Mb/s。该器件的集成数字控制子系统用于管理收发器,并支持双向测距和 TDOA RTLS 系统,定位精度可达 10 厘米。
利用集成的一次性可编程存储器 (OTP),开发人员可以存储用于校准和纠错的数据,同时器件的可配置不间断存储器 (AON) 会在器件处于下文所述的低功耗状态期间保留配置数据。 在工作期间,该设备发送和接收标准 IEEE802.15.4-2011 帧,其中包含同步标头 (SHR)、物理层标头 (PHR),以及构成总体物理层服务数据单元 (PSDU) 的多达 127 字节的数据。除了标准帧以外,该设备还支持专有帧格式,该帧格式为需要发送更大数据有效载荷、但不要求符合 IEEE802.15.4-2011 标准的应用提供了多达 1023 个数据字节。 对于符合标准的应用,开发人员可以从一系列工作模式中进行选择,以满足特定的双向测距和 TDOA 操作使用实例。这些工作模式预先组合了数据速率、有效载荷大小和预先配置的前导码长度。例如,适用于远程应用的模式组合了较低的数据速率以及有利于在干扰或较弱信号中完成发现和测距的较长前导码。
反之,具有较高数据速率和较短前导码的模式则支持短程应用。其他模式以不同大小的数据有效载荷支持这类远程和短程应用的特征。 功耗最小化 在实践中,开发人员会选择帧大小尽可能短的工作模式,以最大限度减小总体功耗,并让器件快速恢复低功耗状态。DW1000 提供了多种低功耗模式。在非活动期内,可以将器件置于待机模式,此模式的电流消耗仅为 19 毫安 (mA)。如果需要长期保持非活动状态,开发人员可将器件置于低功耗休眠模式,此时的电流消耗仅约 1 微安 (μA),而深度睡眠模式的电流消耗更是不超过 100 纳安 (nA)(典型值 50 nA)。 但与任何射频设计一样,收发器工作期间的功耗会显著增大。例如,要传输符合 IEEE802.15.4-2011 标准的帧,同步标头和数据包等较长的帧组件消耗了大部分功耗(图 3)。
图 3:Decawave DW1000 的 RTLS 帧传输会导致各个帧组件的功耗显著增大,这促使设计人员开始寻求具有最短的有用同步标头和数据有效载荷的工作模式。(图片来源:Decawave)
与接收器操作相关的功耗甚至更大,这给功耗受限型设计带来了更艰巨的挑战(图 4)。开发人员可以将 DW1000 设定为在发送或接收操作后恢复其中一种低功耗状态。即便如此,标准协议和帧的性质使得用于降低帧操作期间功耗的选择很少。
图 4:由于前导码查寻阶段的持续时间较长,因此接收帧所需的功耗要求甚至高于传输操作。(图片来源:Decawave)
DW1000 提供了独特的节能功能来降低前导码 RX 阶段的功耗。开发人员可以为器件编制专门的前导码嗅探模式,而不是让接收器一直保持工作状态。这种情况下,DW1000 定期为接收器通电,查找前导码,如果未找到前导码则恢复待机状态(图 5)。
图 5:开发人员可通过使用 DW1000 的嗅探功能来降低与接收器操作相关的功耗,使得器件在待机模式与接收器活动模式之间交替变化。(图片来源:Decawave)
前导码嗅探等功能对于电池供电型标签而言尤其重要。开发人员可在 RTLS 操作期间应用多种节能方法。其中一种方法利用的是图 1 所示双向测距协议中存在的不同已知延迟。例如,在发现阶段,定位点对标签“眨眼信号”的测距初始化应答会在一定的延迟后发生。开发人员可基于帧率和其他参数估算此延迟,在其定位点设计中测量其实际值,甚至在其定位点设计中构建特定的响应延迟时间。然后,开发人员可以在预期的延迟时间内安全地将标签接收器保持关闭状态,要搜寻响应则将接收器开启,如果测距初始化应答未在合理的窗口内到达,则将接收器再次关闭。 类似地,开发人员可以采取措施来限制在测距过程中需要将无线电保持开启状态的时间。
例如,开发人员可以在设备中预加载所有需要的数据,并使用直接存储器访问来加快 DW1000 与主机内存之间的数据传输。 虽然这些低级优化可以提高增量节能,但开发人员还可通过动态更改位置更新速率进一步改善节能效果。标签停止移动后,便没有必要继续执行高能耗的发现和测距阶段。标签可以安全地进入低功耗休眠状态,并在其开始移动后唤醒,继续以标称速率进行更新。 通过集成 LIS2DH12 运动传感器,DWM1001 模块支持动态速率调整,并且支持两种运动相关的工作模式:低功耗和响应模式。开发人员可以对该模块进行配置,在 LIS2DH12 感应到模块处于静止状态时,DW1000 收发器以低功耗模式运行。当 LIS2DH12 检测到移动时,收发器可以恢复为响应模式,这时 DW1000 收发器将恢复正常的更新速率。 开发人员还可以进一步优化其 RTLS 应用,基于对象的速度和加速度来控制更新速率。例如,缓慢移动的标签可能只需较低的更新频率便可保持必要的定位精度。随着标签速度的增加,应用可通过提高位置更新速率进行响应。 RTLS 开发 除了能够支持动态更新速率等 RTLS 特性之外,该模块还提供了基本的 RTLS 开发优势。例如,DW1000 收发器针对电源去耦、天线网络匹配、基准振荡器和其他元器件采行了多种特定的接口要求(图 6)。
类似地,NRF52832 无线 MCU 和 LIS2DH12 运动传感器也存在自己的接口设计需求。
图 6:Decawave DW1000 收发器采用严格的接口要求,从而确保可靠的电源、射频和定时信号。(图片来源:Decawave)
尽管类似这样的高级器件采用了高度简化的设计,但在要求以最低功耗实现最高性能的设计中,设计人员要想优化集成,仍可能面临严峻的挑战。DWM1001 模块将集成要求降低至少数几个电源、接地和数字接口的连接(图 7)。
图 7:Decawave DWM1001 模块通过提供完全集成的设计(集成了 DW1000 收发器与无线 MCU 和运动传感器)简化了 RTLS 开发。(图片来源:Decawave)
软件模型类似地,该模块还利用其预装的 Decawave 定位和网络堆栈 (PANS) 库固件大幅简化了软件开发与集成。PANS 库基于 MCU 的片载低功耗蓝牙 (BLE) 堆栈而构建,包含开源 eCos 实时操作系统 (RTOS)、一个网络层,以及支持 BLE 服务、RTLS 管理服务和双向测距 (TWR) 定位引擎的若干应用层(图 8)。
图 8:Decawave 定位和网络堆栈 (PANS) 库组合了蓝牙堆栈、RTOS、网络层和应用服务层,提供了一个功能丰富的 RTLS 应用平台。(图片来源:Decawave)
在构建于 DWM1001 的 MCU 上运行的固件应用时,开发人员通过综合应用编程接口 (API) 访问 PANS 库,该接口提供了各个 PANS 模块的相应入口点,从而对该模块进行配置和控制。PANS API 包含多个适用单独模块的 API 集,其中包括开发人员 C 代码、串行接口库(CPI 和 UART)以及 BLE 库(图 9)。应用直接与这四个高级 API 连接,进而通过一个通用 API 解析器将这些调用转换为对 PANS 库的通用 API 调用,来实现对 PANS 库的访问。在此角色中,通用层提供了对 PANS 库的通用接口。
图 9:Decawave 通过广泛的 API 提供 PANS 库访问,每个 API 提供对底层线程化执行模型的简单访问。(图片来源:Decawave)
线程化架构在此架构中,DWM1001 固件软件使用线程化模型,基本上为堆栈中的每个模块和库都提供了单独的线程。堆栈顶部四个模块各自的线程将解析请求传递到通用 API 解析器线程,该线程则验证每条请求并调用 PANS 库,从而生成相应的响应。通用 API 线程进而使用发起调用时提供的回调函数,将结果返回到位于堆栈顶部的调用模块。 尽管这一多层系统看似非常复杂,但从开发人员的编程模型看却相对简单。将 API 调用与独立线程回调配合使用,有助于优化资源利用率和总体应用性能。 与此同时,底层复杂性也被一系列 API 屏蔽,这些 API 将面向应用的高级调用转换为经优化的与 DWM1001 硬件进行交互的特定线程化操作。
总结
RTLS 在广泛的应用中扮演越来越重要的角色。尽管 RTLS 方法基于相对简单的原理,但这些方法的实现需要复杂的射频/模拟设计、系统设计以及软件开发,以确保使用最小的功耗获得最高的精度。Decawave DWM1001 模块提供了完整的 RTLS 系统,其中结合了 Decawave 的集成式 DW1000 UWB 收发器以及无线 MCU 和运动传感器。利用此模块和配套的软件包,开发人员可以快速实现高精度的电池供电型 RTLS 系统。
更多回帖