• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于PM3388和FPGA的网络接口的研究设计

基于PM3388和FPGA的网络接口的研究设计

录入:edatop.com     点击:

其中MAC层处理子模块是千兆线路接口卡设计的核心,选用PMC-Sierra公司的PM3388芯片为MAC层处理芯片, PM3388芯片是目前市场上唯一支持十接口的千兆以太网控制器,其功能特性如下:

十路千兆以太网控制器(同时完成PHY层和MAC层功能);
  通过内部十个SERDES接口直接与光电转换模块相连。每个SERDES接口兼容IEEE 802.3-2000 PMA(Physical Medium Attachment)物理层规范;
  从网络上接收8B/10B格式码流,完成数据及时钟恢复;
  每个接口提供多播地址过滤及8个单播地址过滤;
  提供标准的IEEE 802.3 以太网帧格式完整性检验,并具有过滤功能;
  内部提供224K字节接收FIFO和64K发送FIFO,可在十路接口上灵活配置;
  提供SATURN标准的PL4(POS-PHY Level 4)标准16位LVDS总线接口,速率可达700Mbps;
  提供标准IEEE 1149.1 JTAG测试端口;
  提供微处理器接口;
  提供线路侧环回和系统侧环回的系统级调试功能;
  提供丰富的配置及统计寄存器。

PM3388工作流程包括接收处理和发送处理两部分。1.接收通路:PM3388从光电转换子模块接收串行差分电信号,经过串/并转换、8B/10B解码后,进行以太网帧完整性检验和地址过滤,
 
如果该以太网帧无误,则写入为该接口分配的PL4模块中的FIFO,否则丢弃。为了充分利用带宽,PL4接口把MAC帧划分为数据片(以64字节或MAC帧尾之前数据为一片)调度输出,并采用带内控制字的形式指示帧头、数据、帧尾、线路接口号、填充字节数、空闲控制字等信息。接收通道还通过两位的信号指示接收设备的缓存状态(空、满、半满)。2.发送通路:发送通道的PL4接口与接收通道的工作模式相同,数据从PL4接口进入PM3388后,经过8B/10B编码,并/串变换等处理步骤,以串行差分信号的形式输出到光电转换子模块。

为了保证PL4接口达到十路1Gbps的速率,PM3388的参考时钟引脚接160MHz时钟晶振,输入输出接口的采样时钟通过将该时钟倍频获得320MHz时钟,输入输出数据分别在时钟双沿采样,可以获得640Mbps的数据数率,总带宽达10.24Gbps,可以满足0丢包率性能对带宽的要求。

此外,输入处理FPGA是千兆以太网线路接口卡模块设计的重点之一,主要的功能是将各种标准的MAC帧数据格式转换为网络层统一的数据格式,为网络层处理屏蔽掉底层物理接口。

输入处理FPGA采用Altera公司Stratix GX系列的EP1SGX25F芯片,该芯片具有25660个逻辑单元,16个高速收发器通道,39个源同步IO和总数为1944576比特的RAM,可以满足实现输出处理功能对资源的要求。

输入处理子模块主要完成输入处理和配置统计两大功能:第一、接收MAC层处理子模块发送过来的数据片,完成MAC帧重组和十路数据合路处理,再根据MAC帧封装的三层协议类型实现数据包的分类处理,按照不同的处理要求把数据包分别送B接口、F接口或者同时送两个接口。送往B口的数据包经过MAC帧格式拆封和B口格式封装后输出到转发模块,送往F口的数据经过数据宽度和时钟频率的变换后输出到协议FIFO。第二、线路接口卡上电初始化时,输入FPGA通过板级处理机获取本线路接口卡所在的机架号和端口号等信息,并把这些信息插入到送往转发处理模块的数据包的B口格式字中。输入处理FPGA还要实现大量的统计功能,统计项包括每个接口接收到的总帧数、错误帧数、丢弃帧数、IPv4单组播包数、IPv6单组播包数、MPLS单播包数、送往B口包数和送往协议FIFO包数等,并根据命令把统计信息送往板级处理机。

4  系统调试

FPGA的调试包括输入FPGA和输出FPGA两部分,主要检查FPGA的焊接、时钟和程序下载等是否正确,调试方法是用VHDL编写一个计数器的程序,用JTAG下载到FPGA中,利用SignalTap软件和指示灯测试FPGA是否工作正常。实现系统输入输出处理功能的大规模VHDL程序的调试放在整个线路接口卡的调试中进行。

PM3388芯片是千兆线路接口卡完成MAC层控制功能的芯片,其调试是整个千兆线路接口卡调试的重点。PM3388芯片的调试需要板级处理机软件、板级处理机、输入输出FPGA和网络测试仪配合,调试内容依次为寄存器配置、PL4系统侧环回、SERDES系统侧环回、SERDES线路侧环回、PL4线路侧环回。

PM3388芯片寄存器配置的调试过程为:首先往一个可读写寄存器(选择地址为0x6的寄存器)中写入一个数,再读出来比较是否正确,如果不正确,通过SignalTap软件分别抓输出FPGA与PM3388芯片的微处理机接口的读写控制信号,确定错误是发生在写操作还是读操作上,排除错误。单个寄存器的配置调试通过后,再进行多个寄存器的连续配置,调试方法是配置PM3388进入不同工作模式,通过检查状态寄存器的值判断是否配置成功,如果不成功,检查相邻寄存器的配置是否发生了干扰,通过SIGNALTAP软件查看逻辑和时序问题,再加以解决。

而PL4系统侧环回主要是为了验证输出FPGA与PM3388的输入PL4接口、输入FPGA与PM3388的输出PL4接口是否正常,调试方法是使用板级处理机向输出处理FPGA发送协议包,输出处理FPGA再把该数据包发送到PM3388的PL4接口的接收侧,接收侧把该数据包环回到PL4接口的发送侧,从发送侧发送到输入处理FPGA,最后该数据包被板级处理机读回来进行比较。调试中发生的错误可以通过PM3388内部的统计寄存器和SIGNALTAP软件进行定位,再采取相应的措施排除错误;

5  总结

本文的创新点在于采用合理的设计方案和调试方案,完成了十接口千兆线路接口卡的设计与实现,研制的千兆线路接口卡完全满足了T比特路由器项目对十接口千兆线路接口卡设计的功能与性能要求。采用FPGA设计并实现了十接口千兆以太网线路接口卡设计与实现中的帧重组与加速功能,能够提供更高的带宽,具有更好的加速性能。

参考文献:

1 谭章熹,林闯,任丰源,周文江,"网络处理器的分析与研究",软件学报,vol14,2003

2 G. Jennes, G. Leduc and M. Tufail, "A Scheduler for Relative Delay Service Differentiation,"Annals of Telecommunications, vol. 571-2, 2002

3 陆增援,刘树彬,宋健等,"宽带网络接口板的设计与实现",中国科学技术大学学报,vol 33(2),2003.4

4 李长胜 龙文, 基于FPGA的高速硬件防火墙报文检测系统设计《微计算机信息》2006,NO.1-2,P166

作者:姚汝贤 王伟   来源:微计算机信息

上一篇:数据中心虚拟化的必要实现技术
下一篇:PSMS系统助力合肥联通节能降耗

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图