预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110825674A(43)申请公布日2020.02.21(21)申请号201911041998.9(22)申请日2019.10.30(71)申请人北京计算机技术及应用研究所地址100854北京市海淀区永定路51号(72)发明人龚清生王吕大赵明亮沈月峰王震李正坤孙大东杨帆王晓光胡建军陕振(74)专利代理机构中国兵器工业集团公司专利中心11011代理人王雪芬(51)Int.Cl.G06F13/32(2006.01)权利要求书1页说明书3页附图2页(54)发明名称基于FPGA的PCIEDMA交互系统及交互方法(57)摘要本发明涉及一种基于FPGA的PCIEDMA交互系统及交互方法,属于DMA技术领域。本发明采用一种新的方案,对现有CPU轮询寄存器(R2)的方式作了改进,实现了FPGA板卡与CPU之间的PCIE多通道DMA交互,有效降低了对CPU资源和PCIE带宽的占用,提高了PCIE传输效率。CN110825674ACN110825674A权利要求书1/1页1.一种基于FPGA的PCIEDMA交互系统,其特征在于,该系统用于实现FPGA板卡与CPU之间的PCIE多通道DMA交互。2.如权利要求1所述的系统,其特征在于,该系统包括位于CPU端的CPU程序和位于FPGA端的FPGA程序,所述CPU程序包括驱动程序、中断服务程序和应用程序,FPGA程序包括BAR控制器、DMA控制器、中断控制器;其中,所述驱动程序用于分配内存以设置交互寄存器,以及使能中断;中断服务程序用于接收FPGA板卡发出的中断,并清除中断,更新应用程序;应用程序用于使能DMA,结束DMA以及处理CPU端的应用层数据;BAR控制器用于在BAR空间设置用于启动DMA的相关寄存器,包括内存首地址寄存器,数据长度寄存器,DMA使能寄存器R1,检测R1,并在检测到DMA使能后开启DMA;DMA控制器用于控制DMA数据传输,并在数据传输完成后,更新CPU内存中的交互寄存器;中断控制器用于在DMA传输完成并更新完交互寄存器之后,发起中断。3.如权利要求2所述的系统,其特征在于,所述FPGA程序还包括应用逻辑,所述应用逻辑用于处理FPGA板卡中的数据。4.如权利要求3所述的系统,其特征在于,所述FPGA程序还包括应用逻辑,所述应用逻辑用于处理FPGA板卡中的应用层数据。5.一种利用权利要求2或3或4所述的系统实现的基于FPGA的PCIEDMA交互方法,其特征在于,包括以下步骤:CPU端的驱动程序分配一片内存,将内存的前面一部分寄存器设置为交互寄存器,并使能中断,应用程序使能DMA传输,FPGA板卡的BAR控制器启动DMA的相关寄存器,应用程序将CPU内存的首地址、数据包的长度信息,写到FPGA板卡BAR空间的对应DMA相关寄存器,具体是将CPU内存的首地址写到内存首地址寄存器,将数据包的长度信息写到数据长度寄存器,FPGA板卡的BAR控制器检测DMA使能寄存器R1,检测到DMA使能后开启DMA,DMA控制器开始控制DMA数据传输,并在数据传输完成后更新CPU内存中的交互寄存器,之后由中断控制器产生中断,CPU端的中断服务程序接收中断并清除中断,更新应用程序,应用程序处理CPU端的应用数据并结束当前DMA。6.如权利要求5所述的方法,其特征在于,所述应用程序结束当前DMA后进入下一次DMA传输流程。7.如权利要求5所述的方法,其特征在于,CPU端的驱动程序将内存前面16字节的寄存器设置为交互寄存器。8.如权利要求5所述的方法,其特征在于,所述应用程序将CPU内存的首地址、数据包的长度信息,通过PCIE写到FPGA板卡BAR空间的对应DMA相关寄存器。2CN110825674A说明书1/3页基于FPGA的PCIEDMA交互系统及交互方法技术领域[0001]本发明属于DMA技术领域,具体涉及一种基于FPGA的PCIEDMA交互系统及交互方法。背景技术[0002]DMA读写是FPGA板卡与CPU之间进行数据传输的常用方式,CPU以怎么样的方式开始DMA,PCIE传输完成后,FPGA板卡又以怎么样的方式结束DMA,是影响DMA传输效率的关键技术。[0003]常用的DMA交互方式,一般是CPU写某个BAR空间地址的DAM使能寄存器(R1)开始DMA,FPGA板卡控制PCIE传输数据,传输完成后,FPGA更新BAR空间地址的另一个寄存器(R2),CPU轮询寄存器(R2)结束DMA,完成一次DMA操作,如图1所示。在PCIE传输数据期间,CPU一直在轮询FPGA板卡上的寄存器R2,占用了CPU资源,同时也占用了PCIE带宽,降低了数据传输效率。发明内容[0004](一)要解决的技术问题[0005]本发明要解决的技术问题是