本发明属于演化硬件控制技术领域,具体涉及的是一种演化硬件无延迟控制方法。
背景技术:
演化硬件(evolvablehardware),简称ehw或e-hard。它是一种硬件电路,其能够像生物一样根据环境的变化而改变自身的结构以适应其生存环境,具有自组织、自适应、自修复功能。目前演化硬件的实现方式主要有两种:一种是外部演化(extrinsicehw),也称为离线(off-line)演化;另一种是内部演化(intrinsicehw),也称为在线(on-line)演化。外部演化是指通过硬件描述语言(hdl)建立电子器件的模型,将由遗传算法产生的染色体在模型上进行评估,当达到预期目标时,就将所对应的染色体下载到可编程逻辑器件中去。与外部演化不同,内部演化是将遗传算法每一代产生的每一条染色体都实际下载到可编程逻辑器件中,并对所生成的每种电路结构的输出直接进行评估。
如申请号为cn02809754.8的现有技术1公开了一种采用演化算法的硬件设计,图1显示ehw演化周期中的主要步骤。随机地或试探性地生成编码为染色体(chromosome)10的体系结构比特的初始种群。然后将它们下载12到fpga14中,以进行适应度评估。为了削减成本和节省空间,某个ehw只有一组fpga硬件,用于依次评估每个染色体的适应度。fpga的适应度,通常等效于其染色体的适应度,对它的估计是通过fpga与环境16的交互来进行的。然后将此适应度用于选择父代染色体18,以便进一步进行复制和遗传操作。交叉和变异20通常用于从父代生成后代的染色体22。然后这些后代根据某种替代策略来替代它们的父代。某些替代策略可能会保留父代,而抛弃其后代。在替代步骤之后,形成新一代的染色体。
申请号为cn201110148507.8的现有技术2公开了一种基于趋向型紧凑遗传算法的演化硬件实现方法,一种基于趋向型紧凑遗传算法的演化硬件实现方法,该方法包括:1)获取实际的可编程逻辑器件的配置参数;2)将实际的可编程逻辑器件的配置参数进行映射并形成染色体个体;3)计算当前染色体个体的适应度值fitness;4)根据适应度值fitness的情况对演化是否终止进行判断,详见附图2。
可编程器件一般是基于sram结构,由于sram的易失性,每次上电时必须重新把配置数据流(bitstream)到可编程器件中。现有的演化硬件装置中,在更新完可编程器件的配置数据流后重新启动可编程器件之前,可编程器件的输出是处于非正常工作状态的,特别是在实时控制或者高速监测系统中,这种缺陷是不能容忍的。而且现有技术中通常采用计算机运行遗传算法或者产生数据流到可配置单元中,这样就限制了演化硬件系统的应用范围,不能在实际的控制系统中适用。
技术实现要素:
因此,为了克服以上技术问题,本发明提供了一种演化硬件无延迟控制方法,该控制方法具备系统控制无延迟、适用领域广等优点,在自动控制、容错系统、模式识别与人工智能、机器人、航空探测等领域能够推广应用。
为实现上述目的,本发明提供如下技术方案:
一种用于演化硬件无延迟控制方法,所述的控制方法包括以下步骤:
s1、嵌入式模块运行演化算法,当系统的外界环境变化后,演化算法根据外界环境变化演化出新的最优解;
s2、嵌入式模块根据演化出的所述新的最优解产生硬件配置参数和嵌入式系统输出;
s3、嵌入式模块控制切换模块将原可编程逻辑单元的输出切换为所述嵌入式系统输出;
s4、嵌入式模块中的参数配置模块模拟可编程逻辑单元的配置时序,并将所述硬件配置参数配置到可编程逻辑单元中,在接收到可编程逻辑单元配置成功的信号后,重启可编程逻辑单元,在可编程逻辑单元启动完成后,通知嵌入式模块;
s5、嵌入式模块在得到可编程逻辑单元发来的启动完成信号后,控制切换模块将嵌入式系统输出切换回可编程逻辑单元的输出,嵌入式模块则继续运行演化算法。
优选的,所述演化算法可为标准遗传算法、趋向型紧凑遗传算法、协同进化遗传算法或者合作型协同进化遗传算法中的一种或几种。
优选的,所述可编程逻辑单元为fpga,所述嵌入式模块为arm系统模块。
所述的演化硬件无延迟控制方法采用一种演化硬件无延迟控制装置,所述的控制装置包括嵌入式模块、可编程逻辑单元以及切换模块;
所述嵌入式模块与可编程逻辑单元以及切换模块连接,所述可编程逻辑单元与切换单元连接;
嵌入式模块中具有演化算法模块、参数配置模块以及信号预输出模块,所述演化算法模块用于根据环境变化使得演化算法进化出硬件配置参数,所述参数配置模块用于根据所述硬件配置参数产生用于配置可编程单元的数据流;所述信号预输出模块根据演化算法模块中的演化算法进化出嵌入式系统输出,所述嵌入式系统输出与切换模块连接,可用于暂时替换所述可编程逻辑单元的输出;
所述切换模块用于切换嵌入式模块和可编程逻辑单元的输出。
优选的,所述嵌入式模块为arm系统模块,可用于执行演化算法。
优选的,所述演化算法模块可运行标准遗传算法、趋向型紧凑遗传算法、协同进化遗传算法或者合作型协同进化遗传算法中的一种或几种。
优选的,所述可编程逻辑单元采用fpga,所述fpga采用alteracyclone系列芯片。所述嵌入式模块中的参数配置模块用于模拟fpga的配置时序配置fpga,fpga器件配置成被动串行(ps)方式。
与现有技术相比,本发明的有益效果如下:
1、本发明通过使用嵌入式模块运行演化算法在配置可编程逻辑单元之前预先输出信号到输出,可以使得可编程器件的输出为非正常工作状态时切换为嵌入式模块的信号输出,提高系统稳定性,实现演化硬件的无延迟控制;
2、本发明使用嵌入式模块运行演化算法能够使得硬件演化装置使用范围更广。
附图说明
图1为现有技术1中ehw演化周期中的主要步骤图;
图2为现有技术2基于趋向型紧凑遗传算法的演化硬件实现流程图;
图3为实施例1中的演化硬件系统框图;
图4为实施例2中的演化硬件系统框图;
图5为实施例3中的演化硬件系统框图;
图6为fpga的ps配置模式;
图7为演化硬件无延迟控制方法的流程框图。
在图3-7中:1嵌入式模块、2可编程逻辑单元、3切换单元、4演化算法模块、5参数配置模块、6信号预输出模块、7传感器模块
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
请参阅图7,一种用于演化硬件无延迟控制方法,所述的控制方法包括如下步骤::
嵌入式模块1运行演化算法,当系统的外界环境变化后,演化算法根据外界环境变化演化出新的最优解;
嵌入式模块1根据演化出的所述新的最优解产生硬件配置参数和嵌入式系统输出;
嵌入式模块1控制切换模块3将原可编程逻辑单元2的输出切换为所述嵌入式系统输出;
嵌入式模块1中的参数配置模块5模拟可编程逻辑单元2的配置时序,并将所述硬件配置参数配置到可编程逻辑单元2中,在接收到可编程逻辑单元2配置成功的信号后,重启可编程逻辑单元2,在可编程逻辑单元2启动完成后,通知嵌入式模块1;
嵌入式模块1在得到可编程逻辑单元2发来的启动完成信号后,控制切换模块3将嵌入式系统输出切换回可编程逻辑单元2的输出,嵌入式模块1则继续运行演化算法。
请参阅图3,所述的用于演化硬件无延迟控制方法采用一种演化硬件无延迟控制装置,所述的控制装置包括嵌入式模块1、可编程逻辑单元2以及切换模块3;
所述嵌入式模块1与可编程逻辑单元2以及切换模块3连接,所述可编程逻辑单元2与切换单元3连接;
嵌入式模块1中具有演化算法模块4、参数配置模块5以及信号预输出模块6,所述演化算法模块4用于根据环境变化使得演化算法进化出硬件配置参数,所述参数配置模块5用于根据所述硬件配置参数产生用于配置可编程单元的数据流;所述信号预输出模块6根据演化算法模块4中的演化算法进化出嵌入式系统输出,所述嵌入式系统输出与切换模块3连接,可用于暂时替换所述可编程逻辑单元2的输出;
所述切换模块3用于切换嵌入式模块1和可编程逻辑单元2的输出。所述嵌入式模块1为arm系统模块,可用于执行演化算法。所述演化算法模块4可运行标准遗传算法、趋向型紧凑遗传算法、协同进化遗传算法或者合作型协同进化遗传算法中的一种或几种。
所述可编程逻辑单元2采用fpga,所述fpga采用alteracyclone系列芯片。所述嵌入式模块1中的参数配置模块5用于模拟fpga的配置时序配置fpga,fpga器件配置成被动串行(ps)模式,如图6所示,为常见的被配置成ps方式的接口电路。
实施例2
请参阅图7,一种用于演化硬件无延迟控制方法,所述的控制方法包括如下步骤::
嵌入式模块1运行演化算法,当系统的外界环境变化后,演化算法根据外界环境变化演化出新的最优解;
嵌入式模块1根据演化出的所述新的最优解产生硬件配置参数和嵌入式系统输出;
嵌入式模块1控制切换模块3将原可编程逻辑单元2的输出切换为所述嵌入式系统输出;
嵌入式模块1中的参数配置模块5模拟可编程逻辑单元2的配置时序,并将所述硬件配置参数配置到可编程逻辑单元2中,在接收到可编程逻辑单元2配置成功的信号后,重启可编程逻辑单元2,在可编程逻辑单元2启动完成后,通知嵌入式模块1;
嵌入式模块1在得到可编程逻辑单元2发来的启动完成信号后,控制切换模块3将嵌入式系统输出切换回可编程逻辑单元2的输出,嵌入式模块1则继续运行演化算法。
请参阅图3,所述的用于演化硬件无延迟控制方法采用一种演化硬件无延迟控制装置,所述的控制装置包括嵌入式模块1、可编程逻辑单元2以及切换模块3;
所述嵌入式模块1与可编程逻辑单元2以及切换模块3连接,所述可编程逻辑单元2与切换单元3连接;所述嵌入式模块1还与传感器模块7连接,所述传感器模块7用于采集外界环境参数,所述演化算法模块4中运行的演化算法根据所述外界环境参数以及控制输出反馈回来的信号进行演化;
嵌入式模块1中具有演化算法模块4、参数配置模块5以及信号预输出模块6,所述演化算法模块4用于根据环境变化使得演化算法进化出硬件配置参数,所述参数配置模块5用于根据所述硬件配置参数产生用于配置可编程单元的数据流;所述信号预输出模块6根据演化算法模块4中的演化算法进化出嵌入式系统输出,所述嵌入式系统输出与切换模块3连接,可用于暂时替换所述可编程逻辑单元2的输出;
所述切换模块3用于切换嵌入式模块1和可编程逻辑单元2的输出。所述嵌入式模块1为arm系统模块,可用于执行演化算法。所述演化算法模块4可运行标准遗传算法、趋向型紧凑遗传算法、协同进化遗传算法或者合作型协同进化遗传算法中的一种或几种。
所述可编程逻辑单元2采用fpga,所述fpga采用alteracyclone系列芯片。所述嵌入式模块1中的参数配置模块5用于模拟fpga的配置时序配置fpga,fpga器件配置成被动串行(ps)方式。
本发明还公开了一种用于演化硬件无延迟控制方法,结合上述装置可以完成系统输出的无延迟控制,具体入下:
嵌入式模块1运行演化算法,当系统采集到的外界环境变化后,演化算法根据外界环境变化以及系统控制输出反馈回来的信号演化出新的最优解;
嵌入式模块1根据演化出的所述新的最优解产生硬件配置参数和嵌入式系统输出;
嵌入式模块1控制切换模块3将原可编程逻辑单元2的输出切换为所述嵌入式系统输出;
嵌入式模块1中的参数配置模块5模拟可编程逻辑单元2的配置时序,并将所述硬件配置参数配置到可编程逻辑单元2中,在接收到可编程逻辑单元2配置成功的信号后,重启可编程逻辑单元2,在可编程逻辑单元2启动完成后,通知嵌入式模块1;
嵌入式模块1在得到可编程逻辑单元2发来的启动完成信号后,控制切换模块3将嵌入式系统输出切换回可编程逻辑单元2的输出,嵌入式模块1则继续运行演化算法。
实施例3
请参阅图7,一种用于演化硬件无延迟控制方法,所述的控制方法包括如下步骤::
嵌入式模块1运行演化算法,当系统的外界环境变化后,演化算法根据外界环境变化演化出新的最优解;
嵌入式模块1根据演化出的所述新的最优解产生硬件配置参数和嵌入式系统输出;
嵌入式模块1控制切换模块3将原可编程逻辑单元2的输出切换为所述嵌入式系统输出;
嵌入式模块1中的参数配置模块5模拟可编程逻辑单元2的配置时序,并将所述硬件配置参数配置到可编程逻辑单元2中,在接收到可编程逻辑单元2配置成功的信号后,重启可编程逻辑单元2,在可编程逻辑单元2启动完成后,通知嵌入式模块1;
嵌入式模块1在得到可编程逻辑单元2发来的启动完成信号后,控制切换模块3将嵌入式系统输出切换回可编程逻辑单元2的输出,嵌入式模块1则继续运行演化算法。
请参阅图5,所述的用于演化硬件无延迟控制方法采用一种演化硬件无延迟控制装置,所述的控制装置包括嵌入式模块1、可编程逻辑单元2、切换模块3以及信号预输出模块6;
所述嵌入式模块1与可编程逻辑单元2以及切换模块3连接,所述可编程逻辑单元2与切换单元3连接,所述信号预输出模块6位于切换模块3与嵌入式模块1之间并与其分别连接;所述嵌入式模块1还与传感器模块7连接,所述传感器模块7用于采集外界环境参数,所述演化算法模块4中运行的演化算法根据所述外界环境参数以及控制输出反馈回来的信号进行演化;
嵌入式模块1中具有演化算法模块4、参数配置模块5,所述演化算法模块4用于根据环境变化使得演化算法进化出硬件配置参数,所述参数配置模块5用于根据所述硬件配置参数产生用于配置可编程单元的数据流;所述信号预输出模块6根据演化算法模块4中的演化算法进化出嵌入式系统输出,所述嵌入式系统输出与切换模块3连接,可用于暂时替换所述可编程逻辑单元2的输出;
所述切换模块3用于切换嵌入式模块1和可编程逻辑单元2的输出。所述嵌入式模块1为arm系统模块,可用于执行演化算法。所述演化算法模块4可运行标准遗传算法、趋向型紧凑遗传算法、协同进化遗传算法或者合作型协同进化遗传算法中的一种或几种。
所述可编程逻辑单元2采用fpga,所述fpga采用alteracyclone系列芯片。所述嵌入式模块1中的参数配置模块5用于模拟fpga的配置时序配置fpga,fpga器件配置成被动串行(ps)方式。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。