Fpga程序的升级方法

文档序号:6607259阅读:582来源:国知局
专利名称:Fpga程序的升级方法
技术领域
本发明涉及嵌入式系统,特别是涉及一种FPGA程序的升级方法。
背景技术
随着技术的进步,现场可编程门阵列(Field-Programmable GateArray, FPGA)的功能越来越强大,可以内嵌CPU软核,还能运行操作系统,越来越多的嵌入式产品由FPGA来实现,它可以实现功能复杂、需求多样的产品。为了优化程序提供产品性能需要做多次程序的升级更新,FPGA程序一般存放在外部Flash存储器中,烧写外部Flash存储器方法一般有两种一种是用文件烧录器直接将代码的二进制文件烧入Flash中,然后再通过焊接技术将芯片装在电路板上,这种方式不便于因性能的改善而随时进行软件的升级,而且将Flash 器件反复装卸很容易造成器件的损坏,增加成本,效率低下;第二种是通过FPGA的JTAG下载线缆和专用下载工具对Flash进行烧录实现程序的升级,但这种方式不能离开FPGA设计工具,而且不同的FPGA芯片,设计工具也不一样。上述两种方法都不利于设计、生产的快速顺利进行。

发明内容
本发明所要解决的技术问题是提供一种FPGA程序的升级方法,能使升级操作简单、方便,且无需专用的下载线缆和下载工具,更不需要通过烧录器将Flash存储器取下进行FPGA程序的更新,所以还能提高效率且具有较好的灵活性。为解决上述技术问题,本发明提供的一种FPGA程序的升级方法,包括如下步骤步骤一、将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、寄存器参数、更新引导程序;其中用于存储所述寄存器参数的中地址段还能细分为多个地址段。通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段。所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。步骤二、将更新引导程序固化在Flash中高地址段中。所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中。所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成。所述串口文件接收模块用于通过串口协议接收文件;所述串口通信差错校验模块是用于依据串口协议验证接收的文件、数据是否存在误码;所述命令控制模块是用于以菜单的方式显示需要对Flash更新操作的命令;所述Flash擦除模块是用于将所述Flash存储器芯片进行擦除操作;所述Flash读写模块是用于读写所述Flash存储器芯片;所述Flash操作有效性校验模块是用于验证Flash 操作过程是否成功,如擦除是否成功、读写数据是否正确。所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。所述Flash存储器的用于存储所述寄存器参数的中地址段能根据实际不同需要细分为多个地址段,细分出来的各所述多个地址段也分别在所述更新引导程序中有各自对应的命令菜单,通过点击各所述命令实现所对应的地址段的更新。步骤三、将所述FPGA通过一串口通信电平转换模块和一计算机相连,将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或Windows的超级终端并设置好串口通信参数步。所述串口通信参数包括波特率、串口端口、校验方式、数据位宽、停止位数。所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一 RS-232电平转换模块相连、通过所述RS-232电平转换模块和所述计算机的COM 口相连,且上述连接的电缆都为DB9接口的电缆。步骤四、设置所述跳线到高地址端并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或 Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。本发明方法能使升级操作简单、方便,且无需专用的下载线缆和下载工具,更不需要通过烧录器将Flash存储器取下进行FPGA程序的更新,所以还能提高效率且具有较好的灵活性。


下面结合附图和具体实施方式
对本发明作进一步详细的说明图1是本发明方法流程图;图2是本发明实施例方法的硬件连接示意图。
具体实施例方式如图1所示,是本发明方法的流程图,图2是本发明实施例方法的硬件连接示意图。本发明FPGA程序的升级方法,包括如下步骤步骤一、如图2所示,本发明的FPGA和其Flash存储器制作在同一块主板卡上, 将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、寄存器参数、更新引导程序;其中用于存储所述寄存器参数的中地址段还能根据不同芯片细分为多个地址段,每段的大小根据需要来划分,所述不同芯片指是需要所述FPGA进行初始化的芯片,如 AD芯片,DA芯片,压缩解压缩芯片等一切需要由所述FPGA控制的芯片;地址段的大小划分根据所述Flash存储器芯片的不同定义也不一样,例如能定义一个地址段包含数个块,而一个块为256字节。通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段。所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。步骤二、如图2所示,将更新引导程序固化在Flash中高地址段中。所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中。所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、 Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成。所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。步骤三、如图2所示,将所述FPGA通过一串口通信电平转换模块和一计算机相连, 将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或 Windows的超级终端并设置好串口通信参数步。所述串口通信参数包括波特率、串口端口、 校验方式、数据位宽、停止位数。所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一 RS-232电平转换模块相连、通过所述RS-232电平转换模块和所述计算机的COM 口相连,且上述连接的电缆都为DB9接口的电缆。步骤四、设置所述跳线到高地址端并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或 Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。这样就很方便的实现了 FPGA程序和寄存器参数的更新,操作简单,使用灵活。以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种FPGA程序的升级方法,其特征在于,包括如下步骤步骤一、将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、 寄存器参数、更新引导程序;通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段;步骤二、将更新引导程序固化在Flash中高地址段中;所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中;步骤三、将所述FPGA通过一串口通信电平转换模块和一计算机相连,将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或Windows的超级终端并设置好串口通信参数;步骤四、设置所述跳线并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。
2.如权利要求1所述的FPGA程序的升级方法,其特征在于步骤一中所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。
3.如权利要求1所述的FPGA程序的升级方法,其特征在于所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成;所述串口文件接收模块用于通过串口协议接收文件;所述串口通信差错校验模块是用于依据串口协议验证接收的文件、数据是否存在误码;所述命令控制模块是用于以菜单的方式显示需要对Flash更新操作的命令;所述Flash擦除模块是用于将所述Flash存储器芯片进行擦除操作;所述Flash读写模块是用于读写所述Flash存储器芯片;所述Flash操作有效性校验模块是用于验证Flash操作过程是否成功。
4.如权利要求1所述的FPGA程序的升级方法,其特征在于步骤三中所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一 RS-232电平转换模块相连、 通过所述RS-232电平转换模块和所述计算机的COM 口相连,且上述连接的电缆都为DB9接口的电缆。
5.如权利要求1所述的FPGA程序的升级方法,其特征在于所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。
6.如权利要求1或5所述的FPGA程序的升级方法,其特征在于所述Flash存储器的用于存储所述寄存器参数的中地址段能细分为多个地址段。
7.如权利要求1所述的FPGA程序的升级方法,其特征在于步骤三中所述串口通信参数包括波特率、串口端口、校验方式、数据位宽、停止位数。
全文摘要
本发明公开了一种FPGA程序的升级方法,包括步骤步骤一、将Flash存储器的空间分成分别用于存储FPGA程序、寄存器参数、更新引导程序的低、中、高三个地址段;通过一跳线来设置FPGA从Flash存储器加载程序的地址段。步骤二、将更新引导程序固化在Flash中高地址段中;更新引导程序根据各不同的所述地址段设计了不同命令菜单。步骤三、将FPGA通过一串口通信电平转换模块和一计算机相连。步骤四、设置跳线并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,根据需要点击各所述命令通过串口进行更新。本发明能使升级操作简单、方便,还能提高效率且具有较好的灵活性。
文档编号G06F9/445GK102346677SQ201010245850
公开日2012年2月8日 申请日期2010年8月5日 优先权日2010年8月5日
发明者周智, 袁斯华 申请人:盛乐信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1