3. Jacinto雷达子系统硬件架构
Jacinto 系列 SoC(如 TDA4VM、TDA4VH)在毫米波雷达应用中承担的角色,是把 MMIC 输出的原始中频/基带数据接收进来,经过一系列预处理、FFT、CFAR、角度估计等运算,最终输出点云或目标列表。理解这套硬件架构,核心是搞清楚三件事:数据从哪里进来、由谁处理、在哪些存储层级之间搬运。本节围绕毫米波前端接口、CSI-2/LVDS 输入通道、DSP 与硬件加速器分工、以及内存层次与数据搬运机制展开。
一、毫米波前端接口与数据输入通道
典型雷达前端(如 AWR2243、AWR1843 等 MMIC)与 Jacinto SoC 之间的数据接口主要有两类:一类是控制接口,用于配置 chirp 参数、触发帧、读取状态,通常走 SPI 或 I2C;另一类是高速数据接口,用于把 ADC 采样后的原始数据送到 SoC,常见形式是 LVDS 或 CSI-2。在 Jacinto 平台上,雷达子系统通过专用的 CSI-2 RX 控制器接收 MMIC 输出的数据流,部分方案也支持 LVDS 差分对直接接入。
以 AWR2243 级联方案为例,单颗 MMIC 可提供 4 路 RX,级联 4 颗可得到 16 路虚拟通道。每路 ADC 采样率可达 12.5 Msps 甚至更高,采样位宽通常为 12~16 bit。若按 4 通道、12 bit、12.5 Msps 估算,单颗 MMIC 的原始数据率约为 4×12×12.5 M = 600 Mbps;级联 4 颗后总数据率可达 2.4 Gbps 量级。这个量级决定了数据不可能全部由 CPU 逐点搬运,必须依赖 DMA 和硬件加速器。
CSI-2 接收端通常包含解包、通道对齐、CRC 校验等逻辑,把串行数据还原为按 chirp、按 RX 通道排列的采样块。LVDS 路径则更接近原始差分采样流,需要外部或片上的 LVDS 接收器完成串并转换。无论哪种路径,数据最终都会以“帧—chirp—采样点”的层次结构落入内存,供后续处理使用。
二、DSP 与硬件加速器的分工
Jacinto 雷达子系统的算力由两类单元共同提供:可编程 DSP(C66x 或 C7x)和专用硬件加速器 HWA(Hardware Accelerator)。HWA 内部包含 FFT 引擎、复数乘法器、对数/绝对值单元以及用于 CFAR 的预统计模块,它由参数表(descriptor)驱动,适合处理规则、重复、数据量大的运算。DSP 则擅长分支判断、复杂控制流和灵活的数据组织。
以距离维处理为例,一个典型的 chirp 数据块先由 HWA 完成加窗和 1D FFT,输出距离谱;随后 DSP 读取距离谱,执行 CFAR 检测,判断哪些距离单元超过门限。CFAR 的门限计算涉及参考窗、保护窗、虚警率等参数,逻辑分支较多,放在 DSP 上更合适。多普勒维 FFT 同样可以交给 HWA,因为它是规则的一维变换;而角度估计中的 MUSIC 或波束形成,若涉及矩阵运算和迭代,则更适合 DSP 或专用矩阵加速器。
这种分工的核心原则是:把“规整、可参数化、吞吐优先”的任务交给 HWA,把“灵活、判决密集、控制复杂”的任务留给 DSP。实际工程中,HWA 的 descriptor 配置需要仔细设计,包括输入输出地址、FFT 点数、窗函数系数、缩放因子等。若 descriptor 配置错误,常见现象是输出频谱幅度异常或全为零,此时应优先检查输入地址对齐、FFT 点数与数据长度是否匹配。
三、内存层次与数据搬运机制
Jacinto 的内存层次大致分为三级:DSP 内部的 L1/L2 SRAM、片上共享的 MSMC SRAM、以及外部 DDR。L1/L2 延迟最低但容量小,适合存放当前处理的 chirp 数据块和系数表;MSMC 容量较大,可作为多核共享的中间缓冲;DDR 容量最大,但访问延迟和带宽是瓶颈,适合存放整帧原始数据和最终结果。
数据搬运主要依赖 UDMA 或 BCDMA 控制器。典型做法是乒乓缓冲:DMA 把 CSI-2 接收到的 chirp 数据写入缓冲区 A,HWA 同时处理缓冲区 B;当 A 写满、B 处理完后交换角色。这样接收与处理并行,避免 CPU 轮询等待。搬运时要注意地址对齐,HWA 和 DMA 通常要求 16 字节或 32 字节对齐,否则会触发总线错误或性能下降。
下面给出一个简化的 HWA descriptor 配置示例,用于说明关键字段。示例参数为教学假设,实际值需根据具体数据格式和 FFT 点数调整。
/* HWA 1D FFT descriptor 关键字段(示例) */
inputAddr = 0x90000000; // 输入 chirp 数据基地址
outputAddr = 0x90010000; // 输出距离谱基地址
fftSize = 256; // 距离维 FFT 点数
numChirps = 128; // 每帧 chirp 数
windowCoeff = 0x90020000; // 窗函数系数表地址
scaleFactor = 1.0 / 256; // 缩放因子,防止溢出
dataFormat = COMPLEX_16BIT;// 输入为 16bit 复数
配置完成后,DMA 把数据从 DDR 搬到 MSMC,HWA 从 MSMC 读取并执行 FFT,结果写回 MSMC,再由 DSP 读取做 CFAR。整个链路中,DDR 只承担原始帧和最终点云的存储,热数据尽量留在片上,这是保证实时性的关键。
四、架构层面的工程判断
在实际项目中,硬件架构的选择直接影响算法部署方式。若雷达数据率较高、帧率要求严格,应优先使用 HWA 承担 FFT 和预统计,DSP 只做判决和输出;若算法包含大量非线性迭代,则需评估 DSP 的算力余量。内存方面,建议把每帧的原始数据放在 DDR,把当前处理的 chirp 块和系数表放在 L2/MSMC,通过 DMA 乒乓实现流水线。这样既利用了 DDR 的容量,又避开了它的带宽瓶颈。
此外,CSI-2 接收端的中断和 DMA 完成中断需要合理配置优先级,避免数据溢出。若发现帧数据丢失,应检查 CSI-2 的 FIFO 深度、DMA 触发阈值以及中断响应延迟。这些检查点与前面的数据通路一一对应,理解架构之后,排障就有了明确的切入点。