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

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

3天内不再提示

基于FPGA的32位嵌入式处理器的解决方案

电子设计 来源:郭婷 作者:电子设计 2019-01-07 08:50 次阅读

嵌入式系统与桌面PC结构非常不同,但其底层技术发展却是一样的,而且遵循着类似发展趋势。当桌面PC转向64位架构来满足不断增长的存储器要求时,嵌入式系统也由于同样的原因快速转向32位处理器。桌面/服务器计算市场主要是围绕x86架构,大多数创新和差异都在系统级,如双核、四核或多核中央处理架构、集成图像处理器单元和存储器控制器等等。同样,嵌入式系统则主要围绕简单的32位RISC处理器,多核架构、集成外设以及可配置处理等系统级发展,使得设计人员能够快速适应不断变化的应用要求。根据iSuppli的研究报告,2007年32位微控制器(MCU)市场将超过8位MCU市场。如图1所示,32位MCU市场的增长速度超过了半导体市场其它部分的增长速度,而8位MCU市场的份额过去几年时间里则有所下降。

这一趋势的主要推动力是嵌入式系统中软件内容和复杂性的不断增加,因此直接产生的后果是需要更宽的存储器总线(32位)来满足软件程序所使用的代码和数据要求。与传统微处理器不同,32位处理器不需要分段等存储器管理技巧就可以处理更大的存储器空间,因此使编程更容易。8位MCU必须采用难学难用的汇编语言来满足小存储器空间限制(少于32K字节),而许多32位嵌入式应用则可以利用C/C++来编程,从而提高了嵌入式软件开发人员生产力。更为重要的是,越来越多的操作系统(实时和非实时)都提供现成的驱动程序和软件库,从而使软件开发人员能够集中于应用本身的开发。

集成降低成本

在摩尔定律的指引下,越来越细的硅工艺线宽使得32位嵌入式解决方案的成本不断降低,从而可以满足更多的应用对价格的要求。此外,集成外设和片上存储器进一步降低了元器件和总体材料清单成本。通过集成针对手机和游戏机等垂直应用而优化的外设,许多器件的价格大大降低,直接推动了市场增长。

价格压力还导致只能在这些系统中集成一组固定的外设,因此通常的外设组合是面向大批量应用的。然而,不可能有适用于所有应用的万能器件,因此许多小批量、中等规模甚至大批量应用都无法直接利用成品集成解决方案。其结果是设计人员必须采用额外的芯片来扩展外设、分流处理器的负担,或增加胶合逻辑。这也是可配置处理解决方案产生的原因。

可配置32位处理

根据Gartner Dataquest的报告,如图2所示,基于FPGA嵌入式处理方案的应用正在增长,到2010年,约40%的FPGA设计将包括嵌入式处理器。因为能够定制满足特定应用或产品的要求,嵌入系统设计人员正在越来越多地采用基于FPGA的可配置处理解决方案。这一方法的主要优点是可通过集成降低成本,同时还可实现产品在市场上的差异化。

通过选择同一FPGA系列中的不同器件,或者将设计重新适配到新的FPGA器件中,能够针对更高性能、更低成本、或者不同的I/O标准进行个性设计。这样可以降低设计过时的风险,从而保证设计是未来可用的。对于必须有长使用寿命的产品(如汽车或工业应用),这是特别关键的一个因素。

基于FPGA的32位嵌入式处理器的解决方案

图1:32位MCU市场的增长速度超过了其它类型的MCU的增长速度。

可配置处理系统的配置(或定制)的层面包括:

处理器配置

1. 乘法器、除法器、浮点单元以及其它。

2. 指令或数据缓冲配置。

3. 协处理器或硬件加速器。

系统配置

1. I/O外设选择、定制、DMA选择。

2. 存储器外设选择、定制。

应用配置

1. RTOS选择、定制。

2. 应用库/中间件定制。

许多产品都包括需要某种形式网络通信接口的嵌入式系统。由于以太网成本低、几乎无处不在,并且可以利用TCP/IP等互联网协议连接互联网,因此以太网是目前在嵌入式产品中应用最广泛的网络接口之一。根据目标应用的不同,网络子系统的要求变化也相当大。简单的远程控制和监控应用只需要每秒数千比特的传输能力,而高端存储或视频应用则需要持续的千兆比特级的吞吐能力。

为简单起见,我们将使用TCP载荷吞吐能力做为性能比较的主要指标。表1列出了一些典型应用以及相应的TCP/IP载荷吞吐能力要求。

基于FPGA的32位嵌入式处理器的解决方案

表一:不同应用的网络吞吐量要求

可配置的嵌入式网络

基于FPGA的处理解决方案提供的强大灵活性允许您根据需要开启或禁止处理器、IP内核以及软件平台的高级功能,并且可以对许多独立参数进行精细调整,直到在软件一级满足应用的要求。此外,利用建模工具可以识别任何性能关键的软件功能并将其分流至适当的硬件加速器或协处理器来完成。

让我们来分别看一下可利用IP内核满足典型应用性能要求的三种以太网子系统的例子。每种设计具有不同的系统架构:包括处理器配置、以太网 MAC IP配置以及存储器接口。此外,这些例子还突出了可与这些硬件子系统配合使用的不同TCP/IP软件协议栈。由于硬件构建模块和软件层都是可定制的,因此您可以根据应用的需要对这些系统进行增减。

简化以太网子系统

对于远程监视或控制应用中所需要的简单网络接口来说,如图3所示的最小化网络子系统就足够了。在此类应用中,TCP/IP性能要求较低(<1Mbps),因此LwIP(简化版互联网协议栈)这样的小TCP/IP协议栈(不需要RTOS实时操作系统)就足够了。

基于FPGA的32位嵌入式处理器的解决方案

图3:规模最小的以太网系统。

这可以使用不间断的以太网Lite IP在简单的查询模式下实现。全部软件,包括简单的应用层,可全部存储在FPGA中的本地存储器中。如图3中所示,其它需要的I/O接口,RS-232 UART和GPIO,可以增加到基本子系统中。

基于FPGA的32位嵌入式处理器的解决方案

图4:典型的10/100以太网系统架构。

通过对图3中的最小系统做一定的修改,可以实现更高TCP/IP吞吐能力(10-50Mbps),并转向如图4所示的更为典型的10/100以太网解决方案。主要的变化有:

1. 为以太网MAC增加直接存储器访问(DMA)引擎,实现中断驱动;

2. 为系统增加外部存储器,为处理器增加缓存;

3. 更复杂的TCP/IP栈,如Linux(Clinux)系统TCP/IP协议栈。

对于需要100Mbps以上TCP/IP吞吐能力的应用,可以考虑硬IP或软IP内核方式提供的三模式以太网MAC(图5)。为获得高端应用所需要的500Mbps以上的吞吐能力,需要像分散/汇聚DMA(SGDMA)等高级DMA技术,以及包括数据重排引擎(DRE)和校验和卸载 (CSO)等FPGA硬件加速器技术。

为满足千兆以太网对更高数据吞吐率的需求,可能需要更高性能的嵌入式(硬)处理器或FPGA上实现的可定制软处理器,以及更大的缓冲容量、如16Kbit指令和数据缓存。就软件平台来说,Linux、VxWorks、Integrity和QNX等软件平台中的高级TCP/IP栈支持诸如零拷贝和校验和旁路等功能。

包括硬件和软件在内的许多因素都会影响到TCP性能,并进而影响系统TCP吞吐能力。这些因素包括:

1. 处理器,包括频率、功能和缓存

a. 频率:TCP/IP协议通常需要将载荷从用户缓存拷贝到协议栈控制的缓存,然后再将其拷贝到以太网MAC的FIFO中去。这些存储器拷贝操作有些是以软件方式完成的,因此需要处理器的处理周期。同时处理器还参与TCP校验和的计算,计算过程中需要将整个数据包从存储器读出。更快的处理器配合更快的存储器能在更短的时间内完成这些操作,从而可以保持较高的数据速率;

b. 功能:TCP/IP协议栈需要对数据包的包头和载荷进行访问处理。做为包头处理的一部分,典型的访问包括读取包头信息的特定位。因此每个数据包的处理过程都需要相当多的移位操作。此外在处理每个数据包时都需要进行乘法操作。在可配置的处理器中,必须开启完成移位或乘法的指令才能获得更高的性能;

c. 缓存:数据包从以太网MAC被拷贝到存储器中之后,将会通过TCP/IP协议栈的不同层。然后TCP/IP栈中的数据包处理代码会被执行。将所有代码和数据包读到缓存中会大大提高处理器效率并提高以太网带宽。

2. 存储器

存储器访问时间和延迟对于系统性能有巨大的影响。典型应用中,TCP/IP应用并不存储在本地存储器中,程序和数据存储在外部存储器中。存取数据和指令所花费的时间对于性能有很大影响。存储器因素通常与缓存大小有关。提高指令和数据缓存大小有助于减轻外部存储器延迟和存取时间所带来的影响。

3. 以太网MAC

在FPGA中实现的以太网MAC外设提供了很大的灵活性,特别是在工作模式(无DMA与SGDMA)、数据包FIFO深度、DRE支持、CSO支持以及超大帧支持方面。每一项都会影响到MAC所需要的资源,以及其能够从处理器分流的功能多少,从而对整体性能造成影响。

4. TCP/IP协议栈

灵活的优化TCP/IP协议栈是影响系统性能的重要因素。对硬件CSO和零拷贝API(数据不需要从应用拷贝到协议栈缓存)以及可配置栈选项等TCP/IP栈功能的支持可帮助提高系统性能。

5. 信息多少

信息(应用数据)的大小是影响性能的另一个因素。随着信息减少,TCP/IP协议头(如TCP、IP和以太网头)的开销增加,从而会减小总体的数据载荷吞吐能力。

大多数应用对于成本、性能和功能都有一组基本的需求。当为特定应用设计产品时,设计人员必须在这些需求之间进行正确的折衷,然而,为了适应市场条件,这些要求在产品生命周期内可能会发生变化。采用灵活可配置的平台能够在不改变设计平台或供应商的情况下根据需要对这些要求进行重新平衡。

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

    关注

    68

    文章

    18024

    浏览量

    221537
  • FPGA
    +关注

    关注

    1592

    文章

    21207

    浏览量

    592142
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286508
收藏 人收藏

    评论

    相关推荐

    嵌入式微处理器的原理和应用

    嵌入式微处理器是专为嵌入式系统设计的微处理器,它们是嵌入式系统的核心组件,负责执行程序指令、处理数据和控制其他硬件设备。与通用微
    的头像 发表于 03-28 15:51 92次阅读

    嵌入式微处理器的特点

    嵌入式微处理器具有一系列显著的特点,使其成为嵌入式系统中的核心组件。
    的头像 发表于 03-28 15:44 81次阅读

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案嵌入式系统是一种为特定应用而设
    的头像 发表于 03-15 14:29 153次阅读

    嵌入式处理器简介和种类

    嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位
    的头像 发表于 12-26 12:26 425次阅读

    低功耗嵌入式计算解决方案:选择处理器的几个关键因素

    在低功耗嵌入式计算解决方案(例如无风扇工业计算机)领域,理想的处理器应在性能、功效和与嵌入式系统特定要求的兼容性之间取得平衡。英特尔或AMD等领先的半导体公司将为高性能和低功耗
    的头像 发表于 12-04 16:45 179次阅读
    低功耗<b class='flag-5'>嵌入式</b>计算<b class='flag-5'>解决方案</b>:选择<b class='flag-5'>处理器</b>的几个关键因素

    AMD 推出 Ryzen 嵌入式 7000 系列处理器

    (超威,纳斯达克股票代码:AMD)今日在 2023 智能生产解决方案展( Smart Production Solutions 2023 )上宣布推出 AMD Ryzen(锐龙)嵌入式 7000 系列处理器
    的头像 发表于 11-15 09:10 287次阅读
    AMD 推出 Ryzen <b class='flag-5'>嵌入式</b> 7000 系列<b class='flag-5'>处理器</b>

    Arm编译嵌入式FuSa 6.16.2版LTS用户指南

    用于Embedded FUSA 6的ARM®编译是ARM为ARM®Cortex®和ARM®Neoverse®处理器提供的最先进的C和C++编译工具链。 嵌入式FUSA 6的ARM编译
    发表于 08-18 06:42

    ARM946E-S (Rev1)系统单片DSP增强处理器产品概述

    的可配置,允许您根据嵌入式应用程序定制硬件。这个ARM946E-S提供完整的高性能处理器解决方案在芯片复杂性和面积、芯片系统设计、电源方面节省了大量成本消费和上市时间
    发表于 08-08 07:33

    ARM946E-S (Rev0) 片上系统DSP增强处理器产品概述

    嵌入式应用程序定制硬件。ARM946E-S提供了一个完整的高性能处理器解决方案,在芯片复杂性和面积、芯片系统设计、功耗和上市时间方面都有相当大的节省。
    发表于 08-02 17:50

    嵌入式交叉触发技术参考手册

    ARM调试系统包含许多片上系统(SoC)外围设备 由ARM指定。示例系统可以由以下块组成: •嵌入式微量宏细胞(ETM) •嵌入式跟踪缓冲区(ETB) •嵌入式交叉触发(ECT) •
    发表于 08-02 11:49

    ARM7TDMI (Rev 3)核心处理器产品概述

    ARM7系列包括ARM7TDMI、ARM7TDMI-S、ARM720T和ARM7EJ-S处理器。ARM7TDMI内核是业界应用最广泛的32嵌入式risc微处理器
    发表于 08-02 10:25

    嵌入式处理器有哪些种类 目前主流的嵌入式处理器架构有哪些

     嵌入式处理器是专门设计用于嵌入式系统的微处理器,它们通常具有低功耗、小尺寸和多种集成功能的特点。以下是一些常见的嵌入式
    发表于 07-24 14:57 5705次阅读

    浅谈FPGA处理器技术的集成历史

    FPGA嵌入硬核处理器内核的早期尝试未能激发整个行业的兴趣或革新技术:太多,太快,也许。整个行业都回归到软核选项上,但很快就会发现嵌入式处理器
    发表于 04-25 09:55 179次阅读

    AMD 加强嵌入式产品组合,全新锐龙嵌入式 5000 系列处理器面向网络解决方案

    )今日宣布其高性能 AMD Ryzen™(锐龙)嵌入式 5000 系列产品启动供货,该新款解决方案适用于需要专为“永远在线( always on )”网络防火墙、网络附加存储系统和其他安全应用而优化的高能效处理器的客户。锐龙
    发表于 04-23 15:47 1236次阅读
    AMD 加强<b class='flag-5'>嵌入式</b>产品组合,全新锐龙<b class='flag-5'>嵌入式</b> 5000 系列<b class='flag-5'>处理器</b>面向网络<b class='flag-5'>解决方案</b>

    嵌入式处理器分为哪四类

    嵌入式微处理器是由**通用计算机中的CPU演变**而来的。它的特征是具有 **32位以上的处理器** ,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用
    的头像 发表于 04-13 15:24 5745次阅读