[发明专利]一种基于FPGA的远程固件升级方法在审

专利信息
申请号: 202111147381.2 申请日: 2021-09-29
公开(公告)号: CN113867771A 公开(公告)日: 2021-12-31
发明(设计)人: 周天;黄杰;杜伟东;陈宝伟;胡永翔 申请(专利权)人: 哈尔滨工程大学;上海声之扬科技有限公司
主分类号: G06F8/654 分类号: G06F8/654
代理公司: 成都方圆聿联专利代理事务所(普通合伙) 51241 代理人: 邓永红
地址: 150001 黑龙江*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 远程 升级 方法
【权利要求书】:

1.一种基于FPGA的远程固件升级方法,其特征在于,包括以下几个步骤:

步骤一:PC端上位机通过网口向设备内部FPGA芯片的Nios系统发送固件文件;

步骤二:Nios系统将接收到的固件临时存储到RAM中;

步骤三:Nios将RAM中的固件文件分段读出打包传输到Flash控制器;

步骤四:Flash控制器接收到打包的固件文件,并确认正确性,确认正确后再烧写到Flash芯片中。

2.根据权利要求1所述的一种基于FPGA的远程固件升级方法,其特征在于,步骤三具体步骤包括:

SIII1:发送Flash烧写状态机复位命令rest_str使FPGA烧写状态机就位;

SIII2:发送Flash芯片整片擦除命令erase_str,并等待接收Flash擦除完成命令;

SIII3:判断等待接收命令时间是否超时;若超时则执行步骤SIII1,若没超时则判断是否为Flash擦除完成命令;若为Flash擦除完成命令则执行下一步,若不是则执行步骤SIII1;

SIII4:根据接收到的总字节数A,及一帧要传输的字节数B,得到即将要传输的总数据帧数M=A/B;

SIII5:判断即将打包的数据帧编号i是否大于总数据帧M,i取值从1到M;若大于M,则执行步骤SIII8;否则,执行下一步;

SIII6:打包并发起第i帧数据传输;

SIII7:等待回复,收到正确回复,则i=i+1;错误回复,则i=i;或者超过1秒钟无回复,则i=i;执行步骤SIII5;

SIII8:发送烧写结束命令;

SIII9:等待回复,判断回复是否正确;若正确,则结束;否则,则执行步骤SIII8。

3.根据权利要求2所述的一种基于FPGA的远程固件升级方法,其特征在于,SIII6中打包的数据格式为:帧头+要传输的数据字节数+帧编号+待传输数据+校验和;

帧头为1个字节,为固定值0xFA;

要传输的数据字节数,为1个字节,值为N;

帧编号,为2个字节,值为i;

待传输数据,为N个字节,第i段固件文件数据;

校验和,为1个字节,值为前面所有字节求和后取256的余数。

4.根据权利要求1所述的一种基于FPGA的远程固件升级方法,其特征在于,步骤四的具体步骤包括:

SIV1:等待接收Flash芯片整片擦除命令;

SIV2:判断是否接收到Flash芯片整片擦除命令;若是则执行下一步,否则执行步骤SIV1;

SIV3:执行整片Flash芯片擦除命令;

SIV4:判断Flash芯片是否擦除完成;若完成,则执行下一步,否则执行SIV3;

SIV5:读取一个字节数据,并判断是否有复位信号产生;若没有复位信号产生,则执行下一步;否则执行步骤SIV1;

SIV6:判断是否为帧头head;若是,则执行下一步;否则执行步骤SIV15;

SIV7:紧接着读取一个字节做为当前即将传输数据帧总长度N,并判断是否有复位信号产生;若没有复位信号产生,则执行下一步;否则执行步骤SIV1;

SIV8:紧接着读取2个字节数据组成一个16位的无符号整数做为当前数据帧的片段在全部数据中的偏移量i,然后计算即将写入Flash存储器指定区域的首地址addr=N*I,并判断是否有复位信号产生;若没有复位信号产生,则执行下一步;否则执行步骤SIV1;

SIV9:紧接着读取N个字节写入到Flash控制器中,同时向Flash控制器输入存储的首地址addr,并判断是否有复位信号产生,并判断是否有复位信号产生;若没有复位信号产生,则执行下一步;否则执行步骤SIV1;

SIV10:紧接着读取1个字节为前面读取的所有字节的校验和,并和本地自己求的校验和比较,并判断是否有复位信号产生;若没有复位信号产生,则执行下一步;否则执行步骤SIV1;

SIV11:判断校验和是否一致;若一致则执行下一步;否则执行步骤SIV14;

SIV12:使能Flash控制器中的烧写使能信号,执行烧写程序;

SIV13:等待烧写完成,并回复right,表示正常接收到数据,可以接收下一帧数据;然后执行步骤SIV5;

SIV14:回复error,表示接收数据异常,请重新传输当前的数据帧;

SIV15:判断是否为烧写结束命令over;若是则执行下一步;否则执行步骤SIV5;

SIV16:回复收到烧写结束命令get_over;结束烧写过程。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学;上海声之扬科技有限公司,未经哈尔滨工程大学;上海声之扬科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111147381.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top