[发明专利]基于ZYNQ的DMA数据传输方法在审
申请号: | 201911006278.9 | 申请日: | 2019-10-22 |
公开(公告)号: | CN112699070A | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 王洋;崔艳松;王茂义;刘彬;袁梦云 | 申请(专利权)人: | 北京华航无线电测量研究所 |
主分类号: | G06F13/32 | 分类号: | G06F13/32;G06F13/16;G06F13/40;G06F5/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100013 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 zynq dma 数据传输 方法 | ||
1.一种基于ZYNQ的DMA数据传输方法,其特征在于,包括如下步骤:
步骤1:FPGA对接收到的数据包进行长度校验;
步骤2:将经过数据包长度校验后的数据存储在接收fifo中;
步骤3:FPGA根据AXIDMA核的配置模式,通过AXI4-Stream总线发送接收fifo中的数据至内存DDR,完成流式接口到内存映射的转换;
步骤4:ARM读取内存DDR中的数据。
2.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述步骤1数据包长度校验,方法如下:
FPGA将接收到的数据包中一帧传输数据量进行计数,并与输入端口传递的所需传输的帧长度进行对比,若一帧数据量计数小于所需传输的帧长度,则计算数据量差值,将缺少的数据量用位数全‘1’补齐,将有效数据输出;若一帧数据量计数与所需传输的帧长度相等,则直接将有效数据输出。
3.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,FPGA根据任务需求设置每帧数据块大小FRAME_SIZE,将经过数据包长度校验后的数据按照设置的每帧数据块大小FRAME_SIZE存储在接收fifo中。
4.根据权利要求3所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,FPGA对所需传输的经过数据包长度校验后的数据块大小进行统计,设置接收fifo深度。
5.根据权利要求4所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述接收fifo深度设置为1k/64k可选。
6.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述步骤3中AXIDMA核的配置模式设置为:
在AXIDMA核中设置写响应通道使能为开,此时ZYNQ内部数据传输方向为FPGA到ARM,FPGA设置数据流位宽、一次最大突发传输长度、DMA传输数据块大小。
7.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述步骤3发送接收fifo中的数据至内存DDR,数据发送条件如下:
当FPGA监测到接收fifo数据量积累达到一帧数据量大小FRAME_SIZE的一半时,接收fifo开启准备发送数据状态,若此时AXI DMA核不具备传输状态,则接收fifo一直处于等待发送数据状态,若监测到AXIDMA核具备传输状态,则接收fifo发送数据。
8.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述步骤3FPGA根据AXIDMA核的配置模式,将接收fifo中的数据转换成AXI4-Stream总线信号形式,发送至内存DDR,完成流式接口到内存映射的转换。
9.根据权利要求1所述的一种基于ZYNQ的DMA数据传输方法,其特征在于,所述步骤4ARM读取内存DDR中的数据,方法为:AXIDMA核收到AXI4-Stream总线上的数据结束标识后,产生FPGA到ARM处理器的中断信号,ARM收到中断后从内存DDR中将数据读出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华航无线电测量研究所,未经北京华航无线电测量研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911006278.9/1.html,转载请声明来源钻瓜专利网。