做ZYNq开发的一般都是找的什么方面的工作方面 SOC吗?

<ul>
<li>第 1 页:<strong>基于模型的Zynq SoC软硬件协同设計工作方面流程及其案例研究</strong>
</li>
</ul>

工业设计人员可以利用快速原型與基于模型的设计将电机控制算法移至Zynq SoC环境

自20世纪90年代以来,电机驱动开发人员一直采用多芯片架构实施电机控制与处理需求

在这种架构中,离散数字信号处理(DSP)芯片负责执行电机控制算法FPGA实施高速 I/O与网络协议,离散型处理器负责处理执行控制然而,随着赛灵思? Zynq?-7000 All Programmable SoC嘚问世设计人员已经找到了能将这些功能组合到单个器件的方法,而且还可以集成其它处理任务减少部件数量与复杂性不仅可以降低系统成本,而且还能提升系统性能与可靠性

但是,驱动开发人员如何才能够改变自己长期形成的设计实践转而采用Zynq SoC呢?

长期以来工業设计人员一直采用基于模型的设计,通过仿真和C代码生成在DSP芯片上研发定制电机算法。

如今赛灵思与MathWorks合作开发了一种全新工作方面鋶程——将基于模型的设计扩展至可用Zynq-7000 All Programmable SoC的处理系统和可编程逻辑。

如今先进的电机控制系统都属于控制算法与工业网络的组合,包括 EtherCAT、Profinet、Powerlink以及Sercos III其能够从计算资源中提取处理带宽。此外控制系统现在还聚合了其它需求,其中包括运动控制层、PLC层、诊断层以及用户界面鉯便进行调试和保养,或远程监控采用与处理系统自然贴合的元件,这些需求能转化为逻辑分组和实体分组而其它元件则最好适合于硬件辅助减负与加速。

您所选择的硬件平台应该提供稳健的可扩展型系统赛灵思Zynq SoCs就能满足上述需求,其配有高性能处理系统以支持联網、运动、soft-PLC、诊断以及远程维护功能,并与可编程逻辑相结合从而加速硬件中性能临界的功能。对于处理方面Zynq SoC与带有NEON控制处理器、浮點扩展的ARM? Cortex?-A9 双核处理系统相结合,可加速软件执行速度对于可编程逻辑,该器件配有444000个逻辑单元和2200个DSP48Slice能提供大量的处理带宽。利用伍个高吞吐量AMBA?-4 AXI高速互连可编程逻辑与处理系统紧密耦合,相当于3000多个PIN的有效带宽

表1列出了Zynq SoC 器件所能实现的处理性能。

现代控制算法嘚系统时间与系统变量可跨越多个数量级从而导致硬件/软件分组成为一项艰巨、耗时、重复的任务。图2给出了一个典型的电动驱动其電源频率通常为50Hz-60Hz,经过整流后形成连续电压(直流)。然后该连续电压转换成变频电压,可控制馈送电机终端的电功率级此外,控淛器还必须读取电机基本变量其中包括电流和电压。控制器同样也必须读取或确定轴的位置包括轴的转速和通信网络或监视控制器的處理命令。

Simulink?可提供用于多域系统仿真和基于模型设计的方框图环境,其完全适用于含有控制算法和设备模型的仿真系统。基于广泛用于SimulinkΦ对控制系统建模进行系统分析、设计与调节的方法MathWorks的控制系统工具箱等产品可提供各种各样的“应用”。利用Simulink执行系统建模可以加赽电机控制系统的开发速度,而且还可以从以下几个方面降低风险:
? 降低受损风险——在全新控制系统算法用于量产硬件测试之前仿嫃法可对此算法进行全面检验,这样就可以规避硬件测试存在损害驱动电子系统、电机以及系统其它组件的风险

? 加快系统集成速度——支持员工需要将控制系统新算法集成至产品系统,这意味着部署新的控制器会消耗有限的时间而且可能令部署过程变得冗长。

? 减少對设备可用性的依赖——在有些情况下生产环境本身并不可用,例如定制驱动电子系统或电机尚在开发当中或者其所处位置使得控制系統设计人员无法对其进行访问

鉴于上述因素,仿真即是利用生产硬件进行测试的最佳替代方案Simulink等仿真环境可以提供框架,以便利用机電组件既存构建模块库创建装置模型进而利用该装置模型对新的控制系统架构进行评估。

将系统模型与快速原型环境以及最终生产系统楿连接从而进一步降低计划的风险。快速原型工作方面流程允许算法开发人员可以在不依赖硬件设计人员的情况下进行原型设计算法研开人员可在高度自动化过程中采用特定平台支持包,进而将系统硬件和软件组件部署到可以编译为特定硬件开发平台的设计模板硬件與软件设计团队可以将这些相同的硬件和软件组价重新应用于最终生产系统之中,无需做出任何修改即可加速研发过程、减少失误

采用Avnet智能驱动套件实现快速原型

设计人员可以将vnet Zynq-7000 AP SoC / 模拟器件智能驱动套件与Simulink以及Zynq SoC工作方面流程相结合,实现针对电机控制应用的整套快速原型系統该套件整合了 Zynq SoC与最新一代模拟器件高精度数据转换器以及数字隔离技术。该套件可支持高性能电机控制与双端口千兆位以太网工业联網( boards-and-kits/1-/zidk)

设置好控制环路增益之后,我们现在可将控制器置于更加精准的系统模型上进行测试与控制环路模型相比,系统模型内含更加细囮的驱动电子系统模型更为重要的是,系统模型所包含的细化模型可以指定控制器与外设实施其中包括PWM与霍尔效应传感器处理过程中所使用的准确时序模型。

我们已针对Zynq SoC规划出了控制器速度控制器与速度估计器在ARM核上运行,频率为1kHz换向器、霍尔传感器以及PWM均在Zynq SoC可编程逻辑上运行。

我们可以对比控制环路和系统模型的仿真结果(图3中红色标志即为系统模型结果)一般来说,两个波形的相似度非常高但电机速率除外,它趋向于零在这些点上,霍尔传感器粗糙度非常明显而且电机轴每次转动只有六个标志脉冲。这种高保真系统模型7分钟内即可运行一次为时4秒的仿真而对于保真较低的控制环路模型而言,只能运行一次为时7秒的仿真对于控制系统设计人员而言,其意义在于上述仿真结果可以让我们更加坚信控制环路模型对于进一步评估控制器替代方案来说足够准确,无需使用系统模型进行硬件測试即可验证替代方案。

有了这些发现我们即可利用智能驱动套件设计出控制器的原型。通过Zynq SoC推荐的工作方面流程我们可以利用Simulink模型生成C代码与HDL代码,Simulink模型已被分割成数个特定于ARM核以及可编程逻辑的子系统(图4)

我们按照上述工作方面流程,使用MathWorks的HDL代码生成器生成IP核此IP核将在Zynq SoC器件的可编程逻辑中运行,以便建立在ARM核上运行的可执行程序并且在ARM核与可执行程序之间建立AXI总线接口。

将bit文件加载载入鈳编程逻辑以及在ARM核上运行可执行程序之后我们即可进行环路中的硬件测试。对于此测试我们采用经过改良的Simulink测试平台模型,我们已經拆除该模型中的驱动电子系统、电机以及传感器模型因为我们采用了环路中的硬件取代被仿真的装置模型。为了方便我们检查测试结果同时方便与仿真结果进行对比,我们可将Zynq SoC设置成将电机轴速度测量以及其它数据存储于ARM核内存之中(图3中黑色阴影标志即为硬件测试結果)这样,我们即可将结果上传至MATLAB session在试验结束时将脉冲输入应用于测试平台,即可处理和查看结果如此一来,我们即可在硬件中准确重复我们采用仿真进行的测试原型设计的测试结果与仿真结果非常接近,其中包括因霍尔传感器导致电机速度实测值发生中断

本簡述证明了MathWorks的Zynq SoC工作方面流程可应用于基于模型的设计,实现仿真和原型设计如果想继续深入生产,您可以将所生成的C代码和HDL代码导入Vivado? 設计套件在该套件中您可将这些代码与执行程序、联网IP以及完整执行系统所必需的其它设计组件进行整合。

如需下载本文所述模型以及叻解更多有关如何利用Zynq-7000 All Programmable SoC / Avnet模拟器件智能驱动套件完成基于模型的设计敬请访问:mathworks.com/zidk。您还可以从本页浏览在Zynq SoC器件上执行完整磁场导向控制模型的Simulink模型也可以观看上述实例的视频,了解更多详情

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅玳表作者本人不代表电子发烧友网立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题,请联系本站作侵删 

  •   赛灵思Zynq-7000 可扩展处理平台(EPP)將双 ARM Cortex-A9 MPCore 处理器系统与可编程逻辑和硬 IP 外设紧密集成在一起提供了灵活性、可配置性和性能的完美组合。围绕其刚刚推出的可扩展处理平台(EPP) 赛灵思在今年3月发布了基于Zynq -7000新系列的首批器件。  采用 28 nm制造工艺 Zynq-7000嵌入式处理平台系列的每款产品均采用带有NEON及双精度浮点引擎嘚双核 ARM Cortex-A9 MPCore 处理系统,该系统通过硬连线完成了包括L1L2 缓存、存储器控制器以及常用外设在内的全面集成。(图 1)尽管 FPGA 厂商此前已推出过带硬核戓软核处理器的器件,但 Zynq-7000 EPP 的独特之处在于它由ARM处理器系统而非可编程逻辑元件来进行控制也就是说,处理系统能够在开机时引导(在 FPGA 逻輯之前)并运行各个独立于可编程逻辑之外的操作系统这样设计人员就可对处理系统进行编程,根据需要来配置可编程逻辑  利用這种方法,软件编程模式将与全功能标准 ARM 处理器片上系统(SoC)毫无二致过去设计师需要对 FPGA 逻辑进行编程以运行片上处理器。那就意味着洳果想要使用器件必须得是 FPGA 设计师。但现在使用 Zynq-7000 EPP则完全不必担心这一问题。图 1 —— 不同于以往在 FPGA 架构中嵌入 MPU 赛灵思全新 Zynq-7000 EPP 系列使用 ARM 处悝器而非可编程逻辑来进行控制。  图1中文字:  新产品系列消除了延迟和从头设计芯片的风险这意味着系统设计团队可以利用其先进的高级软硬件编程多功能性简便快速创建创新型片上系统,而这是其他任何半导体器件都无法实现的这样,Zynq -7000 EPP 能够为广大的创新者带來无法比拟的益处无论是专业的硬件、软件、系统设计师或仅是单纯的“制造商”,他们都可以探讨处理能力与编程逻辑结合的可能性进而创建出从未想象过的创新应用。  赛灵思处理平台副总裁 Larry Getman 表示:“从最根本的层次来说Zynq-7000 EPP 应该算是一类全新的半导体产品。它既鈈是单纯的处理器也不是单纯的 FPGA。我们的产品是两者的完美结合正因如此我们才能够帮助您消除现有解决方案的局限性,尤其针对双芯片解决方案和 ASIC  Getman 称当前大多数电子系统都是将一个FPGA和一个独立处理器或者一个带有片上处理器的ASIC在同一个PCB上配合使用。赛灵思的最噺产品可支持使用这类双芯片解决方案的公司利用一个Zynq-7000 芯片来构建下一代系统节省了物料成本和 PCB 空间,并且降低了总体功耗预算由于處理器和FPGA 在相同的架构上,因此性能也得到了大幅提升  Getman 表示 Zynq-7000 EPP 将会加快从 ASIC向 FPGA 的市场迁移。采用最新制造工艺实施 ASIC 过于昂贵并且对大多數应用来说风险太大因此,越来越多的公司青睐于 FPGA许多尝试坚守旧 ASIC 方法的公司采用旧的制造工艺来实施他们的设计,分析师称之为“價值认知型片上系统 ASIC”然而 ASIC 依旧需要较长的设计周期并且存在重新设计(respin)的风险,这样一来费用将会非常昂贵并且可能还会延迟产品嘚上市时间Getman 说:“与旧技术相比,借助采用 28 nm技术的 Zynq-7000 EPP器件的可编程逻辑部分并不存在尺寸或性能损耗的问题,您还可在处理子系统中获嘚硬化 28 nm片上系统的附加优势凭借不到 15 美元的起始售价,我们使设计那些产量并非很大的 ASIC 在成本和风险上都不再划算您可以即刻让您的軟硬件团队开工,而那些死守ASIC 的设计团队就很难做到这一点”  Getman 表示自从赛灵思去年推出这款架构以来,市场对Zynq-7000 EPP的兴趣和需求非常强烮经选择出的一部分早期试用客户(alpha customer)已开始对将使用 Zynq-7000 器件的系统进行原型设计。该技术非常令人兴奋”  智能架构决策  在赛靈思处理解决方案副总裁 Vidya Rajagopalan 的领导下,Zynq-7000 EPP 设计团队专门针对这类新器件而推出了一款设计精良的架构除了选择应用广泛且倍受欢迎的 ARM 处理器系统以外,设计团队的一个重要架构决策是在处理系统和可编程逻辑之间广泛使用高带宽 AMBA? 高级扩展接口(AXI?)互联这样一来便能够以較低的功耗支持 ARM 双核 Cortex-A9 MPCore 处理子系统和可编程逻辑之间的多千兆位数据传输,进而消除了控制、数据、I/O 和内存所面临的性能瓶颈  实际上,赛灵思一直与 ARM 保持紧密合作力求让 ARM 架构更加适合于 FPGA 应用。Rajagopalan 称:“AXI4 拥有存储器访问版本和流数据访问版本赛灵思推动着 ARM 的流定义,因為人们针对应用而开发的许多 IP (例如高带宽视频)均为流 IPARM 的产品没有这种流接口,因此他们选择与我们合作”  Getman 称这款架构的另一個主要方面是赛灵思将一组有益的标准接口 IP 硬化到 Zynq-7000 EPP 芯片中。他说:“我们尽量选择应用更广泛的外设例如 USB、以太网、SDIO、UART、SPI、I2C 和 GPIO 都是标准配置。但有一个例外那就是我们还向该器件添加了 CAN。CAN 属于稍专业化的硬化核心之一但它在以下两个主要目标市场中应用广泛:工业和汽车业。将其硬化在器件中只是 Zynq-7000 EPP 的又一个卖点  在内存方面,Zynq-7000 器件提供了多达 512 KB 的二级缓存由两个处理器共享。Getman 说:“Zynq-7000 EPP 器件具有 256 KB 的高速暂存区这是处理器和 FPGA 都可以访问的共享内存。”  一个单独的多标准 DDR 控制器可支持三种类型的双倍数据速率内存 Rajagopalan 表示:“大多数 ASSP 嘚目标是特定细分市场,而我们的目标是 LP DDR2、DDR2 和 DDR3因此用户可以根据自身需求在功率和性能之间做出权衡。这是一种多标准 DDR 控制器而我们昰最早提供类似控制器的公司之一。”  Zynq-7000 EPP 不仅是一种新器件也是赛灵思的最新设计平台, 它与开发板、软件、IP 和文档一起提供可以幫助客户迅速上手和运行。此外赛灵思还将在未来几年中不断推出针对特定垂直市场和特定应用的 Zynq-7000 EPP

  • 电子产业正在大力投资开发PRAM、MRAM和RRAM等新型存储器技术。新型存储器技术测试芯片的性能快速提高但这种存储器要做到能与传统存储器全面抗衡乃至取代传统存储器还需要更多嘚努力。 通常说来有了新型存储器技术的测试芯片,能够完成制造相关的基础测试例如会检查固化故障、转换故障和地址解码故障等。同时还有一种测试也是必需的那就是要进行性能相关的测试,了解芯片可靠存取的速度能有多快以及芯片存取速度如何影响整个计算系统性能。 为了成功进行规划的性能测试测试环境必须能够生成可配置的数字波形来存取芯片。同时还要创建整个计算环境来测量芯爿存取速度的影响创建或购买测试环境、满足上述需求有多种方法。我们在高通的团队决定采用赛灵思 Zynq?-7000 All Programmable SoC ZC706 评估套件来打造自己的环境 存儲器进出 DRAM、SRAM 和闪存等传统存储器技术用存储器单元中的电荷来存储 0 和 1。DRAM 广泛被 PC和移动计算设备用来运行程序和存储临时数据SRAM 通常用作微處理器的高速缓存存储器和寄存器薄,同时也经常用于对功耗问题很敏感的嵌入式系统中与 DRAM 和 SRAM 不同,闪存存储器在系统断电后仍能永久保存数据闪存存储器的运行速度比其他存储器要慢,大量编程循环后可能会磨损 相对于传统基于电荷的存储器技术而言,新型存储器技术基于存储元件的其他物理属性举例来说,磁阻 RAM (MRAM) 的存储器元件由两个铁磁板组成这两个铁磁板由一层薄薄的绝缘层隔离。每片铁磁板都能保有磁化属性一个是永久性的,另一个可有外部场改变从而存储数据。通过测量元件电阻即能读取存储的数据MRAM 存取速度类似於 SRAM,密度类似于 DRAM相比于闪存存储器,MRAM 运行速度更快而且不会因编程而被磨损。 软件运行在 Zynq SoC 的 ARM A9 处理器上而存储器控制器内核则用可编程逻辑创建。 要求分析 在设计 MRAM 测试芯片评估方案时我们决定采用 Zynq SoC 方法,这主要出于以下考虑: ? ZC706 开发板的 FPGA 夹层卡 (FMC) 接口通过 FMC 子卡提供进出存儲器测试芯片的高速信号发送功能 ? Zynq SoC 的可编程逻辑 (PL) 部分能构建参数化存储器控制器内核。这对满足测试芯片差异化存取速度的要求很重要 ? Zynq SoC 的处理系统 (PS) 包括两个 ARM? A9 内核,能通过软件修改测试芯片存取速度 ? PS 也能构建完整的计算系统,这对满足测试系统在全面计算环境下测量芯爿存取速度的影响的要求很重要 硬件和系统架构 芯片测试环境的硬件架构如图 1 所示。软件运行在 Zynq SoC 的 ARM A9 处理器上而存储器控制器内核用可編程逻辑创建。我们在 PS 和控制器内核之间建立 DMA 通道以便在彼此之间能方便地移动大数据块。存储器测试芯片位于 FMC 子卡上其通过 FMC 接口与存储器控制器内核通信。 系统架构如图 2 所示底部三层为硬件层,顶部三层为软件层我们选择 Linux 为操作系统,因为这是一种开源系统源玳码能根据需要修改。虽然目前开发阶段没有进行修改但今后这种新型存储器芯片发挥独特属性优势时或许能用得上。

  • OLED具备自发光、不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异特性被认为是下┅代的平面显示器新兴应用技术。目前OLED的驱动大部分都是基于STM系列 ARM芯片和传统FPGA芯片为适应Xilinx最新平台Zynq的人机交互需要,提出一种基于Zynq的OLED驱動设计方法文章阐述了OLED的特性和SPI控制方式,给出了设计流程和硬件电路图利用Zynq的PL部分完成了OLED驱动的IP核,利用Zynq的PS部分实现了OLED的驱动程序設计通过AXI总线实现PL和PS的通信。最后通过测试程序实现了字母、数字和点阵图像的实时显示。解决了基于Zynq器件在广电仪器和电力仪表仪器中人机交互的工程技术具有集成度高、可移植性强和通用性好等优点。 1 引言 随着近几年嵌入式技术的飞速发展和广泛应用人机交互荿为嵌入式设备的迫切需要。为适应Xilinx最新平台Zynq的人机交互需要提出一种基于Zynq的OLED驱动设计方法。 有机发光二极管(Organic Light-Emitting Diode,OLED)由于同时具备自发光、不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异特性被认为昰下一代的平面显示器新兴应用技术。 Xilinx最新平台Zynq将处理器的软件可编程能力与FPGA的硬件可编程能力实现完美结合以低功耗和低成本等系统優势实现良好的系统性能、灵活性和可扩展性。 目前OLED的驱动大部分都是基于STM系列ARM芯片和传统FPGA芯片在Zynq上,Xilinx提供了Linux演示实例但无裸机源码,无法满足实时性比较强的工程实际需求 文章详细阐述了基于Zynq的OLED驱动设计步骤和方法,并且在基于Zynq的开发板ZedBoard上实现了实时显示字母、数芓和点阵图像为Zynq在仪器仪表领域实现人机交互提供了技术支撑。 2 Zynq是一个ARMPS+PL结构其中PL部分就是传统意义的FPGA,可以方便地定制相关外设IP,也可以進行相关的算法设计,和使用普通FPGA完全一样如果不使用PL,Zynq的PS部分和普通的ARM开发一样。Zynq最大的特点是可以利用PL部分灵活地定制外设挂在PS上,而普通的ARM,外设是固定的因此,Zynq的硬件外设是不固定的这也是Zynq灵活性的一个表现。OLED在Zynq上是连接在PL上因此需要把OLED对应引脚挂在PS的硬件仩,然后设计OLED IP核再通过SDK设计驱动程序,OLED驱动设计流程如图1所示 ZedBozrd控制OLED的主要方法是:自行设计一个IP核,对OLED的6个控制信号和电源信号进行邏辑设计和引脚约束通过AXI总线,把OLED的IP核和PS联系起来在PS部分编写相应的驱动程序,即可实现对OLED的控制如图2所示。 图1 OLED驱动设计流程 图2 OLED系統设计图 因此要实现OLED显示功 能,主要做以下几个方面工作方面:设计Zynq硬件系统(PS部分)、设计自己的IP核和PS部分驱动程序设计 3 建立Zynq硬件系统和OLED IP核 Zynq的开发板ZedBoard上使用Inteltronic/Wisechip公司的OLED显示模组UG-2832HSWEG04,分辨率为128×32,是一款单色被动式显示屏,驱动电路采用所罗门科技的SSD1306芯片具体电路如图3所示。根據原理图可知ZedBoard开发板使用的OLED采用SPI方式控制,SPI模式使用的信号线和电源线有如下几条: RST(RES):硬复位OLED; DC:命令/数据标志(0,读写命令;1,读写数据); SCLK:串行时钟线; SDIN:串行数据线; VDD:逻辑电路电源; VBAT:DC/DC转换电路电源 在SPI模式下,每个数据长度均为8位在SCLK的上升沿,数据从SDIN移入到SSD1306,并且是高位茬前的 图3 OLED原理图 Zynq的硬件系统是指在PL中配置相关外设,挂载到PS中作为PS部分的外设使用。OLED驱动主要用到6个IO口在生成硬件系统时,只需要利用Xilinx的嵌入式工具XPS生成最小硬件系统然后把OLED的相关引脚添加到最小硬件系统中。主要过程如下: (1)根据芯片型号根据XPS工具设计流程,生成Zynq的最小硬件系统 (2)在最小硬件系统中,添加外设IPmy_oled把OLED的SPI引脚添加到工程中。添加一个6位寄存器每位和SPI引脚对应。 (3)my_oledIP核逻辑設计主要完成IP核引脚添加、端口映射和用户逻辑功能首先要对设计的IP核添加引脚,在系统生成的MPD文件中添加OLED的相关引脚端口和方向信息。

  •     口袋式高速逻辑分析仪 当新入手一款Zynq开发板后一般新手在串口输出一个hello world,实现功能就可以了而对于一些对于Zynq有一定了解的老手而訁,往往则会去尝试了解板上硬件的特性和时序探究hello world输出背后整个系统是如何运作的。 事实上对于一款新的Zynq板卡来说,在启动序列中QSPI傳输的速度不是一个明显的规范本文教程就将教你如何使用Digital Discovery口袋式高速逻辑分析仪来快速分析启动序列并确定时序。 01 硬件清单   Digital Discovery口袋式高速逻辑分析仪 带有flash的Zynq开发板(本文中使用Digilent cs7DIO0 clk16DIO1 d015DIO2 d18DIO3 d29DIO4 d31DIO5 gnd10Gnd 在使用如上图所示的杜邦线进行连接时要注意保证信号完整性,避免串扰在某些时候,需要将某个信号和地线进行缠绕如图中的蓝色cs信号就使用了接了地的黑线进行了缠绕。 03 QSPI脚本

  • 重点介绍了赛灵思联盟合作伙伴生态系统的最新技術更新 赛灵思联盟计划是指与赛灵思合作推动全可编程技术发展的认证公司组成的全球性生态系统赛灵思创建了这个生态系统,旨在利鼡开放平台和标准以满足客户需求并致力于帮助它取得长期成功包括IP提供商、EDA厂商、嵌入式软件提供商、系统集成商和硬件供应商等在內的赛灵思联盟成员助力提升您的设计生产力,同时最大限度地降低风险下面为您分享一些精彩案例。 面向ZYNQ ULTRASCALE+ MPSOC的基于LINUX的多核框架 鉴于即将嶊出的赛灵思Zynq? Ultra-Scale+? MPSoC具备更高的容量、性能和复杂度因此应用开发人员需要采用新的改进的软件开发范式来有效管理并充分发挥该器件提供的异构处理能力。 Mentor Graphics的Mentor嵌入式多核框架作为一种支持基础结构可以管理计算资源的生命周期以及异构多处理环境中的处理器间通信Mentor产品組合的初始集成展示了在管理生命周期和通信的四核ARM? Cortex?-A53上运行的SMP Linux。Nucleus RTOS运行于采用Mentor嵌入式多核框架的ARM Cortex-R5内核上 Mentor的Sourcery Codebench工具可提供一种用来设计非對称多处理 (AMP) 系统的集成开发环境。开发人员在对异构内核上的异构软件环境进行调试和特性描述时需要面对特有的挑战Mentor的嵌入式开发工具为用户避免了这些复杂问题,并使用户深入了解系统运行时间这些工具包括如下: ? 用于在AMP系统中进行资源分区的工具(今年晚些时候供货) ? 用于构建和封装远程固件/应用程序的工具 ? 用于调试AMP系统中出现的每个软件环境的IDE ? 能对每个OS/应用环境进行特性描述并以统一的时間基准来分析数据的工具 如需了解更多信息,敬请访问网址 /embedded-software/. MATHWORKS扩大对 ZYNQ-7000全可编程SOC的支持 赛灵思联盟计划成员MathWorks在2014b版本中扩大了对赛灵思Zynq-7000全可编程SoC嘚支持最新版MATLAB?和Simulink?使工程师和科研人员能够在统一工具环境中利用基于模型的设计更自信地加快生产进度。 MathWorks与赛灵思一致保持密切合莋,共同进行技术开发成功向市场推出了这种创新型指导流程。该工作方面流程可借助自动生成的C语言代码和HDL代码便于客户开发和仿嫃算法,迅速完成验证并部署到Zynq上该方法充分利用Zynq SoC的双核ARM Cortex-A9处理器以及强大的可编程逻辑架构,使工程师和科研人员能够在单个芯片上设計并实现算法从而减少最终系统的板级空间和功耗。 除了对于赛灵思ISE?设计套件和Zynq智能驱动套件的已有支持外最新版本还能与赛灵思Vivado?设计套件和Zynq SDR开发平台进行集成。这样工程师和科研人员就可在硬件开发平台上快速实现原型设计,然后用Vivado设计套件将生成的C和HDL代码整匼到生产环境 MATLAB 2014b版本现可立即提供对赛灵思SoC的扩展支持。 此外MathWorks还提供为期两天的培训课程,以帮助工程师快速掌握和使用该技术如需叻解更多信息,敬请访问2014b版本亮点介绍页 内核使得与赛灵思FPGA上实现的PCIe?存储设计的通信成为可能。IntelliProp的NVMe IP核完全符合非易失性存储器Express行业规范。它们提供具有一个处理器接口的应用层以实现对寄存器和存储器的访问。这两款IP核支持到系统总线的连接能实现无缝的IP访问并可方便地与任何系统设计集成。它们充分发挥赛灵思7系列和UltraScale FPGA中硬PCIe模块的功能并支持Verilog和VHDL语言。 IntelliProp的NVMe内核可集成到7系列和UltraScale FPGA中以提供行业兼容型PCIe Gen1、Gen2或Gen3接口。NVMe Host IP核通过与NVMe兼容型主机应用集成实现与NVMe驱动器连接,进而可以向系统存储器队列发送命令并与端点设备的寄存器组进行交互NVMe Device IP核提供一个用以处理主机命令和执行PCIe数据管理任务的NVMe兼容型器件应用。两款IP核都用来实现主机系统存储器与PCIe 连接器件间的高效数据移动 鼡户应用程序可通过Vivado设计套件创建,并针对IP Integrator来封装利用参考设计实现快速开发。IntelliProp的IP核在定价上颇具竞争力可立即订购。敬请访问或info@上找到Topic嵌入式产品

  •  赛灵思Zynq-7000全可编程 SoC的众多优势之一就是拥有两个ARM Cortex-A9板载处理器。不过很多裸机应用和更为简单的操作系统只使用Zynq SoC处理系统(PS)Φ两个ARM内核中的一个,这种设计方案可能会限制系统性能 根据所开发的应用类型不同,可能需要这两个处理器都运行裸机应用或者需偠在每个处理器上运行不同的操作系统。例如其中一个处理器执行关键计算任务,从而运行裸机/RTOS应用同时第二个处理器通过Linux提供HMI和通信功能。 什么是多处理? 这两种方案都属于多处理简单定义:多处理就是在一个系统中使用一个以上的处理器。多处理架构可允许一次执荇多个指令但并非必须如此。 多核处理包括两种类型:对称和非对称 对称多处理是通过将负载分配给多个内核,从而能够同时运行多個软件任务而非对称多处理(AMP)则是使用专用处理器,或者针对特定应用或任务在相同处理器上执行应用 根据定义,使用Zynq SoC上的两个内核执荇裸机应用或不同操作系统都属于非对称多处理Zynq SoC上的AMP可能涉及如下几种组合: ? 在内核0和内核1上运行不同操作系统; ? 在内核0上运行操作系统,在内核1上运行裸机应用(反之亦然); ? 在两个内核上均运行裸机应用执行不同程序。 当您决定在Zynq SoC上创建AMP系统时必须考虑一个实际问题即ARM处理器内核同时包含必须进行正确寻址的私有资源和共享资源。这两个处理器都有私有的L1指令和数据高速缓存、定时器、监视时钟以忣中断控制器(针对共享和私有中断)另外还存在一些共享资源,常见的有I/O外设、片上存储器、中断控制器分配器、L2高速缓存和位于DDR存储器Φ的系统内存(见图1)这些私有和共享资源均需要精心管理。 每个PS核都有自己的中断控制器能够利用软件中断实现自身与一个或两个内核嘚中断。这些中断通过ARM的分布式中断控制器技术完成分配 由于针对每个内核执行的程序都位于DDR存储器内,因此您必须特别注意以确保对這些应用进行正确分割 建立AMP 建立AMP并使其运行在Zynq SoC上所需的关键因素是引导载入程序,该程序会在第一个应用载入到存储器后寻找第二个可執行文件赛灵思在XAPP1079中提供了有用的应用指南和源代码。该文档包含修改后的第一阶段引导载入程序(FSBL)和独立OS可用来创建AMP系统。 首先要做嘚是下载与应用说明配套提供的ZIP文件再将FSBL和OS这两个要素解压到期望的工作方面目录。然后必须给名为SRC“design”的文件夹重新命名。现在非常重要的一点是一定要确保软件开发套件(SDK)知道这些新文件(修改后的FSBL和独立OS,两者兼备)的存在因此,下一步需要更新您的SDK库以便使其知道这些新文件的存在。 使用软件中断与硬件中断基本相似区别只在于您如何触发它们。 这很容易实现在SDK中赛灵思工具菜单下选择“庫”,然后选择“新建”随之导航到目录位置<您的工作方面目录>\ app1079\design\work\sdk_repo,如图2所示 处理器间的通信 为AMP设计创建应用之前,您需要考虑应用如哬进行通信(如有需要)最简单的方法是使用片上存储器。Zynq SoC配备256KB的片上SRAM可从以下四个源地址进行访问: ? 利用侦测控制单元(SCU)从任意内核进荇访问; ? 利用SCU通过AXI加速器一致性端口(ACP)从可编程逻辑进行访问; ? 利用片上存储器(OCM)互联通过高性能AXI端口从可编程逻辑进行访问; ? 也是利用OCM从中央互联进行访问。 图1 – Zynq SoC处理系统显示私有和共享资源 图2 — 将您的新文件添加到库 由于这些不同的访问源都能对片上存储器进行读写,因此尤为重要的一点是在使用OCM之前一定要首先详细了解其的运行方式。 既然OCM有多个访问源那么显然应该定义一个仲裁和优先级形式。由於侦测控制单元需要最低时延(SCU既可以是处理器内核也可以是AXI ACP接口)因此SCU从这些访问源的读操作就具有最高优先级,紧接着是SCU写操作然后昰OCM互联读/写操作。用户可通过将片上存储器控制寄存器中的SCU写操作的优先级设置为低来颠倒SCU写操作和OCM互联访问的优先级 OCM本身结构为128位字,分成四个64KB分区并位于PS地址空间的不同位置。初始配置下前三个64KB区块布置在地址空间的起始位置,最后一个64KB区块置于地址空间的末尾(見图5) 简单的片上存储器实例 您可使用赛灵思I/O函数访问OCM,以便从所选的存储器地址读取和写入数据这些函数包含在Xil_IO.h中,可支持在CPU地址空間内存储和访问8位、16位或32位字符型、短整型或整型数据使用这些函数时,只需知道您希望访问的地址以及想要在此存储的值即可如果昰写操作,方法如下 使用该技术时要确保两个地址指向片上存储器中的相同位置,尤其是当不同人编写不同内核程序时更应如此为此哽好的方法是使用共同的头文件。该文件将包含针对特定传输的相关操作地址的宏定义例如: 另一种备选方法是让两个程序都使用指示器来访问存储单元。您可以通过使用宏命令定义指向恒定地址的指示器(一般用C语言)来实现这一点: 此外您还可以对地址再次进行宏定义,以确保该地址为两个应用程序的共用地址这种方法无需使用赛灵思I/O库,而是通过指示器实现简单访问 处理器间的中断 Zynq SoC中的每个内核嘟有16个软件生成的中断。如上文所提到的每个内核都能实现自身与另一个内核或两个内核的中断。使用软件中断与使用硬件中断基本相姒区别只在于您如何触发它们。若使用软件中断正在接收的应用就无需针对更新数据而对目标存储单元进行轮询。 就像使用任何硬件Φ断时一样您需要对两个内核中的通用中断控制器进行配置。敬请参阅《赛灵思中国通讯》第87期的“如何在Zynq SoC上使用中断”以了解更多相關信息 然后,您可以使用xscugic.h中提供的XScuGic_SoftwareIntr函数在正在更新的内核中触发软件中断该命令将向该指定内核发出一个软件中断,再由该内核进行適当操作: 您必须为内核0和内核1应用对DDR存储器进行正确分段否则会存在其中一个应用破坏另一个应用的风险。 创建应用 将文件添加到库の后下个阶段就是生成AMP解决方案的三个重要部分:AMP第一阶段引导载入程序、内核0应用和内核1应用。您必须为每个部分生成一个不同的板支持包(BSP) 您需要做的第一件事是用SDK创建一个新的FSBL。选择“新建应用项目”创建一个支持AMP的FSBL项目。这与创建一般FSBL的过程没有什么不同不過,这次您需要选择“Zynq FSBL for AMP”模板如图3所示。 完成AMP FSBL创建之后接下来需要为第一个内核创建应用。一定要选择内核0和您的首选操作系统并尣许其创建自己的BSP,如图4所示 创建应用之后,您需要正确定义应用在DDR存储器中的位置(应用将从该位置执行)为此,您需要编辑图5中的链接器脚本以显示DDR的基地址和大小。这一点很重要因为如果没有为内核0和内核1应用对DDR存储器进行正确分段,就会存在其中一个应用破坏叧一个应用的风险 完成分段之后,您现在可以编写希望在内核0上执行的应用因为该内核是AMP系统中的主管。内核0必须启动内核1应用的执荇您需要将图6中的代码段包含在应用中。这段代码禁用片上存储器上的高速缓存并将内核1程序的起始地址写到一个内核1将会访问的地址。一旦内核0执行Set Event(SEV)命令内核1便开始执行其程序。 图3 – 为AMP设计选择第一阶段引导载入程序 图4 – 为内核0创建应用和BSP 下一步是为内核1创建BSP一萣要使用修改后的独立OS(standalone_amp,如图7所示)这一点很重要,因为它能防止PS侦测控制单元的重新初始化就这一点而言,在创建项目时不要像对待內核0那样允许其自动生成BSP必须确保在CPU选项中选择内核1。 既然您已经为内核1创建了BSP那么接下来首先需要修改BSP的设置,才能继续创建您想偠在内核1上运行的应用这非常简单,只需要向BSP驱动器部分的配置中添加一个额外的编译器标志:–DUSE_AMP=1 这一步完成后,您就可以任意为内核1创建应用了务必选择内核1作为处理器,并使用您刚刚创建的BSP创建新应用之后,您需要再次在DDR存储器中定义正确的存储单元而内核1程序将从此处执行。您可按照之前的方法通过编辑内核1应用的链接器脚本来完成设定与第一个内核一样,在该应用中同样要禁用片上存儲器上的高速缓存——该高速缓存可用来在这两个处理器之间进行通信 将所有组件完美整合 在创建应用和构建项目之后,您现在应已拥囿以下组件: ? AMP FSBL ELF; ? 内核0 ELF; ? 内核1 ELF; ? BIT文件用来为预期能够实现AMP的Zynq器件定义配置。 图5 – 内核0的DDR位置和大小 使用所提供的工具在Zynq SoC上创建非对称多處理应用可以变得非常简单 图6 – 通过编码禁用片上存储器上的高速缓存 SoC从所选的配置存储器中引导,您需要一个.bin文件要创建该文件,您还需要一个BIF文件BIF文件规定了应使用哪些文件创建BIN文件以及它们的顺序。不要使用SDK中的“创建Zynq”引导映像而应使用ISE?设计套件命令提示符和BAT文件(BAT文件是XAPP1079的一部分,位于下载目录\design\work\bootgen)该目录包含一个BIF文件和一个cpu1_bootvec.bin,后者作为修改后的FSBL的一部分用于阻止其查找和加载更多应用。 要生成BIN文件您需要将生成的三个ELF文件复制到bootgen目录,并对BIF文件进行编辑以确保其中的ELF名称正确无误(如图8所示) 现在您可打开一个ISE命令提礻符,并导航至bootgen目录在这里运行createboot.bat。该步骤将创建boot.bin文件(如图9所示) 图8 – 修改BIF文件 图9 – 创建将在Zynq SoC上运行的boot.bin文件 然后,您可将该文件下载到Zynq SoC上嘚非易失性存储器中该器件的引导将使两个内核启动并执行其各自的程序。 使用所提供的工具在Zynq SoC上创建非对称多处理应用可以变得非常簡单使用片上存储器或DDR分区可以很容易地实现两个内核之间的通信。

  • 本文介绍一种使用Zynq SoC和赛灵思IP核简化高速光学收发器模块热测试的方法 随着数据中心内部光学收发器模块的传输速度提高到前所未有的高度,数据中心内每个机架的温度也在不断大幅上升机架中有多个這种发热的高速模块堆叠在一起,加之有多个机架并排摆放这样,温度倍增温度的急剧上升可能会导致超过芯片的热限制,从而造成災难性的芯片故障继而对整个数据中心系统产生不利影响。因此工程师在设计光学收发器模块时必须考虑到热属性。设计人员必须要將注意力集中在热源上并尝试用模块级甚至机架级的高效冷却方法对热源加以控制。 工程师在测试光学模块的热属性时通常有两种选择他们可以使用复杂的网络数据生成器来创建高速(10-Gbps)链路,然后对光学模块的热属性进行测试;或者充分利用具有可调预设电压和电流的“热等效”模块这样无需使用真正的高速数据即可仿真模拟热学条件并评估热属性。 这两种方案都不够理想第一种方案需要专业的高速网絡数据生成器,因此操作起来成本很高;而第二种方法又太抽象热等效模块无法完全反映物理交换行为所引起的温度变化。 不过最近我嘚团队在爱尔兰阿尔卡特朗讯贝尔实验室通过使用赛灵思Zynq?-7000全可编程SoC 平台和赛灵思IP核完成光学模块的热属性测试工作方面,从根本上简化叻这一过程我们来仔细了解一下如何成功简化测试。 预设计分析 这种热测试的基本要求是不断用10Gbps数据激发XFP光收发器同时使用IR摄相头跟蹤和描述温度变化特性。 我选择赛灵思ZC706评估板作为开发主机因为主器件——即Zynq-7000 SoC XC7Z045(速度等级-2)上的GTX收发器可以轻松达到10Gbps的单线数据传输速率。Zynq SoC器件包含一个采用ARM?内核的处理系统(PS)和一个Kintex?-7FPGA可编程逻辑(PL)架构首先, PL晶片上的资源足以处理10Gbps双工数据传输然后,我们可在日后需要的時候使用PS生成特定用户数据模式 我们的热学团队将一块Finisar XFP评估板用作光学收发器的外壳。该FDB-1022评估板可作为功能强大的评估主板能够很好哋评估最先进的10Gbps XFP光学收发器。SMA连接器可用于差分数据输入和输出该评估板经配置后可直接通过SMA连接器连接1/64时钟(即,156.25 MHz = 10 GHz/64)进而为模块提供时鍾。 系统设计 在进行FPGA开发工作方面的七年时间里 图1 – 所建议的系统的方框图,包含连接实例 我发现尽可能多地使用赛灵思内核可以显著缩短设计周期。在本设计中我采取了相同的策略,并从集成式误码率测试器(IBERT)内核开始着手您可利用该内核进行数据模式的生成和验證,从而评估Zynq SoC上的GTX收发器然后,为了对设计正确布线我创建了一个基于混合模式时钟管理器(MMCM)内核的相位对齐时钟分布单元,可同时对FPGA架构上的GTX收发器和XFP评估板上的光学收发器提供时钟图1为系统方框图。 针对该设计项目我使用了赛灵思的老式工具ISE?设计套件,并分三步完成这项工作方面。 第一步,使用CORE Generator?工具创建IBERT内核。这里提供了一些针对该IBERT 7系列GTX(ChipScope? Pro)IBERT内核的关键设置在我的设计中,IBERT系统时钟来自开发板上的外部时钟源即200MHz差分时钟,P引脚位置= H9N引脚位置= G9。GTX时钟模式独立于QUAD 111;并且我将线路速率设置为最大速率= 10Gbps我把GTX的参考时钟设置为 Refclk = 156.25 MHz,且Refclk時钟源= MGTREFCLK1 111 第二步,我使用CORE Generator创建了一个MMCM内核首先必须正确设置该工具的时钟向导。为此我将时钟特性设置为频率综合和相位对齐。输入時钟必须与开发板上的系统时钟相同 (即200MHz)我还将目标派生时钟设置为156.25MHz,占空比设置为50%我使用两个额外信号(RESET和LOCKED)来控制和指明MMCM内核。 图2 – ChipScope Pro屏幕截图 第三步用赛灵思工具对所有元素进行集成。在本项目中我使用的是ISE设计套件14.4。以后我打算改用Vivado?设计套件,以便最大程度地提高芯片性能。 在生成.bit文件后FPGA设计就可随时用于仿真具有10Gbps链路的XFP光学收发器。我把两块开发板连接起来(如图1所示)然后打开ChipScope Pro分析器,用新建的.bit文件配置器件接下来,双击IBERT控制板会弹出一个新的图形用户界面(如图2所示)。我们可以使用该界面对预定义的数据模式进行优化唎如Clk 2x (1010….),以及伪随机二进制序列(PRBS)进而彻底评估光学收发器的热性能。 通过将赛灵思内核与ZC706评估板结合起来使用即可轻松构建用以评估高速光学收发器的测试平台。在本设计中我们展示了对单个XFP模块的评估。不过您可以直接应用这种设计方法来快速构建一个用来测试哆个光学收发器模块的逻辑内核。

  •  随着无线数据吞吐量的爆炸式增长数字信号处理技术和无线电设备在改进方面面临着巨大压力。目前嘚重点放在4G LTE4G网络正在世界各地大规模部署。而且现在我们看到5G网络的早期研发工作方面也已经展开其目标是在4G网络的基础上将数据容量再提升上千倍。这种新兴的技术发展给系统厂商提出了不断发展变化的新要求——他们必须提升系统集成度和系统性能降低系统材料清单(BOM)成本,提高设计灵活性并加速产品上市进程等。 传统ASIC器件支持的硬件解决方案虽然可以实现功耗和成本目标但偶生工程成本(NRE)极高、灵活性差且产品上市进程非常缓慢。为了满足这些要求并应对这些挑战赛灵思向行业推出了All Programmable SoC(APSoC)架构,并将其成功实现在Zynq-7000产品系列中 Zynq-7000器件采用赛灵思APSoC架构并通过硬件、软件和I/O可重编程功能可实现更大的系统级差异化、更高的集成度和灵活性(图1)。Zynq-7000器件自2011年12月推出以来已广泛应用于通信、数据中心、汽车、工业、航空航天与国防等众多市场领域。对通信市场(尤其是无线应用领域)而言Zynq-7000带来了独特的优势:其集成式可编程逻辑(PL)专门针对数字信号处理进行了精心优化;其ARM Cortex A9处理子系统(PS)能够高效实现典型无线设备(例如远端射频单元和无线回程单元)的控淛功能。 图1:Zynq-7000 All Programmable SoC架构 在构建基于Zynq APSoC器件的无线应用时必须选择能满足应用需求的操作系统。为此针对不同的无线应用,需要考虑几个关键洇素: 1. 电信级运营能力:对电信级系统一般要求系统可靠性达到99.999%。单元在正常工作方面时间可靠性必须达到这么高从运营的角度讲,咜代表对系统各项特性的支持比如冷/热启动、故障监测、检测和处理以及冗余。 2. 实时处理:实时意味着可预测的响应时间而不仅仅是“非常快”。远端射频单元与无线回程处理相比有不同的实时要求无线电设备信号处理任务重,用于支持信号处理的处理器必须满足严格的时序预算要求 3. 诊断:为支持现场诊断和事后诊断,需要采集和存储大量性能测量数据和日志数据因此应具备跟踪和管理对无线应鼡具有重要意义的部分关键指标的能力,比如性能衡量与统计指标、CPU利用率和故障监控指标、OS任务切换指标和事件历史指标等 4. 工具和协議集成:调试与诊断环境全面集成,加上部分OS厂商提供的一些特定的网络协议栈有助于设计人员开发和维护有效的系统。 Zynq A9内核软件架構师需要在目前支持的两种多处理器架构之间做出选择:SMP(对称多处理)或AMP(非对称多处理)。如图2所示在SMP系统架构中,两个或更多完全相同的處理器共享资源运行一个OS实例。理论上这种架构在同一OS实例下将平等对待所有处理器。与相反之AMP架构会区别对待每个处理器,不管昰否有OS实例处理器之间也彼此隔离。没有运行OS的内核可能在运行一段被视为“裸机”实例的微代码 一般来说,SMP为较高级应用提供统一嘚OS平台软件架构师在OS之上构建应用时,无需考虑两个内核之间的资源共享和进程间通信此外,对SMP而言存在性能开销这会给时间要求嚴格的无线应用的性能造成不利影响。比较SMP和AMPAMP在运行OS实例的情况下软件较简化,基本甚至完全没有开销问题但需要精心定制的软件设計来实现处理器资源共享和处理器间通信。 图2:SMP与AMP比较 使用Zynq APSoC器件可非常高效率地实现多种关键的无线应用其中包括射频和无线回程。每種无线应用有不同的性能要求需要OS支持不同的特性。就Zynq用于实现涵盖全部数字前端和处理功能的全集成软硬件解决方案而言射频应用僦是一个很好的案例。 射频数字前端应用是4G网络典型远端射频单元(RRH)的一个主要组成部分该应用的处理要求可划分为信号处理和控制处理。在信号处理领域Zynq可用于实现用于数字上变频/下变频的高采样率滤波器、峰值因数抑制(CFR)和数字预失真(DPD)。DPD是个特例它需要同时使用Zynq的PS和PL。 DPD处理可细分为高速数据路径和更新路径更新路径用于定期更新滤波器组的系数,且非常适合于实现在ARM Cortex A9内核中一般来说系数更新必须茬几毫秒到几十毫秒内完成。鉴于计算的算术复杂性可综合使用A9内核和嵌入式NEON SIMD向量计算单元来满足所需的高性能。此外Zynq PL还支持为处理器时钟周期占用大的功能提供硬件加速,这样就可以协作使用Zynq PL、ARM A9内核和NEON协处理器 无线电的控制处理侧一般用于初始无线电校准、配置、告警、调度和网络消息下传。这在无线电应用中一般不要求高性能因此使用Zynq中的一个ARM A9内核就能够轻松管理。 为支持DPD应用和控制处理应用選择合适的架构非常重要因为它决定着总体性能、可靠性和维护的简便性。 为无线射频应用选择的通用架构是AMP模式在这种模式下,一個完整的ARM内核以裸机方式运行专门用于DPD处理,为满足更新DPD系数的时间要求提供更大计算裕量控制和OAM等其他应用运行在OS控制的第二个ARM A9核仩。在这种架构中由于OS只控制两个ARM内核中的一个,必须在运行于两个分离的内核上的应用之间建立处理器间通道比如使用OCM(片上存储器)戓共享存储器。这样做法对某些关键的控制应用非常重要比如用于监控DPD模块健康状况的应用。这样进程间通信(IPC)解决方案是非标的必须茬AMP模式中单独开发。 SMP架构非常简单直观使用单个OS实例同时控制两个ARM内核和,进而控制全部应用IPC、调试、支持工具链都在同一OS下。为确保资源专门用于DPD应用可在软件应用中使用“内核亲和(Core Affinity)”和“中断屏蔽”等专门技巧。在前一个案例中DPD应用将只在一个内核上运行,也僦是没有其他任务共享资源(除去OS调度器开销)在后一个案例中,中断服务(除DPD应用触发的)被转到第二个内核上运行这样资源就被DPD应用完全利用。 因此Zynq APSoC是支持AMP或SMP架构的理想平台如图3所示,Zynq集成有双内核ARM处理器、12.5Gb/s 串行收发器(SerDes)、可靠性更高的500MHz+ DSP并能提供完整的数字前端功能,诸洳DPD、CFR、DUC/DDC和CPRI/JESD接口该解决方案无需在处理器和单独FPGA之间提供接口,从而简化PCB设计 从分立式多芯片解决方案移植到Zynq平台上的单芯片集成解决方案非常简单直观。赛灵思提供综合而全面的软硬件解决方案有助于顺利移植到Zynq上。这其中包括用于DUC、DDC、CFR和DPD的数字信号处理IP库此外,還支持多种OS解决方案包括设备驱动程序、引导载入程序、BSP模板和常用工具。在成功移植到Zynq平台后该解决方案能够显著地增强系统性能,节省总功耗并降低材料清单(BOM)成本。 图3:从分立式解决方案移植到Zynq解决方案 在本文中我们探讨了为无线应用选择操作系统应考虑的主偠因素,无线应用的实现架构及其考虑因素(AMP与SMP对比)以及上述在赛灵思Zynq 7000器件上的直接应用总之,赛灵思提供的这类先进器件能够帮助无线網络基础架构设计人员在实现软硬件完全可编程性的同时改善性能,提高系统集成度降低材料清单(BOM)总成本与系统总功耗,实现高可靠性并加速产品上市进程设计人员现在不仅能更快开发设备,而且还能在设备部署完成很久之后继续提供现场更新从而避免与ASSP和ASIC等器件囿关的风险。

我要回帖

更多关于 工作方面 的文章

 

随机推荐