新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于SoPC的千兆以太网接口卡设计

一种基于SoPC的千兆以太网接口卡设计

作者:时间:2014-07-01来源:网络收藏

摘要:研究并设计了一种基于SoPC的,重点对的组成、工作流程、EMAC、时钟管理、用户逻辑设计和软件设计等关键技术进行了描述,并基于Xilinx平台验证了的有效性。本文的研究为基于SoPC实现自主化的千兆以太网产品具有一定的工程参考价值。

本文引用地址:http://www.eepw.com.cn/article/249045.htm

关键词:千兆以太网;;接口卡

0 引言

随着通信技术的迅猛发展,千兆以太网以其传输速度快、距离远、接口普及、成本低、易于集成等特点,受到业内青睐,广泛应用在通信、金融、商业、教育和政府机关等领域。

SoPC即可编程片上系统,以FPGA为载体构造面向应用的完整系统,具有开发周期短、难度和成本低的优点。Xilinx公司推出基于FPGA器件开发SoPC的开发环境EDK,并在新一代器件中集成硬核EMAC,使得FPGA能够和千兆以太网实现无缝连接。

本文研究并设计了一种基于SoPC的千兆以太网接口卡,重点对其组成、工作流程、EMAC、时钟管理、用户逻辑设计和软件设计等关键技术进行了描述,并开发测试用例进行测试验证。

1 千兆以太网接口卡系统结构

本文采用Xilinx公司的Virtex-5 FX70T作为核心器件,基于嵌入式处理器PPC440实现千兆以太网接口卡高速通信功能。在设计实现中,所设计的接口卡包括PPC440、DMA控制器、MPMC、EMC、UART、定时器、EMAC、中断控制器和GTX等内容,如图1所示。

 

 

其中,PPC440是整个SoPC的核心,它控制所有部件,运行控制程序。Xilinx提供PPC440的硬核,支持32位流水线,支持32位运算,单核最高主频550MHz,处理能力1000DMIPS。在本设计中,PPC440工作主频为400MHz,内部PLB总线频率为100MHz。

DMA控制器能够在CPU配置之后长时间地独立引导以太网数据在EMAC和MPMC之间高速交换。Xilinx提供独立的IP核CDMAC,CDMAC的结构包含4个DMA引擎,128bytes存储器触发能力,分散的地址数据Buffer。CDMAC针对MPMC提供了2个独立的数据操作端口,针对EMAC提供了为其硬件总线构造的4个收发端口,在CDMAC内部有数据通道、控制通道,各包含2个DMA引擎,可以根据数据的长度产生DMA的不同长度读写触发工作模式,最大效率地提高操作效率。

DDR2用来解决FPGA内部RAM不足的问题,本系统采用MPMC作为DDR2的控制器。MPMC提供了1~8个端口来存取内存,每个端口都能选择一系列连接个性接口模块(PIMs),包含PPC440MC、PLB、NPI、XCL和VFBC等接口。本系统将MPMC配置为两端口模式。一个端口是PPC440MC,用于和

PPC440的接口;另一个端口为NPI接口,数据宽度为64位,用于要发送数据的输入DDR2作为缓存。

FLASH用来固化和贮存可执行的软件程序,通过EMC接口连接在PLB总线上。UART用来完成PC机和SoPC系统之间的通信,定时器用来为实时操作系统提供周期节拍。

中断控制器接收FPGA内部各种中断,包括定时器中断、串口中断等,并上报给PPC440,等待PPC440进行处理。

EMAC采用Xilinx提供的硬核实现,用户逻辑完成对EMAC的访问和控制。EMAC产生的数据通过GTX进行串并/并串转换后,通过外部光纤进行通信。

2 千兆以太网接口卡设计

千兆以太网接口卡基于SoPC设计,采用Xilinx提供的PPC440、MPMC、EMC、EMAC等软硬核,结合自主开发的用户逻辑,共同完成干兆以太网接口卡的通信功能。

2.1 工作原理

千兆以太网接口卡发送过程如下:

(1)当需要发送时,通过外部高速接口将传输数据写入内部RAM中,暂时存入DDR2中;

(2)当DDR2中数据达到一定的数量后,向PPC440发送中断信号;

(3)当PPC440收到中断申请后,通过DMA通道将数据从千兆以太网送出。

千兆以太网接口卡接收过程如下:

(1)当千兆以太网接收数据后,产生中断;

(2)当PPC440收到中断申请后,通过DMA通道将数据写入DDR2中;

(3)外部高速接口通过内部RAM,将DDR2中的数据读出。

2.2 EMAC

千兆以太网MAC采用Xilinx公司提供的三速嵌入式以太网MAC核(EMAC)实现。该IP核集成了10/100/1000Mb/s以太网MAC核,符合802.3—2002规范,支持全双工的10/100/10013Mb/s,半双工的10/100Mb/s。支持多种可配置的物理层接口,包括MII、GMII、RGMII、SGMII和1000BASE—XPCS/PMA接口。EMAC中包含主机接口、客户端、时钟管理、MII/GMII/RGMII接口等,如图2所示。

 

 

在设计中,根据系统需求对EMAC进行配置。配置接口为主机配置模式,并以8位数据进行访问,配置速率为固定千兆模式,配置物理接口为SGMII模式,通过GTX进行串并/并串转换。

2.3 时钟管理

整个系统需要提供2个外部时钟:40MHz单端时钟和125MHz差分时钟。

40MHz时钟通过倍频产生100MHz、200MHz和400MHz时钟。100MHz时钟为PLB总线提供时钟,200MHz时钟为DDR2提供时钟,400MHz时钟为

PPC440内频时钟。

125MHz差分时钟用于提供GTX、EMAC和内部逻辑时钟。125MHz高质量的差分时钟经过IBUFDS后直接连接GTX的CLKIN端,然后GTX返回一个125MHz时钟REFCLKOUT,经过内部DCM产生125MHz和162.5MHz时钟,分别提供给GTX并行端时钟、EMAC时钟和内部逻辑,如图3所示。

 

 

2.4 用户逻辑设计

用户逻辑中完成三个功能:EMAC配置接口设计、客户端发送单元设计和客户端接收单元设计。

EMAC配置接口实现PPC440和EMAC之间的访问控制。EMAC通过Xilinx提供的IPIF接口挂接在PLB总线上。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭