论文部分内容阅读
随着我国经济的发展,对网络的应用要求也越来越高,普通网卡的数据吞吐量已经不能满足某些特殊场合的特殊应用,当普通网卡短时间内去处理大量网络数据包时,经常会出现丢包现象。本文将FPGA技术和以太网技术相结合,将FPGA的嵌入式以太网MAC技术应用到以太网中,研究和设计出一种高性能网络处理卡去替换普通网卡,大大提高了网络数据吞吐量,彻底解决了丢包现象,满足了某些特殊场合的特殊应用。论文首先对当前常用的网络数据包处理技术进行了介绍和说明,同时分析了国内外的研究现状和高性能网络处理卡的现实意义。其次,论文分析了总线主控DMA技术。使用总线主控DMA技术的主要目的就是把PC上位机端的以太网络数据包高效地传输到底层逻辑控制部分或者把底层逻辑控制部分中的以太网络数据包高效地传输到PC上位机端。在PC上位机端的测试应用程序中组装好以太网络数据包后,首先调用上层API函数中的SendPacket发送以太网络数据包函数,然后在SendPacket函数中调用基于DMA传输模式的PCI Express驱动程序中的相关函数,最后使用总线主控DMA技术的DMA传输方式把以太网络数据包传输到底层逻辑控制部分中。然而,当底层逻辑控制部分中有以太网络数据包需要被传送到PC上位机端时,首先利用总线主控DMA技术的DMA传输方式把这些以太网络数据包上传到PC上位机端的驱动层程序中,然后调用基于DMA传输模式的PCI Express驱动程序中的相关函数把这些以太网络数据包传输到上层API函数中的RecvPacket函数中,最后测试应用程序直接到RecvPacket函数中获取以太网络数据包,并进行分析。然后,论文以XC6VLX240TFF1156-1FPGA主芯片为核心处理部件搭建了系统的硬件平台,该硬件装置主要包括PCI Express X8插片、外围存储设备、以太网端口、JTAG以及电源,重点介绍了各个模块之间的连接关系。最后,在该平台下,进行了软件的设计。设计中使用了总线主控DMA设计技术和ISE自带的IP核,软件主要完成的功能有:以太网络数据包的发送、以太网络数据包的接收及以太网络数据包的过滤。此外对软件做了大量的优化测试工作,提高了程序的运行速度,基本满足实时需求,得到了较理想的实验效果。