Zynq-7000

Vivado HLS嵌入式实时图像处理系统的构建与实现

作者:张艳辉,郭洺宇,何 宾

摘 要: 传统的基于CPU、GPU和DSP的处理平台难以满足图像实时处理的要求,而FPGA在并行图像处理上有着独一无二的优势,在性能和成本之间提供更加灵活的选择。通过Xilinx最新的Vivado HLS工具,设计实现了可变参数的拉普拉斯算子图像滤波算法,并且在ZYNQ-7000 SoC上构建了可视化的实时嵌入式图像处理系统。实验结果表明,系统可以实现不同的图像处理算法,很好地满足了图像处理的实时性、高性能、低成本要求,对未来高性能图像处理系统的设计和实现提供了很好的借鉴。

0 引言

ZYNQ-7000 AXI 总线相关介绍

1、AXI 总线通道,总线和引脚的介绍
AXI接口具有五个独立的通道:
(1)写地址通道(AW):write address channel
(2)写数据通道( W): write data channel
(3)写响应通道( B) : write response channel
(4)读地址通道(AR):read address channel
(5)读数据通道( R): read data channel

五个通道图为:

读地址通道和读数据通道

读地址通道和读数据通道

Zynq-7000 All Programmable SoC 率先通过功能安全性权威机构 TÜV 莱茵的 SIL 3 结合 HFT=1 综合架构评估

赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布推出一款单芯片Zynq®-7000 All Programmable SoC功能安全性解决方案,以帮助工业物联网边缘控制器、马达驱动、智能IO、智能传感器、网关、工业运输及电网等多种工业应用的客户缩短通过IEC 61508合规性认证所需的时间。该解决方案硬件设计立足单芯片实现SIL 3与HFT=1架构的理念,并结合了完整的支持文档、评估报告、IP与软件工具。通过利用上述资源,客户能够显著降低风险,并可将认证与开发时间最多缩短 24 个月。此外,赛灵思的单芯片解决方案还有助于将系统成本降低 40% 以上;在此之前,客户需要用两个甚至更多器件才能达到IEC 61508所规定的可靠度和冗余度。

Zynq-7000 SoC是通过功能安全性权威机构TÜV莱茵评估,满足《IEC 61508国际标准•第二部分•附件E》片上冗余要求,并将安全与非安全功能集成于单一器件的首款单芯片应用处理器。

第3章:配置自定义嵌入式Linux

配置一个硬件平台

Zynq-7000

下面是启动Linux所需要的硬件需求。

  • 一个Triple Timer Counter (定时器) (必须)
  • IMPORTANT:
    - 如果有多个定时器,Zynq-7000Linux内核将会自动使用设备树中第一个定时器。.
    - 请确保定时器没有做其他使用。

  • 外部存储至少有32MB大小(必须)
  • 用于串口中断的UART(必须)
  • 重要: 如果使用软核IP,确保中断引脚连接。

  • 非易失性存储器 (可选) 例如. QSPI Flash, SD/MMC
  • 以太网 (可选, 用于网络访问)
  • 重要: 如果使用软核IP,确保中断引脚连接。

    导出Petalinux使用的硬件平台

    在你完成硬件平台配置设计,实现构建一个bitstream。为了正确的初始化Petalinux工程,Petalinux需要一个硬件描述文件。这个硬件描述文件可以通过Vivado中“Export Hardware”功能导出。

    使用工业通信,网络安全和边缘计算(从简单数据优化到机器学习)的示例,本白皮书重点介绍了Zynq-7000 SoC和Zynq UltraScale +MPSoC系列对于IIoT嵌入式系统的适用性和有益效果。这些设备将ARM应用处理器与FPGA逻辑(可编程硬件),外设和其他嵌入式模块相融合,使用户能够在其系统软件智能和硬件优化之间达到平衡。本白皮书探讨了工业设备生命周期,以及如何使用软件和可编程硬件组合在短时间构建更有能力的系统,以及如何在IIoT快速变化的市场趋势的范围内扩展系统使用寿命。本白皮书介绍了软件工具,便于在软件和可编程硬件之间分配功能,并重点阐述了不选择全可编程解决方案的业务风险和成本。

    一个Xilinx包装盒子引起的故事

    作者:stark

    Xilinx是全球领先的可编程逻辑完整解决方案提供商,自1984年成立以来已经经历了30多年的发展,从首创现场可编程逻辑阵列(FPGA)这一创新性技术到现在的All Programmable器件,目前涉及的业务包括研发、制造和销售应用范围广泛的高级集成电路、软件设计工具以及预定义系统功能的IP核等。今天向大家介绍的一个Xilinx包装盒子,由此我们来了解Xilinx早期的故事。(图1:1998年Xilinx产品的包装盒子)

    从盒子上我们看到印刷的Logo还是“The Programmable Logic Company”,目前Xilinx的产品主打“All Programmable”。发货时间显示1998年3月19日,发货地址也是Xilinx早期在美国科罗拉多州的办公地址,21世纪初才搬到朗蒙特州。盒子内是一块FPGA板卡(如下图),我们可以看到两块Xilinx FPGA器件:第二代XC3020A和第三代XC4003E。

    PC平台:WINDOWS 10 64位 + 虚拟机Ubuntu 14.04

    Xilinx设计开发套件:Xilinx_vivado_sdk_2015.4

    开发板:ZedBoard

    USB摄像头:罗技 C270(720P)

    Linux源码:2016_R1

    Linaro文件系统:linaro-vivid-developer-20150618-705.tar.gz

    QT库:qt-everywhere-opensource-src-4.7.3.tar.gz

    openCV: opencv-3.1.0

    全新升级上市的Zybo-Z7是一款功能强大丰富,开箱即用型的Xilinx Zynq-7000 APSoC 软硬协同嵌入式开发板。此次重磅上市的新版Zybo Z7,是对2012年发布的全球广受欢迎的口袋式Zynq评估板Zybo的一次新一代全面升级!

    描述:
    在一定条件下,在加电和断电的过程中,Zynq-7000 AP SoC PS Efuse 设置的完整性可能会受到影响。

    如果所有下列状况都有发生,则 Zynq-7000 AP SoC PS eFUSE 设置的完整性可能会受到影响:
    1、推荐的加电和断电顺序未满足
    2、PS_CLK 在加电和/或断电过程中运行
    3、在 PS 加电过程中没有按照要求断言 PS_POR_B,或者在断电过程中未断言 PS_POR_B

    可能会体现出下列症状:

  • 因 RSA 认证的意外启用或不正确的 RSA PPK 散列值所导致的启动失败
  • 因意外启用 OCM ROM 128KB CRC 检测导致启动时长超过预期
  • 因意外的写保护设置或空白检查错误造成在 PS eFUSE 编程过程中出错
  • 解决方案

    Zynq-7000 AP SoC 设计应该针对给 PS eFUSE 完整性造成的潜在影响进行评估。

    请参见以下部分,了解评估潜在影响的方法。

    我该如何评估设计在加电过程中是否受到影响?

    如果下列所有三个加电测试问题的答案都是否,则 PS eFUSE 完整性可能会在加电过程中受到影响。

    PC平台:WINDOWS 10 64位 + 虚拟机Ubuntu 14.04

    Xilinx设计开发套件:Xilinx_vivado_sdk_2015.4

    开发板:ZedBoard

    USB摄像头:罗技 C270(720P)

    Linux源码:2016_R1

    Linaro文件系统:linaro-vivid-developer-20150618-705.tar.gz

    QT库:qt-everywhere-opensource-src-4.7.3.tar.gz

    openCV: opencv-3.1.0

    同步内容