CN108037943A - 一种基于nios ii的fpga在线升级方法 - Google Patents

一种基于nios ii的fpga在线升级方法 Download PDF

Info

Publication number
CN108037943A
CN108037943A CN201711298839.8A CN201711298839A CN108037943A CN 108037943 A CN108037943 A CN 108037943A CN 201711298839 A CN201711298839 A CN 201711298839A CN 108037943 A CN108037943 A CN 108037943A
Authority
CN
China
Prior art keywords
fpga
nios
data
configuration
region
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.)
Granted
Application number
CN201711298839.8A
Other languages
English (en)
Other versions
CN108037943B (zh
Inventor
陈建国
李金全
王绍新
赵兰保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hwa Create Technology Corp Ltd
Original Assignee
Hwa Create Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hwa Create Technology Corp Ltd filed Critical Hwa Create Technology Corp Ltd
Priority to CN201711298839.8A priority Critical patent/CN108037943B/zh
Publication of CN108037943A publication Critical patent/CN108037943A/zh
Application granted granted Critical
Publication of CN108037943B publication Critical patent/CN108037943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及FPGA芯片领域,公开了一种基于NIOS II的FPGA在线升级方法,使FPGA在线在AS配置模式下无需借助外部控制器芯片即可对FPGA进行重配置。本发明FPGA内部嵌入NIOS II处理器的IP核作为控制器,并集成外部串口、网口;系统上电或复位时,NIOS II处理器启动定时器,关闭看门狗程序,若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片读取FPGA配置文件据,进入用户模式;若接收到数据,且接收到的数据为升级数据,则将升级数据写入配置FLASH芯片,升级数据接收、写入完毕后启动看门狗程序,触发系统复位,完成FPGA的在线升级。本发明适用于FPGA配置。

Description

一种基于NIOS II的FPGA在线升级方法
技术领域
本发明涉及FPGA芯片领域,特别涉及一种基于NIOS II的FPGA在线升级方法。
背景技术
FPGA具有灵活可编程的特点,可作为专用卫星导航芯片原型设计的开发平台。基于SRAM工艺的FPGA在掉电后配置数据会丢失,需要增加一个外部配置FLASH芯片用于保存FPGA配置数据,比如EPCS64,EPCQ256等。上电后,需从配置FLASH芯片读取配置数据流并加载到FPGA,FPGA才能正常运行。
现有常用的FPGA配置方式有:主动串行模式(AS)和被动串行模式(PS),AS模式下FPGA提供配置时钟信号DCLK,PS模式下其它器件向FPGA提供配置时钟信号DCLK。AS配置模式框图1所示。
AS模式下首次启动需通过FPGA的JTAG口将FPGA配置文件烧录到配置flash芯片中,烧录完毕后断电。下次上电时FPGA主动从配置flash芯片中读到配置数据,完成启动。PS配置模式框图如图2所示。
PS模式下首次启动需通过控制器的JTAG将FPGA配置文件烧录到flash芯片中,后续可通过控制器的串口、网口等外部接口对flash芯片进行烧录,更新FPGA配置文件,烧录完毕后断电。下次上电时控制器从flash芯片中读取FPGA配置数据,并按照一定的时序发送给FPGA,FPGA接收完毕后完成启动。
现有AS配置模式每次FPGA升级时都需要连接FPGA的JTAG口,而将FPGA集成到整个系统中后,系统对外接口通常不会预留JTAG口,升级时需进行拆卸,费时费力。现有PS配置模式可通过串口、网口等系统对外接口对FPGA进行重配置,解决了AS模式下升级不方便的问题。但目前FPGA期间密度越来越大,配置数据也越来越大,达几十兆甚至上百兆比特,需要多片flash芯片才能存储这些配置数据,造成复杂性增加和额外的硬件成本,例如FLASH芯片和控制器芯片成本。
发明内容
本发明要解决的技术问题是:提供一种基于NIOS II的FPGA在线升级方法,使FPGA在线在AS配置模式下无需借助外部控制器芯片即可对FPGA进行重配置。
为解决上述问题,本发明采用的技术方案是:一种基于NIOS II的FPGA在线升级方法,包括如下步骤:
FPGA内部嵌入NIOS II处理器的IP核作为控制器,并集成串口、网口;系统上电或复位时,NIOS II处理器启动定时器,关闭看门狗程序,若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片读取FPGA配置文件据,进入用户模式;若接收到数据,且接收到的数据为升级数据,则将升级数据写入配置FLASH芯片,升级数据接收、写入完毕后启动看门狗程序,触发系统复位,完成FPGA的在线升级。
进一步的,还包括:将配置FLASH芯片分为至少4个区域,4个区域分别为区域1、区域2、区域3以及区域4,区域1用于存储FPGA二级启动程序的配置文件,区域2用于存储FPGA配置文件1,区域3用于存储1FPGA配置文件2,区域4用于存储用户数据。
进一步的,所述FPGA二级启动程序为工厂模式程序。。
进一步的,系统上电或复位时,若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片读取FPGA配置文件1,进入用户模式1;若接收到数据,且接收到的数据为切换用户模式的指令数据,则从配置FLASH芯片读取FPGA配置文件2,进入用户模式2。
本发明的有益效果是:本发明采用AS配置模式,但结合了PS配置模式的优点,在单片FPGA内部嵌入NIOS II处理器IP核作为控制器,并集成串口、网口等外设,无需借助外部控制器芯片即可对FPGA进行重配置。NIOS II开发环境集成了配置flash芯片的驱动,避免了PS模式下flash驱动程序开发的麻烦,同时在本发明的配置模式下,配置flash芯片即可存储FPGA配置文件,也可存储用户数据,充分利用了flash的存储空间。
附图说明
图1为AS配置模式框图。
图2为AS配置模式框图。
图3为实施例中FPGA和配置FLASH芯片的连接框图。
图4为实施例中FPGA在线升级方法的流程图。
图5为实施例的结构功能框图。
图中编号:1-4分别为配置FLASH芯片的四个存储区域。
具体实施方式
实施例提供一种基于NIOS II的FPGA在线升级方法,实施例FPGA内部嵌入NIOS II处理器的IP核作为控制器,并集成串口、网口等外设;FPGA采用二级loader的形式启动、升级,如图3所示,FPGA将配置FLASH芯片分为四个存储区域,四个存储区域分别为区域1、2、3以及4。区域1存储FPGA二级loader程序(工厂模式程序)的配置文件,区域2存储FPGA配置文件1,区域3存储FPGA配置文件2,区域4存储用户数据。FPGA在线升级的步骤如图4所示:系统上电或复位时,NIOS II处理器启动定时器,关闭看门狗程序;若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片的区域2读取FPGA配置文件1,进入用户模式1;若接收到数据,且接收到的数据为切换用户模式的指令数据,则从配置FLASH芯片的区域3读取FPGA配置文件2,进入用户模式2;若接收到数据,且接收到的数据为升级数据,则将升级数据写入区域2或者区域3,升级数据接收、写入完毕后启动看门狗程序,触发系统复位,完成FPGA的在线升级。
工厂模式程序(loader程序)和用户模式程序(app应用程序)可分开设计,用户模式程序根据应用场合会有所不同,但工厂模式可以通用,方便移植。FPGA工厂模式主要功能是在线升级FPGA应用程序、引导应用程序启动。这些功能主要靠QUANTUS II集成开发环境自带的FLASH控制器IP和REMOTE_UPDATE IP来实现,建立loader程序的QUARTUS II工程时,配置模式需选为”Remote”。
工厂模式程序在一片FPGA上集成了NIOS II CPU及其外设,功能框图5所示。上电或系统复位时,NIOS II CPU启动定时器TIMER0,关闭看门狗TIMER1。若在限定的时间内NIOS IICPU没有从串口UART模块或网口ETHERNET模块接收到数据,则通过REMOTE-UPDATE模块触发FPGA从配置FLASH芯片读取配置数据,进入用户模式;若接收到升级数据,则通过FLASH控制器模块将升级数据写入配置FLASH芯片,接收完毕后启动看门狗TIMER1,触发系统复位,重新从工厂模式引导到用户模式,完成FPGA的在线升级。
在具体操作时,为达到上述方法,我可以按照以下方式进行设计:
1.在FPGA开发环境中建立工厂模式工程,编译后生成sof文件,转换为JIC下载文件。
2.通过FPGA的JTAG口将JIC文件烧录到配置FLASH中,烧录完成后掉电。
3.在FPGA开发环境中建立用户模式工程,编译后生成sof文件,转换为RPD配置文件。
4.串口定时发送升级命令到FPGA,系统上电,FPGA进入工厂模式。
5.通过超级终端发送RPD配置文件到FPGA,发送完成后系统自动重启,完成升级。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

Claims (4)

1.一种基于NIOS II的FPGA在线升级方法,其特征在于,包括步骤:FPGA内部嵌入NIOSII处理器的IP核作为控制器,并集成串口、网口;系统上电或复位时,NIOS II处理器启动定时器,关闭看门狗程序,若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片读取FPGA配置文件据,进入用户模式;若接收到数据,且接收到的数据为升级数据,则将升级数据写入配置FLASH芯片,升级数据接收、写入完毕后启动看门狗程序,触发系统复位,完成FPGA的在线升级。
2.如权利要求1所述的一种基于NIOS II的FPGA在线升级方法,其特征在于,还包括:将配置FLASH芯片分为至少4个区域,4个区域分别为区域1、区域2、区域3以及区域4,区域1用于存储FPGA二级启动程序的配置文件,区域2用于存储FPGA配置文件1,区域3用于存储1FPGA配置文件2,区域4用于存储用户数据。
3.如权利要求2所述的一种基于NIOS II的FPGA在线升级方法,其特征在于,所述FPGA二级启动程序为工厂模式程序。
4.如权利要求2所述的一种基于NIOS II的FPGA在线升级方法,其特征在于,系统上电或复位时,若在限定的时间内NIOS II处理器没有从串口或网口接收到数据,则从配置FLASH芯片读取FPGA配置文件1,进入用户模式1;若接收到数据,且接收到的数据为切换用户模式的指令数据,则从配置FLASH芯片读取FPGA配置文件2,进入用户模式2。
CN201711298839.8A 2017-12-08 2017-12-08 一种基于nios ii的fpga在线升级方法 Active CN108037943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711298839.8A CN108037943B (zh) 2017-12-08 2017-12-08 一种基于nios ii的fpga在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711298839.8A CN108037943B (zh) 2017-12-08 2017-12-08 一种基于nios ii的fpga在线升级方法

Publications (2)

Publication Number Publication Date
CN108037943A true CN108037943A (zh) 2018-05-15
CN108037943B CN108037943B (zh) 2021-11-09

Family

ID=62101836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711298839.8A Active CN108037943B (zh) 2017-12-08 2017-12-08 一种基于nios ii的fpga在线升级方法

Country Status (1)

Country Link
CN (1) CN108037943B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874424A (zh) * 2018-06-21 2018-11-23 大唐电信(成都)信息技术有限公司 基于串口协议的fpga安全在线升级方法
CN109828238A (zh) * 2019-02-18 2019-05-31 航天南湖电子信息技术股份有限公司 一种时序/增益控制设备
CN111090447A (zh) * 2019-12-23 2020-05-01 杭州和利时自动化有限公司 一种io模块的固件更新方法及相关装置
CN111142916A (zh) * 2019-12-16 2020-05-12 杭州迪普科技股份有限公司 快闪存储器的配置装置及方法
CN112148341A (zh) * 2020-10-29 2020-12-29 合肥埃科光电科技有限公司 一种基于NiosII软核的FPGA在线升级方法
CN112835603A (zh) * 2021-02-20 2021-05-25 山东英信计算机技术有限公司 一种基于WebServer的FPGA远程升级装置及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615030A (zh) * 2009-01-09 2009-12-30 西安邮电学院 一种嵌入式系统测试用的数据采集器
CN102968095A (zh) * 2012-09-11 2013-03-13 上海航天测控通信研究所 一种支持远程加载的分布式波束控制装置
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
US8719808B1 (en) * 2010-01-27 2014-05-06 Altera Corporation Method and apparatus for using object files to provide reliable program operation
CN104407878A (zh) * 2014-10-20 2015-03-11 北京航天发射技术研究所 C6000数字信号处理器在线升级方法
CN106020860A (zh) * 2016-05-04 2016-10-12 桥弘数控科技(上海)有限公司 一种fpga的更新方法、装置及系统
CN106775869A (zh) * 2016-12-16 2017-05-31 四川九洲电器集团有限责任公司 一种加载方法及终端设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615030A (zh) * 2009-01-09 2009-12-30 西安邮电学院 一种嵌入式系统测试用的数据采集器
US8719808B1 (en) * 2010-01-27 2014-05-06 Altera Corporation Method and apparatus for using object files to provide reliable program operation
CN102968095A (zh) * 2012-09-11 2013-03-13 上海航天测控通信研究所 一种支持远程加载的分布式波束控制装置
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN104407878A (zh) * 2014-10-20 2015-03-11 北京航天发射技术研究所 C6000数字信号处理器在线升级方法
CN106020860A (zh) * 2016-05-04 2016-10-12 桥弘数控科技(上海)有限公司 一种fpga的更新方法、装置及系统
CN106775869A (zh) * 2016-12-16 2017-05-31 四川九洲电器集团有限责任公司 一种加载方法及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林振营等: "基于NiosⅡ的SoPC嵌入式系统开发解决方案", 《现代电子技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874424A (zh) * 2018-06-21 2018-11-23 大唐电信(成都)信息技术有限公司 基于串口协议的fpga安全在线升级方法
CN109828238A (zh) * 2019-02-18 2019-05-31 航天南湖电子信息技术股份有限公司 一种时序/增益控制设备
CN111142916A (zh) * 2019-12-16 2020-05-12 杭州迪普科技股份有限公司 快闪存储器的配置装置及方法
CN111142916B (zh) * 2019-12-16 2023-09-26 杭州迪普科技股份有限公司 快闪存储器的配置装置及方法
CN111090447A (zh) * 2019-12-23 2020-05-01 杭州和利时自动化有限公司 一种io模块的固件更新方法及相关装置
CN112148341A (zh) * 2020-10-29 2020-12-29 合肥埃科光电科技有限公司 一种基于NiosII软核的FPGA在线升级方法
CN112148341B (zh) * 2020-10-29 2023-11-21 合肥埃科光电科技股份有限公司 一种基于NiosII软核的FPGA在线升级方法
CN112835603A (zh) * 2021-02-20 2021-05-25 山东英信计算机技术有限公司 一种基于WebServer的FPGA远程升级装置及方法

Also Published As

Publication number Publication date
CN108037943B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN108037943A (zh) 一种基于nios ii的fpga在线升级方法
CN107977217B (zh) 在线加载xilinx-fpga多版本更新程序的方法
CN109656593B (zh) 基于zynq芯片实现fpga程序远程升级的方法
Vipin et al. DyRACT: A partial reconfiguration enabled accelerator and test platform
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
CN107479913A (zh) 一种fpga配置多启动低资源占用更新方法及实施系统
CN102609287A (zh) 一种通过cpu远程更新fpga的装置及其方法
CN103559053A (zh) 一种板卡系统及通信接口卡fpga在线升级方法
CN103970565A (zh) 一种服务器系统中fpga多途径下载配置实现方法
CN105955764A (zh) 一种stm32单片机iap串口程序烧录的改进方法
CN109408924B (zh) 基于dsp芯片的fpga配置方法
CN102622257B (zh) 电表在线自更新方法及其装置
CN110175056A (zh) 一种异构平台远程动态加载多目标fpga的控制装置及控制方法
CN102520961A (zh) 片外在线可编程的soc系统及其控制方法
CN102377423A (zh) Fpga在线配置方法
CN103927279A (zh) Fpga配置方法及系统、处理器
CN103455419A (zh) 现场可编程门阵列平台及其调试方法
CN104035757A (zh) 基于MIPS处理器的u-boot移植的实现方法
CN104636290A (zh) 基于多配置链组的fpga芯片配置结构和配置方法
CN103914331A (zh) 支持多芯片配置功能的仿真器
Aziz et al. Remote reconfiguration of FPGA-based wireless sensor nodes for flexible Internet of Things☆
CN116560688A (zh) 用于域控制器的软件更新方法
US20150160689A1 (en) Configuration of external clock signal for a storage module
CN112347035B (zh) 面向远程fpga设备的动态部分可重构配置装置及方法
CN102955872B (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