一种内部植入cpu的fpga系统在线升级的方法

文档序号:7928683阅读:295来源:国知局
专利名称:一种内部植入cpu的fpga系统在线升级的方法
一种内部植入CPU的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的嵌入式开发套件,即可实现软^/f牛协同编程,最后 把生成的位文件通过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: FPG A内部例化的串行U ART接口 ,用于系统设计时的开发和
调试
107: FPGA内部例化的以太网控制器10/100M MAC功能才莫块;
108: FPGA内部例化的其他片上系统的外设;
109: FPGA内部例化的用于和CPU通信的用户接口逻辑模块
110:用于用户功能实现的用户定义外设模块;
111:用于系统运行的SDRAM芯片;
112:用于存储51导程序和系统镜像的FLASH芯片;
113:含有10/100M PHY芯片的以太网接口电路才莫块;
114: TFTP远程服务器;
具体实施方案
如图1所示,内部植入CPU的FPGA系统及其必要功能模块包括 FPGA内部的微处理器CPU,数据和指令存储器,片上数据存储器,用 户逻辑接口及其外设,串行接口, 10/100M MAC,片上系乡$外设,以 及FPGA外连的SDRAM, FLASH, 10/10幅PHY才莫块。其中,CPU可以是植入的硬核或者软核,它负责系统的运行和维
护。操作系统主要负责管理外设和内存管理,用户逻辑接口及其外设
是根据用户的需要开发的功能模块,FLASH中存储有引导程序以及系 统的镜像文件,串口模块用于调试和开发系统,10/100M MAC模块通 过外接的10/100M PHY模块连接到以太网上。
TFTP远程服务器上存储着升级文件,它响应FPGA中客户端的请 求,通过TFTP协议,把升级文件传输到FPGA板上。其中的升级文件 中既包含了软件的更新也可以包含硬件设备的更新。
升级过程如图2所示,系统上电启动以后先执行自检,然后从 FLASH芯片中加载系统引导程序,系统引导程序用于初始化石更件系统, 为系统提供配置信息以及引导并运行操作系统,系统? 1导程序中包含 了 10M/100M网络的功能,从而使得在FPGA原系统启动前对其进行在 线升级成为可能。这里的配置网络模块是指启动简单的网络功能模 块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器 的地址。当系统引导程序检测到用户升级开关打开,且网络配置正确 以后,进入步骤207,向TFTP服务器发送请求,通过TFTP协议下载 升级文件,否则回到步骤211,从FLASH中引导原操作系统启动。下 载完成后进入步骤208,进行下载文件的校验,如果校验成功则进入 步骤209,把下载的位文件写入到FLASH芯片中否则回到步骤211, 引导原才喿作系统启动。当写入成功后,进入步骤210,引导升级后的 操作系统启动,整个升级过程结束。
权利要求
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才莫块。
3、 如^又利要求1所述的升级文件,其既可以包括软件系统的升级 更新内容也可以包括硬件系统的升级更新内容。
4、 如权利要求1所述的内部植入CPU的FPGA芯片,其内部才直入 的CPU可以是软核,也可以是硬核,它负责系统引导程序和操作系统 的运行。
5、 如权利要求1和4所述的系统引导程序,其作用在于初始化 硬件系统,为系统提供配置信息以及引导操作系统,它包含了 10M/100M网络的功能,通过判断升级开关的开关,执行引导原系统运行或是下载新的系统升级文件的操作。
6、 如权利要求2中的FPGA内部的10/100M MAC模块其特征是, 它通过外接的10/100M PHY沖莫块实现与以太网的连接。
7、 如权利要求2中所述的FLASH芯片,其特征是,它不仅保存着 系统引导程序和操作系统的镜像,还用来保存下载的升级文件。
全文摘要
本发明为一种内部植入CPU的FPGA系统在线升级的方法。其主要特点是,FPGA中植入有经过裁剪的CPU以及在其上面运行的操作系统,其升级过程如下在FPGA上电自检和初始化后,通过加载引导程序,启动网络驱动模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址,当检测到用户升级开关打开时,从服务器下载升级文件到SDRAM中,经过校验后,写入FLASH芯片,升级成功后即可引导新的系统启动。本发明利用FPGA的软硬件可编程的特点,实现了系统软硬件同时在线升级,提高了系统的可扩展性和升级的灵活性。
文档编号H04L12/24GK101431441SQ20081023959
公开日2009年5月13日 申请日期2008年12月12日 优先权日2008年12月12日
发明者刘俊涛, 张志辉, 张永军, 李晓斐, 沈月峰, 蒋定孚 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1