1.基于以太网协议的安全的FPGA远程在线升级方法,其特征在于,包括以下步骤:
步骤一,将EPCS存储器分为两个存储区域,分别为第一存储区域用于存储设备出厂默认程序的出厂程序区域,以及第二存储区域用于存储设备升级迭代版本程序的用户存储区域;
步骤二,出厂程序区域和用户存储区域所需的内容烧录到EPCS中;
步骤三,FPGA等待上位机启动新版本用户程序的传输流程;
步骤四、上位机通知FPGA准备接收新版本用户程序;
步骤五、FPGA通过网口向上位机发送文件读请求报文;
步骤六、上位机收到读请求报文,给FPGA发出读请求响应报文;
步骤七、FPGA通过网口向上位机发送ACK报文;
步骤八、上位机收到ACK报文,将升级程序分成若干个512字节的数据段,依次将每个数据段发送给FPGA,除了最后一个数据段,其余每个数据报文长度为512字节;
步骤九、FPGA接收到数据报文;
步骤十、FPGA解析数据报文中的升级程序文件,并操作IP核ALTASMI_PARALLEL烧写EPCS的用户存储区域;
步骤十一、FPGA判断数据报文长度是否不为512字节,如果是512字节,说明本次文件传输还未结束,则进入步骤十二;如果不是512字节,说明本次文件传输已结束,则执行步骤十四;
步骤十二、FPGA通过网口向上位机发送ACK报文;
步骤十三、上位机收到ACK报文,继续向FPGA发送数据报文,返回步骤十一;
步骤十四、如果文件已经全部传输完毕,则FPGA和上位机结束本次文件传输;
步骤十五、FPGA进行程序重新配置操作。
2.根据权利要求1所述的基于以太网协议的安全的FPGA远程在线升级方法,其特征在于,当设备掉电重启,FPGA进行如下操作:
第一步,FPGA根据默认配置自动从出厂程序存储区域加载出厂程序;
第二步,出厂版本程序加载成功并正常运行后,出厂版本程序监听是否有用户版本程序,如果没有,则进入FPGA获取升级文件子流程,进行步骤三;如果有用户版本程序,则执行第三步;
第三步,FPGA操作IP核ALTREMOTE_UPDATE加载用户存储区域的程序;
第四步、用户程序版本若加载失败,则退回到第一步,如果加载成功,则执行第五步;
第五步、FPGA按照用户版本程序进行工作,用户版本程序开启一个任务用于接收新版本的用户版本程序,当需要对用户版本程序进行升级时,进入FPGA获取升级文件子流程,进行步骤三。
3.根据权利要求1所述的基于以太网协议的安全的FPGA远程在线升级方法,其特征在于,步骤十五中,FPGA进行程序重配置的具体方法如下:
第一步、FPGA开始进行程序重新配置操作;
第二步、FPGA向IP核ALTREMOTE_UPDATE写入更新application命令;
第三步、FPGA向IP核ALTREMOTE_UPDATE写入下次重配置启动地址;
第四步、FPGA向IP核ALTREMOTE_UPDATE写入控制字使能用户版本程序看门狗电路以及看门狗定时器时间;
第五步、FPGA控制IP核ALTREMOTE_UPDATE重配置开关,完成FPGA的重配置。
4.根据权利要求1所述的基于以太网协议的安全的FPGA远程在线升级方法,其特征在于,烧录采用JTAG方式。