UDP协议分析

发送模块说明
使用UDP协议,通过RMII网线上传数据到PC端
参考如下网络协议,在传输的数据前面需要添加必要的网络首部,以及最后添加CRC32校验

 



MAC头

 


IP头

 


UDP头

 

总之,一个最小UDP网络包内容如下(64 byte)

 

注意:CRC32 是从MAC头开始校验,一直到用户数据结束,发送时候先发低字节,最后发高字节;
IP头里面的首部校验和必须计算准确,否则网络助手调试工具会抓取不到数据包;
UDP校验和可以为0;
在MAC头发送之前,需要发送一个前导码0x00000000_55_55_55_55_55_55_55_5d(最后这个5d也可能是d5);
整个网络包发送接口部分,进行8bit--> 2bit转化的时候,先发低2位,最后发送高2位(例如发送0x81,发送过程应该是 2’b01 --> 2’b00 --> 2’b00 --> 2’b10);
因为UDP用户部分数据长度为18 ~ 1472 byte,所以,当少于18字节的时候,需要补0;当多于1472字节时候,自动丢弃;

posted @ 2017-07-05 14:42  jackywx  阅读(836)  评论(0编辑  收藏  举报