【技术实现步骤摘要】
一种具有加密验证的FPGA远程升级方法
[0001]本专利技术涉及嵌入式系统
,特别涉及一种具有加密验证的FPGA远程升级方法。
技术介绍
[0002]可编程逻辑器件FPGA器件具有高密度、低功耗、高速、高可靠性、并行处理能力强等优点,水下探测器一般选择FPGA作为其进行信号处理算法的芯片。水下探测器在工作时需要应对复杂的水下环境以及不同特征类型的探测目标,为提升水下探测器的适应性以及针对不同目标的探测灵敏度,因此需要不断的更迭水下探测器的检测算法,即对FPGA进行程序升级。由于水下探测器工作在水下无法对其进行拆卸,且其对于数据安全有着严格的要求,因此急需一种安全、可靠的水下探测器FPGA程序远程升级方法。
[0003]目前常用的FPGA的升级方案主要有两种:第一种,直接使用JTAG对FPGA升级,这种方法需要将下载器插到JTAG接口上,通过上位机将升级文件写入到FLASH中,由于该升级方案需要直接连接芯片,因此适合在现场调试时使用,但并不符合远程升级的要求。第二种,使用MCU+存储芯片+FPGA的架构,MCU ...
【技术保护点】
【技术特征摘要】
1.一种具有加密验证的FPGA远程升级方法,其特征在于,包括以下步骤:(1)远程升级的上位机与FPGA设备成功建立TCP连接后,发起对所述FPGA设备进行远程升级的请求,所述FPGA设备收到请求后,发起设备安全性验证,生成一组随机数据并发送给所述上位机,所述上位机收到随机数据后用密钥加密,并将加密后的数据发送给所述FPGA设备;(2)所述FPGA设备接收到加密后的数据,读取eeprom中存储的密钥,并对加密后的数据进行解密,若解密的数据与发送的随机数据一致,则所述FPGA设备发送授权数据包允许所述上位机进行远程升级操作;若解密的数据与发送的随机数据不一致,则所述FPGA设备向所述上位机发送告警信息,并关闭远程接收端口;(3)所述上位机在接收到所述FPGA设备发送的授权数据包之后,将升级文件按照远程升级的传输协议进行打包,以得到多个升级数据包,并将多个所述升级数据包依次发送给所述FPGA设备;(4)所述FPGA设备接收到所述升级数据包之后,对当前所述升级数据包的数据内容进行校验,若校验通过,则将所述升级数据包中的数据内容按照顺序存储在DDR中并继续等待下一个所述升级数据包的发送;若校验失败,则向所述上位机发送重发请求数据包,所述重发请求数据包中含有需要重发的升级数据包的序号;(5)所述上位机在发送所述升级数据包时,若收到重发请求,优先发送需要重发的升级数据包;若所述升级数据包在重发三次之后,还是被所述FPGA设备判定校验失败,所述FPGA设备向所述上...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。