一种FPGA程序多版本管理装置及方法制造方法及图纸

技术编号:14637096 阅读:117 留言:0更新日期:2017-02-15 11:15
本发明专利技术公开了一种FPGA程序多版本管理装置,包括依次相连的待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关;所述的待升级程序单元用于向CPU单元传输升级程序;所述的CPU单元通过数据链路向FPGA单元发送升级指令,由升级模块和链路接口组成;所述的FPGA单元包括链路接口、升级模块和应用逻辑;所述的配置存储单元包括用来存储不同的FPGA程序版本的多个Sector块;所述的拨码开关为外部输入控制接口,主要用于进行配置程序的选择和远程升级功能的使能控制;还公开了其控制方法;本发明专利技术通过设置被保护的Sector0单元从而避免了远程升级程序被破坏的危险,通过多版本管理可以存储多个功能配置版本,丰富了模块的功能。

【技术实现步骤摘要】

本专利技术属于电力电子
,尤其涉及一种FPGA程序多版本管理装置,以及其管理方法,主要用于实现FPGA程序多个版本的管理功能。
技术介绍
FPGA因其应用灵活、功能能够多次重配等特点,使其在设计的开发验证和延长产品寿命等方面都非常有优势。而且随着近年来FPGA价格的不断下降其应用也越来与广泛。很多应用中FPGA都是以协处理器的身份出现的,且一个系统中有时会包含多个FPGA芯片,此时若通过USB-Bluster来逐个烧写非常麻烦,尤其是当电路板安装在设备上或需对大批产品升级时,往往需要繁琐的拆装过程,工作量是非常巨大的。所以针对这种情况,需要更高效的程序更新以及版本管理方法来提高烧写效率。目前虽然有采用NIOS软核进行远程升级的技术方案,但其并没有解决当对同一系统中的多个FPGA芯片进行烧写的问题,并且当程序在升级过程中出现升级失败(如意外断电等)时,就会造成存储芯片中原始程序的损坏,即使再重新上电也无法支持远程烧写功能,只能重新通过USB-Bluster来烧写。
技术实现思路
为了克服现有技术的缺点和不足,本专利技术的目的之一是提供了一种FPGA程序多版本管理装置。本专利技术解决其技术问题所采用的技术方案是:一种FPGA程序多版本管理装置,包括依次相连的待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关;所述的待升级程序单元用于向CPU单元传输升级程序;所述的CPU单元通过数据链路向FPGA单元发送升级指令,由升级模块和链路接口组成;所述的升级模块用于与待升级程序单元通信,收到升级指令后将升级程序以数据的形式传输到相应的FPGA单元;所述的链路接口用于建立CPU单元与FPGA单元的通信链路;所述的FPGA单元包括链路接口、升级模块和应用逻辑;所述的链路接口功能与CPU单元的链路接口相对应,所述的升级模块用于将CPU单元传来的升级程序写至配置存储单元的对应Sector块中;所述的升级模块上设置有API接口,可以根据CPU发来的数据判断是否是升级指令;所述的应用逻辑为配置程序对FPGA单元进行配置后生成的应用逻辑;所述的配置存储单元包括用来存储不同的FPGA程序版本的多个Sector块;所述的拨码开关为外部输入控制接口,主要用于进行配置程序的选择和远程升级功能的使能控制。所述的一种FPGA程序多版本管理装置,其待升级程序单元为上位机、FLASH芯片或CPU单元可访问的RAM单元。所述的一种FPGA程序多版本管理装置,其配置存储单元为EPCS或QSPI。本专利技术的目的之二是提供了一种FPGA程序多版本管理装置的管理方法。本专利技术解决其技术问题所采用的技术方案是:一种FPGA程序多版本管理装置的管理方法,涉及包括待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关的管理装置,步骤为:S01:待升级程序单元与CPU单元约定好传输协议;S02:要升级FPGA单元的程序时,CPU单元对FPGA单元发出升级指令,FPGA单元收到升级指令后对比升级指令ID地址与自身ID是否匹配,匹配时则开始准备升级工作,当其准备就绪后将给CPU单元一个ready信号并开始升级;S03:CPU单元向FPGA单元传输升级程序,FPGA单元收到数据以后,若校验通过则写入相应的Sector中,不同的Sector对应不同的程序版本;S04:当校验出错时FPGA程序会回到初始状态并重新加载Sector0中的程序,同时CPU单元标记升级错误供上层程序处理;S05:当配置数据成功写入到配置存储单元以后,升级程序会根据上位控制字节设置内部状态字节,从而完成整个升级过程。所述的一种FPGA程序多版本管理方法,其FPGA单元在首次烧写时将包含链路接口、升级模块的初始程序烧写至Sector0中,便于系统上电后首先被加载。进一步,FPGA单元的升级模块首次烧写由USB-Blaster烧写至Sector0,并将Sector0作为不允许升级程序对其进行升级的存储段。所述的一种FPGA程序多版本管理方法,步骤S02中程序单元根据读取的拨码开关状态加载相应的程序:当为远程模式时,支持远程升级;当为本地模式时,屏蔽远程升级。进一步,当拨码开关最高位为1时,程序单元将接受远程控制指令加载相应Sector中的程序。当拨码开关最高位为0时,程序单元直接将相应Sector中的程序加载到FPGA单元中进行配置。本专利技术的有益效果是:通过设置被保护的Sector0单元从而避免了远程升级程序被破坏的危险,通过多版本管理可以存储多个功能配置版本,丰富了模块的功能;所以说本专利技术提供的技术更加安全可靠,且具有实用性,与现有技术相比,本专利技术能够根据配置选择加载不同版本的程序,增加了系统的灵活性;解决了程序在升级过程中,因意外造成的升级失败而破坏原始程序,导致无法再进行远程升级的问题;增加拨码开关进行升级功能的控制,避免误升级,增强了系统的安全性;此外,本专利技术在不增加现有成本的基础上实现了FPGA程序的升级和版本管理,方便高效且应用灵活。附图说明图1是本专利技术装置的结构框图;图2是本专利技术管理方法的工作流程示意图。具体实施方式为了更加清楚的阐述本专利技术方案,下面结合附图和实例对
技术实现思路
进行进一步的说明。应当理解,此处所描述的具体是实施例仅用于解释本专利技术,保护范围并不局限于所述实例。参照图1所示,本专利技术公开了一种FPGA程序多版本管理装置,包括依次相连的待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关。所述的待升级程序单元用于向CPU单元传输升级程序,待升级程序单元为上位机、FLASH芯片或CPU单元可访问的RAM单元,待升级程序单元需要与CPU单元约定好传输协议。所述的CPU单元由升级模块和链路接口两部分组成,通过与FPGA单元之间的数据链路向FPGA单元发送升级指令。CPU单元内部的升级模块用于与待升级程序单元通信,其负责监测升级指令,收到升级指令后负责将升级程序以数据的形式传输到相应的FPGA单元,将指定地址中的配置程序传输到FPGA中,并控制传输过程和检测传输结果,直至传输结束。所述的链路接口用于建立CPU单元与FPGA单元的通信链路;包括协议约定、空间分配等,当有特殊需求是也可以建立独立的通信接口如SPI、RS232等,利用CPU与FPGA间原有的通信信道即可,不需另建链路,其可支持以太网、USB、SPI等协议传输。所述的FPGA单元包括链路接口、升级模块和应用逻辑等几个部分,所述的链路接口功能与CPU单元的链路接口相对应,所述的升级模块用于将CPU单元传来的升级程序写至配置存储单元的对应Sector块中,升级模块负责将配置存储单元划分成不同的Sector块,并将不同版本的配置程序依据ID号存储到不同的Sector中,上电时根据配置加载不同块中的程序,FPGA单元根据ID来判断是否升级,ID匹配后,CPU单元向FPGA单元传输升级数据,FPGA单元根据指令将升级数据存储到对应的空间中,不同空间对应不同的程序版本,上电时可根据上位指令或本板拨码开关选择性加载,实现升级和版本管理。所述的升级模块上设置有API接口,API接口是由FPGA程序自身的限制而设计的,主要负责与CPU单元的升级过程向对接,API接口能够根据CPU单元发来的数据判断是否是升级本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610772503.html" title="一种FPGA程序多版本管理装置及方法原文来自X技术">FPGA程序多版本管理装置及方法</a>

【技术保护点】
一种FPGA程序多版本管理装置,其特征在于:包括依次相连的待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关;所述的待升级程序单元用于向CPU单元传输升级程序;所述的CPU单元通过数据链路向FPGA单元发送升级指令,由升级模块和链路接口组成;所述的升级模块用于与待升级程序单元通信,收到升级指令后将升级程序以数据的形式传输到相应的FPGA单元;所述的链路接口用于建立CPU单元与FPGA单元的通信链路;所述的FPGA单元包括链路接口、升级模块和应用逻辑;所述的链路接口功能与CPU单元的链路接口相对应,所述的升级模块用于将CPU单元传来的升级程序写至配置存储单元的对应Sector块中;所述的升级模块上设置有API接口,可以根据CPU发来的数据判断是否是升级指令;所述的应用逻辑为配置程序对FPGA单元进行配置后生成的应用逻辑;所述的配置存储单元包括用来存储不同的FPGA程序版本的多个Sector块;所述的拨码开关为外部输入控制接口,主要用于进行配置程序的选择和远程升级功能的使能控制。

【技术特征摘要】
1.一种FPGA程序多版本管理装置,其特征在于:包括依次相连的待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关;所述的待升级程序单元用于向CPU单元传输升级程序;所述的CPU单元通过数据链路向FPGA单元发送升级指令,由升级模块和链路接口组成;所述的升级模块用于与待升级程序单元通信,收到升级指令后将升级程序以数据的形式传输到相应的FPGA单元;所述的链路接口用于建立CPU单元与FPGA单元的通信链路;所述的FPGA单元包括链路接口、升级模块和应用逻辑;所述的链路接口功能与CPU单元的链路接口相对应,所述的升级模块用于将CPU单元传来的升级程序写至配置存储单元的对应Sector块中;所述的升级模块上设置有API接口,可以根据CPU发来的数据判断是否是升级指令;所述的应用逻辑为配置程序对FPGA单元进行配置后生成的应用逻辑;所述的配置存储单元包括用来存储不同的FPGA程序版本的多个Sector块;所述的拨码开关为外部输入控制接口,主要用于进行配置程序的选择和远程升级功能的使能控制。2.根据权利要求1所述的一种FPGA程序多版本管理装置,其特征在于,所述的待升级程序单元为上位机、FLASH芯片或CPU单元可访问的RAM单元。3.根据权利要求1所述的一种FPGA程序多版本管理装置,其特征在于,所述的配置存储单元为EPCS或QSPI。4.一种FPGA程序多版本管理方法,涉及权利要求1中所述的包括待升级程序单元、CPU单元、FPGA单元、配置存储单元以及拨码开关的管理装置,其特征在于,步骤为:S01:待升级程序单元与CPU单元约定好传输协议;S02:要升级FPGA单元的程序时,CPU单元对FPGA单元发...

【专利技术属性】
技术研发人员:梁宝明赵晓宇李海燕江可扬彭溪
申请(专利权)人:中国船舶重工集团公司第七一二研究所
类型:发明
国别省市:湖北;42

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

1