2. UWB硬件平台选型:从芯片到接口的实战考量

做UWB定位系统,硬件选型是第一步,也是最容易踩坑的一步。我见过不少团队,软件算法写得漂亮,结果硬件底子没打好,定位精度死活上不去。说白了,UWB的硬件平台就像房子的地基——地基歪了,上面装修再好也白搭。

这一章,咱们就聊聊UWB硬件选型那些事。我会结合自己这些年做项目的经验,把芯片方案、天线、电源、接口这些关键点掰开揉碎了讲。

核心观点:UWB硬件选型没有“最好”,只有“最合适”。你的应用场景、成本预算、开发周期,决定了你应该选什么方案。

UWB硬件平台选型知识体系 UWB硬件平台 芯片方案选型 天线选型 电源设计要点 DW1000 DW3000 STM32主控 陶瓷天线 PCB板载天线 LDO vs DCDC 纹波控制 SPI / UART / GPIO 选型核心:场景匹配 成本 × 性能 × 开发周期

2.1 主流UWB芯片方案:DW1000 vs DW3000 vs STM32

目前市面上主流的UWB芯片方案,基本就是Decawave(现属Qorvo)的DW1000和DW3000系列,再加上以STM32为代表的主控芯片组合。我最早接触UWB时用的就是DW1000,那时候可选方案真不多。

2.1.1 DW1000:老将出马,一个顶俩

DW1000是UWB领域的“老兵”了。它基于IEEE 802.15.4-2011标准,工作在3.5GHz到6.5GHz频段。说实话,这颗芯片虽然发布有些年头了,但至今仍在大量项目中服役。

参数 DW1000 DW3000
工作频段 3.5 - 6.5 GHz 6.0 - 8.5 GHz
最大数据速率 6.8 Mbps 31.2 Mbps
测距精度 ±10 cm ±5 cm
功耗(典型) ~150 mW ~80 mW
封装 QFN 48-pin QFN 40-pin

我个人习惯在成本敏感、对功耗要求不苛刻的项目里用DW1000。比如工厂人员定位、仓储物资追踪这类场景,DW1000完全够用。而且它的生态非常成熟,网上资料多,遇到问题好查。

小技巧:DW1000的SPI时钟频率最高只能到20MHz。我见过有人为了追求速度硬往上提,结果数据经常出错。老老实实按规格书来,别超频。

2.1.2 DW3000:后起之秀,能效之王

DW3000是Decawave的第二代产品,最大的改进就是功耗和体积。它支持IEEE 802.15.4z标准,增加了安全特性。我在做电池供电的标签项目时,首选就是DW3000。

DW3000的功耗比DW1000低了将近一半,这对可穿戴设备来说太关键了。你想想看,一个定位标签如果两天就得充一次电,用户肯定不买账。

注意:DW3000的工作频段更高(6-8.5 GHz),这意味着它的信号衰减更快,穿墙能力比DW1000稍弱。做室内定位时,基站部署密度可能需要适当增加。

2.1.3 STM32:主控芯片的选择

UWB芯片负责射频收发,但控制逻辑、算法运算还得靠主控MCU。STM32是我用得最多的选择,原因很简单:生态好、价格适中、性能够用。

选STM32时,我一般看这几个点:

  • 处理能力:至少Cortex-M4以上,带FPU最好。做TDOA定位算法时,浮点运算少不了。
  • SPI接口:至少2个,一个接UWB芯片,一个接其他外设(比如IMU)。
  • RAM大小:建议64KB以上。缓存测距数据、维护标签列表都需要内存。
  • 功耗:如果做电池供电,选STM32L系列,低功耗模式做得很好。
// STM32与DW3000的SPI初始化示例(简化版)
void DW3000_SPI_Init(void) {
    // 使能SPI时钟
    RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;
    
    // 配置GPIO:SCK, MOSI, MISO, CS
    // ... GPIO初始化代码 ...
    
    // SPI配置:模式0,8位数据,主模式
    SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SSI | SPI_CR1_SSM |
                SPI_CR1_SPE | (4 << 3);  // 分频系数16
}

2.2 天线选型:别让好芯片配了烂天线

做UWB定位,天线选型的重要性怎么强调都不过分。我见过一个项目,芯片用的是DW3000,算法也是业界顶尖的,结果定位精度就是上不去。最后排查了半天,问题出在天线上——用了款增益虚标的陶瓷天线。

UWB天线主要有三种:

天线类型 优点 缺点 适用场景
陶瓷贴片天线 体积小、一致性好 增益低、带宽窄 标签、小尺寸设备
PCB板载天线 成本低、设计灵活 调试周期长、受PCB影响大 基站、原型验证
外置鞭状天线 增益高、性能稳定 体积大、成本高 高精度基站、测试环境

我建议初学者先从PCB板载天线入手。虽然调试起来麻烦点,但能让你真正理解天线匹配、阻抗控制这些概念。等有了经验,再根据产品需求选陶瓷天线或外置天线。

关键参数:天线选型时重点关注三个指标——增益(建议2-5 dBi)、驻波比(VSWR < 1.5)、带宽(覆盖UWB工作频段)。别只看增益,带宽不够的话信号会严重失真。

2.3 电源设计要点:UWB是“电老虎”

UWB芯片发射脉冲时,瞬时电流很大。DW1000发射时峰值电流能到300mA以上,DW3000稍好但也有150mA左右。如果电源设计不好,电压跌落会导致测距结果不稳定。

我在项目中遇到过这样的情况:标签在静止状态下定位精度很好,一旦移动起来,误差就忽大忽小。后来用示波器一抓,发现是电源纹波在作怪——UWB发射瞬间,电压掉了200mV。

2.3.1 LDO vs DCDC

这是个老生常谈的问题。我的经验是:

  • 电池供电的设备:用DCDC先把电压降到3.3V左右,再用LDO二次稳压给UWB芯片供电。DCDC效率高,LDO纹波小,两者结合最理想。
  • USB供电的设备:直接用好一点的LDO就够了,比如AMS1117-3.3,便宜又稳定。

2.3.2 去耦电容不能省

UWB芯片的每个电源引脚旁边,都要放一个100nF的陶瓷电容,位置尽量靠近引脚。另外,在PCB的电源入口处,放一个10uF的钽电容或陶瓷电容,用来吸收瞬态电流。

// 电源设计检查清单
// 1. UWB芯片每个VDD引脚旁放100nF电容
// 2. 电源入口放10uF+100nF组合
// 3. 模拟电源和数字电源分开走线
// 4. 电源层和地层尽量完整,不要被过孔打断

避坑指南:我曾经在一个项目里用了便宜的电解电容做去耦,结果高频特性太差,UWB发射时电压纹波高达500mV。后来换成X7R材质的陶瓷电容,问题才解决。去耦电容一定要选高频特性好的。

2.4 硬件接口解析:SPI、UART、GPIO

UWB芯片和主控MCU之间的通信,主要靠SPI接口。DW1000和DW3000都支持SPI从模式,主控作为SPI主机。

2.4.1 SPI接口

SPI是UWB芯片和MCU之间的“高速公路”。我一般用4线SPI(SCK、MOSI、MISO、CS),时钟频率根据芯片规格设定。DW1000最高20MHz,DW3000最高38MHz。

布线时要注意:SPI信号线尽量等长,不要跨分割区。如果PCB空间允许,在SCK和MOSI上串一个22欧姆的电阻,可以抑制信号过冲。

2.4.2 UART接口

UART主要用于调试和固件升级。我习惯在板上留一个UART接口,通过USB转串口芯片(比如CH340)连接到电脑。这样调试时可以直接打印日志,方便定位问题。

2.4.3 GPIO接口

UWB芯片的GPIO可以用来做中断、唤醒、状态指示等。我个人习惯把DW3000的IRQ引脚接到MCU的外部中断引脚上,这样UWB芯片有数据准备好时,可以及时通知MCU读取,不用轮询。

经验之谈:硬件接口的电气特性一定要匹配。3.3V的MCU和3.3V的UWB芯片直接连没问题。但如果MCU是5V的,中间要加电平转换芯片,别直接连,会烧芯片的。

好了,UWB硬件平台选型就聊到这儿。芯片选型、天线匹配、电源设计、接口布局,这四个方面环环相扣。做项目时别急着画板子,先把这些基础打牢,后面会省很多事。