ZYNQ

ZYNQ系列是赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台,旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能水平。该系列四款新型器件得到了工具和IP 提供商生态系统的支持,将完整的 ARM® Cortex™-A9 MPCore 处理器片上系统 (SoC) 与 28nm 低功耗可编程逻辑紧密集成在一起,可以帮助系统架构师和嵌入式软件开发人员扩展、定制、优化系统,并实现系统级的差异化。

PYNQ 和 ZYNQ 对比

PYNQ = Python + ZYNQ —— ZYNQ部分功能的Python化

PYNQ

优点:

1、 Python用于ZYNQ开发,Python库和FPGA硬件库可以直接调用,极大加快开发进程、缩短开发周期、降低开发难度,更方便、快捷;

2、 用PYNQ开发,当Python有更加有效的可用库时(如图像处理—OpenCV),其性能要比C/C++开发更强。

缺点:

目前,PYNQ还不支持任何高级的综合,也无法将Python应用直接移植到FPGA中,仅能调用已有库。

ZYNQ

优点:

一般基于C/C++开发,功能更全面、扩展性更强。

缺点:

没有PYNQ方便快捷、易上手,缺少Python那些强大功能库的支持。

注:

1、 PYNQ目前库有:Python库+FPGA硬件库(目前仅有2个:PYNQ-API接口+overlay);

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

Zynq 的64位全局定时器

作者:leon_zeng0

Zynq 有一个64位全局定时器,我觉得有点实用价值,比如精确的实时计算,代码运行时间计算。

怎么用呢?我就google 了一下,有篇文章推荐查看2个文件。这2个文件名分别是 sleep.c, xtime_l.c。

这2个文件是Vivado 安装的时候就安装好了的样例程序,我的是在这个目录下:
C:\Xilinx\SDK\2015.4\data\embeddedsw\lib\bsp\standalone_v5_3\src\cortexa9

查看这2个文件,就可以清楚其用法了。

实验:
在我的helloworld 工程里添加
#include "sleep.h"
#include "xtime_l.h"

然后在main 函数里添加:

main()

{

u64 tbegin,tend;
long int tdiff;

print("Begin dealay 5s\n");

XTime_GetTime(&tbegin);

sleep(5);

XTime_GetTime(&tend);

tdiff=tend-tbegin;

print("End of dealay 5s");

【视频】以太网演示 | Xilinx 和 Soc-e

Soc-e 的 Armando Astarloa 使用 HSR / PRP IP 核和 Zynq 演示了以太网冗余演示。

作者:Steve Leibson

人们经常需要开发定制的仪器用于实验或生产测试。早期的方法是通过 GPIB/IEEE-488 接口来连接仪器,并通过台式电脑或工作站进行控制。如今流行的则是 PXI 和 PXI Express 机架系统等更加模块化的方法。然而,此类安装可能很昂贵,尤其对于一次性测试或一次性堆叠更是如此。

为加快开发速度并降低定制仪器的成本,设计人员应考虑具有充足板载模数转换器 (ADC) 或数模转换器 (DAC) 资源的单板仪器平台,所有资源均由嵌入式处理器和配套的 FPGA 进行控制。

本文将展示如何使用基于处理器/FPGA 的系统级模块 (SoM) 以及附带的开发工具来开发定制仪器。依托一个由社区支持的仪器设计开放市场,这种仪器开发方式可以避免开发硬件的需要,并可以开发出紧凑的低成本工具,用于开发多种类型的仪器。

仪器系统历史简述

深入了解 Zynq SoC 在基于“OPC UA over TSN”的智能工厂自动化中的作用。

Zynq-7000 rgb2ycbcr IP的创建与使用

作者:OpenSLee

1 背景知识

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

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

Zynq mio总结

Zynq的IO包括对外连接的GPIO和内部PS与PL通信的AXIO。其中对外的GPIO又分为两种:MIO和EMIO。MIO直连到PS;EMIO则是PS扩展到PL,从PL接出的IO。所以MIO不需要管脚约束,而EMIO需要管脚约束。

1.MIO寄存器

上图为MIO内部构造,对MIO操作即是对以下寄存器进行配置:

DATA_RO: 此寄存器使软件能观察 PIN 脚情况,当 GPIO 被配置成输出的时候,这个寄存器的值会反应输出的 PIN 脚情况。

DATA:此寄存器控制输出到GPIO 的值,读这个寄存器的值可以读到最后一次写入该寄

存器的值。

MASK_DATA_LSW:位操作寄存器,写入 GPIO 低 16bit 其他没有改变的位置保存原先的状态

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接口的原理图

同步内容