本发明专利技术为一种内部植入CPU的FPGA系统在线升级的方法。其主要特点是,FPGA中植入有经过裁剪的CPU以及在其上面运行的操作系统,其升级过程如下:在FPGA上电自检和初始化后,通过加载引导程序,启动网络驱动模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址,当检测到用户升级开关打开时,从服务器下载升级文件到SDRAM中,经过校验后,写入FLASH芯片,升级成功后即可引导新的系统启动。本发明专利技术利用FPGA的软硬件可编程的特点,实现了系统软硬件同时在线升级,提高了系统的可扩展性和升级的灵活性。
【技术实现步骤摘要】
所属领域本专利技术涉及含有FPGA(现场可编程门阵列)芯片的复杂电路系统,尤其涉及了一种用于内部植入CPU的FPGA软硬件系统在线升级的方法。
技术介绍
:FPGA(Field Programmable Gate Array,现场可编程门阵列)是一种可以实现硬件编程的芯片,随着电子行业的发展,复杂FPGA芯片中可以植入精简的CPU系统,如Xilinx公司推出的两种32位的嵌入式处理器内核,一种是IBM PowerPC处理器硬核,另一种是采用IBM内部总线技术的MicroBlaze处理器软核。硬核可以提供更快的数据处理能力,而软核则具有更好的灵活性,在目标器件中可以进行任意的配置。由于FPGA是一种掉电即失的芯片,因此一般上电后,必须通过存储在非易失性存储芯片(如FLASH)中的系统引导程序来对其进行硬件的初始化和系统的引导。因为系统引导程序和系统的镜像都存储在非易失性存储芯片中,所以可以通过升级存储器内部的文件实现FPGA系统的升级。TFTP(Trivial File Transfer Protocol,简单文件传输协议)是-->TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供简单的文件传输服务。TFTP与FTP相比,它没有认证,没有密码,有容易实现的特点。它通过DHCP分配IP地址,仅仅通过末端设备指向TFTP服务器的IP地址,使得软硬件升级和网络启动变得简单。对于复杂电子类产品,由于开发难度加大,用户安全要求的日益提高以及需求的不断变化,迫使生产厂家在开发完成后,需要不断通过产品升级来对系统功能进行改进和完善,且硬件系统的安全漏洞几乎无法通过软件系统升级来解决。对于存在较大安全漏洞的产品还需要进行产品召回,造成了极大的经济损失。FPGA可以实现硬件编程的同时,通过植入经过裁剪的操作系统也实现了软件编程。通常的在线升级都只提供了在操作系统下的软件升级,而对于如何实现软硬件的同时在线升级,却是一个正在探索的问题。
技术实现思路
本专利技术提出了一种可以实现内部植入CPU及操作系统的FPGA的在线升级方法,使其可以通过TFTP协议来实现FPGA的软硬件同时在线升级。现阶段内部植入CPU的FPGA系统开发主要分为硬件设计和软件设计,硬件设计时,把用户功能模块及其驱动的接口通过系统总线与CPU相连,相应的硬件配置信息则都保存在硬件描述性文件中。而软件系统的设计独立与硬件来实现,通过开发工具提供的外设驱动以及-->大量的库函数来实现系统的功能。最后建立交叉编译环境,并把开发工具生成的文件导入到操作系统镜像中,生成包含软硬件功能的FPGA系统。本专利技术的主要特点是,系统的大部分功能都在FPGA芯片内部实现,通过FPGA的嵌入式开发套件,即可实现软硬件协同编程,最后把生成的位文件通过TFTP服务器下载到需要升级的目标板。其中的目标板上的FPGA中植入有经过裁剪的CPU以及在其上面运行的操作系统,其升级过程如下:在FPGA上电自检后,通过加载引导程序,启动网络驱动模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址,当检测到用户升级开关打开时,从服务器下载升级文件到SDRAM中,经过校验后,写入FLASH芯片,升级成功后即可引导新的系统启动。本专利技术利的优点是,实现了一种内部植入CPU的FPGA系统的软硬件在线升级的方法,提高了系统的可扩展性和系统升级的灵活性,可以避免因为系统软硬件设计的BUG而造成的安全隐患,以及因此而召回产品带来的经济损失。以下结合附图与具体实施方法对本专利技术进行进一步的说明。附图说明图1:内部植入CPU的FPGA系统及其必要外设和外部模块的结构示意图;图2:系统在线升级的流程示意图;-->图中需要说明的符号:101:FPGA芯片;102:FPGA内部植入的CPU软核或者硬核;103:FPGA内部例化的片上存储器块;104:FPGA内部例化的用于存储操作数的存储器块;105:FPGA内部例化的用于存储指令的存储器块:106:FPGA内部例化的串行UART接口,用于系统设计时的开发和调试:107:FPGA内部例化的以太网控制器10/100M MAC功能模块;108:FPGA内部例化的其他片上系统的外设;109:FPGA内部例化的用于和CPU通信的用户接口逻辑模块:110:用于用户功能实现的用户定义外设模块;111:用于系统运行的SDRAM芯片;112:用于存储引导程序和系统镜像的FLASH芯片;113:含有10/100M PHY芯片的以太网接口电路模块;114:TFTP远程服务器;具体实施方案如图1所示,内部植入CPU的FPGA系统及其必要功能模块包括FPGA内部的微处理器CPU,数据和指令存储器,片上数据存储器,用户逻辑接口及其外设,串行接口,10/100M MAC,片上系统外设,以及FPGA外连的SDRAM,FLASH,10/100M PHY模块。-->其中,CPU可以是植入的硬核或者软核,它负责系统的运行和维护。操作系统主要负责管理外设和内存管理,用户逻辑接口及其外设是根据用户的需要开发的功能模块,FLASH中存储有引导程序以及系统的镜像文件,串口模块用于调试和开发系统,10/100M MAC模块通过外接的10/100M PHY模块连接到以太网上。TFTP远程服务器上存储着升级文件,它响应FPGA中客户端的请求,通过TFTP协议,把升级文件传输到FPGA板上。其中的升级文件中既包含了软件的更新也可以包含硬件设备的更新。升级过程如图2所示,系统上电启动以后先执行自检,然后从FLASH芯片中加载系统引导程序,系统引导程序用于初始化硬件系统,为系统提供配置信息以及引导并运行操作系统,系统引导程序中包含了10M/100M网络的功能,从而使得在FPGA原系统启动前对其进行在线升级成为可能。这里的配置网络模块是指启动简单的网络功能模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址。当系统引导程序检测到用户升级开关打开,且网络配置正确以后,进入步骤207,向TFTP服务器发送请求,通过TFTP协议下载升级文件,否则回到步骤211,从FLASH中引导原操作系统启动。下载完成后进入步骤208,进行下载文件的校验,如果校验成功则进入步骤209,把下本文档来自技高网...
【技术保护点】
一种内部植入CPU的FPGA系统在线升级的方法,该方法主要包括以下步骤: (1)系统上电,在FPGA自检以后,运行系统引导程序,完成硬件系统的初始化并加载相关硬件的驱动程序; (2)配置网络模块参数,包括发出DHCP请求,获得I P地址以及DNS服务器地址,通过DNS服务器解析出TFTP服务器地址; (3)当判断升级开关打开后,通过TFTP协议下载升级文件到SDRAM中; (4)下载文件校验成功后写入FLASH,完成升级操作。
【技术特征摘要】
1、一种内部植入CPU的FPGA系统在线升级的方法,该方法主要
包括以下步骤:
(1)系统上电,在FPGA自检以后,运行系统引导程序,完成硬
件系统的初始化并加载相关硬件的驱动程序;
(2)配置网络模块参数,包括发出DHCP请求,获得IP地址以及
DNS服务器地址,通过DNS服务器解析出TFTP服务器地址;
(3)当判断升级开关打开后,通过TFTP协议下载升级文件到
SDRAM中;
(4)下载文件校验成功后写入FLASH,完成升级操作。
2、如权利要求1所述的内部植入CPU的FPGA系统包括以下必要
的功能模块:FPGA内部的微处理器CPU,数据和指令存储器,片上数
据存储器,用户逻辑接口及其外设,串行接口,10/100M MAC,片上
系统外设,以及FPGA外连的SDRAM,FLASH,10/100M PHY模块。
【专利技术属性】
技术研发人员:刘俊涛,张永军,张志辉,李晓斐,蒋定孚,沈月峰,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。