基于ZYNQ平台的数据收发方法、系统、存储介质及设备技术方案

技术编号:36535285 阅读:44 留言:0更新日期:2023-02-01 16:20
本发明专利技术提供了一种基于ZYNQ平台的数据收发方法、系统、存储介质及设备,方法包括:在处理器系统侧,由ARM处理器通过UDP协议接收并处理以太网数据,得到处理完成的数据;通过逻辑DMA引擎将处理完成的数据搬运至可编程逻辑侧,并通过UDP组帧模块对处理完成的数据进行组包封装,得到以太网MAC帧数据;通过可编程逻辑侧的第一MAC对以太网MAC帧数据按照物理层帧格式进行组帧,得到第一报文;将第一报文和处理器系统侧的第二报文通过仲裁器仲裁后经由GMII发送接口发送至外部网口芯片。本发明专利技术通过软件、逻辑协同处理实现UDP数据的接收、处理、发送功能,极大地降低了CPU资源消耗。极大地降低了CPU资源消耗。极大地降低了CPU资源消耗。

【技术实现步骤摘要】
基于ZYNQ平台的数据收发方法、系统、存储介质及设备


[0001]本专利技术涉及信息
,尤其涉及一种基于ZYNQ平台的数据收发方法、系统、存储介质及设备。

技术介绍

[0002]随着服务器、汽车、人工智能、边缘计算等领域对算力和AI性能需求的不断提升,单一的处理器已经越来越不能满足高性能计算的需求,异构计算成为了新的发展方向;ZYNQ系列是Xilinx公司推出的高端嵌入式SoC(System on Chip,系统级芯片),其在片上集成了ARM处理器(Advanced RISC Machines,通用处理器)和FPGA(Field Programmable Gate Array,现场可编程门阵列),和传统的嵌入式CPU(Central Process Unit,中央处理器)相比,具有强大的并行处理能力,在开发过程中如何合理划分ARM及FPGA的功能发挥各自的优势显得尤为重要。
[0003]图1为根据现有技术提供的传统UDP数据收发实现的结构示意图。如图1所示,ARM处理器通过UDP协议(User Datagram Protocol,用户数据报协议)接收以太网数据、处理数据、再通过UDP协议发送以太网数据;其中DMA(Direct Memory Access,直接存储器访问)、MAC(Media Access Control,媒体访问控制)为硬件单元,设备驱动、UDP协议栈、数据处理均由ARM软件实现;在接收数据时由软件驱动层调用DMA从MAC获取以太网帧数据后交由UDP协议栈进行报文解析,将解析后得到的用户数据由ARM进行数据处理,处理完成后将处理后的用户数据交由UDP协议栈进行组包封装后形成最终的以太网帧,由DMA搬运至MAC后最终通过以太网接口发送出去。上述处理流程随着数据量递增带来的CPU资源消耗越来越大。
[0004]图2为根据现有技术提供的UDP协议栈报文处理示意图。如图2所示,单就UDP发送过程来讲,软件将用户数据交由传输层添加UDP首部后形成UDP段报文,而后交由IP(Internet Protocol,网际互连协议)层添加IP首部后形成IP段报文,最后将IP段报文交由链路层添加帧首部后形成最终以太网帧,以太网帧即为最终交由MAC层进行发送的报文。上述过程中除每一层需添加首部信息外还需要计算校验和,因此在由用户数据到最终以太网帧的成帧过程中需要进行多次校验和计算及内存拷贝,由此带来的CPU资源消耗在进行大数据量处理时尤为可观。
[0005]在ZYNQ7000平台上实际测试显示在数据量约为350Mbps时通过UDP协议栈仅进行UDP的数据收发就占到了CPU(ARM)利用率的50%左右。因此如何有效降低UDP数据收发带来的CPU资源消耗对释放CPU进行大量数据处理具有重要意义。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提出一种基于ZYNQ平台的数据收发方法、系统、存储介质及设备,用以解决现有技术中在ZYNQ平台进行基于UDP协议的数据收发导致消耗大量CPU资源的问题。
[0007]基于上述目的,本专利技术提供了一种基于ZYNQ平台的数据收发方法,包括以下步骤:
[0008]在处理器系统侧,由ARM处理器通过UDP协议接收并处理以太网数据,得到处理完成的数据;
[0009]通过逻辑DMA引擎将处理完成的数据搬运至可编程逻辑侧,并通过UDP组帧模块对处理完成的数据进行组包封装,得到以太网MAC帧数据;
[0010]通过可编程逻辑侧的第一MAC对以太网MAC帧数据按照物理层帧格式进行组帧,得到第一报文;
[0011]将第一报文和处理器系统侧的第二报文通过仲裁器仲裁后经由GMII发送接口发送至外部网口芯片。
[0012]在一些实施例中,方法还包括:
[0013]由处理器系统侧通过APB总线和APB从功能模块分别对逻辑DMA引擎、UDP组帧模块及第一MAC的寄存器进行访问与配置。
[0014]在一些实施例中,方法还包括:
[0015]以太网MAC帧数据采用以太网帧格式;
[0016]由ARM处理器通过APB总线将以太网帧格式所需的帧首部的源MAC地址和类型,以及IP首部与UDP首部中除校验和外的所有字段进行配置;
[0017]校验和由UDP组帧模块根据配置信息进行计算后得到。
[0018]在一些实施例中,方法还包括:
[0019]基于第一报文的发送方式确定帧首部的目的MAC地址,其进一步包括:
[0020]响应于发送方式为组播发送,基于预设映射关系利用组播的目的IP地址获得目的MAC地址,预设映射关系为组播的多个IP地址与对应的MAC地址的映射关系;
[0021]响应于发送方式为单播发送,通过ARP协议获取目的MAC地址,ARP协议由处理器系统侧的软件协议栈实现。
[0022]在一些实施例中,对以太网MAC帧数据按照物理层帧格式进行组帧包括:
[0023]在以太网MAC帧数据前添加前导码和起始码,在以太网MAC帧数据后添加校验码,校验码根据以太网MAC帧数据生成。
[0024]在一些实施例中,将第一报文和处理器系统侧的第二报文通过仲裁器仲裁后经由GMII发送接口发送至外部网口芯片包括:
[0025]通过可编程逻辑侧的缓冲区暂存处理器系统侧的第二MAC发送的第二报文;
[0026]响应于第二MAC得到仲裁权,将缓冲区中的所有第二报文通过GMII发送接口发送至外部网口芯片,并在发送完成后释放仲裁权。
[0027]在一些实施例中,通过逻辑DMA引擎将处理完成的数据搬运至可编程逻辑侧包括:
[0028]利用AXI总线并通过逻辑DMA引擎将处理完成的数据搬运至可编程逻辑侧。
[0029]本专利技术的另一方面,还提供了一种基于ZYNQ平台的数据收发系统,包括:
[0030]处理模块,配置用于在处理器系统侧,由ARM处理器通过UDP协议接收并处理以太网数据,得到处理完成的数据;
[0031]封装模块,配置用于通过逻辑DMA引擎将处理完成的数据搬运至可编程逻辑侧,并通过UDP组帧模块对处理完成的数据进行组包封装,得到以太网MAC帧数据;
[0032]组帧模块,配置用于通过可编程逻辑侧的第一MAC对以太网MAC帧数据按照物理层帧格式进行组帧,得到第一报文;以及
[0033]发送模块,配置用于将第一报文和处理器系统侧的第二报文通过仲裁器仲裁后经由GMII发送接口发送至外部网口芯片。
[0034]本专利技术的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
[0035]本专利技术的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
[0036]本专利技术至少具有以下有益技术效果:
[0037]本专利技术的基于ZYNQ平台的数据收发方法中,数据接收、数据处理两部分仍由ARM本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ZYNQ平台的数据收发方法,其特征在于,包括以下步骤:在处理器系统侧,由ARM处理器通过UDP协议接收并处理以太网数据,得到处理完成的数据;通过逻辑DMA引擎将所述处理完成的数据搬运至可编程逻辑侧,并通过UDP组帧模块对所述处理完成的数据进行组包封装,得到以太网MAC帧数据;通过所述可编程逻辑侧的第一MAC对所述以太网MAC帧数据按照物理层帧格式进行组帧,得到第一报文;将所述第一报文和所述处理器系统侧的第二报文通过仲裁器仲裁后经由GMII发送接口发送至外部网口芯片。2.根据权利要求1所述的方法,其特征在于,还包括:由所述处理器系统侧通过APB总线和APB从功能模块分别对所述逻辑DMA引擎、所述UDP组帧模块及所述第一MAC的寄存器进行访问与配置。3.根据权利要求2所述的方法,其特征在于,还包括:所述以太网MAC帧数据采用以太网帧格式;由所述ARM处理器通过所述APB总线将所述以太网帧格式所需的帧首部的源MAC地址和类型,以及IP首部与UDP首部中除校验和外的所有字段进行配置;所述校验和由所述UDP组帧模块根据配置信息进行计算后得到。4.根据权利要求3所述的方法,其特征在于,还包括:基于所述第一报文的发送方式确定所述帧首部的目的MAC地址,其进一步包括:响应于所述发送方式为组播发送,基于预设映射关系利用所述组播的目的IP地址获得所述目的MAC地址,所述预设映射关系为组播的多个IP地址与对应的MAC地址的映射关系;响应于所述发送方式为单播发送,通过ARP协议获取所述目的MAC地址,所述ARP协议由所述处理器系统侧的软件协议栈实现。5.根据权利要求1所述的方法,其特征在于,对所述以太网MAC帧数据按照物理层帧格式进行组帧包括:在所述以太网MAC帧数据前添加前导码和起始码,在所述以太网MAC帧...

【专利技术属性】
技术研发人员:杨作林荆晓龙王明明
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1