一种基于FPGA的动态加载PCIE从设备的系统、方法、电子设备和存储介质与流程

专利查询22天前  13


本发明涉及嵌入式,尤其涉及一种基于fpga的动态加载pcie从设备的系统、方法、电子设备和存储介质。


背景技术:

1、fpga开发和应用发展迅速,凭借其灵活性高、开发周期短、并行计算效率高等优势,fpga被应用到越来越多的领域中,与dsp、cpu、gpu、mcu等芯片共同构成嵌入式平台。

2、当嵌入式系统中fpga作为一个pcie从设备时,需要在cpu启动之前准备好,以便cpu启动时能扫描到fpga并与之配合工作。由于fpga资源限制,开发中有时会在需要使用时再重新加载fpga中对应固件。重新加载会清除fpga中原有的配置,包括pcie接口的有关配置,导致cpu无法连接fpga。

3、现有技术中,fpga配置重加载之后可以通过重启操作系统来重新建立cpu与fpga的pcie连接,但是重启操作系统耗时在分钟级别,效率低、耗时长。另一种部分重加载方式,是通过保留pcie配置的部分,重加载其它配置,但是这种方法非常消耗fpga资源,导致功能业务可用资源大大减少,甚至无法保证正常运行。


技术实现思路

1、鉴于上述的分析,本发明实施例旨在提供一种基于fpga的动态加载pcie从设备的系统、方法、电子设备和存储介质,用以解决现有作为cpu pcie从设备的fpga动态加载耗时长、效率低的问题。

2、一方面,本发明实施例提供了一种基于fpga的动态加载pcie从设备的系统,所述系统包括基于aurora总线通信的第一fpga和第二fpga,其中,

3、所述第一fpga用于保存pcie接口配置并通过所述pcie接口连接cpu,并在所述cpu与所述第二fpga之间转发信息;

4、所述第二fpga包括功能业务模块,并支持动态加载所述功能业务模块的配置。

5、上述技术方案的有益效果如下:采用所述第一fpga通过pcie接口连接cpu,所述第二fpga运行功能业务模块并支持动态加载,所述第一fpga通过所述aurora总线连接第二fpga,并在所述cpu和所述第二fpga之间转发信息的方案,既满足了所述第二fpga动态加载功能业务模块的配置的需要,又通过所述第一fpga通过所述pcie接口连接所述cpu从而避免重启操作系统,使得所述pcie接口配置不会被清除,采用aurora总线用于所述第一fpga和所述第二fpga之间通信还保障了通信速率,解决了cpu与作为pcie从设备的fpga在动态加载时的耗时长、效率低的问题。

6、基于上述系统的进一步改进,所述第一fpga的pcie接口和aurora总线之间设置有axi4full模块和axi4lite模块,其中,

7、所述第一fpga的axi4full模块用于从所述pcie接口或所述aurora总线发送的信息中解析出数据并输出;

8、所述第一fpga的axi4lite模块用于从所述pcie接口或所述aurora总线发送的信息中解析出配置并输出。

9、上述进一步改进方案的有益效果是:所述第一fpga设置的axi4full模块和axi4lite模块,满足了所述pcie接口和所述aurora总线间传输数据的解析和传输速率需要。

10、基于上述系统的进一步改进,所述第二fpga在aurora总线和所述功能业务模块之间设置有axi4full模块和axi4lite模块,其中,

11、所述第二fpga的axi4full模块用于从所述aurora总线或所述功能业务模块发送的信息中解析出数据并输出;

12、所述axi4lite模块用于从所述aurora总线和所述功能业务模块发送的信息中解析出配置并输出。

13、上述进一步改进方案的有益效果是:所述第二fpga设置的axi4full模块和axi4lite模块,满足了所述aurora总线和所述功能业务模块间传输数据的解析和传输速率需要。

14、基于上述系统的进一步改进,所述第一fpga的axi4full模块、axi4lite模块与所述aurora总线间均设置有用于产生模拟通信信号的防火墙。

15、上述进一步改进方案的有益效果是:当所述第二fpga动态加载时,所述防火墙产生模拟通信信号与所述第一fpga保持通信,从而维持所述第一fpga、cpu之间的正常通信状态。

16、基于上述系统的进一步改进,当动态加载所述第二fpga,所述防火墙模拟所述第二fpga,维持与所述第一fpga的通信状态,直至所述第二fpga完成动态加载则所述防火墙停止运行。

17、上述进一步改进方案的有益效果是:确保所述第二fpga动态加载期间,所述第一fpga、cpu通信状态正常,避免所述第一fpga、cpu通信状态异常导致系统重启而造成的耗时长、效率低的问题。

18、基于上述系统的进一步改进,所述第一fpga、第二fpga的axi4full模块、axi4lite模块均包括写地址通道、写数据通道、写响应通道、读地址通道、读响应通道,所述第一fpga、第二fpga的各通道均设置有有效位。

19、上述进一步改进方案的有益效果是:实现了数据分通道发送,并且通过有效位设置实现数据传输的流控。

20、基于上述系统的进一步改进,所述第一fpga的读响应信道、所述第二fpga的写地址信道、写数据信道和读地址信道均设置有用于通信反馈与数据流控的fifo。

21、上述进一步改进方案的有益效果是:用于解决所述第一fpga和第二fpga通过aurora总线通信时,数据接收端无法直接通过所述aurora总线与数据发送端状态反馈和流控的问题。

22、另一方面,本发明实施例提供了一种支持动态加载的pcie从设备通信方法,所述方法具体包括:

23、由所述第一fpga或第二fpga作为发送端通过所述发送端的axi4full模块的对应通道发送的数据、通过所述发送端的axi4lite模块发送的配置信息输入所述aurora总线;

24、所述aurora总线将所述数据和配置信息对应整合为数据包后发送至数据接收端;

25、所述数据包由所述接收端的axi4full模块解析出数据、所述接收端的axi4lite模块解析出配置信息分别存入对应的fifo;

26、判断所述接收端的axi4full模块或axi4lite模块对应的fifo容量是否达到预设阈值,如果是,则所述发送端停止发送数据;

27、所述接收端的axi4full模块和axi4lite模块对应的fifo将接收到的数据依次转发至所述接收端的axi4full模块和axi4lite模块对应通道。

28、上述技术方案的有益效果如下:通过在所述第一fpga、第二fpga中均设置axi4full、axi4lite模块,所述第一fpga、第二fpga通过所述aurora总线连接并通信,实现了cpu通过pcie发送的信息能够解析并通过所述第一fpga的axi4full模块对应通道、axi4lite模块对应通道组成完整数据包发送至所述第二fpga,cpu也可以通过pcie读取到所述第一fpga接收的来自所述第二fpga的完整数据;并且通过在所述接收端axi4full模块、axi4lite模块后均设置fifo,并通过判断所述fifo容量是否达到预设阈值从而控制所述发送端停止或启动发送数据的方法,解决了所述aurora总线作为所述第一fpga和所述第二fpga通信总线时,所述接收端无法与所述发送端进行状态反馈和流控的问题。

29、本发明实施例还提供了一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例提供的所述一种支持动态加载的pcie从设备通信方法的步骤。

30、上述技术方案的有益效果如下:所述电子设备能够在动态加载fpga中的功能业务时,不必重新启动操作系统,解决了现有技术中动态加载fpga时需重启操作系统导致的耗时长、效率低的问题。

31、本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的所述一种支持动态加载的pcie从设备通信方法的步骤。

32、上述技术方案的有益效果如下:所述存储介质中存储的计算机程序,能够实现cpu与通过第一fpga与第二fpga保持高速率数据通信,并且当动态加载所述第二fpga时,不必重新启动操作系统,解决了现有技术中动态加载fpga时需重启操作系统导致的耗时长、效率低的问题。

33、本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。


技术特征:

1.一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述系统包括基于aurora总线通信的第一fpga和第二fpga,其中,

2.根据权利要求1所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述第一fpga的pcie接口和aurora总线之间设置有axi4fullfull模块和axi4lite模块,其中,

3.根据权利要求1所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述第二fpga在aurora总线和所述功能业务模块之间设置有axi4full模块和axi4lite模块,其中,

4.根据权利要求2所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述第一fpga的axi4full模块、axi4lite模块与所述aurora总线间均设置有用于产生模拟通信信号的防火墙。

5.根据权利要求4所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,当动态加载所述第二fpga,所述防火墙模拟所述第二fpga,维持与所述第一fpga的通信状态,直至所述第二fpga完成动态加载则所述防火墙停止运行。

6.根据权利要求5所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述第一fpga、第二fpga的axi4full模块、axi4lite模块均包括写地址通道、写数据通道、写响应通道、读地址通道、读响应通道,所述第一fpga、第二fpga的各通道均设置有有效位。

7.根据权利要求6所述的一种基于fpga的动态加载pcie从设备的系统,其特征在于,所述第一fpga的读响应信道、所述第二fpga的写地址信道、写数据信道和读地址信道均设置有用于通信反馈与数据流控的fifo。

8.基于权利要求1-7任一项所述的一种基于fpga的动态加载pcie从设备的系统的支持动态加载的pcie从设备通信方法,其特征在于,所述方法具体包括:

9.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求8所述的支持动态加载的pcie从设备通信方法的步骤。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求8所述支持动态加载的pcie从设备通信方法的步骤。


技术总结
本发明涉及一种基于FPGA的动态加载PCIE从设备的系统、方法、电子设备和存储介质,属于嵌入式技术领域,采用两片FPGA,其中,一片用于保存PCIE配置并连接CPU,另一片包括功能业务模块并支持动态加载,两片FPGA通过AURORA总线连接,并分别设置AXI4FULL模块、AXI4LITE模块实现数据透传,解决了现有技术中采用单片FPGA作为PICE从设备,当动态加载时PCIE配置丢失导致不得不重启操作系统而造成的耗时长、效率低的问题。

技术研发人员:王姚幸,许桂林,黄陆瑶,周杰文,曹唯,王佩
受保护的技术使用者:中国兵器装备集团上海电控研究所
技术研发日:
技术公布日:2024/12/5

最新回复(0)