All Programmable SoC 进军制造行业

2017-05-12 13:14:34 来源:EEFOCUS
分享到:
标签:

制造领域为许多人提供了喜闻乐见的业余爱好,也激励着年轻人从事科学、技术、工程和数学方向的职业。这个领域的许多项目都使用嵌入式处理器(通常如 Arduino 或 Raspberry PI 系列),以提供系统所需的智能化。

Arduino 和 Raspberry PI 这两大系列嵌入式处理器均得到开发环境的支持,为其提供多种软件库、模块和实例。这些软件库、模块和实例可帮助开发人员迅速方便地接口到各类型外设,如摄像头、加速计和电机等。正是这种易用性让这些处理器在制造领域倍受青睐。

直到最近制造商都把 All Programmable SoC 排除在制造领域之外,认为它适用于更专业的工程师。但随着 ZynqBerry、Pynq 和 Snickerdoodle 等基于 Zynq® 的开发板的推出以及基于软件的开发方法的问世,这种情况已经发生根本性变化。

这些开发板配有赛灵思 All Programmable Zynq®-7000 SoC 系列器件。这些器件将双核 ARM® Cortex™-A9 处理器与 All Programmable Artix®-7 FPGA 系列的可编程逻辑完美结合在一起。这可加快可编程逻辑架构内的功能,从而显著提升系统性能。但是传统的开发工作将可编程逻辑的设计与软件开发工作分割开来,可编程逻辑设计的实现需要专门的开发经验。现在已不存在这种情况。

当这些开发板与能在纯软件中开发应用的最新开发环境相结合,它们对制造业就变得极为有用。尤其是因为使用这些开发环境,用户不必具备FPGA专家级水平就能够开发出可编程逻辑,从而充分发挥了软硬件的优势。

 


从左到右制造商开发板分别是 Arduino、ZynqBerry、Pynq、Raspberry 和 Snickerdoodle。


开发环境
有两种开发环境可用于为这些 Zynq 开发板创建应用。第一种是基于 Eclipse 的 SDSoC™ 开发环境。这种环境能够使用 C 或 C++ 开发应用并无缝地将运行在 ARM Cortex-A9 处理器上的功能移到可编程逻辑中加速。SDSoC 环境使用高层次综合(HLS)将选定的 C 语言功能移到可编程逻辑中。在 HLS 完成连接后,就使用框架将 HLS 模块与软件应用集成。现在除了可编程逻辑中的功能加速带来的性能提升,该流程还对用户透明。功能在处理器和可编程逻辑间切换极为简便并可在 SDSoC 内通过使用项目简介进行控制。

 


SDSoC 项目简介
SDSoC 支持制造业常用的 Linux 操作系统,同时也支持实时操作系统(FreeRTOS)和裸机。

第二种方法由 Pynq 提供,这种方法提供基于 Python 和 Juypter 笔记本的开发框架。二者都在运行于处理器上的 Linux 发行版上执行,同时可编程逻辑有一个已定义的叠层,用于为 Pynq 上的外设提供连接。在用于支持外设和硬件叠层的 Linux 发行版内有一个已定义的 Pynq 包,该包可让我们使用 Python 直接接口外设。

因为 Pynq 提供两个 PMOD 接口,该软件包能为 ADC、DAC 等各种 PMOD 提供重大支持,简化与 Python 应用的集成。

在 Pynq 内,用许多叠层中的一个来加载可编程逻辑以实现硬件加速。除提供的基本叠层外,还存在多个开源叠层。

用户可通过借助 Web 浏览器连接到 Juypter 笔记本服务器为 Pynq 编程。连接到该笔记本电脑后,他们就能开发自己的 Python 应用并为其建立文档,以便在 Pynq 上运行。

这种使用 Python 并运用 Python 直接接口 PMOD 的能力提供了一种极为强大的开发平台。


嵌入式视觉
两种开发方法都提供使用 OpenCV 等开源嵌入式视觉框架来执行嵌入式视觉应用的能力。在 Linux 发行版支持 USB 视频类或特定摄像头(例如 ZynqBerry 支持的 Raspberry PI 摄像头)时,这些应用能够使用网络摄像头。

OpenCV 方便开发人员使用 C/C++ 或者 Python 开发,运用这一框架他们能够便捷地实现复杂图像处理算法,发挥 Zynq 可编程逻辑的加速功能,显著提升性能。

这些应用借助这一框架能处理图像,检测对象或面部等。

在需要实现简单的对象检测算法时,它们能在基于 Zynq 的平台上运行 Linux、Python 和 OpenCV。下面我们了解如何使用 OpenCV 和网络摄像头实现简单的对象跟踪系统。他们要实现的算法是:

1.从网络摄像头捕获第一帧。第一帧用作基准背景帧。他们将检测从第一帧的场景中发生的任何变化。

2.将色域从 RGB 转换为灰度。这是一种常见的图像分割技术,能用于创建二值图像。图像分割涉及数种将图像划分为多个片段(常称为超像素)的方法。通过分割,更易于分析各片段的内容。在他们的应用中,他们使用阈值化来从前景中分割出背景。这样可以生成二值图像。

3.对图像进行高斯模糊。许多用于检测对象或边缘的图像处理应用的性能受抓取的帧内存在的噪声的不利影响。在进一步处理前将图像模糊化可降低帧内的噪声。这一方法常用于图像处理,尤其是边缘检测算法(例如高斯边缘检测算法的拉普拉斯算子)。这一运算的结果即为用于检测变化的基准图像。


4.再次重复步骤1-3,从网络摄像头中捕获另一图像,从彩色域转换到灰度并在图像上执行高斯模糊。

5.计算基准帧和最近采集的图像间的绝对差。

6.对绝对差进行取阈,以创建二值图像。

7.开展形态学操作,扩大图像以放大任何差异。

8.找出二值图像中剩余的等值线并忽略面积过小的任何等值线。

9.在每个被检测出的等值线周围画一个方框,通过 HDMI 输出显示原始采集的图像。

开发人员能直接在 ZynqBerry 上或是在 Juypter 笔记本内的 Pynq 上运行结果 python 代码。他们看到的图像如下图所示,该图识别出了与基准图像的差异并用方框高亮显示出这些差异。

 


图像跟踪应用的结果。


这个实例体现了开发人员运用熟悉的开源框架,借助 Zynq 平台执行他们的嵌入式视觉应用所带来的强大功能和简便性。


结论
本文呈现的开发环境展现了开发人员发挥多个Zynq开发板的功能的简便性。这些开发环境让用户开发出既能在处理器内的处理内核上执行,又能使用可编程逻辑加速的设计。

STM32智能硬件DIY送好礼
STM32L单片机低功耗模式唤醒时间测量
是德科技创新测量工具,开启毫米波测量新视野
不可错过!意法半导体STM32全国研讨会报名
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
AMD芯片遭遇最大难题,7nm这条路为啥这么难走

AMD CTO Mark Papermaster 近期表示,AMD 转换到 7nm制程是近几代芯片设计以来最困难的路程,也指出需要使用新 CAD 工具及多项设计改变。

HoloLens 3.0会有啥新功能,与微软新一代处理器有关?
HoloLens 3.0会有啥新功能,与微软新一代处理器有关?

微软原本计算在今年年初的时候推出一款改进版,但是在最后关头取消计划,并决定跳过HoloLens 2.0,直接在2019年甚至更晚些时候带来更进一步的HoloLens,或许我们可以称之为HoloLens 3.0。

搭配小米6同款的双摄镜头,小米5X将主打拍照
搭配小米6同款的双摄镜头,小米5X将主打拍照

小米5X不仅确认将配备光学变焦双摄像头,而且更是将“拍人更美”作为了宣传主题,自然也使得大家比较关心这款新机到底会采用怎样的双摄像头方案。

看不惯英特尔10nm玩三代,AMD 7nm处理器能翻身?

也许我们明年就能看到正式亮相的7nm AMD芯片,AMD也将顺势跳过10nm,从14nm工艺制程直接进军7nm,相比之下,英特尔不仅经历了3代14nm工艺制程,在10nm工艺制程这个节点上,英特尔还将经历三代产品,不知在AMD激进战略的倒逼下,英特尔是否会调整工艺制程的步伐。

知道这些命名规则,你才算真的了解英特尔处理器
知道这些命名规则,你才算真的了解英特尔处理器

英特尔的处理器型号越来越多,也越来越复杂,今年声势浩大推出了全新系列i9处理器,并更新了Core X系。赛扬、奔腾、i3、i5、i7、i9,而且有些处理器的型号末尾还带有T、S、K、X字母……

更多资讯
verilog设计和开发案例资料分享

本书主要讲述基于IEEE Std 1364—2001版本的Verilog硬件描述语言,着重讲述了如何Verilog进行数字系统的设计、验证及综合。根据数字集成电路设计的工程需求,本书重点关testbench的设计编写、验证和测试技术,深入讲述基于VerilogHDL的开关级、门级、寄存器传输(RTL)、行为级和系统级建模技术。

Altera基于FPGA的AI解决方案不容小觑,英特尔反弹就靠它了?

人工智能 (AI)的兴起令专门用来处理大量杂随机数据与复杂机器学习软件的新运算硬件变得炙手可热。 英特尔的通用芯片尚未针对最苛刻的任务进行调整,专用芯片则是在执行影像/语音识别、语言翻译的AI软件时提供较好的效能。

赛灵思与英特尔博弈刚开始,解读开启云2.0时代的FPGA
赛灵思与英特尔博弈刚开始,解读开启云2.0时代的FPGA

当下没有比AI这个话题更火热的了,凭借多年布局与卓越的GPU性能,英伟达成为AI芯片一哥,并以AI公司进行自身定位。然而,众多实力玩家对这个一哥位子垂涎欲滴。英伟达若想笑傲AI芯片江湖,先要把FPGA、ASIC、TPU、类脑芯片打败才行。 在这几大威胁中,FPGA是最被熟知的,毕竟号称是“万能芯片”。

Xilinx ZYNQ开发十大讲解

在本篇文章中,将实现在Xilinx ZYNQ上实现用PL部分驱动VGA显示12bit的彩色图像,涉及到VGA的驱动原理,vivado上的PLL IP和ROM IP的使用以及彩色图像coe文件的生成。最后将提供整个项目代码。

聚合:Vivado基本原理和设计实践指南(全解)

Vivado在计算机视觉中的用处和基本原理。

微话题

年初定的哪些“小目标”没有阵亡?

有偿征稿 | 2017年能耗过半,年初定的哪些“小目标”没有阵亡? ……
Moore8直播课堂
移动机器人的感官及其导航和定位技术

移动机器人的感官及其导航和定位技术

2017-07-27 13:30:00
机器人是一个由执行机构、驱动装置、感测装置和控制系统和复杂机械等组成的闭环装置。当前工业革命(工业4.0)面临的突出需求——感测装置(传感器),工业界希望把各种传感器引入工业生产中,利用它独有的数据采
【第七幕】万人FPGA大赛系列培训课程——状态机(序列检测+交通灯设计)

【第七幕】万人FPGA大赛系列培训课程——状态机(序列检测+交通灯设计)

2017-07-28 16:00:00
关键词:FPGA万人大赛(想想就心潮澎湃) 柒月,蝉声缭绕,数以万计FPGA工程师和爱好者摩拳擦掌,掀起一场FPGA的热浪。在这个夏天,一切都将改变! 让学生利用FPGA平台学习数字电路设计,
STM32快速开发笔记——控制器局域网络之CAN

STM32快速开发笔记——控制器局域网络之CAN

2017-07-30 21:00:00
以前,嵌入式MCU功能简单、种类较少,软件开发起来相对容易,而今天,MCU功能强大、种类繁多,软件中实现的功能也要比以前更多更复杂。该系列课程,针对基于ARM的STM32 MCU,将利用STM32cu
【第八幕】万人FPGA大赛系列培训课程——IP核例化及Reveal工具使用

【第八幕】万人FPGA大赛系列培训课程——IP核例化及Reveal工具使用

2017-07-31 16:00:00
关键词:FPGA万人大赛(想想就心潮澎湃)柒月,蝉声缭绕,数以万计FPGA工程师和爱好者摩拳擦掌,掀起一场FPGA的热浪。在这个夏天,一切都将改变!让学生利用FPGA平台学习数字电路设计,就像写代码看
恩智浦技术日直播——安全互联解决方案研讨会

恩智浦技术日直播——安全互联解决方案研讨会

2017-08-02 10:00:00
随处可见的NFC,越来越成熟的语音识别技术……越来越便利的革新技术给我们带来便利的生活的同时,也带来安全隐患。物联网的火爆发展,大大推动了无线通信、智能移动设备、大数据、处理器等领域的快速发展。万物互