CN117579931A - 一种基于万兆光口远程升级fpga程序的方法 - Google Patents

一种基于万兆光口远程升级fpga程序的方法 Download PDF

Info

Publication number
CN117579931A
CN117579931A CN202311521753.2A CN202311521753A CN117579931A CN 117579931 A CN117579931 A CN 117579931A CN 202311521753 A CN202311521753 A CN 202311521753A CN 117579931 A CN117579931 A CN 117579931A
Authority
CN
China
Prior art keywords
mirror image
address
flash
megaoptical
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311521753.2A
Other languages
English (en)
Inventor
徐智旺
艾维
李奇
李有为
杨仁鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Huazhong Tianyi Intelligent Technology Co ltd
Original Assignee
Wuhan Huazhong Tianyi Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Huazhong Tianyi Intelligent Technology Co ltd filed Critical Wuhan Huazhong Tianyi Intelligent Technology Co ltd
Priority to CN202311521753.2A priority Critical patent/CN117579931A/zh
Publication of CN117579931A publication Critical patent/CN117579931A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/22Adaptations for optical transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于万兆光口远程升级FPGA程序的方法,包括如下步骤:S1、相机上电;S2、从Flash中的首地址加载G镜像;S3、G镜像通过WBSTAR指向看门狗地址,并跳转;S4、看门狗计时;S5、若3秒内成功加载M镜像,则运行M镜像,若3秒内未成功加载M镜像,则返回步骤S2;G镜像从Flash中的0地址开始存储,其帧头会包括WBSTAR寄存器信息,FPGA器件上电后会从0地址开始加载G镜像,根据WBSTAR寄存器里面的设定来决定加载G镜像还是直接跳转到其他存储地址,外部通过光纤进行数据交互,通过光纤实现远程固件更新即可省去一路串口,设备在系统中调试及使用将更加方便,且利用图像传输的同一路光纤进行固件更新,避免了电气走线,固件更新速度快,相机集成度更高。

Description

一种基于万兆光口远程升级FPGA程序的方法
技术领域
本发明涉及电子信息技术领域,尤其涉及一种基于光纤的Xilinx_K7芯片远程固件更新,具体为一种基于万兆光口远程升级FPGA程序的方法。
背景技术
随着光纤传输的普及,万兆光纤已经成为高速传输的代名词,其传输距离远、可靠性高、抗干扰能力强,已经成为工业相机与外界进行数据交互的有力手段,在国防光电设备上被大量使用。
工业相机往往是一个光电系统的最前端,也是整个系统中拆卸最复杂的位置,以往使用的CameraLink相机一般通过串口与外界通信,通过串口调试设备并实现远程固件更新,而现在使用的光纤相机,内部使用的是Xilinx_K7芯片。
光纤相机通过光纤进行图像的传输和指令的操控,按照以往的方案,需增加一路串口用于相机的固件更新,电气走线麻烦,固件更新速度慢,因此我们需要提出一种基于万兆光口远程升级FPGA程序的方法。
发明内容
本发明的目的在于提供一种基于万兆光口远程升级FPGA程序的方法,外部通过光纤进行数据交互,通过光纤实现远程固件更新即可省去一路串口,设备在系统中调试及使用将更加方便,且利用图像传输的同一路光纤进行固件更新,避免了电气走线,固件更新速度快,相机集成度更高,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于万兆光口远程升级FPGA程序的方法,包括如下步骤:
S1、相机上电;
S2、从Flash中的首地址加载G镜像;
S3、G镜像通过WBSTAR指向看门狗地址,并跳转;
S4、看门狗计时;
S5、若3秒内成功加载M镜像,则运行M镜像,若3秒内未成功加载M镜像,则返回步骤S2。
优选的,G镜像从Flash中的0地址开始存储,其帧头会包括WBSTAR寄存器信息,FPGA器件上电后会从0地址开始加载G镜像,根据WBSTAR寄存器里面的设定来决定加载G镜像还是直接跳转到其他存储地址。
优选的,通过G镜像的约束文件对下一个配置地址进行配置,在加载G镜像时,自动跳转至看门狗地址,3秒内如果M镜像加载遇到错误,Fallback电路会触发去重新从0地址去加载G镜像。
优选的,M镜像的工作流程包括如下步骤:
A1、加载M镜像,使能Fallback;
A2、与光电系统设备建立光纤通信;
A3、判断是否接收到固定更新指令;
A4若步骤A3中,若接收到固定更新指令,则破坏M镜像,ICAPE2跳回G镜像,若未接收到固定更新指令,返回步骤A2。
优选的,M镜像集成了系统的光纤协议,用于相机图像的传输和相机控制,预留了固件升级的控制指令,当系统发出该指令时,相机通过STARTUPE2对Flash中M镜像的首个64KB_Block进行擦除,破坏M镜像的同步字,并通过ICAPE2跳回到G镜像,可立刻执行固件更新。
优选的,若遇到更新过程中断电的情况,或者更新失败的情况,需重新上电,M镜像需添加相关约束,使能Fallback,启用看门狗,在M镜像加载失败后,通过看门狗强制返回加载G镜像。
优选的,G镜像的工作流程包括如下步骤:
B1、加载G镜像;
B2、与PC机通过万兆网卡建立以太网光通信;
B3、PC机发送新的M镜像及校验码;
B4、G镜像通过Xilinx 10G以太网子系统进行数据接收;
B5、G镜像通过DMA将接收到的数据搬运至MicroBlaze软核,存储至DDR3,并校验是否成功;
B6、若校验成功,擦除并烧写Flash的M镜像区域,若校验失败,返回步骤B3。
优选的,G镜像集成了通用的光纤协议,可根据硬件的参考时钟来选择万兆以太网协议,利用Xilinx 10G以太网子系统进行搭建,PC机通过万兆网卡将需要升级的BIN文件及校验码发送至G镜像,通过DMA搬运至MicroBlaze软核中,并存储在DDR3上,待传输完成,通过MicroBlaze软核控制AXIQuad SPI,实现对Flash的擦除及烧写,完成M镜像的升级。
优选的,G镜像的FPGA程序主要包括万兆以太网接收模块、缓存接收数据的FIFO模块、DMA模块、MIG控制器、操作Flash的SPI模块,以太网接收模块、缓存接收数据的FIFO模块、DMA模块、操作Flash的SPI模块均与MIG控制器连接;MicroBlaze软核实现了与DMA模块的交互、升级包的校验、操作SPI模块擦除及烧写Flash。
与现有技术相比,本发明的有益效果是:
本发明外部通过光纤进行数据交互,通过光纤实现远程固件更新即可省去一路串口,设备在系统中调试及使用将更加方便,且利用图像传输的同一路光纤进行固件更新,避免了电气走线,固件更新速度快,相机集成度更高。
附图说明
图1为本发明的双镜像工作流程图;
图2为本发明M镜像工作流程图;
图3为本发明G镜像工作流程图;
图4为本发明G镜像FPGA框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-4,本发明提供一种技术方案:一种基于万兆光口远程升级FPGA程序的方法,包括如下步骤:
S1、相机上电;
S2、从Flash中的首地址加载G镜像;
S3、G镜像通过WBSTAR指向看门狗地址,并跳转;
S4、看门狗计时;
S5、若3秒内成功加载M镜像,则运行M镜像,若3秒内未成功加载M镜像,则返回步骤S2。
Xilinx的双镜像方案,又称为Multiboot,两个镜像分别称为G镜像(Golden)和M镜像(Multiboot)。
在进行更新设计的时候,G镜像在部署之前就测试过没问题并不再更新,只更新M镜像,这样即使更新出错,也能保证G镜像运行正常。
Multiboot方案是从基地址开始存放G镜像,后续存放M镜像,加载过程中是先加载M镜像,配置完成后如果成功,则运行M镜像,如果运行失败,则重新加载G镜像。
G镜像从Flash中的0地址开始存储,其帧头会包括WBSTAR寄存器信息,FPGA器件上电后会从0地址开始加载G镜像,根据WBSTAR寄存器里面的设定来决定加载G镜像还是直接跳转到其他存储地址。
通过G镜像的约束文件对下一个配置地址进行配置,在加载G镜像时,自动跳转至看门狗地址,3秒内如果M镜像加载遇到错误,Fallback电路会触发去重新从0地址去加载G镜像。
M镜像的工作流程包括如下步骤:
A1、加载M镜像,使能Fallback;
A2、与光电系统设备建立光纤通信;
A3、判断是否接收到固定更新指令;
A4若步骤A3中,若接收到固定更新指令,则破坏M镜像,ICAPE2跳回G镜像,若未接收到固定更新指令,返回步骤A2。
M镜像通过约束文件使能Fallback,与光电系统设备建立光纤通信,等待固件更新指令。光电系统设备通过上位机下发相机固件更新指令,M镜像对其存储区域的首个64KB_Block进行擦除,破坏M镜像后,通过ICAPE2跳回G镜像。
M镜像集成了系统的光纤协议,用于相机图像的传输和相机控制,预留了固件升级的控制指令,当系统发出该指令时,相机通过STARTUPE2对Flash中M镜像的首个64KB_Block进行擦除,破坏M镜像的同步字,并通过ICAPE2跳回到G镜像,可立刻执行固件更新。
若遇到更新过程中断电的情况,或者更新失败的情况,需重新上电,M镜像需添加相关约束,使能Fallback,启用看门狗,在M镜像加载失败后,通过看门狗强制返回加载G镜像。
G镜像的工作流程包括如下步骤:
B1、加载G镜像;
B2、与PC机通过万兆网卡建立以太网光通信;
B3、PC机发送新的M镜像及校验码;
B4、G镜像通过Xilinx 10G以太网子系统进行数据接收;
B5、G镜像通过DMA将接收到的数据搬运至MicroBlaze软核,存储至DDR3,并校验是否成功;
B6、若校验成功,擦除并烧写Flash的M镜像区域,若校验失败,返回步骤B3。
G镜像与PC机通过万兆网卡建立以太网光通信,PC机发送新的M镜像及校验码,G镜像通过Xilinx 10G以太网子系统进行数据接收,通过DMA将接收到的数据搬运至MicroBlaze软核,存储至DDR3,待传输完成,校验成功,擦除并烧写Flash的M镜像区域,否则反馈校验失败,等待PC机重新发送升级包。
G镜像集成了通用的光纤协议,可根据硬件的参考时钟来选择万兆以太网协议,利用Xilinx 10G以太网子系统进行搭建,PC机通过万兆网卡将需要升级的BIN文件及校验码发送至G镜像,通过DMA搬运至MicroBlaze软核中,并存储在DDR3上,待传输完成,通过MicroBlaze软核控制AXIQuad SPI,实现对Flash的擦除及烧写,完成M镜像的升级。
G镜像的FPGA程序主要包括万兆以太网接收模块、缓存接收数据的FIFO模块、DMA模块、MIG控制器、操作Flash的SPI模块,以太网接收模块、缓存接收数据的FIFO模块、DMA模块、操作Flash的SPI模块均与MIG控制器连接;MicroBlaze软核实现了与DMA模块的交互、升级包的校验、操作SPI模块擦除及烧写Flash。
WBSTAR寄存器是指"WiFi Bluetooth Sleep Timer Auto Restart"寄存器,它是一种用于控制WiFi和蓝牙模块的功能寄存器。WBSTAR寄存器通常用于无线通信设备或嵌入式系统中,用于控制Wi-Fi和蓝牙的休眠时间和自动重启功能。通过设置WBSTAR寄存器,可以实现以下功能:
WiFi和蓝牙的休眠时间:通过对寄存器进行设置,可以调整WiFi和蓝牙模块的休眠时间。这在需要控制无线通信设备功耗的场景中非常有用,可以延长电池寿命或降低功耗。
自动重启功能:设置WBSTAR寄存器还可以实现无线通信设备的自动重启功能。通过定期触发重启操作,可以解决一些设备运行时出现的问题或错误,提高设备的稳定性和可靠性。
看门狗地址:用于配置和控制看门狗定时器功能的寄存器地址。看门狗定时器是一种用于检测系统异常或死锁情况的硬件计时器,当系统出现故障或停止响应时,定时器会超时并触发相应的操作,如重启系统。
Xilinx 10G以太网子系统:一种高性能以太网解决方案,用于支持10Gigabit以太网(10GbE)的数据传输。提供了一套完整的IP(Intellectual Property)核,包括物理层(PHY)、MAC(Media Access Control)层和以太网控制器。它支持多种协议和功能,如以太网协议(Ethernet Protocol)、MAC层流控(Flow Control)、虚拟局域网(VLAN)等,以满足不同应用场景的需求。
MIG控制器:是一种IP(Intellectual Property)核,用于在Xilinx FPGA平台上实现与外部内存接口的连接。主要功能是协调FPGA与外部内存之间的数据传输和通信。它支持各种类型的外部内存接口标准,包括DDR2、DDR3、DDR4、LPDDR2、LPDDR3等,并提供了一套完整的接口和协议来处理内存访问和数据传输。
SPI模块:是指串行外围接口(Serial Peripheral Interface)模块,它是一种常见的通信协议,用于在芯片级别上实现设备之间的串行通信。
MicroBlaze软核:一种软核处理器,用于在FPGA(Field-Programmable GateArray)上实现嵌入式系统。可以通过Xilinx Vivado开发套件进行配置和部署。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种基于万兆光口远程升级FPGA程序的方法,其特征在于:包括如下步骤:
S1、相机上电;
S2、从Flash中的首地址加载G镜像;
S3、G镜像通过WBSTAR指向看门狗地址,并跳转;
S4、看门狗计时;
S5、若3秒内成功加载M镜像,则运行M镜像,若3秒内未成功加载M镜像,则返回步骤S2。
2.根据权利要求1所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:G镜像从Flash中的0地址开始存储,其帧头会包括WBSTAR寄存器信息,FPGA器件上电后会从0地址开始加载G镜像,根据WBSTAR寄存器里面的设定来决定加载G镜像还是直接跳转到其他存储地址。
3.根据权利要求2所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:通过G镜像的约束文件对下一个配置地址进行配置,在加载G镜像时,自动跳转至看门狗地址,3秒内如果M镜像加载遇到错误,Fallback电路会触发去重新从0地址去加载G镜像。
4.根据权利要求1所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:M镜像的工作流程包括如下步骤:
A1、加载M镜像,使能Fallback;
A2、与光电系统设备建立光纤通信;
A3、判断是否接收到固定更新指令;
A4若步骤A3中,若接收到固定更新指令,则破坏M镜像,ICAPE2跳回G镜像,若未接收到固定更新指令,返回步骤A2。
5.根据权利要求4所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:M镜像集成了系统的光纤协议,用于相机图像的传输和相机控制,预留了固件升级的控制指令,当系统发出该指令时,相机通过STARTUPE2对Flash中M镜像的首个64KB_Block进行擦除,破坏M镜像的同步字,并通过ICAPE2跳回到G镜像,可立刻执行固件更新。
6.根据权利要求5所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:若遇到更新过程中断电的情况,或者更新失败的情况,需重新上电,M镜像需添加相关约束,使能Fallback,启用看门狗,在M镜像加载失败后,通过看门狗强制返回加载G镜像。
7.根据权利要求1所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:G镜像的工作流程包括如下步骤:
B1、加载G镜像;
B2、与PC机通过万兆网卡建立以太网光通信;
B3、PC机发送新的M镜像及校验码;
B4、G镜像通过Xilinx 10G以太网子系统进行数据接收;
B5、G镜像通过DMA将接收到的数据搬运至MicroBlaze软核,存储至DDR3,并校验是否成功;
B6、若校验成功,擦除并烧写Flash的M镜像区域,若校验失败,返回步骤B3。
8.根据权利要求7所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:G镜像集成了通用的光纤协议,可根据硬件的参考时钟来选择万兆以太网协议,利用Xilinx10G以太网子系统进行搭建,PC机通过万兆网卡将需要升级的BIN文件及校验码发送至G镜像,通过DMA搬运至MicroBlaze软核中,并存储在DDR3上,待传输完成,通过MicroBlaze软核控制AXIQuad SPI,实现对Flash的擦除及烧写,完成M镜像的升级。
9.根据权利要求8所述的一种基于万兆光口远程升级FPGA程序的方法,其特征在于:G镜像的FPGA程序主要包括万兆以太网接收模块、缓存接收数据的FIFO模块、DMA模块、MIG控制器、操作Flash的SPI模块,以太网接收模块、缓存接收数据的FIFO模块、DMA模块、操作Flash的SPI模块均与MIG控制器连接;MicroBlaze软核实现了与DMA模块的交互、升级包的校验、操作SPI模块擦除及烧写Flash。
CN202311521753.2A 2023-11-13 2023-11-13 一种基于万兆光口远程升级fpga程序的方法 Pending CN117579931A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311521753.2A CN117579931A (zh) 2023-11-13 2023-11-13 一种基于万兆光口远程升级fpga程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311521753.2A CN117579931A (zh) 2023-11-13 2023-11-13 一种基于万兆光口远程升级fpga程序的方法

Publications (1)

Publication Number Publication Date
CN117579931A true CN117579931A (zh) 2024-02-20

Family

ID=89863710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311521753.2A Pending CN117579931A (zh) 2023-11-13 2023-11-13 一种基于万兆光口远程升级fpga程序的方法

Country Status (1)

Country Link
CN (1) CN117579931A (zh)

Similar Documents

Publication Publication Date Title
CN101329632B (zh) 一种使用boot启动cpu的方法与装置
US7809836B2 (en) System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
CN105354070B (zh) 一种通过i2c升级设备固件的方法
CN101605189B (zh) 智能平台管理控制器的在线升级系统和方法
CN111562932B (zh) 一种高可靠嵌入式软件升级方法及系统
CN106874054B (zh) 一种直放站内模块程序在线升级方法与系统
EP2382545B1 (en) Component configuration mechanism for rebooting
CN101169727A (zh) 一种cpu系统的启动方法及系统
CN113703803B (zh) 基于fpga的远程升级系统、方法及介质
CN112947977A (zh) 一种软件在线升级方法及系统
CN112910714A (zh) 具有主从机结构的物联网终端设备的远程固件升级方法
CN114860279B (zh) 一种快速空片升级方法
CN104102519A (zh) 机架式服务器系统的固件更新方法及其装置
US11579977B2 (en) Data storage device restoring method
CN113553081A (zh) 一种基于zynq芯片的fpga加载方法
CN105468390B (zh) Boot在线升级装置及方法
CN101196823A (zh) 一种开放应用架构中软件在线升级的方法、系统及设备
CN112433769A (zh) 一种bmc启动方法、装置、计算机设备及存储介质
CN101751265B (zh) 服务器的基本输入/输出系统的更新系统及其方法
CN113360347A (zh) 一种服务器及其控制方法
CN102081526B (zh) 基本输入/输出系统架构
CN117579931A (zh) 一种基于万兆光口远程升级fpga程序的方法
CN116700765A (zh) 伺服驱动器的固件升级方法及装置、伺服驱动器
CN114968301A (zh) 一种基于串口通信的程序更新方法和系统
JP2002123398A (ja) 通信装置におけるソフトウェアのバージョンアップ処理装置及び通信装置におけるソフトウェアのバージョンアップ処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination