CN108073412B - 一种基于wifi的fpga无线升级和智能加载的装置及方法 - Google Patents
一种基于wifi的fpga无线升级和智能加载的装置及方法 Download PDFInfo
- Publication number
- CN108073412B CN108073412B CN201810088981.8A CN201810088981A CN108073412B CN 108073412 B CN108073412 B CN 108073412B CN 201810088981 A CN201810088981 A CN 201810088981A CN 108073412 B CN108073412 B CN 108073412B
- Authority
- CN
- China
- Prior art keywords
- fpga
- wifi
- flash
- module
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于WIFI的FPGA无线升级和智能加载的装置及方法,所述装置包括FPGA、JTAG接口和FLASH存储器以及WIFI模块,所述FLASH存储器和WIFI模块均与FPGA连接,所述FPGA内嵌MicroBlaze软核搭建MicroBlaze微控制系统。所述方法包括以下步骤:1)开机启动;2)全局加载;3)运行功能程序;4)建立WIFI无线连接;5)接收WIFI数据;6)FLASH中对应区域的擦除和写入;7)动态重配置;8)复位模块参数。使用本发明的技术方案,提高了升级效率,降低了成本、功耗和空间,为大规模工程设备生产维护提供极大便利条件。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种基于WIFI的FPGA无线升级和智能加载的装置及方法。
背景技术
在现代通信设备中,FPGA作为数字信号处理和数学计算工具已经处于十分重要的地位,由于FPGA正常工作时配置数据存储在SRAM中,具有掉电丢失的特性,因此设备每次上电启动时需要对FPGA进行程序配置,目前FPGA器件厂商给出的官方配置方式主要有JTAG模式、主模式和从模式三大类。
现有的FPGA多种配置方法分别针对不同的应用环境:其中,JTAG模式是通过仿真器将配置数据直接烧写在FPGA内部SRAM中,掉电将会丢失,适用于科研调试;主模式(主动串行和主动并行)是将配置数据烧写在配置芯片中(如EPCS),上电时FPGA主动从配置芯片中读取数据完成启动,该方法在程序升级时需要对配置芯片重新烧写,造成升级不便;从模式(被动串行和被动并行)是通过微控制器(单片机、ARM等)搭配存储器(FLASH)在上电时将配置数据写入FPGA中完成启动,并可通过外部接口实现程序升级,但应对大容量FPGA升级时通常需要很长时间,并且升级后需要全局复位才能工作。
以上三类配置方法都有一定局限性,应对经常需要升级FPGA程序或者需要对大规模通信设备进行系统升级的情况时,暴露出速度慢,效率低的缺点。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种基于WIFI的FPGA无线升级和智能加载的装置及方法,以解决开发维护过程中FPGA程序升级难、效率低以及成本高的问题。
本发明提供的一种基于WIFI的FPGA无线升级和智能加载的装置,包括:FPGA、JTAG接口和FLASH存储器,还包括WIFI模块,所述FLASH存储器和WIFI模块均与FPGA连接,所述FPGA内嵌MicroBlaze软核搭建MicroBlaze微控制系统。
进一步,所述FPGA包括不可重构功能模块和可重构功能模块。
进一步,所述WIFI模块为被动串行WIFI模块。
进一步,所述MicroBlaze微控制系统包括时钟模块、CPU、控制总线、内部存储器、中断控制器、WIFI接口和FLASH接口,时钟模块以外部时钟为参考产生CPU所需工作时钟,CPU通过控制总线与内部存储器、中断控制器、WIFI接口和FLASH接口连接,WIFI接口连接所述WIFI模块,FLASH接口连接所述FLASH存储器。
本发明提供的一种基于WIFI的FPGA无线升级和智能加载的方法,包括以下步骤:
1)开机启动;
2)全局加载;
3)运行功能程序;
4)建立WIFI无线连接;
5)接收WIFI数据;
6)FLASH中对应区域的擦除和写入;
7)动态重配置;
8)复位模块参数。
进一步,上述步骤控制均由FPGA内嵌MicroBlaze软核搭建的MicroBlaze微控制系统实现。
进一步,所述步骤1) 开机启动时,连接仿真器对装配后的设备进行首次调试,固化微控制系统程序,并实现外部接口通信功能。
进一步,所述步骤2)的具体方法为:由MicroBlaze微控制系统控制FLASH产生配置流,将所有FPGA程序连续加载完毕。
进一步,所述步骤3)的具体方法为:设备全局加载后会产生复位信号,对参数进行复位,随后进入功能程序运行阶段,此时被动串行WIFI模块处于等待状态。
进一步,所述步骤4)的具体方法为:当WIFI模块收到连接邀请时建立无线连接。
进一步,所述步骤5)的具体方法为:MicroBlaze微控制系统收到二次加载控制命令后,主导WIFI接收外部配置数据。
进一步,所述步骤6)的具体方法为:MicroBlaze微控制系统转换配置数据,并完成FLASH中对应区域的擦除和写入,实现程序更新。
进一步,所述步骤7)的具体方法为:MicroBlaze微控制系统主导SPI串行FLASH产生配置流,进行部分动态重配置。
进一步,所述步骤8)的具体方法为:配置完成后产生局部复位信号,复位FPGA中的可重构模块。
进一步,还包括步骤9)进入运行新的功能程序阶段,完成设备的智能升级过程。
通过采用以上的技术方案,本发明的有益效果是:使用本发明的技术方案,可以在开发和维护过程中实现FPGA无线升级和部分动态重构功能,直接提高了升级效率,同时省去了外部加载控制芯片,降低了成本、功耗和空间,为大规模工程设备生产维护提供极大便利条件。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明采用的自加载方式与传统外部加载方式相比较的示意图;
图2为与本发明的实施例一致的硬件实现结构图;
图3为与本发明的实施例一致的MicroBlaze微控制系统的结构图;
图4为与本发明的实施例一致的完整工作流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明综合考虑了效率、资源、功耗及成本,省去外部加载芯片,采用FPGA内嵌软核MicroBlaze搭建微控制系统,主导功能模块的部分动态重构,形成一种新的自加载方式。如图1所示,对比了本发明采用的自加载方式与传统外部加载方式的区别。此外,选择物联网系列WIFI芯片配合MicroBlaze系统构建无线传输通道,实现远程更新功能;在一些实施例中,选择SPI串行FLASH用于存储配置数据,并配合MicroBlaze系统实现全局启动加载和区域二次加载。硬件实现结构图如图2所示。
图2示出了与本发明的实施例一致的硬件实现结构图,列举了单个FPGA无线升级和智能加载的硬件结构分布及接口控制情况,对其中可重构模块进行合理划分设计,能实现单一功能单元的独立升级,更好的提升效率。
(1)MicroBlaze微控制系统
目前新系列的FPGA都支持内嵌软核微处理器,用于实现一些控制相对复杂的应用。Altera公司的FPGA可以用SOPC环境搭建NiosⅡ处理器,Xilinx公司的FPGA可以内嵌MicroBlaze或者ARM软核处理器。在一些实施例中,以Virtex-7系列FPGA为例搭建MicroBlaze微控制系统,实现接口传输和加载控制功能,其结构图如图3所示。
图3示出了与本发明的实施例一致的MicroBlaze微控制系统结构图,主要实现传输控制和加载控制功能。所述MicroBlaze微控制系统包括时钟模块、CPU、控制总线、内部存储器、中断控制器、WIFI接口和FLASH接口,时钟模块以外部时钟为参考产生CPU所需工作时钟,CPU通过控制总线与内部存储器、中断控制器、WIFI接口和FLASH接口连接,WIFI接口连接所述WIFI模块,FLASH接口连接所述FLASH存储器。WIFI接口和FLASH接口均有多种选择,选用并行模式可以提高传输效率,选用串行模块可以节省线路资源,用户可以根据需要的配置速率和资源分配综合考虑一种合适的方案。
(2)基于WIFI的无线传输通道
WIFI是我们生活中应用最广的联网手段,所以能够通过WIFI进行设备调试和升级无疑会给我们带来许多便利。在一些实施例中,选择物联网系列串口WIFI模块TLN13UA06,用以完成程序文件的无线传输任务,其优点是占用线路资源少,成本和功耗均比较低。在一些实施例中,传输链路采用被动型串口互联模式,即每次数据交换之前,串口WIFI模块都处于等待状态,然后由服务器发起连接邀请,最后进行数据交换,完成远程操控传输升级。
(3)SPI串行FLASH加载和部分动态重构
SPI串行FLASH配置模式在上电时收到微控制系统的4字节指令,将配置数据像PROM配置方式一样连续加载到FPGA中,一旦配置完成,FLASH中的额外存储空间还能用于其它中间信息的存储。在一些实施例中,在设计之初对FPGA进行模块化设计,划分出需要的可重构模块,并把各个模块的配置文件分区烧写在FLASH中,后期进行动态配置时就能很方便的选择需要升级的模块进行更新配置,完成部分动态重构配置后不需要进行全局复位,只需对升级后的功能模块进行复位就能实现新程序版本的运行,在调试阶段和后期升级阶段省去重启设备的步骤,更加快速方便。
图4示出了与本发明的实施例一致的完整工作流程图,完整工作流程如下:
1)开机启动,设备装配后的首次调试仍需要连接仿真器,固化微控制系统程序,并实现外部接口通信功能,后期就可以仅用WIFI进行连接控制。
2)全局加载:由MicroBlaze微控制系统控制FLASH产生配置流,将所有FPGA程序连续加载完毕。
3)运行功能程序:设备全局加载后会产生复位信号,对参数进行复位,随后进入功能程序运行阶段,此时被动串行WIFI模块处于等待状态。
4)建立WIFI无线连接:当WIFI模块收到连接邀请时建立无线连接。
5)接收WIFI数据:MicroBlaze微控制系统收到二次加载控制命令后,主导WIFI接收外部配置数据。
6)FLASH中对应区域的擦除和写入:MicroBlaze微控制系统转换配置数据,并完成FLASH中对应区域的擦除和写入,实现程序更新。
7)动态重配置:MicroBlaze微控制系统主导SPI串行FLASH产生配置流,进行部分动态重配置。
8)复位模块参数:配置完成后产生局部复位信号,复位FPGA中的可重构模块。
9)进入运行新的功能程序阶段,完成设备的智能升级过程。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (6)
1.一种基于WIFI的FPGA无线升级和智能加载的装置,包括:FPGA、JTAG接口和FLASH存储器,其特征在于,还包括WIFI模块,所述FLASH存储器和WIFI模块均与FPGA连接,所述FPGA内嵌MicroBlaze软核搭建MicroBlaze微控制系统;所述FPGA包括不可重构功能模块和可重构功能模块;
SPI串行FLASH配置模式在上电时收到微控制系统的指令,将配置数据像PROM配置方式一样连续加载到FPGA中;在先对FPGA进行模块化设计,划分出需要的可重构模块,并把各个模块的配置文件分区烧写在FLASH中,后期进行动态配置时选择需要升级的模块进行更新配置,完成部分动态重构配置后不需要进行全局复位,只需对升级后的功能模块进行复位就能实现新程序版本的运行,在调试阶段和后期升级阶段省去重启设备的步骤。
2.根据权利要求1所述的一种基于WIFI的FPGA无线升级和智能加载的装置,其特征在于,所述WIFI模块为被动串行WIFI模块。
3.根据权利要求1所述的一种基于WIFI的FPGA无线升级和智能加载的装置,其特征在于,所述MicroBlaze微控制系统包括时钟模块、CPU、控制总线、内部存储器、中断控制器、WIFI接口和FLASH接口,时钟模块以外部时钟为参考产生CPU所需工作时钟,CPU通过控制总线与内部存储器、中断控制器、WIFI接口和FLASH接口连接,WIFI接口连接所述WIFI模块,FLASH接口连接所述FLASH存储器。
4.一种基于WIFI的FPGA无线升级和智能加载的方法,其特征在于,包括以下步骤:
1)开机启动;
2)全局加载;
3)运行功能程序;
4)建立WIFI无线连接;
5)接收WIFI数据;
6)FLASH中对应区域的擦除和写入;
7)动态重配置;
8)复位模块参数;
所述步骤1)开机启动时,连接仿真器对装配后的设备进行首次调试,固化微控制系统程序,并实现外部接口通信功能;
所述步骤2)的具体方法为:由MicroBlaze微控制系统控制FLASH产生配置流,将所有FPGA程序连续加载完毕;
所述步骤3)的具体方法为:设备全局加载后会产生复位信号,对参数进行复位,随后进入功能程序运行阶段,此时被动串行WIFI模块处于等待状态;
所述步骤4)的具体方法为:当WIFI模块收到连接邀请时建立无线连接;
所述步骤5)的具体方法为:MicroBlaze微控制系统收到二次加载控制命令后,主导WIFI接收外部配置数据;
所述步骤6)的具体方法为:MicroBlaze微控制系统转换配置数据,并完成FLASH中对应区域的擦除和写入,实现程序更新;
所述步骤7)的具体方法为:MicroBlaze微控制系统主导SPI串行FLASH产生配置流,进行部分动态重配置;
所述步骤8)的具体方法为:配置完成后产生局部复位信号,复位FPGA中的可重构模块;所述FPGA包括不可重构功能模块和可重构功能模块;
SPI串行FLASH配置模式在上电时收到微控制系统的指令,将配置数据像PROM配置方式一样连续加载到FPGA中;在先对FPGA进行模块化设计,划分出需要的可重构模块,并把各个模块的配置文件分区烧写在FLASH中,后期进行动态配置时选择需要升级的模块进行更新配置,完成部分动态重构配置后不需要进行全局复位,只需对升级后的功能模块进行复位就能实现新程序版本的运行,在调试阶段和后期升级阶段省去重启设备的步骤。
5.根据权利要求4所述的一种基于WIFI的FPGA无线升级和智能加载的方法,其特征在于,上述步骤控制均由FPGA内嵌MicroBlaze软核搭建的MicroBlaze微控制系统实现。
6.根据权利要求4所述的一种基于WIFI的FPGA无线升级和智能加载的方法,其特征在于,还包括步骤9)进入运行新的功能程序阶段,完成设备的智能升级过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810088981.8A CN108073412B (zh) | 2018-01-30 | 2018-01-30 | 一种基于wifi的fpga无线升级和智能加载的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810088981.8A CN108073412B (zh) | 2018-01-30 | 2018-01-30 | 一种基于wifi的fpga无线升级和智能加载的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073412A CN108073412A (zh) | 2018-05-25 |
CN108073412B true CN108073412B (zh) | 2023-05-23 |
Family
ID=62157001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810088981.8A Active CN108073412B (zh) | 2018-01-30 | 2018-01-30 | 一种基于wifi的fpga无线升级和智能加载的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073412B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732343B (zh) * | 2020-12-31 | 2022-04-22 | 中国电子科技网络信息安全有限公司 | 一种堆叠设备中业务子母板卡加载的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103941619A (zh) * | 2014-04-16 | 2014-07-23 | 南京国电南自美卓控制系统有限公司 | 一种基于fpga可重构的微机保护的开发平台 |
CN105045672A (zh) * | 2015-07-24 | 2015-11-11 | 哈尔滨工业大学 | 一种基于sram fpga的多级容错加固卫星信息处理系统 |
CN107479913A (zh) * | 2017-07-27 | 2017-12-15 | 中国船舶重工集团公司第七二四研究所 | 一种fpga配置多启动低资源占用更新方法及实施系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685380B1 (en) * | 2005-06-29 | 2010-03-23 | Xilinx, Inc. | Method for using configuration memory for data storage and read operations |
US7590768B2 (en) * | 2005-09-23 | 2009-09-15 | Joseph Gormley | Control and interconnection system |
CN102609286B (zh) * | 2012-02-10 | 2015-08-05 | 株洲南车时代电气股份有限公司 | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 |
CN105320531A (zh) * | 2014-07-15 | 2016-02-10 | 北京自动化控制设备研究所 | 一种基于MicroBlaze软核的FPGA软件在线升级方法 |
CN106502723A (zh) * | 2016-09-29 | 2017-03-15 | 四川九洲电器集团有限责任公司 | 用于实现fpga程序动态升级及自加载的装置及方法 |
CN107562437B (zh) * | 2017-09-12 | 2020-07-10 | 中航洛阳光电技术有限公司 | 一种基于MicroBlaze软核的FPGA在线升级的系统及方法 |
-
2018
- 2018-01-30 CN CN201810088981.8A patent/CN108073412B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103941619A (zh) * | 2014-04-16 | 2014-07-23 | 南京国电南自美卓控制系统有限公司 | 一种基于fpga可重构的微机保护的开发平台 |
CN105045672A (zh) * | 2015-07-24 | 2015-11-11 | 哈尔滨工业大学 | 一种基于sram fpga的多级容错加固卫星信息处理系统 |
CN107479913A (zh) * | 2017-07-27 | 2017-12-15 | 中国船舶重工集团公司第七二四研究所 | 一种fpga配置多启动低资源占用更新方法及实施系统 |
Non-Patent Citations (2)
Title |
---|
Wu jianping.high-speed FPGA-base SOPC application for currency sorting system.《IEEE 2011 10th international conference on electronic measurement & instruments》.2011,全文. * |
基于异构多核的远程动态可重构SoPC设计与实现;杨定定;《cnki优秀硕士学位论文全文库 信息科技辑》(第01期);第I137-137页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108073412A (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573789B (zh) | 基于软核处理器的fpga多镜像升级加载方法及装置 | |
CN107977217B (zh) | 在线加载xilinx-fpga多版本更新程序的方法 | |
CN109656593B (zh) | 基于zynq芯片实现fpga程序远程升级的方法 | |
CN109933348A (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
CN108037943B (zh) | 一种基于nios ii的fpga在线升级方法 | |
CN102053850A (zh) | 一种在线升级fpga逻辑的方法 | |
CN103473141A (zh) | 一种带外查看及修改bios设置选项的方法 | |
CN107918545A (zh) | 一种基于zynq的远程升级系统及其实现方法 | |
JP6489760B2 (ja) | ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法 | |
CN104035803A (zh) | 一种更新cpld/fpga固件的方法、装置及烧录器 | |
CN102880494B (zh) | 一种用于微小卫星系统的局部代码更新方法及其系统 | |
WO2016197883A1 (zh) | 一种在线更新单片机程序的方法及系统 | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
CN117170822B (zh) | 使用分布式网络中间件的系统模型和代码联合仿真系统 | |
CN106648758A (zh) | 一种多核处理器boot启动系统及方法 | |
CN104199707A (zh) | 对fpga进行升级的系统和方法 | |
CN102253844B (zh) | 一种启动处理器的方法和设备 | |
CN107621943A (zh) | 一种fpga动态批量烧写系统及方法 | |
CN108073412B (zh) | 一种基于wifi的fpga无线升级和智能加载的装置及方法 | |
CN107402952A (zh) | 大数据处理加速器及大数据处理系统 | |
CN109525276B (zh) | 一种具备外部下载功能的多模数据链系统及方法 | |
CN115268987A (zh) | 一种异构平台fpga多版本配置文件加载管理方法 | |
CN105278976A (zh) | 一种fpga重构装置、系统及方法 | |
CN103809987A (zh) | 一种soc芯片更换自身内部fpga ip程序的方法 | |
CN104469278A (zh) | 一种监控系统升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |