TDA2030功放电路图 电动车充电器电路图 电子电路 功放电路 电子制作 集成块资料 电子报 pcb 变压器 元器件知识 逆变器电路图 电路图 开关电源电路图 传感器技术 led 电磁兼容
电子电路图
当前位置: 首页 > 电子电路 > 设计编程

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

时间:2019-01-08 14:29:24来源:网络 作者:admin 点击:
嵌入式系统与桌面PC结构非常不同,但其底层技术发展却是一样的,而且遵循着类似发展趋势。当桌面PC转向64位架构来满足不断增长的存储器要求时,嵌入式系统也由于同样的原因

让我们来分别看一下可利用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和以太网头)的开销增加,从而会减小总体的数据载荷吞吐能力。

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

本文地址:http://www.dziuu.com/dz/22/15469290073071.shtml


本文标签:


.
首页 上一页123下一页尾页
顶一下
0%
返回首页
0
0%

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
表情:
名称: E-mail: 验证码: 匿名发表
发布文章,推广自己产品。
热门标签