2. Kria SOM硬件架构解析

Kria SOM 的核心并不是“一块带 FPGA 的小板”,而是把 Zynq UltraScale+ MPSoC 的异构计算资源、DDR 内存、启动介质、电源管理、时钟与高速接口预先集成到邮票孔或连接器模块上,再由用户设计载板提供具体外设与供电。理解 Kria 的硬件架构,关键是把它拆成三条并行但互相耦合的路径:PS 处理系统负责控制、操作系统与通用计算;PL 可编程逻辑负责确定性数据通路与自定义加速;视频编解码硬核与高速接口负责把摄像头、网络、显示和存储连成完整链路。只有把这三条路径的带宽、时钟域和内存访问关系同时看清,后续的 Vitis、PetaLinux 与实时视频分析设计才不会在“能跑但跑不快”或“功能对但延迟大”之间反复返工。

PS 处理系统:控制平面与通用计算

Zynq UltraScale+ MPSoC 的 PS 部分通常包含应用处理单元 APU、实时处理单元 RPU、平台管理单元 PMU 以及 CSU 等模块。以 Kria KV260 常见的 K26 SOM 为例,APU 为四核 Arm Cortex-A53,主频约 1.5 GHz,负责运行 Ubuntu 或 PetaLinux,承担视频流调度、模型推理前后处理、网络协议栈和文件系统;RPU 为双核 Cortex-R5F,适合运行裸机或 FreeRTOS,用于硬实时控制,例如触发采集、电机同步或低延迟 IO 响应。PMU 负责电源域、复位与隔离管理,CSU 负责安全启动与配置。对视频分析平台而言,一个常见的分工是:A53 运行 GStreamer 管线与 AI 推理调度,R5F 处理与 PL 之间的确定性握手和看门狗,PMU 保证异常时能安全复位 PL 而不影响 PS 关键任务。

PS 内部通过 AXI 互联与 PL 交换数据。需要特别关注的是 PS-PL 接口的带宽与位宽选择:AXI HP 口适合高吞吐数据流,AXI GP 口适合寄存器配置,AXI ACP 口可让 PL 访问 APU 缓存以降低一致性开销。若视频帧从 PL 写入 DDR 再由 A53 读取,通常走 HP 口;若 A53 只做少量控制寄存器读写,则走 GP 口即可。接口选错,往往表现为“逻辑没问题但吞吐上不去”。

PL 可编程逻辑:确定性数据通路与加速

PL 是 Kria 区别于普通嵌入式 SoC 的关键。它由可配置逻辑块、DSP 切片、Block RAM、UltraRAM 和可编程 IO 组成,适合实现像素级流水线、多路视频拼接、颜色空间转换、缩放、去噪、光流预处理以及自定义 CNN 加速器。以 1080p60、YUV422、每像素 2 字节为例,单路视频原始带宽约为 1920×1080×60×2 ≈ 249 MB/s;若同时处理四路,则接近 1 GB/s。这个量级必须用 AXI4-Stream 在 PL 内部流水,并配合足够位宽的 HP 口写入 DDR,否则会在互联处形成背压。

PL 设计还要处理跨时钟域问题。摄像头输入可能来自 MIPI CSI-2 的像素时钟,PL 内部加速器可能运行在 300 MHz 逻辑时钟,DDR 控制器又属于 PS 时钟域。正确做法是在边界使用异步 FIFO 或 AXI4-Stream Clock Converter,并明确每段通路的吞吐上限。若忽略时钟域,常见现象是图像偶发撕裂、帧计数不连续或 AXI 握手超时。

Kria SOM 硬件架构与视频数据通路 PS 处理系统 APU 4×A53 Linux / 推理调度 RPU 2×R5F 实时控制 / 握手 PMU / CSU 电源 / 安全启动 AXI 互联 HP / GP / ACP 控制平面:任务调度、协议栈、文件系统 PL 可编程逻辑 视频流水线 CSC / 缩放 / 去噪 CNN 加速器 DPU / 自定义 IP AXI4-Stream 跨时钟域 FIFO DSP / BRAM 并行算力 / 缓存 数据平面:确定性像素级流水与加速 内存层次 LPDDR4 / DDR4(4 GB) OCM 256 KB + 缓存 QSPI / eMMC 启动介质 外设接口与载板设计要点 MIPI CSI-2 摄像头输入 DisplayPort 显示输出 GigE / USB3 网络与存储 VCU 硬核 H.264/H.265 电源 / 时钟 / 复位 载板供电与抖动控制 AXI DDR 关键约束: 1. 1080p60 YUV422 单路约 249 MB/s,四路接近 1 GB/s,需核对 HP 口与 DDR 带宽; 2. PL 与 PS 跨时钟域必须用异步 FIFO / AXI4-Stream Clock Converter; 3. 载板供电、时钟抖动与 MIPI 走线阻抗直接影响 VCU 与 CSI 稳定性。

内存层次与带宽预算

Kria SOM 通常板载 4 GB LPDDR4 或 DDR4,另有 OCM 256 KB、各级缓存和 QSPI/eMMC 启动介质。视频分析中最容易低估的是内存带宽:四路 1080p60 YUV422 同时写入 DDR,再被 APU 读取做推理、被 VCU 读取做编码,实际占用可能超过 2 GB/s。若 DDR 有效带宽按 60% 估算,4 GB LPDDR4 在 2400 MT/s、64 位位宽下理论带宽约 19.2 GB/s,看似充裕,但多主口并发、刷新开销和访问模式会显著降低有效值。工程上应把“每路视频写入 + 读取 + 编码回写”的带宽逐项列出,再决定是否需要在 PL 内先做缩放或抽帧,减少进入 DDR 的数据量。

视频编解码硬核与接口

Zynq UltraScale+ EV 系列集成 VCU 硬核,支持 H.264/H.265 的编码与解码,可独立于 PL 逻辑工作,适合把多路视频压缩后传输或存储。使用 VCU 时要注意:输入通常需要 NV12 等受支持格式,帧率、分辨率和码率需在驱动允许范围内;若输入是 YUV422,需先经 PL 或软件做颜色空间转换。VCU 与 PL 视频流水线之间通过 AXI4-Stream 或 DDR 帧缓冲衔接,选择哪种方式取决于延迟要求:低延迟预览可让 PL 直接送 VCU,高吞吐录像则可先写 DDR 再编码。

外设接口方面,Kria SOM 通过载板连接器引出 MIPI CSI-2、DisplayPort、GigE、USB3、SDIO、UART、I2C 等。载板设计要点集中在三处:一是电源,SOM 需要多路低噪声供电,VCU 和 DDR 对纹波敏感;二是时钟,MIPI 与 DP 需要低抖动参考时钟,走线应做阻抗控制与等长;三是复位与启动模式,载板必须正确拉高或拉低相关引脚,否则 SOM 无法进入预期启动流程。若载板自行设计,建议先用 Kria KV260 或 KR260 载板验证 PS-PL 通路与 VCU,再迁移到自定义板,避免同时调试硬件与逻辑。

教学示例:假设四路 1080p60 YUV422 输入,每路 249 MB/s,若全部写入 DDR 再读取,仅视频搬运就约 2 GB/s。此时可先在 PL 内将每路缩放至 960×540 并转为 NV12,数据量降至约 62 MB/s/路,四路合计约 248 MB/s,再送 VCU 编码,DDR 压力显著下降。该数值为示例估算,实际应以 AXI 性能计数器与 DDR 带宽测试为准。

载板设计检查清单

检查项关键内容判断依据
供电VCU、DDR、PL 各电源域纹波与上电时序上电无反复复位,VCU 编码不报错
时钟MIPI、DP 参考时钟抖动与走线阻抗CSI 无丢帧,DP 无闪屏
PS-PL 接口HP/GP/ACP 分配与位宽AXI 性能计数器无长期背压
启动介质QSPI/eMMC 启动模式引脚能稳定进入 Linux 或裸机
散热VCU 与 PL 高负载下结温长时间运行不降频、不重启

把上述资源放在同一张图里看,Kria SOM 的硬件架构就清晰了:PS 是控制与通用计算中心,PL 是确定性数据通路与加速器,DDR 是共享带宽池,VCU 与高速接口是视频进出通道,载板则决定供电、时钟和物理连接是否可靠。后续做实时视频分析时,任何性能问题都应先回到这张图上定位:是 PS 调度不过来,是 PL 流水线背压,是 DDR 带宽不足,还是 VCU 格式不匹配。定位清楚,再改逻辑或改载板,才能把调试从“猜”变成“算”。