基于网络处理器IXP1200的以太网上联卡设计
在上行方向,ATM接收引擎把收到的ATM信元组装成AAL5 PDUs,并根据封装协议转换成以太网帧,同时建立相应的MAC地址与ATM PVC的对应关系,然后送到CRC-32校验队列。接下来由CRC-32校验引擎对队列中的PDUs执行CRC校验并把PDUs送到以太网的发送队列。而以太网发送引擎的任务则主要是把发送队列中的以太网帧从以太网上联口发送出去。
在下行方向,以太网接收引擎接收来自以太网上联口的以太网帧,并将其封装成AAL5 PDUs后送到CRC-32产生队列,同时根据建立的MAC地址与ATM PVC的对应关系进行查找以得到ATM信元头部。接着由CRC-32产生引擎为队列中的PDUs生成CRC校验值,并把PDUs送到UBR队列。最后由ATM发送引擎把PDUs分割(segment)成ATM信元后,从ATM端口发送出去。
3 以太网上联卡的硬件设计
图3所示是以太网上联卡的硬件电路,该硬件电路主要包括四个部分:以太网处理单元、IXP1200网络处理单元、FPGA控制逻辑单元、ATM及LVDS背板总线处理单元。
3.1 以太网处理单元
以太网处理单元是上联卡的上联处理部分,用于连接路由器或者三层交换机等数据网络设备。该单元主要包括RJ45接口、变压器隔离电路、LXT9763以太网物理层芯片和IXF440 MAC层芯片。其中RJ45接口以及变压器隔离电路是以太网处理接口的标准单元电路,LXT9763主要完成802.3协议中描述的物理层功能,它主要通过MⅡ总线和IXF440芯片相连接。IXF440芯片主要完成802.3协议中描述的MAC层功能,同时提供与网络处理器的IX总线接口,实际上,该芯片是网络处理器中IX总线的SLAVE设备。javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2 IXP1200网络处理单元
IXP1200网络处理单元是整个以太网上联卡的核心,它主要通过IX总线与外部芯片进行相连,是IX总线的MASTER设备,所有的处理软件均运行在网络处理器中。
IXP1200网络处理单元由网络处理器IXP1200及外部芯片(如SDRAMSRAMFlash等)构成。SDRAM和SRAM单元是可共享的智能单元。其中SDRAM单元可以被IXP1200的StrongARM内核以及微引擎和PCI总线上的设备直接访问,这样可以支持SDRAM与微引擎或IX总线以及PCI总线之间的快速移动数据,而SRAM单元则具有比SDRAM单元更快的访问时间,通常可以用来存储需要快速查找的表格,以提高性能。
3.3 FPGA控制逻辑单元
由于在英特尔公司所提供的网络处理器解决方案中,外部的数据接口是IX总线,该总线是英特尔提供的专有数据总线,而以太网上联卡中所采用的ATM芯片的外部接口为标准的UTOPIA总线。所以,为了实现芯片间的互联,应采用FPGA来完成IX总线和UTOPIA总线间的变换,即在IX总线端实现IX总线的SLAVE接口,在ATM端实现UTOPIA 总线的SLAVE接口。通过该FPGA逻辑控制单元可为ATM到以太帧的转换提供物理层的控制功能。FPGA逻辑控制单元的实现对于完成以太网上联卡的设计非常关键。
3.4 ATM与LVDS背板总线单元
该处理单元主要完成以太网上联卡中的网络处理器单元与背板ATM的无缝连接。由于DSLAM设备的设计核心是基于ATM技术,为了将网络处理器单元应用在基于ATM的DSLAM设备中,必须采用该处理单元来实现系统互连。
DSLAM设备系统中的其它板卡主要用于完成ATM交换以及ADSL设备的线路接口。而背板是基于LVDS总线的高速差分总线,它具有抗干扰能力。这对于高密度的DSLAM设备来说是非常重要的。实际上,上联卡就是通过ATM的物理层芯片与高速LVDS总线进行互联,从而使该板卡无缝插接在系统之中。
4 以太网上联卡的软件设计
以太网上联卡的软件主要运行在网络处理器IXP1200中。为了方便基于网络处理器IXP1200的开发,英特尔公司特别推出了高度集成且具有强大开发能力的开发工具SDK2.0。这个开发工具包中包含有IXP1200 Developer WorkBench,是一个集成的开发工具,专门用来写符号微码,并且