CN106528244B - Fpga配置文件自动加载系统及方法 - Google Patents
Fpga配置文件自动加载系统及方法 Download PDFInfo
- Publication number
- CN106528244B CN106528244B CN201611061859.9A CN201611061859A CN106528244B CN 106528244 B CN106528244 B CN 106528244B CN 201611061859 A CN201611061859 A CN 201611061859A CN 106528244 B CN106528244 B CN 106528244B
- Authority
- CN
- China
- Prior art keywords
- fpga
- chip
- configuration file
- signal
- reset
- 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
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明实施例提出一种FPGA配置文件自动加载系统及方法,涉及数据通信技术领域。FPGA芯片控制第一延时电路输出第一延时信号,开关电路根据第一延时信号向第一复位芯片输出控制信号,第一复位芯片在被控制信号触发时向第二复位芯片输出第一复位信号,第二复位芯片在上电时或收到第一复位信号时向FPGA芯片输出配置信号;FPGA芯片控制第二延时电路输出第二延时信号,选通电路依据第二延时信号选通主flash模块或从flash模块,FPGA芯片在配置信号的控制下从主flash模块或从flash模块加载FPGA配置文件。该FPGA配置文件自动加载系统架构简单,该FPGA配置文件的自动加载操作简单、可靠性高。
Description
技术领域
本发明涉及数据通信技术领域,具体而言,涉及一种FPGA配置文件自动加载系统及方法。
背景技术
现场可编辑门阵列(Field-Programmable Gate Array,FPGA)可根据用户需求灵活地对其编程以实现用户功能,如协助中央处理器(Center Process Unit,CPU)完成系统内部单元管理和控制、管理中央处理器的启动以及监控中央处理器的运行状态等,由于具有丰富的逻辑资源与I/O资源且开发周期短、设计成本低、易于产品更新换代等优点,在通信产品领域得到了广泛的应用。
由于FPGA芯片是基于掉电易失性存储器而设计,所以需要通过非易失性存储器存储FPGA配置文件,在系统上电时将FPGA配置文件加载到FPGA芯片中以便进行正常工作,对FPGA配置文件进行更新则是通过更新非易失性存储器中存储的FPGA配置文件,故FPGA配置文件是否便于自动加载和更新成为通信产品易维护性、易扩展性等的重要参考标准。
现有的解决方案中,FPGA配置文件的自动加载和更新需要通过中央处理器联合复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)或者微处理器(Microcontroller Unit,MCU)来实现,系统架构复杂且成本较高;现有的解决方案中,如果FPGA配置文件失效会导致系统不能正常加载,并且没有FPGA配置文件的自动更新功能,不便于FPGA配置文件的在线升级。
发明内容
本发明的目的在于提供一种FPGA配置文件自动加载系统及方法,以解决现有技术中FPGA配置文件自动加载系统架构复杂且FPGA配置文件加载可靠性不高的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明实施例提出一种FPGA配置文件自动加载系统,所述FPGA配置文件自动加载系统包括:FPGA芯片、复位与解复位模块及主从配置文件切换模块;所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片、第二复位芯片依次电连接;所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;所述FPGA芯片用于控制所述第一延时电路输出第一延时信号,所述开关电路用于根据所述第一延时信号向所述第一复位芯片输出控制信号,所述第一复位芯片用于在被所述控制信号触发时向所述第二复位芯片输出第一复位信号,所述第二复位芯片用于在上电时或收到所述第一复位信号时向所述FPGA芯片输出配置信号;所述FPGA芯片还用于控制所述第二延时电路输出第二延时信号,所述选通电路用于依据所述第二延时信号选通所述主flash模块或从flash模块,所述FPGA芯片用于在所述配置信号的控制下从所述主flash模块或从flash模块加载所述FPGA配置文件。
本发明实施例还提出一种FPGA配置文件自动加载方法,应用于FPGA配置文件自动加载系统,所述FPGA配置文件自动加载系统包括FPGA芯片、复位与解复位模块及主从配置文件切换模块;所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片和所述第二复位芯片依次电连接;所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;所述FPGA配置文件自动加载方法包括:所述FPGA芯片控制所述第一延时电路输出第一延时信号;所述开关电路根据所述第一延时信号向所述第一复位芯片输出控制信号,以不触发所述第一复位芯片输出第一复位信号;所述第二复位芯片上电时输出配置信号;所述FPGA芯片控制所述第二延时电路输出第二延时信号;所述选通电路依据所述第二延时信号选通所述主flash模块;所述FPGA芯片在所述配置信号的控制下从所述主flash模块加载所述FPGA配置文件;若所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败,则所述开关电路根据所述第一延时电路经预定时间延时后的第一延时信号向所述第一复位芯片输出控制信号,以触发所述第一复位芯片输出第一复位信号;所述第二复位芯片收到所述第一复位信号时向所述FPGA芯片输出配置信号;所述选通电路依据所述第二延时电路经预定时间延时后的第二延时信号选通所述从flash模块;所述FPGA芯片在所述配置信号的控制下从所述从flash模块加载所述FPGA配置文件。
相对现有技术,本发明具有以下有益效果:本发明提供的一种FPGA配置文件自动加载系统及方法,FPGA芯片在第二复位芯片输出的配置信号的控制下从主flash模块或者从flash模块加载存储的FPGA配置文件,当所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败时,可从所述从flash模块加载存储的FPGA配置文件。该FPGA配置文件自动加载系统的架构简单,通过此方式加载FPGA配置文件具有更高的可靠性和易操作性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明第一实施例提供的FPGA配置文件自动加载系统的结构框图。
图2示出了本发明第一实施例提供的FPGA芯片与复位与解复位模块的电路连接示意图。
图3示出了本发明第一实施例提供的FPGA芯片与主从配置文件模块的电路连接示意图。
图4示出了本发明第一实施例提供的FPGA配置文件自动加载方法的流程示意图。
图5示出了本发明第二实施例提供的FPGA配置文件更新及重新加载方法的流程示意图。
图标:100-FPGA配置文件自动加载系统;110-中央处理器;120-FPGA芯片;130-复位与解复位模块;140-主从配置文件切换模块;132-第一延时电路;134-开关电路;136-第一复位芯片;138-第二复位芯片;142-第二延时电路;144-选通电路;146-主flash模块;148-从flash模块;1441-反向电路;1443-总线切换开关。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
图1示出了本发明第一实施例提供的FPGA配置文件自动加载系统100的结构框图。该FPGA配置文件自动加载系统100包括中央处理器110、FPGA芯片120、复位与解复位模块130及主从配置文件切换模块140,该中央处理器110、复位与解复位模块130及主从配置文件切换模块140均与该FPGA芯片120电连接。
该中央处理器110可用于向该FPGA芯片120发送喂狗信号WDI以表示该FPGA配置文件自动加载系统100启动完成,该中央处理器110还可用于更新FPGA配置文件时通过LOCAlBUS总线将新版本的FPGA配置文件传送至该FPGA芯片120中。在本实施例中,当该中央处理器110及时给该FPGA芯片120发送喂狗信号WDI,表明该中央处理器110正常运行。
该FPGA芯片120可用于加载FPGA配置文件、将新版本的FPGA配置文件更新至主从配置文件切换模块140中以及当FPGA配置文件加载成功时向中央处理器110输出第二复位信号CPU_RST以解复位该中央处理器110;该FPGA芯片120还用于在中央处理器110向该FPGA芯片120发送喂狗信号WDI超时时,向中央处理器110输出第二复位信号CPU_RST以复位该中央处理器110,保证该中央处理器110出现故障时能及时恢复正常。
该复位与解复位模块130用于控制所述FPGA芯片120加载FPGA配置文件,其包括第一延时电路132、开关电路134、第一复位芯片136及第二复位芯片138,该第一延时电路132、第二复位芯片138均与该FPGA芯片120电连接,该第一延时电路132、开关电路134、第一复位芯片136、第二复位芯片138依次电连接。该第一延时电路132用于依据FPGA芯片120输出的第一使能信号RST_EN输出第一延时信号DELAY1;该开关电路134用于依据该第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR;该第一复位芯片136用于在被该控制信号PWR触发时向该第二复位芯片138输出第一复位信号MANUAL_RST;该第二复位芯片138用于在该FPGA配置文件自动加载系统100上电或者收到该第一复位信号MANUAL_RST时向该FPGA芯片120输出配置信号nCONFIG。
该主从配置文件切换模块140用于给该FPGA芯片120加载或更新FPGA配置文件时提供加载或更新通道,其包括第二延时电路142、选通电路144、主flash模块146和从flash模块148,该第二延时电路142与该FPGA芯片120、选通电路144均电连接,该主flash模块146和从flash模块148均存储有FPGA配置文件。该选通电路144用于选通该主flash模块146或从flash模块148以使该FPGA芯片120加载或者更新FPGA配置文件,该选通电路144包括反向电路1441及总线切换开关1443,该反向电路1441电连接于该第二延时电路142和该总线切换开关1443之间,该总线切换开关1443同时与该主flash模块146、从flash模块148、FPGA芯片120电连接。该第二延时电路142用于上电加载该FPGA配置文件时依据该FPGA芯片120输出的第二使能信号BOOT_EN1输出第二延时信号DELAY2,该第二延时电路142还用于更新FPGA配置文件时依据该FPGA芯片120输出的第三使能信号BOOT_EN2输出第三延时信号DELAY3。该反向电路1441用于加载FPGA配置文件时依据第二延时信号DELAY2输出不同的选通信号SEL以及更新FPGA配置文件时依据第三延时信号DELAY3输出不同的选通信号SEL;该总线切换开关1443用于依据该不同的选通信号SEL来选通该主flash模块146或从flash模块148。
在本实施例中,当该第二复位芯片138上电向该FPGA芯片120输出配置信号nCONFIG且该总线切换开关1443选通该主flash模块146时,该FPGA芯片120从主flash模块146中加载存储的FPGA配置文件;当该第二复位芯片138收到第一复位信号MANUAL_RST向该FPGA芯片120输出配置信号nCONFIG且该总线切换开关1443选通从flash模块148时,该FPGA芯片120从该从flash模块148中加载存储的FPGA配置文件。
图2示出了本发明第一实施例提供的FPGA芯片120与复位与解复位模块130的电路连接示意图,该第一延时电路132包括第一电容C1和第一电阻R1,该开关电路134包括第一场效应管Q1和第二场效应管Q2,其中,该第一场效应管Q1为N沟道场效应管,该第二场效应管Q2为P沟道场效应管。该第一电容C1和第一电阻R1串联于电源GP3V3和地之间,该FPGA芯片120的第一输入输出端口IO1电连接于该第一电容C1和第一电阻R1之间;该第一场效应管Q1的栅极电连接于该第一电容C1和第一电阻R1之间,该第一场效应管Q1的源极接地,该第一场效应管Q1的漏极与该第二场效应管Q2的栅极电连接,该第一场效应管Q1的漏极通过第一上拉电阻R2与该电源GP3V3电连接,该第二场效应管Q2的源极与该电源GP3V3电连接,该第二场效应管Q2的漏极与该第一复位芯片136的电源输入端VCC电连接,并且该第二场效应管Q2的漏极通过第一下拉电阻R3接地;该第一复位芯片136的第一复位端RESET1与该第二复位芯片138的复位信号输入端#MR电连接,该第一复位芯片136的第一复位端RESET1通过第四上拉电阻R4与电源GP3V3电连接,该第二复位芯片138的第二复位端#RESET与该FPGA芯片120的配置控制输入端NCONFIG电连接,该第二复位芯片138的第二复位端#RESET通过第二下拉电阻R5接地。
图3示出了本发明第一实施例提供的FPGA芯片120与主从配置文件切换模块140的电路连接示意图,该第二延时电路142包括第二电容C2和第二电阻R6,该反向电路1441包括第三场效应管Q3和第四场效应管Q4,其中,该第三场效应管Q3和第四场效应管Q4均为N沟道场效应管。该第二电阻R6和该第二电容C2串联于电源GP3V3和地之间,该FPGA芯片120的第二输入输出端口IO2电连接于该第二电容C2和第二电阻R6之间,该第三场效应管Q3的栅极电连接于该第二电容C2和第二电阻R6之间,该第三场效应管Q3的源极接地,该第三场效应管Q3的漏极与该第四场效应管Q4的栅极电连接,该第三场效应管Q3的漏极通过第二上拉电阻R7与该电源GP3V3电连接,该第四场效应管Q4的漏极通过第三上拉电阻R8与该电源GP3V3电连接,该第四场效应管Q4的源极接地;该第四场效应管Q4的栅极和漏极均与该总线切换开关1443电连接,该反向电路1441输出的选通信号SEL包括第一选通信号SEL1和第二选通信号SEL2,其中,该第四场效应管Q4的栅极输出的信号为第一选通信号SEL1,该第四场效应管Q4的漏极输出的信号为第二选通信号SEL2;该总线切换开关1443同时电连接于该主flash模块146和从flash模块148,并且该总线切换开关1443还与该FPGA芯片120的第三输入输出端口IO3、一组SPI接口(SPI_CS、SPI_CLK、SPI_MISO、SPI_MOSI)电连接以建立SPI通道实现FPGA配置文件的加载及更新。
在本实施例中,该FPGA配置文件自动加载系统100上电时,该FPGA芯片120由于未加载FPGA配置文件,第一输入输出端口IO1、第二输入输出端口IO2管脚属性均为高阻,第一使能信号RST_EN起始电平为低电平,第二使能信号BOOT_EN1起始电平为低电平,第一延时电路132输出的第一延时信号DELAY1为低电平,此时第一场效应管Q1和第二场效应管Q2均为截止状态,故第一复位芯片136没有被提供电源,由于第四上拉电阻R4的作用使第一复位信号MANUAL_RST为高电平,第二复位芯片138未被触发。第二延时电路142输出的第二延时信号DELAY2为低电平,此时第三场效应管Q3为截止状态,第四场效应管Q4为导通状态,第一选通信号SEL1为高电平,第二选通信号SEL2为低电平,该总线切换开关1443选通主flash模块146;第二复位芯片138上电时输出T3秒低电平的配置信号nCONFIG拉低该FPGA芯片120的NCONFIG管脚对该FPGA芯片120进行复位,T3秒以后该FPGA芯片120被解复位,该FPGA芯片120从选通的主flash模块146加载FPGA配置文件,该FPGA芯片120加载FPGA配置文件的时间一般在T4秒以内。在本实施例中,该第一使能信号RST_EN通过第一延时电路132的最大延迟时间可为T1秒,T1=R1*C1*ln[(V11-V10)/(V11-V1T)],其中,V11为第一电容C1可以充电的最终电压,V10为第一电容C1的起始电压,V1T为T1时刻第一电容C1的充电电压;该第二使能信号BOOT_EN1通过第二延时电路142的最大延迟时间可为T2秒,T2=R2*C2*ln[(V21-V20)/(V21-V2T)],其中,V21为第二电容C2可以充电的最终电压,V20为第二电容C2的起始电压,V2T为T2时刻第二电容C2的充电电压。需要说明的是,在本实施例中,T1≥T3+T4,T1=T2,该复位与解复位模块130通过延迟复位保证了该FPGA配置文件自动加载系统100的所有电源上电完成后经过T3秒再加载FPGA配置文件。
在上电后T1秒内,如果该FPGA芯片120加载FPGA配置文件失败,第二延时电路142计时到T2秒后,控制第二使能信号BOOT_EN1为高电平,则第二延时电路142输出的经T2秒延时后的第二延时信号DELAY2为高电平,此时第三场效应管Q3为导通状态,第四场效应管Q4为截止状态,第一选通信号SEL1为低电平,第二选通信号SEL2为高电平,该总线切换开关1443选通从flash模块148。该第一延时电路132计时到T1秒后控制第一使能信号RST_EN为高电平,第一延时电路132输出的经T1秒延时后的第一延时信号DELAY1为高电平,此时第一场效应管Q1和第二场效应管Q2均为导通状态,故第一复位芯片136被提供电源并输出第一复位信号MANUAL_RST,该第一复位信号MANUAL_RST为低电平,用于触发该第二复位芯片138向该FPGA芯片120输出低电平的配置信号nCONFIG,以控制该FPGA芯片120从选通的从flash模块148重新加载FPGA配置文件;当该FPGA芯片120加载FPGA配置文件成功时,该FPGA配置文件通过控制第一使能信号RST_EN为低电平,进而保证该第一复位芯片136不被供电。
当进行FPGA配置文件的更新时,如果更新主flash模块146存储的FPGA配置文件,通过FPGA芯片120控制第三使能信号BOOT_EN2为低电平,进而选通主flash模块146将从中央处理器110送入的新版本FPGA配置文件更新至该主flash模块146中;如果更新从flash模块148存储的FPGA配置文件,通过该FPGA芯片120控制第三使能信号BOOT_EN2为高电平,进而选通从flash模块148将从中央处理器110送入的新版本FPGA配置文件更新至该从flash模块148;当完成FPGA配置文件的更新时,中央处理器110通过控制该FPGA芯片120以使该第一使能信号RST_EN为高电平,此时第一复位芯片136被提供电源向第二复位芯片138输出T5秒低电平的第一复位信号MANUAL_RST,该第二复位芯片138依据该第一复位信号MANUAL_RST向该FPGA芯片120输出配置信号nCONFIG,该配置信号nCONFIG控制该FPGA芯片120重新加载更新过的FPGA配置文件,实现了在非断电情况下在线更新FPGA配置文件。
需要说明的是,在本实施例中,T3由第二复位芯片138的参数决定,通常为几百毫秒级;T4为该FPGA芯片120加载FPGA配置文件的整个过程需要的时间,通常为秒级;T5由第一复位芯片136的参数决定,通常为几百毫秒级。
图4示出了本发明第一实施例提供的FPGA配置文件自动加载方法的流程示意图,下面将对图4所示的具体流程进行详细阐述。
步骤S401,FPGA芯片120控制第一延时电路132输出第一延时信号DELAY1。
在本实施例中,当该FPGA配置文件自动加载系统100上电时,该FPGA芯片120向该第一延时电路132输出第一使能信号RST_EN,该第一使能信号RST_EN的起始电平为低电平,该第一延时电路132依据该第一使能信号RST_EN输出的第一延时信号DELAY1为低电平。
步骤S402,该开关电路134根据该第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR,以不触发该第一复位芯片136输出第一复位信号MANUAL_RST。
在本实施例中,由于第一延时信号DELAY1为低电平,开关电路134依据该第一延时信号DELAY1输出的控制信号PWR为低电平,该低电平不能触发该第一复位芯片136,该第一复位芯片136没有被提供电源。
步骤S403,该第二复位芯片138上电时输出配置信号nCONFIG。
在本实施例中,第一复位芯片136因没有被提供电源,未向该第二复位芯片138输出第一复位信号MANUAL_RST,第二复位芯片138由于上电向该FPGA芯片120输出了配置信号nCONFIG。
步骤S404,该FPGA芯片120控制第二延时电路142输出第二延时信号DELAY2。
在本实施例中,当该FPGA配置文件自动加载系统100上电时,该FPGA芯片120向该第二延时电路142输出第二使能信号BOOT_EN1,该第二使能信号BOOT_EN1的起始电平为低电平,该第二延时电路142依据该第二使能信号BOOT_EN1输出的第二延时信号DELAY2为低电平。
步骤S405,选通电路144依据该第二延时信号DELAY2选通主flash模块146。
在本实施例中,由于第二延时信号DELAY2为低电平,反向电路1441依据该第二延时信号DELAY2输出的第一选通信号SEL1为高电平,第二选通信号SEL2为低电平,故该总线切换开关1443选通主flash模块146。
步骤S406,该FPGA芯片120在该配置信号nCONFIG的控制下从该主flash模块146加载FPGA配置文件。
在本实施例中,该配置信号nCONFIG为T3秒的低电平信号,通过拉低FPGA芯片120的配置控制输入端NCONFIG使该FPGA芯片120复位,T3秒后该FPGA芯片120被解复位,该FPGA芯片120从选通的主flash模块146中加载FPGA配置文件。
步骤S407,判断FPGA配置文件是否加载成功。
在本实施例中,该第一延时电路132计时到T1秒,控制第一使能信号RST_EN为高电平,则表明该FPGA芯片120从主flash模块146中加载FPGA配置文件失败;若第一使能信号RST_EN为低电平,则加载FPGA配置文件成功。
步骤S408,若该FPGA芯片120从主flash模块146加载该FPGA配置文件失败,则开关电路134根据该第一延时电路132经预定时间延时后的第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR,以触发该第一复位芯片136输出第一复位信号MANUAL_RST。
在本实施例中,该第一延时电路132中设置的预定时间为T1秒,T1秒后该FPGA配置文件加载失败,则此时第一使能信号为高电平,第一延时电路132根据该第一使能信号RST_EN输出的经T1秒延时后的第一延时信号DELAY1为高电平,该开关电路134向该第一复位芯片136输出的控制信号PWR为高电平,此时第一复位芯片136被触发向该第一复位芯片136输出第一复位信号MANUAL_RST。
步骤S409,该第二复位芯片138收到该第一复位信号MANUAL_RST时向该FPGA芯片120输出配置信号nCONFIG。
在本实施例中,此时第一复位信号MANUAL_RST为低电平,控制该第二复位芯片138向该FPGA芯片120输出配置信号nCONFIG,且该配置信号nCONFIG为低电平。
步骤S410,该选通电路144依据该第二延时电路142经预定时间延时后的第二延时信号DELAY2选通该从flash模块148。
在本实施例中,该第二延时电路142中设置的预定时间为T2秒,其中,T2与该第一延时电路132中设置的预定时间T1相同。第二延时电路142计时到T2秒,控制第二使能信号BOOT_EN1为高电平,该第二延时电路142依据该第二使能信号BOOT_EN1输出的第二延时信号DELAY2为高电平,该反向电路1441依据该第二延时信号DELAY2输出的第一选通信号SEL1为低电平,第二选通信号SEL2为高电平,该总线切换开关1443选通从flash模块148。
步骤S411,该FPGA芯片120在该配置信号nCONFIG的控制下从该从flash模块148加载该FPGA配置文件。
在本实施例中,该配置信号nCONFIG通过拉低FPGA芯片120的配置控制输入端NCONFIG使该FPGA芯片120复位,T3秒后该FPGA芯片120解复位,该FPGA芯片120从选通的从flash模块148加载FPGA配置文件。
步骤S412,该FPGA配置文件加载成功后,该FPGA芯片120解复位与该FPGA芯片120电连接的中央处理器110,该中央处理器110启动完成后向该FPGA芯片120发送喂狗信号WDI以表示该FPGA配置文件自动加载系统100启动完成。
在本实施例中,若该FPGA芯片120从主flash模块146加载FPGA配置文件成功,则直接在步骤S407后执行步骤S412。
需要说明的是,上述的部分步骤并不代表严格按照上述方式被执行,例如,步骤S401、S404也可同时被执行。
第二实施例
图5示出了本发明第二实施例提供的FPGA配置文件更新及重新加载方法的流程示意图,下面将对图5所示的具体流程进行详细阐述。
步骤S501,FPGA芯片120判断通过主flash模块146或从flash模块148的FPGA配置文件启动。
在本实施例中,FPGA芯片120正常工作时,通过反向电路1441输出的第一选通信号SEL1及第二选通信号SEL2的电平来判断该FPGA芯片120通过主flash模块146还是通过从flash模块148的配置文件启动,当该第一选通信号SEL1为高电平、第二选通信号SEL2为低电平时,该FPGA芯片120通过主flash模块146的配置文件启动,当该第一选通信号SEL1为低电平、第二选通信号SEL2为高电平时,该FPGA芯片120通过从flash模块148的配置文件启动。
步骤S502,该FPGA芯片120控制第二延时电路142输出第三延时信号DELAY3。
在本实施例中,当FPGA芯片120通过主flash模块146的配置文件启动,则此时该FPGA芯片120更新主flash模块146的FPGA配置文件,该FPGA芯片120控制第三使能信号BOOT_EN2为低电平,该第二延时电路142依据该第三使能信号BOOT_EN2输出的第三延时信号DELAY3为低电平;当FPGA芯片120通过从flash模块148的配置文件启动,则此时该FPGA芯片120更新从flash模块148的FPGA配置文件,该FPGA芯片120控制第三使能信号BOOT_EN2为高电平,该第二延时电路142依据该第三使能信号BOOT_EN2输出的第三延时信号DELAY3为高电平。
当然,上述的步骤S501也可省略。也就是说,无论FPGA芯片120通过主flash模块146还是从flash模块148的配置文件启动,该FPGA芯片120可通过控制该第三使能信号BOOT_EN2的电平进而选择更新主flash模块146或从flash模块148的FPGA配置文件。
步骤S503,该选通电路144依据该第三延时信号DELAY3选通该主flash模块146或从flash模块148。
在本实施例中,当第三延时信号DELAY3为低电平时,该第一选通信号SEL1为高电平、第二选通信号SEL2为低电平,该总线切换开关1443选通主flash模块146;当第三延时信号DELAY3为高电平时,该第一选通信号SEL1为低电平、第二选通信号SEL2为高电平时,该总线切换开关1443选通从flash模块148。
步骤S504,该中央处理器110将新版本的FPGA配置文件传送至该FPGA芯片120,该FPGA芯片120将新版本的FPGA配置文件更新至该主flash模块146或从flash模块148。
在本实施例中,该中央处理器110通过LOCAl BUS总线将新版本的FPGA配置文件传送至该FPGA芯片120中,该FPGA芯片120通过SPI总线与该总线切换开关1443电连接,该FPGA芯片120内部逻辑实现将LOCAl BUS总线转到SPI总线,将新版本的FPGA配置文件通过建立的SPI通道更新至该主flash模块146或从flash模块148。
步骤S505,该新版本的FPGA配置文件更新完成后,该FPGA芯片120重新加载更新后的FPGA配置文件。
在本实施例中,当新版本的FPGA配置文件更新完成时,中央处理器110通过控制该FPGA芯片120以使该第一使能信号RST_EN为高电平,此时第一复位芯片136被提供电源向第二复位芯片138输出第一复位信号MANUAL_RST,该第一复位信号MANUAL_RST为低电平触发第二复位芯片138向该FPGA芯片120输出配置信号nCONFIG,以复位该FPGA芯片120,该FPGA解复位后重新加载更新后的FPGA配置文件。需要说明的是,该FPGA芯片120重新加载更新后的FPGA配置文件的过程与本发明第一实施例所提供的自动加载FPGA配置文件过程一致。
需要说明的是,在本实施例中,若该FPGA芯片120通过主flash模块146的配置文件启动,但需要更新从flash模块148的FPGA配置文件时,该第三延时信号DELAY3由低电平变为高电平的预定时间与第一实施例中第二延时电路142中设置的预定时间T2秒相同。
综上所述,本发明实施例所提供的FPGA配置文件自动加载系统及方法,FPGA芯片在第二复位芯片输出的配置信号的控制下从主flash模块或者从flash模块加载存储的FPGA配置文件,当所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败时,可从所述从flash模块加载存储的FPGA配置文件,保证了系统正常加载的可靠性;同时,在FPGA芯片正常工作时,FPGA芯片可将中央处理器送入的FPGA配置文件更新至主flash模块或者从flash模块,并且在更新完成后可在线实现重新加载更新后的FPGA配置文件。该FPGA配置文件自动加载系统的架构简单,FPGA配置文件的加载及更新具有更高的可靠性和易操作性,在产品的成本控制、易维护性、易扩展性等方面具有重要的意义。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种FPGA配置文件自动加载系统,其特征在于,所述FPGA配置文件自动加载系统包括:FPGA芯片、复位与解复位模块及主从配置文件切换模块;
所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片、第二复位芯片依次电连接;
所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和所述从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;
所述FPGA芯片用于控制所述第一延时电路输出第一延时信号,所述开关电路用于根据所述第一延时信号向所述第一复位芯片输出控制信号,所述第一复位芯片用于在被所述控制信号触发时向所述第二复位芯片输出第一复位信号,所述第二复位芯片用于在上电时或收到所述第一复位信号时向所述FPGA芯片输出配置信号;
所述FPGA芯片还用于控制所述第二延时电路输出第二延时信号,所述选通电路用于依据所述第二延时信号选通所述主flash模块或从flash模块,所述FPGA芯片用于在所述配置信号的控制下从所述主flash模块或从flash模块加载所述FPGA配置文件。
2.如权利要求1所述的FPGA配置文件自动加载系统,其特征在于,当所述第二复位芯片上电时输出所述配置信号且所述选通电路依据所述第二延时信号选通所述主flash模块时,所述FPGA芯片在所述配置信号的控制下从所述主flash模块加载所述FPGA配置文件;当所述第二复位芯片收到所述第一复位信号时向所述FPGA芯片输出所述配置信号且所述选通电路依据所述第二延时信号选通所述从flash模块时,所述FPGA芯片在所述配置信号的控制下从所述从flash模块加载所述FPGA配置文件。
3.如权利要求1所述的FPGA配置文件自动加载系统,其特征在于,所述选通电路包括反向电路及总线切换开关,所述反向电路电连接于所述第二延时电路和所述总线切换开关之间,所述总线切换开关同时与所述主flash模块、从flash模块、FPGA芯片电连接,所述反向电路用于依据所述第二延时电路输出的第二延时信号输出不同的选通信号,所述总线切换开关用于依据所述不同的选通信号选通所述主flash模块或从flash模块。
4.如权利要求3所述的FPGA配置文件自动加载系统,其特征在于,所述第二延时电路包括第二电容和第二电阻,所述反向电路包括第三场效应管和第四场效应管,所述第三场效应管和第四场效应管均为N沟道场效应管,所述第二电阻和所述第二电容串联于一电源和地之间,所述FPGA芯片电连接于所述第二电容和所述第二电阻之间,所述第三场效应管的栅极电连接于所述第二电容和所述第二电阻之间,所述第三场效应管的源极接地,所述第三场效应管的漏极与所述第四场效应管的栅极电连接,所述第三场效应管的漏极通过一第二上拉电阻与所述电源电连接,所述第四场效应管的漏极通过一第三上拉电阻与所述电源电连接,所述第四场效应管的源极接地,所述第四场效应管的栅极和漏极均与所述总线切换开关电连接。
5.如权利要求1所述的FPGA配置文件自动加载系统,其特征在于,所述第一延时电路包括第一电容和第一电阻,所述开关电路包括第一场效应管和第二场效应管,所述第一场效应管为N沟道场效应管,所述第二场效应管为P沟道场效应管,所述第一电阻和所述第一电容串联于一电源和地之间,所述FPGA芯片电连接于所述第一电容和所述第一电阻之间,所述第一场效应管的栅极电连接于所述第一电容和所述第一电阻之间,所述第一场效应管的源极接地,所述第一场效应管的漏极与所述第二场效应管的栅极电连接,所述第一场效应管的漏极通过一第一上拉电阻与所述电源电连接,所述第二场效应管的源极与所述电源电连接,所述第二场效应管的漏极与所述第一复位芯片电连接,所述第二场效应管的漏极通过一第一下拉电阻接地。
6.如权利要求1所述的FPGA配置文件自动加载系统,其特征在于,所述FPGA配置文件自动加载系统还包括中央处理器,所述中央处理器与所述FPGA芯片电连接,所述中央处理器用于向所述FPGA芯片发送喂狗信号以表示所述FPGA配置文件自动加载系统启动完成。
7.如权利要求6所述的FPGA配置文件自动加载系统,其特征在于,所述FPGA芯片还用于控制第二延时电路输出第三延时信号;所述选通电路还用于依据所述第三延时信号选通所述主flash模块或从flash模块,所述中央处理器还用于将新版本的FPGA配置文件传送至所述FPGA芯片,所述FPGA芯片还用于将新版本的FPGA配置文件更新至所述主flash模块或从flash模块。
8.一种FPGA配置文件自动加载方法,应用于FPGA配置文件自动加载系统,其特征在于:所述FPGA配置文件自动加载系统包括FPGA芯片、复位与解复位模块及主从配置文件切换模块;所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片和所述第二复位芯片依次电连接;所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;
所述FPGA配置文件自动加载方法包括:
所述FPGA芯片控制所述第一延时电路输出第一延时信号;
所述开关电路根据所述第一延时信号向所述第一复位芯片输出控制信号,以不触发所述第一复位芯片输出第一复位信号;
所述第二复位芯片上电时输出配置信号;
所述FPGA芯片控制所述第二延时电路输出第二延时信号;
所述选通电路依据所述第二延时信号选通所述主flash模块;
所述FPGA芯片在所述配置信号的控制下从所述主flash模块加载所述FPGA配置文件;
若所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败,则
所述开关电路根据所述第一延时电路经预定时间延时后的第一延时信号向所述第一复位芯片输出控制信号,以触发所述第一复位芯片输出第一复位信号;
所述第二复位芯片收到所述第一复位信号时向所述FPGA芯片输出配置信号;
所述选通电路依据所述第二延时电路经预定时间延时后的第二延时信号选通所述从flash模块;
所述FPGA芯片在所述配置信号的控制下从所述从flash模块加载所述FPGA配置文件。
9.如权利要求8所述的FPGA配置文件自动加载方法,其特征在于,所述方法还包括:
所述FPGA配置文件加载成功后,所述FPGA芯片解复位与所述FPGA芯片电连接的中央处理器,所述中央处理器启动完成后向所述FPGA芯片发送喂狗信号以表示所述FPGA配置文件自动加载系统启动完成。
10.如权利要求9所述的FPGA配置文件自动加载方法,其特征在于,所述方法还包括:
所述FPGA芯片控制所述第二延时电路输出第三延时信号;
所述选通电路依据所述第三延时信号选通所述主flash模块或从flash模块;
所述中央处理器将新版本的FPGA配置文件传送至所述FPGA芯片,所述FPGA芯片将新版本的FPGA配置文件更新至所述主flash模块或从flash模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611061859.9A CN106528244B (zh) | 2016-11-25 | 2016-11-25 | Fpga配置文件自动加载系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611061859.9A CN106528244B (zh) | 2016-11-25 | 2016-11-25 | Fpga配置文件自动加载系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106528244A CN106528244A (zh) | 2017-03-22 |
CN106528244B true CN106528244B (zh) | 2019-05-03 |
Family
ID=58357519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611061859.9A Active CN106528244B (zh) | 2016-11-25 | 2016-11-25 | Fpga配置文件自动加载系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528244B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783859B (zh) * | 2017-11-23 | 2023-11-24 | 山东有人物联网股份有限公司 | 一种可配置复位时长和定时时长的看门狗电路 |
CN110633166B (zh) * | 2018-06-22 | 2023-03-21 | 迈普通信技术股份有限公司 | 复位装置及复位方法 |
CN109117205B (zh) * | 2018-07-23 | 2021-03-30 | 北京大恒图像视觉有限公司 | 一种基于mcu和fpga的双芯片加载方法 |
CN109525276B (zh) * | 2018-10-30 | 2020-11-20 | 航天恒星科技有限公司 | 一种具备外部下载功能的多模数据链系统及方法 |
CN109542522A (zh) * | 2018-11-02 | 2019-03-29 | 杭州迪普科技股份有限公司 | 一种fpga启动方法及装置 |
CN110096300B (zh) * | 2019-04-08 | 2023-03-14 | 上海赛治信息技术有限公司 | 一种fpga程序文件备份管理系统、运行方法及升级方法 |
CN110399026B (zh) * | 2019-06-28 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 基于fpga的多源单输出复位方法、装置及相关设备 |
CN114996051A (zh) * | 2021-03-02 | 2022-09-02 | 中科亿海微电子科技(苏州)有限公司 | 一种fpga程序在线更新失败可恢复电路及方法 |
CN113344767A (zh) * | 2021-06-29 | 2021-09-03 | 深圳市商汤科技有限公司 | 数据处理装置、系统、板卡、方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559053A (zh) * | 2013-10-30 | 2014-02-05 | 迈普通信技术股份有限公司 | 一种板卡系统及通信接口卡fpga在线升级方法 |
CN103605542A (zh) * | 2013-11-18 | 2014-02-26 | 曙光信息产业(北京)有限公司 | Fpga配置文件的在线升级装置 |
CN103617056A (zh) * | 2013-11-25 | 2014-03-05 | 广东威创视讯科技股份有限公司 | Fpga逻辑代码的在线升级方法和装置 |
CN103744713A (zh) * | 2014-02-11 | 2014-04-23 | 哈尔滨工业大学 | 基于fpga的嵌入式双核系统的自主配置方法 |
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
-
2016
- 2016-11-25 CN CN201611061859.9A patent/CN106528244B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
CN103559053A (zh) * | 2013-10-30 | 2014-02-05 | 迈普通信技术股份有限公司 | 一种板卡系统及通信接口卡fpga在线升级方法 |
CN103605542A (zh) * | 2013-11-18 | 2014-02-26 | 曙光信息产业(北京)有限公司 | Fpga配置文件的在线升级装置 |
CN103617056A (zh) * | 2013-11-25 | 2014-03-05 | 广东威创视讯科技股份有限公司 | Fpga逻辑代码的在线升级方法和装置 |
CN103744713A (zh) * | 2014-02-11 | 2014-04-23 | 哈尔滨工业大学 | 基于fpga的嵌入式双核系统的自主配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106528244A (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528244B (zh) | Fpga配置文件自动加载系统及方法 | |
CN101963949B (zh) | 热插拔实现方法、热插拔系统及板卡 | |
CN211086970U (zh) | 一种多电源上下电控制电路 | |
CN112306752B (zh) | 一种自动掉电重启电路及相应的物联网网关 | |
CN102870162A (zh) | 验证一次可编程存储器的写使能的电路 | |
CN102272688B (zh) | 无主从配置的自动多器件事件同步和排序技术 | |
CN101860353B (zh) | 数模混合芯片中的时钟电路控制装置及方法 | |
CN209435105U (zh) | 一种软启动电路及电子设备 | |
CN106055440A (zh) | 一种通过bmc实现服务器异常断电的测试方法及系统 | |
CN110459260B (zh) | 自动测试切换装置、方法和系统 | |
CN206058183U (zh) | 微控制器 | |
CN109799898A (zh) | 一种芯片的电源控制装置、芯片及其电源控制方法 | |
CN109192177A (zh) | 一种控制电路、液晶显示驱动模组及液晶显示装置 | |
CN102467400A (zh) | 多端口网络接口卡的控制方法 | |
CN105528222B (zh) | 单片机烧写控制系统、单片机及单片机烧写控制方法 | |
CN207516929U (zh) | 开关机控制电路以及移动终端 | |
CN103890713B (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN208316365U (zh) | 一种掉电时间延长电路以及电源控制电路 | |
CN104049549B (zh) | 节电控制电路和电子设备 | |
CN101819460B (zh) | 计算机主机与显示器联动开关装置及其控制方法 | |
CN109842401B (zh) | 一种抗闩锁装置和cmos芯片 | |
CN207926553U (zh) | 一种多功能开关控制器 | |
CN110196678A (zh) | 资料储存决定装置 | |
CN110427089A (zh) | 适用于led显示屏芯片中的上电复位系统及方法 | |
CN115167255A (zh) | 一种自动休眠唤醒系统、方法和装置、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |