[发明专利]一种FPGA远程升级方法有效
申请号: | 201610975861.0 | 申请日: | 2016-11-07 |
公开(公告)号: | CN106547596B | 公开(公告)日: | 2019-07-26 |
发明(设计)人: | 全浩军;所玉君;崔建飞 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘东升 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种FPGA远程升级方法,首先对FPGA配置芯片进行分区,记录分区地址,然后确定升级等待和数据接收超时参数,之后根据分区起始地址和超时参数生成远程升级模块配置数据;在正常功能模块配置数据生成后,将两模块配置数据进行整合并烧写配置芯片;FPGA上电后首先被配置为分区一远程升级模块功能,在该模块工作时,如果分区二有效且在指定时间内没有接收到远程升级指令,或远程升级成功,FPGA都将重构为分区二正常功能模块。本方法采用分区方式实现FPGA的远程升级,与无分区的FPGA主、被动升级方式相比,避免了硬件成本的增加,即使升级过程中断电或通讯中断,仍然可以再次启动,保证了远程升级功能的稳定可靠。 | ||
搜索关键词: | 一种 可靠性 fpga 远程 升级 方法 | ||
【主权项】:
1.一种FPGA远程升级方法,其特征在于,包括以下步骤:步骤1:对FPGA配置芯片进行分区,记录分区起始地址;步骤2:确定升级等待超时参数和数据接收超时参数;步骤3:根据步骤1记录的分区起始地址、步骤2确定的升级等待和数据接收超时参数生成远程升级模块配置数据;步骤4:生成正常功能模块配置数据;步骤5:配置数据整合烧写;步骤6:FPGA被配置为远程升级模块,使能远程升级;步骤7:FPGA被重构为正常功能模块;所述步骤1中,对FPGA配置芯片在逻辑上分为三个分区,其中分区一用于存储步骤3生成的远程升级模块配置数据,分区二用于存储步骤4生成的或远程升级的正常功能模块配置数据,分区三用于存储分区二有效性标志;所述分区一的分配空间大于等于步骤3生成的远程升级模块配置数据大小,分区二的分配空间大于等于步骤4生成的或远程升级的正常功能模块的最大配置数据大小;所述步骤1中,在分区完成后,记录分区二和分区三的起始地址,分区一的起始地址应为0;所述步骤2中,升级等待超时参数是从远程升级模块开始工作到确定不进行远程升级的时间参数,如果在此时间内没有接收到远程升级指令,则确定本次上电不进行远程升级;数据接收超时参数是指服务器从上一包远程升级数据发送结束到下一包远程升级数据发送开始的最长时间参数,如果FPGA在此时间内没有接收到下一包数据,则表明存在通讯故障;所述步骤3中,所述远程升级模块包括主控子模块、参数存储子模块、通讯子模块和重构与配置子模块;其中主控子模块负责从参数存储子模块中读取参数,完成各子模块初始化工作,并进行远程升级的流程控制;参数存储子模块存储分区起始地址和超时参数数据;通讯子模块负责对外接收远程升级数据,完成协议解析、数据校验、状态应答功能并将校验后数据传送给重构与配置子模块;重构与配置子模块由看门狗和配置芯片读写两部分构成,看门狗部分负责FPGA的超时重构,配置芯片读写部分负责将远程升级数据写入配置芯片的第二分区,并完成回读校验,同时负责分区三中分区二有效性标志的读写;在以上模块搭建完成后,通过FPGA开发环境生成相应的配置数据,该配置数据无法通过远程升级功能进行更新,且该数据大小应小于等于分区一空间大小,否则应对步骤1的分区重新调整;所述步骤4中,正常功能模块通过远程升级进行全部更新,该模块搭建完成后,通过FPGA开发环境生成相应的配置数据,该数据大小应小于等于分区二的空间大小,否则应对步骤1的分区重新调整;所述步骤5中,FPGA开发环境提供了配置文件转换整合工具,利用该工具将步骤3生成的远程升级模块配置数据和步骤4生成的正常功能模块配置数据进行整合;在进行地址分配时,远程升级模块配置数据起始地址为0,正常功能模块配置数据起始地址与分区二起始地址相同;如果按照步骤1的分区无法完成该步骤的配置数据整合功能,应重新对步骤1中的分区进行调整;在配置数据整合完成后,通过下载线将整合后数据烧写到FPGA配置芯片中;所述步骤6中,在FPGA上电后,系统使用分区一的远程升级模块配置数据配置FPGA,之后远程升级模块开始工作;FPGA首先获取配置芯片中分区一的写保护状态,如果该分区没有写保护,则添加写保护以避免被误修改;然后从参数存储子模块中读取参数,查询分区二有效性标志并根据参数和该标志配置看门狗,看门狗的超时参数设置为步骤2的升级等待超时参数,如果分区二有效性标志为有效性状态,则将看门狗配置为使用分区二配置数据进行重构,如果分区二有效性标志为无效状态,则将看门狗配置为使用分区一配置数据进行重构,如果分区二有效性标志不存在,则将该标志置为有效状态,并将看门狗配置为使用分区二配置数据进行重构;看门狗配置完成后,FPGA等待远程升级指令,在接收到远程升级指令后首先将分区二有效性标志置为无效,然后重置看门狗为使用分区一配置数据进行重构,并将超时参数设置为步骤2的数据接收超时参数,之后接收远程升级数据;在收到每包远程升级数据后,首先拆包、校验,然后将校验后正确数据通过重构与配置子模块中的配置芯片读写部分将数据写入配置芯片,并完成回读检验,之后再次接收远程升级数据,重复以上过程“在收到每包远程升级数据后,首先拆包、校验,然后将校验后正确数据通过重构与配置子模块中的配置芯片读写部分将数据写入配置芯片,并完成回读检验,之后再次接收远程升级数据”,直至完成所有数据接收;在数据接收完成后,将分区二有效性标志置为有效状态,然后将FPGA重构为升级后的分区二正常功能模块,正常功能模块开始工作;如果在等待远程升级指令或接收远程升级数据时超时,都会触发看门狗动作,看门狗根据之前的配置信息将FPGA重构为分区一的远程升级模块或分区二的正常功能模块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610975861.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种UI资源加载方法和系统
- 下一篇:应用程序更新的控制方法和装置