一种基于SoPC的千兆以太网接口卡设计
时钟。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实现自主化的千兆以太网产品具有一定的工程参考价值。
- 基于PowerPC7447处理器的显示平台设计与实现(09-12)
- 单片DSP处理器功能系统的SOPC技术设计(01-12)
- 基于DSP和SOPC数字信号发生器的设计(01-05)
- 基于Linux的SoPC应用系统设计(04-23)
- 基于DSP的实时数据处理系统浅析(02-28)
- 基于LXI总线的1553B通讯模块设计与开发(11-24)