基于PM3388和FPGA的网络接口的研究设计
3 硬件设计与实现
经过对十接口千兆以太网线路接口卡功能和性能需求进行认真分析,按照功能清晰、接口简单、实现容易的原则,设计了其实现方案,并按照设计方案对千兆以太网线路接口卡进行了子模块划分,共分为光电转换子模块、MAC层处理子模块、输入处理子模块、输出处理子模块、输入IP地址表子模块、输出IP地址表子模块和协议报文缓存子模块等七个子模块。千兆线路接口卡各子模块和外部接口关系如图2所示。
图 2 十接口千兆以太网线路接口卡模块结构图
其中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接口达到十路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包数等,并根据命令把统计信息送往板级处理机。
合成孔径雷达相关文章:合成孔径雷达原理
评论