提到自动驾驶,机器人视觉,高清摄像机,都要想到摄像头这个单元,先前本侠也讲过一些FPGA应用在高清摄像头和机器视觉中的深度摄像头以及双目摄像头等,FPGA在里面的作用主要是对采集的图像进行处理,对图像的处理需要硬件有着很好的并行的性能,那么它处理速度跟ARM的CPU比起来有没有优势呢?本侠今天就带领各位一起来探索一下FPGA在边缘计算方面的应用。

提起计算速度,我们首先能想到的是云计算。云计算有数不清的好处,例如计算快,计算数据的量大,等等。但智者千虑必有一失,没有云计算的厂家能够保证他能做任何的事情,云计算也有自己的不足之处,最大的不足就是计算的实时性不够高。例如,在你把一些数据送到云端去进行处理的时候总会有一些延迟,最难熬的莫过于等结果的时间。边缘计算需要很高的计算性能,而且有着很高的实时性,FPGA能够同时并行处理很多的事情,既能满足数据处理速度的要求,还能满足实时性的需求,可谓是两全其美。今年在加利福尼亚的圣塔拉拉举行的嵌入式视觉峰会上展示了基于Aldec的TySOM-2-7Z100原型板的4摄像头ADAS模型,如图.1所示。TySOM的性能很好,主要是因为里面的核心的运算处理部件是Xilinx Zynq Z-7100的SoC。

图.1 TySOM-2-7Z100原型板

如图.2可以看到Zynq在TySOM板子中的位置,为什么Zynq中的FPGA能够在边缘计算方面得到这么好的应用呢?Zynq-7000可编程SoC将软件可编程的ARM处理器和硬件可编程的FPGA放到了一个芯片中,能够实现数字分析的同时还能够实现硬件加速,里面集成了CPU,DSP,ASSP和混合信号处理模块。图像处理所用的就是Zynq里面的FPGA模块。那么ARM核心在TySOM办卡中能够起到什么作用呢?

Aldec的TySOM-2-7Z100原型板的良好的性能依赖于Zynq里面有着双核的ARM Cortex-A9处理器和一个FPGA逻辑。整个图像处理的过程是先从摄像头采集图像开始,使用一个边缘检测算法(这里的边缘指的是对物理边缘的感知,例如物体或者是巷子的边界线等)。这是一个计算密集的任务,因为有上百万的像素需要经过计算。采集到的图像如果是在ARM CPU中进行处理的话每秒钟只能处理3张的图像,然而在FPGA中每秒可以处理27.5张的图像,可见在Zynq中FPGA有着举足轻重的作用。也就是说,有了FPGA图像的处理速度有了将近10倍的速度的提升。

图.2 TySOM-2-7Z100板的正面图

有了高性能的核心处理芯片还不够,还需要神通广大的外设接口来跟其他的设备进行交互。TySOM的设计能够兼容多达362个I/O的外设接口、16个GTX收发器、两个FMC-HPC可以支持扩展子卡的连接口。ARM CPU处理数据的时候需要的基本的标准接口例如DDR3 RAM,USB和HDMI;ARM核心还能够支持Linux的操作系统和其他一些类型的实时操作系统。不仅如此,ARM的CPU有着1GB的DDR3 RAM能够让其进行支配,可以支持扩展32GB的SSD存储空间。网络的交互可以通过RJ45接口经过Gigabit Ethernet PHY来实现,还配备了4个USB 2.0的接口。大多数的FPGA的接口都通过两个FMC-HPC sockets接口来实现跟其他设备的交互。这样,ARM核心和FPGA模块都能够和外界进行信息的交互。

自动驾驶正在如火如荼的进行中,随着国家政策对自动驾驶的慢慢的认可,相信对技术来讲是一件好事,无论是硬件还是算法都会有自己的用武之地,在智慧城市,智慧生活的大环境下,FPGA的发展也会随着潮流稳步的向前推进,更好的去拥抱改变,创造改变的机会。

ZYNQ7000性能分析的更多相关文章

  1. 如何进行python性能分析?

    在分析python代码性能瓶颈,但又不想修改源代码的时候,ipython shell以及第三方库提供了很多扩展工具,可以不用在代码里面加上统计性能的装饰器,也能很方便直观的分析代码性能.下面以我自己实 ...

  2. SQL Server-聚焦IN VS EXISTS VS JOIN性能分析(十九)

    前言 本节我们开始讲讲这一系列性能比较的终极篇IN VS EXISTS VS JOIN的性能分析,前面系列有人一直在说场景不够,这里我们结合查询索引列.非索引列.查询小表.查询大表来综合分析,简短的内 ...

  3. SQL Server-聚焦NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL性能分析(十八)

    前言 本节我们来综合比较NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL的性能,简短的内容,深入的理解,Always to review the basics. ...

  4. SQL Server-聚焦LEFT JOIN...IS NULL AND NOT EXISTS性能分析(十七)

    前言 本节我们来分析LEFT JOIN和NOT EXISTS,简短的内容,深入的理解,Always to review the basics. LEFT JOIN...IS NULL和NOT EXIS ...

  5. SQL Server-聚焦EXISTS AND IN性能分析(十六)

    前言 前面我们学习了NOT EXISTS和NOT IN的比较,当然少不了EXISTS和IN的比较,所以本节我们来学习EXISTS和IN的比较,简短的内容,深入的理解,Always to review ...

  6. SQL Server-聚焦NOT EXISTS AND NOT IN性能分析(十五)

    前言 上一节我们分析了INNER JOIN和IN,对于不同场景其性能是不一样的,本节我们接着分析NOT EXISTS和NOT IN,简短的内容,深入的理解,Always to review the b ...

  7. SQL Server-聚焦INNER JOIN AND IN性能分析(十四)

    前言 本节我们来讲讲联接综合知识,我们在大多教程或理论书上都在讲用哪好,哪个性能不如哪个的性能,但是真正讲到问题的实质却不是太多,所以才有了本系列每一篇的篇幅不是太多,但是肯定是我用心去查找许多资料而 ...

  8. Java 性能分析工具 , 第 3 部分: Java Mission Control

    引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...

  9. Java 性能分析工具 , 第 2 部分:Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

随机推荐

  1. sass、less异同

    相同点: 1.混入(Mixins):class中的class 2.参数混入:可以传递参数的class,就像函数一样 3.嵌套规则:class中嵌套class,从而减少重复的代码 4.运算:css中用上 ...

  2. Vue实践TS中的一些常见错误解决方案

    mixin报错 import { Component, Prop, Vue ,Mixins} from 'vue-property-decorator' import httpminix from ' ...

  3. CSRF 跨站

    目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为: ...

  4. js 测试题

    //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字母x function isCardNo(card) { }$)|(^\d{}(\d|X|x) ...

  5. Computer-Hunters——项目系统设计与数据库设计

    Computer-Hunters--项目系统设计与数据库设计 前言 本次作业属于2019秋福大软件工程实践Z班 本次作业要求 团队名称: Computer-Hunters 本次作业目标:撰写一份针对团 ...

  6. Docker环境下的前后端分离项目部署与运维(六)搭建MySQL集群

    单节点数据库的弊病 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 单节点MySQL的性能瓶领颈 2016年春节微信 ...

  7. FPFA学习笔记的系列

    1.Zynq 学习裸跑系列 学会Zynq(1)搭建Zynq-7000 AP SoC处理器 作者:FPGADesigner 学会Zynq(2)Zynq-7000处理器的配置详解 作者:FPGADesig ...

  8. Linux 下杀毒软件 clamav 的安装和使用

    安装依赖: 1 2 3 yum install -y pcre* zlib zlib-devel libssl-devel libssl yum install -y openssl yum inst ...

  9. eclipse.ini相关问题

    一般新装的eclipse,在eclipse.ini文件中,有设置默认的内存信息,如果你要开发一个大的项目或者导入大的项目,那么,eclipse就会时不时报出这样的错误:An internal erro ...

  10. Topshelf 搭建 Windows 服务

    Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架.简化服务创建于部署过程,并且支持控制台应用程序部署为服务.本文基于 .net core 控制台应用程序部署为服务(. ...