论文部分内容阅读
随着以太网逐渐成为应用最为广泛的网络技术,各类研究人员对于以太网的应用进行了多种多样的研究。如今已有多种以太网数据传输的实现方式,一种是使用ARM芯片移植操作系统实现TCP/IP,或者是使用FPGA芯片,采用SOPC技术,使用Nios II软核处理器中移植嵌入式操作系统以及TCP/IP协议栈实现网络数据的传输,但是这种嵌入式处理的方式会大大消耗资源,降低CPU的工作效率。也有一些公司比如Seiko、WIZnet等推出了硬件协议栈芯片如S7600A、W5500等,虽然大大解放了 CPU,但是由于硬件协议栈的不可更改性,所使用的串行接口或SPI接口会大大限制数据的传输速度。而且一些应用场所并不需要TCP/IP的完整功能,完全实现其功能会大大浪费硬件资源。基于此背景,本课题提出了一种UDP协议硬件结构的实现方式,对TCP/IP中一些协议进行精简,实现了 UDP数据报的封装和解包,同时也实现了 ARP协议的基本功能。本设计是基于Altera的Cyclone IV系列FPGA芯片EP4CE115F29C7实现。主要实现了用于组建和拆分UDP数据报的UDP数据报发送和接收模块、用于组建和拆分IP数据报的IP数据报发送和接收模块、用于组建ARP请求和应答的ARP报文发送模块、用于处理接收到的ARP请求和ARP应答的ARP报文接收模块、用于存储IP地址和硬件地址映射关系的ARP高速缓存模块、用于组建以太帧输出的以太帧发送模块和接收以太帧提取有效数据部分提交上层模块的以太帧接收模块。在单个模块RTL级仿真通过后,对所有底层模块按照一定顺序连线,可得最终的UDP协议硬件处理结构,对该结构进行RTL级仿真得到结果如下:若应用程序要发送一个IP数据报,则首先会查看缓存内是否有对应的硬件地址,若有则直接发送IP数据报,若无则发送ARP广播请求,若接收到ARP应答则更新ARP缓存,若接收到ARP请求,则回送ARP应答报文,若收到IP数据报,当上层协议类型为UDP时,提取数据上交给应用程序。测试表明该硬件结构能够以50MHz的时钟频率稳定运行,实现了预期功能,具有较高的速度和可移植性,具有广泛的应用前景。