加密导航计算机电路
技术领域
本发明属于导航领域,具体涉及一种加密导航计算机电路。
背景技术
随着电子技术、信息融合技术、导航/制导控制技术的发展,高性能导航计算机电路的发展也得到了极大地推动,高性能计算机电路在航天器姿态测控、武器制导、微小型飞行器控制等众多领域显出十分广阔的应用前景。
目前,导航计算机电路通常由DSP(Digital Signal Processing,数字信号处理)和FPGA(Field-Programmable Gate Array,现场可编程门阵列)等组成且不具备加密功能,若要实现导航计算机软件的加密,必须外扩加密芯片和加密程序。由于需要新增加密芯片并且增加的加密芯片是与传统的导航计算机电路外接,因而在实现导航计算机电路的加密功能时存在可靠性低、使用维护成本较高的缺点。
发明内容
本发明提供一种加密导航计算机电路,以解决目前对导航计算机电路加密时存在可靠性低、使用维护成本较高的问题。
根据本发明实施例的第一方面,提供一种加密导航计算机电路,包括并行存储器、DSP以及设置在所述并行存储器与DSP之间的FPGA,其中所述FPGA用于通过对外接口接收导航传感数据,并对所述导航传感数据进行存储;所述FPGA在上电时控制所述DSP复位,同时从所述并行存储器中读取加密的导航计算机软件,对加密的导航计算机软件解密后进行暂存,此后控制所述DSP进入正常工作流程;
所述DSP进入正常工作流程后,从FPGA内读走解密后的导航计算机软件和导航传感数据,并向所述FPGA发送读参数指令;
所述FPGA在接收到所述读参数指令后,从所述并行存储器中读取加密的系统参数,对加密的系统参数解密后发送给所述DSP;
所述DSP利用系统参数对所述导航计算机软件进行配置,基于配置后的导航计算机软件对所述导航传感数据进行处理,生成导航控制数据,并将所述导航控制数据传输给所述FPGA,以使所述FPGA通过所述对外接口将导航控制数据输出。
在一种可选的实现方式中,所述DSP在将所述导航控制数据发送给所述FPGA的同时,还向所述FPGA发送写数据指令;所述FPGA在接收到写数据指令后,对所述导航控制数据进行加密,并将加密后的导航控制数据写入所述并行存储器内;
所述FPGA在接收到导航传感数据后,对所述导航传感器进行存储的同时,还对所述导航传感数据进行加密,并将加密后的导航传感数据写入所述并行存储器内,并使所述导航传感数据与其经DSP处理后形成的导航控制数据相对应。
在另一种可选的实现方式中,所述FPGA的第一引脚与所述DSP的复位引脚连接,其在上电时通过所述第一引脚向所述DSP的复位引脚提供第一电平,以使所述DSP复位;
所述FPGA在对加密后的导航计算机软件进行解密存储后,通过其第一引脚向所述DSP的复位引脚提供第二电平,以使所述DSP进入正常工作流程。
在另一种可选的实现方式中,在升级时,所述FPGA通过对外接口可对其内存储的加解密算法进行升级。
在另一种可选的实现方式中,在升级时,所述FPGA通过对外接口接收导航计算机软件升级包和/或系统参数升级包,对导航计算机软件升级包和/或系统参数升级包进行加密,并将加密后的导航计算机软件升级包和/或系统参数升级包写入所述并行存储器内。
在另一种可选的实现方式中,所述并行存储器采用电子黑匣子技术制成。
在另一种可选的实现方式中,所述导航控制数据包括制导信息和控制信息,FPGA中分配有导航信息数据区、制导信息数据区和控制信息数据区三个公共数据区,其中导航信息数据区用于存储FPGA通过对外接口接收到的导航传感数据,制导信息数据区和控制信息数据区用于对应存储DSP生成的制导信息和控制信息,由此实现了所有数据的完全共享。
本发明的有益效果是:
本发明通过将导航计算机软件加密后存储至并行存储器中,只有在FPGA上电后才会将加密的导航计算机软件读取、解密,并在导航计算机软件解密完成后立即传输给DSP,可以避免导航过程中导航计算机软件被非法人员窃取,提高导航计算机软件的知识产权保护力度,并且存储在并行存储器中的导航计算机软件为加密的,即便非法分子窃取了导航计算机软件,也增大了其破译软件的难度,从而使导航计算机软件的知识产权可以得到双重保护。本发明在FPGA上电后,通过控制DSP复位,可以为DSP进入正常工作流程做准备,保证本次导航的准确性;通过在控制DSP复位的同时,从并行存储器中读取加密的导航计算机软件,而非依次进行,可以提高导航运行速率。传统的软件加密方式中,导航计算机电路需要外接加密芯片,来避免导航计算机软件被非法窃取,其中FPGA只用于转发外设与DSP之间的数据,本发明在对导航计算机软件加密时,并未采用外接加密芯片的方式,而是直接利用FPGA与DSP之间的交互,对并行存储器中导航计算机软件进行读取,并利用读取时间极短的特性来避免导航计算机软件被非法盗取,这样可以降低使用成本,并且FPGA和DSP都属于导航计算机电路的内部组件,其可靠性也更高、体积也更小。
附图说明
图1是本发明加密导航计算机电路的一个实施例电路方框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
参见图1,为本发明加密导航计算机电路的一个实施例电路方框图。该加密导航计算机电路可以包括并行存储器、DSP以及设置在所述并行存储器与DSP之间的FPGA,其中所述FPGA用于通过对外接口接收导航传感数据,并对所述导航传感数据进行存储;所述FPGA在上电时控制所述DSP复位,同时从所述并行存储器中读取加密的导航计算机软件,对加密的导航计算机软件解密后进行暂存,此后控制所述DSP进入正常工作流程;所述DSP进入正常工作流程后,从FPGA内读走解密后的导航计算机软件和导航传感数据,并向所述FPGA发送读参数指令;所述FPGA在接收到所述读参数指令后,从所述并行存储器中读取加密的系统参数,对加密的系统参数解密后发送给所述DSP;所述DSP利用系统参数对所述导航计算机软件进行配置,基于配置后的导航计算机软件对所述导航传感数据进行处理,生成导航控制数据,并将所述导航控制数据传输给所述FPGA,以使所述FPGA通过所述对外接口将导航控制数据输出。
本实施例中,外部的各个导航传感器可以通过对外接口与FPGA连接。在启动导航后,各个导航传感器对导航信息进行检测,并通过对外接口将检测到的导航传感数据发送给FPGA,FPGA在接收到导航传感数据后对其进行存储;此外,在启动导航后,电源控制系统会向加密导航计算机电路中的各个组件提供电源,其中FPGA上电后,向DSP发送复位信号,DSP在接收到复位信号后进行复位,同时FPGA向并行存储器发送软件读指令,并行存储器在接收到软件读指令后,将加密的导航计算机软件发送给FPGA,FPGA对加密的导航计算机软件进行解密并对解密后的导航计算机软件进行暂存,直至DSP从FPGA中读走解密后的导航计算机软件。FPGA在对加密的导航计算机软件解密完成后,控制DSP进入正常工作流程。DSP在进入正常工作流程后,向FPGA发送读软件指令和读数据指令,FPGA在接收到读软件指令后,将解密后的导航计算机软件传输给DSP,在接收到读数据指令后,将导航传感数据传输给DSP;与此同时,DSP向FPGA发送读参数指令。
由于电路在集成化设计完成后,使用者只能通过集成化电路所提供的对外接口,获取相关的特定数据,本发明中FPGA直接与对外接口连接,如果将导航计算机软件直接存储在FPGA上,那么非法分子将很容易获得导航计算机软件,这样对软件知识产权的保护非常不利。此外,FPGA在断电后其上存储的导航计算机软件将会丢失,因而将导航计算机软件直接存储在FPGA上会对导航的正常运行造成影响。为此,本发明将加密的导航计算机软件存储至并行存储器中,而非直接与对外接口连接的FPGA内,并且只有当FPGA上电后才会将加密的导航计算机软件读取出来并进行解密,解密后的导航计算机软件并非在导航过程中一直存储在FPGA中,而仅仅是暂存至FPGA中,直至DSP从FPGA中读走解密后的导航计算机软件,为了保证导航运行速率,FPGA在对加密的导航计算机软件解密后会立即控制DSP进入正常工作流程,使DSP从FPGA内读取解密后的导航计算机软件,因而解密后的导航计算机软件在FPGA内暂存的时间极短,若非法分子想利用这段时间来窃取导航计算机软件的原代码,将很难实现。
由此可见,本发明通过将导航计算机软件加密后存储至并行存储器中,只有在FPGA上电后才会将加密的导航计算机软件读取、解密,并在导航计算机软件解密完成后立即传输给DSP,可以避免导航过程中导航计算机软件被非法人员窃取,提高导航计算机软件的知识产权保护力度,并且存储在并行存储器中的导航计算机软件为加密的,即便非法分子窃取了导航计算机软件,也增大了其破译软件的难度,从而使导航计算机软件的知识产权可以得到双重保护。本发明在FPGA上电后,通过控制DSP复位,可以为DSP进入正常工作流程做准备,保证本次导航的准确性;通过在控制DSP复位的同时,从并行存储器中读取加密的导航计算机软件,而非依次进行,可以提高导航运行速率。传统的软件加密方式中,导航计算机电路需要外接加密芯片,来避免导航计算机软件被非法窃取,其中FPGA只用于转发外设与DSP之间的数据,本发明在对导航计算机软件加密时,并未采用外接加密芯片的方式,而是直接利用FPGA与DSP之间的交互,对并行存储器中导航计算机软件进行读取,并利用读取时间极短的特性来避免导航计算机软件被非法盗取,这样可以降低使用成本,并且FPGA和DSP都属于导航计算机电路的内部组件,其可靠性也更高、体积也更小。
为了实现FPGA与DSP之间的交互,本发明并未采用控制命令的软件形式,而是直接利用FPGA和DSP上对应管脚的连接关系来实现,由此可以使FPGA与DSP之间的交互更加可靠。例如,FPGA在控制DSP复位时,其与DSP的引脚连接关系为:所述FPGA的第一引脚与所述DSP的复位引脚连接,其在上电时通过所述第一引脚向所述DSP的复位引脚提供第一电平(例如低电平),以使所述DSP复位;所述FPGA在对加密后的导航计算机软件进行解密存储后,通过其第一引脚向所述DSP的复位引脚提供第二电平(例如高电平),以使所述DSP进入正常工作流程。结合图1所示,FPGA与并行存储器之间采用PIO(Programming Input/OutputModel,可编程输入/输出模式)连接方式,FPGA与DSP之间采用EMIF(External MemoryInterface,外部存储器接口)连接方式。
另外,本发明中FPGA在接收到DSP发送的读参数指令后,从并行存储器中读取加密的系统参数,对加密的系统参数解密后发送给DSP,DSP利用系统参数对导航计算机软件进行配置,在配置完成后,基于配置后的导航计算机软件对导航传感数据进行处理,完成IMU(Inertial measurement unit,惯性测量单元)数据的误差补偿和组合导航解算,从而生成包括制导信息、控制信息的导航控制数据,并将导航控制数据传输FPGA,FPGA在接收到导航控制数据后,通过对外接口将导航控制数据输出。FPGA中分配有导航信息数据区、制导信息数据区和控制信息数据区三个公共数据区,FPGA对公共数据区的数据进行管理,按可编程的帧率和要求输出IMU信息、组合导航信息、与图像处理机的交互信息、导引头随动系统控制信号、舵机控制信息、引信控制信息等。其中,导航信息数据区用于存储FPGA通过对外接口接收到的导航传感数据,制导信息数据区和控制信息数据区用于对应存储DSP生成的制导信息和控制信息,由此实现了所有数据的完全共享。本发明在并列存储器中将导航计算机软件与其配置所需的系统参数分开存储,这样非法分子即便盗取了导航计算机软件,没有系统参数进行配置,也无法正常使用导航计算机软件,由此可以进一步提高导航计算机软件的知识产权保护力度。
若FPGA在上电后并不读取加密的导航计算机软件进行解密,而是在DSP进入正常工作流程,FPGA接收到DSP发送的读软件指令后,再从并行存储器中读取加密的导航计算机软件进行解密,那么由于FPGA在进入正常工作流程后,本身就会发送读参数指令给FPGA,以使FPGA在接收到读参数指令后从并行存储器中读取系统参数进行解密,因此FPGA在解密过程中需要双进程分别对导航计算机软件和系统参数进行解密,这样会导致资源浪费;此外,相比于系统参数解密,导航计算机软件解密所需时长更长,因而有可能存在系统参数解密完成后导航计算机软件解密尚未完成,这样会不利于数据的同步性处理。因而,本发明中DSP在对导航计算机软件和系统参数存取时是分开按先后顺序存取,其中导航计算机软件是在FPGA上电后自发从并行存储器中读取进行解密,系统参数是FPGA控制DSP进入正常工作流程后,触发FPGA读取进行解密,由此可以降低资源浪费,并保证数据处理的同步性。
此外,加密芯片属于硬件加密方式,其内部加解密算法是已经设计好的,不便于修改,当用户需要修改其加解密算法时就需要更换新的加密芯片,本发明中加解密算法以软件的形式存储在FPGA内,相比于利于硬件形式的加密芯片,本发明可以在不更换硬件的前提下,通过修改FPGA中的对应代码就可以对加解密算法进行灵活配置,由此可以降低加解密算法的维护成本。
由上述实施例可见,本发明打破传统的以专用加密芯片为基础进行单独加密设计的思路,采取硬件资源统筹规划,以功能模块化、新型化、组合化为设计理念,将导航计算机电路内部功能模块与接口进行重新组合进行集成化设计,在不增加产品设计的复杂度和低成本的情况下,实现对产品软件的加密功能。具体的以新型化、集成化和模块化、软件组态化的设计思路,采用高性能DSP处理器+FPGA+内部总线为基础的计算机体系结构,整合各种硬件资源,设计出具有体积小、重量轻、成本低、可靠性高的加密导航计算机电路,以降低产品的成本、体积和重量,减小传输时延,提高可靠性,提高产品软件的安全性,有效保护产品核心技术。新型加密导航计算机电路设计时采用模块化设计,根据其所针对的具体应用,能够通过简单的功能裁剪快速实现,可缩短新产品的研发周期,为其快速占领市场打下坚实基础。新型加密导航计算机设计时采用了开放式的电子黑匣子技术,系统内信息高度共享,无缝对接,为系统软件的各方协作开发扫清了障碍。在高度紧密的协作开发环境下和硬件平台基础上,既可发挥各方的优势,实现系统功能要求,又实现了知识产权的有效保护,实现各方合作共赢的目的。
另外,所述DSP在将所述导航控制数据发送给所述FPGA的同时,还向所述FPGA发送写数据指令;所述FPGA在接收到写数据指令后,对所述导航控制数据进行加密,并将加密后的导航控制数据写入所述并行存储器内;所述FPGA在接收到导航传感数据后,对所述导航传感器进行存储的同时,还对所述导航传感数据进行加密,并将加密后的导航传感数据写入所述并行存储器内,并使所述导航传感数据与其经DSP处理后形成的导航控制数据相对应。由此,本发明可以对导航过程中的导航传感数据和导航控制数据进行存储,以便后续对导航出现的故障进行排查以及导航计算机软件的升级调整。为了保证导航数据的安全性,并行存储器可以采用电子黑盒子技术制成。
为了保证利用系统参数合理配置导航计算机软件,所述DSP从FPGA内读取解密后的导航计算机软件和导航传感数据后,根据所述导航传感数据的类型,向所述FPGA发送对应地读参数指令。本发明可以对加解密算法、导航计算机软件和系统参数进行升级,在升级时,所述FPGA通过对外接口可对其内存储的加解密算法进行升级;所述FPGA通过对外接口接收导航计算机软件升级包和/或系统参数升级包,对导航计算机软件升级包和/或系统参数升级包进行加密,并将加密后的导航计算机软件升级包和/或系统参数升级包写入所述并行存储器内。由于本发明是通过FPGA对存储器进行读写,即使升级失败仍然可以再次升级直至升级成功,有效降低了产品的维护成本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。