一种加载方法及终端设备与流程

文档序号:12463380阅读:151来源:国知局
一种加载方法及终端设备与流程

本发明涉及电子技术领域,特别涉及一种加载方法及终端设备。



背景技术:

目前,现场可编程门阵列(Field-Programmable Gate Array,FPGA)的动态重构技术分为全局重构技术和局部重构技术两种。

其中,FPGA全局重构技术就是通过FPGA外部的配置处理单元对FPGA配置管脚的编程,来实现整个FPGA内容的切换,这种方式在目前已经得到了较为广泛的应用。而FPGA局部重构技术是通过FPGA内部或外部的配置处理单元,对FPGA内部部分资源的时分复用,来实现FPGA内部部分模块的切换。

目前,针对军用无人机,为了防止无人机被敌方捕获从而导致加密算法和参数泄露,必须采取掉电消失的方式。常规的解决措施是采用在线加载的方法,这种方式需要将完整的FPGA配置文件通过串口或者网口写入到配置端口,此过程中,需要配置整个FPGA的比特流文件,导致配置速度较慢,并且,全局重构在配置完成后,整个FPGA处于初始状态,需要重新对接口进行初始化并配置相应的运行参数,同时由于全局重构很难保存FPGA运行的中间结果,如果无人机外接有DDR SDRAM等存储单元,也会因为接口的重新复位而导致数据混乱,。

综上可知,现有技术中在线配置FPGA所需的时间较长,效率较低。



技术实现要素:

本发明实施例提供一种加载方法及终端设备,用于解决加载FPGA所需的时间较长,效率较低的技术问题。

一种加载方法,应用于一终端设备中,包括:

确定所述终端设备处于上电状态,获取并加载第一存储区中与所述终端设备中现场可编程门阵列FPGA模块相关的第一配置文件;其中,所述FPGA模块包括至少两个配置区域,所述第一配置文件包括用于对所述至少两个配置区域中的第一配置区域进行配置的静态完整数据,所述第一配置区域为完全重构区域;

确定所述第一配置文件加载成功,接收与所述终端设备相连的控制设备发送的第二配置文件,所述第二配置文件包括用于对所述至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,所述第二配置区域为局部重构区域;

确定所述第二配置文件加载成功,启动所述终端设备进入工作状态。

可选的,在确定所述第一配置文件加载成功之后,接收与所述终端设备相连的控制设备发送的第二配置文件之前,还包括:

确定与所述终端设备连接的控制设备对应的平台标识信息,并获取所述第一存储区中与所述平台标识信息对应的平台接口配置文件;

基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置,所述第三配置区域用于对所述终端设备与所述控制设备之间的功能接口进行配置。

可选的,在基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置之后,还包括:

确定所述第三配置文件加载成功,生成一反馈消息;

将所述反馈消息发送给所述控制设备,以接收所述控制设备基于所述反馈消息所反馈的所述第二配置文件。

可选的,所述方法还包括:

接收针对所述第二配置文件和/或所述第三配置文件的更新信息;

基于所述更新信息在所述终端设备中对所述第三文件进行更新和/或通过所述控制设备中对所述第二配置文件进行更新。

可选的,在确定所述终端设备处于上电状态之前,所述方法还包括:

确定与所述控制设备的FPGA模块的完整配置区域对应的完整配置文件;

基于至少一个预设条件将所述完整配置区域划分为至少两个配置区域;其中,所述至少一个预设条件包括配置区域的配置文件掉电消失和/或配置区域的配置文件与平台相应。

另一方面,本发明实施例提供一种终端设备,包括:

存储器,用于存储与所述终端设备中FPGA模块相关的第一配置文件;其中,所述FPGA模块包括至少两个配置区域,所述第一配置文件包括用于对所述至少两个配置区域中的第一配置区域进行配置的静态完整数据,所述第一配置区域为完全重构区域;

处理器,用于确定所述终端设备处于上电状态,获取并加载第一存储区中与所述终端设备中现场可编程门阵列FPGA模块相关的第一配置文件,若确定所述第一配置文件加载成功,接收与所述终端设备相连的控制设备发送的第二配置文件,确定所述第二配置文件加载成功,启动所述终端设备进入工作状态;其中,所述第二配置文件包括用于对所述至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,所述第二配置区域为局部重构区域。

可选的,所述处理器还用于:

在确定所述第一配置文件加载成功之后,接收与所述终端设备相连的控制设备发送的第二配置文件之前,确定与所述终端设备连接的控制设备对应的平台标识信息,并获取所述第一存储区中与所述平台标识信息对应的平台接口配置文件;

基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置,所述第三配置区域用于对所述终端设备与所述控制设备之间的功能接口进行配置。

可选的,所述处理器还用于:

在基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置之后,确定所述第三配置文件加载成功,生成一反馈消息;

将所述反馈消息发送给所述控制设备,以接收所述控制设备基于所述反馈消息所反馈的所述第二配置文件。

可选的,所述处理器还用于:

接收针对所述第二配置文件和/或所述第三配置文件的更新信息;

基于所述更新信息在所述终端设备中对所述第三文件进行更新和/或通过所述控制设备中对所述第二配置文件进行更新。

可选的,所述处理器还用于:

在确定所述终端设备处于上电状态之前,确定与所述控制设备的FPGA模块的完整配置区域对应的完整配置文件;

基于至少一个预设条件将所述完整配置区域划分为至少两个配置区域;其中,所述至少一个预设条件包括配置区域的配置文件掉电消失和/或配置区域的配置文件与平台相应。

本发明实施例中,在确定终端设备处于上电状态时,终端设备可以获取并加载第一存储区域中的与FPGA模块相关的第一配置文件,该第一配置文件可以对FPGA模块包括至少两个配置区域中的第一配置区域进行配置,第一配置区域为完全重构区域,进而确定第一配置文件加载成功,可以接收与终端设备连接的控制设备发送的第二配置文件,第二配置文件包括用于对至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,且第二配置区域为FPGA模块中的局部重构区域,进而在确定第二配置文件加载成功后,即可启动终端设备进入工作状态,故通过对终端设备中FPGA模块的分区,并对不同的区域进行相应的加载方式,实现仅对需要保护的加密数据的配置文件进行在线加载的方式进行加载,文件大小相较完整FPGA配置文件而言大大减小,能有效缩短配置文件的传输时间,进而缩短开机到正常工作的时间,提高FPGA的加载效率。

附图说明

图1为本发明实施例中终端设备所处的系统结构示意图;

图2为本发明实施例中加载方法的主要流程示意图;

图3为本发明实施例中FPGA加载过程示意图;

图4本发明实施例中终端设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

1)终端设备,指需要对保护代码掉电消失的设备,例如军用无人机、侦察机等,本发明实施例对此不作具体限制。

2)控制设备,用于在用户端为终端设备进行配置及操控的设备,例如控制设备可以是终端机,或者,控制设备还可以是组网的远程控制单元,能够对终端设备进行远程通信,本发明实施例对此不作具体限制。

下面结合附图介绍本发明实施例所应用的网络架构。

图1所示,其为本发明实施例中加载方法所应用的系统结构示意图,其该系统对应的实体可以包括终端设备和控制设备,其中,终端设备主要可以包括FPGA模块、存储模块和数字信号处理(Digital Signal Processing,DSP)模块,各模块间相互连接;控制设备可以是个人计算机(personal computer,PC),终端设备与控制设备之间可以通过相应的接口连接,例如,DSP模块可以通过网络或串口与控制设备连接,FPGA模块可以通过联合测试工作组(Joint Test Action Group,JTAG)接口与控制设备连接。

在该系统构架中,将FPGA区域划分成静态逻辑区域、部分动态重构区域1、部分动态重构区域2三个部分。其中,静态逻辑区域可以用于存储不需要保护并且不随平台变化而改变的硬件逻辑;部分动态重构区域1可以用于存储需要保护的加密硬件逻辑;部分动态重构区域2可以用于存储不需要保护但需要针对不同平台进行相应调整的接口硬件逻辑。

在实际应用中,可将FPGA部分采用基于模块化的部分重构设计,其中,加密模块和接口模块分别设置成可重构模块。例如,可以利用局部重构技术实现工具和Plan Ahead工具对需要配置的比特流进行分类,分别产生出静态完整比特流文件(如图1中的Static.bit)、加密模块部分比特流文件(如图1中的DEP.bit)和针对不同平台的接口部分比特流文件(如图1中的IFS_1.bit~IFS_n.bit)。

下面结合说明书附图对本发明实施例提供的技术方案作进一步详细描述。下面的介绍过程以图1所示的系统架构为例。

如图2所示,本发明实施例公开一种加载方法,应用于终端设备,该方法可以描述如下。

S11:确定终端设备处于上电状态,获取并加载第一存储区中与终端设备中FPGA模块相关的第一配置文件;其中,FPGA模块包括至少两个配置区域,第一配置文件包括用于对至少两个配置区域中的第一配置区域进行配置的静态完整数据,第一配置区域为完全重构区域;

S12:确定第一配置文件加载成功,接收与终端设备相连的控制设备发送的第二配置文件,第二配置文件包括用于对至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,第二配置区域为局部重构区域;

S13:确定第二配置文件加载成功,启动终端设备进入工作状态。

本发明实施例中,终端设备可以是无人机产品,其在被投入正常工作前通常进行用户通过控制设备在无人机放飞之前对FPGA进行在线加载,以便较好地执行相应任务,控制设备可以包括终端电脑或者终端的手持注入器设备等,本发明实例对此不作具体限制。

可选的,终端设备中至少可以包括如图1所示的功能模块,如DSP、存储器和FPGA模块,其中,DSP模块可以用于对终端设备中的数据进行处理,终端设备中的第一存储器可以是闪存,例如Flash存储器。在无人机产品中,Flash存储器是可以用于存储不需要掉电消失的比特流文件,其没有电流供应的条件下也能够长久地保持数据。

终端设备中可以通过存放在片内随机存取存储器(Random Access Memory,RAM)中的程序来设置FPGA模块的工作状态,因此,终端设备在工作时需要对片内的RAM进行编程,用户可以根据不同的配置模式,采用不同的编程方式。通常来说,当终端设备上电时,FPGA芯片将可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态;掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

可选的,在确定终端设备处于上电状态时,即可获取并加载与FPGA模块中第一配置区域相关的第一配置文件,该第一配置区域可以是如图1中为FPGA模块划分的静态逻辑区域,第一配置文件可以包括对第一配置区域进行配置的静态完整数据,即图1中的静态完整比特流文件(Static.bit)。

在实际应用中,上电时,终端设备可以通过DSP从Flash中读取静态逻辑比特流文件(Static.bit),对FPGA进行完全配置。通常来说,在对FPGA的第一配置区域加载静态完整比特流文件后,终端设备中FPGA与控制设备间的通信接口使能。

本发明实施例中,终端设备的FPGA模块可以包括有至少两个配置区域,确定至少两个配置区域的过程可以是确定与控制设备的FPGA模块的完整配置区域对应的完整配置文件,进而基于至少一个预设条件将完整配置区域划分为至少两个配置区域,其中,至少一个预设条件包括配置区域的配置文件掉电消失和/或配置区域的配置文件与平台相应。即,在对FPGA的完整配置区域进行划分时,划分的标准主要考虑两点:一是该区域是否要求掉电消失;二是该区域代码是否会因为不同平台而不一致。

在划分过程中,若确定FPGA中的某区域要求掉电消失,则可以将其划分为第二配置区域,即用于存储需要保护的加密硬件逻辑;若确定该区域不要求掉电消失,则可以确定其为静态逻辑区域,对应于静态完整数据,进一步,还可以判断该区域的配置文件是否会因不同无人机平台而不一致,则将该区域划分为第三配置区域,即用于存储不需要保护但需要针对不同平台进行相应调整的接口硬件逻辑的部分动态重构区域2。

本发明实施例中,通过对终端设备进行分区,可将用于存储加密模块部分比特流文件的区域单独进行在线加载,而大量的静态完整数据的加载通过静态配置即可,从而减少在线配置所需时间。

可选的,在确定第一配置文件加载成功后,可以进行S12,终端设备可以获取第二配置文件,该第二配置文件即为存储在控制端的加密模块部分比特流文件(DEP.bit),第二配置区域对应与图1中的部分动态重构区域1,该区域用于存储要求掉电消失的保密数据,在实际应用过程中,终端设备可以通过DSP接收控制设备发送的第二配置文件,即加密模块部分比特流文件(DEP.bit),进而DSP可将该文件通过与FPGA之间的接口,将加密模块部分比特流文件发送到FPGA中的部分动态重构区域1,以对该区域进行重构,从而使终端设备能够正常工作。

可选的,在S12之前,还可以确定与终端设备连接的控制设备对应的平台标识信息,并获取第一存储区中与平台标识信息对应的平台接口配置文件,基于平台接口配置文件对至少两个配置区域中的第三配置区域进行配置,第三配置区域用于对终端设备与控制设备之间的功能接口进行配置。

其中,第三配置区域可以对应于图1中的部分动态重构区域2,平台标识信息可以是能够指示控制设备中平台接口的信息,通常来说,在使用不同的平台的控制设备对终端设备进行配置时,需要根据平台的不同对终端设备的FPGA进行配置。

在实际应用中,可通过控制设备将自身设备对应的平台参数信息写入控制设备的Flash,上电后控制设备可以从Flash中读取平台参数信息,即可选择性的加载对应平台接口部分比特流文件,例如根据控制设备的平台标识信息确定

本发明实施例中,当用户在控制设备输入用于对终端设备的FPGA进行配置的操作时,控制设备可以将自身的平台标识信息发送给终端设备的DSP,进而DSP可以基于该平台标识信息在Flash中读取相应的平台接口比特流,即第三配置文件,其可以是图1中所示的Flash存储的IFS_1.bit~IFS_n.bit中与平台标识信对应的一个,例如IFS_1.bit或IFS_1.bit,等等,本发明实施例对此不作具体限制,在确定相应的平台接口比特流文件后即可将其通过总线传输到FPGA的第三配置区域,以对第三配置区域进行重配置。

可选的,终端设备中FPGA模块划分的第一配置区域可以是完全重构区域,第二配置区域和第三配置区域可以是局部重构区域,或称部分重构区域。

在实际应用中,若终端设备对应的控制设备较为固定,则FPGA对应的配置平台也较为固定,那么,在终端设备上电时,可以在加载FPGA中第一配置区域的第一配置文件的同时,也对平台接口进行加载。例如,确定控制设备的平台标识信息对应的平台接口配置文件为IFS_3.bit,则在对FPGA的静态逻辑区域进行配置时,也可提取Flash中的IFS_3.bit对部分动态重构区域2进行配置,从而提高加载的效率。

本发明实施例中,由于第一配置区域和第二配置区域对应的配置文件均存储在终端设备中与FPGA连接的存储器(即Flash)中,故在控制设备上电时,可以通过DSP读取Flash中的静态完整比特流文件以及接口部分比特流文件,并分别对相应的配置区域进行配置。

可选的,在对第三配置区域配置了相应的平台接口比特流文件后,终端设备可以生成并向控制设备发送一反馈消息,该反馈消息可以用于表明终端设备已完成平台接口配置文件的加载,当前正处于等待接收加密模块部分比特流文件(DEP.bit)的状态。

在实际应用中,该反馈消息可以看作在FPGA配置过程中终端设备针对控制设备的回复操作,该回复操作可以采取FPGA加载完对应平台的接口部分比特流文件后主动向控制设备发送准备就绪指令的方式,在握手成功后开始接收并在线加载从控制设备中获取的加密模块部分比特流文件。

因此,控制设备在接收该反馈消息后,可以确定终端设备准备就绪,此时便开始下发第二配置文件,即加密模块部分比特流文件(DEP.bit),终端设备通过DSP接收第二配置文件,并基于第二配置文件对FPGA模块中的部分动态重构区域1进行在线配置,全部配置完成后,终端设备会即可进入正常工作模式。如图3所示,其为本发明实施例中对FPGA进行配置的完整过程。

可选的,接收来自控制设备发送的更新信息,更新信息用于针对是第一存储区域的第一配置文件和/或第三配置文件进行更新的信息,进而,控制设备可以基于更新信息对相应配置文件进行更新。例如,该更新信息可以是针对控制设备设备的Flash中接口部分比特流文件(IFS_n.bit)升级的信息,则控制设备可以基于该更新信息,通过用户终端写入Flash相应扇区,以对该部分文件进行升级。

此外,还可以对第二配置文件,即来自控制设备的加密模块部分比特流文件(DEP.bit)进行单独升级,由于加密模块部分比特流文件(DEP.bit)存储在控制设备,用户可以在控制设备处进行升级操作。

在实际应用中,由于完全重配置需要配置整个FPGA的比特流文件,而部分动态可重构技术只需要配置相应模块的逻辑内容,文件大小相差悬殊,在相同的配置时钟频率下,部分动态可重构技术的配置速度是完全配置的几分之一或者几十分之一,因此,本发明实施例中仅对需要对数据进行掉电消失的第二配置区域进行在线加载的方式,提供了配置的速度。

同时,由于完全重配置在配置完成后,整个FPGA处于初始状态,需要重新对接口进行初始化,并配置运行参数。而部分动态可重构技术不用进行全局复位,下达参数也只需要针对重构的模块,故省略了完全配置后的复位、下达参数的流程。

此外,完全重配置很难保存FPGA运行的中间结果,如果外接DDR SDRAM等存储单元,也会因为接口的重新复位而导致数据混乱,而部分动态可重构技术能够保存了FPGA运行的中间结果和数据。

如图4所示,基于同一发明构思,本发明实施例还提供一种终端设备,包括存储器10和处理器20。

其中,存储器10可以用于存储与所述终端设备中FPGA模块相关的第一配置文件;其中,所述FPGA模块包括至少两个配置区域,所述第一配置文件包括用于对所述至少两个配置区域中的第一配置区域进行配置的静态完整数据,所述第一配置区域为完全重构区域。

处理器20可以用于确定所述终端设备处于上电状态,获取并加载第一存储区中与所述终端设备中现场可编程门阵列FPGA模块相关的第一配置文件,若确定所述第一配置文件加载成功,接收与所述终端设备相连的控制设备发送的第二配置文件,确定所述第二配置文件加载成功,启动所述终端设备进入工作状态;其中,所述第二配置文件包括用于对所述至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,所述第二配置区域为局部重构区域。

在实际应用中,第一存储器可以是终端设备中的闪存,如Flash存储器,处理器20可以是终端设备中具有数据处理能力的DSP模块,其可以用于对终端设备中的FPGA模块进行配置,其中,终端设备的内部结构还请参见图1及相应介绍,此处不再赘述。

可选的,所述处理器20还可以用于在确定所述第一配置文件加载成功之后,接收与所述终端设备相连的控制设备发送的第二配置文件之前,确定与所述终端设备连接的控制设备对应的平台标识信息,并获取所述第一存储区中与所述平台标识信息对应的平台接口配置文件;

基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置,所述第三配置区域用于对所述终端设备与所述控制设备之间的功能接口进行配置。

可选的,所述处理器20还用于:

在基于所述平台接口配置文件对所述至少两个配置区域中的第三配置区域进行配置之后,确定所述第三配置文件加载成功,生成一反馈消息;

将所述反馈消息发送给所述控制设备,以接收所述控制设备基于所述反馈消息所反馈的所述第二配置文件。

可选的,所述处理器20还用于:

接收针对所述第二配置文件和/或所述第三配置文件的更新信息;

基于所述更新信息在所述终端设备中对所述第三文件进行更新和/或通过所述控制设备中对所述第二配置文件进行更新。

可选的,所述处理器20还用于:

在确定所述终端设备处于上电状态之前,确定与所述控制设备的FPGA模块的完整配置区域对应的完整配置文件;

基于至少一个预设条件将所述完整配置区域划分为至少两个配置区域;其中,所述至少一个预设条件包括配置区域的配置文件掉电消失和/或配置区域的配置文件与平台相应。

本发明实施例中,在确定终端设备处于上电状态时,终端设备可以获取并加载第一存储区域中的与FPGA模块相关的第一配置文件,该第一配置文件可以对FPGA模块包括至少两个配置区域中的第一配置区域进行配置,第一配置区域为完全重构区域,进而确定第一配置文件加载成功,可以接收与终端设备连接的控制设备发送的第二配置文件,第二配置文件包括用于对至少两个配置区域中的第二配置区域进行配置的至少一个密保数据,且第二配置区域为FPGA模块中的局部重构区域,进而在确定第二配置文件加载成功后,即可启动终端设备进入工作状态,故通过对终端设备中FPGA模块的分区,并对不同的区域进行相应的加载方式,实现仅对需要保护的加密数据的配置文件进行在线加载的方式进行加载,文件大小相较完整FPGA配置文件而言大大减小,能有效缩短配置文件的传输时间,进而缩短开机到正常工作的时间,提高FPGA的加载效率。

前述图1-图3实施例中的加载方法的具体实例同样适用于本实施例的终端设备,通过前述对加载方法的详细描述,本领域技术人员可以清楚的知道本实施例中终端设备的实施方法,因此为了说明书的简洁,在此不再详述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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