CN115840579A - Fpga远程更新方法、系统、贴片机及存储介质 - Google Patents
Fpga远程更新方法、系统、贴片机及存储介质 Download PDFInfo
- Publication number
- CN115840579A CN115840579A CN202310110335.8A CN202310110335A CN115840579A CN 115840579 A CN115840579 A CN 115840579A CN 202310110335 A CN202310110335 A CN 202310110335A CN 115840579 A CN115840579 A CN 115840579A
- Authority
- CN
- China
- Prior art keywords
- file
- fpga
- instruction
- update
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及数字信号处理技术领域,具体公开了一种FPGA远程更新方法、系统、贴片机及存储介质,所述方法包括以下步骤:远程接收待更新的逻辑文件,发送更新开始指令帧至FPGA;通过FPGA进行flash指定地址擦除并返回指令完成标识;将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址;待更新文件指令帧发送完成后,向FPGA发送更新完成指令帧并由FPGA返回指令完成标识。该方案利用FPGA器件可支持远程更新的功能,搭建从上位机到目标FPGA的远程更新链路,实现贴片机FPGA固件的远程更新。
Description
技术领域
本发明涉及数字信号处理技术领域,具体地涉及一种FPGA远程更新方法、系统、贴片机及存储介质。
背景技术
FPGA属于易失性器件,易失性表现在FPGA掉电后,原先运行在FPGA中的用户设计的逻辑丢失,再次上电后FPGA上不再有用户设计的逻辑。因此,一般FPGA需要搭配一个外围设备,为非易失性器件。非易失性器件以flash为例,断电后数据不会丢失,可重复对存储数据进行擦除和编程,因此硬件设计人员会将逻辑文件固化至flash,固化至flash的文件即为固件,固件的升级即为该文件的更新。针对贴片机内部现有板卡FPGA固件,因贴片机为集成化设备,硬件板卡封装在内部且不便拆卸,当固件有优化升级需求时,本地更新困难。因此,当贴片机出厂后,在长期测试使用中若有固件需要优化升级,则难以在本地实现。
发明内容
本发明的目的是克服现有技术存在的问题,提供一种FPGA远程更新方法、系统、贴片机及存储介质,利用FPGA器件可支持远程更新的功能,搭建从上位机到目标FPGA的远程更新链路,实现贴片机FPGA固件的远程更新。
为了实现上述目的,本发明第一方面提供一种FPGA远程更新方法,包括以下步骤:
远程接收待更新的逻辑文件,发送更新开始指令帧至FPGA;
通过FPGA进行flash指定地址擦除并返回指令完成标识;
将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址;
待更新文件指令帧发送完成后,向FPGA发送更新完成指令帧并由FPGA返回指令完成标识。
优选地,所述每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址,包括:
读取所述逻辑文件的第一段数据,打包下发至FPGA;
FPGA接收到更新文件指令帧后返回指令完成标识,开始将数据写入flash指定地址,监控到写入完成后返回监控指令完成标识;
轮询到监控指令完成标识后继续读取下一段数据,重复打包下发直至将所述逻辑文件数据全部打包发完。
优选地,在整个所述远程更新流程中,若出现等待预设时间内未收到FPGA返回的指令完成标识,则提示更新失败警告。
本发明第二方面提供一种一种FPGA远程更新系统,包括:
上位机,用于远程接收待更新的逻辑文件,发送更新开始指令帧至目标板卡后,将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送并写入目标板卡;
目标板卡,与上位机电性连接,包括FPGA和flash,所述flash用于存储数据;所述FPGA从flash读出数据加载至FPGA,用于接收更新开始指令帧进行flash指定地址擦除,以及接收更新文件指令帧并写入flash指定地址,并返回指令完成标识至上位机。
优选地,所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息和CRC校验码;所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息、CRC校验码和所述每段数据。
优选地,所述flash上存储有用户文件和出厂文件,所述用户文件存储在所述指定地址,用来被所述逻辑文件更新替换;所述出厂文件的存储地址不对外开放读写功能,具备所述用户文件的完整功能,当所述用户文件不完整时,FPGA读取所述出厂文件并运行。
优选地,所述用户文件的功能模块包括:看门狗定时复位模块和远程更新管理模块,所述看门狗定时复位模块用于对所述远程更新管理模块定时看门狗复位,以告知FPGA当前运行的文件无异常;所述远程更新管理模块用于当所述用户文件不完整,FPGA读取所述出厂文件,之后读取加载所述用户文件异常时,FPGA重新读取加载出厂文件并运行。
优选地,所述目标板卡包括多级板卡,与上位机直接级联的板卡作为一级板卡,与一级板卡的通信接口级联的板卡为二级板卡,依次类推;所述一级板卡在接收到上位机发送的指令帧后,通过识别指令帧内的信息判断要更新的板卡,若不是本级板卡则继续下发指令帧至次级板卡并通过不断轮询下级板卡以获取指令完成标识,当获取指令完成标识后则向上层返回直至上位机。
本发明第三方面提供一种贴片机,包括上述FPGA远程更新系统,系统中的上位机为工控机。
本发明第四方面提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述FPGA远程更新方法。
通过上述技术方案,利用FPGA器件可支持远程更新的功能,搭建从上位机到目标FPGA的远程更新链路,可实现贴片机FPGA固件的远程更新,从而解决贴片机拆装困难,需要技术人员到现场更新固件等一系列难题,且应用到贴片机中可实现贴片机生产厂商可通过网络将待更新的固件文件远程发送至贴片机使用厂商的贴片机工控机上,利用工控机作为上位机将固件文件更新至指定硬件板卡FPGA,实现固件优化升级。并且,采用分段式更新文件写入,更新异常时可及时停止并恢复至原始状态再一次进行更新远程更新流程中,跟踪整体固件升级流程,在前一帧数据写入成功后再写入下一帧数据,更大程度上保证更新正常完整。对于贴片机设备,相较于本地更新方式,远程更新实现方式更加便捷快速,减少人工损耗。
附图说明
图1为本发明实施例FPGA远程更新流程图;
图2为本发明实施例FPGA远程更新实现原理示意图;
图3为本发明实施例逻辑文件内容格式图;
图4为本发明FPGA上电流程图;
图5为本发明实施例用户文件远程更新功能模块示意图;
图6为本发明实施例出厂文件远程更新功能模块示意图。
实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
本发明实施例第一方面提供一种FPGA远程更新方法,如图1所示,包括以下步骤:
S1、远程接收待更新的逻辑文件,发送更新开始指令帧至FPGA;
FPGA远程更新方法的实现基于FPGA远程更新系统,示例性地将FPGA远程更新方法应用于贴片机中,远程更新的实现原理如图2所示,在远端设备上基于已优化的逻辑生成新的固件,后通过网络向贴片机使用客户端发送该固件(逻辑文件),最终到达本地设备——贴片接工控机上。基于当前网络发展,该部分实现可通过任意可传输文件的应用程序进行传输。到达本地设备后,利用工控机出厂自带程序加载该文件,并通过目标板卡与工控机相连的物理链路进行数据传输,最终经由FPGA中用户设计的逻辑向flash中写入新的文件,之后设备上电重启,进入FPGA启动阶段从flash中加载新的逻辑文件,贴片机应用程序读取目标板卡硬件逻辑版本号已更新,即为完成本次远程更新。
在明确了贴片机内某目标板卡有逻辑优化的需求并生成响应优化后的逻辑文件,该逻辑文件从远端设备经由网络传输或其他文件传输方式至贴片机用户端设备——贴片机工控机上,贴片机工控机在这里作用为FPGA远程更新系统的上位机,上位机读取加载待更新的逻辑文件,该逻辑文件的主要内容格式如图3所示,为16进制文件。按照方案设计拟定的通信协议,上位机先发送一帧指令为更新开始指令帧,用于告知目标板卡之后要进行固件升级,内容包含目标板卡的地址、指令专用功能码、目标板卡信息、指令执行监控标识信息以及CRC校验码等。目标板卡地址信息:用于区别不同子模块,不同子模块地址不一致;指令专用功能码:用于说明该指令为更新开始指令、更新文件指令帧还是更新完成指令帧;目标板卡信息:一个子模块中包含多级板卡,该信息用于说明待更新的目标板卡为几级板卡;指令执行监控标识信息:当前指令帧的指令编号,目标板卡接收到后会暂存该信息,当该指令执行完成后,将该信息返回上层,表明该指令已执行完成;CRC校验码:每条指令帧末尾存在CRC校验码,目标板卡接收到一帧数据后会将所有数据进行CRC计算,得出CRC校验码,若和接收的CRC校验码一致,则判定该帧数据传输过来没有问题,保证数据的准确性。上位机发送完该帧指令后并收到更新开始帧的指令完成标识时,将该时刻记录为更新开始指令开始执行时刻。之后不断轮询目标板卡的状态信息,直至目标板卡返回“指令执行监控标识”的指令完成标识。
S2、通过FPGA进行flash指定地址擦除并返回指令完成标识;
目标板卡通过FPGA接收到不同指令帧,会回复对应指令帧至上位机。当接收到更新开始指令帧,目标板卡通过FPGA进行flash指定地址擦除工作,为后续到来的逻辑文件写入工作做好准备。
S3、将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址;
如图1所示,步骤S3具体包括:
S31、读取所述逻辑文件的第一段数据,打包下发至FPGA;
S32、FPGA接收到更新文件指令帧后返回指令完成标识,开始将数据写入flash指定地址,监控到写入完成后返回监控指令完成标识;
S33、轮询到监控指令完成标识后继续读取下一段数据,重复打包下发直至将所述逻辑文件数据全部打包发完。
更新开始指令执行完成后,上位机对逻辑文件进行分段式处理,示例性地,每次读取32byte数据,将该32byte数据打包成一帧更新文件指令帧,该一帧更新文件指令帧组成包括目标板卡的地址、专用功能码、指令执行监控标识信息、32byte数据以及CRC校验码等,经由上位机与目标板卡的物理链路传输至目标板卡FPGA中。
目标板卡通过FPGA接收到更新文件指令帧后,立刻返回对应指令帧的指令完成标识,之后利用逻辑块中“flash读写控制器”功能块开始向flash已擦好的地址位置写入32byte数据,同时上位机向FPGA发送指令执行监控标识,FPGA监控到写入完成后,返回上位机“指令执行监控标识”的监控指令完成标识。
上位机轮询到目标板卡返回的前一条指令的“指令执行监控标识”的完成标识,记录该帧指令执行完成,则继续读取下一段的32byte文件,重复打包、下发、监控流程,直至上位机将整个逻辑文件内容全部打包发完。
S4、待上位机将更新文件指令帧发送完成后,向FPGA发送更新完成指令帧并由FPGA返回指令完成标识。
整个更新流程中,若出现等待预设时间内未收到目标板卡返回的完成标识,则提示更新失败警告,本发明实施例的预设时间优选为3s。
由于目标板卡对更新开始指令帧执行的工作是逻辑文件写入准备工作,因此若前一次更新失败,上位机可重新发起逻辑文件更新流程,目标板卡中的FPGA在接收到更新开始指令,会重新擦除指定地址位置信息,避免上一次更新中途失败导致不能再次正常写入flash。
基于同一发明构思,本发明实施例第二方面提供一种FPGA远程更新系统,包括:
上位机,用于远程接收待更新的逻辑文件,发送更新开始指令帧至目标板卡后,将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送并写入目标板卡;
目标板卡,与上位机电性连接,包括FPGA和flash,所述flash用于存储数据;所述FPGA从flash读出数据加载至FPGA,用于接收更新开始指令帧进行flash指定地址擦除,以及接收更新文件指令帧并写入flash指定地址,并返回指令完成标识至上位机;
所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息和CRC校验码;所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息、CRC校验码和所述每段数据。
目标板卡中FPGA上电简化流程如图4所示,第1步,板卡上电,FPGA得电;第2步,FPGA主动向flash发起通信,请求读出逻辑文件;第3步,从flash读出数据加载至FPGA,加载成功后FPGA运行用户设计逻辑,FPGA上电启动完成。
进一步地,所述flash上存储有用户文件和出厂文件,所述用户文件存储在所述指定地址,用来被所述逻辑文件更新替换;所述出厂文件的存储地址不对外开放读写功能,具备所述用户文件的完整功能,当所述用户文件不完整时,FPGA读取所述出厂文件并运行。
示例性地,支持spi通信协议的flash以及支持远程更新的FPGA均适用。目标板卡上的flash作为非易失性器件,内部存储了两段有效逻辑文件;FPGA作为逻辑文件的执行单元,在上电初始化时会主动从flash中读取逻辑文件形成执行信息,作为易失性器件FPGA在掉电后,其上的执行信息会丢失。
flash存储两段有效逻辑文件,其中一段存储着出厂文件,另一段存储着用户文件。两段文件实现的主要功能基本一致,其中出厂文件具有控制FPGA向flash指定地址读取加载文件的特有功能,用户文件没有。
出厂文件必须是从flash首地址开始存储,因为FPGA上电初始化时会自动从flash首地址0x00_0000开始读取数据。FPGA加载完出厂文件后开始执行,由于出厂文件中存在的特有功能,会使FPGA再次从flash指定地址读取,这时,读出的文件为用户文件,若用户文件读取后校验成功,则最终FPGA加载执行的文件为用户文件。
可以看出远程更新的实现要点在于flash存储两个文件,其中出厂文件存在的意义是作为备份文件,即备份逻辑,该逻辑需要兼顾当前板卡设计主功能、支持固件更新、支持更新出错后不重新加载等逻辑。因此,在贴片机出厂前,指定出厂文件与用户文件地址,将两个文件利用FPGA专用固件生成器合成一个文件,之后可通过本地更新方式,将该文件固化至flash。
进一步地,所述用户文件的功能模块包括:看门狗定时复位模块和远程更新管理模块,所述看门狗定时复位模块用于对所述远程更新管理模块定时看门狗复位,以告知FPGA当前运行的文件无异常;所述远程更新管理模块用于当所述用户文件不完整,FPGA读取所述出厂文件,之后读取加载所述用户文件异常时,FPGA重新读取加载出厂文件并运行。
本发明实施例FPGA远程更新,是擦除旧的用户文件再写入新的用户文件,即用户文件的更新。如图5所示,是用户文件中与远程更新相关的功能模块,可以看出远程更新方案中是将通信接口收到的数据通过相关功能模块与flash建立交互,实现flash中存储信息的更新。其中asmi ip核是flash读写功能模块,remote update ip核是远程更新管理模块,由于用户文件并不是首次加载运行的文件,因此需要对该remote update ip进行定时看门狗复位,用于告知FPGA当前执行的文件无异常。通信接口固件更新触发信号,该信号在接收到更新类指令帧后生成,送至flash读写控制逻辑模块;flash读写控制逻辑模块,在接收到触发信号后,对应生成flash的擦除、写入等控制信号,送入asmi ip核;通信接口固件更新数据,是在接收到更新文件指令帧后取出的32byte文件数据,由于接收数据的时钟与asmiip核的工作时钟不是同频率的时钟,因此采用异步fifo将数据暂存;异步fifo,存入数据时的写入时钟为接收数据所用的时钟,读出数据的读出时钟为asmi ip的工作时钟,用于实现数据的跨时钟域传输。
出厂文件是作为更新失败后的备份文件存在的,具备用户文件所有的完整功能,并且存储出厂文件的地址位置不对外开放读写功能。当远程更新出现异常导致原先用户文件不完整时,目标板卡重新上电后会先运行出厂文件,之后读取加载用户文件,由于用户文件异常,remote update ip的存在会使FPGA再次重新读取加载出厂文件,并运行出厂文件,出厂文件中会先检查上一次用户文件加载是否成功,若上一次加载失败,则不会再次读取加载用户文件,最终FPGA执行文件是出厂文件。出厂文件也支持对用户文件的更新,因此可再次尝试进行用户文件更新。因此,出厂文件中设计的逻辑功能包含优先读取上一次加载用户文件的状态,若上一次加载用户文件失败,则不再进行指定地址重加载文件的行为,最终FPGA运行的逻辑为出厂文件中设计的逻辑,有效避免由于用户文件不完整,而陷入死循环。
进一步地,出厂文件设计与用户文件设计说明如下:
对于出厂文件里设计的逻辑:如图6所示,通过物理层链路,上层将固件数据向下发送,因收到固件更新开始指令,给出触发信号,flash读写控制逻辑中立刻通过asmi ip核与flash建立联系,进行flash擦除。对flash内部数据更新的首要条件是擦除,擦除后对应区域信息均为0xFF,即擦除行为会让原先的bit0变为bit1,由此可认为擦除过程也是写入的过程,将数据0写成1。flash有两种支持擦除方式,块擦除和扇区擦除,块擦除操作过程耗时短,但会将整个存储空间信息擦除,这与我们之前备份出厂文件的初衷相违背,因此不采用该方式而采用扇区擦除,扇区擦除一次擦掉4Kbyte数据,擦除1M空间实测时间为60s左右。以EP4CE系列FPGA为例,其生成的固件文件经压缩后一般不超过2M,该文件大小因设计人员设计的逻辑的复杂程度有所变动,但波动不大。因此我们只需在指定地址区域擦除2M空间即可。一般推荐FPGA与flash的交换时间频率为10MHz,但FPGA主频时钟可能不一定是10MHz,因此采用异步fifo通过FPGA主频将通信接口给出的固件更新数据接收,然后再利用10MHz的时钟从fifo中读出数据并写入flash。除了固件更新逻辑功能,还有指定地址重加载文件逻辑功能。该逻辑模块主要是针对remote update ip核开展,从该ip核中读取上一次加载文件的状态,首次上电后该状态为正常加载状态,因此接下来会向该ip写入指定用户文件存储的首地址,最后向该ip核发出重加载触发信号,该ip与asmi ip联动,进行用户文件的加载。为了保证远程更新ip核工作的稳定,必须定时进行看门狗喂狗复位。
进一步地,所述目标板卡包括多级板卡,与上位机直接级联的板卡作为一级板卡,与一级板卡的通信接口级联的板卡为二级板卡,依次类推;目前采用的协议指令帧包含目标板卡的板卡信息,因此可以更新未与上位机直接级联的目标板卡。一级板卡在接收到指令帧后可通过识别指令帧内的目标板卡地址、目标板卡信息等,判断是更新本级板卡,还是继续下发至次级板卡。若不是本级更新则继续下发并通过不断轮询下级板卡以获取指令的完成标识,当获取指令的完成标识则向上层返回直至上位机,从而实现多级级联板卡的远程更新功能。
示例性地,FPGA远程更新系统工作流程如下,如图1所示:
S10、上位机远程接收待更新的逻辑文件,发送更新开始指令帧至FPGA;
S20、FPGA接收更新开始指令帧后进行flash指定地址擦除并返回指令完成标识至上位机;
S30、上位机判断是否收到指令完成标识,若收到则读取所述逻辑文件的第一段数据,打包成一帧更新文件指令帧下发至FPGA,同时下发指令执行监控标识;
S40、FPGA接收到更新文件指令帧后返回指令完成标识至上位机,开始将数据写入flash指定地址,根据指令执行监控标识监控到写入完成后返回监控指令完成标识至上位机;
S50、上位机轮询到监控指令完成标识后继续读取下一段数据,重复打包下发直至将所述逻辑文件数据全部打包发完;
S60、待上位机将更新文件指令帧发送完成后,向FPGA发送更新完成指令帧并由FPGA返回指令完成标识,远程更新完成;期间若出现上位机等待预设时间内未收到目标板卡返回的完成标识,则提示更新失败警告。
本发明实施例第三方面提供一种贴片机,包括如上述的FPGA远程更新系统,系统中的上位机为工控机。
从目标板卡至本地设备(贴片机工控机),首先,工控机上存储有能够实现FPGA远程更新系统运行的远程更新软件,工控机到目标板卡的物理链路采用RS485物理协议。协议规定,远程更新软件每截取32byte数据生成一帧更新开始指令帧数据,加上包头信息与包尾校验数据,向下发送。受限于工控机与目标板卡直接使用RS485接口通信,数据传输速率较低问题,因此加入主控板,更新软件通过PCIe接口写入主控板,主控板向下转发至目标板卡,目标板卡接收到该数据帧并完全写入flash后,会向上层反馈当前指令帧完成标识,远程更新软件读取到该标识,接着向下发送第二帧数据,循环往复,直至固件文件完全发送完成。软件下发固件更新完成指令帧,目标板卡复位相关逻辑。整机重新上电,之后FPGA读取加载新的用户文件,完成远程更新。
本发明实施例第四方面提供一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述FPGA远程更新方法。
本发明实施例主要基于FPGA支持基础远程更新功能,或者FPGA提供了可用于读写配置器件——flash的ip以及远程更新专用ip,或者FPGA需要硬件设计人员基于flash支持的物理协议,例如spi协议等自行设计flash读写ip以实现远程更新。
综上所述,本发明技术方案为解决本地更新困难问题,利用FPGA器件可支持远程更新的功能,搭建从上位机到FPGA的远程更新链路,可实现贴片机FPGA固件的远程更新,从而解决机器拆装困难,需要技术人员到现场更新固件等一系列难题。此外,贴片机内部自带工控机,贴片机生产厂商可通过网络将待更新的固件文件远程发送至贴片机使用厂商的贴片机工控机上,利用工控机作为上位机将固件文件更新至指定硬件板卡FPGA,实现固件优化升级;采用分段式更新文件写入,更新异常时可及时停止并恢复至原始状态再一次进行更新;能够实现多级板卡远程更新,同一级相同逻辑的多个板卡也可以同时更新,通过统计多个板卡的完成标识实现。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于此。在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型包括各个具体技术特征以任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。但这些简单变型和组合同样应当视为本发明所公开的内容,均属于本发明的保护范围。
Claims (10)
1.一种FPGA远程更新方法,其特征在于,包括以下步骤:
远程接收待更新的逻辑文件,发送更新开始指令帧至FPGA;
通过FPGA进行flash指定地址擦除并返回指令完成标识;
将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址;
待更新文件指令帧发送完成后,向FPGA发送更新完成指令帧并由FPGA返回指令完成标识。
2.根据权利要求1所述的方法,其特征在于,所述每段数据打包成一帧更新文件指令帧,逐一发送至FPGA,通过FPGA将每段数据写入flash指定地址,包括:
读取所述逻辑文件的第一段数据,打包下发至FPGA;
FPGA接收到更新文件指令帧后返回指令完成标识,开始将数据写入flash指定地址,监控到写入完成后返回监控指令完成标识;
轮询到监控指令完成标识后继续读取下一段数据,重复打包下发直至将所述逻辑文件数据全部打包发完。
3.根据权利要求1或2所述的方法,其特征在于,在整个所述远程更新流程中,若出现等待预设时间内未收到FPGA返回的指令完成标识,则提示更新失败警告。
4.一种FPGA远程更新系统,其特征在于,包括:
上位机,用于远程接收待更新的逻辑文件,发送更新开始指令帧至目标板卡后,将所述逻辑文件分段处理,每段数据打包成一帧更新文件指令帧,逐一发送并写入目标板卡;
目标板卡,与上位机电性连接,包括FPGA和flash,所述flash用于存储数据;所述FPGA从flash读出数据加载至FPGA,用于接收更新开始指令帧进行flash指定地址擦除,以及接收更新文件指令帧并写入flash指定地址,并返回指令完成标识至上位机。
5.根据权利要求4所述的系统,其特征在于,所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息和CRC校验码;所述更新开始指令帧组成包括目标板卡的地址、指令专用功能码、目标板卡信息指令执行监控标识信息、CRC校验码和所述每段数据。
6.根据权利要求4所述的系统,其特征在于,所述flash上存储有用户文件和出厂文件,所述用户文件存储在所述指定地址,用来被所述逻辑文件更新替换;所述出厂文件的存储地址不对外开放读写功能,具备所述用户文件的完整功能,当所述用户文件不完整时,FPGA读取所述出厂文件并运行。
7.根据权利要求6所述的系统,其特征在于,所述用户文件的功能模块包括:看门狗定时复位模块和远程更新管理模块,所述看门狗定时复位模块用于对所述远程更新管理模块定时看门狗复位,以告知FPGA当前运行的文件无异常;所述远程更新管理模块用于当所述用户文件不完整,FPGA读取所述出厂文件,之后读取加载所述用户文件异常时,FPGA重新读取加载出厂文件并运行。
8.根据权利要求4-6中任一所述的系统,其特征在于,所述目标板卡包括多级板卡,与上位机直接级联的板卡作为一级板卡,与一级板卡的通信接口级联的板卡为二级板卡,依次类推;所述一级板卡在接收到上位机发送的指令帧后,通过识别指令帧内的信息判断要更新的板卡,若不是本级板卡则继续下发指令帧至次级板卡并通过不断轮询下级板卡以获取指令完成标识,当获取指令完成标识后则向上层返回直至上位机。
9.一种贴片机,其特征在于,包括如权利要求4-8中任一所述的FPGA远程更新系统,系统中的上位机为工控机。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1-3中任一所述的FPGA远程更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310110335.8A CN115840579A (zh) | 2023-02-14 | 2023-02-14 | Fpga远程更新方法、系统、贴片机及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310110335.8A CN115840579A (zh) | 2023-02-14 | 2023-02-14 | Fpga远程更新方法、系统、贴片机及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115840579A true CN115840579A (zh) | 2023-03-24 |
Family
ID=85579634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310110335.8A Withdrawn CN115840579A (zh) | 2023-02-14 | 2023-02-14 | Fpga远程更新方法、系统、贴片机及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840579A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116133357A (zh) * | 2023-04-14 | 2023-05-16 | 合肥安迅精密技术有限公司 | 用于贴片机的真空压监测系统及方法 |
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
CN116302020A (zh) * | 2023-05-25 | 2023-06-23 | 北京中科网威信息技术有限公司 | Fpga的逻辑程序升级方法、装置、设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808290A (zh) * | 2016-03-02 | 2016-07-27 | 中国科学院自动化研究所 | 用于多fpga整机系统的远程动态更新系统和方法 |
CN106843959A (zh) * | 2017-01-18 | 2017-06-13 | 株洲变流技术国家工程研究中心有限公司 | 一种fpga远程更新装置及方法 |
CN106933632A (zh) * | 2017-03-13 | 2017-07-07 | 山东网聪信息科技有限公司 | 基于以太网的fpga功能在线升级方法 |
CN107977217A (zh) * | 2017-11-22 | 2018-05-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 在线加载xilinx-fpga多版本更新程序的方法 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN110377297A (zh) * | 2019-07-12 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种镜像文件固化系统、方法、装置以及相关设备 |
CN110505071A (zh) * | 2019-08-30 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 局域网内fpga板卡的远程更新方法、系统及相关装置 |
CN110597533A (zh) * | 2019-08-22 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种fpga板卡程序更新系统及方法 |
CN110764799A (zh) * | 2019-09-27 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种优化远程更新fpga加速卡的方法、设备及介质 |
CN112148319A (zh) * | 2020-10-21 | 2020-12-29 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于高速串行口的并行工作fpga在线配置系统及方法 |
CN113703803A (zh) * | 2021-07-29 | 2021-11-26 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于fpga的远程升级系统、方法及介质 |
CN113835735A (zh) * | 2021-08-19 | 2021-12-24 | 深圳市紫光同创电子有限公司 | 一种fpga远程升级方法、系统和存储介质 |
CN114115957A (zh) * | 2021-11-29 | 2022-03-01 | 中船重工(武汉)凌久电子有限责任公司 | 一种带备份的fpga在线更新方法及其系统 |
CN114327571A (zh) * | 2022-03-14 | 2022-04-12 | 合肥悦芯半导体科技有限公司 | 文件配置方法、芯片测试机及计算机可读取存储介质 |
CN114546453A (zh) * | 2022-04-27 | 2022-05-27 | 成都凯天电子股份有限公司 | Fpga配置项在线升级方法、系统、设备及存储介质 |
-
2023
- 2023-02-14 CN CN202310110335.8A patent/CN115840579A/zh not_active Withdrawn
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808290A (zh) * | 2016-03-02 | 2016-07-27 | 中国科学院自动化研究所 | 用于多fpga整机系统的远程动态更新系统和方法 |
CN106843959A (zh) * | 2017-01-18 | 2017-06-13 | 株洲变流技术国家工程研究中心有限公司 | 一种fpga远程更新装置及方法 |
CN106933632A (zh) * | 2017-03-13 | 2017-07-07 | 山东网聪信息科技有限公司 | 基于以太网的fpga功能在线升级方法 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN107977217A (zh) * | 2017-11-22 | 2018-05-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 在线加载xilinx-fpga多版本更新程序的方法 |
CN110377297A (zh) * | 2019-07-12 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种镜像文件固化系统、方法、装置以及相关设备 |
CN110597533A (zh) * | 2019-08-22 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种fpga板卡程序更新系统及方法 |
CN110505071A (zh) * | 2019-08-30 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 局域网内fpga板卡的远程更新方法、系统及相关装置 |
CN110764799A (zh) * | 2019-09-27 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种优化远程更新fpga加速卡的方法、设备及介质 |
CN112148319A (zh) * | 2020-10-21 | 2020-12-29 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于高速串行口的并行工作fpga在线配置系统及方法 |
CN113703803A (zh) * | 2021-07-29 | 2021-11-26 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于fpga的远程升级系统、方法及介质 |
CN113835735A (zh) * | 2021-08-19 | 2021-12-24 | 深圳市紫光同创电子有限公司 | 一种fpga远程升级方法、系统和存储介质 |
CN114115957A (zh) * | 2021-11-29 | 2022-03-01 | 中船重工(武汉)凌久电子有限责任公司 | 一种带备份的fpga在线更新方法及其系统 |
CN114327571A (zh) * | 2022-03-14 | 2022-04-12 | 合肥悦芯半导体科技有限公司 | 文件配置方法、芯片测试机及计算机可读取存储介质 |
CN114546453A (zh) * | 2022-04-27 | 2022-05-27 | 成都凯天电子股份有限公司 | Fpga配置项在线升级方法、系统、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
朝阳群众&热心市民: "Xilinx 7系列FPGA Multiboot介绍-远程更新", pages 1 - 3 * |
樊继明等: "《FPGA Verilog开发实战指南 基础篇 基于Intel Cyclone IV》", 北京航空航天大学出版社, pages: 131 - 133 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116133357A (zh) * | 2023-04-14 | 2023-05-16 | 合肥安迅精密技术有限公司 | 用于贴片机的真空压监测系统及方法 |
CN116133357B (zh) * | 2023-04-14 | 2023-06-09 | 合肥安迅精密技术有限公司 | 用于贴片机的真空压监测系统及方法 |
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
CN116204450B (zh) * | 2023-04-28 | 2023-08-18 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
CN116302020A (zh) * | 2023-05-25 | 2023-06-23 | 北京中科网威信息技术有限公司 | Fpga的逻辑程序升级方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115840579A (zh) | Fpga远程更新方法、系统、贴片机及存储介质 | |
US8930931B2 (en) | Information processing apparatus using updated firmware and system setting method | |
CN107179909A (zh) | 软件升级方法、装置及计算机可读存储介质 | |
EP3690653A1 (en) | Bios recovery and update | |
CN105808292A (zh) | 嵌入式终端设备的固件升级方法 | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
US20200394144A1 (en) | Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device | |
CN112231005B (zh) | 一种基于uboot管理fpga版本的方法 | |
CN111562932B (zh) | 一种高可靠嵌入式软件升级方法及系统 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN116450244B (zh) | 芯片启动方法、装置、计算机设备和存储介质 | |
US11073893B2 (en) | System and method capable of remotely controlling electronic apparatus | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
WO2024113995A1 (zh) | 一种bmc异构升级方法、系统、设备及可读存储介质 | |
TWI808362B (zh) | 可自我監視及恢復作業系統運作的電腦系統及方法 | |
CN112463466B (zh) | 电脑测试方法 | |
CN117215656A (zh) | 基于Linux系统自适配车机芯片方法、装置、电子设备及车辆 | |
CN116560678A (zh) | 固件更新方法、装置、存储介质及电子装置 | |
CN111159123B (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
CN109901117B (zh) | 一种雷达重启方法及装置 | |
TWI541724B (zh) | 寫入基本輸入輸出系統程式碼的電路與寫入方法 | |
CN109684134B (zh) | 用于在多个设备间快速部署固件设定的方法及服务器 | |
CN111414272B (zh) | 电子装置与电子装置的重置方法 | |
US20220374223A1 (en) | Server and updating method for mac address | |
CN116521207A (zh) | Fpga远程升级方法及系统 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230324 |