CN113360198B - 一种只用fpga自身在线更新fpga配置的方法 - Google Patents
一种只用fpga自身在线更新fpga配置的方法 Download PDFInfo
- Publication number
- CN113360198B CN113360198B CN202110916688.8A CN202110916688A CN113360198B CN 113360198 B CN113360198 B CN 113360198B CN 202110916688 A CN202110916688 A CN 202110916688A CN 113360198 B CN113360198 B CN 113360198B
- Authority
- CN
- China
- Prior art keywords
- fpga
- upper computer
- command
- interface
- program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种只用FPGA自身在线更新FPGA配置的方法,将上位机与FPGA程序的上位机接口通信连接;上位机驱动程序将擦除命令、读写命令和配置文件传输至上位机接口;上位机接口将擦除命令、读写命令和配置文件传输给FLASH控制器;FLASH控制器根据擦除命令执行擦除FLASH、根据读写命令烧写配置文件到FLASH;当收到上位机的在线更新命令时,FPGA控制IO管脚输出下拉脉冲信号,program_b信号被拉低,FPGA启动FLASH加载。本发明能够实现在线更新不掉电;在受到场景限制情况下,也能实现在线更新,弥补了使用JTAG下载设备进行烧写需要开箱受场景限制的不足且没有增加额外成本。
Description
技术领域
本发明涉及通用信号处理模块设计技术领域,具体的说,是一种只用FPGA自身在线更新FPGA配置的方法。
背景技术
FPGA目前在各个领域的应用越来越广泛。现有技术中更新PFGA配置程序通常做法以及其缺陷有以下几种:
1)使用FPGA自带软件进行烧写配置程序,但是没有上位机软件应用接口;
2)使用JTAG下载设备进行烧写,但是需要开机箱盖子或者设备空间受限JTAG设备不好插上,导致很多场合会受到限制;
3)不能支持在线更新FPGA操作,烧写FPGA的时候必须中断业务;
4)烧写配置程序完毕后必须掉电重启,无法适应某些不能断电使用的场合;
5)有的设备使用了额外的芯片来实现在线更新FPGA配置程序,增加了设备成本。
以上所述的这些问题对FPGA灵活更新和成本控制产生了负面影响。
发明内容
本发明的目的在于提供一种只用FPGA自身在线更新FPGA配置的方法,用于解决现有技术中更新PFGA配置程序不支持在线更新、更新后需要掉电重启以及受到适用场合限制的问题。
本发明通过下述技术方案解决上述问题:
一种只用FPGA自身在线更新FPGA配置的方法,包括:
步骤S100,FPGA的一个IO管脚被配置成根据上位机的在线更新命令产生下拉脉冲信号将FPGA的加载管脚program_b信号下拉;
步骤S200,将FPGA程序的上位机接口与上位机通信连接,上位机驱动程序将擦除命令、读写命令和配置文件传输至FPGA程序的上位机接口;
步骤S300,FPGA程序的上位机接口将擦除命令、读写命令和配置文件传输给FLASH控制器;FLASH控制器模块放在FPGA上实现,使用的是FPGA自身的配置管脚;
步骤S400,FLASH控制器根据擦除命令执行擦除FLASH芯片、根据读写命令烧写配置文件到FLASH芯片;
步骤S500,当FPGA通过FPGA程序的上位机接口收到上位机的在线更新命令时,FPGA控制IO管脚输出下拉脉冲信号,FPGA的加载管脚program_b信号被拉低,FPGA启动FLASH加载。
所述FPGA程序的上位机接口包括高速接口和低速接口,高速接口包括PCIE接口和RAPIDIO接口;低速接口包括UART接口、SPI接口和I2C接口。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明在擦除FLASH和写FLASH的过程中,FPGA仍然可以运行业务,能够实现在线更新不掉电;在受到场景限制情况下,也可以实现在线更新FPGA配置程序,弥补了现有技术仅能使用JTAG下载设备进行烧写需要开箱受场景限制的不足,实现对FPGA的灵活更新。
(2)本发明不需要增加额外的芯片或处理器,只占用FPGA的一个用户IO管脚,FLASH控制器和上位机接口部分占用少量FPGA资源,软件驱动层的开发难度也非常低,易于实现。适用于市面上的绝大多数FPGA,仅仅需要它的加载配置管脚能够被用户逻辑使用,不需要额外的芯片,降低成本。
(3)本发明适用于任何接口:PCIE,rapidio等高速接口的FPGA,可以使用这些接口实现上位机接口功能,配置文件数据传输速度比较快;低端FPGA可以使用低速接口比如UART、SPI、I2C等作为上位机接口,配置文件数据传输速度低一些。
附图说明
图1为本发明的框架图;
图2为本发明的流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例:
结合附图1所示,一种只用FPGA自身在线更新FPGA配置的方法,包括上位机驱动程序、PFGA程序和单板电路,在单板设计上,使用FPGA的一个普通用户IO管脚,控制FPGA的加载管脚program_b,这个IO管脚受上位机命令控制。这个管脚的功能是,在上位机控制命令下输出下拉脉冲信号,将program_b信号下拉,FPGA进入到从FLASH加载配置文件的流程;同时需要将上位机与FPGA程序的上位机接口通信连接;上位机驱动程序通过这个上位机接口传输擦除命令、读写命令和配置文件;上位机接口将收到的擦除命令、读写命令和配置文件传输给FLASH控制器;这个上位机接口可以是当前广泛应用的任何接口,包括但不限于PCIERAPIDIO等高速接口,也可以是UART,SPI,I2C等低速接口;执行流程如图2所示,上位机驱动程序发起擦除流程,FLASH芯片执行擦除流程;擦除操作完成后,上位机驱动程序发起写FLASH芯片流程:查看乒乓缓冲区空满状态,当有空闲缓存区时,通过上位机接口如PCIE接口模块向缓存区发一块小于或等于空闲缓存区长度的配置文件数据,直到配置文件发送完成;写FLASH芯片流程完成后,当FPGA通过FPGA程序的上位机接口收到上位机的在线更新命令时, FPGA控制IO管脚输出下拉脉冲信号,FPGA的加载管脚PROGRAM_B信号被拉低,驱动管脚产生program信号,FPGA启动FLASH加载。否则,保持现状,等待系统下电后加载FLASH。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (1)
1.一种只用FPGA自身在线更新FPGA配置的方法,其特征在于,FPGA由上位机接口、乒乓缓存模块、FLASH控制器模块和FLASH自身加载电路构成,其中,上位机接口与上位机通信,并将上位机的擦除命令和烧写命令传递至FLASH控制器模块;上位机获取乒乓缓存模块的缓存区空闲标志给上位机并在有空闲缓存区时将上位机发送的配置文件数据写入乒乓缓存模块,乒乓缓存模块向FLASH控制器模块发送配置文件,方法包括:
步骤S100,FPGA的一个IO管脚与FPGA的加载管脚program_b共同连接上拉电阻,用于根据上位机的在线更新命令产生下拉脉冲信号将FPGA的加载管脚program_b信号下拉;
步骤S200,将FPGA程序的上位机接口与上位机通信连接,上位机驱动程序将擦除命令、读写命令和配置文件传输至FPGA程序的上位机接口;
步骤S300,FPGA程序的上位机接口将擦除命令、读写命令和配置文件传输给FLASH控制器;
步骤S400,FLASH控制器根据擦除命令执行擦除FLASH芯片、根据读写命令烧写配置文件到FLASH芯片;根据读写命令烧写配置文件到FLASH芯片具体包括擦除操作完成后,上位机驱动程序发起写FLASH芯片流程:查看乒乓缓存模块的缓冲区空满状态,当有空闲缓存区时,通过上位机接口向缓存区发一块小于或等于空闲缓存区长度的配置文件数据,直到配置文件发送完成;
步骤S500,当FPGA通过FPGA程序的上位机接口收到上位机的在线更新命令时, FPGA控制IO管脚输出下拉脉冲信号,FPGA的加载管脚program_b信号被拉低,FPGA启动FLASH加载;
所述FPGA程序的上位机接口包括高速接口和低速接口,高速接口包括PCIE接口和RAPIDIO接口;低速接口包括UART接口、SPI接口和I2C接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916688.8A CN113360198B (zh) | 2021-08-11 | 2021-08-11 | 一种只用fpga自身在线更新fpga配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916688.8A CN113360198B (zh) | 2021-08-11 | 2021-08-11 | 一种只用fpga自身在线更新fpga配置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360198A CN113360198A (zh) | 2021-09-07 |
CN113360198B true CN113360198B (zh) | 2021-11-16 |
Family
ID=77522907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916688.8A Active CN113360198B (zh) | 2021-08-11 | 2021-08-11 | 一种只用fpga自身在线更新fpga配置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360198B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
CN103927279A (zh) * | 2013-01-16 | 2014-07-16 | 京信通信系统(中国)有限公司 | Fpga配置方法及系统、处理器 |
CN205581847U (zh) * | 2015-12-22 | 2016-09-14 | 北京华峰测控技术有限公司 | 一种可快速重新配置fpga的电路 |
CN106502723A (zh) * | 2016-09-29 | 2017-03-15 | 四川九洲电器集团有限责任公司 | 用于实现fpga程序动态升级及自加载的装置及方法 |
CN208027343U (zh) * | 2018-04-17 | 2018-10-30 | 西京学院 | 一种fpga远程动态自更新加载系统 |
CN112148319A (zh) * | 2020-10-21 | 2020-12-29 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于高速串行口的并行工作fpga在线配置系统及方法 |
CN112187722A (zh) * | 2020-09-02 | 2021-01-05 | 博依特(广州)工业互联网有限公司 | 一种基于fpga的安全隔离系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055389B2 (en) * | 2006-09-01 | 2011-11-08 | Dig Corporation | Method and apparatus for controlling irrigation |
CN100590599C (zh) * | 2007-12-06 | 2010-02-17 | 福建星网锐捷网络有限公司 | 一种flash的写操作处理方法、系统及设备 |
CN104063257B (zh) * | 2014-07-23 | 2017-06-27 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
-
2021
- 2021-08-11 CN CN202110916688.8A patent/CN113360198B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
CN103927279A (zh) * | 2013-01-16 | 2014-07-16 | 京信通信系统(中国)有限公司 | Fpga配置方法及系统、处理器 |
CN205581847U (zh) * | 2015-12-22 | 2016-09-14 | 北京华峰测控技术有限公司 | 一种可快速重新配置fpga的电路 |
CN106502723A (zh) * | 2016-09-29 | 2017-03-15 | 四川九洲电器集团有限责任公司 | 用于实现fpga程序动态升级及自加载的装置及方法 |
CN208027343U (zh) * | 2018-04-17 | 2018-10-30 | 西京学院 | 一种fpga远程动态自更新加载系统 |
CN112187722A (zh) * | 2020-09-02 | 2021-01-05 | 博依特(广州)工业互联网有限公司 | 一种基于fpga的安全隔离系统 |
CN112148319A (zh) * | 2020-10-21 | 2020-12-29 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于高速串行口的并行工作fpga在线配置系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113360198A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506087B2 (en) | Method for configuring a Peripheral Component Interconnect Express (PCIE) | |
US8145894B1 (en) | Reconfiguration of an accelerator module having a programmable logic device | |
US6523083B1 (en) | System and method for updating flash memory of peripheral device | |
CN109656593B (zh) | 基于zynq芯片实现fpga程序远程升级的方法 | |
US8380481B2 (en) | Conveying data from a hardware device to a circuit simulation | |
JP4006399B2 (ja) | 省電力 | |
US20070067506A1 (en) | Multimedia program download control system and method of apparatus equipped with multimedia processor | |
TW201301028A (zh) | 用於串列式快閃記憶體之同時讀寫方法 | |
KR20110124617A (ko) | 시스템-온-칩 및 그것의 디버깅 방법 | |
CN112148319A (zh) | 基于高速串行口的并行工作fpga在线配置系统及方法 | |
CN111045930A (zh) | 一种光模块代码下载调试的方法和系统 | |
US20050216792A1 (en) | Debug system | |
CN113360198B (zh) | 一种只用fpga自身在线更新fpga配置的方法 | |
CN111562932A (zh) | 一种高可靠嵌入式软件升级方法及系统 | |
TW202242642A (zh) | 實時配置韌體數據的方法與除錯裝置 | |
CN108021385A (zh) | 一种板载SPI Flash的烧写系统和方法 | |
US20070150648A1 (en) | Method for using serial flash memory as program storage media for microprocessor and related processing system thereof | |
CN112306536B (zh) | 一种主板及其芯片以及芯片升级方法 | |
CN105068835B (zh) | 移动终端及其调试信息显示方法 | |
CN111447514B (zh) | 无源光网络sfp ont的eeprom系统以及其数据更新控制方法 | |
CN219266943U (zh) | 用于调试的电子装置 | |
US6466994B1 (en) | Method and system for programming a system board using a peripheral controller | |
CN111124963A (zh) | Cpld实现iic接口从设备方法、智能终端及储存介质 | |
US11614931B2 (en) | Online software upgrade device and method for maintaining operation uninterrupted | |
JP2001290764A (ja) | データ転送システム装置及びそのデータ転送方法 |
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 |