CN112559017A - 插卡式设备的程序升级方法、装置及插卡式设备、系统 - Google Patents
插卡式设备的程序升级方法、装置及插卡式设备、系统 Download PDFInfo
- Publication number
- CN112559017A CN112559017A CN201910851157.8A CN201910851157A CN112559017A CN 112559017 A CN112559017 A CN 112559017A CN 201910851157 A CN201910851157 A CN 201910851157A CN 112559017 A CN112559017 A CN 112559017A
- Authority
- CN
- China
- Prior art keywords
- card
- programmable logic
- logic device
- program data
- microcontroller
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000003780 insertion Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 10
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7896—Modular architectures, e.g. assembled from a number of identical packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种插卡式设备的程序升级方法、装置及插卡式设备和插卡式系统,所述程序升级方法包括:通过第一微控制器接收升级程序数据;由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件;由所述第一可编程逻辑器件将所述升级程序数据发送给至少一个目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器。本发明实施例可以解决现有技术存在的以下问题:1)软件指定升级目标,且一次只能升级一个器件;2)由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。
Description
技术领域
本发明涉及嵌入式设备及显示控制技术领域,尤其涉及一种插卡式设备的程序升级方法、程序升级装置及插卡式设备、插卡式系统。
背景技术
在显示控制技术领域,随着更加多种多样的应用场景的出现,视频控制系统的功能变得越来越强大。逐渐的,单一硬件结构的视频控制系统已渐渐无法满足功能需求。于是诞生了由多张单卡组合成完整的插卡式设备。
插卡式设备一般由一张面积较大的背板作为硬件系统的骨架,系统中还存在其他子卡,子卡的功能各不相同,所有子卡通过特定接口与背板相连组成完整系统。系统结构越来越庞大,随之系统内部单元如MCU(微控制器)、FPGA(可编程逻辑器件)等器件的数量逐渐增加,继而其程序升级过程复杂,升级速度慢等问题相继凸显。
现有插卡式设备的升级方案主要由单卡式硬件结构的升级方案演变而来,升级过程需要指定升级目标器件,指定发送的程序数据长度,且升级过程中,统一由上位机软件发送升级程序文件,经由USB或者网口传送至MCU,MCU统一存储至本地FLASH中,并由MCU进行自我升级和FPGA的加载工作。
现有技术的缺点:1)软件指定升级目标,且一次只能升级一个器件;2)由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。
发明内容
本发明的实施例提供一种插卡式设备的程序升级方法、一种程序升级装置、一种插卡式设备和一种插卡式系统,可以解决现有技术的前述不足。
第一方面,本发明实施例提供了一种插卡式设备的程序升级方法,包括:通过第一微控制器接收升级程序数据;由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件;由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器;其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡。
目前插卡式设备结构庞大,系统内部单元的微控制器和可编程逻辑器件的数量较多,程序升级复杂,速度慢,其中现有的插卡式设备的升级方案需要在上位机指定升级目标器件和发送的程序数据长度,在升级过程中,统一由上位机软件发送升级程序文件,经由USB或者网口传送至MCU,MCU统一存储至本地FLASH中,并由MCU进行自我升级和FPGA的加载工作。其中软件指定升级目标导致一次只能升级一个器件,而且由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。本发明实施例提供一种插卡式设备的程序升级方法通过第一微控制器接收并转发升级程序数据至第一可编程逻辑器件,第一可编程逻辑器件将升级程序数据发给目标子卡的第二可编程逻辑器件并缓存,以由目标子卡的第二微控制器将升级程序数据存储至非易失性存储器中,可以实现插卡式设备的多子卡同时更新、且提升更新速度。
在本发明的一个实施例中,所述升级程序数据包含目标卡类别信息,所述由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,具体包括:由所述第一可编程逻辑器件与连接所述第一可编程逻辑器件的多个子卡进行交互,以得到所述多个子卡的卡类别信息;以及根据所述多个子卡的所述卡类别信息和所述升级程序数据包含的所述目标卡类别信息,确定所述目标子卡。
在本发明的一个实施例中,所述由所述第一可编程逻辑器件将所述升级程序发送给目标子卡的第二可编程逻辑器件并缓存,具体包括:由所述第一可编程逻辑器件对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及将所述以太网数据格式的升级程序数据发送给所述目标子卡的所述第二可编程逻辑器件并缓存。
在本发明的一个实施例中,在所述供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器后,还包括:由所述目标子卡的所述第二微控制器读取存储至所述非易失性存储器的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件,以供所述目标子卡的所述第二可编程逻辑器件加载读取的所述升级程序数据。
第二方面,本发明实施例提供一种插卡式设备的程序升级装置,包括:数据接收模块,用于通过第一微控制器接收升级程序数据;数据转发模块,用于由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件;数据发送模块,用于由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器;其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡。
第三方面,本发明实施例提供了一种插卡式设备,包括:主控卡,设置有第一微控制器;所述第一微控制器用于接收升级程序数据;背板,设置有第一可编程逻辑器件,所述第一可编程逻辑器件连接所述第一微控制器,用于接收来自所述第一微控制器的所述升级程序数据,以及将所述升级程序数据发送至所述目标子卡的所述第二可编程逻辑器件;其中,所述目标子卡为连接于所述插卡式设备的若干个子卡中的至少一个子卡,每个所述子卡具有第二可编程逻辑器件、第二微控制器和非易失性存储器,所述第二可编程逻辑器件连接所述第一可编程逻辑器件,所述第二微控制器连接所述第二可编程逻辑器件和所述非易失性存储器;所述目标子卡的所述第二可编程逻辑器件用于接收所述升级程序数据并缓存、以及读取缓存的所述升级程序数据并发送至所述第二微控制器以存储至所述非易失性存储器。
目前插卡式设备结构庞大,系统内部单元的微控制器和可编程逻辑器件的数量较多,程序升级复杂,速度慢,其中现有的插卡式设备的升级方案需要在上位机指定升级目标器件和发送的程序数据长度,在升级过程中,统一由上位机软件发送升级程序文件,经由USB或者网口传送至MCU,MCU统一存储至本地FLASH中,并由MCU进行自我升级和FPGA的加载工作。其中软件指定升级目标导致一次只能升级一个器件,而且由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。本发明实施例提供一种插卡式设备通过第一微控制器接收并转发升级程序数据至第一可编程逻辑器件,第一可编程逻辑器件将升级程序数据发给目标子卡的第二可编程逻辑器件并缓存,以由目标子卡的第二微控制器将升级程序数据存储至非易失性存储器中,可以实现插卡式设备的多子卡同时更新、且提升更新速度。
第四方面,本发明实施例提供一种插卡式系统,包括:主控卡,包括第一微控制器,用于接收升级程序数据;背板,包括连接于所述第一微控制器的第一可编程逻辑器件,用于接收由所述第一微控制器转发的所述升级程序数据;多个子卡,连接于所述背板,每一所述子卡包括第二可编程逻辑器件、连接于所述第二可编程逻辑器件的第二微控制器、以及连接于所述第二微控制器的非易失性存储器,其中所述多个子卡中的至少一个子卡作为目标子卡,所述目标子卡的所述第二可编程逻辑器件用于接收由所述第一可编程逻辑器件发出的所述升级程序数据并缓存,以及读取缓存的所述升级程序数据发送至所述第二微控制器以存储至所述非易失性存储器。
目前插卡式设备结构庞大,系统内部单元的微控制器和可编程逻辑器件的数量较多,程序升级复杂,速度慢,其中现有的插卡式设备的升级方案需要在上位机指定升级目标器件和发送的程序数据长度,在升级过程中,统一由上位机软件发送升级程序文件,经由USB或者网口传送至MCU,MCU统一存储至本地FLASH中,并由MCU进行自我升级和FPGA的加载工作。其中软件指定升级目标导致一次只能升级一个器件,而且由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。本发明实施例提供一种插卡式系统通过第一微控制器接收并转发升级程序数据至第一可编程逻辑器件,第一可编程逻辑器件将升级程序数据发给目标子卡的第二可编程逻辑器件并缓存,以由目标子卡的第二微控制器将升级程序数据存储至非易失性存储器中,可以实现插卡式设备的多子卡同时更新、且提升更新速度。
在本发明的一个实施例中,所述第一可编程逻辑器件具体用于:与所述多个子卡进行交互,以得到所述多个子卡的卡类别信息;以及根据所述多个子卡的所述卡类别信息和所述目标卡类别信息,确定所述目标子卡。
在本发明的一个实施例中,所述背板还设置有多个第一以太网PHY接口,所述多个第一以太网PHY接口连接所述第一可编程逻辑器件;每个所述子卡还设置有第二以太网PHY接口,所述第二以太网PHY接口连接所述第二可编程逻辑器件和一个所述第一以太网PHY接口。
在本发明的一个实施例中,所述第一可编程逻辑器件具体用于:对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及将所述以太网数据格式的升级程序数据发送给所述目标子卡的所述第二可编程逻辑器件;所述目标子卡的所述第二微控制器还用于:读取存储至所述非易失性存储器的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件,以供所述目标子卡的所述第二可编程逻辑器件加载读取的所述升级程序数据。
本发明前述实施例能够解决现有技术的缺陷,实现插卡式设备的多子卡同时更新、以及提升其更新速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供了一种插卡式系统的结构示意图;
图2为本发明第二实施例提供了一种插卡式设备的程序升级方法的流程示意图;
图3为本发明第三实施例提供了一种插卡式设备的程序升级装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例
如图1所示,本发明第一实施例提供了一种插卡式系统100,主要包括:主控卡110、背板120和多个子卡130。
其中,主控卡110上例如设置有第一微控制器111。
背板120上例如设置有第一可编程逻辑器件121,其中所述第一可编程逻辑器件121连接所述第一微控制器111。具体地,所述第一可编程逻辑器件121例如通过UART总线、FMC总线或SPI总线连接所述第一微控制器111。
每个所述子卡130例如具有第二可编程逻辑器件131、第二微控制器133、易失性存储器135和非易失性存储器137,所述第二可编程逻辑器件131连接所述第一可编程逻辑器件121和所述易失性存储器135,所述第二微控制器133连接所述第二可编程逻辑器件131和所述非易失性存储器137。所述子卡130例如可为输入卡、输出卡、发送卡或级联卡等子卡。所述易失性存储器135例如为高速带宽缓存机制的存储器,具体例如为DDR等存储器。所述非易失性存储器137例如为FLASH、eMMC等存储器。所述第一微控制器111和所述第二微控制器133例如分别为MCU。所述第一可编程逻辑器件121和所述第二可编程逻辑器件131例如分别为FPGA。
具体地,所述第一微控制器111例如用于接收升级程序数据。所述主控卡110例如通过TCP/IP、USB、网口或串口连接上位机,所述上位机例如安装有上位机软件,所述升级程序数据例如是由所述上位机软件发送给所述主控卡110的。所述升级程序数据中例如包括了升级程序信息和目标卡类别信息,所述目标卡类别信息用于标识所述升级程序信息是用于对哪个或哪些目标子卡进行升级的,也即用于指定目标升级器件。所述第一可编程逻辑器件121例如用于接收来自所述第一微控制器111的所述升级程序数据、解析所述升级程序数据以得到目标卡类别信息、根据所述目标卡类别信息确定所述多个子卡130中的至少一个子卡130作为目标子卡、以及将所述升级程序数据发送至所述目标子卡的所述第二可编程逻辑器件131。当所述目标子卡的数目为多个时,所述背板130上的所述第一可编程逻辑器件121例如广播发送所述升级程序数据至所述目标子卡的所述第二可编程逻辑器件131。如此,后续可以同时现对多个子卡130的升级。
所述目标子卡的所述第二可编程逻辑器件131例如用于接收所述升级程序数据并缓存至所述易失性存储器135、以及读取缓存的所述升级程序数据并发送至所述目标子卡的所述第二微控制器133以存储至所述非易失性存储器137。
具体地,所述第一可编程逻辑器件121例如具体用于:
与所述多个子卡130进行交互,以得到所述多个子卡130的卡类别信息;以及
根据所述多个子卡130的所述卡类别信息和所述目标卡类别信息,确定所述至少一个目标子卡。
进一步地,所述背板120例如还设置有多个第一以太网PHY接口123,所述多个第一以太网PHY接口123连接所述第一可编程逻辑器件121;相应地,每个所述子卡130例如还设置有第二以太网PHY接口139,所述第二以太网PHY接口139连接所述第二可编程逻辑器件131和对应的第一以太网PHY接口123,从而通过所述多个第一以太网PHY接口123实现与所述多个子卡130上的所述第二以太网PHY接口139的一一对应连接。所述背板120的所述第一以太网PHY接口123的数目例如多于所述多个子卡130上的所述第二以太网PHY接口139的数目,从而可以扩展连接其他子卡130。
具体地,所述第一以太网PHY接口123和所述第二以太网PHY接口139例如分别为百兆网PHY芯片。
所述第一可编程逻辑器件121例如具体用于:
对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及
将所述以太网数据格式的升级程序数据发送给所述目标子卡的所述第二可编程逻辑器件131。
所述目标子卡的所述第二微控制器133例如用于读取存储至所述非易失性存储器137的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件131,以供所述目标子卡的所述第二可编程逻辑器件131加载读取的所述升级程序数据。
在此值得一提的是,所述主控卡110上例如还可设置一非易失性存储器,所述非易失性存储器连接所述第一微控制器111,如此,还可实现对所述主控卡110的所述第一微控制器111的程序升级以及对所述背板的所述第一可编程逻辑器件121的程序升级。
需要说明的是,在本发明另一实施例中提供一种插卡式设备,例如包括前述主控卡和前述背板。其中,主控卡设置有第一微控制器,所述第一微控制器用于接收升级程序数据。背板,设置有第一可编程逻辑器件,所述第一可编程逻辑器件连接所述第一微控制器,用于接收来自所述第一微控制器的所述升级程序数据,以及将所述升级程序数据发送至目标子卡的第二可编程逻辑器件。其中,提到的目标子卡为连接于插卡式设备的多个子卡中的至少一个子卡,每一所述子卡具有第二可编程逻辑器件、第二微控制器和非易失性存储器,所述第二可编程逻辑器件连接所述第一可编程逻辑器件,所述第二微控制器连接所述第二可编程逻辑器件和所述非易失性存储器。所述目标子卡的所述第二可编程逻辑器件用于接收所述升级程序数据并缓存、以及读取缓存的所述升级程序数据并发送至所述第二微控制器以存储至所述非易失性存储器。其中目标子卡为连接插卡式设备的多个子卡中的至少一个子卡。
本发明第一实施例提出的插卡式系统100,可以解决现有技术存在的以下问题:1)软件指定升级目标,且一次只能升级一个器件;2)由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。
第二实施例
如图2所示,本发明第二实施例提供了一种插卡式设备的程序升级方法200。
所述插卡式设备的程序升级方法200主要包括:
步骤S210:通过第一微控制器接收升级程序数据。具体地,所述第一微控制器例如通过TCP/IP、USB、网口或串口接收上位机上的上位机软件发送来的所述升级程序数据。所述升级程序数据中例如包括了升级程序信息和目标卡类别信息,所述目标卡类别信息用于标识所述升级程序信息是用于对哪个或哪些目标子卡进行升级的,也即用于指定目标升级器件。
步骤S230:由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件。具体地,所述第一微控制器例如通过UART总线、FMC总线或SPI总线将所述升级程序数据转发给第一可编程逻辑器件。
步骤S250:由所述第一可编程逻辑器件将所述升级程序数据发送给至少一个目标子卡的第二可编程逻辑器件并缓存。具体地,例如由所述第一可编程逻辑器件通过以太网方式所述升级程序数据发送给所述至少一个目标子卡的所述第二可编程逻辑器件,由所述至少一个目标子卡的第二可编程逻辑器件将所述升级程序数据缓存至易失性存储器,所述易失性存储器例如为高速带宽缓存机制的存储器,具体例如为DDR等存储器,以实现高速缓存的效果。具体地,当所述目标子卡的数目为多个时,所述第一可编程逻辑器件例如广播发送所述升级程序数据至所述至少一个目标子卡的所述第二可编程逻辑器件。如此,后续可以在同时实现对多个子卡的升级。以及
步骤S270:由所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器。具体地,所述非易失性存储器例如为FLASH、eMMC等存储器。
具体地,所述升级程序数据包含目标卡类别信息,所述步骤S250例如包括:
由所述第一可编程逻辑器件与连接所述第一可编程逻辑器件的多个子卡进行交互,以得到所述多个子卡的卡类别信息;以及
根据所述多个子卡的所述卡类别信息和所述升级程序数据包含的所述目标卡类别信息,确定所述至少一个目标子卡。具体地,依次对所述多个子卡中的每一个子卡的所述卡类别信息进行判断,若被判断的子卡的所述卡类别信息和所述升级程序数据包含的所述目标卡类别信息一致,则所述被判断的子卡就是所述至少一个目标子卡中的其中一个目标子卡。
进一步地,所述步骤S250例如还包括:
由所述第一可编程逻辑器件对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及
将所述以太网数据格式的升级程序数据发送给所述至少一个目标子卡的所述第二可编程逻辑器件并缓存。
在所述步骤S270后,还包括步骤S290:
由所述目标子卡的所述第二微控制器读取存储至所述非易失性存储器的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件,以供所述目标子卡的所述第二可编程逻辑器件加载读取的所述升级程序数据。
在此值得说明的是,当由所述至少一个目标子卡的所述第二可编程逻辑器件接收完所述第一可编程逻辑器件发送来的所述升级程序之后,就完成了对一个或一批具有与目标卡类别信息相同的卡类别信息的子卡的升级程序数据的发送和接收过程,接下来就可以进行升级程序加载。而上位机可以继续进行一个或一批具有与下一个目标卡类别信息相同的卡类别信息的子卡的升级程序数据的发送和接收过程,如此一来,就可以实现程序升级的流水线操作,实现子卡的升级程序数据的发送和接收过程与子卡的升级程序加载过程并行执行。
在此值得一提的是,本发明第二实施例所述的插卡式设备的程序升级方法200例如可应用于如前述第一实施例的所述插卡式系统100。所述插卡式系统100的具体结构可参考前述第一实施例的描述,在此不再赘述。
本发明第二实施例的插卡式设备的程序升级方法200,可以解决现有技术存在的以下问题:1)软件指定升级目标,且一次只能升级一个器件;2)由于程序文件的存储是直接由MCU接收并存储至FLASH中,造成升级速度缓慢。
第三实施例
如图3所示,本发明第三实施例提供了一种插卡式设备的程序升级装置300。程序升级装置300例如包括:数据接收模块310、数据转发模块320和数据发送模块330。
其中,数据接收模块310用于通过第一微控制器接收升级程序数据。数据转发模块320用于由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件。数据发送模块330用于由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器。其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡。
本实施例上述程序升级装置300所实现的程序升级方法如前述第二实施例所述,故在此不再进行详细讲述。可选地,第三实施例中的各个模块和上述其他操作或功能分别为了实现本发明第二实施例中的方法,为了简洁,不在此赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和/或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元/模块的形式实现。
上述以软件功能单元/模块的形式实现的集成的单元/模块,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多个处理器执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细说明,本领域普通技术人员应当理解:其依然可对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种插卡式设备的程序升级方法,其特征在于,包括:
通过第一微控制器接收升级程序数据;
由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件;
由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器;
其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡。
2.如权利要求1所述的程序升级方法,其特征在于,所述升级程序数据包含目标卡类别信息,所述由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,具体包括:
由所述第一可编程逻辑器件与连接所述第一可编程逻辑器件的多个子卡进行交互,以得到所述多个子卡的卡类别信息;以及
根据所述多个子卡的所述卡类别信息和所述升级程序数据包含的所述目标卡类别信息,确定所述目标子卡。
3.如权利要求1所述的程序升级方法,其特征在于,所述由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,具体包括:
由所述第一可编程逻辑器件对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及
将所述以太网数据格式的升级程序数据发送给所述目标子卡的所述第二可编程逻辑器件并缓存。
4.如权利要求1所述的程序升级方法,其特征在于,在所述供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器后,还包括:
由所述目标子卡的所述第二微控制器读取存储至所述非易失性存储器的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件,以供所述目标子卡的所述第二可编程逻辑器件加载读取的所述升级程序数据。
5.一种插卡式设备的程序升级装置,其特征在于,包括:
数据接收模块,用于通过第一微控制器接收升级程序数据;
数据转发模块,用于由所述第一微控制器将所述升级程序数据转发给第一可编程逻辑器件;
数据发送模块,用于由所述第一可编程逻辑器件将所述升级程序数据发送给目标子卡的第二可编程逻辑器件并缓存,以供所述目标子卡的所述第二可编程逻辑器件读取缓存的所述升级程序数据并发送至所述目标子卡的第二微控制器,以存储至非易失性存储器;
其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡。
6.一种插卡式设备,其特征在于,包括:
主控卡,设置有第一微控制器,所述第一微控制器用于接收升级程序数据;
背板,设置有第一可编程逻辑器件,所述第一可编程逻辑器件连接所述第一微控制器,用于接收来自所述第一微控制器的所述升级程序数据,以及将所述升级程序数据发送至目标子卡的第二可编程逻辑器件;其中,所述目标子卡为连接于所述插卡式设备的多个子卡中的至少一个子卡,每一所述子卡具有第二可编程逻辑器件、第二微控制器和非易失性存储器,所述第二可编程逻辑器件连接所述第一可编程逻辑器件,所述第二微控制器连接所述第二可编程逻辑器件和所述非易失性存储器;所述目标子卡的所述第二可编程逻辑器件用于接收所述升级程序数据并缓存、以及读取缓存的所述升级程序数据并发送至所述第二微控制器以存储至所述非易失性存储器。
7.一种插卡式系统,其特征在于,包括
主控卡,包括第一微控制器,用于接收升级程序数据;
背板,包括连接于所述第一微控制器的第一可编程逻辑器件,用于接收由所述第一微控制器转发的所述升级程序数据;
多个子卡,连接于所述背板,每一所述子卡包括第二可编程逻辑器件、连接于所述第二可编程逻辑器件的第二微控制器、以及连接于所述第二微控制器的非易失性存储器,其中所述多个子卡中的至少一个子卡作为目标子卡,所述目标子卡的所述第二可编程逻辑器件用于接收由所述第一可编程逻辑器件发出的所述升级程序数据并缓存,以及读取缓存的所述升级程序数据发送至所述第二微控制器以存储至所述非易失性存储器。
8.如权利要求7所述的插卡式系统,其特征在于,所述第一可编程逻辑器件具体用于:
与所述多个子卡进行交互,以得到所述多个子卡的卡类别信息;以及
根据所述多个子卡的卡类别信息和目标卡类别信息,确定所述目标子卡。
9.如权利要求7所述的插卡式系统,其特征在于,所述背板还设置有多个第一以太网PHY接口,所述多个第一以太网PHY接口连接所述第一可编程逻辑器件;每个所述子卡还设置有第二以太网PHY接口,所述第二以太网PHY接口连接所述第二可编程逻辑器件和一个所述第一以太网PHY接口。
10.如权利要求7所述的插卡式系统,其特征在于,所述第一可编程逻辑器件具体用于:
对所述升级程序数据进行格式转换,以得到以太网数据格式的升级程序数据;以及
将所述以太网数据格式的升级程序数据发送给所述目标子卡的所述第二可编程逻辑器件;
所述目标子卡的所述第二微控制器还用于:
读取存储至所述非易失性存储器的所述升级程序数据并发送至所述目标子卡的所述第二可编程逻辑器件,以供所述目标子卡的所述第二可编程逻辑器件加载读取的所述升级程序数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851157.8A CN112559017A (zh) | 2019-09-10 | 2019-09-10 | 插卡式设备的程序升级方法、装置及插卡式设备、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851157.8A CN112559017A (zh) | 2019-09-10 | 2019-09-10 | 插卡式设备的程序升级方法、装置及插卡式设备、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559017A true CN112559017A (zh) | 2021-03-26 |
Family
ID=75028719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910851157.8A Pending CN112559017A (zh) | 2019-09-10 | 2019-09-10 | 插卡式设备的程序升级方法、装置及插卡式设备、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559017A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420328A (zh) * | 2008-12-03 | 2009-04-29 | 杭州华三通信技术有限公司 | 远程升级现场可编程门阵列的系统、接口卡及方法 |
CN102073521A (zh) * | 2011-01-06 | 2011-05-25 | 深圳市朗驰欣创科技有限公司 | 一种插卡式机器软件升级系统及软件升级方法 |
CN107293253A (zh) * | 2017-05-15 | 2017-10-24 | 西安诺瓦电子科技有限公司 | 显示控制卡及其数据存储方法 |
CN109582334A (zh) * | 2018-11-29 | 2019-04-05 | 杭州迪普科技股份有限公司 | 可编程逻辑器件的升级方法及装置 |
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
-
2019
- 2019-09-10 CN CN201910851157.8A patent/CN112559017A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420328A (zh) * | 2008-12-03 | 2009-04-29 | 杭州华三通信技术有限公司 | 远程升级现场可编程门阵列的系统、接口卡及方法 |
CN102073521A (zh) * | 2011-01-06 | 2011-05-25 | 深圳市朗驰欣创科技有限公司 | 一种插卡式机器软件升级系统及软件升级方法 |
CN107293253A (zh) * | 2017-05-15 | 2017-10-24 | 西安诺瓦电子科技有限公司 | 显示控制卡及其数据存储方法 |
CN109582334A (zh) * | 2018-11-29 | 2019-04-05 | 杭州迪普科技股份有限公司 | 可编程逻辑器件的升级方法及装置 |
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111679728B (zh) | 数据读取方法及装置 | |
CN111563059A (zh) | 一种基于PCIe的多FPGA动态配置装置及方法 | |
CN102073521B (zh) | 一种插卡式机器软件升级系统及软件升级方法 | |
CN109241128B (zh) | 一种过期事件自动触发方法及系统 | |
CN105681222A (zh) | 一种数据接收缓存方法、装置及通信系统 | |
CN113177015B (zh) | 基于帧头的串口通讯方法和串口芯片 | |
US20240095172A1 (en) | Data packet processing method and appratus | |
US9343157B2 (en) | Writing into an EEPROM on an I2C bus | |
CN116670661A (zh) | 图形处理器的缓存访问方法、图形处理器及电子设备 | |
EP4375837A1 (en) | Data processing method, apparatus and system based on para-virtualization device | |
CN114691023A (zh) | 读写设备的读写操作方法、读写设备及可读存储介质 | |
CN112559017A (zh) | 插卡式设备的程序升级方法、装置及插卡式设备、系统 | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
CN107870885A (zh) | 通信系统、装置及方法 | |
CN107590086B (zh) | 一种通讯连接装置及方法、通讯单板 | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
CN115098030A (zh) | 虚拟磁盘写入或读出数据的方法、装置及计算机设备 | |
CN111008002B (zh) | 自动计算并更新fifo深度的装置和方法 | |
CN110633493A (zh) | 一种基于Intel FPGA的OpenCL交易数据处理的方法 | |
CN111309268B (zh) | 数据搬移装置与有重叠的数据搬移方法 | |
CN113507610B (zh) | 一种主从系统多路并发解码jpg图像的方法及装置 | |
CN114237509B (zh) | 数据访问方法及装置 | |
CN117675720B (zh) | 消息报文传输方法、装置、电子设备和存储介质 | |
CN116303125B (zh) | 请求调度方法、缓存、装置、计算机设备及存储介质 | |
CN113626885B (zh) | Mcu多源写操作控制方法、系统、终端及存储介质 |
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 |