让我们来分别看一下可利用IP内核满足典型应用性能要求的三种以太网子系统的例子。每种设计具有不同的系统架构:包括处理器配置、以太网 MAC IP配置以及存储器接口。此外,这些例子还突出了可与这些硬件子系统配合使用的不同TCP/IP软件协议栈。由于硬件构建模块和软件层都是可定制的,因此您可以根据应用的需要对这些系统进行增减。
简化以太网子系统
对于远程监视或控制应用中所需要的简单网络接口来说,如图3所示的最小化网络子系统就足够了。在此类应用中,TCP/IP性能要求较低(<1Mbps),因此LwIP(简化版互联网协议栈)这样的小TCP/IP协议栈(不需要RTOS实时操作系统)就足够了。
图3:规模最小的以太网系统。
这可以使用不间断的以太网Lite IP在简单的查询模式下实现。全部软件,包括简单的应用层,可全部存储在FPGA中的本地存储器中。如图3中所示,其它需要的I/O接口,RS-232 UART和GPIO,可以增加到基本子系统中。
图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
本文标签:
猜你感兴趣:
数字信号传输系统分为基带传输系统和频带传输系统.频带传输系统也叫数字调制系统。数字调制信号又称为键控信号,数字调制过程中处理的是数字信号,而载波有振幅、频率和相
关键词: 所属栏目:设计编程
设计低功耗MCU并不容易,也没有为您的特定嵌入式设计选择合适的MCU。许多特定于应用的注意事项都会起到作用,这使得比较MCU规格表具有挑战性。本文分析了在分析竞争性MCU替
关键词: 所属栏目:设计编程
近日,有媒体报道称,北京微电子技术研究所日前成功研制出国内首个自主可控的宇航用千万门级高性能高可靠FPGA(现场可编程门阵列)芯片。FPGA一直是国内的短板,市场基本被
关键词:单片机 所属栏目:设计编程
嵌入式系统的工作原理和应用 计算机作为20世纪人类社会最伟大的发明之一,近期也逐步迈入后PC时代。后PC时代的到来也标志着嵌入式产品的诞生,如手机、PDA、数控机床等。
关键词:嵌入式系统单片机 所属栏目:设计编程
最近参与了一个项目,需要用嵌入式汇编写测试程序。汇编程序写过,C程序也写过,但是将它们混合起来写还是第一次,完全没有概念。只能上网找资料,自己慢慢摸索。 自己一
关键词: 所属栏目:设计编程
无
关键词: 所属栏目:设计编程