CN108037943A - 一种基于nios ii的fpga在线升级方法 - Google Patents
一种基于nios ii的fpga在线升级方法 Download PDFInfo
- 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
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
技术领域
本发明涉及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。
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)
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)
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 | 四川九洲电器集团有限责任公司 | 一种加载方法及终端设备 |
-
2017
- 2017-12-08 CN CN201711298839.8A patent/CN108037943B/zh active Active
Patent Citations (7)
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)
Title |
---|
林振营等: "基于NiosⅡ的SoPC嵌入式系统开发解决方案", 《现代电子技术》 * |
Cited By (8)
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 |