PROJECT · 工程档案 · 更新于 2026年7月15日

异构硬件视频图像处理方案

构建 PC、PYNQ-Z2 与 Ascend 310B 之间的视频采集、FPGA 处理、UDP 传输和 NPU 推理验证链路。

FPGAPYNQ-Z2HDMIAscend-310BUDPYOLO
返回项目
项目状态
已公开
时间范围
2026.04—至今
作者角色
FPGA 图像处理 / 边缘 AI 部署
硬件平台
PC、PYNQ-Z2、Ascend 310B
软件环境
Vivado、Linux、C++、Python、YOLO 推理环境
技术栈
Vivado · Verilog/HLS · PYNQ-Z2 · HDMI · UDP · Ascend-310B · YOLO
核心结果
实现 1920×1080@60Hz HDMI 直通显示,并完成 PC—PYNQ—Ascend 310B 通信压测框架与日志采集。
验证方式
通过 HDMI 直通显示、pipeline/backend/player 运行日志和通信压测验证当前链路。
当前限制
摄像头输入稳定性及端到端延迟、帧率和丢包率仍需继续测量与验证。
下一步
稳定摄像头输入,补充统一测试环境下的端到端性能数据与长时间运行记录。

目标

构建 PC、PYNQ-Z2 与 Ascend 310B 之间的端侧视频处理链路,完成 HDMI 视频采集、FPGA 侧处理与转发,并在 NPU 端验证 YOLO 推理流程。

本人职责

  • 负责 PYNQ-Z2 HDMI 输入输出链路、时钟与 IO 约束的配置和联调。
  • 搭建 PC、PYNQ 与 Ascend 310B 之间的 UDP 通信和日志采集环境。
  • 接入 Ascend 310B 端 YOLO 推理流程,分析链路运行日志并定位不稳定环节。

系统架构

  1. PC 或摄像头提供 HDMI 视频输入。
  2. PYNQ-Z2 接收视频,在 FPGA 侧完成视频链路处理并输出直通画面。
  3. 视频数据通过 UDP 链路转发到 Ascend 310B。
  4. Ascend 310B 后端接收数据并运行 YOLO 推理,pipeline、backend 和 player 分别记录运行状态。

硬件与软件环境

  • **硬件:**PC、PYNQ-Z2、Ascend 310B、HDMI 输入输出设备。
  • **FPGA:**Vivado、Verilog/HLS、dvi2rgb、rgb2dvi。
  • **端侧软件:**Linux、C++、Python、UDP 通信与 YOLO 推理环境。

关键实现

  • 配置 TMDS 引脚、TMDS_33 IO 标准和 create_clock 时钟约束,联调 dvi2rgb/rgb2dvi 模块。
  • 分析 MMCM、像素时钟和时序约束对画面稳定性的影响。
  • 搭建 UDP 通信压测框架,并分别采集 pipeline、backend 和 player 侧日志。
  • 在 Ascend 310B 端接入 YOLO 推理流程,验证视频转发、后端处理和结果输出链路。

问题与排查

  • 针对 HDMI 无画面或画面不稳定,逐项检查 TMDS 引脚、IO 标准、输入像素时钟、MMCM 锁定状态和时序约束。
  • 针对摄像头输入间歇性异常,对比 PC 输入和摄像头输入,缩小问题所在的输入链路范围。
  • 针对端侧链路异常,结合 pipeline、backend 和 player 日志确认数据到达、后端处理与播放状态。

测试方法

  • 使用 1920×1080@60Hz 视频源验证 HDMI 输入输出直通。
  • 通过通信压测框架检查 PC、PYNQ 与 Ascend 310B 之间的数据传输。
  • 对照三类运行日志检查链路各阶段是否持续工作,并记录异常发生位置。

验证结果

  • 已实现 1920×1080@60Hz HDMI 直通显示。
  • 已完成 PC—PYNQ—Ascend 310B 通信压测框架和日志采集。
  • 已定位并处理时钟约束、IO 标准相关问题,并确认摄像头输入稳定性仍需继续验证。

当前限制

  • 摄像头输入尚未达到可长期复现的稳定状态。
  • 端到端延迟、有效帧率、丢包率和稳定运行时长尚未形成统一测试条件下的公开数据。

下一步

  • 稳定摄像头输入并补充长时间运行记录。
  • 在固定分辨率、帧率和网络条件下测量端到端延迟、帧率与丢包率。
  • 整理可公开的硬件照片、运行截图和日志证据后补充项目视觉材料。

SEARCH / QUICK JUMP

搜索工程档案

↑↓ 选择 · Enter 打开 · Esc 关闭