在轨混合加载FPGA与CPU的方法与流程

文档序号:14750556发布日期:2018-06-22 12:56阅读:383来源:国知局

本发明属于通信的领域,涉及一种在轨混合加载FPGA与CPU的 方法。



背景技术:

空间电子产品中CPU是电子系统中非常重要的组成要素,在轨加载 CPU技术是一项不可避免的必经之路。随着当代电子产品的发展趋势,低 成本,高集成度,高可靠性,高灵活性成为了最终发展目标。

CPU掉电数据丢失,掉电后无法存储数据,故需要外挂存储设备储存 CPU代码。当上电后,通过控制芯片读取存储芯片的数据来加载进CPU 当中。以往的在轨加载CPU方案,较为普及的是将CPU引导软件放在高 等级flash的起始位置。依靠CPU上电后自主读取flash起始位置的4k数 据内容来一级加载CPU。由于应用背景为航空航天,对可靠性有着很高的 需求,故这种方案需耗费一片高等级flash。同时介于flash的抗辐照剂量, 又无法对flash中的数据进行可靠安全性处理。同时加载FPGA时所需配 置文件与加载CPU的引导软件分别存储在不同的器件上,造成空间与成 本的增加,降低使用率。

目前国内针对CPU与FPGA在轨混合加载方法,相关资料较少, 大多处于外挂flash,FPGA代码与CPU代码分别存储的方案阶段。



技术实现要素:

发明所要解决的课题是现有的加载方法中,加载FPGA时所需配置 文件与加载CPU的引导软件分别存储在不同的器件上,造成空间与成本 的增加,降低使用率的问题。

用于解决课题的技术手段是,本发明提出一种在轨混合加载FPGA 与CPU的方法,包括如下步骤:

生成供PROM存储的SRAM型FPGA加载配置文件;

将生成的CPU引导软件加入了同步字命令得到CPU引导软件数据, 及与SRAM型FPGA的加载配置文件融合生成统一加载配置文件并存 储在PROM中;

当上电后反熔丝FPGA根据从PROM中读取的统一加载配置文件 加载SRAM型FPGA,当SRAM型FPGA配置加载成功后,返回加载 成功信号至反熔丝FPGA;所述反熔丝FPGA顺序读取统一加载配置文 件,当判别到统一加载配置文件中的同步字命令后,反熔丝FPGA识别 文件中的CPU引导软件数据,且将从PROM中读取统一加载配置文件 桥接至CPU,对CPU进行引导软件加载;

所述CPU在执行完引导软件加载后,自主产生读取PROM的控制 信号发送至反熔丝FPGA,由反熔丝FPGA桥接该控制信号至PROM, 并从PROM中读回统一加载配置文件中的CPU的引导软件数据,以完 成对CPU进行再次加载。

进一步地,作为本发明的一种优选技术方案,所述方法还包括对融 合生成统一加载配置文件格式设置。

进一步地,作为本发明的一种优选技术方案,所述统一加载配置文 件的格式设置为:将SRAM型FPGA加载配置文件设置为前段,由同 步字命令加CPU引导软件数据组成后段。

进一步地,作为本发明的一种优选技术方案,所述方法还包括当 SRAM型FPGA配置加载成功后,所述反熔丝FPGA刷新SRAM型 FPGA的配置区。

进一步地,作为本发明的一种优选技术方案,所述方法还包括对 PROM数据指针进行控制,满足复位当前PROM所读取内容的地址指 针。

进一步地,作为本发明的一种优选技术方案,所述方法还包括 PROM生成片选信号,利用反熔丝FPGA控制PROM的控制信号和片 选信号的切换,以调取所需的数据,满足对PROM中存放的配置文件 进行指向化读取操作。

发明效果为,本发明与现有技术的有益效果如下:

(1)本发明针对一种在轨混合加载FPGA与CPU的方法,同以往CPU 加载方案不同,以往CPU引导软件与FPGA的配置文件分别存放在高等 级的FLASH中,高等级FLASH使用成本高昂,只存储CPU加载数据, 造成浪费;本发明技术将CPU加载数据与FPGA配置数据融合,对文件 内容进行了技术处理,合并生成一个新的统一加载配置文件,可供CPU 加载和FPGA加载时调用,节省了高等级FLASH的使用空间与成本;并 且将统一加载配置文件存储在PROM中,相较于存储FLASH芯片中,提 高了其抗辐照能力,提高了CPU配置加载数据的可靠性。

(2)本发明采用反熔丝型FPGA引导加载CPU,反熔丝型FPGA判 别到加载文件的命令字后负责从PROM中调取经过处理的加载文件,加 载CPU;当CPU一级引导boot后,主动通过反熔丝型FPGA向PROM中 调取数据,CPU引导软件数据形成的加载文件进行二次加载CPU,此时反 熔丝型FPGA作为CPU和PROM的桥接数据通道,反熔丝型FPGA肩负 着对SRAM型FPGA配置、刷新和加载CPU的功能,丰富了其反熔丝型 FPGA的功能,提高了功能集成度。

(3)通过反熔丝FPGA加载并配置SRAM型FPGA,提高了SRAM 型FPGA的在轨可靠性,针对SRAM型FPGA在轨易受单粒子效应影响 的现状,提出了可靠地保护性措施,提高了CPU在轨加载的可靠性和安 全性。

(4)反熔丝FPGA可以满足加载SRAM型FPGA、加载CPU、刷新 SRAM型FPGA的灵活切换需求。反熔丝FPGA通过控制PROM芯片的 clk和片选信号,灵活的选择各进程所需数据。

附图说明

图1为本发明在轨混合加载FPGA与CPU的方法的原理示意图。

图2为本发明生成的Boot1.txt文件示意图

图3为本发明包含同步字的Boot1.txt文件示意图

图4为本发明FPGA工程内TCL指令输入示意图。

图5为本发明最终加载文件与FPGA加载文件对比图。

具体实施方式

以下,基于附图针对本发明进行详细地说明。

如图1所示,本发明提出一种在轨混合加载FPGA与CPU的方法, 通过反熔丝FPGA、SRAM型FPGA、PROM、CPU的架构来实现CPU 与SRAM型FPGA的在轨加载功能,反熔丝FPGA为构架的核心,通 过反熔丝FPGA可以灵活地选择加载CPU或者SRAM型FPGA,将 FPGA的配置文件与CPU的加载配置文件。

本发明的方法,具体包括如下步骤:

步骤1、根据SRAM型FPGA的需求,通过FPGA编译软件对FPGA 进行综合编译、布局布线等操作,生成供PROM存储SRAM型FPGA 加载配置文件,如*.mcs文件。

步骤2、将生成的CPU引导软件加入了同步字命令得到CPU引导 软件数据,及与SRAM型FPGA的加载配置文件融合生成统一加载配 置文件并存储在PROM中。具体过程如下:

首先,对CPU的引导软件进行处理。CPU的引导软件一般以.bin 文件的形式存在,此处将执行CPU功能的引导软件命名为Boot1.bin。 要将CPU引导软件与SRAM型FPGA加载配置文件合并为一个文件, 需通过一个文件格式转化软件BIN-TXT.EXE,将CPU引导软件.bin文 件格式转换成.txt文件。

然后,对于生成的Boot1.txt文件每字节数据之间包含空格,如图2 所示,这不符合FPGA编译工程的要求,必须将内部数据变为十六进制的 连续数据段,在记事本页面下打开Boot1.txt,将所有的空格间隙去除,生 成无其他符号的仅包含引导软件的Boot1.txt文件。为了在加载引导软件时 能够识别到综合下载文件中引导软件开始的地方,需要在引导软件之前加 上同步字命令,同步字必须是16字节,且与加载配置文件中每连续16字 节的数据不重复。加完同步字的Boot1.txt文件如图3所示。

在上述过程中最后生成的Boot1.txt文件放在SRAM型FPGA软件 的工程里,将xapp694.exe放在ISE10.1的安装路径\\ISE\\bin\\nt中。用ise 软件打开FPGA工程,通过tcl语言,在Tcl Shell中输入指令“xapp694 Boot1.txt switcher_inf_DC_test_5.mcs Boot1.mcs”,如图4所示,该指令 的通用格式在XAPP482-MicroBlaze平台Flash_PROM启动加载程序 和用户数据存储。指令输入后,会在FPGA软件的工程里生成一个名称 为Boot1.mcs的统一加载配置文件。

Boot1.mcs与switcher_inf_DC_test_5.mcs对比结果如图5所示,左 图中红色部分为综合的mcs文件与FPGA的mcs文件的差异部分,即 为CPU引导软件部分,本发明优选地对融合生成统一加载配置文件 Boot1.mcs的格式设置,将SRAM型的FPGA配置加载文件在前段,然 后是同步字命令加CPU引导软件的文本作为后段,通过同步命令字间 隔随后的CPU加载数据。

执行上述步骤后,CPU引导软件数据与FPGA的加载配置文件结 合为同一个mcs文件,供PROM存储的关键步骤已经完成。通过所述 CPU的配置加载文件存放在高等级PROM中,替代了以往的FLASH 芯片,大幅度的节省了设计成本并提高了存储芯片的利用率。

步骤3、当上电后反熔丝FPGA负责将“引导软件”从PROM中桥接 给CPU的ESPI总线,使得CPU进行一级引导boot。具体为,反熔丝 FPGA根据从PROM中读取的统一加载配置文件加载SRAM型FPGA, 当SRAM型FPGA配置加载成功后,返回加载成功信号至反熔丝FPGA; 所述反熔丝FPGA顺序读取统一加载配置文件,当判别到统一加载配置 文件中的同步字命令后,反熔丝FPGA识别文件中的CPU引导软件数 据,且将PROM中读取统一加载配置文件通过espi总线桥接至CPU, 对CPU进行引导软件加载。

优选地,还包括当SRAM型FPGA配置加载成功后,所述反熔丝 FPGA刷新SRAM型FPGA的配置区,对SRAM型FPGA进行加载的 目标部位刷新,使得SRAM型FPGA支持加载后被刷新功能,提高其 在轨可靠性。

步骤4、所述CPU在执行完引导软件加载后,开始自主产生读取 PROM的clk控制信号通过eSPI总线发送至反熔丝FPGA,由反熔丝 FPGA桥接该clk控制信号至PROM,并从PROM中读回统一加载配置 文件中的CPU引导软件数据中的CPU的加载数据,以完成对CPU进 行再次的加载。直至完成二级加载,完整的CPU加载步骤结束。

该步骤还可以包括对PROM数据指针进行控制,满足复位当前 PROM所读取内容的地址指针;以及,PROM生成片选信号,利用反 熔丝FPGA控制PROM的控制信号和片选信号的切换,以调取所需的 数据,满足对PROM中存放的配置文件进行指向化读取操作。利用反 熔丝FPGA控制PROM的控制信号和片选信号的切换,以调取所需的 数据。反熔丝FPGA可以灵活的选择加载SRAM型FPGA、加载CPU、 刷新SRAM型FPGA的控制进程,反熔丝FPGA通过控制PROM芯片 的clk和片选信号,可以灵活的来调取不同控制进程所需的数据,满足 加载SRAM型FPGA、加载CPU、刷新SRAM型FPGA的灵活切换需 求。

综上,本发明提高了CPU加载的灵活性,降低了方案实施成本, 增加了单粒子翻转的保护措施,为CPU在轨加载执行多任务及任务灵 活变更提供途径,满足当代卫星等航空航天应用的高灵活性、高可靠性、 高执行力的需求。

需要说明的是,以上说明仅是本发明的优选实施方式,应当理解, 对于本领域技术人员来说,在不脱离本发明技术构思的前提下还可以做 出若干改变和改进,这些都包括在本发明的保护范围内。

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