一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA的固件程序可靠在线升级系统和方法与流程

2022-10-10 03:51:09 来源:中国专利 TAG:

技术特征:
1.一种基于fpga的固件程序可靠在线升级系统,其特征在于,该系统包括软件架构和逻辑架构,软件架构包括固件更新应用程序和网口分发汇聚模块,逻辑架构包括网口mac模块、数据接收模块、格式解析模块、数据发送模块、格式封装模块、flash控制模块和配置接口ip模块;固件更新应用程序用于接收更新数据、分割数据包以及控制更新流程;固件更新应用程序连接到网口分发汇聚模块;网口分发汇聚模块包括分发和汇聚功能,汇聚功能用于接收上层应用程序的数据包,并通过下层硬件发往逻辑架构;分发功能用于从下层逻辑架构的硬件接收数据包,对数据包进行解析,根据解析结果的类别,对数据包进行分发;网口mac模块用于链路层网络数据包的接收与发送,数据包下行方向,即数据包从软件架构到逻辑架构,逻辑架构需要实现链路层数据包的帧同步、帧间隔检验和fcs校验;数据包上行方向,即数据包从逻辑架构到软件架构,逻辑架构需要实现链路层网络数据包的fcs计算、数据包帧头、帧尾的添加以及帧间隙的控制;数据接收模块连接网口mac模块,用于下行数据包的暂存,以及从网口时钟域到系统时钟域的跨时钟域数据传输;数据发送模块连接网口mac模块,用于上行数据包的暂存,以及从系统时钟域到网口时钟域的跨时钟域数据传输;格式解析模块连接数据接收模块,用于下行数据包的格式解析,关键信息提取,配置数据的缓存,并根据关键信息的类型向flash控制模块发起固件擦除、固件写入和固件读取等请求;格式封装模块连接数据发送模块,用于上行数据包的格式封装;flash控制模块连接格式解析模块和格式封装模块,用于通过配置接口ip控制flash芯片的擦除、写入和读取;当flash控制模块接收到格式解析模块的固件擦除请求时,会发起flash的擦除操作,待flash擦除完成后,产生擦除完成信号,并发往格式封装模块,最终上送到软件架构的固件更新应用程序;当flash控制模块接收到固件写入请求时,会发起flash的写操作,待flash写入数据完成后,会产生写入完成信号,并发往格式封装模块,最终上送到软件架构的固件更新应用程序;当flash控制模块接收到固件读取请求时,会发起flash的读操作,待flash读取完成后,会产生读取完成信号,和读取的数据一起发往格式封装模块,并最终上送到软件架构的固件更新应用程序;配置接口ip模块连接flash控制模块和fpga加载flash,用于内部逻辑与fpga加载flash的数据通讯。2.如权利要求1所述的基于fpga的固件程序可靠在线升级系统,其特征在于,软件架构还包括其他应用程序,其他应用程序根据功能定义进行设计,通过网口分发汇聚模块和逻辑架构进行通讯,包括寄存器配置、表项配置和审计报文。3.如权利要求1所述的基于fpga的固件程序可靠在线升级系统,其特征在于,固件更新应用程序的处理过程包括:s11、固件更新应用程序首先接收到完整的更新数据,校验数据完整性;s12、完整性验证通过后,将更新数据分割成若干1kb字节的数据包,后续会按照顺序发往逻辑架构;
s13、固件更新应用程序先发送固件擦除命令,待擦除完成后开始向逻辑架构发送数据;s14、固件更新应用程序每发完一个数据包后,会等待此数据包写入flash后的应答消息;s15、固件更新应用程序接收到数据包写入完成的应答消息后,开始发送下一包数据;s16、当固件更新应用程序发完一个数据包后,在规定时间内未接收到应答包,或者接收到的应答包携带更新异常的信息时,则固件更新应用程序认为数据包传输过程已出现异常,立即停止当前更新。4.如权利要求1所述的基于fpga的固件程序可靠在线升级系统,其特征在于,格式封装模块封装的格式括链路层头、类型、状态和载荷;其中,状态为0表示正常返回,否则为异常返回;仅当固件读取命令时,载荷填充有效数据,否则填充0。5.如权利要求4所述的基于fpga的固件程序可靠在线升级系统,其特征在于,如果格式解析模块解析到数据格式错误或者异常时,直接将此数据包丢弃,产生格式异常信号,并发往格式封装模块;最终上送到软件架构的固件更新应用程序。6.一种基于fpga的固件程序可靠在线升级方法,其特征在于,该方法包括如下步骤:第一步:软件架构固件更新应用程序接收更新数据,直至数据接收完成;第二步:软件架构固件更新应用程序对完整的固件更新数据包进行完整性校验,对于校验通过的数据包进行下一步操作,否则返回错误;第三步:软件架构固件更新应用程序对完整的固件将数据包分割成若干1kb字节的数据包,并进行报文封装;第四步:软件架构固件更新应用程序向逻辑架构发送固件擦除命令,待擦除完成后进行下一步操作;第五步:软件架构固件更新应用程序向逻辑架构发完一个数据包后,会等待此数据包写入flash后的应答消息;第六步:逻辑架构的网口mac模块,对下行方向数据包,进行帧同步、帧间隔检验,和fcs校验;校验通过流程进行到下一步;第七步:逻辑架构的格式解析模块,完成关键信息提取,并根据关键信息的类型向flash控制模块发起擦除、写入、读取请求;第八步:逻辑架构的flash控制模块,根据擦除、写入和读取请求类型,进行flash相应操作,操作完成后通过格式封装模块返回正常完成应答包;第九步:逻辑架构的格式封装模块,根据格式解析模块和flash控制模块的请求类型,完成应答包的封装,并通过数据发送模块输出到网口mac模块;第十步:逻辑架构的网口mac模块对上行方向数据包,进行处理后通过网口发送到软件架构;第十一步:软件架构的网口分发汇聚模块,对应答数据包进行解析,并根据应答类别分发到相应的应用程序;第十二步:软件架构的固件更新应用程序,如果超时未收到应答报文,或者接收到了携带异常信息的应答报文,则跳转到第四步重新开始固件升级;如果接收到正常应答报文,且数据包未完全下发完成,则跳转到第五步,否则跳转到下一步;
第十三步:固件程序在线升级完成。7.如权利要求6所述的基于fpga的固件程序可靠在线升级方法,其特征在于,软件架构还包括其他应用程序,其他应用程序根据功能定义进行设计,通过网口分发汇聚模块和逻辑架构进行通讯,包括寄存器配置、表项配置和审计报文。8.如权利要求6所述的基于fpga的固件程序可靠在线升级方法,其特征在于,所述第七步中,如果格式解析模块解析到数据格式错误或者异常时,直接将此数据包丢弃,产生格式异常信号,并发往格式封装模块;最终上送到软件架构的固件更新应用程序。9.如权利要求6所述的基于fpga的固件程序可靠在线升级方法,其特征在于,所述第九步中应答包的封装的格式包括:链路层头、类型、状态和载荷;其中,状态为0表示正常返回,否则为异常返回;仅当固件读取命令时,载荷填充有效数据,否则填充0。10.如权利要求6所述的基于fpga的固件程序可靠在线升级方法,其特征在于,所述第十步的数据包处理包括fcs计算、对数据包添加帧头、帧尾,以及帧间隙的控制操作。

技术总结
本发明涉及一种基于FPGA的固件程序可靠在线升级系统和方法,属于固件升级领域。本发明可保证固件升级数据可以完整、正确的升级到固件存储器FLASH中;软件架构首先需要对接收的升级数据包进行完整性校验;逻辑架构的MAC接口逻辑需要对接收到的数据包进行完整性校验;逻辑架构的格式解析模块对接收到的数据包进行格式正确性验证;软件架构固件升级程序对携带异常标志的应答报文的相应处理机制。本发明提供的基于FPGA的固件程序可靠在线升级方法。保证了在线升级方法的灵活性,可实现远端程序更新,配合界面操作简单,使用灵活,没有更新失败导致无法启动的风险。新失败导致无法启动的风险。新失败导致无法启动的风险。


技术研发人员:赵永杰 陈俊来 于洪涛 孙光来
受保护的技术使用者:北京左江科技股份有限公司
技术研发日:2022.08.17
技术公布日:2022/9/13
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献