TCP/IP协议栈设计—UDP/IP协议栈设计与实现(发送部分)

TCP/IP协议栈设计—UDP/IP协议栈设计与实现(发送部分)

前言:要实现基于FPGA的TCP硬件协议栈,需要充分了解以太网通信协议,因此先展开对UDPIP的实现。经过一年来不断的探索,最近从新设计并优化了UDPIP协议栈,内容较多,因此分为接收、发送两个部分2篇文章,来介绍UDPIP的调试与实现过程。

文中主要目录:

设计部分:一、ARP数据的发送;二、UDP数据的发送;三、IP数据的发送;

测试部分:一、ARP回复测试;二、UDP测试问题:问题1、UDP校验和问题。问题2、CRC校验问题。问题3、RAM下降沿存数,上升沿读数,造成数据错位

应用拓展:WireShark开启校验和核对功能

 

发送部分的设计

20191103 周日

经过这两天的设计,发现,没法像最初想的那样,一层层往上封装,直到MAC层发送。因为每类数据功能不同,应用场景不同。如,若接收到UDP帧,那建立连接的肯定是UDP。所以针对具体特性,经过反复考虑,最佳的方式,便是分类型,单独给出发送数据接口,再在顶层进行数据输出仲裁。

在此版本中,将ARP和IP分开进行发送。后面,还要对IP下层的UDP,TCP,ICMP都进行单独发送才行。

经过这两天的奋战,终于得到了如下的仿真结果。

仿真文件为:tb1_tcpip_stack.v 顶层全局仿真。具体模块发送测试如下。

一、ARP数据的发送

模块代码文件:arp_tx_framing.v ,mac_tx_control.v

下图为ARP接收到发送的过程。

展开的ARP发送数据前端,和后端如下:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间看得见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值