基于以太网协议的安全的FPGA远程在线升级方法技术

技术编号:19592880 阅读:81 留言:0更新日期:2018-11-28 04:43
本发明专利技术公开了基于以太网协议的安全的FPGA远程在线升级方法,通过以太网线缆对设备FPGA进行在线升级,能够适应远程操作的要求,不需要工作人员到现场进行操作,并且将EPCS存储器分为两个存储区域,分别为用于存储设备出厂默认程序的出厂程序存储区域,以及用于存储设备升级迭代版本程序的用户存储区域,若在升级过程中如出现故障,设备可自动恢复到出厂版本,并可在出厂版本下重新进行在线升级操作,大大的降低了设备的维护成本。

【技术实现步骤摘要】
基于以太网协议的安全的FPGA远程在线升级方法
本专利技术属于FPGA在线升级领域,具体涉及基于以太网协议的安全的FPGA远程在线升级方法。
技术介绍
在嵌入式系统设备中,现场可编程门阵列FPGA(FieldProgramGatesArray)因为其具备的现场可编程、硬件并行处理能力强等特点在实际的设计中得到越来越多的应用。EPCS系列存储器由于具有引脚少,掉电不丢失数据的特点,通常做为FPGA的程序存储器。目前主流的对EPCS存储器进行程序代码烧写主要有3种方式:一、通过专用仿真器通过专用JTAG插座,在专用软件仿真环境下进行烧写。采用这种方式,外在限制条件较多,在升级时通常需要打开设备外壳以连接仿真器和JTAG插座,很难适应远程在线升级的要求。二、采用ARM、单片机或其他CPU器件对EPCS存储器进行编程,如果嵌入式设备中没有此类器件,则FPGA在线升级则无法实现,同时采用这种方法,一旦在烧写EPCS过程中出现错误,则会导致FPGA无法启动。三、采用专利技术专利CN201410328099.8所述方法,存在如下弊端:1.需要先完全擦除EPCS后才能对EPCS进行烧写,如果对EPCS擦除成功后,正在烧写EPCS过程中出现故障(比如掉电),那么FPGA下次重新启动时就无法从EPCS中获取下载文件,FPGA将无法启动,此时就只能通过JTAG方式对FPGA进行重新编程,这将增加设备的维护成本。2.串口线缆的信号传输距离不能超过100米,无法适应远程操作的要求,而人员到现场操作,同样也会增加设备的维护成本,而采用以太网协议,物理层可以通过超五类缆或光纤连接,传输距离可超过40㎞,可以适应远程升级要求。
技术实现思路
本专利技术的目的在于克服上述不足,提供基于以太网协议的安全的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进行程序重新配置操作。当设备掉电重启,FPGA进行如下操作:第一步,FPGA根据默认配置自动从出厂程序存储区域加载出厂程序;第二步,出厂版本程序加载成功并正常运行后,出厂版本程序监听是否有用户版本程序,如果没有,则进入FPGA获取升级文件子流程,进行步骤三;如果有用户版本程序,则执行第三步;第三步,FPGA操作IP核ALTREMOTE_UPDATE加载用户存储区域的程序;第四步、用户程序版本若加载失败,则退回到第一步,如果加载成功,则执行第五步;第五步、FPGA按照用户版本程序进行工作,用户版本程序开启一个任务用于接收新版本的用户版本程序,当需要对用户版本程序进行升级时,进入FPGA获取升级文件子流程,进行步骤三。步骤十五中,FPGA进行程序重配置的具体方法如下:第一步、FPGA开始进行程序重新配置操作;第二步、FPGA向IP核ALTREMOTE_UPDATE写入更新application命令;第三步、FPGA向IP核ALTREMOTE_UPDATE写入下次重配置启动地址;第四步、FPGA向IP核ALTREMOTE_UPDATE写入控制字使能用户版本程序看门狗电路以及看门狗定时器时间;第五步、FPGA控制IP核ALTREMOTE_UPDATE重配置开关,完成FPGA的重配置。烧录采用JTAG方式。与现有技术相比,本专利技术通过以太网线缆对设备FPGA进行在线升级,能够适应远程操作的要求,不需要工作人员到现场进行操作,并且将EPCS存储器分为两个存储区域,分别为用于存储设备出厂默认程序的出厂程序存储区域,以及用于存储设备升级迭代版本程序的用户存储区域,若在升级过程中如出现故障,设备可自动恢复到出厂版本,并可在出厂版本下重新进行在线升级操作,大大的降低了设备的维护成本。附图说明图1为本专利技术的流程图;图2为本专利技术中设备掉电重启的流程图;图3为本专利技术中FPGA进行重配置的流程流程图。具体实施方式下面结合附图对本专利技术做进一步说明。参见图1,本专利技术包括以下步骤:步骤一,将EPCS存储器分为两个存储区域,分别为第一存储区域用于存储设备出厂默认程序的出厂程序区域,以及第二存储区域用于存储设备升级迭代版本程序的用户存储区域;步骤二,采用JTAG方式将出厂程序区域和用户存储区域所需的内容烧录到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,当设备掉电重启,FPGA进行如下操作:第一步,FPGA根据默认配置自动从出厂程序存储区域加载出厂程序;第二步,出厂版本程序加载成功并正常运行后,出厂版本程序监听是否有用户版本程序,如果没有,则进入FPGA获取升级文件子流程,进行步骤三;如果有用户版本程序,则执行第三步;第三步,FPGA操作IP核ALTREMOTE_UPDATE加载用户存储区域的程序;第四步、用户程序版本本文档来自技高网
...

【技术保护点】
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进行程序重新配置操作。...

【技术特征摘要】
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所述的基于以...

【专利技术属性】
技术研发人员:黄成
申请(专利权)人:大唐电信成都信息技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1