Zynq-7000

Avnet 展示了一款突出的集成型工业物联网系统,该系统在 Xilinx Zynq-7000 SoC 上集成机器视觉、马达控制和近场通信 (NFC),不仅可识别和挑选特定物品,随后还可根据用户选择将其放入正确的分配容器中。

基于Zynq-7000的自动化监测系统BSP设计与实现

作者:宋 凯,高 寒;来源:2018年电子技术应用第9期

摘要: 实现一种基于Zynq-7000全可编程片上系统(AP SoC)的板级支持包(BSP)设计方法及应用流程。该BSP设计主要面向工业自动化监测领域,提供了一种行之有效的嵌入式系统BSP实现流程,有利于提高工业自动化监测系统的开发效率。针对使用串行通信方式的工业监测设备,设计面向小型自动化监测系统的FPGA工程,并使用专门针对基于FPGA的片上系统而设计的PetaLinx工具构建嵌入式Linux系统。最后通过自行研制的基于Zynq XC7Z010系列型号芯片的硬件平台验证了BSP设计的正确性及稳定性。

0 引言

作者: ChuanjieZhu

前言:

学习Xilinx的ZYNQ 7000系列,用的板子是zc702(注意不是zedboard),SOC型号是xc7z020。虽然设计思路一样,但不同的套件引脚和io标准是有区别的,zc702评估板的的外观图如下,可以对照下自己的板子:

作为入门体验,本设计实现的功能是控制8个流水灯,循环闪烁,每隔1s移位一个。我们用到的部分是SoC和user LEDs。声明一下本文仅仅用PL编程,并不是PS+PL。

步骤:

1.新建Vivado工程,这里命名为LedTest,next选择新建PTL Project,next选择Boards,输入z7c02,单击后finish:

Zynq-7000 rgb2ycbcr IP的创建与使用

作者:OpenSLee

1 背景知识

IP(Intellectual Property)在嵌入式FPGA设计中,指的是某些设计好的模块,分为软件模块和硬件模块。这些模块,一般都是已经测试好,所有功能完善的,由一些用户自己设计的。有些模块是免费的,也有收费的模块。所有用户都可以将这些IP核(IP Core)导入到自己的工程中,同样,所有用户也都可以定制自己的IP核。

将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。理想地,一个知识产权核应该是完全易操作的--也就是说,易于插入任何一个卖主的技术或者设计方法。通用异步接发报机(UARTs)、中央处理器(CPUs)、以太网控制器和PCI接口(周边元件扩展接口)等都是知识产权核的具体例子。

Zynq-7000电子相册的实现

作者:OpenSLee

1 背景知识

电子相册的实现就是通过按键来改变显示器的图片轮换。本节将通过ps端的按键来控制ARM选择不同的图片通过HDMI输出到显示屏。

1.1 AXI_VDMA的介绍

Xilinx的AXI VDMA(Video Direct Memory Access)核是个软核。它提供了高带宽的直接内存存取在内存和支持AXI4-Stream video的目标互联。如下图所示既是一个axi_vdma IP。

如下图所示,它是AXI VDMA结构框图。

Zynq-7000 PL端HDMI的显示控制

作者:OpenSLee

1 背景知识

HDMI(High Definition Multimedia Interface)是高清晰多媒体接口线的缩写,能高品质地传输未经压缩的高清视频和多声道音频数据,最高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。

HDMI线支持5Gbps的数据传输率,最远可传输30米,足以应付一个1080p的视频和一个8声道的音频信号。而因为一个1080p的视频和一个8声道的音频信号需求少于4GB/s,因此HDMI线还有很大余量。这允许它可以用一个电缆分别连接DVD播放器,接收器和PRR。此外HDMI支持EDID,DDC2B,因此具有HDMI的设备具有“即插即用”的特点,信号源和显示设备之间会自动进行“协商”,自动选择最合适的视频/音频格式。如下图是一根HDMI线。

DMI接口的原理图

作者:Steve Leibson

很多嵌入式设计使用基于微处理器和微控制器的单板计算机 (SBC) 和系统级模块 (SoM)(例如,请参阅“使用 Raspberry Pi 3 构建低成本工业控制器”)。但是,更多嵌入式应用无法忍受与软件相关的响应时间所带来的延迟。

这些应用需要只有定制硬件方可实现的额外性能,而开发定制硬件的最快捷方法就是使用 FPGA。

本文将讨论使用 SoM 来开发嵌入式系统的优势,这些系统需要借由 FPGA 提供更高的处理能力。本文还将介绍各种不同的 FPGA SoM,并讨论它们在嵌入式设计开发中的使用。

FPGA 系统级模块的角色
系统级模块 (SoM) 可以帮助设计人员开发带有定制接口的特定外形尺寸的嵌入式系统,而无需从头开始开发内核处理系统。设计人员可将预先设计且经过测试的 SoM 插入到预先设计或定制的载卡中,以创建嵌入式设计,其功能与完全定制的设计相同,但硬件开发所需的时间要少得多。

与从头开始开发硬件相比,使用 SoM 具有几大优势,其中包括:

  • 节省成本(在开发和调试基于 SoC 的电路板的过程中,会产生很高的非经常性工程成本)
  • 降低设计风险
  • Zynq-7000 PS到PL端emio的使用

    作者:OpensLee,FPGA开源工作室

    1 背景知识
    上一节《Zynq-7000 ARM端MIO的使用》讲解了PS端MIO的使用,本节讲解ARM处理器通过emio(Extendable Multiuse I/O)控制PL端接口。如下图所示,ZYNQ-7000的GPIO分为两种(MIO,EMIO)。EMIO分布在Bank2和BANK3,共有64个引脚可以使用。

    如下图所示,当我们的MIO不够使用时我们可以使用EMIO,因为EMIO连接到FPGA端,所以管脚需要约束。

    Zynq-7000 ARM端MIO的使用

    作者:OpenSLee

    1. 背景知识

    Xilinx Zynq-7000 芯片的PS端MIO(multiuse I/O)所在位置如下图红色框所示。MIO(0:15)在bank0上,MIO(16:53)在bank1上。他们不需要管脚约束,既可以当做PS 端普通的IO也可以用做PS端SPI、I2C、CAN等总线。

    本节将使用MIO的GPIO功能实现LED流水灯。

    2. MIO流水灯实验
    对于工程的创建在此不再赘述。可参考《Zynq-7000 ARM端helloworld实验

    1) ZYNQ7 Processing System GPIO的设置

    点击MIO Configuration>>选中GPIO MIO如下图所示。其他配置根据自己的开发板设置。

    Zynq-7000 ARM端helloworld实验

    作者:OpenSLee

    1. 背景知识

    Helloworld 实验总是各种编程语言的开始第一课,这里我们将使用xilinx zynq-7000芯片ARM端完成串口打印”Helloworld”实验,旨在体验一下zynq-7000 的开发流程,为以后的zynq-7000的开发打下基础。

    2. Zynq-7000 HelloWord

    本人使用的zynq-7000芯片为xc7z010clg400。

    Vivado的工程创建我们在这里就不在详述。

    1) Create Block Design

    点击Create Block design >>填写Design name >> OK 如下图所示。

    2) 添加ZYNQ7 Processing System

    同步内容