微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于SoPC的千兆以太网接口卡设计

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

时间:07-01 来源:互联网 点击:

时钟。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总线上。

发送单元负责将待发送的数据按照一定时序发送到MAC核,再通过GTX输出到数据链路中。客户端发送时序如图4所示。

客户端发送过程如下:

(1)当客户端需要发送数据时,首先将第一个字节送到数据线(TXD),同时将数据有效信号(TXDVLD)置高;

(2)当EMAC收到第一个字节后,返回一个应答信号(TXACK);

(3)客户端收到应答信号后,将剩余数据按照字节发送,在数据发送完成之前,TXDLVD信号一直为高。

接收单元负责根据客户端接收时序接收来自于MAC的数据。客户端接收时序如图5所示。

客户端接收过程如下:

(1)当EMAC有数据发送到客户端时,接收数据信号(RXD)和数据有效信号(RXDVLD)同时有效;

(2)接收单元根据RXD和RXDVLD接收来自EMAC的数据;

(3)当数据接收完成后,如果接收数据正确信号(RXGOODFRAME)有效,表示该帧数据正确,则将数据提交。如果数据错误信号(RXBADFRA ME)有效,表示该帧数据错误,则将数据丢弃。

2.5 软件设计

在设计中,软件负责完成系统的运行、设备的控制、系统各部分功能实现、以太网的TCP/IP协议的实现等功能。使用Xilinx提供的EDK下集成的工具SDK,使用C语言进行编程。

EDK提供第三方支持库TRECK,它使用一种简化的TCP/IP协议,并向用户提供上层的API函数,实现了一种高效的、便于与SOPC实现的TCP /IP协议。

3 仿真与验证

本论文采用Xilinx Virtex-5 FPGA芯片对千兆以太网接口板进行设计和实现,并采用Modelsim6.5d进行仿真验证,采用ISE12.1进行综合、布局布线、生成bit文件。

将生成的bit文件下载到自主设计的板卡中,并开发测试用例进行测试、验证。实际测试结果表明:基于SoPC的千兆以太网接口板系统功能正确,传输速率达到了线速。

4 结束语

本文研究并设计了一种基于SoPC的千兆以太网接口卡,重点对其组成、工作流程、EMAC、时钟管理、用户逻辑设计和软件设计等关键技术进行了描述,并开发测试用例进行测试验证。经严格测试验证表明,该千兆以太网接口板功能完全符合系统要求。

本文的研究对基于SoPC实现自主化的千兆以太网产品具有一定的工程参考价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top