1. 课程导入与工程全景

FMCW(调频连续波)毫米波雷达已经成为 ADAS 与自动驾驶感知系统中不可替代的传感器:它能在雨、雾、夜间等恶劣条件下稳定输出目标的距离、径向速度与角度信息,并且成本可控、体积小、易于嵌入车身。但真正把雷达"用起来",难点并不在天线或射频前端,而在于从原始中频(IF)采样到最终点云与目标列表之间那条长长的信号处理链——1D FFT、2D FFT、CFAR 检测、DOA 估计、聚类与跟踪,每一步都对算力、带宽和实时性提出苛刻要求。TI 的 Jacinto 系列处理器正是为这类车载感知与域控制场景设计的 SoC 平台,本课程要解决的,就是"如何在这颗芯片上把 FMCW 雷达信号处理真正跑通、跑快、跑稳"。

Jacinto 平台在雷达处理中的定位

理解 Jacinto 的定位,关键是把它和 TI 另一条产品线区分开。AWR / IWR 系列是毫米波雷达传感器芯片,内部集成了射频前端、ADC 以及一个用于雷达信号处理的 C674x DSP 和 R5F 微控制器,通常被称为"雷达 SoC",适合做单传感器、低通道数的雷达信号处理。而 Jacinto(如 TDA4VM、TDA4VH 等)属于汽车级异构计算 SoC,它的强项在于多核异构协同:ARM Cortex-A72 应用核负责操作系统、调度与高层逻辑;Cortex-R5F 锁步核负责实时控制与安全监控;C66x / C7x DSP 与 MMA 矩阵加速器承担密集的 FFT、CFAR、矩阵运算;专用视觉加速器与 GPU 处理图像类任务;再加上 MCU 域与主域之间的隔离设计,满足功能安全(ISO 26262 ASIL)要求。

因此,Jacinto 在雷达系统中的典型角色是"雷达处理中枢"或"域控制器":它接收来自多片毫米波雷达前端(或雷达 SoC 预处理后的数据)的原始/半成品数据,完成多通道、多帧、多传感器的融合级信号处理与目标跟踪,并与摄像头、激光雷达结果做前融合或后融合。换句话说,AWR 解决"单个雷达怎么测",Jacinto 解决"多个雷达、多类传感器怎么协同算"。

Jacinto 雷达处理全景:从射频回波到车辆决策 毫米波雷达前端 AWR / IWR 传感器 发射 FMCW chirp 接收 IF 中频回波 摄像头 / 激光雷达 图像 / 点云输入 时间戳对齐 外参标定 数据接口 LVDS / CSI-2 以太网 / PCIe DMA 搬运 TI Jacinto SoC(TDA4 系列) Cortex-A72 应用核 Linux / QNX · 调度 · 融合决策 Cortex-R5F 锁步核 实时控制 · 安全监控 · AUTOSAR C66x / C7x DSP + MMA 1D/2D FFT · CFAR · DOA · 矩阵加速 EDMA 数据流 · L2 SRAM 缓存 视觉加速器 / GPU 图像预处理 · 前融合辅助 共享内存 / 核间通信 IPC · Mailbox · 数据缓冲区 功能安全隔离域 输出 目标列表 点云 CAN / 以太网 下游 AEB / ACC LKA / 规划 域控制器 处理链核心:IF 采样 → 1D FFT(距离)→ 2D FFT(速度)→ CFAR 检测 → DOA 估计 → 聚类跟踪 → 融合输出 工程约束:实时帧率(典型 20~50 ms/帧)、DSP 负载、DDR 带宽、核间同步、功能安全与功耗

典型 ADAS / 自动驾驶应用场景

Jacinto 上的雷达处理并不是抽象算法,而是服务于具体功能。常见的几类场景对处理链的侧重点完全不同:

  • 前向长距雷达(LRR):用于 AEB 自动紧急制动与 ACC 自适应巡航,关注 150~250 m 范围内的距离与径向速度精度,波形上常用多 chirp、较大带宽(如 1 GHz 调频带宽对应约 15 cm 距离分辨率),处理重点是长距离下的 CFAR 检测灵敏度与虚警抑制。
  • 角雷达(SRR/MRR):安装在四角,用于盲区监测(BSD)、变道辅助(LCA),关注视场角与近距分辨,DOA 估计和角度分辨率是核心。
  • 4D 成像雷达:通过 MIMO 虚拟阵列获得俯仰维信息,输出稠密点云,用于高架桥、路沿、静止目标识别,对 DSP 算力与 DDR 带宽压力最大,也是 Jacinto C7x + MMA 的主要用武之地。
  • 多传感器融合:雷达目标与摄像头目标在 Jacinto 的 A72 上做时空对齐与关联,输出统一的目标航迹给规划控制模块。

这些场景共同决定了一个工程事实:同一套 Jacinto 硬件,需要通过不同的波形配置、不同的处理参数和不同的核间任务划分来适配。课程后续章节会逐一展开,但本章先建立整体地图。

软硬件协同开发流程

在 Jacinto 上做雷达信号处理,开发流程天然是"软硬协同"的。硬件侧要确定雷达前端型号、通道数、数据接口(LVDS 或以太网)、触发与同步方式;软件侧则要完成从驱动、DSP 固件、核间通信到应用层算法的全栈搭建。一个可复现的典型流程如下:

  1. 环境搭建:安装 TI Processor SDK RTOS / Linux SDK,配置 Code Composer Studio 与 SysConfig,确认 EVM 板卡(如 TDA4VM 入门套件)与雷达子板连接正常。
  2. 数据通路验证:先用已知的测试波形或回放数据,确认雷达数据能通过 LVDS/CSI-2 正确进入 Jacinto,DMA 搬运到 DSP 的 L2 SRAM,且时间戳与帧号对齐。
  3. DSP 算法实现:在 C66x/C7x 上实现 1D FFT、2D FFT、CFAR、DOA,先用小规模数据验证数值正确性,再逐步优化到实时。
  4. 核间协同:用 IPC / Mailbox 把 R5F 的控制流、A72 的调度流与 DSP 的计算流串起来,明确每一帧数据的生产者与消费者。
  5. 性能与安全验证:测量单帧处理时间、DSP 占用率、DDR 带宽,检查是否满足帧率要求;同时验证锁步核监控与内存保护是否生效。
建议在课程实践中固定一套"基准配置":例如 4 发 4 收、每帧 128 个 chirp、每 chirp 256 个采样点、帧周期 50 ms。后续所有优化都相对这套基准做对比,避免参数漂移导致结论不可比。

课程实战目标

本课程不是泛泛介绍雷达原理,而是围绕 Jacinto 平台完成一条可运行、可测量、可优化的处理链。学完之后,你应该能够:独立配置雷达波形与数据接口;在 DSP 上实现并调通 1D/2D FFT 与 CFAR;理解 DOA 估计与 MIMO 虚拟阵列的工程实现;用 IPC 组织多核任务并测量实时性;对处理链做性能剖析,定位瓶颈在计算、内存还是同步;最终把点云/目标列表稳定输出给下游模块。本章的全景图就是这张"地图",后续每一章都会落到其中一个具体环节。

工程判断的起点:任何一帧雷达数据,先问三个问题——数据从哪来、在哪个核上算、算完给谁用。这三个问题答清楚,Jacinto 上的雷达处理就不会迷路。