ZYNQ

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

读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”

对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹。不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的生态系统。从之前几篇文章中,我们已经看到Xilinx在这方面做出的努力,特别是不断迭代的先进的硬件开发(Vivado)和软件开发(Xilinx SDK)工具。而在嵌入式开发中,还有一个非常重要的环节需要关注,这就是操作系统。

对于日益智能和复杂的嵌入式系统来说,通过一个嵌入式操作系统来统领软硬件资源的调度和控制是必然之选,如果需要更为全面的功能,开发者就要考虑嵌入式Linux这样体量更“大”更复杂的OS。而面对Zynq这样一个大家都想“尝鲜”的创新硬件处理平台,如果能有一种便捷的方式,让嵌入式Linux在它上面“跑”起来,当然是开发者的福利。

图1,基于Zynq平台的嵌入式系统结构

嵌入式视觉技术
眼睛是心灵的窗户,对大部分人来说,视觉是最直觉的感官。但对机器而言,视觉涵盖极为复杂的作业,机器需要超凡的视觉才能将让人望而却步的新科技化繁为简。其实,基于视觉的系统在很多行业和应用领域中都已普及。

嵌入式视觉技术可实时在各种光线条件下从影像中快速撷取情报,帮助机器「看见」。其实,你每天都随时携带着一个嵌入式视觉系统——智能手机。智能手机中的智能设备不仅能够捕获图像和录制视频,而且还能执行增强现实的应用,这些都展示了嵌入式视觉技术是如何被普遍地广为接受。

高级驾驶辅助系统是嵌入式视觉的重点应用市场之一

在汽车领域,嵌入式视觉系统能让自动驾驶车避开斑马线上的行人,或避免撞到路边,反应速度更快,实现空前的效率。无人驾驶领域的嵌入式视觉市场规模预计在2021年将达到420亿美元。

全可编程技术如何掀起嵌入式视觉的革命

玩转Xilinx SDK,让Zynq上的应用程序“飞”起来!

对于开发者来说,Xilinx公司推出的Zynq全可编程SoC平台令他们构建更智能的嵌入式系统不再遥远。而与此同时,这一优势也意味着新的挑战——系统复杂性的增加,使得正确的设计决策、高效的开发必须依赖全新优化的设计流程和工具才能够得以实现。

通常意义上,嵌入式开发分为硬件设计和软件设计两部分,如果说硬件设计是修建一条高速公路,软件设计则是去决定这条路上应该跑什么样的“车(应用程序)”,以及如何让这些“车”跑出飞一般的感觉。具体到基于Zynq SoC平台的嵌入式系统开发,在硬件工程师使用Vivado设计套件完成了硬件平台的开发之后,接下来的工作,就是要将硬件平台文件发送给一个软件开发平台,由软件工程师“接力”完成后续的应用程序创建、开发、调试等软件设计工作。(如图1)

图1,基于Zynq-7000 AP SoC的硬件和软件开发流程

SOC从此开始,初探ZYNQ的DMA传输

作者:Kevin,来源:开源骚客

很久都没有写文章了,一直想写一篇关于SOC的文章,始终没有想好到底该写什么。

如果说写个串口显示的 “Hello World!”,那就太简单了!

正好最近在弄ZYNQ的SOC图像处理,用到了DMA传输,便决定来写第一篇关于SOC的文章,用第一篇文章来简单的介绍一下DMA传输。

当然,这里还是解释一下什么是DMA,全称Direct Memory Access,直接内存存取。它是一种几乎不需要CPU干预的一种内存访问方式,当然这里的内存指的是DDR3。

ZYNQ的PL和PS进行DMA传输时,使用到的是High Performance AXI4 32bit/64bit Slave Ports。

一起Vivado! Zynq硬件设计从此无难事

经过这几年的市场磨砺,Zynq-7000 FPGA SoC器件平台在开发者中的认知度和接受度越来越高,这种“ARM处理器+可编程逻辑”的创新架构,可以帮助开发者在设计中找到高性能与灵活性的完美平衡,对此大家也心知肚明。

但是在实际的应用中,想要玩转Zynq这种“异构”平台,并非信手拈来这样简单。其中很大的一个原因就是以往的开发工具都是彼此分立且松散连接的,设计和实现效率不高,因此需要一种全新的设计方法和开发工具来支持Zynq的应用开发。

Xilinx推出的Vivado设计套件恰好能够满足这一需求。Vivado是一种以IP和系统为中心、支持7系列以及更新系列器件的(包括7系列FPGA、Zynq-7000 AP SoC、UltraScale / UltraScale Plus FPGA、Zynq US+ MPSoC等)全新集成开发环境,可解决用户在系统级集成和实现过程中常见的生产力瓶颈问题。Vivado目前最新的HLx版本可为设计团队提供实现基于C的设计、重用优化、IP子系统复用、集成自动化以及设计收敛加速所需的工具和方法,结合UltraFast高层次生产力设计方法,可帮助设计人员以高层次抽象形式开展工作,加速高层次设计、验证和实现。

以低廉的价格提供不一般的平台

2011年,全球可编程平台领导厂商赛灵思公司(Xilinx, Inc.)推出行业第一个可扩展的处理平台Zynq®-7000全可编程 SoC (AP SoC) 系列。与传统的FPGA相比,Zynq-7000系列最大的特点是将处理系统PS和可编程资源PL分离开来,固化了PS系统的存在,实现了真正意义上的SOC(System On Chip)。

同时,这种软硬件均可编程的全可编程 SoC集成了ARM®处理器的软件可编程性与FPGA的硬件可编程性,不仅可实现算法的硬件加速,还在单个器件上高度集成 CPU、DSP slice, 高速收发器以及模拟信号处理等功能。

为展示 Zynq 功能及为入门级用户提供一种低成本Zynq 开发环境和培训、原型设计和概念验证的演示平台,安富利推出了基于单核Zynq 7Z007S的MiniZed™ 开发套件。“板”同其名,整个开发板的尺寸只有76mm X 71mm. 而其售价也仅89美元。尽管是一款低成本、小型的开发平台,可无论是主控芯片,还是其外设资源,MiniZed开发板的配置都可圈可点,充分体现了安富利强大的生态链整合能力。在提供一种高效的硬件参考设计的同时,也可用来运行实验课和教程。下面将透过其特色和目标应用进行介绍:

主控芯片:赛灵思Zynq XC7Z007S

Xilinx Zynq7000系列All Programmable SoC,将双/单核ARM Cortex-A9处理器与Artix/Kintex-7 FPGA完美融合,ARM与FPGA之间采用吉比特级带宽的AXI 片上总线通信,突破传统ARM+FPGA模式的通信瓶颈,实现了前所未有的灵活可拓展特性,适用于工业以太网,机器视觉,运动控制/PLC/HMI,多轴马达控制等广泛领域。

为降低上述领域客户采用Zynq平台的技术/成本门槛,树立Zynq 核心板性价比新标杆,近期米尔电子基于Zynq-7010处理器及Zynq-7007S处理器推出了MYC-Y7Z010/007S核心板。MYC-Y7Z010/007S核心板采用工业级用料,提供长达10年的供货周期,批量价格仅390/370元起,非常适合嵌入应用产品。

MYC-Y7Z010/007S核心板采用高速10层PCB和180PIN高密度邮票孔接口,在紧凑尺寸的板卡上配置了Xilinx Zynq XC7Z010或XC7Z007S主芯片、高速DDR3 SDRAM、EMMC、SPI FLASH以及以太网口PHY芯片,引出了以太网口、USB、 串口、I2C 、CAN.、SPI、ADC、SDIO 以及可灵活配置的84单端/42差分 Select I/O等丰富外设接口,为客户提供了最佳性能和最优成本的组合选择。

ZYNQ学习之PL和PS接口

1、PL和PS的接口类型总共有两种:

(1)功能接口:AXI、EMIO、中断、DMA流控制、时钟调试接口。

(2)配置接口:PCAP、SEU、配置状态信号和Program/Done/Init信号。这些信号连接到PL内配置模块的固定逻辑上,给PS提供对PL的控制能力。

2、AXI总线:AXI (Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议。用于PL和PS之间的通信。

总线:是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。

接口:是一种连接标准,又常常被称之为物理接口。

协议:就是传输数据的规则

(1)AXI总线:在ZYNQ中有支持三种AXI总线

AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;
AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。

Zynq的BRAM操作及PS端操作Bug思考

作者: 高视,FPGA2嵌入式

1. BRAM介绍

BRAM 就是Block Memory,是Zynq的PL端的存储RAM单元,可以配置为双口RAM,用于实现Zynq中PS端到PL端的数据交互和共享,类似为Linux中的内存共享,也就是将数据写入共同可访问的数据空间,PS和PL端各自访问来达到信息交流的目的。

在这里我们有这样一种比较好的思维推荐:可以在一个BRAM中将一部分地址空间用于PS只写PL只读,剩下的地址空间用于PL只写PS只读。这样PS和PL之间的访问就不会出现读写冲突错误,当然,你也可以用2个BRAM来实现。

2. BRAM的PL端使用

BRAM的访问可以通过AXI总线访问或者把它当做RAM用读写逻辑操作。

该ZYNQ-7000全可编程系统芯片是业界首款集成安全功能可编程逻辑的SoC,功能安全专业人士通过使用单个设备上设置可以实现增强的安全相关系统质量。这个功能节省了安全投资成本,同时由于ZYNQ-7000架构所固有的多样性,因此可以提高了客户整体解决方案的系统性能力。ZYNQ-7000设备支持ISO 13849标准,包括对Cat. 3 和Cat. 4 双声道要求。在两个处理器子系统和可编程逻辑模块上的诊断逻辑更低,在一些情况下可以取代一些定制化的诊断,本白皮书概述了每个ISO 13849解决方案需要认证时的挑战和策略,并分享了如何将基于ZYNQ-7000 SoC的解决快速推向市场。

同步内容