《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 交换式路由器的千兆比以太网接口设计和实现

交换式路由器的千兆比以太网接口设计和实现

2009-02-11
作者:王晓东 马 军 徐佩霞

    摘  要: 根据交换式路由器的设计要求、结构功能及千兆比以太网的具体特点,使用介质访问控制子层的控制芯片XMACII和大容量的FPGA,完成了千兆比以太网接口的设计与实现。 

    关键词: 千兆比以太网接口  XMACII  FPGA

 

  随着宽带网络的普及和网络应用的多业务需求,特别是基于视频多媒体等的大流量网络业务的增多,传统的路由器越来越成为高速网络的瓶颈。由于路由器各个端口之间是通过共享总线相连,路由器的端口速率比较低,因而限制了转发IP分组的能力。传统的路由器在运行路由协议、维护路由表等方面都难以满足现代IP通信网络的要求。 

  交换式路由器是采用新型交换结构来实现分组路由转发功能的下一代路由器。交换式路由器可以增加链路带宽的利用率;简化协议的复杂度;同时,还可以减轻网管的负担;在采取一定的措施后,路由器也可以提供一定程度的服务质量保证。为提高路由器转发分组的速度和能力,路由器的各端口之间采用交换结构进行互连,这样路由器的端口速率大大提升,可以与ATM交换机相比,满足了日益增长的各种网络服务的要求。 

  交换式路由器被设计成能够在各种不同类型的物理网络之间完成路由功能。千兆比以太网是高速率的物理网络,具有很多与其他物理网络差别较大的物理特性,因而需要专用的接口电路以屏蔽千兆比以太网的具体物理特性,向上提供标准的数据交换接口,实现路由器的数据链路层和千兆比以太网间的数据传送。 

  千兆比以太网接口采用了介质访问子层的访问控制器XMACII完成介质访问子层的功能,采用大容量的FPGA实现逻辑控制判决的功能,实现了路由器与千兆比以太网间的高速数据传送。 

1 介质访问控制子层的控制芯片——XMACII 

  XMACII是Vitesse公司的下一代千兆比以太网介质访问控制器产品,能提供高性能单片千兆比以太网上行链路、千兆比数据交换、缓冲中继,内含点到点应用服务和网络服务适配器的解决方案。它符合IEEE 802.3z千兆比以太网和GMII(1000BASE-T)标准规范和IEEE802.3x基于帧的流量控制规范。 

  XMACII千兆比以太网控制器为3.3V的CMOS芯片,240引脚的PQFP封装。XMACII的内部结构图如图1所示。 

 

 

  XMACII片内集成了发送和接收FIFO,以及8B10B PCS译码/解码器。32位数据宽度的8KB接收FIFO和4KB发送FIFO缓冲高速的数据,总线支持数据突发,确保2000Gbit的双工带宽。FIFO接口能够由硬件控制,不需要占用CPU资源。PCS包含两个用于物理层访问的接口:FC-0和GMII。具有8B10B译码/解码器的FC-0接口提供了更加可靠的数据传输,因此采用了将FC-0接口直接连接到10bit FC-0 1.25Gbit以太网的收发器(SERDES)的方案,GMII接口没有使用。 

    XMACII包含67个配置寄存器和53个统计计时器,这些寄存器通过管理寄存器和控制接口(Management Registers and Control Interface)来访问。XMACII通过设置这些管理寄存器的值实时地对千兆比以太网的访问进行控制,如地址匹配、字节顺序、数据传送可选项的设置,以及流量控制、VLAN的设置和自回环的控制等。XMACII还随时统计发送和接收的状态数值,并及时更新SNMP和RMON管理计数器组,以提供网络传输的各种状态信息。全套以太网MIB状态计数器与IETF和ISO定义相符。 

  发送数据的时候,主机需先检查XMACII的XmtrRdy信号,有效时则使TxPktValid信号有效,以表明传输到XMACII的包的开始。该信号一直有效直至包的发送结束。该信号有效后,或随着它的有效,主机驱动HostTxData数据线(31:0)和适当的TxByteEn(3:0)信号及TxValid信号。在XmtrRdy信号仍然有效时,当TxValid信号有效,XMACII会在HOST_CLK时钟的上升沿锁定HostTxData数据线上的数据。 

  主机接收数据帧之前,需要先使HostRcvRdy信号有效,而后XMACII使RxPktValid有效,以表明发送给主机的数据帧开始传送。一旦这个信号申明主机要在HOST_CLK信号的上升沿锁住数据线HostRxData(31:0)上XMACII提交的数据,信号RcvValid表明数据线上的数据是有效数据。RxPktValid信号一直有效,直到当前数据帧的最后一个字传至主机。 

  XMACII的REF_CLK输入的125MHz时钟用于内部状态机,对时钟的边沿要求较高。实现时使用时钟芯片先对125MHz的时钟进行整形,然后输入。管理寄存器和控制接口的读写过程中也要注意,NPCS信号在NPRdy信号有效后必须继续保持有效两个时钟周期以上,这样才能使数据正确地写入和读出。 

2 设计方案 

  根据千兆比以太网接口的功能特点和设计要求,本设计方案采用了千兆比以太网的介质访问控制器XMACII实现在数据链路层和物理层间的数据交换。路由器侧可以通过读写XMACII寄存器对数据传送进行控制并得到相关的统计信息。 

  XMACII使用10bit FC-0接口规范连接PCS块和物理介质。8B10B PCS 编码/解码器从介质访问控制器接收MAC格式的帧,进行8B10B传输编码并将10bit并行数据送往物理接口,或者从10bit物理接口接收已编码的数据并经过8B10B接收解码送往MAC。因而在采用光纤介质的千兆比以太网中广播的数据流经过光纤通道接口后的串行数据必须先通过千兆比以太网收发器(又称Serdes,并行转换器)转化为并行的10位编码数据才能送往XMACII的FC-0接口;XMACII的FC-0接口送出的10bit编码数据也要先经过Serdes转换为10倍波特率的数据流,再经光纤通道接口向以太网广播。所以在控制器和光纤通道接口中间还需要连入以太网收发器。方案选定的千兆比以太网收发器是Vitesse公司的VSC7135。 

  千兆比以太网的数据传输速率很高,最高数据速率能达到1.25Gb/s。而数据链路层处理分组的速度相对较慢,因而会在突发大量数据(data bursting)时数据难以及时处理,出现大量丢包。虽然介质访问控制器中集成了接收和发送FIFO以进行数据缓冲,但介质访问控制器XMACII的内部FIFO容量仍然较小。为避免因数据链路层来不及处理数据而大量丢包的情况,在介质访问控制器XMACII和路由器侧上层设备之间加上外接的大容量FIFO作为数据缓冲。 

  在各个器件间传送数据时,为满足各个器件读写数据的逻辑时序要求,协调各器件工作,将介质访问控制器XMACII、外接的FIFO和路由器侧上层设备的相关控制逻辑信号接入一大容量的现场可编程逻辑门阵列(FPGA),编程完成各个逻辑的判决和驱动,完成各部分的协调工作,完成各器件间的数据传输。为方便数字逻辑功能的设计,将XMACII上行的数据和路由器侧发送的数据先由FPGA锁存一个时钟周期再送往相应的FIFO。 

  综上所述,该千兆比以太网接口的结构可由图2所示。 

 

 

3 FPGA逻辑控制功能实现 

  FPGA片内程序实现路由器侧高层设备、千兆比以太网介质访问控制器XMACII和大容量FIFO间数据传送的逻辑控制。FPGA芯片采用Altera公司的EPF10K50E-QC240。片内程序分为两个模块:发送数据模块和接收数据模块,两个模块相互间基本没有联系。 

  发送数据模块处理路由器侧高层设备发送的数据,将其锁存一个周期后送入外接FIFO,并控制其以正确的时序从FIFO中读出并送入XMACII。将数据锁存一个时钟周期的原因是考虑到由路由器侧发送的数据如果直接写入FIFO,对控制信号的判决会有相当严格的要求以致实现时难以达到。故将数据锁存一次以方便控制逻辑的判决和驱动。另外还需要在数据写入FIFO时由计数器累加得到每一个数据帧的长度,以便在数据读出时能确定每一个数据帧的边界。FIFO中每一个数据帧的长度按顺序存放于FPGA内部用软件实现的一个FIFO中。具体过程:当一个数据帧整个写入外接FIFO后,累加计数得到该数据帧的字节数也同时写入了FPGA内部的FIFO;而当数据帧即将从FIFO中读出时,该帧的字节数首先从FPGA的内部FIFO中读出,读帧数据的同时该字节数相应递减,至零为止,一个数据帧被整个读出。如此反复进行。 

  接收数据模块处理XMACII接收的数据,同样将其锁存一个时钟周期后送入FIFO中,由路由器侧高层设备将数据从FIFO中读出。在数据写入FIFO时仍需记录每一个数据帧的长度,路由器侧读取数据的时候一次读出整个数据帧。具体的实现与发送模块类似。由于XMACII写入FIFO时的数据宽度为32位,而路由器侧高层设备读取FIFO时的数据宽度是16位,因而在数据帧的字节计数时应有相应的处理。 

  由此设计方案得到交换式路由器的千兆比以太网接口电路原理图,绘制PCB图并制作出印刷电路板,编写VHDL程序。经过对此千兆比以太网接口的反复调试,该接口能够很好地完成路由器侧高层设备和千兆比以太网间的数据交换,数据速率能够达到千兆比以太网的要求。通过配置XMACII寄存器,能够对数据的传送进行实时的控制和调节,并可得到千兆比以太网的数据收发的各种统计信息。该千兆比以太网接口用在实用化综合接入系统的交换式边缘路由器中,路由器可通过该接口由千兆比光纤接入千兆比以太网,与以太网中其他的计算机通信。该交换式路由器的千兆比以太网接口很好地达到了设计要求。 

参考文献 

1 GigaBit Ethernet Accelerating-the standard for speed.Gigabit Ethernet Alliance,1997 

2 XaQti XQ11800FP 1000 Mbps Gigabit Ethernet Controller Data Sheet.Vitesse Semiconductor Corporation, http://www.vitesse.com/ 

3 High-Speed Board Design Techniques. Advanced Micro Devices, Inc. 1997 

4 FLEX 10K Embedded Programmable Logic Family Data.Altera, http://www.altera.com/ 

5 候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计,西安:西安电子科技大学出版社,1999

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。