一种基于USB3.0的FPGA与嵌入式平台数据链接方法及系统技术方案

技术编号:29253887 阅读:28 留言:0更新日期:2021-07-13 17:24
本发明专利技术公开了一种基于USB3.0的FPGA与嵌入式平台数据链接系统,包括嵌入式平台、USB3.0接口芯片和FPGA,FPGA中的DMA控制器控制数据通过USB在嵌入式平台和FPGA之间传输。还公开了一种方法,包括在嵌入式平台通过USB传输函数发起USB传输请求;FPGA收到USB传输请求后响应请求,将USB总线控制权交给DMA控制器;DMA控制器控制数据在嵌入式平台和FPGA之间通过USB传输。在FPGA和嵌入式平台之间建立基于USB3.0的数据链接,拓宽了FPGA与其他计算平台之间的数据交互方式,解决了FPGA无法与嵌入式平台进行数据互通的问题,提高数据交互的便捷性。

【技术实现步骤摘要】
一种基于USB3.0的FPGA与嵌入式平台数据链接方法及系统
本专利技术涉及高速数据传输
,具体的说,是一种基于USB3.0的FPGA与嵌入式平台数据链接方法及系统。
技术介绍
现有技术中,FPGA和嵌入式平台(个人电脑、树莓派等)的链接方式主要是PCIe,PCIe具有通用性,但是便捷性较差,这使得FPGA无法与不具备PCIe接口的嵌入式平台建立硬件连接关系和数据传输。
技术实现思路
本专利技术的目的在于提供一种基于USB3.0的FPGA与嵌入式平台数据链接方法及系统,用于解决现有技术中FPGA无法与不具备PCIe接口的嵌入式平台建立硬件连接关系和数据传输的问题。本专利技术通过下述技术方案解决上述问题:一种基于USB3.0的FPGA与嵌入式平台数据链接系统,包括嵌入式平台、USB3.0接口芯片和FPGA,其中:USB3.0接口芯片,通过USB连接器与嵌入式平台连接,并与FPGA通信连接;FPGA,包括依次通信连接的FPGA内部FIFO、DMA控制器、DDR控制器和DDR存储器,FPGA内部FIFO与USB3.0接口芯片的内部FIFO通信连接;嵌入式平台,用于通过API提供的USB传输函数向嵌入式平台发起USB传输请求;以及用于在DMA控制器控制下与FPGA通过USB进行数据交换。一种基于USB3.0的FPGA与嵌入式平台数据链接方法,包括:步骤S100:在嵌入式平台通过USB传输函数对需要读取/写入数据的FPGA端DDR地址发起USB传输请求;步骤S200:FPGA收到USB传输请求后响应请求,将USB总线控制权交给DMA控制器;步骤S300:DMA控制器控制数据在嵌入式平台和FPGA之间通过USB传输,传输方向为嵌入式平台->USB接口芯片->FPGA内部FIFO->DDR或DDR->FPGA内部FIFO->USB接口芯片->嵌入式平台。所述步骤S100具体包括:嵌入式平台调用Python/C++提供的USB函数库中的USB读/写函数,发起USB读/写请求,调用DMA控制器进行FPGA存储器特定地址的读写。所述步骤S300具体包括:步骤S310:FPGA收到USB读/写请求后做出应答;步骤S320:发送存储器地址;步骤S330:DMA控制嵌入式平台与FPGA之间的USB数据传输;步骤S340:完成该存储器本地址的数据读写,判断数据传输是否完成,若是,结束,否则修改存储器地址,返回步骤S320。本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术在FPGA和嵌入式平台之间建立基于USB3.0的数据链接,拓宽了FPGA与其他计算平台之间的数据交互方式,解决了FPGA无法与嵌入式平台进行数据互通的问题,提高数据交互的便捷性。附图说明图1为本专利技术的系统框图;图2为FPGA与USB3.0接口芯片的电路连接图;图3为DMA控制器框图;图4为调用FPGADMA控制器进行特定地址的读写的流程图;图5为FPGA内部电路框图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:结合附图1、图2和图5所示,一种基于USB3.0的FPGA与嵌入式平台数据链接系统,包括嵌入式平台、USB3.0接口芯片和FPGA,其中:USB3.0接口芯片,通过USB连接器与嵌入式平台连接,并与FPGA通信连接;优选地,USB3.0接口芯片选用CypressFX3芯片。FPGA,包括依次通信连接的FPGA内部FIFO、DMA控制器、DDR控制器和DDR存储器,FPGA内部FIFO与USB3.0接口芯片的内部FIFO通信连接;嵌入式平台,用于通过API提供的USB传输函数向嵌入式平台发起USB传输请求;以及用于在DMA控制器控制下与FPGA通过USB进行数据交换。嵌入式平台上通过API提供的USB函数库中的USB读/写函数,携带需要读取或写入到额FPGA的DDR地址,发起USB读写请求,FPGA接收到USB读写请求后做出响应,将USB总线控制权交给DMA控制器,当为写请求时,DMA控制器控制数据从嵌入式平台通过USB连接器、USB接口芯片到FPGARAM(FPGA内部FIFO)再将数据写入到FPGA的DDR;当为读请求时,DMA控制器控制数据从FPGA上DDR到FPGARAM(FPGA内部FIFO)再到FX3内部FIFO,再通过USB连接器到嵌入式平台,在FPGA和嵌入式平台之间建立基于USB3.0的数据交互,扩宽了二者的数据交互方式。本专利技术不仅仅可以应用于FPGA与嵌入式平台,也可以是FPGA与个人电脑之间的数据交互。嵌入式平台包括但不限于树莓派。实施例2:一种基于USB3.0的FPGA与嵌入式平台数据链接方法,包括:步骤S100:在嵌入式平台通过USB传输函数对需要读取/写入数据的FPGA端DDR地址发起USB传输请求;步骤S200:FPGA收到USB传输请求后响应请求,将USB总线控制权交给DMA控制器;步骤S300:DMA控制器控制数据在嵌入式平台和FPGA之间通过USB传输,下行通道为:嵌入式平台->USB接口芯片->FPGA内部FIFO->DDR,上行通道为:DDR->FPGA内部FIFO->USB接口芯片->嵌入式平台。所述步骤S100具体包括:嵌入式平台调用Python/C++提供的USB函数库中的USB读/写函数,发起USB读/写请求,调用DMA控制器进行FPGA存储器特定地址的读写。所述步骤S300具体包括:步骤S310:FPGA收到USB读/写请求后做出应答;步骤S320:发送存储器地址;步骤S330:DMA控制嵌入式平台与FPGA之间的USB数据传输;步骤S340:完成该存储器本地址的数据读写,判断数据传输是否完成,若是,结束,否则修改存储器地址,返回步骤S320。结合图3所示,DMA控制器的主模块为USB和FPGA内部控制器之间的控制握手命令和数据交互的通道,该设计在DMA控制器主模块中使用两路FIFO电路,分别处理USB的读和写操作。DMA控制器中的从模块解析由嵌入式平台下发的握手命令,并通过命令控制单元做出相应的控制操作。DMA控制器中的命令控制单元根据从模块的指令命令来进行如下控制:1.在读和写操作之间进行切换;2.决定数据的流向,如数据可以进入DDR或者FPGA内部寄存器;3.对DDR操作时,决定DDR的读写地址。同时为了保证DMA控制器工作的实时性,该设计还在DMA控制器中加入了中断电路,中断电路会接收外部中断信号,并作出相应的处理操作。具体操作流程如下:1.FPGA内部FIFO满,中断产生,DMA控制器将使能信号置为0,并本文档来自技高网...

【技术保护点】
1.一种基于USB3.0的FPGA与嵌入式平台数据链接系统,其特征在于,包括嵌入式平台、USB3.0接口芯片和FPGA,其中:/nUSB3.0接口芯片,通过USB连接器与嵌入式平台连接,并与FPGA通信连接;/nFPGA,包括依次通信连接的FPGA内部FIFO、DMA控制器、DDR控制器和DDR存储器,FPGA内部FIFO与USB3.0接口芯片的内部FIFO通信连接;/n嵌入式平台,用于通过API提供的USB传输函数向嵌入式平台发起USB传输请求;以及用于在DMA控制器控制下与FPGA通过USB进行数据交换。/n

【技术特征摘要】
1.一种基于USB3.0的FPGA与嵌入式平台数据链接系统,其特征在于,包括嵌入式平台、USB3.0接口芯片和FPGA,其中:
USB3.0接口芯片,通过USB连接器与嵌入式平台连接,并与FPGA通信连接;
FPGA,包括依次通信连接的FPGA内部FIFO、DMA控制器、DDR控制器和DDR存储器,FPGA内部FIFO与USB3.0接口芯片的内部FIFO通信连接;
嵌入式平台,用于通过API提供的USB传输函数向嵌入式平台发起USB传输请求;以及用于在DMA控制器控制下与FPGA通过USB进行数据交换。


2.利用如权利要求1所述的系统实现的一种基于USB3.0的FPGA与嵌入式平台数据链接方法,其特征在于,包括:
步骤S100:在嵌入式平台通过USB传输函数对需要读取/写入数据的FPGA端DDR地址发起USB传输请求;
步骤S200:FPGA收到USB传输请求后响应请求,将USB总线控制权交给DMA控制器;
步骤S300:DMA控制器控制数据在嵌入式平台和F...

【专利技术属性】
技术研发人员:王铭宇吴晨王泽宇
申请(专利权)人:成都恒创新星科技有限公司
类型:发明
国别省市:四川;51

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

1