跳转到主要内容
--## 电子创新网图库均出自电子创新网,版权归属电子创新网,欢迎其他网站、自媒体使用,使用时请注明“图片来自电子创新网图库”,不过本图库图片仅限于网络文章使用,不得用于其他用途,否则我们保留追诉侵权的权利。 ##--

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
judy 提交于

作者:Jackie Gao,AMD工程师;来源:AMD开发者社区

本参考设计基于ZYNQ开发板, 使用VDMA做原始图像采集系统,在petalinux下做服务器,通过Socket发送图像至Windows或者Linux上位机。

作为验证,可以连接CMOS,或者使用AXI TPG生成仿真的图像数据。

教程中所有涉及的设计及代码均在Windows和Linux平台下作了验证。

系统设计

1. 系统设计框图参考如下。

01.png


a. 通过Video In to AXI4-Stream将CMOS输出的VSYNC,HSYNC以及数据信号转换成视频流。注意CMOS的输入时钟PCLK与AXI4-Stream工作在不同的频率。

b. 紧跟其后面实例化了一个AXI VDMA,用于接收输出的视频流。AXI VDMA通过其M_AXI_S2MM端口连接至ZYNQ的HP0端口,以访问PS侧的DDR控制器,用作VDMA的Frame Buffer。

由于图像在传输过程中可以会出现当前的Frame Buffer被VDMA再次写入的情况,所以我们将Frame Buffer数量调至16,以减小 图像被污染的概率。如果想完全解决这个问题,需要配置VDMA的GenLock使用,我们会在之后的设计的讲解。

02.png

c. 系统还实例化了一个AXI IIC控制器,用于初始化CMOS的寄存器,使其能够正确的工作在期望的频率。也可选用PS侧的IIC控制器。

2. BD中需要分配各个IP地址如下,可以用Vivado的自动地址分配工具完成。

03.png

软件架构

系统框图

04.png

开发板上运行petalinux,用作视频的服务器。在Windows/Ubuntu上位机位移植embeddedsw,并通过socket配置CMOS和接收图像。最后把图像通过QT显示。

环境需求

硬件环境

  • ZYNQ-7000开发板

  • OV5640或者AXI TPG仿真

  • Windows10/11或者Ubuntu20.04主机

软件环境

  • Vivado Design Suite 2022.2

  • Petalinux 2022.2

  • CMake > 2.15

  • OpenCV3.3.1

  • QT5.15.2

  • Windows + Visual Studio或者Linux + GCC

代码结构

硬件

  • hw文件夹里面里面包含vivado工程,直接用vivado 2022.2打开

  • 打开后综合实现,并生成bitfile.

固件

  • 此参考设计用petalinux制作系统启动镜像,完整的petalinux工程位于fw目录下。

  • 执行petalinux-build可以编译

  • 执行petalinux-package –boot –u-boot –force –fpga XXX.bit 生成BOOT.BIN文件

软件

  • axi vdma和axi iic的驱动软件移植自embeddedsw,主要的改动包括修改xil_io.c和xil_mem.c文件,用socket的驱动替换默认的Xil_In32和Xil_Out32的实现,以及内存读写的功能。

  • 软件支持windows和Linux的主机,采用cmake环境。如果在windows下,可以选择Visual Studio作为编译工具。编译过程如下:

1. cd sw

2. mkdir build

3. cmake .. && make

 测试结果

  • 在petalinux下生成的BOOT.BIN文件放成SD卡,启动开发板。

  • 运行qt应用程序,可以看到图像可以被正确的采集。

05.png

产品与工具

ZYNQ

Zynq是Xilinx公司推出的一系列SoC(System-on-Chip)产品家族,它将传统的FPGA(可编程逻辑器件)与嵌入式处理器相结合,形成了一种集成了硬件和软件处理能力的单一芯片解决方案。Zynq的设计目标是提供更高的性能和灵活性,同时减少系统的功耗和复杂性。

Zynq广泛应用于嵌入式系统设计、通信、图像处理、工业控制、汽车电子等领域,因为它提供了更好的性能和灵活性,同时减小了系统的体积和功耗。

精彩推荐

2026英伟达GTC大会专题

CES 2026(国际消费类电子产品展览会)专题

第四届南渡江智慧医疗与康复产业高峰论坛

第十五届松山湖中国IC创新高峰论坛

第四届滴水湖中国RISC-V产业论坛

Recent comments

  • 1873774516_516738
  • 2460440665_516737
  • 1457585548_516736
  • 780289498_516735
  • 2283262460_516734