一种基于FPGA_ROS的可重构计算系统和方法
摘要文本
本发明涉及FPGA系统领域,具体为一种基于FPGA_ROS的可重构计算系统和方法,其能够将FPGA_ROS应用到超出芯片资源的复杂图像算法上,降低了开发成本,将至少两组FPGA_ROS模块串联连接,所述FPGA_ROS模块包括ARM芯片、ARM与FPGA交互接口和FPGA芯片,所述ARM芯片上设置有订阅接口、发布接口,所述FPGA芯片配置与所述FPGA_ROS模块数量对应的IP核,所述IP核之间通过可重构方式进行切换,前面一组所述FPGA_ROS模块的发布接口发布的数据输入相邻的后面一组所述FPGA_ROS模块的订阅接口,最后一组所述FPGA_ROS模块的发布接口输出的为最终结果。
申请人信息
- 申请人:苏州蓝甲虫机器人科技有限公司
- 申请人地址:215000 江苏省苏州市姑苏区阊胥路483号
- 发明人: 苏州蓝甲虫机器人科技有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种基于FPGA_ROS的可重构计算系统和方法 |
| 专利类型 | 发明授权 |
| 申请号 | CN201710339020.5 |
| 申请日 | 2017年5月15日 |
| 公告号 | CN107153631B |
| 公开日 | 2024年3月19日 |
| IPC主分类号 | G06F15/78 |
| 权利人 | 苏州蓝甲虫机器人科技有限公司 |
| 发明人 | 柴志雷; 周浩杰; 阳文敏; 王芝斌; 张圆蒲; 王涛; 尤佳 |
| 地址 | 江苏省苏州市姑苏区阊胥路483号 |
专利主权项内容
1.一种基于FPGA_ROS的可重构计算方法,其特征在于,将至少两组FPGA_ROS模块串联连接,所述FPGA_ROS模块包括ARM芯片、ARM与FPGA交互接口和FPGA芯片,所述ARM芯片上设置有订阅接口、发布接口,所述FPGA芯片配置与所述FPGA_ROS模块数量对应的IP核,相邻的两个所述IP核之间通过图像缓冲模块、DDR芯片和行缓冲模块连接,所述IP核之间通过可重构方式进行切换,前面一组所述FPGA_ROS模块的发布接口发布的数据输入相邻的后面一组所述FPGA_ROS模块的订阅接口,最后一组所述FPGA_ROS模块的发布接口输出的为最终结果;硬件系统模块算法的调度策略借助了PR(Partial Reconfiguration)技术,PR技术允许FPGA在运行过程中切换逻辑,这是FPGA_ROS可以对算法进行重构的基础;PR机制如下:在FPGA上划分出一个可重构的块A,运行过程中可以使用多个部分的BIT文件,如A1.bit、A2.bit等对块A进行配置,A1.bit、A2.bit、A3.bit和A4.bit分别包含不同的算法,通过对BIT文件的配置完成算法的切换,在配置BIT文件的过程中,除了可重构块A以外其他的FPGA资源都保持不变,可持续运行而不受配置影响;控制不同图像模块在FPGA的启停时间和顺序,ROS的通讯基于发布订阅方式,即在订阅到话题后进行处理,然后将结果发布给订阅了发布话题的节点,然后下一个节点订阅到后依次再处理然后发布,所以在可重构FPGA_ROS中;算法分割成了n个模块,分别为IP1、IP2、…、IPn;Time_n表示不同模块所执行的时间;标有PC的一行代表PC上进行的操作,ARM和FPGA表示在ARM和FPGA上进行的操作,当从PC上发布图像时,IP1所在模块开始工作,处理完成后交由IP2,直至IPn在FPGA处理的结果返回,然后由PC上的订阅图片接收到结果,整幅图片的流程结束;设PC上ROS发布的两帧间隔为Tcamera,则Tcamera>(Time_1+Time_2+…+Time_n), 通过放慢发布图像的速度保证了图像结果的正确性。。详见官网: