一种FPGA配置文件在线升级系统的制作方法

文档序号:15517464发布日期:2018-09-25 18:42阅读:174来源:国知局

本发明涉及电子电路设计技术领域,具体涉及一种fpga配置文件在线升级系统。



背景技术:

在当今瞬息万变的市场环境中,产品是否便于现场升级,已成为产品降低服务成本、进入市场的一个关键因素。随着fpga的发展,其密度更高,容量更大,功耗更低,并集成了更多的ip核,为系统设计者动态改变运行电路中的逻辑功能创造了条件,也为现场升级等奠定了硬件基础。但由于fpga的掉电易失性,系统在每次上电时,必须对其重新进行数据配置,只有在数据配置正确的情况下系统才能正常的工作。

fpga有多种配置模式,可以采用fpga加eprom的配置模式,此模式主要通过下载电缆由计算机直接对其进行配置,硬件电路简单,调试方便,也可以将fpga作为微处理器的外设,由微处理器对其编程。在实际产品中一般采用eprom的方式对fpga进行配置。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供了一种fpga配置文件在线升级系统,可以完成fpga配置文件在线升级,同时还可以保证fpga升级的可靠性,防止在升级过程中由于错误造成无法启动等问题。

为解决上述技术问题,本发明提供了一种fpga配置文件在线升级系统,其特征是,包括主控制单元、存储有fpga配置文件的外设、用于存储fpga配置文件的存储器,以及用于连通或断开数据通路的切换开关;

在进行fpga配置文件升级时,主控制单元控制切换开关将主控制单元与外设之间的数据通路连通,主控制单元从外设中读取待升级的fpga配置文件,在完成fpga配置文件的读取之后,主控制单元控制切换开关将主控制单元与存储器之间的数据通路连通,主控制单元将读取的fpga配置文件存储到存储器中,在完成fpga配置文件的存储之后,主控制单元控制切换开关将fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置。

进一步的,还包括用来控制fpga供电电源通断的电源控制单元,主控制单元通过此电源控制单元触发fpga断电重启,重新载入待升级的fpga配置文件。

进一步的,存储器的存储空间包括两个存储区,其中一个存储区存储待升级的fpga配置文件,另一个存储区存储本次升级前的fpga配置文件;主控制单元在确定fpga重新载入待升级的fpga配置文件,并进行配置成功时,将待升级的fpga配置文件覆盖另一存储区内存储的本次升级前的fpga配置文件。

进一步的,还包括切换指令输入单元,切换指令输入单元的输出端连接主控制单元,主控制单元接收切换指令输入单元输入的指令,并依据此指令来控制切换开关连通或断开各数据通路。

进一步的,切换指令输入单元包括对应“配置状态”、“测试运行”、“正常运行”功能的指令,当指令为“配置状态”时,对应先打开主控制单元与外设之间的数据通路连通,主控制单元从外设中读取待升级的fpga配置文件,完成fpga配置文件的读取之后,然后打开主控制单元与存储器之间的数据通路连通,然后指令转为“测试运行”时,对应打开fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置,然后指令转为“正常运行”时,对应打开主控制单元与存储器之间的数据通路连通,删除升级前的fpga配置文件并保留此次待升级的fpga配置文件。

进一步的,在系统刚上电工作时,若指令为“正常运行”状态,主控制单元与存储器之间的数据通路连通,删除升级前的fpga配置文件并保留此次待升级的fpga配置文件,然后打开fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置。

进一步的,还包括状态指示单元,用来指示fpga配置文件升级过程中的状态,状态包括“读取文件”、“读取完成”、“正常运行”和“状态错误”。

进一步的,切换指令输入单元还包括对应“删除配置”功能的指令,当指令为“删除配置”时,打开主控制单元与存储器之间的数据通路连通,删除存储器内存储待升级的fpga配置文件。

与现有技术相比,本发明所达到的有益效果是:本发明在工程现场,使用u盘并配合拨码或旋转开关,可以灵活的对fpga进行在线升级,无需返厂升级,led灯可指示升级状态,并可在出现升级故障时,及时返回升级前状态并直观的提示升级人员,同时利用微处理器还可以保证fpga升级的可靠性,防止在升级过程中由于错误造成无法启动等问题,并且可防止无授权人员升级等问题的发生,操作简单,准确可靠。

附图说明

图1为本发明在线升级系统具体实施例的框架示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明的一种fpga配置文件在线升级系统,用于连接fpga的配置接口对fpga内配置文件进行在线升级,包括主控制单元、存储有fpga配置文件的外设、用于存储fpga配置文件的存储器,以及用于连通或断开数据通路的切换开关;

在进行fpga配置文件升级时,主控制单元控制切换开关将主控制单元与外设之间的数据通路连通,主控制单元从外设中读取待升级的fpga配置文件,在完成fpga配置文件的读取之后,主控制单元控制切换开关将主控制单元与存储器之间的数据通路连通,主控制单元将读取的fpga配置文件存储到存储器中,在完成fpga配置文件的存储之后,主控制单元控制切换开关将fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置。

进一步的,还包括用来控制fpga供电电源通断的电源控制单元,主控制单元通过此电源控制单元触发fpga断电重启,重新载入待升级的fpga配置文件。

进一步的,存储器的存储空间包括两个存储区,其中一个存储区存储待升级的fpga配置文件,另一个存储区存储本次升级前的fpga配置文件;主控制单元在确定fpga重新载入待升级的fpga配置文件,并进行配置成功时,将待升级的fpga配置文件覆盖另一存储区内存储的本次升级前的fpga配置文件。

进一步的,还包括切换指令输入单元,切换指令输入单元的输出端连接主控制单元,主控制单元接收切换指令输入单元输入的指令,并依据此指令来控制切换开关连通或断开各数据通路。

进一步的,切换指令输入单元包括对应“配置状态”、“测试运行”、“正常运行”功能的指令,当指令为“配置状态”时,对应先打开主控制单元与外设之间的数据通路连通,主控制单元从外设中读取待升级的fpga配置文件,完成fpga配置文件的读取之后,然后打开主控制单元与存储器之间的数据通路连通,然后指令转为“测试运行”时,对应打开fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置,然后指令转为“正常运行”时,对应打开主控制单元与存储器之间的数据通路连通,删除升级前的fpga配置文件并保留此次待升级的fpga配置文件。

进一步的,在系统刚上电工作时,若指令为“正常运行”状态,主控制单元与存储器之间的数据通路连通,删除升级前的fpga配置文件并保留此次待升级的fpga配置文件,然后打开fpga与存储器之间的数据通路连通,主控制单元触发fpga从存储器中重新载入待升级的fpga配置文件进行配置。

此切换指令输入单元可以采用现有技术中的拨码或者旋转开关来实现,本发明实施例中采用旋转开关来实现,旋转开关的各旋转位置对应指示“配置状态”、“测试运行”和“正常运行”等状态。

进一步的,还包括状态指示单元,用来指示fpga配置文件升级过程中的状态,状态包括“读取文件”、“读取完成”、“正常运行”和“状态错误”。

此状态指示单元可以采用现有技术中的led指示灯来实现,本实施例中采用多个led指示灯来实现,每个led指示灯对应指示一种状态。

进一步的,切换指令输入单元还包括对应“删除配置”功能的指令,当指令为“删除配置”时,打开主控制单元与存储器之间的数据通路连通,删除存储器内存储待升级的fpga配置文件。

实施例

本发明实施例中,主控制单元采用现有技术中的微处理器来实现,微处理器通过usb接口来连接外设(例如u盘),存储器采用现有技术中的eprom来实现,切换开关是指微处理器各引脚的控制使能信号,微处理器把fpga当作存储器,使用通讯总线与其进行通讯,对其进行配置。图1是本发明系统具体实施例的框架示意图,其中微处理器连接usb接口,旋转开关,指示灯,存储器,电源控制芯片,采用此系统来进行fpga配置文件在线升级时,包括以下步骤:

1、微处理器刚上电时,本发明在线升级系统开始工作,微处理器首先识别旋转开关的状态,当旋转开关状态为“正常运行”状态时,微处理器若检测到存储器中两个存储区内均保存有fpga配置文件(即一个存储区存储待升级的fpga配置文件,另一个存储区存储本次升级前的fpga配置文件)时,将待升级的fpga配置文件覆盖另一存储区内存储的本次升级前的fpga配置文件,即删除升级前的fpga配置文件并保留待升级的fpga配置文件,若只有一个fpga配置文件,则保留该配置文件,微处理器将保留的待升级的fpga配置文件下载至各个相应的fpga中,并将指示灯指示为“正常运行”状态。

2、当旋转开关旋转至“配置状态”时,微处理器从usb口处的u盘对应文件夹中读取对应名称的配置文件,并存储至存储器中(存储器中用来存储待升级的fpga配置文件的一个存储区内),不覆盖原有的配置文件地址,以防止u盘文件读取错误或文件损坏而导致的fpga无法启动,此时指示灯指示为“读取文件”状态,当存储完成并校验正确后指示灯指示为“读取完成”状态,若校验错误或无文件,则指示灯指示为“状态错误”状态。

3、当指示灯指示为“读取完成”状态时,工程人员需将旋转开关旋转至“测试运行”状态,此状态下微处理器通过电源控制单元将fpga断电重启,断电重启后的fpga需要重新下载配置文件才能运行,微处理器将存储器中存储的待升级的fpga配置文件重新载入fpga,对fpga进行配置。

4、fpga重启后,指示灯指示该配置程序已正确下载至fpga中,工程人员验证fpga程序无误,将旋转开关旋转至“正常运行”状态,微处理器若检测到存储器中两个存储区内均保存有fpga配置文件时,微处理器将删除升级前的fpga配置文件并保留待升级的fpga配置文件。在微处理器在未断电的情况下读取到其状态是从“测试运行”转换至“正常运行”时,不会将fpga配置文件下载至fpga中。若fpga程序有误或指示灯指示为“状态错误”状态,可将旋转开关旋转至“配置状态”重新下载配置程序,或将旋转开关旋转至“删除配置”状态,删除刚刚下载的配置程序。

为防止现场人员插入错误的u盘而导致fpga升级错误,可在u盘中放入一个包含密码的特定名称的文本文件,当微处理器读取的密码与原先设定密码一致时,方可将特定文件夹中的特定名称的文件读取并存储至存储器中,否则不读取文件,并将指示灯闪烁为“密码错误”状态。

在满足上列条件的情况下,可以灵活的增加需要配置的fpga数量,并用对应的文件名称来区分需要升级的fpga,操作人员可直观的查看fpga的升级状况,并可随时恢复至未升级前的配置程序。

本发明在工程现场,使用u盘并配合拨码或旋转开关,可以灵活的对fpga进行在线升级,无需返厂升级,led灯可指示升级状态,并可在出现升级故障时,及时返回升级前状态并直观的提示升级人员,同时利用微处理器还可以保证fpga升级的可靠性,防止在升级过程中由于错误造成无法启动等问题,并且可防止无授权人员升级等问题的发生,操作简单,准确可靠。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1