CN113360198B - 一种只用fpga自身在线更新fpga配置的方法 - Google Patents

一种只用fpga自身在线更新fpga配置的方法 Download PDF

Info

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
Application number
CN202110916688.8A
Other languages
English (en)
Other versions
CN113360198A (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.)
Chengdu Boyu Lihua Technology Co ltd
Original Assignee
Chengdu Boyu Lihua Technology Co 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 Chengdu Boyu Lihua Technology Co ltd filed Critical Chengdu Boyu Lihua Technology Co ltd
Priority to CN202110916688.8A priority Critical patent/CN113360198B/zh
Publication of CN113360198A publication Critical patent/CN113360198A/zh
Application granted granted Critical
Publication of CN113360198B publication Critical patent/CN113360198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates 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自身在线更新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接口。
CN202110916688.8A 2021-08-11 2021-08-11 一种只用fpga自身在线更新fpga配置的方法 Active CN113360198B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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自动加载系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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