一种soc芯片更换自身内部fpgaip程序的方法

文档序号:6490807阅读:578来源:国知局
一种soc芯片更换自身内部fpga ip程序的方法
【专利摘要】本发明公开了一种SOC芯片更换自身内部FPGA?IP程序的方法,包括:MCU?IP通过其通用IO接口对FPGA?IP的配置接口的进行配置,使在正常工作状态下的FPGA?IP进入到程序下载模式;MCU?IP通过其通用IO接口向串行FLASH存储器输入读数据的特定命令字节,随后输入需要配置的程序代码所在的起始地址,使串行FLASH存储器从该起始地址向FPGAIP开始输出数据;已经进入到程序下载模式的FPGAIP开始接收串行FLASH存储器输出的数据,进行程序下载;当FPGA?IP接收了所有FLASH存储器输出的数据后,完成了程序下载工作,跳出程序下载模式,进入到配置完成模式,实现自身内部FPGAIP程序的更换。
【专利说明】—种SOC芯片更换自身内部FPGA IP程序的方法
【技术领域】
[0001 ] 本发明涉及嵌入式系统领域,尤其涉及一种SOC芯片更换自身内部FPGAIP程序的方法。
【背景技术】
[0002]在当今的嵌入式系统中,由于对功能以及性能的需求不断增加,使得嵌入式系统的设计复杂度也随之升高,所以几乎在所有的嵌入式系统中都能够看到SOC芯片的身影。
[0003]通过集成系统所需要的多个IP核,如MCU IP、DSP IP、FPGAIP等处理数字信号的IP核以及处理模拟信号的IP核,来实现在很小的芯片体积中集成非常多的单独芯片功能,大大提升了单个芯片的集成度,从而简化了整个嵌入式系统的设计复杂度。
[0004]本发明涉及的SOC芯片是一款集成了 FPGA IP和MCU IP的SOC芯片,其中FPGAIP是一款国内科研院所自主研发的容量为2000个逻辑单元的FPGAIP,MCU IP是一款由国外公司设计的8位通用MCU IP。
[0005]上述SOC现已广泛应用于机载SAR雷达加密系统中,完成数据加密的功能。鉴于FPGA的并行数据处理能力较强,而MCU在接口应用以及控制方面上有先天优势,所以FPGAIP主要负责加密算法的实现,MCU IP则主要负责密钥管理和接口通信等工作。
[0006]由于系统对加密方法的特殊需求,必须经常依据不同场合更换不同的加密算法,也就是需要在线随时更换FPGA IP程序,从而实现更换加密算法的目的,但由于现阶段的FPGA IP的自加载程序只能加载FLASH存储器的固定地址区域的程序,所以需要增加额外的数字逻辑去控制FPGAIP程序的加载过程。
[0007]由于系统成本和复杂度的限制,已经不允许再增加额外的控制器或处理器来完成上述功能,因此迫切需要开发一种能通过SOC芯片自身的数字控制部分来完成更换FPGAIP程序的方法,这样既简化了系统复杂度,又有效降低了成本。

【发明内容】

[0008](一 )要解决的技术问题
[0009]有鉴于此,本发明的主要目的是提供一种SOC芯片更换自身内部FPGA IP程序的方法,在不增加额外硬件成本的前提下使用SOC芯片内部资源来完成更换FPGA IP程序的功能,进而简化系统复杂度,降低成本。
[0010](二)技术方案
[0011]为达到上述目的,本发明提供了一种SOC芯片更换自身内部FPGA IP程序的方法,该SOC芯片包括FPGA IP和MCU IP, FPGA IP中使用的多个程序保存在一个串行FLASH存储器中,FPGA IP的配置接口和MCUIP的通用IO接口均连接于串行FLASH存储器的串行接口,且MCU IP的通用IO接口与FPGA IP的配置接口相连接,该方法包括:
[0012]步骤1:MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,使在正常工作状态下的FPGA IP进入到程序下载模式;[0013]步骤2:MCU IP通过其通用IO接口向串行FLASH存储器输入读数据的特定命令字节,随后输入需要配置的程序代码所在的起始地址,使串行FLASH存储器从该起始地址向FPGA IP开始输出数据;
[0014]步骤3:已经进入到程序下载模式的FPGA IP开始接收串行FLASH存储器输出的数据,进行程序下载;
[0015]步骤4:当FPGA IP接收了所有FLASH存储器输出的数据后,完成了程序下载工作,跳出程序下载模式,进入到配置完成模式,实现自身内部FPGAIP程序的更换。
[0016]上述方案中,步骤I中所述MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,是通过将FPGA IP的配置接口中的固定管脚配置为特定电平,使在正常工作状态下的FPGA IP进入到程序下载模式。
[0017]上述方案中,步骤I中所述FPGAIP进入到程序下载模式后,还包括:FPGA IP通过配置管脚告知MCU IP它已成功进入下载模式。
[0018]上述方案中,步骤4中所述FPGA IP进入到配置完成模式时,还包括:FPGAIP通过其配置接口告知MCU IP,其已进入到配置完成模式。
[0019]上述方案中,所述MCU IP用于更换同在SOC芯片中的FPGA IP的程序。
[0020]上述方案中,所述FPGA IP 与 MCU IP 通过 MCU IP 的 SFR(SpecialFunctionRegister)总线进行通信,使得MCU IP能够将FPGA IP当作一个外设进行访问。
[0021](三)有益效果
[0022]从上述技术方案可以看出,本发明具有以下有益效果:
[0023]I)本发明通过SOC内部的MCU IP对同在内部的FPGA IP进行程序更换,没有额外增加硬件成本,而且使得系统实现更加简单,这样既简化了系统复杂度,又有效降低了成本。
[0024]2) FLASH存储器中可以存放多个FPGAIP的程序,可实时更换程序使得FPGA IP的工作模式很灵活多样,适应多种的应用场合。
【专利附图】

【附图说明】
[0025]图1是本发明提供的SOC芯片更换自身内部FPGA IP程序的方法流程图;
[0026]图2是实现图1所示方法所基于的硬件的主要组成部分和连接关系示意图;
[0027]图3是依照本发明一个实施例的SOC芯片更换自身内部FPGA IP程序的方法流程图。
【具体实施方式】
[0028]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0029]如图1所示,图1是本发明提供的SOC芯片更换自身内部FPGA IP程序的方法流程图,该方法包括以下步骤:
[0030]步骤1:MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,使在正常工作状态下的FPGA IP进入到程序下载模式;
[0031]步骤2:MCU IP通过其通用IO接口向串行FLASH存储器输入读数据的特定命令字节,随后输入需要配置的程序代码所在的起始地址,使串行FLASH存储器从该起始地址向FPGA IP开始输出数据;
[0032]步骤3:已经进入到程序下载模式的FPGA IP开始接收串行FLASH存储器输出的数据,进行程序下载;
[0033]步骤4:当FPGA IP接收了所有FLASH存储器输出的数据后,完成了程序下载工作,跳出程序下载模式,进入到配置完成模式,实现自身内部FPGA IP程序的更换。
[0034]其中,步骤I中所述MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,是通过将FPGA IP的配置接口中的固定管脚配置为特定电平,使在正常工作状态下的FPGA IP进入到程序下载模式。
[0035]步骤I中所述FPGA IP进入到程序下载模式后,还包括:FPGA IP通过配置管脚告知MCU IP它已成功进入下载模式。
[0036]步骤4中所述FPGA IP进入到配置完成模式时,还包括:FPGA IP通过其配置接口告知MCU IP,其已进入到配置完成模式。
[0037]基于图1所示的SOC芯片更换自身内部FPGA IP程序的方法,图2是实现图1所示方法所基于的硬件的主要组成部分和连接关系示意图。本发明所涉及的SOC芯片是一款集成了 FPGA IP和MCU IP的SOC芯片,其中FPGA IP是一款国内科研院所自主研发的容量为2000个逻辑单元的FPGA IP,MCU IP是一款由国外公司设计的8位通用MCU IP。该SOC芯片包括FPGAIP和MCU IP, FPGA IP中使用的多个程序保存在一个串行FLASH存储器中,FPGA IP的配置接口和MCU IP的通用IO接口均连接于串行FLASH存储器的串行接口,且MCU IP的通用IO接口与FPGAIP的配置接口相连接。
[0038]其中,所述MCU IP用于更换同在SOC芯片中的FPGA IP的程序。所述FPGA IP与MCU IP通过MCU IP 的 SFR(Special Function Register)总线进行通信,使得MCU IP 能够将FPGA IP当作一个外设进行访问。分别保存FPGA IP和MCU IP程序的二进制代码,在系统上电时分别导入到FPGA IP和MCU IP中。
[0039]下面结合图3对本发明的实施例作进一步说明,但该实施例不应该理解为对本发明的限制。
[0040]步骤1:首先,将需要用到的几个FPGA IP程序代码用FLASH的专用烧写器写入到FLASH存储器的不同地址区段。
[0041]步骤2:将MCU IP与控制主机相连接。
[0042]步骤3:通过控制主机向MCU IP发送指令,告知其FPGA IP中的程序需要更换,同时告知其新的程序在FLASH存储器中的起始地址。
[0043]步骤4:MCU IP将FPGA IP配置为下载模式,接着将读数据的命令和起始地址输入FLASH存储器,下载完成后可以从控制主机中看到MCUIP发回下载成功的提示信息。
[0044]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种SOC芯片更换自身内部FPGA IP程序的方法,该SOC芯片包括FPGA IP和MCUIP,FPGA IP中使用的多个程序保存在一个串行FLASH存储器中,FPGA IP的配置接口和MCUIP的通用IO接口均连接于串行FLASH存储器的串行接口,且MCU IP的通用IO接口与FPGAIP的配置接口相连接,该方法包括: 步骤1:MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,使在正常工作状态下的FPGA IP进入到程序下载模式; 步骤2:MCU IP通过其通用IO接口向串行FLASH存储器输入读数据的特定命令字节,随后输入需要配置的程序代码所在的起始地址,使串行FLASH存储器从该起始地址向FPGAIP开始输出数据; 步骤3:已经进入到程序下载模式的FPGA IP开始接收串行FLASH存储器输出的数据,进行程序下载; 步骤4:当FPGA IP接收了所有FLASH存储器输出的数据后,完成了程序下载工作,跳出程序下载模式,进入到配置完成模式,实现自身内部FPGA IP程序的更换。
2.根据权利要求1所述的SOC芯片更换自身内部FPGAIP程序的方法,其特征在于,步骤I中所述MCU IP通过其通用IO接口对FPGA IP的配置接口的进行配置,是通过将FPGAIP的配置接口中的固定管脚配置为特定电平,使在正常工作状态下的FPGA IP进入到程序下载模式。
3.根据权利要求2所述的SOC芯片更换自身内部FPGAIP程序的方法,其特征在于,步骤I中所述FPGAIP进入到程序下载模式后,还包括: FPGA IP通过配置管脚告知MCU IP它已成功进入下载模式。
4.根据权利要求1所述的SOC芯片更换自身内部FPGAIP程序的方法,其特征在于,步骤4中所述FPGA IP进入到配置完成模式时,还包括: FPGA IP通过其配置接口告知MCU IP,其已进入到配置完成模式。
5.根据权利要求1所述的SOC芯片更换自身内部FPGAIP程序的方法,其特征在于,所述MCU IP用于更换同在SOC芯片中的FPGA IP的程序。
6.根据权利要求1所述的SOC芯片更换自身内部FPGAIP程序的方法,其特征在于,所述 FPGA IP 与 MCU IP 通过 MCU IP 的 SFR(SpecialFunction Register)总线进行通信,使得MCU IP能够将FPGA IP当作一个外设进行访问。
【文档编号】G06F9/445GK103809987SQ201210441579
【公开日】2014年5月21日 申请日期:2012年11月7日 优先权日:2012年11月7日
【发明者】徐飞, 乔树山, 黑勇 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1