TI IWR1642BOOST 毫米波雷达

Jun 28, 2026 · 3877 字

最近拿到了一块 TI 的 IWR1642BOOST 毫米波雷达评估板,主要是想看看 77GHz 雷达在室内人员检测和手势识别上能做到什么程度。之前做 WiFi CSI 感知的时候拿到的只是信道状态变化,能判断有没有人、大致在哪,但距离和速度都是模糊的。毫米波直接出点云坐标和速度矢量,数据维度完全不在一个量级。

毫米波雷达不是什么新技术了,车载领域用了很多年。不过这几年随着 TI 推出集成 DSP 的单芯片方案,原本需要一堆分立器件的方案被压缩到了邮票大小的封装里,成本和体积降下来之后开始往工业安防和智能家居渗透。

说原理的话,FMCW(调频连续波)体制的雷达跟脉冲雷达思路不太一样。它发射频率随时间线性上升的 chirp 信号,碰到目标反射回来后,接收信号和发射信号混频得到拍频,拍频的值跟目标距离成正比。考过驾照的应该知道多普勒效应,同一距离门上多个 chirp 之间的相位变化能算出目标速度。至于角度,靠的是多个接收天线的相位差,MIMO 体制下 2 发 4 收等效成 8 路虚拟通道,能做方位角和俯仰角的二维分辨。

这三样东西(距离、速度、角度)在雷达里叫 point cloud,跟激光雷达的点云差不多概念,但多了一个速度维度:毫米波雷达能直接告诉你目标是靠近还是远离,速度快慢。

IWR1642 内部有一颗 C67x DSP 和一颗 Cortex-R4F MCU,DSP 跑信号处理链(FFT、CFAR、角度估计),R4F 做控制和通信。

硬件一览

IWR1642BOOST 是 TI 官方的 BoosterPack 评估板,大概巴掌大小:

  • 芯片:IWR1642,76-81GHz,单芯片集成射频 + DSP + MCU
  • 天线:板载蚀刻天线,2 发 4 收,不需要外接天线就能跑
  • 供电:5V DC 圆口,要求至少 2.5A,峰值功耗不低
  • 调试:板载 XDS110 JTAG,一根 Micro USB 线搞定编程和调试
  • 数据接口:UART 走 USB 做配置和数据传输,另外一路 CAN 能直接连车载设备。板上还有个 LVDS 口,配合 DCA1000EVM 采集卡才能抓原始 ADC 数据,不接 DCA1000 的话就用 SDK 内置的处理链,DSP 上跑完直接出结果
  • 扩展:标准 BoosterPack 排针,能叠 TI 的 MCU LaunchPad 做二次开发

配件包里给了 Micro USB 线、安装支架、螺丝和跳线帽。唯一需要自己备的是 5V 电源适配器,圆口 2.1mm 中心正极。手边没有的话拿个树莓派的 5V 3A 电源也能顶上。

软件工具链

TI 给这套雷达板的软件支持分几个层面:

  • mmWave SDK:核心开发套件,包含驱动、DSP 信号处理库、Demo 源码。开箱 Demo 的预编译固件就在 SDK 里,烧进去直接跑
  • mmWave Demo Visualizer:网页版可视化工具,连上串口后能实时看点云、距离多普勒热力图,也能发配置参数给雷达。不需要装任何本地软件,浏览器打开就能用
  • UniFlash:编程工具,用来往 IWR1642 的 Flash 里烧固件
  • Code Composer Studio:如果你要改 DSP 代码或者 R4F 上的应用逻辑,在 CCS 里写。TI 版 Eclipse,该有的都有但启动速度感人
  • mmWave Studio:射频评估工具,配合 DCA1000EVM 采原始 ADC 数据用的。单纯跑 Demo 不需要这个

SDK 和工具都能在 TI 官网免费下载,不过得填出口合规审批表,等个一分钟左右就能拿到下载链接。

上手体验

不写一行代码,插上板子就能看雷达效果,这是 IWR1642BOOST 最爽的地方。TI 在 SDK 里预编译了一个 out-of-box demo,DSP 上跑了完整的 FMCW 处理链(距离维 FFT → 多普勒维 FFT → CFAR 检测 → 角度估计),R4F 负责把点云通过 UART 吐出来。

第一步:烧录固件

用 UniFlash 往板子烧 SDK 里的 xwr16xx_mmw_demo.bin。操作很简单:

  1. USB 线连接板子的 XDS110 口(板上标了 USB 的那个 Micro USB 口,不是标 CAN 的那个)
  2. 确认 SOP 跳线帽在模式 1(SOP0 短接,SOP1 和 SOP2 断开)——这是 Flash 编程模式
  3. 打开 UniFlash,选 IWR1642 芯片,自动检测到 XDS110 调试器
  4. 在 Program 页面选 xwr16xx_mmw_demo.bin,点 Load Image 开始烧录
  5. 烧完后断电,把 SOP 跳线帽改回模式 0(SOP0 断开),重新上电

SOP(Sense on Power)是 IWR1642 的启动模式选择。SOP0=0 表示从 Flash 启动运行 App;SOP0=1 进入编程模式等待刷固件;SOP0=SOP1=1 则是硬件看门狗调试模式。日常跑 Demo 保持在 SOP0 断开就行。

板子上的 DS3 LED(Nerr LED)在正常运行时应该是熄灭的。程序跑起来后 DS1 会规律闪烁表示心跳,说明固件启动成功。

第二步:mmWave Demo Visualizer

固件跑起来之后,打开 mmWave Demo Visualizer,浏览器需要支持 Web Serial API(Chrome/Edge 都行)。

连接流程:

  1. 页面上先选硬件平台为 xWR1642,然后点 Setup
  2. 在 Serial Ports 里选板子的两个串口——XDS110 一般映射为两个 COM 口,一个标 Application/User UART(数据口),一个标 Auxiliary Data Port(配置口)。不确定哪个是哪个的话先选 Configuration Port,波特率 115200,点 Connect
  3. 连接成功后端口状态会变绿,这时候可以 Load Config 加载 SDK 里自带的配置文件(比如 profile_2d.cfg),或者直接用页面默认的参数
  4. 点击 Send Config to Device,雷达开始工作

然后就能在 Plots 页面看到效果了:

  • 3D 点云:实时刷新,每个点代表检测到的目标,颜色深浅表示反射强度(SNR)。人在雷达前来回走动,点云跟着移动,相当直观
  • 距离多普勒热力图:横轴是速度(靠近为正远离为负),纵轴是距离,亮度表示回波强度。静止物体集中在零速线上,运动目标的位置一目了然
  • 距离剖面:一维距离像,能看出不同距离上的反射能量分布,用来调 CFAR 门限时很好用
  • 统计信息:帧率、检测到的目标数量、CPU 负载等

默认参数是 2D 检测,只给水平面的 X/Y 坐标。如果加载 profile_3d.cfg,能看到 Z 轴(高度)信息。不过 3D 模式下角度分辨率有限,主要是靠俯仰天线阵列的布局来区分地面和人体反射。

几个实用的参数调整

Visualizer 左上角的参数面板可以直接改配置并实时下发,不用重新烧固件。几个常调的参数:

  • Range Resolution:距离分辨率,越小能区分越近的目标,但最大探测距离会缩短。室内人员检测一般 4-5cm 够用了
  • Maximum Range:最大探测距离,室内场景设 5-10 米足够
  • Frame Periodicity:帧周期,默认 50ms(20fps),调到 100ms 能省不少功耗
  • CFAR Threshold:恒虚警检测门限,调低能拿到更多弱反射目标但误检会增加,室内人员检测可以稍微激进一点

如果板子发热比较厉害(IWR1642 满载时功耗能到 2W+),可以考虑把帧周期拉长一点,DSP 间歇性干活温度会下来不少。

能拿来做什么

IWR1642BOOST 配套了不少参考设计,都是可以直接跑的:

  • 人员计数与跟踪:用在会议室、商场统计人流。DSP 上跑了 group tracking 算法,跟踪帧间同一个目标
  • 交通监控:检测 80 米内的车辆,同时区分轿车和卡车。停车场和路口场景验证过
  • 生命体征检测:通过胸腔微小的位移变化提取呼吸和心率,信号极弱但对 DSP 的算法要求很高
  • 手势识别:利用多普勒特征区分不同的手势方向,适合非接触交互场景

毫米波跟摄像头比有个优势就是不涉及隐私,输出的就是点云坐标,没有图像。所以安防和智能家居场景里比视觉方案更容易过合规审查。缺点是点云稀疏,多目标遮挡时容易丢跟踪,静态目标感知也比较弱——一个人站着不动时间长了可能会被 CFAR 滤掉。

粤ICP备2025414119号 粤公网安备44030002006951号

© 2026 Saurlax · Powered by Astro