0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实现重要分析与硬件加速的可编程Xilinx zynq-7000平台推荐

wFVr_Hardware_1 来源:互联网 作者:佚名 2017-11-07 14:37 次阅读

Xilinx Zynq-7000 全可编程 SoC (AP SoC) 系列集成 ARM处理器的软件可编程性与 FPGA硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成 CPUDSP、ASSP 以及混合信号功能。Zynq-7000 器件配备双核ARM Cortex-A9 处理器,该处理器与基于 28nm Artix-7 或 Kintex-7 的可编程逻辑集成,可实现优异的性能功耗比和最大的设计灵活性。这种集成在一起的CPU与FPGA之间的通讯总线,通讯速度更快,信息传递结构更简单。简单来说,就是Xilinx的这款芯片既能节省成本又能提高性能,还有这种好事?还真有,下面我来举个例子。

鼎阳(SIGLENT)SDS1000X-E系列以及电商专供SDS1000X-C系列超级荧光示波器

2/4通道,最高带宽200MHz

图1 SDS1000X-E(X-C)中集成了Zynq-7000

SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,具有双核ARM Cortex-A9处理器(PS)+基于Artix-7架构的FPGA(PL),其中处理器部分支持的最高主频为866MHz,FPGA部分则包含85k逻辑单元、4.9Mb Block RAM和220个DSP Slice,并提供对常用外部存储器如DDR2/DDR3的支持,非常契合数字示波器中对数据进行采集、存储和数字信号处理的需求。同时,Zynq-7000的PS(处理器系统)和PL(可编程逻辑)部分之间通过AXI高速总线互连,可以有效解决传统数字存储示波器中CPU与FPGA间数据传输的带宽瓶颈问题,有利于降低数字示波器的死区时间,提高波形捕获率。用单片SoC芯片替代传统的CPU+FPGA的分立方案,也可以减少硬件布板面积,有利于将高性能处理系统向紧凑型的入门级示波器中集成。

数据采集与存储

图2 用Zynq-7000构架的SPO引擎

SDS1000X-E(X-C)中采用的高速模-数转换(ADC)芯片,其数据接口为LVDS差分对形式,每对LVDS的速率为1Gbps。采用的Zynq-7000芯片,其可编程IO的LVDS最高速率可达1.25 Gbps,可以保证稳定可靠地接收ADC采样到的数据。同时,FPGA接收到的高速ADC数据需要实时地写入到存储器中,以8-bit,1GSa/s的ADC为例,其输出数据的吞吐率为1GByte/s。Zynq-7000支持常用的DDR2、DDR3等低成本存储器,最高DDR3接口速率可达1066MT/s,因此,使用单片DDR3即可满足实时存储上述ADC输出数据的要求。而且,Zynq-7000支持PL共享PS的存储器,只要给PS部分预留足够的存储器带宽,剩余带宽用于存储ADC数据,无须在PL部分再外挂存储器,降低了成本。

更为重要的是,基于Zynq-7000中丰富的可编程逻辑资源(XC7Z020中为85k等效逻辑单元),SDS1000X-E(X-C)集成高灵敏度、低抖动、零温漂的数字触发系统,使得其触发更为准确;各种智能触发功能如斜率、脉宽、视频、超时、欠幅、码型等,能帮助用户更精确地隔离出感兴趣的波形;总线协议触发甚至能直接用符合条件的总线事件(如I2C总线的起始位,或UART的特定数据)作为触发条件,极大地方便调试。

图3 模拟触发系统与数字触发系统的触发抖动对比

数据交互

随着数字示波器设计复杂性的增加和处理器处理能力的提升,总线结构日益成为系统性能的瓶颈。传统的入门级数字示波器,采用低成本的嵌入式处理器作为控制和处理核心,采用低成本的FPGA实现数据采集和存储,二者之间通过并行的本地总线互连,处理器作为主设备,FPGA作为从设备;总线上同时还连接其他处理器外设,如FLASH、USB控制器等,如图4所示。

图4 传统架构的嵌入式处理器与FPGA互连

这种互连方式的最大问题是数据吞吐率低,一是因为本地总线一般是异步总线,理想的情况下一个读/写访问最少需要3个周期(1个setup周期,1个access周期和1个hold周期)。以16-bit位宽,外部总线频率100MHz的本地总线为例,其理想的最高总线访问吞吐率为66MB/s;二是因为读、写操作共用一套地址、数据总线,属于半双工操作;三是多个从设备会竞争总线,从而降低每个从设备的有效数据吞吐率。以1GSa/s采样率的数字示波器为例,其采样10M点的时间仅为10ms,但用于传输10M点的时间(以理想的66MB/s总线吞吐率为例)至少要150ms,是数据采样时间的15倍。换一种说法,即使不考虑数据处理的时间,死区时间也达到了15/16 = 93.75%。

SDS1000X-E(X-C)采用Zynq SoC架构,处理器(PS)和FPGA(PL)之间采用高速AXI总线互连,可以有效地解决二者间数据传输的带宽瓶颈问题,大大提高数据吞吐率,降低示波器的死区时间。Zynq-7000中采用的4个AXI-HP端口,每个端口支持最大64-bit位宽,最高250MHz时钟频率;同时读、写通道分开,可执行全双工操作;PS和PL之间属于点到点传输,不存在与其它设备的总线竞争。使用单个HP端口传输数据,其吞吐率都可以轻易达到双向各1GB/s的速度,4个端口总共可达到的读、写速率一共超过8GB/s,远远大于本地总线的传输速率。

图5 Zynq SoC中处理器与可编程逻辑的互连

数字信号处理

SDS1000X-E(X-C)中配备了很多实用性高、性能强大的数字信号处理功能,如支持1M点运算的FFT、增强分辨率(Eres模式,仅SDS1000X-E支持)、14M 全采样点的串行协议解码、14M 全采样点的多种测量以及数学运算等,大大提高了入门级数字示波器的数字信号处理能力。

Zynq-7000丰富的硬件资源,为SDS1000X-E(X-C)的数字信号处理功能提供了强大的支撑。SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,PS部分具有双核ARM Cortex-A9处理器,最高主频为866MHz,并行协处理器NEON可以在软件层面执行数字信号处理;PL部分具有220个DSP Slice和4.9Mb Block RAM;加上PS和PL之间数据接口极高的吞吐率,使得我们可以灵活地为不同的数字信号处理配置不同的硬件资源。

运算指令复杂、适合软件实现的功能,可以在PS侧实现,如信号上升沿的测量;需要使用大量乘累加运算,对硬件资源依赖度较高的功能,可以在PL侧实现,如示波器中常用的插值滤波。

有些复杂的功能,则可以利用PS和PL间的高数据带宽进行协同处理,例如FFT运算,在PL侧利用丰富的DSP Slice和Block RAM资源构建协处理器对基本FFT运算进行硬件加速,PS侧则实现复杂的窗函数计算、绘图、UI等操作。基于这种协同处理的架构,SDS1000X-E(X-C)上的FFT支持高达1M点的FFT,在获得极高的频谱分辨率的同时,还能大大加快频谱的刷新速度。图6显示了在SDS1000X-E(X-C)上分别进行16k点和1M点FFT的频谱分辨率对比。此例中我们给示波器输入了一个双音信号,其频率为100MHz和100.05MHz,从16k点FFT获得的频谱图中我们无法分辨如此靠近的两个正弦信号,信号被作为一个频率显示出来;而1M点FFT的频谱图有着明显更细致的频谱以及信号处理增益,从水平100倍展开的图中可以看出,两个相距50kHz的正弦型号能够被很好地区分开。

图6 1M点FFT获得极高的频谱分辨率

类似的,在SDS1000X-E(X-C)还有诸多这种PS和PL间相互协同处理而获得的高性能数字信号处理。例如,SDS1000X-E(X-C)可以对14M 全采样点进行多种测量和串行协议解码,而这是在许多中、高端示波器中都做不到的。图7中,上方两图为某主流中端示波器对10ns上升沿的测量结果,下方两图为SDS1000X-E(X-C)对相同信号的测量结果。可以看到,在小时基下,二者的测量结果都较为精确,与实际上升时间相差不大,但在大时基下,右上图显示该示波器在100us/div下只能显示"< 48ns"的测量结果,注意此时它的原始采样率仍然有1GSa/s,这说明此时它的测量对象并不是原始波形数据,而是经过压缩后映射到屏幕上的数据。右下图显示SDS1000X-E(X-C)在1ms/div的时基下的测量结果,注意此时的采样率同样为1GSa/s,但显示的测量精度仍然达到了1ns,能够较为真实地反映信号的参数。

SDS1000X-E(X-C)基于全采样点的数字信号处理以及高达14M点的存储深度,允许用户在大时基下观察信号整体的同时,仍然能获得细节上的处理结果;同时由于其基于Zynq架构的处理方式,使得信号处理的性能和速度达到最优,具备更好的实时性和灵活性。

图7 压缩点测量与全采样点测量精度对比

综上,这个例子说明了一点,就是在原本解决方案里就采用ARM+FPGA的产品里,使用zynq不仅能降低成本,还可以大幅度提高性能。这就使得在这款市场定位于入门级示波器的SDS1000X-E(X-C)上,就能够体现到一些中、高端数字示波器才具有的指标和功能

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Kintex-7
    +关注

    关注

    1

    文章

    27

    浏览量

    16021

原文标题:浅谈Xilinx ZYNQ-7000平台的应用【文尾有福利】

文章出处:【微信号:Hardware_10W,微信公众号:硬件十万个为什么】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    ,而用HDL语言描述硬件的具体实现的设计方法,这也是基于全可编程SoC和传统上基于SoC器件实现嵌入式系统设计的最大区别,即真正实现了软件和
    发表于 04-10 16:00

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。 XilinxZYNQ系列FPGA是二种看
    发表于 05-08 16:23

    基于Zynq-7000创龙高速数据采集处理器

    实现重要分析硬件加速,同时还在单个器件上高度集成 CPU、DSP、ASSP 以及混合信号功能。Zynq-7000 系列包括单核
    发表于 06-07 15:36

    Zynq-7000 SoC提供 FPGA 资源

    Cortex-A9 处理器,但该器件上的 FPGA 数量存在差别,如表 1 所示:[td]Xilinx Zynq SoC可编程逻辑单元块 RAM 的容量大小 (Mb)DSP 切片
    发表于 08-31 14:43

    赛灵思Zynq-7000可扩展处理平台编程流程更简单

    赛灵思Zynq-7000可扩展处理平台(EPP)将双ARM Cortex-A9 MPCore处理器系统与可编程逻辑和硬IP外设紧密集成在一起,提供了灵活性、可配置性和性能的完美组合。围绕其刚刚推出
    发表于 05-16 10:44

    如何实现Xilinx Zynq-7000嵌入式系统设计?

    如何实现Xilinx Zynq-7000嵌入式系统设计?
    发表于 12-23 08:53

    Xilinx首款可扩展式处理平台:Zynq-7000

    Zynq-7000系列是Xilinx推出的首款可扩展式处理平台(EPP)。该新型产品将业界标准ARM双核Cortex-A9 MPCore处理系统与Xilinx一体化28nm
    发表于 01-26 19:02 1827次阅读
     <b class='flag-5'>Xilinx</b>首款可扩展式处理<b class='flag-5'>平台</b>:<b class='flag-5'>Zynq-7000</b>

    Zynq-7000可编程SoC的性能和功能

    Zynq-7000可编程SoC提供无与伦比的性能和功能
    的头像 发表于 01-21 07:32 3621次阅读

    使用Zynq-7000 All Programmable SoC实现DSP功能的软件加速

    该演示展示了Zynq-7000 All Programmable SoC及其使用NEON引擎或硬件加速加速软件的能力。 查看Zynq-7000 SoC的灵活性,以
    的头像 发表于 11-26 06:56 5208次阅读

    Zynq-7000可编程SOC芯片组合产品表的资料免费下载

    本文档的主要内容详细介绍的是Zynq-7000可编程SOC芯片组合产品表的资料免费下载。
    发表于 02-12 16:07 4次下载
    <b class='flag-5'>Zynq-7000</b><b class='flag-5'>可编程</b>SOC芯片组合产品表的资料免费下载

    Zynq-7000所有可编程SOC模块的详细资料介绍

    本文档的主要内容详细介绍的是Zynq-7000所有可编程SOC模块的详细资料介绍。
    发表于 02-13 17:16 0次下载
    <b class='flag-5'>Zynq-7000</b>所有<b class='flag-5'>可编程</b>SOC模块的详细资料介绍

    Xilinx Zynq-7000的汽车可编程SOC芯片的详细资料说明

    Xilinx Automotive Grade(XA)Zynq?-7000所有可编程SOC理想地解决了增长最快的汽车应用之一:高级驾驶员辅助系统(ADAS)的技术和业务挑战。汽车级设备
    发表于 02-15 11:52 9次下载
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq-7000</b>的汽车<b class='flag-5'>可编程</b>SOC芯片的详细资料说明

    Zynq-7000可编程SOC系列产品选择指南免费下载

    本文档的主要内容详细介绍的是Zynq-7000可编程SOC系列产品选择指南免费下载。
    发表于 02-15 11:52 9次下载
    <b class='flag-5'>Zynq-7000</b>全<b class='flag-5'>可编程</b>SOC系列产品选择指南免费下载

    Zynq-7000可编程SoC产品中文简介资料免费下载

    Zynq-7000 All Programmable (全可编程) SoC 重新定义了嵌入式系统的可能性,为系统架构师和软件开发人员推出新的解决方案提供了一个灵活的平台,同时为传统 ASIC 和 SoC 用户提供了一个全
    发表于 02-21 14:26 11次下载
    <b class='flag-5'>Zynq-7000</b>全<b class='flag-5'>可编程</b>SoC产品中文简介资料免费下载

    Zynq-7000可编程SoC ZC706评估套件(ISE Design Suite 14.5)入门指南

    Zynq-7000可编程SoC ZC706评估套件(ISE Design Suite 14.5)入门指南
    发表于 05-19 14:20 20次下载
    <b class='flag-5'>Zynq-7000</b>全<b class='flag-5'>可编程</b>SoC ZC706评估套件(ISE Design Suite 14.5)入门指南