一种基于ARM的FPGA启动及在线升级方法技术

技术编号:24330156 阅读:79 留言:0更新日期:2020-05-29 19:20
一种基于ARM的FPGA启动及在线升级方法,属于FPGA现场可编程门阵列应用技术领域,其特征在于,在系统上电时,根据FPGA模块从串起动配置模式,ARM控制模块通过FLASH存储模块不断的读取FPGA配置数据,通过配置管脚将数据发送给FPGA模块,实现FPGA的启动配置。在FPGA启动正常工作后,ARM控制模块接收上位机在线升级软件发送的FPGA升级程序,通过FLASH存储模块写入存储器中,实现FPGA的在线升级。该方法实现带有FPGA系统的产品启动及在线升级,本发明专利技术所述方法实现简单,方便,且大大提高了产品维护升级效率,降低了产品维护成本。

【技术实现步骤摘要】
一种基于ARM的FPGA启动及在线升级方法
本专利技术属于FPGA现场可编程门阵列应用
,尤其涉及一种基于ARM的FPGA启动及在线升级方法。
技术介绍
FPGA即现场可编程门阵列,是在PAL、GAL等可编程器件的基础上进一步发现的产物,它是一种新型可编程逻辑器件,硬件电路的功能实现可以通过用户进行编程和配置,在电路功能升级重配置时,仅需要修改升级FPGA程序,达到产品功能更改及升级的方法。而不需要对硬件电路重新进行设计,提高了开发效率、减少了设计周期和研发成本。但是目前较多带有FPGA系统的产品无法通过产品的维护端口实现启动及在线升级,影响了FPGA使用的效率。FPGA在正常工作时,它的配置数据存储在配置芯片SRAM中,加电时须由配置芯片将FPGA配置数据加载到FPGA,多数情况下由FPGA主动引导加载过程。FPGA配置数据的加载模式有5种:主串模式、从串模式、主并模式、从并模式和JTAG模式。FPGA从串模式下配置管脚包括:用于输入配置时钟控制信号的CCLK、用于输入配置逻辑异步复位信号的PROG_B、用于输出FPGA初始化信号的INIT_B、用于输出FPGA配置状态信号的DONE、用于输入FPGA配置数据信号的DIN、用于输入FPGA配置模式选择信号的M[0..2]。
技术实现思路
本专利技术旨在针对带有FPGA系统但无法通过产品的维护端口实现启动及在线升级的产品,提供一种基于ARM的FPGA启动及在线升级方法。本专利技术所述基于ARM的FPGA启动方法,包括上位机、ARM控制模块、FLASH存储模块、电源模块和FPGA模块;所述ARM控制模块是整个系统的核心模块,它读取FLASH存储模块中的数据,通过FPGA配置管脚发送给FPGA模块,实现FPGA启动。所述FLASH存储模块主要完成FPGA程序的写入与读取;所述电源模块为一路电路转换电路,主要完成将输入电压转换为ARM、FLASH和FPGA模块所需要的DC3.3V、DC1.5V电源;所述FPGA模块主要完成接收ARM控制模块的启动数据,实现FPGA的启动过程。所述FPGA包括管脚CCLK、PROG_B、DIN、DONE和INIT_B;包括如下步骤:系统上电后,ARM控制模块将PROG_B输出为低电平,复位FPGA内部逻辑并重新配置内存清除状态;复位FPGA后,将PROG_B输出为高电平;FPGA开始清除配置内存,将INIT_B输出为低电平,ARM控制模块将PROG_B高电平保持300us后,FPGA将INIT_B输出为高电平,并采样配置模式;当ARM控制模块采样到INIT_B为高电平后,开始向FPGA模块发送配置时钟CCLK和数据DIN;在CCLK的上升沿,传输数据到DIN,配置过程如发生错误,则FPGA输出INIT_B为低电平;所有数据传输完成并经CRC校验无误后,FPGA输出DONE信号为高电平;当ARM控制模块采样到DONE为高电平后,结束FPGA启动。本专利技术所述基于ARM的FPGA在线升级方法,包括上位机、ARM控制模块、FLASH存储模块、电源模块和FPGA模块;在FPGA模块启动正常工作后,ARM控制模块接收上位机发送的FPGA升级程序,通过FLASH存储模块写入存储器中,实现FPGA的在线升级。所述上位机实现将开发软件编译好的FPGA升级程序发送给ARM控制模块;所述ARM控制模块是整个系统的核心模块,它读取FLASH存储模块中的数据,通过FPGA配置管脚发送给FPGA模块,同时接收上位机FPGA升级程序数据,写入到FLASH存储模块中;所述FLASH存储模块主要完成FPGA程序的写入与读取;所述电源模块为一路电路转换电路,主要完成将输入电压转换为ARM、FLASH和FPGA模块所需要的DC3.3V、DC1.5V电源。进一步,本专利技术所述基于ARM的FPGA在线升级方法,包括如下步骤:系统上电后,ARM控制模块配置FPGA启动过程完成后,进入FPGA在线升级程序,循环等待上位机发送的FPGA在线升级指令;上位机运行后,加载FPGA升级程序,并向ARM控制模块发送FPGA升级通讯指令;ARM控制模块在收到FPGA升级通讯指令后,清除FLASH存储器所有存储数据,并回复升级准备完成数据指令;然后,通过上位机发送开始更新指令,并向ARM控制模块逐个发送每一帧通讯数据;ARM控制模块在收到每一帧通讯数据并进行CRC校验后,回复对应帧数据接收正确的指令,并将通讯数据按顺序写入FLASH存储器中;当CRC校验错误时,回复对应帧数据接收错误指令,上位机重新发送对应帧通讯数据;当ARM控制模块在接收完成最后一帧数据后,回复所有数据接收正确指令,上位机停止数据发送,实现的FPGA在线升级。本专利技术所述基于ARM的FPGA启动及在线升级方法,在FPGA模块启动正常工作后,ARM控制模块接收上位机发送的FPGA升级程序,通过FLASH存储模块写入存储器中,实现FPGA的在线升级,该方法实现带有FPGA系统的产品启动及在线升级,本专利技术所述方法实现简单,方便,且大大提高了产品维护升级效率,降低了产品维护成本。附图说明图1为本专利技术实施例所述基于ARM的FPGA启动及在线升级系统结构示意框图;图2为本专利技术实施例所述ARM控制模块电路原理图;图3为本专利技术实施例所述FLASH存储模块电路原理图;图4为本专利技术实施例所述FPGA模块部分电路原理图;图5为本专利技术实施例所述ARM控制模块配置FPGA启动流程图;图6为本专利技术实施例所述ARM控制模块实现FPGA在线升级流程图;图7为本专利技术实施例所述ARM控制模块内置嵌入式程序工作流程图。具体实施方式下面通过附图及实施例对本专利技术所述基于ARM的FPGA启动及在线升级方法进行详细说明。本实施例所述基于ARM的FPGA启动及在线升级系统,如图1所示,主要包括上位机在线升级软件、ARM控制模块、FLASH存储模块、电源模块和FPGA模块。所述上位机通过内置软件实现FPGA程序的在线升级功能,可实现将XilinxISE开发软件编译好的FPGA升级程序(.BIN)通过在线升级接口分块发送给ARM控制模块。所述ARM控制模块是整个系统的核心模块,其原理如图2所示,它读取FLASH存储模块中的数据,通过FPGA配置管脚发送给FPGA模块,实现FPGA启动,同时接收上位机FPGA升级程序数据,写入到FLASH存储模块中。ARM控制模块内置有嵌入式程序,如图7所示系统上电后,ARM控制模块开始启动,首先完成时钟、PLL、外围接口模块等的初始化;然后,按顺序读取FLASH数据,并通过FPGA配置引脚将数据发送到FPGA,完成FPGA启动过程,FPGA启动完成后,软件处于持续等待中,等待从在线升级接口接收上位机在线升级指令及数据,校验正确后,将数据按顺序写入FLASH,完成FPGA的在线升级。ARM控制模块使用ARM架构的32位MCU微处理器。如图本文档来自技高网...

【技术保护点】
1.一种基于ARM的FPGA启动方法,包括上位机、ARM控制模块、FLASH存储模块、电源模块和FPGA模块;所述FPGA包括管脚CCLK、PROG_B、DIN、DONE和INIT_B;其特征在于包括如下步骤:系统上电后,ARM控制模块将PROG_B输出为低电平,复位FPGA内部逻辑并重新配置内存清除状态;/n复位FPGA后,将PROG_B输出为高电平;/nFPGA开始清除配置内存,将INIT_B输出为低电平,ARM控制模块将PROG_B高电平保持300us后,FPGA将INIT_B输出为高电平,并采样配置模式;/n当ARM控制模块采样到INIT_B为高电平后,开始向FPGA模块发送配置时钟CCLK和数据DIN;/n在CCLK的上升沿,传输数据到DIN,配置过程如发生错误,则FPGA输出INIT_B为低电平;所有数据传输完成并经CRC校验无误后,FPGA输出DONE信号为高电平;/n当ARM控制模块采样到DONE为高电平后,结束FPGA启动。/n

【技术特征摘要】
1.一种基于ARM的FPGA启动方法,包括上位机、ARM控制模块、FLASH存储模块、电源模块和FPGA模块;所述FPGA包括管脚CCLK、PROG_B、DIN、DONE和INIT_B;其特征在于包括如下步骤:系统上电后,ARM控制模块将PROG_B输出为低电平,复位FPGA内部逻辑并重新配置内存清除状态;
复位FPGA后,将PROG_B输出为高电平;
FPGA开始清除配置内存,将INIT_B输出为低电平,ARM控制模块将PROG_B高电平保持300us后,FPGA将INIT_B输出为高电平,并采样配置模式;
当ARM控制模块采样到INIT_B为高电平后,开始向FPGA模块发送配置时钟CCLK和数据DIN;
在CCLK的上升沿,传输数据到DIN,配置过程如发生错误,则FPGA输出INIT_B为低电平;所有数据传输完成并经CRC校验无误后,FPGA输出DONE信号为高电平;
当ARM控制模块采样到DONE为高电平后,结束FPGA启动。


2.一种基于ARM的FPGA在线升级方法,包括上位机、ARM控制模块、FLASH存储模块、电源模块和FP...

【专利技术属性】
技术研发人员:王卫斌许彤通唐小强
申请(专利权)人:西安旭彤电子科技股份有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1