专利名称:一种内部植入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日
发明者刘俊涛, 张志辉, 张永军, 李晓斐, 沈月峰, 蒋定孚 申请人:北京邮电大学