EDN China > 设计实例 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于Xilinx FPGA的千兆以太网控制器的开发

与非网?? 2010年08月27日 ?? 收藏1

  1.千兆以太网技术简介

  以太网技术是当今应用广泛的网络技术,千兆以太网技术继承了以往以太网技术的许多优点,同时又具有许多新的特性,例如传输介质包括光纤和铜缆,使用8B/10B的编解码方案,采用载波扩展和分组突发技术等。正是因为具有良好的继承性和许多优秀的新特性,千兆以太网已经成为目前局域网的主流解决方案。

  千兆以太网利用了原以太网标准所规定的全部技术规范,其中包括CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE 802.3标准中所定义的管理对象。千兆以太网的关键技术是千兆以太网二层(MAC层)的交换与以太网接口的实现。随着多媒体应用的普及,千兆以太网必将成为各类以太网技术的主力军。

  2.Xilinx的千兆以太网解决方案

  1)IP的支持

  Xilinx提供了可参数化的10/1Gbps以太网媒体访问控制器功能LogiCORE解决方案。该核设计用来同最新的Virtex-5、Virtex-4和Virtex-II Pro平台FPGA一起工作,并可以无缝集成到Xilinx设计流程中。吉比特级以太网媒体访问控制器核(GEMAC)是针对1Gb/s(Gbps)以太网媒体访问控制器功能的可参数化的LogiCORE IP解决方案。GEMAC核的设计符合 IEEE 802.3-2002规范。GWMAC核支持两个PHY端接口选项:GMII或RGMII。并且,Xilinx 全面的1Gb/s以太网解决方案包含吉比特MAC和PCS/PMA IP核产品。Xilinx吉比特以太网MAC解决方案还包括带有内置处理器本地总线(PLB)接口(PLB GEMAC)的配置。该配置通过Xilinx嵌入式开发套件(EDK)提供。GEMAC LogiCORE IP可以实现与1000 Base-X PCS/PMA或SGMII核的无缝集成,并提供3种选项用来与PHY器件接口:1000 BASE-X或10位接口(TBI)或SGMII。

  GEMAC核非常适合开发高密度吉比特级以太网通信和存储设备,其关键特性有:

  •   单速全双工11 Gbps MAC控制器;
  •   设计符合IEEE 802.3-2002规范;
  •   具有最小缓冲的直通操作,以最大限度地实现客户端接口的灵活性;
  •   通过可选的独立微处理器中的接口进行配置和监控;
  •   直接与以太网统计数据核接口,以便实现功能强大的统计数据收集;?
  •   ?通过MAC控制暂停帧实现对称的或非对称的可选的流程控制;
  •   VLAN帧的可选技术支持符合IEEE 802.3-2002规范的要求;
  •   支持任意长度的“jumbo帧”(可选);
  •   可选的地址滤波器,具有数量可选的地址表输入。

  2)相应的开发板套件

  Xilinx提供的千兆以太网开发套件为Virtex-5 ML505/ML506开发板(使用的FPGA芯片为:XC5VLX50T-1FF1136),该开发板支持10/100兆、1/10吉以太网,加上Xilinx公开的基于ML505/506的设计,可为基于以太网开发的设计提供全方位的参考。此外,ML505/506还具备SFP、PCI E、SATA以及SMA接口等其余吉比特接口,是学习和研发高速连接设备的理想平台。

  10.4.2 基于FPGA的千兆以太网MAC控制器实现方案

  1.整体设计方案

  以太网控制器的FPGA设计工作包括以太网MAC子层的FPGA设计、MAC子层与上层协议的接口设计以及MAC与物理层(PHY)的MII接口设计。该以太网控制器的总体结构设计框图如图10-30所示。整个系统分为发送模块、接收模块、MAC状态模块、MAC控制模块、MII管理模块和主机接口模块六部分。发送模块和接收模块主要提供MAC帧的发送和接收功能,其主要操作有MAC帧的封装与解包以及错误检测,它直接提供了到外部物理层芯片的并行数据接口。在实现中物理层处理直接利用商用的千兆PHY芯片,主要开发量集中在MAC控制器的开发上。

 以太网控制器的结构设计框图

图10-30 以太网控制器的结构设计框图

  MAC控制模块则用于执行全双工模式中的流量控制功能。MAC状态模块可用来监视MAC操作过程的各种状态信息,并作修改。MII管理模块提供了标准的IEEE 802.3介质独立接口,可用于连接以太网的链路层与物理层。主机接口则提供以太网控制器与上层协议(如TCP/IP协议)之间的接口,以用于数据的发送、接收以及对控制器内各种寄存器(控制、状态和命令寄存器)的设置。

  2.MAC控制器结构和工作流程

  1)MAC发送模块

  MAC发送模块可将上层协议提供的数据封装之后通过MII接口发送给PHY。发送模块可接收主机接口模块的数据帧开始和数据帧结束标志,并通过主机接口从外部存储器中读取要发送的数据,然后对数据进行封装,再通过PHY提供的载波侦听和冲突检测信号,在信道空闲时由MII接口将数据以4位的宽度发送给PHY芯片,最后由PHY将数据发送到网络上。

  发送模块由CRC生成模块(crc_gen)、随机数生成模块(random_gen)、发送计数模块(tx_cnt)和发送状态机(tx_statem_machine)模块等四个主要子模块组成,其内部结构如图10-31所示。

以太网MAC发送模块的结构示意图

图10-31 以太网MAC发送模块的结构示意图

  发送状态机由Idle_State、Preamble_State、Data0_State、Data1_State、PAD_State、FCS_State、IPG_State、Jam_State、BackOff_State、Defer_State 等十个状态组成。其状态转移图如图10-32所示。

发送状态机的状态转移图

图10-32 发送状态机的状态转移图


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

Xilinx? FPGA? 以太网? 状态机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈