本发明专利技术涉及基于实时总线的异构多处理器平台的动态可重配置方法,主机通过实时总线向目标机发送异构多处理器的可配置文件,目标机的多核处理器运行自身的可配置文件,同时在FPGA端建立FPGA配置模块,从机的多核处理器端对FPGA端进行配置;本发明专利技术可以通过实时总线同时随时更新异构平台的功能,用户不用关心代码的生成、下载,提高了系统的易用性、灵活性和应用效率。FPGA的动态可重配置功能,保留了静态配置部分不改变,只更改用户功能的动态部分,降低的配置文件的大小,提升了更新速度。
Dynamic reconfigurable method of heterogeneous multiprocessor platform based on real-time bus
【技术实现步骤摘要】
基于实时总线的异构多处理器平台的动态可重配置方法
本专利技术涉及了基于实时总线的异构多处理器平台的动态可重配置方法,属控制领域。
技术介绍
传统的控制产品开发模式,从需求分析、设计、实现到测试的顺序开发过程中由于开发环节较多,一旦在最终实现和测试阶段出现了明显的错误或是需求不满足的情况,则无法进行跨越阶段的重复设计,只能从头开始设计和实现,这样将无法满足市场对产品开发周期的快速性、推广的需求。通过手工编写的代码容易产生程序缺陷。查找和解决这些问题不仅要花费大量的人力和时间,有时甚至会导致软件的重新开发。特别是在对安全系数要求较高产品上,出现程序缺陷会直接关系到人身安全。模块化半实物开发平台的出现解决了这个问题,能进行快速算法开发、产品快速验证。模块化半实物开发平台需要能处理算法、采集等多功能,而CPU在并行度不高、带宽不够、时延高,因此很多半实物平台开发商家引入FPGA处理器,这样就构成异构的开发平台。目前,半实物开发平台厂商主要利用FPGA作为采集设备,但FPGA由于并行度高,延时低等特点、越来越多的人将并行度高的算法开发在FPGA上。因此,实现实时总线的异构多处理器平台的动态可重配置技术,将FPGA作算法处理平台融入到半实物开发平台中,用户可以将算法运行在CPU和FPGA平台上,并能进行数据交互,同时不需要关心代码的生成、下载过程,一次性进行异构平台的动态部署,将大大提高半实物开发平台的灵活性、适用性等。
技术实现思路
为解决上述技术问题,本专利技术提供一种基于实时总线的异构多处理器平台的动态可重配置方法。本专利技术的技术方案如下:基于实时总线的异构多处理器平台的动态可重配置方法,在FPGA端建立FPGA配置模块,用于主机通过从机的多核处理器端对FPGA端进行配置;包括以下步骤:1)FPGA处理器端的PCIExpressIP控制器接收到多核处理器端发起的PIO通信命令,返回应答信号,同时启动DMA通信,读取可重配置文件;2)选择模块将通信权限给部分配置服务模块,部分配置服务模块接收可重配置文件,进行FIFO存储,依次发送开始配置序列、可重配置文件、结束配置序列给ICAP模块,ICAP模块接收到结束配置序列后,启动FPGA重配置命令,进行FPGA配置操作。配置结束后,选择模块断开与部分配置服务模块的连接,等待ICAP模块发送的应用准备完成信号;一旦接到完成信号,将PCIExpressIP控制器与应用程序连接,将通信权限交给应用程序使用。步骤2)包括以下步骤:所述选择模块使PCIExpressIP控制器和部分配置服务模块连接,将PCIExpress的使用权限给静态逻辑部分;所述接收引擎验证传入的可重配置文件的PCIE报文,从中提取配置数据,然后将配置数据发送到内部的FIFO中;所述内部配置引擎检测到FIFO非空时,触发开始执行配置操作,写入开始配置序列到ICAP模块中,然后从FIFO中读取数据,进行比特交换后发送给ICAP模块,当写完最后一个配置数据时,发送结束配置序列;所述ICAP模块收到开始配置序列后,接收可重配置数据,直到接收到结束配置序列,触发FPGA配置,完成部分可重配置。主站监听到目标机发出的中断信号后,主站发起通信,通过EtherCAT实时总线将可重配置文件发送给从机;从站接收到主站发送的可重配置文件,判断文件类型;如果是多核处理器程序,执行运行命令,用户程序立刻开始运行;如果是FPGA程序,发送给FPGA配置模块。FPGA配置模块包括静态逻辑部分及用户程序;其中,静态逻辑部分包括PCIExpressIP控制器,选择模块,部分配置服务模块,ICAP模块;所述PCIExpressIP控制器,用于实现FPGAPCIEDMA通信和PIO通信两种方式;接收多核处理器发来的PIO启动命令,返回应答信号,同时启动DMA通信,读取可重配置文件;所述选择模块,用于连接PCIExpressIP控制器与部分配置服务模块,或者PCIExpressIP控制器与用户程序;使PCIExpressIP控制器和部分配置服务模块连接,将PCIExpress的使用权限给静态逻辑部分;配置完成后,选择模块断开与部分配置服务模块的连接,将PCIExpressIP控制器和用户程序相连,将PCIExpress的使用权限给用户程序;所述部分配置服务模块,用于接收可重配置文件并进行FIFO存储,依次发送开始配置序列、比特交换后的可重配置文件、结束配置序列至ICAP模块;所述ICAP模块,包括ICAP原语模块、校验模块和启动模块;ICAP原语模块,是FPGA配置模块内部配置访问端口;用于接收校验模块的可重配置文件数据后,触发启动模块使启动模块触发FPGA配置;校验模块,用于收到开始配置序列后,接收可重配置文件数据,直到接收到结束配置序列,校验完成后将可重配置文件数据发给ICAP原语模块;启动模块,用于触发FPGA配置,完成部分可重配置,同时发送应用准备完成信号。所述部分配置服务模块,包括接收引擎和内部配置引擎;所述接收引擎,用于验证传入的可重配置文件的PCIE报文,从中提取配置数据,然后将配置数据发送到内部的FIFO中;所述内部配置引擎,用于检测到FIFO非空时,触发开始执行配置操作,写入开始配置序列到ICAP模块中,然后从FIFO中读取数据,进行比特交换后发送给ICAP模块,当写完最后一个配置数据时,发送结束配置序列。本专利技术的有益效果和优点是:1、该平台将FPGA作为算法处理平台,能对并行度高的算法进行加速,相比CPU处理降低了系统运行时间,大大提高的效率,提升了半实物平台的性能。2、一次性异构多处理器平台的动态部署方法,可以同时随时更新异构平台的功能,用户不用关心代码的生成、下载,提高了系统的易用性、灵活性和应用效率。3、FPGA的动态可重配置功能,保留了静态配置部分不改变,只更改用户功能的动态部分,降低的配置文件的大小,提升了更新速度。4、基于实时总线的传输技术,保证配置数据的准确性、实时性,提高的半实物开发平台性能。附图说明图1是本专利技术的FPGA配置模块架构图。图2是本专利技术中的实施例的工作流程图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实例对本专利技术进一步详细说明。基于实时总线的异构多处理器平台,其中主要涉及主机平台和目标机平台。所述的主机平台,是运行Windows操作系统的普通PC平台,主要包括目标机可执行代码生成模块、EtherCAT主站模块。所述的目标机平台属于异构多处理器平台,主要包括多核处理器和FPGA处理器,多核处理器和FPGA处理器之间通过PCIExpress接口通信。具体模块包括EtherCAT从站模块、PCIExpress模块和FPGA配置模块。所述的目标机可执行代码生成模块,主要涉及多核处理器可执行代码生成模本文档来自技高网...
【技术保护点】
1.基于实时总线的异构多处理器平台的动态可重配置方法,其特征在于,在FPGA端建立FPGA配置模块,用于主机通过从机的多核处理器端对FPGA端进行配置;包括以下步骤:/n1)FPGA处理器端的PCI Express IP控制器接收到多核处理器端发起的PIO通信命令,返回应答信号,同时启动DMA通信,读取可重配置文件;/n2)选择模块将通信权限给部分配置服务模块,部分配置服务模块接收可重配置文件,进行FIFO存储,依次发送开始配置序列、可重配置文件、结束配置序列给ICAP模块,ICAP模块接收到结束配置序列后,启动FPGA重配置命令,进行FPGA配置操作。/n
【技术特征摘要】
1.基于实时总线的异构多处理器平台的动态可重配置方法,其特征在于,在FPGA端建立FPGA配置模块,用于主机通过从机的多核处理器端对FPGA端进行配置;包括以下步骤:
1)FPGA处理器端的PCIExpressIP控制器接收到多核处理器端发起的PIO通信命令,返回应答信号,同时启动DMA通信,读取可重配置文件;
2)选择模块将通信权限给部分配置服务模块,部分配置服务模块接收可重配置文件,进行FIFO存储,依次发送开始配置序列、可重配置文件、结束配置序列给ICAP模块,ICAP模块接收到结束配置序列后,启动FPGA重配置命令,进行FPGA配置操作。
2.根据权利要求1所述的基于实时总线的异构多处理器平台的动态可重配置方法,其特征在于,配置结束后,选择模块断开与部分配置服务模块的连接,等待ICAP模块发送的应用准备完成信号;一旦接到完成信号,将PCIExpressIP控制器与应用程序连接,将通信权限交给应用程序使用。
3.根据权利要求1所述的基于实时总线的异构多处理器平台的动态可重配置方法,其特征在于,步骤2)包括以下步骤:
所述选择模块使PCIExpressIP控制器和部分配置服务模块连接,将PCIExpress的使用权限给静态逻辑部分;
所述接收引擎验证传入的可重配置文件的PCIE报文,从中提取配置数据,然后将配置数据发送到内部的FIFO中;
所述内部配置引擎检测到FIFO非空时,触发开始执行配置操作,写入开始配置序列到ICAP模块中,然后从FIFO中读取数据,进行比特交换后发送给ICAP模块,当写完最后一个配置数据时,发送结束配置序列;
所述ICAP模块收到开始配置序列后,接收可重配置数据,直到接收到结束配置序列,触发FPGA配置,完成部分可重配置。
4.根据权利要求1所述的基于实时总线的异构多处理器平台的动态可重配置方法,其特征在于,主站监听到目标机发出的中断信号后,主站发起通信,通过EtherCAT实时总线将可重配置文件发送给从机;
从站接收到主站发送的可重配置文件,判断文件类型;如果是多核处理器程序,执行运行命令,用户程序立刻开...
【专利技术属性】
技术研发人员:赵冰洁,张华良,张涛,杨帆,
申请(专利权)人:中国科学院沈阳自动化研究所,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。