[发明专利]一种基于UDP的上层协议与以太网MAC层的数据传输方法无效
申请号: | 201310713956.1 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103746966A | 公开(公告)日: | 2014-04-23 |
发明(设计)人: | 张金凤;李军辉;袁子乔;张楠 | 申请(专利权)人: | 西安电子工程研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/00 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710100 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于UDP的上层协议与以太网MAC层的数据传输方法,基于UDP协议实现对网络数据的封装,并将其模块接口化。将该模块与以太网MAC子层连接,实现了不同数据长度、不同数据率的FPGA与计算机的数据传输。本发明的创新点在于:将以太网MAC帧封装接口化,可以方便快速的添加到以太网系统中,实现上层协议与用户逻辑和以太网MAC层的连接。添加UDP和IP协议报头,根据首部校验和和数据校验和字段,检测数据在传输中是否有错,提高数据传输的可靠性。 | ||
搜索关键词: | 一种 基于 udp 上层 协议 以太网 mac 数据传输 方法 | ||
【主权项】:
一种基于UDP的上层协议与以太网MAC层的数据传输方法,其特征在于上层协议与用户逻辑之间的接口通过一个异步FIFO连接,FPGA与计算机之间通过以太网进行通信时数据以MAC帧格式传输;具体步骤如下:步骤1:将用户要发送的数据先存入FIFO中,根据FIFO的空满信号控制FIFO写数据和封装开始信号;所述FIFO深度根据发送数据包长度自行决定,FIFO宽度为32bit;步骤2:当封装开始信号标志数据开始封装时,在数据前面添加UDP、IP以及MAC帧首部,组成以太网MAC帧格式,其中MAC帧头插入的8字节和FCS字段是由以太网MAC核自动添加;数据封装的具体实现由状态机控制,状态机包括三个状态:TX_IDLE初始状态、TX_UDP_HEAD帧头封装状态、TX_UDP_READ数据封装状态;1、上层协议接到封装开始信号时,控制状态机进入TX_UDP_HEAD状态,帧头计数器累加;标识字段在系统中是一个计数器,每产生一个数据报,标识计数器就加1,帧头计数器为0时执行此操作;当帧头计数器为3时开始计算头部校验和,头部校验和字段只检验IP数据报的首部;所述计算头部校验和:首先把IP数据报首部划分为许多16bit的序列,并把校验和字段置零;其次用反码算术运算把所有16bit相加,将得到的和的反码写入校验和字段;当帧头计数器为4时,开始对IP数据首部协议字段之前的字段封装;当帧头计数器为9时,进入TX_UDP_READ状态,数据计数器进行累加;当计数器为0时,开始IP首部的其他字段以及UDP首部和发送数据部分封装,将IP首部的剩余字段和UDP首部字段完全封装;在发送状态机将数据从FIFO读出的过程中同时进行UDP校验;所述UDP校验和是把UDP伪首部、UDP首部以及发送数据一起检验;当计数器为2时开始从FIFO读取数据;当计数器为3时开始计算数据校验和,首先置UDP校验和初始值为0x0000,并添加到UDP校验和字段;当计数器为4时,开始数据封装;当计数器值等于数据长度加4时,从FIFO读出的数据封装结束;当计数器值等于数据长度加7时,校验和计算完成,进入TX_IDLE状态;步骤3:将封装数据和校验和分别存入FIFO中,当FIFO的写计数器长度为发送数据长度时,开始从FIFO中将数据读出,写入FIFO的校验和在写入的下一个周期立即读出,当校验和使能有效时,将计算所得的校验和重新写入MAC帧的UDP校验和字段;将所得MAC帧数据再经过FIFO缓存,根据以太网速度要求,控制读出数据宽度;步骤4:将FIFO缓存的MAC帧数据末尾多加的数据截掉,传输数据至以太网MAC层。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子工程研究所,未经西安电子工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310713956.1/,转载请声明来源钻瓜专利网。