一种基于ARM的FPGA启动及在线升级方法与流程

文档序号:20915714发布日期:2020-05-29 13:29阅读:来源:国知局

技术特征:

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存储模块、电源模块和fpga模块;其特征在于:在fpga模块启动正常工作后,arm控制模块接收上位机发送的fpga升级程序,通过flash存储模块写入存储器中,实现fpga的在线升级。

3.根据权利要求2所述基于arm的fpga在线升级方法,其特征在于包括如下步骤:系统上电后,arm控制模块配置fpga启动过程完成后,进入fpga在线升级程序,循环等待上位机发送的fpga在线升级指令;

上位机运行后,加载fpga升级程序,并向arm控制模块发送fpga升级通讯指令;

arm控制模块在收到fpga升级通讯指令后,清除flash存储器所有存储数据,并回复升级准备完成数据指令;

然后,通过上位机发送开始更新指令,并向arm控制模块逐个发送每一帧通讯数据;arm控制模块在收到每一帧通讯数据并进行crc校验后,回复对应帧数据接收正确的指令,并将通讯数据按顺序写入flash存储器中;

当crc校验错误时,回复对应帧数据接收错误指令,上位机重新发送对应帧通讯数据;

当arm控制模块在接收完成最后一帧数据后,回复所有数据接收正确指令,上位机停止数据发送,实现的fpga在线升级。


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

技术研发人员:王卫斌;许彤通;唐小强
受保护的技术使用者:西安旭彤电子科技股份有限公司
技术研发日:2019.12.24
技术公布日:2020.05.29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1