[发明专利]一种基于FPGA的程序更新方法及系统在审
申请号: | 201911147787.3 | 申请日: | 2019-11-21 |
公开(公告)号: | CN110908693A | 公开(公告)日: | 2020-03-24 |
发明(设计)人: | 唐骏;高志强;顾鑫;张茹玥;沙怡中;钱佳;宋杨 | 申请(专利权)人: | 江苏北方湖光光电有限公司 |
主分类号: | G06F8/654 | 分类号: | G06F8/654;G06F8/61;G06F13/42 |
代理公司: | 无锡派尔特知识产权代理事务所(普通合伙) 32340 | 代理人: | 杨立秋 |
地址: | 214000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 程序 更新 方法 系统 | ||
1.一种基于FPGA的程序更新方法,其特征在于,包括以下步骤:
首先,将sof文件和elf文件通过脚本sh文件合成hex文件;
然后,上位机读取hex文件,并通过串行线缆发送到FPGA,并控制FPGA将hex文件内数据按照地址信息写入Flash内,实现程序更新和固化。
2.根据权利要求1所述的基于FPGA的程序更新方法,其特征在于,具体包括以下步骤:
S1、Quartus编译产生的sof文件和NIOS II编译生成的elf文件通过脚本sh文件合成hex文件,hex文件包括物理程序存储区内的地址信息和数据信息;
S2、将串行线缆连接上位机和下位机,上位机为PC电脑,下位机为FPGA和EPCS Flash;
S3、打开上位机,选择相应的串口号,并进行串口初始化设置;
S4、上位机读取hex文件,分析获得连续有效的数据和该文件的信息总量;
S5、将上位机和下位机进行初步串行握手通信测试,测试成功后进入系统在线升级状态,然后发送该hex文件总的数据量大小;
S6、接着顺序发送有效数据,发送数据按照相关通信协议,并结合数据校验、数据组别、反馈握手的措施保障数据信息串行通信的可靠性;
S7、数据发送完成后,发送程序固化命令,并对烧入EPCS Flash内数据和原始数据进行分析比较,完全一致后,反馈固化成功的信息,完成程序烧写固化。
3.根据权利要求1所述的基于FPGA的程序更新方法,其特征在于,步骤S4中上位机读取hex文件生成只包含数据的txt文件,并显示该文件的信息量。
4.根据权利要求1所述的基于FPGA的程序更新方法,其特征在于,步骤S6中反馈握手具体包括以下步骤:
S61、上位机通过定时器触发数据发送;
S62、发送后开始计时,在规定时间内,判断是否接受到反馈,若是,则进入步骤S63,若否,则报错,表示下位机无反馈信息,上位机重新发送该数据帧;
S63、对反馈数据进行校验和对比分析,判断是否一致,若是,则发送给上位机;若否,则报错,表示下位机反馈信息存在误差,上位机重新发送该数据帧。
5.一种基于FPGA的程序更新系统,其特征在于,包括上位机和下位机,上位机为PC电脑,下位机为FPGA和EPCS Flash,上位机和下位机通过串行线缆连接。
6.根据权利要求5所述的基于FPGA的程序更新系统,其特征在于,上位机包括串口号选择模块、打开/关闭串口模块、系统测试模块、读取文件模块、发送数据模块和烧写数据模块,串口号选择模块用于选择串口号;打开和关闭串口设有反馈标记信息,用于显示打开和关闭的结果;系统测试模块用于实现通信连接;读取文件模块用于读取hex文件并生成只包含数据的txt文件,并显示该文件的信息量;发送数据模块首先发送hex文件数据量大小,然后顺序发送txt文件内的数据,发送数据按照相关通信协议,并结合数据校验、数据组别、反馈握手的措施保障数据信息串行通信的可靠性;烧写数据模块用于在数据发送完毕后发送数据固化烧写命令。
7.根据权利要求5所述的基于FPGA的程序更新系统,其特征在于,下位机包括用于完成串行指令和串行数据帧的接收模块、校验模块、反馈模块、存储和固件烧录模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏北方湖光光电有限公司,未经江苏北方湖光光电有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911147787.3/1.html,转载请声明来源钻瓜专利网。