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

    文章

    19135

    浏览量

    228937
  • FPGA
    +关注

    关注

    1625

    文章

    21648

    浏览量

    601470
  • 嵌入式
    +关注

    关注

    5063

    文章

    18991

    浏览量

    302538
收藏 人收藏

    评论

    相关推荐

    计算嵌入式处理器的使用寿命

    电子发烧友网站提供《计算嵌入式处理器的使用寿命.pdf》资料免费下载
    发表于 09-19 11:06 0次下载
    计算<b class='flag-5'>嵌入式</b><b class='flag-5'>处理器</b>的使用寿命

    嵌入式微处理器的分类 嵌入式微处理器的种类和型号

    嵌入式微处理器是指内部集成了CPU、存储、外设接口等功能的微型芯片,被广泛应用于各种嵌入式系统中。嵌入式系统是指嵌入在某种设备或系统中的微
    的头像 发表于 05-04 16:31 2058次阅读

    嵌入式微处理器主要组成 嵌入式微处理器的分类和特点

    嵌入式微处理器是指集成在嵌入式系统中的微处理器,它是一种专门针对特定应用的定制处理器嵌入式微处理器的主要组成包括核心
    的头像 发表于 05-04 15:48 2214次阅读

    嵌入式微处理器的类型与特点 嵌入式微处理器技术的优缺点

    嵌入式微处理器是一种专门设计和应用于嵌入式系统的微处理器。相比于常规计算机系统,嵌入式系统通常具有更高的实时性、更低的功耗、较小的尺寸和成本以及更强的可靠性和稳定性要求。
    的头像 发表于 05-04 15:10 2565次阅读

    嵌入式微处理器有哪几类 嵌入式微处理器包含哪些重要参数

    嵌入式微处理器是指特别设计用于嵌入式系统的微处理器,它具有小型化、低功耗、高性能和多功能等特点。嵌入式微处理器广泛应用于各种电子设备中,例如智能手机、平板电脑、数字相机、汽车电子、医疗
    的头像 发表于 05-04 14:58 820次阅读

    嵌入式微处理器的功能 嵌入式微处理器原理与应用

    嵌入式微处理器是一种集成了中央处理单元(CPU)核心和各种外围接口的集成电路,广泛应用于嵌入式系统中。由于嵌入式系统对功耗、体积和成本等方面有着严格的要求,
    的头像 发表于 05-04 14:50 1045次阅读

    什么是嵌入式微处理器? 嵌入式微处理器的区别

    嵌入式微处理器(Embedded Microprocessor)是一种被用于控制和操作特定嵌入式系统的微处理器嵌入式系统是指内部集成了特定功能和任务的计算机系统,通常被
    的头像 发表于 04-21 15:44 1452次阅读

    嵌入式微处理器的分类特点 嵌入式微处理器作用

    嵌入式微处理器是一种专门设计用于控制和执行嵌入式系统任务的微处理器。与通用微处理器相比,嵌入式微处理器通常具有低功耗、小体积、低成本和高度可
    的头像 发表于 04-21 14:52 1209次阅读

    主流嵌入式微处理器的结构与原理是什么 常见的嵌入式微处理器类型包括

    主流嵌入式微处理器的结构与原理 嵌入式微处理器是一种专门设计用于嵌入式系统的微处理器。它具有高度集成的特点,能够执行特定的任务并且通常具有低功耗。主流
    的头像 发表于 04-21 09:32 571次阅读

    嵌入式微处理器是什么 嵌入式微处理器的用途

    在数字化时代的浪潮中,嵌入式系统如同细胞中的线粒体,无处不在,而心脏般的核心部分则是嵌入式微处理器
    的头像 发表于 04-07 16:43 702次阅读

    什么是嵌入式微处理器嵌入式微处理器有哪些?

    嵌入式微处理器是指嵌入到特定应用系统中的微处理器,它是整个嵌入式系统的核心,由通用处理器演变而来,具有体积小、重量轻、成本低、可靠性高等优点
    的头像 发表于 03-29 11:39 922次阅读

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

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

    嵌入式fpga是什么意思

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

    嵌入式处理器简介和种类

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

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

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