CN112286590A - 一种基于rtc芯片的fpga重新加载固件系统及方法 - Google Patents
一种基于rtc芯片的fpga重新加载固件系统及方法 Download PDFInfo
- Publication number
- CN112286590A CN112286590A CN202011126667.8A CN202011126667A CN112286590A CN 112286590 A CN112286590 A CN 112286590A CN 202011126667 A CN202011126667 A CN 202011126667A CN 112286590 A CN112286590 A CN 112286590A
- Authority
- CN
- China
- Prior art keywords
- module
- pin
- fpga
- rtc
- firmware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 230000000903 blocking effect Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 10
- 239000003990 capacitor Substances 0.000 claims description 9
- 230000001934 delay Effects 0.000 claims description 6
- 230000000630 rising effect Effects 0.000 claims description 5
- 238000011068 loading method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于RTC芯片的FPGA固件重新加载方法。FPGA芯片在固件升级完成后需要重新上电或通过拉低芯片复位引脚来完成固件的重新加载,否则新固件不能运行。本发明提出了在FPGA升级完固件后,FPGA对RTC芯片配置,启动定时功能。RTC芯片在定时完成后,其中断输出引脚会输出低电平,低电平经过边沿提取电路完成下降沿的提取,在提取下降沿后输出低电平,再恢复至高电平,边沿提取电路输出脚控制FPGA的硬复位引脚拉低再拉高,实现固件的重新加载。
Description
技术领域
本发明涉及RTC芯片技术领域,具体涉及一种基于RTC芯片的FPGA重新加载固件系统及方法。
背景技术
FPGA芯片在固件烧录完成或者在升级完成后一般需要整个系统重新断电再上电,也有部分利用arm或其他mcu芯片通过控制FPGA的复位引脚来完成FPGA芯片固件的重新加载。
如专利申请文献CN109117205A公开了一种基于MCU和FPGA的双芯片加载方法,所述方法用于对具有第一芯片、第二芯片和单个固件程序存储装置的系统进行双芯片加载,所述第一芯片和所述第二芯片之间具有时钟和数据通信连接,所述第一芯片和第二芯片与所述固件程序存储装置通信连接。本发明的加载方法使得读出的数据可以分别进入MCU和FPGA,只要在配置FPGA的时候保证了其配置时序即可配置成功。这种加载方案减少了启动配置的时间降低了对于内存大小的依赖,其利用了MCU芯片来完成加载;再如,专利申请文献CN107656776A公开了一种FPGA加速卡的固件更新方法、装置及介质,该方法的步骤包括:以执行脚本的方式读取配置列表以获取待更新的FPGA加速卡所在的设备地址;获取FPGA加速卡的更新固件,并通过设备地址查找到FPGA加速卡,以将更新固件烧录至FPGA加速卡中;加载更新固件以更新FPGA加速卡。相比于人工的方式对FPGA加速卡逐一烧录更新固件;专利申请文献CN107515799A公开了一种平板探测器的固件加载方法,所述方法包括:将flash划分为存储出厂时固件数据的原厂区、存储升级时写入的固件数据的升级区、及存储原厂区和升级区的起始地址信息的基本信息区;平板探测器上电后,FPGA自动从基本信息区读取原厂区和升级区的起始地址信息,并保存在内部寄存器中,同时跳转至升级区的起始地址,读取升级区固件数据并进行校验,如果所有数据检验通过,则完成加载,FPGA正常启动;如果数据校验失败,则跳转至原厂区的起始地址,读取原厂区固件数据以完成加载;上述专利申请文献的固件方法成本高,实现过程复杂。
发明内容
为了解决上述技术问题,本发明提出了一种基于RTC芯片的FPGA固件重新加载方法及系统。为只有FPGA的系统实现在线升级后重新加载固件提出了一种新方法,相对于利用arm或其他cpu控制的在线重新加载fpga固件方法成本更低、实现更简单。
具体地,一方面,本发明提供了一种基于RTC芯片的FPGA重新加载固件方法,包括如下步骤:
S1:FPGA在在线更新完固件到存储器后,对RTC芯片寄存器进行配置,开启RTC模块定时功能,
S2:RTC芯片在定时时间结束后,使其中断输出引脚由高电平转为低电平,即RTC芯片当计数结束之后,其输出管脚会自动由高电平变成低电平;
S3:隔直模块检测到RTC模块中断输出引脚由高电平转为低电平后,低电平经过隔直模块完成下降沿的提取,隔直模块在提取下降沿后输出低电平,再恢复至高电平;
S4:复位模块检测到隔直模块的下降沿信号后,输出低电压信号至FPGA模块的复位引脚,使FPGA模块处于复位状态;当复位模块检测到隔直模块输出信号的上升沿信号,复位模块延时设定时间后将其输出设置为高电平;FPGA模块的复位引脚设置为高电平后重新加载存储器里更新过的固件;
S5:FPGA模块在更新固件重新启动后清除RTC模块的中断状态并关闭RTC模块的计时功能。
优选地,步骤S1中通过I2C接口对RTC芯片寄存器进行配置。
优选地,步骤S2中RTC芯片在倒计时5秒结束后,使其中断输出引脚IQR2由高电平转为低电平。
优选地,所述隔直模块包括边沿提取电路,所述边沿提取电路用于提取下降沿,边沿提取电路也可以提取上升沿,但是复位芯片的MR管脚只对下降沿有效。
优选地,步骤S4中复位模块延时延时20ms后将其输出设置为高电平。
另一方面,本发明提供了一种基于RTC芯片的FPGA重新加载固件系统,包括FPGA模块、RTC模块、隔直模块和复位模块;所述FPGA模块用于编程逻辑器件模块;RTC模块包括时钟模块,所述时钟模块用于定时;隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿;复位模块用于复位FPGA模块,使其重新加载固件。
优选地,隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿。
优选地,所述RTC模块包括RTC芯片,RTC芯片包括引脚vdd、引脚IQR2、引脚SCL、引脚SDA、引脚GND;所述复位模块包括引脚VDD、引脚MR、引脚GND和引脚RESET;所述边沿提取电路包括电容,电容的第一端口与所述引脚IQR2连接,电容的第二端口与所述引脚MR连接,所述FPGA模块包括引脚IO1、引脚IO2和引脚PS_POR_B;所述引脚SCL与所述引脚IO1连接,所述引脚SDA与所述引脚IO2连接,所述引脚RESET与所述引脚PS_POR_B连接。
优选地,所述RTC芯片的引脚vdd、引脚IQR2、引脚SCL和引脚SDA均与电源端连接,所述FPGA模块的引脚IO1和引脚IO2均与电源端连接。
优选地,所述RTC芯片和复位模块的引脚GND均接地。
与现有技术相比,本发明所产生的有益效果是:
本发明提出了一种基于RTC芯片的FPGA固件重新加载方法。为只有FPGA的系统实现在线升级后重新加载固件提出了一种新方法。单FPGA系统更新完固件后,需要对系统重新上电完成新固件的加载。此方法省去了对单FPGA系统更新完固件后重新上电的步骤,并且相对于利用arm或其他cpu控制的在线重新加载fpga固件方法功耗小、成本低、实现更简单。
附图说明
图1为本发明提供的基于RTC芯片的FPGA重新加载固件系统构图;
图2为本发明提供的基于RTC芯片的FPGA重新加载固件系统实现原理图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
如图1-2所示,本发明提供了一种基于RTC芯片的FPGA固件重新加载方法,RTC芯片是一种计时芯片,具有倒计时功能。FPGA芯片在固件升级完成后需要重新上电或通过拉低芯片复位引脚来完成固件的重新加载,否则新固件不能运行。本发明提出了在FPGA升级完固件后,FPGA对RTC芯片配置,启动定时功能。RTC芯片在定时完成后,其中断输出引脚会输出低电平。低电平经过边沿提取电路完成下降沿的提取,边沿提取电路在提取下降沿后输出维持20ms的低电平,再恢复至高电平。边沿提取电路输出脚控制FPGA的硬复位引脚拉低再拉高,实现固件的重新加载。
具体地,一方面,本发明提供了本发明提供了一种基于RTC芯片的FPGA重新加载固件方法,包括如下步骤:
S1:FPGA在在线更新完固件到存储器后,通过I2C接口对RTC芯片寄存器进行配置,开启RTC模块定时功能,
S2:RTC芯片在定时时间结束后,即在在倒计时5秒结束后,使其中断输出引脚IQR2由高电平转为低电平,即RTC芯片当计数结束之后,其输出管脚会自动由高电平变成低电平;
S3:隔直模块检测到RTC模块中断输出引脚IQR2由高电平转为低电平后,低电平经过隔直模块完成下降沿的提取,隔直模块在提取下降沿后输出低电平,再恢复至高电平;
S4:复位模块检测到隔直模块的下降沿信号后,输出低电压信号至FPGA模块的复位引脚,使FPGA模块处于复位状态;当复位模块检测到隔直模块输出信号的上升沿信号,复位模块延时设定时间后将其输出设置为高电平;FPGA模块的复位引脚设置为高电平后重新加载存储器里更新过的固件;
S5:FPGA模块在更新固件重新启动后清除RTC模块的中断状态并关闭RTC模块的计时功能。
如图1所示,另一方面,本发明提供了一种基于RTC芯片的FPGA重新加载固件系统,包括FPGA模块、RTC模块、隔直模块和复位模块;所述FPGA模块用于编程逻辑器件模块;RTC模块包括时钟模块,所述时钟模块用于定时;隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿;复位模块用于复位FPGA模块,使其重新加载固件。
具体地,隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿。
如图2所示,其中本发明提供的所述RTC模块包括RTC芯片,RTC芯片包括引脚vdd、引脚IQR2、引脚SCL、引脚SDA、引脚GND;所述复位模块包括引脚VDD、引脚MR、引脚GND和引脚RESET;所述边沿提取电路包括电容,电容的第一端口与所述引脚IQR2连接,电容的第二端口与所述引脚MR连接,所述FPGA模块包括引脚IO1、引脚IO2和引脚PS_POR_B;所述引脚SCL与所述引脚IO1连接,所述引脚SDA与所述引脚IO2连接,所述引脚RESET与所述引脚PS_POR_B连接。所述RTC芯片的引脚vdd、引脚IQR2、引脚SCL和引脚SDA均与电源端连接,所述FPGA模块的引脚IO1和引脚IO2均与电源端连接。所述RTC芯片和复位模块的引脚GND均接地。
其中,本发明提供的基于RTC芯片的FPGA重新加载固件系统的工作过程为:
1、FPGA在在线更新完固件到存储器后,通过I2C接口对RTC芯片寄存器进行配置,开启RTC模块定时功能,例:可设置5秒定时。
2、RTC芯片在倒计时5秒结束后会使其中断输出口IQR2由高电平转为低电平
3、隔直模块检测到RTC模块中断脚IQR2由高变低后,2脚会输出一个由高到低,然后再由低到高的脉冲信号。
4、复位模块检测到隔直模块的下降沿信号后,会输出低电压信号至FPGA复位引脚PS_POR_B,使FPGA处于复位状态。当复位模块检测到隔直模块输出信号的上升沿,复位模块会延时20ms后将其输出置为高电平。
5、FPGA复位引脚PS_POR_B置高后会重新加载存储器里更新过的固件。
6、FPGA在更新固件重新启动后清除RTC模块的中断状态并关闭RTC模块计时功能。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于RTC芯片的FPGA重新加载固件方法,其特征在于,包括如下步骤:
S1:FPGA在在线更新完固件到存储器后,对RTC芯片寄存器进行配置,开启RTC模块定时功能,
S2:RTC芯片在定时时间结束后,使其中断输出引脚由高电平转为低电平;
S3:隔直模块检测到RTC模块中断输出引脚由高电平转为低电平后,低电平经过隔直模块完成下降沿的提取,隔直模块在提取下降沿后输出低电平,再恢复至高电平;
S4:复位模块检测到隔直模块的下降沿信号后,输出低电压信号至FPGA模块的复位引脚,使FPGA模块处于复位状态;当复位模块检测到隔直模块输出信号的上升沿信号,复位模块延时设定时间后将其输出设置为高电平;FPGA模块的复位引脚设置为高电平后重新加载存储器里更新过的固件;
S5:FPGA模块在更新固件重新启动后清除RTC模块的中断状态并关闭RTC模块的RTC芯片的计时功能。
2.如权利要求1所述的基于RTC芯片的FPGA重新加载固件方法,其特征在于,步骤S1中通过I2C接口对RTC芯片寄存器进行配置。
3.如权利要求1所述的基于RTC芯片的FPGA重新加载固件方法,其特征在于,步骤S2中RTC芯片在倒计时5秒结束后,使其中断输出引脚IQR2由高电平转为低电平。
4.如权利要求1所述的基于RTC芯片的FPGA重新加载固件方法,其特征在于,所述隔直模块包括边沿提取电路,所述边沿提取电路用于提取下降沿。
5.如权利要求1所述的基于RTC芯片的FPGA重新加载固件方法,其特征在于,步骤S4中复位模块延时20ms后将其输出设置为高电平。
6.一种基于RTC芯片的FPGA重新加载固件系统,其特征在于,包括FPGA模块、RTC模块、隔直模块和复位模块;所述FPGA模块与RTC模块和复位模块连接,所述隔直模块与所述RTC模块和复位模块连接;所述FPGA模块用于编程逻辑器件模块;RTC模块包括时钟模块,所述时钟模块用于定时;隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿;复位模块用于复位FPGA模块,使其重新加载固件。
7.如权利要求6所述的基于RTC芯片的FPGA重新加载固件系统,其特征在于,隔直模块包括边沿提取电路,边沿提取电路用于提取RTC模块中断输出的下降沿。
8.如权利要求7所述的基于RTC芯片的FPGA重新加载固件系统,其特征在于,所述RTC模块包括RTC芯片,RTC芯片包括引脚vdd、引脚IQR2、引脚SCL、引脚SDA、引脚GND;所述复位模块包括引脚VDD、引脚MR、引脚GND和引脚RESET;所述边沿提取电路包括电容,电容的第一端口与所述引脚IQR2连接,电容的第二端口与所述引脚MR连接,所述FPGA模块包括引脚IO1、引脚IO2和引脚PS_POR_B;所述引脚SCL与所述引脚IO1连接,所述引脚SDA与所述引脚IO2连接,所述引脚RESET与所述引脚PS_POR_B连接。
9.如权利要求8所述的基于RTC芯片的FPGA重新加载固件系统,其特征在于,所述RTC芯片的引脚vdd、引脚IQR2、引脚SCL和引脚SDA均与电源端连接,所述FPGA模块的引脚IO1和引脚IO2均与电源端连接。
10.如权利要求8所述的基于RTC芯片的FPGA重新加载固件系统,其特征在于,所述RTC芯片和复位模块的引脚GND均接地。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011126667.8A CN112286590A (zh) | 2020-10-20 | 2020-10-20 | 一种基于rtc芯片的fpga重新加载固件系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011126667.8A CN112286590A (zh) | 2020-10-20 | 2020-10-20 | 一种基于rtc芯片的fpga重新加载固件系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112286590A true CN112286590A (zh) | 2021-01-29 |
Family
ID=74424347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011126667.8A Pending CN112286590A (zh) | 2020-10-20 | 2020-10-20 | 一种基于rtc芯片的fpga重新加载固件系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286590A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996051A (zh) * | 2021-03-02 | 2022-09-02 | 中科亿海微电子科技(苏州)有限公司 | 一种fpga程序在线更新失败可恢复电路及方法 |
CN115098176A (zh) * | 2022-07-25 | 2022-09-23 | 珠海普林芯驰科技有限公司 | 一种芯片启动引导和程序升级的方法及芯片架构 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214124A (zh) * | 2011-06-08 | 2011-10-12 | 深圳市理邦精密仪器股份有限公司 | 一种看门狗复位控制系统 |
US20130106502A1 (en) * | 2011-10-31 | 2013-05-02 | Nathan J. Dohm | Method and system for waking on inuput/output interrupts while powered down |
CN103513993A (zh) * | 2012-06-15 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
CN105930284A (zh) * | 2016-04-14 | 2016-09-07 | 青岛海信电器股份有限公司 | 一种fpga加载的方法和设备 |
CN110825574A (zh) * | 2019-11-09 | 2020-02-21 | 苏州浪潮智能科技有限公司 | 一种服务器的ac重启测试方法、设备以及存储介质 |
-
2020
- 2020-10-20 CN CN202011126667.8A patent/CN112286590A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214124A (zh) * | 2011-06-08 | 2011-10-12 | 深圳市理邦精密仪器股份有限公司 | 一种看门狗复位控制系统 |
US20130106502A1 (en) * | 2011-10-31 | 2013-05-02 | Nathan J. Dohm | Method and system for waking on inuput/output interrupts while powered down |
CN103513993A (zh) * | 2012-06-15 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
CN105930284A (zh) * | 2016-04-14 | 2016-09-07 | 青岛海信电器股份有限公司 | 一种fpga加载的方法和设备 |
CN110825574A (zh) * | 2019-11-09 | 2020-02-21 | 苏州浪潮智能科技有限公司 | 一种服务器的ac重启测试方法、设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996051A (zh) * | 2021-03-02 | 2022-09-02 | 中科亿海微电子科技(苏州)有限公司 | 一种fpga程序在线更新失败可恢复电路及方法 |
CN115098176A (zh) * | 2022-07-25 | 2022-09-23 | 珠海普林芯驰科技有限公司 | 一种芯片启动引导和程序升级的方法及芯片架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293832B (zh) | 一种soc芯片引导启动方法及系统 | |
US9245634B2 (en) | Initialization of flash storage via an embedded controller | |
CN112286590A (zh) | 一种基于rtc芯片的fpga重新加载固件系统及方法 | |
US8151130B2 (en) | Plural voltage level detection upon power drop for switching to standby mode with or without complete state saving interrupt processing | |
US10726763B2 (en) | Method for updating MURA compensation data of display panels | |
CN101373451B (zh) | 保护双基本输出入系统程序的计算机系统及其控制方法 | |
EP1785855A2 (en) | Method of booting a microprocessor system, method of updating contents of a serial flash memory array, microprocessor system, flash memory device and booting system | |
CN101494930B (zh) | 一种智能终端升级方法和智能终端 | |
WO2012079301A1 (zh) | 移动终端的触摸屏固件升级方法及装置 | |
CN104200843A (zh) | 闪存烧入器、烧入系统及烧入方法 | |
CN111142911B (zh) | 具有异常恢复功能的嵌入式系统及其升级方法 | |
CN103309693A (zh) | 复杂可编程逻辑器件更新方法及系统 | |
CN102609275A (zh) | Bios更新系统及其方法 | |
US20050055531A1 (en) | Non-volatile memory control device capable of recovering data even when data writing is interrupted | |
CN101169727A (zh) | 一种cpu系统的启动方法及系统 | |
CN112631625B (zh) | 嵌入式设备的系统升级方法、装置及嵌入式设备 | |
KR20060122064A (ko) | 전자장치 및 그 부팅방법 | |
CN106020869B (zh) | 基于can总线的选择性烧录多个单片机节点程序的方法 | |
CN111782246A (zh) | 基于总线的多节点设备嵌入式程序升级方法 | |
CN101639877B (zh) | 电子装置及其更新基本输入输出系统方法 | |
US20050010914A1 (en) | Method for upgrading firmware | |
US6925522B2 (en) | Device and method capable of changing codes of micro-controller | |
CN208722090U (zh) | 带有内存参数精确配置功能的嵌入式终端 | |
CN117093247A (zh) | 嵌入式设备的固件升级方法、装置、芯片和计算设备 | |
CN103106161A (zh) | 一种基于io访问方式的显卡bios更新方法 |
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 |