CN103777972B - 基于现场可编程门阵列的系统、配置方法以及升级方法 - Google Patents

基于现场可编程门阵列的系统、配置方法以及升级方法 Download PDF

Info

Publication number
CN103777972B
CN103777972B CN201210407848.7A CN201210407848A CN103777972B CN 103777972 B CN103777972 B CN 103777972B CN 201210407848 A CN201210407848 A CN 201210407848A CN 103777972 B CN103777972 B CN 103777972B
Authority
CN
China
Prior art keywords
gate array
programmable gate
interface
microprocessor
configuration file
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.)
Active
Application number
CN201210407848.7A
Other languages
English (en)
Other versions
CN103777972A (zh
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.)
Shanghai United Imaging Healthcare Co Ltd
Original Assignee
Shanghai United Imaging Healthcare 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 Shanghai United Imaging Healthcare Co Ltd filed Critical Shanghai United Imaging Healthcare Co Ltd
Priority to CN201210407848.7A priority Critical patent/CN103777972B/zh
Publication of CN103777972A publication Critical patent/CN103777972A/zh
Application granted granted Critical
Publication of CN103777972B publication Critical patent/CN103777972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种基于现场可编程门阵列的系统,包括计算机、现场可编程门阵列FPGA及接口,所述计算机与所述现场可编程门阵列FPGA通过所述接口相连,所述系统还包括:非易失性存储器,用于存储配置文件;微处理器,与所述可编程门阵列FPGA及非易失性存储器相连;地址线,分别连接所述微处理器与所述非易失性存储器。所述系统能够解决现场可编程门阵列FPGA加载配置文件时间过长而导致计算机无法识别FPGA的问题,本发明还提供了一种基于所述系统的配置方法以及升级方法。

Description

基于现场可编程门阵列的系统、配置方法以及升级方法
[0001] 【技术领域】
[0002] 本发明涉及现场可编程门阵列领域,尤其涉及一种基于现场可编程门阵的系统、 配置方法以及升级方法。
[0003] 【背景技术】
[0004] 现场可编程门阵列FPGA由于其内部资源丰富,功能强大,升级便捷而被广泛应用 于各种电子设计中。现场可编程门阵列FPGA的工作状态是由存储在片内RAM(随机存储器) 中的程序来设置的,由于RAM中的数据在每次掉电之后会丢失,因此每次上电之后,需要对 片内的RAM进行配置。FPGA的配置文件一般保存在非易失存储器中,配置方式有很多种,不 同的配置方式所花费的配置时间不同。
[0005] 随着1C设计技术的逐渐成熟,FPGA的资源越来越丰富,功能越来越强大,同时其 配置文件也越来越大,配置时间越来越长。但是计算机识别某些接口有时间上的要求,例如 目前广泛使用的PCI Express接口,计算机电源开启后,12V电源一般在100ms后爬升到95%, 维持稳定100ms后,计算机会向PCIe接口卡(使用PCI Express接口作为外部通讯接口的 FPGA板卡简称为PCIe接口卡或者接口卡)发出复位信号,开始识别过程。如果FPGA的配置时 间过长,在复位信号发出时,加载配置文件的过程仍没有结束,该接口卡就不能被正常识 别。
[0006] 目前针对这一问题,最常用的解决方法是热重启,接口卡不断电而重启计算机的 操作系统,从而重新开始识别过程。在系统热重启的过程中,接口卡上的FPGA有足够的时间 完成加载过程。该方法没有解决配置文件加载时间过长的根本问题,给客户的操作带来很 多不便,只是一种临时的解决方案。除此之外,通过修改计算机的驱动,延迟或者多次启动 计算机识别接口卡的过程,也可以使FPGA为核心的接口卡能够被正常识别,但是该方法会 减慢计算机的开机过程,在某些场合不适用。
[0007] 现场可编程门阵列FPGA的另外一个特点是其功能可以通过修改配置文件而灵活 升级,由于现场升级存在各种弊病,可远程升级已是电子产品的一个必备特点。对于以FPGA 为核心的接口卡,计算机可以通过外部通讯接口修改非易失存储器中的配置文件,前提是 外部接口通讯正常。如果在升级过程中发生意外,导致配置文件无法加载,外部接口通讯不 正常,就会导致接口卡功能失效,无法再次远程升级,另外,当写入的升级文件不正确时,也 无法再次远程升级。
[0008] 总体来说,现有技术不能从根本上解决现场可编程门阵列FPGA加载配置文件时间 过长而导致外围计算机无法识别FPGA的问题,而当配置文件由于升级异常导致升级失败 时,无法再次升级。
[0009] 【发明内容】
[0010] 为了解决现场可编程门阵列FPGA加载配置文件时间过长而导致计算机无法识别 FPGA以及配置文件由于升级异常导致升级失败而无法再次升级的问题,本发明提供了一种 基于现场可编程门阵列的系统、配置方法及升级方法。
[0011] 一种基于现场可编程门阵列的系统,包括计算机、现场可编程门阵列FPGA及接口, 所述计算机与所述现场可编程门阵列FPGA通过所述接口相连,所述系统还包括:非易失性 存储器,用于存储配置文件,所述非易失性存储器包括第一存储模块与第二存储模块,所述 配置文件包括第一配置文件及第二配置文件,所述第一配置文件存储于所述第一存储模 块,用于实现所述计算机与所述现场可编程门阵列FPGA接口的通讯,所述第二配置文件存 储于第二存储模块,用于设置所述现场可编程门阵列FPGA的工作状态;微处理器,与所述可 编程门阵列FPGA及非易失性存储器相连,用于加载所述第一配置文件;所述现场可编程门 阵列FPGA用于向所述微处理器发出加载第二配置文件的加载指令;地址线,分别连接所述 微处理器与所述非易失性存储器,用于修改所述非易失存储器的地址信号。
[0012] 可选的,所述微处理器分别与所述现场可编程门阵列FPGA及非易失性存储器相 连。
[0013] 可选的,所述现场可编程门阵列FPGA分别与所述微处理器及非易失性存储器相 连。
[0014] 可选的,其特征在于,所述微处理器与所述非易失性存储器相连,所述非易失性存 储器与所述现场可编程门阵列FPGA相连,所述现场可编程门阵列FPGA与所述微处理器相 连。
[0015] 可选的,所述接口为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN 接口 或SPI接口。
[0016] 可选的,所述非易失性存储器为电可擦可编程只读存储器EEPR0M或闪存FLASH。
[0017] 可选的,所述微处理器为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制 单元MCU〇
[0018] 可选的,所述基于现场可编程门阵列的系统还包括电路板,所述现场可编程门阵 列FPGA、所述微处理器、所述接口以及所述非易失性储存器集成于所述电路板上。
[0019] 为了解决上述问题本发明还提供了另一种基于现场可编程门阵列的系统,包括计 算机、现场可编程门阵列FPGA、PCI e接口以及地址线,所述计算机与所述现场可编程门阵列 FPGA通过所述接口相连,所述系统还包括:
[0020] 电可擦可编程只读存储器EEPR0M,用于存储配置文件,所述非易失性存储器包括 第一存储模块与第二存储模块,所述配置文件包括第一配置文件及第二配置文件,所述第 一配置文件存储于所述第一配置模块,用于实现所述计算机与所述现场可编程门阵列FPGA 接口的通讯所述第二配置文件存储于第二存储模块,用于设置所述现场可编程门阵列FPGA 的工作状态;
[0021] 复杂可编程逻辑器CPLD,与所述可编程门阵列FPGA及所述电可擦可编程只读存储 器EEPR0M相连,加载所述电可擦可编程只读存储器EEPR0M中的第一配置文件;所述现场可 编程门阵列FPGA的用于向所述复杂可编程逻辑器CPLD发出加载第二配置文件的指令;
[0022] 地址线,分别连接所述微处理器与所述非易失性存储器,用于修改所述非易失存 储器的地址信号。
[0023] 为了解决上述问题,本发明还提供了一种基于现场可编程门阵列的系统的配置方 法,所述系统包括:计算机、现场可编程门阵列FPGA、接口、非易失性存储器、微处理器以及 地址线;所述非易失性存储器分别存储第一配置文件以及第二配置文件,所述配置方法包 括如下步骤:
[0024] al)所述微处理器加载所述第一配置文件;
[0025] bl)判断所述接口通讯是否正常;
[0026]若否,则重新执行步骤al;若是,cl)所述现场可编程门阵列FPGA发送加载指令至 所述微处理器;
[0027] dl)所述微处理器加载所述第二配置文件;
[0028] el)判断所述现场可编程门阵列FPGA是否正常工作;
[0029]若否,则重新执行步骤dl;若是,结束所述加载。
[0030]可选的,所述重新执行步骤al之前还包括:fl)判断重新加载所述第一配置文件的 次数是否超过第一阈值;若否,则重新执行步骤al;若是,gl)所述微处理器发出报警指令, 并结束所述加载。
[0031] 可选的,所述重新执行步骤dl之前还包括:hi)判断重新加载所述第二配置文件的 次数是否超过第二阈值;若否,则重新执行步骤dl;若是,则执行gl步骤。
[0032] 可选的,所述接口为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN接口 或SPI接口。
[0033] 可选的,所述非易失性存储器为电可擦可编程只读存储器EEPR0M或闪存FLASH。
[0034] 可选的,所述微处理器为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制 单元MCU〇
[0035] 可选的,所述第一阈值与第二阈值均为3次。
[0036] 为了解决上述问题,本发明还提供了一种基于现场可编程门阵列的系统的升级方 法,所述系统包括:计算机、现场可编程门阵列FPGA、接口、非易失性存储器以及微处理器; 所述非易失性存储器分别存储第一配置文件以及第二配置文件,所述升级方法包括如下步 骤:
[0037] a2)所述微处理器接收到升级指令后,修改所述非易失性存储器的地址信号,使所 述地址信号指向所述第二存储模块,并使所述非易失性存储器处于写入状态,之后再向所 述现场可编程门阵列FPGA发送确认指令;
[0038] b2)所述现场可编程门阵列FPGA接受到所述确认指令并转发至所述计算机;
[0039] C2)所述计算机将升级文件发送至所述现场可编程门阵列FPGA;
[0040] d2)所述现场可编程门阵列FPGA将所述升级文件写入所述第二存储模块。
[0041] 可选的,所述步骤d2具体为:所述现场可编程门阵列FPGA通过所述微处理器将所 述升级文件写入所述第二存储模块。
[0042] 可选的,其特征在于,所述步骤d2具体为:所述现场可编程门阵列FPGA在所述微处 理器的控制下将所述升级文件直接写入所述第二存储模块。
[0043] 可选的,所述步骤a2之前还包括:e2)所述计算机向所述现场可编程门阵列FPGA发 送升级指令;f 2)所述现场可编程门阵列FPGA接收到所述升级指令并转发至所述微处理器。
[0044] 可选的,所述步骤f 2与a2之间还包括:g2)判断所述微处理器对所述升级指令是否 响应;若是,执行步骤a2;若否,h2)判断所述微处理器未响应的次数是否超过第二阈值;若 否,执行步骤e2;若是,i2)所述微处理器向所述计算机发出报警指令,并结束升级。
[0045] 可选的,所述步骤d2之后还包括:j2)判断所述升级文件是否正确;若是,结束所述 升级;若否,k2)判断不正确次数是否超过第四阈值;若否,12)所述微处理器通过所述现场 可编程门阵列向所述计算机发送再次升级请求;若是,执行步骤i2。
[0046] 可选的,所述接口为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN接口 或SPI接口。
[0047] 可选的,所述存储器为电可擦可编程只读存储器EEPR0M或闪存FLASH。
[0048] 可选的,所述微处理器为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制 单元MCU。
[0049] 可选的,所述第三阈值与第四阈值均为3次。
[0050] 本发明对比现有技术有如下的有益效果:
[0051] 本发明提供的基于现场可编程门阵列的系统以及配置方法,在非易失性存储器中 的两个区域分别存储第一配置文件与第二配置文件,第一配置文件包含有计算机识别现 场可编程门阵列FPGA的数据,用于实现计算机与现场可编程门阵列FPGA接口的通讯,第二 配置文件包含有设置现场可编程门阵列FPGA工作状态的数据。在对现场可编程门阵列FPGA 进行配置时,首先只加载第一配置文件,缩短了加载时间,保证计算机与现场可编程门阵列 FPGA接口的通讯正常,在现场可编程门阵列FPGA被计算机识别之后,再加载设置FPGA工作 状态的第二配置文件,避免因现场可编程门阵列FPGA无法被计算机识别而进行热重启。
[0052] 在此基础上,提供的基于现场可编程门阵列的系统的升级方法,只对第二配置文 件进行升级,减少了需要升级文件的大小,降低了对存储设备容量的要求,提高了升级的效 率,同时,即使出现因现场可编程门阵列FPGA无法被计算机识别而导致升级失败时,或者进 一步地在可选的方案中当升级文件不正确时,可以重新进行升级。
[0053]【附图说明】
[0054] 图1为本发明实施例一中基于现场可编程门阵列的系统中现场可编程门阵列 FPGA、微处理器及非易失性存储器第一种连接方式的结构示意图;
[0055] 图2为本发明实施例一中基于现场可编程门阵列的系统中现场可编程门阵列 FPGA、微处理器及非易失性存储器第二种连接方式的结构示意图;
[0056] 图3为本发明实施例一中另一基于现场可编程门阵列的系统中现场可编程门阵列 FPGA、微处理器及非易失性存储器第三种连接方式的结构示意图;
[0057] 图4为本发明实施例二中基于现场可编程门阵列的系统的结构示意图;
[0058] 图5为本发明实施例三中现场可编程门阵列的系统的配置方法流程图;
[0059] 图6为本发明实施例三中现场可编程门阵列的系统的配置方法另一流程图;
[0060] 图7为本发明实施例四中现场可编程门阵列的系统的升级方法流程图;
[0061] 图8为本发明实施例四中现场可编程门阵列的系统的升级方法另一流程图。
[0062]【具体实施方式】
[0063] 为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例 对本发明的具体实施方式做详细的说明。
[0064] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以 采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限 制。
[0065] 实施例1:
[0066] 正如背景技术中所描述的,现场可编程门阵列FPGA的配置文件越来越大,配置时 间越来越长而导致FPGA无法被外围计算机识别,为了避免无法识别的问题,本发明技术方 案提供了一种基于现场可编程门阵列FPGA的系统。
[0067]如图1所示,所述系统10包括计算机10、现场可编程门阵列FPGA 20、接口 30,非易 失性存储器40、微处理器50以及地址线00。
[0068] 现场可编程门阵列FPGA需要支持动态重构的功能,比如是XILINX公司生产的V5系 列的FPGA。
[0069] 所述计算机10与所述现场可编程门阵列FPGA 20通过所述接口 30相连。所述接口 30可以为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN接口或SPI接,优选的,本 实施例中采用PCI Express接口。
[0070] 所述微处理器50分别与所述现场可编程门阵列FPGA 20及所述非易失性存储器40 相连。
[0071]所述地址线00分别连接所述微处理器50与所述非易失性存储器40,用于修改所述 非易失性存储器40地址信号,比如当需要加载第一配置文件时,微处理器50修改非易失性 存储器40的地址信号,使其指向第一存储模块,当需要加载第二配置文件时,微处理器50修 改非易失性存储器40存储器40的地址信号,使其指向第二存储模块。
[0072]需要说明的是,本实施例中以及其他实施例中,除了微处理器50与非易失性存储 器40之间有地址线00连接之外,其余所述相连均是指通过数据线以及控制线连接,即图中 的空心连接接头,避免繁琐,没有一一标出,但本领域内技术人员应该能够理解,且所述连 接数据线以及控制线根据具体需要可以是单向传输数据也可以是双向传输数据。
[0073]所述非易失性存储器40,用于存储配置文件,所述非易失性存储器40包括第一存 储模块01与第二存储模块02,所述配置文件包括第一配置文件及第二配置文件,所述第一 配置文件存储于所述第一存储模块01,所述第二配置文件存储于第二配置模块02。
[0074] 不同型号的FPGA的配置文件的格式是不一样,比如ALTERA公司的FPGA最常用的 是.pof文件,XILINX公司的为.mcs文件,但是无论什么格式的下载文件,最终下载到FPGA中 的文件都为原始二进制文件。
[0075]配置文件的内容则是包含控制现场可编程门阵列FPGA工作的逻辑,所述逻辑包括 控制FPGA与其他器件通讯识别的信息以及配置FPGA工作状态的信息,本发明中将配置文件 分为两部分,即将用于通讯的信息作为第一配置文件存储在第一存储模块中,用于实现所 述计算机10与所述现场可编程门阵列FPGA 20接口的通讯,将用于配置FPGA工作状态的信 息作为第二配置文件存储在第二存储模块中,所述第二配置文件用于设置所述现场可编程 门阵列FPGA 20的工作状态。
[0076] 所述非易失性存储器40为电可擦可编程只读存储器EEPR0M或闪存FLASH,优选的, 本实施例中采用闪存FLASH。
[0077]所述微处理器50,用于加载所述非易失性存储器40中的第一配置文件,在接收到 所述现场可编程门阵列FPGA 20的加载指令后,加载所述非易失性存储器40中的第二配置 文件。所述微处理器50为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制单元MCU。优 选的,本实施例中采用复杂可编程逻辑器CPLD。
[0078]所述系统100还包括电路板60,所述现场可编程门阵列FPGA 20、所述微处理器50 以及所述非易失性储存器40集成于所述电路板60上。
[0079] 如图2所示,所述非易失性存储器40可以与所述现场可编程门阵列FPGA 20相连, 所述微处理器50与所述可编程门阵列FPGA 20相连。
[0080] 所述微处理器50与所述非易失性存储器之间只有地址线00相连,没有数据线相 连。所以,以图2中的连接方式,所以现场可编程门阵列FPGA 20可以直接对非易失性存储器 40进行数据的读取与写入。
[0081] 在实际应用当中,计算机10、现场可编程门阵列FPGA 20、接口30,非易失性存储器 40以及微处理器50不限于上述连接方式,比如在通讯接口功能不复杂的情况的下,所述微 处理器50也可以与所述计算机10相连接;再比如图3所示,综合了图1与图2的一些连接方 式,现场可编程门阵列FPGA 20在微处理器50的控制下可以直接从非易失性存储器中读取 数据,需要升级时,通过微处理器将升级数据写入。当然这种连接方式,涉及到非易失性存 储器与两个器件都有数据的输入输出,为了避免数据传输时相互之间的影响,因此当现场 可编程门阵列FPGA 2〇直接读取非易失性存储器中的数据时,需要将微处理的I/O口(输入/ 输出口)设置为高阻态,当微处理器50向非易失性存储器40写入数据时,则需要将现场可编 程门阵列FPGA 20的I/O口设置为高阻态。
[0082]综上,不同的连接方式,只是数据传输的途径不同,但是在本技术方案下实现的功 能是相同的,所以可以根据不同器件所支持的连接方式不同而选择不同的连接方式。
[0083] 实施例二:
[0084]如图4所示,所述系统101包括计算机10、现场可编程门阵列FPGA 20、PC I e接口 70、 地址线00、电可擦可编程只读存储器EEPROM 80以及复杂可编程逻辑器CPLD 90。
[0085] 所述计算机10与所述现场可编程门阵列FPGA 20通过所述接口30相连。
[0086] 所述电可擦可编程只读存储器EEPROM 80,用于存储配置文件,所述非易失性存储 器40包括第一存储模块01与第二存储模块02,所述配置文件包括第一配置文件及第二配置 文件,所述第一配置文件存储于所述第一存储模块01,所述第二配置文件存储于第二配置 模块02,所述第一配置文件用于实现所述计算机与所述现场可编程门阵列FPGA接口的通 讯,所述第二配置文件用于设置所述现场可编程门阵列FPGA 30的工作状态。
[0087] 所述复杂可编程逻辑器CPLD 90,分别与所述可编程门阵列FPGA 20及电可擦可编 程只读存储器EEPROM S0所相连,用于加载所述电可擦可编程只读存储器EEPROM 80中的第 一配置文件,在接收到所述现场可编程门阵列FPGA的加载指令后,加载所述电可擦可编程 只读存储器EEPROM 80中第二配置文件。
[0088]所述地址线〇〇用于连接所述微处理器50与所述非易失性存储器40,用修改所述非 易失性存储器40地址信号。
[0089] 所述系统101还包括电路板60,所述计算机10、现场可编程门阵列FPGA 20、PCIe接 口 7〇,电可擦可编程只读存储器EEPROM 80以及复杂可编程逻辑器CPLD 90集成于所述电路 板60上。
[0090] 在实际应用当中,计算机10、现场可编程门阵列FPGA 20、PCIe接口70,电可擦可编 程只读存储器EEPROM 80以及复杂可编程逻辑器CPLD 90不限于上述连接方式。比如所述电 可擦可编程只读存储器EEPROM S0可以与所述现场可编程门阵列FPGA 20相连,所述微处理 器5〇也只与所述可编程门阵列FPGA 2〇相连,或者所述电可擦可编程只读存储器EEPROM 8〇 可以单向与所述现场可编程门阵列FPGA 20相连,所述微处理器50单向与所述电可擦可编 程只读存储器EEPROM 80相连,所述单向均是指数据从前者传输至后者。不同的连接方式, 只是数据传输的途径不同,但是在本技术方案下实现的功能是相同的。
[0091] 实施例三:
[0092] 本发明还提供了配置所述基于现场可编程门阵列100系统的方法。如图5所示,为 本发明实施例1中对所述系统100进行配置的方法,包括如下步骤:
[0093] 步骤al:所述微处理器50加载第一存储模块01中的所述第一配置文件;
[0094] 步骤bl:判断所述接口 30通讯是否正常;
[0095] 若否,重新执行步骤al;若是,步骤cl:所述现场可编程门阵列FPGA 20发送加载指 令至所述微处理器50;
[0096] 步骤dl:所述微处理器50接收到所述加载指令后,加载第二存储模块中的所述第 二配置文件。
[0097] 所述加载是指,所述微处理50读取所述配置文件(包括第一配置文件、第二配置文 件)并将其转发至所述现场可编程门阵列FPGA 20,或者现场可编程门阵列FPGA 20在所述 微处理器50的控制下,直接读取所述配置文件。
[0098] 步骤el:判断所述现场可编程门阵列FPGA 20是否正常工作;
[0099] 若否,重新执行步骤dl;若是,结束所述加载。
[0100] 在所述步骤al中,一般所述系统100通电稳定后,所述微处理器50才开始加载非易 失性存储器40中的所述第一配置文件。
[0101] 所述重新执行步骤al,是指重新加载所述第一配置文件〇1。
[0102] 所述结束加载,是指所述现场可编程门阵列FPGA 20发送结束指令给所述微处理 器50,所述微处理器50结束所述加载。
[0103] 如图6所示,所述重新执行步骤al之前还包括:
[0104] 步骤fl:判断重新加载所述第一配置文件的次数是否超过第一阈值;
[0105] 若否,则重新执行步骤al;若是,步骤gl:发出报警指令,并结束所述加载。
[0106] 所述重新执行步骤dl之前还包括:
[0107] 步骤hi:判断重新加载所述第二配置文件的次数是否超过第二阈值;
[0108] 若否,则重新执行步骤dl;若是,则重新执行步骤gl。
[0109] 所述重新执行步骤dl,是指重新加载所述第二配置文件。
[0110] 所述第一阈值是指所述微处理器50重新加载所述第一配置文件的次数,优选的, 在本实施例中为3次。
[0111] 所述第二阈值是指所述微处理器50重新加载所述第二配置文件的次数,优选的, 在本实施例中为3次。
[0112] 所述接口 30为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN 接口或SPI 接,优选的,本实施例中采用PCI Express接口。
[0113] 所述非易失性存储器40为电可擦可编程只读存储器EEPROM或闪存FLASH,优选的, 本实施例中采用闪存flash。
[0114] 所述系统100还包括指示灯,所述发出报警指令,可以是所述微处理器50直接控制 所述指示灯发出警报提示。
[0115] 步骤hi之后重执行步骤gl,发出报警指令,并结束所述加载,此处的发出警报也可 以是指所述微处理器50通过所述现场可编程门阵列FPGA 20向所述计算机发出报警指令, 所述计算机接到所述报警指令后发出警报提示。
[0116]本发明提供的基于现场可编程门阵列的系统以及配置方法,在非易失性存储器中 的两个区域分别存储第一配置文件与第二配置文件,第一配置文件包含有计算机识别现 场可编程门阵列FPGA的数据,用于实现计算机与现场可编程门阵列FPGA接口的通讯,第二 配置文件包含有设置现场可编程门阵列FPGA工作状态的数据。在对现场可编程门阵列FPGA 进行配置时,首先只加载第一配置文件,缩短了加载时间,保证计算机与现场可编程门阵列 FPGA接口的通讯正常,在现场可编程门阵列FPGA被计算机识别之后,再加载设置FPGA工作 状态的第二配置文件,避免因FPGA无法被计算机识别而进行的热重启。
[0117] 实施例4:
[0118] 对于现场可编程门阵列FPGA而言,由于其资源越来越丰富,功能越来越强大,也 经常需要对现场可编程门阵列FPGA进行升级,因此本发明还提供了升级所述基于现场可编 程门阵列FPGA系统100的方法,如图7所示,为本发明实施例1中对所述系统1 〇〇进行升级的 方法,包括如下步骤:
[0119] 步骤a2:所述微处理器50接收到升级指令后,修改所述非易失性存储器40的地址 信号,使所述地址信号指向所述第二存储模块02,并使所述非易失性存储器40处于写入状 态,之后再向所述现场可编程门阵列FPGA 20发送确认指令;
[0120]步骤b2:所述现场可编程门阵列FPGA 20接受到所述确认指令并转发至所述计算 机10;
[0121] 步骤c2:所述计算机10将升级文件发送至所述现场可编程门阵列FPGA 20;
[0122] 步骤d2:所述现场可编程门阵列FPGA 20将所述升级文件写入所述第二配置文件 在所述非易失性存储器40中的区域。
[0123] 所述升级文件,是指在基于FPGA系统使用的过程中,发现的一些bug,或者是FPGA 的有新的功能,这些信息都将以升级文件的形式对第二配置文件进行升级。
[0124] 在所述步骤c2中,所述计算机10接收到所述确认指令后,才会将所述升级文件发 送至所述现场可编程门阵列FPGA 20。
[0125] 在所述步骤d2中,首先,所述微处理器将所述升级文件写入所述第二配置文件02 在所述非易失性存储器中的区域,所谓“写入”是指,将所述升级文件直接覆盖所述第二配 置文件,或者直接保存升级文件。。
[0126] 其次,所述步骤d2具体为:所述现场可编程门阵列FPGA 20通过所述微处理器50将 所述升级文件写入所述第二存储模块02。
[0127] 再者,所述步骤d2还可以为:所述现场可编程门阵列FPGA在所述微处理器50的控 制下将所述升级文件直接写入所述第二存储模块02。
[0128] 如图8所示,所述步骤a2之前还包括:
[0129] 步骤e2:所述计算机10向所述现场可编程门阵列FpGA 20发送升级指令;
[0130]步骤f2:所述现场可编程门阵列FPGA 20接收到所述升级指令并转发至所述微处 理器50。
[0131] 所述步骤f2与a2之间还包括:
[0132] 步骤g2:判断所述微处理器50对所述升级指令是否响应;
[0133] 若是,执行步骤a2;若否,步骤h2:判断所述微处理器50未响应的次数是否超过第 三阈值;
[0134] 若否,执行步骤e2;若是,步骤i2:发出报警指令,并结束升级。
[0135] 所述第三阈值,是指所述微处理器5〇未响应的次数,优选的,在本实施例中为3次。
[0136] 所述发出报警指令,是指所述微处理器50通过所述现场可编程门阵列FPGA 20向 所述计算机发出报警指令,所述计算机接到所述报警指令后发出警报提不。
[0137] 所述结束升级,是指所述现场可编程门阵列FPGA 20发送结束指令给所述微处理 器50,所述微处理器50将结束指令转发给所述计算机1〇,所述计算机1〇结束所述加载。
[0138] 所述步骤d2之后还包括:
[0139] 步骤j2:判断所述升级文件是否正确;若是,结束所述升级;若否,步骤k2:判断不 正确次数是否超过第四阈值;
[0140] 若否,步骤12:所述微处理器5〇通过所述现场可编程门阵列FPGA 20向所述计算机 10发送再次升级请求;若是,执行步骤i2。
[0141] 所述步骤j2通常是由计算机1〇来完成的,即计算机1〇通过所述现场可编程门阵 列FPGA20读出所述非易失性存储器中的第二配置文件,判断第二配置文件是否已经升级。
[0142] 所述第四阈值,是指所述升级文件不正确的次数,优选的,在本实施例中为3次。
[0143] 所述接口 30为 PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN 接口或SPI 接,优选的,本实施例中采用PCI Express接口。
[0144] 所述非易失性存储器40为电可擦可编程只读存储器EEPR0M或闪存FLASH,优选的, 本实施例中采用闪存FLASH。
[0145] 所述系统100还包括,指示灯,所述发出报警指令,还可以是所述微处理器50直接 控制所述指示灯发出警报提示。
[0146] 因此,本实施例中提供的基于现场可编程门阵列的系统的升级方法,只对第二配 置文件进行升级,减少了需要升级文件的大小,降低了对存储设备容量的要求,提高了升级 的效率,同时,即使出现因FPGA无法被计算机识别而导致的升级失败或者升级文件不正确 等情况,可以重新进行升级。
[0147] 综上所述,本发明提供的基于现场可编程门阵列的系统、配置方法以及升级方法, 优先加载与接口有关的第一配置文件,满足计算机识别接口的特殊时间要求,避免了因为 加载时间过长而导致接口不能识别的情况,在基础之上,对配置文件进行升级时,由于只需 要升级第二配置文件,减少了需要升级文件的大小,降低了对存储设备容量的要求,提高了 升级的效率。同时,即使因FPGA无法被计算机识别而导致的升级失败,可重新进行升级,当 升级文件不正确时,也可重新进行升级。
[0148] 虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技 术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范 围当以权利要求书所界定的为准。

Claims (26)

1. 一种基于现场可编程门阵列的系统,包括计算机、现场可编程门阵列FPGA及接口,所 述计算机与所述现场可编程门阵列FPGA通过所述接口相连,其特征在于,所述系统还包括: 非易失性存储器,用于存储配置文件,所述非易失性存储器包括第一存储模块与第二 存储模块,所述配置文件包括第一配置文件及第二配置文件,所述第一配置文件存储于所 述第一存储模块,用于实现所述计算机与所述现场可编程门阵列FPGA接口的通讯,所述第 二配置文件存储于第二存储模块,用于设置所述现场可编程门阵列FPGA的工作状态; 微处理器,与所述可编程门阵列FPGA及非易失性存储器相连,用于加载所述第一配置 文件;所述现场可编程门阵列FPGA用于向所述微处理器发出加载第二配置文件的加载指 令; 地址线,分别连接所述微处理器与所述非易失性存储器,用于修改所述非易失存储器 的地址信号。
2. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述微处理器分别 与所述现场可编程门阵列FPGA及非易失性存储器相连。
3. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述现场可编程门 阵列FPGA分别与所述微处理器及非易失性存储器相连。
4. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述微处理器与所 述非易失性存储器相连,所述非易失性存储器与所述现场可编程门阵列FPGA相连,所述现 场可编程门阵列FPGA与所述微处理器相连。
5. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述接口为PCI接 口、PCIe接口、USB接口、RS232接口、RS485接口、CAN接口或SPI接口。
6. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述非易失性存储 器为电可擦可编程只读存储器EEPROM或闪存FLASH。
7. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述微处理器为复 杂可编程逻辑器CPLD、数字信号处理器DSP或者微控制单元MCU。
8. 如权利要求1所述的基于现场可编程门阵列的系统,其特征在于,所述基于现场可编 程门阵列的系统还包括电路板,所述现场可编程门阵列FPGA、所述微处理器、所述接口以及 所述非易失性储存器集成于所述电路板上。
9. 一种基于现场可编程门阵列的系统,包括计算机、现场可编程门阵列FPGA、微处理器 以及PCIe接口,所述计算机与所述现场可编程门阵列FPGA通过所述接口相连,其特征在于, 所述系统还包括: 电可擦可编程只读存储器EEPROM,用于存储配置文件; 非易失性存储器,包括第一存储模块与第二存储模块,所述配置文件包括第一配置文 件及第二配置文件,所述第一配置文件存储于所述第一配置模块,用于实现所述计算机与 所述现场可编程门阵列FPGA接口的通讯,所述第二配置文件存储于第二存储模块,用于设 置所述现场可编程门阵列FPGA的工作状态; 复杂可编程逻辑器CPLD,与所述可编程门阵列FPGA及所述电可擦可编程只读存储器 EEPROM相连,加载所述电可擦可编程只读存储器EEPROM中的第一配置文件;所述现场可编 程门阵列FPGA的用于向所述复杂可编程逻辑器CPLD发出加载第二配置文件的指令; 地址线,分别连接所述微处理器与所述非易失性存储器,用于修改所述非易失存储器 的地址信号。
10. —种基于现场可编程门阵列的系统的配置方法,所述系统包括:计算机、现场可编 程门阵列FPGA、接口、非易失性存储器、微处理器以及地址线;所述非易失性存储器包括第 一存储模块与第二存储模块,所述第一存储模块与第二存储模块分别存储第一配置文件以 及第二配置文件,其特征在于,所述配置方法包括如下步骤: al)所述微处理器加载所述第一配置文件,所述第一配置文件用于实现所述计算机与 所述现场可编程门阵列FPGA接口的通讯; bl)判断所述接口通讯是否正常; 若否,则重新执行步骤al;若是,cl)所述现场可编程门阵列FPGA发送加载指令至所述 微处理器; dl)所述微处理器加载所述第二配置文件,所述第二配置文件用于设置所述现场可编 程门阵列FPGA的工作状态; el)判断所述现场可编程门阵列FPGA是否正常工作; 若否,则重新执行步骤dl;若是,结束所述加载。
11. 如权利要求10所述的基于现场可编程门阵列的系统的配置方法,其特征在于, 所述重新执行步骤al之前还包括:fl)判断重新加载所述第一配置文件的次数是否超 过第一阈值; 若否,则重新执行步骤al;若是,gl)所述微处理器发出报警指令,并结束所述加载。
12. 如权利要求11所述的基于现场可编程门阵列的系统的配置方法,其特征在于, 所述重新执行步骤dl之前还包括:hi)判断重新加载所述第二配置文件的次数是否超 过第二阈值; 若否,则重新执行步骤dl;若是,则执行gl步骤。
13. 如权利要求10所述的基于现场可编程门阵列的系统的配置方法,其特征在于,所述 接口为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN 接口或SPI接口。
14. 如权利要求10所述的基于现场可编程门阵列的系统的配置方法,其特征在于,所述 非易失性存储器为电可擦可编程只读存储器EEPROM或闪存FLASH。
15. 如权利要求10所述的基于现场可编程门阵列的系统的配置方法,其特征在于,所述 微处理器为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制单元MCIL
16. 如权利要求12所述的基于现场可编程门阵列的系统的配置方法,其特征在于,所述 第一阈值与第二阈值均为3次。
17. —种基于现场可编程门阵列的系统的升级方法,所述系统包括:计算机、现场可编 程门阵列FPGA、接口、非易失性存储器、微处理器以及地址线;所述非易失性存储器包括第 一存储模块与第二存储模块,所述第一存储模块与第二存储模块分别存储第一配置文件以 及第二配置文件,所述第一配置文件用于实现所述计算机与所述现场可编程门阵列FPGA接 口的通讯,所述第二配置文件用于设置所述现场可编程门阵列FPGA的工作状态,其特征在 于,所述升级方法包括如下步骤: a2)所述微处理器接收到升级指令后,修改所述非易失性存储器的地址信号,使所述地 址信号指向所述第二存储模块,并使所述非易失性存储器处于写入状态,之后再向所述现 场可编程门阵列FPGA发送确认指令; b2)所述现场可编程门阵列FPGA接受到所述确认指令并转发至所述计算机; c2)所述计算机将升级文件发送至所述现场可编程门阵列FPGA; d2)所述现场可编程门阵列FPGA将所述升级文件写入所述第二存储模块。
18. 如权利要求17所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 步骤d2具体为:所述现场可编程门阵列FPGA通过所述微处理器将所述升级文件写入所述第 二存储模块。
19. 如权利要求17所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 步骤d2具体为:所述现场可编程门阵列FPGA在所述微处理器的控制下将所述升级文件直接 写入所述第二存储模块。
20. 如权利要求17所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 步骤a2之前还包括: e2)所述计算机向所述现场可编程门阵列FPGA发送升级指令; f2)所述现场可编程门阵列FPGA接收到所述升级指令并转发至所述微处理器。
21. 如权利要求20所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 步骤f 2与a2之间还包括: g2)判断所述微处理器对所述升级指令是否响应; 若是,执行步骤a2;若否,h2)判断所述微处理器未响应的次数是否超过第三阈值; 若否,执行步骤e2;若是,i2)所述微处理器发出报警指令,并结束升级。
22. 如权利要求21所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 步骤d2之后还包括: j2)判断所述升级文件是否正确: 若是,结束所述升级;若否,k2)判断不正确次数是否超过第四阈值; 若否,12)所述微处理器通过所述现场可编程门阵列向所述计算机发送再次升级请求; 若是,执行步骤i2。
23. 如权利要求17所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 接口为PCI接口、PCIe接口、USB接口、RS232接口、RS485接口、CAN 接口或SPI接口。
24. 如权利要求17所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 存储器为电可擦可编程只读存储器EEPR0M或闪存FLASH。
25.如权利要求1?所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 微处理器为复杂可编程逻辑器CPLD、数字信号处理器DSP或微控制单元MCU。
26.如权利要求22所述的基于现场可编程门阵列的系统的升级方法,其特征在于,所述 第三阈值与第四阈值均为3次。
CN201210407848.7A 2012-10-24 2012-10-24 基于现场可编程门阵列的系统、配置方法以及升级方法 Active CN103777972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210407848.7A CN103777972B (zh) 2012-10-24 2012-10-24 基于现场可编程门阵列的系统、配置方法以及升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210407848.7A CN103777972B (zh) 2012-10-24 2012-10-24 基于现场可编程门阵列的系统、配置方法以及升级方法

Publications (2)

Publication Number Publication Date
CN103777972A CN103777972A (zh) 2014-05-07
CN103777972B true CN103777972B (zh) 2018-08-31

Family

ID=50570252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210407848.7A Active CN103777972B (zh) 2012-10-24 2012-10-24 基于现场可编程门阵列的系统、配置方法以及升级方法

Country Status (1)

Country Link
CN (1) CN103777972B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050067B (zh) * 2014-05-23 2016-01-27 北京兆易创新科技股份有限公司 Fpga在mcu芯片中工作的方法和装置
CN105278976B (zh) * 2014-07-08 2019-05-17 南车株洲电力机车研究所有限公司 一种fpga重构装置、系统及方法
CN104063257B (zh) * 2014-07-23 2017-06-27 武汉邮电科学研究院 一种fpga自动加载系统及方法
CN104657175B (zh) * 2015-02-06 2018-07-03 西安电子科技大学 利用配置芯片实现启动引导和数据的读写系统及方法
CN106775796B (zh) * 2015-11-25 2020-04-03 大唐移动通信设备有限公司 一种固件升级方法、装置及系统
CN106293843B (zh) 2016-08-15 2019-11-26 华为技术有限公司 一种数据加载系统
CN106445544A (zh) * 2016-10-08 2017-02-22 中国科学院微电子研究所 一种对可编程逻辑器件进行配置或更新的装置和方法
CN107632871A (zh) * 2017-09-20 2018-01-26 北京京东方专用显示科技有限公司 现场可编程门阵列配置装置及方法
CN108279949A (zh) * 2018-01-18 2018-07-13 青岛海信电器股份有限公司 一种应用于电视的开机方法、系统及电视
WO2019148470A1 (zh) * 2018-02-02 2019-08-08 深圳配天智能技术研究院有限公司 一种可编程逻辑芯片的保护电路及控制系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030064039A (ko) * 2002-01-25 2003-07-31 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
CN101452502A (zh) * 2008-12-30 2009-06-10 华为技术有限公司 加载现场可编程门阵列fpga的方法、装置与系统
CN102087606A (zh) * 2011-02-16 2011-06-08 电子科技大学 一种fpga配置文件更新装置
CN102306107A (zh) * 2011-08-30 2012-01-04 四川和芯微电子股份有限公司 Fpga配置装置及配置方法
CN102360302A (zh) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 一种fpga配置文件在线升级方法及装置
WO2012067710A1 (en) * 2010-11-18 2012-05-24 Thomson Licensing Method to safely reprogram an fpga
CN102662686A (zh) * 2012-03-09 2012-09-12 中国科学院微电子研究所 Fpga的加载方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030064039A (ko) * 2002-01-25 2003-07-31 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
CN101452502A (zh) * 2008-12-30 2009-06-10 华为技术有限公司 加载现场可编程门阵列fpga的方法、装置与系统
WO2012067710A1 (en) * 2010-11-18 2012-05-24 Thomson Licensing Method to safely reprogram an fpga
CN102087606A (zh) * 2011-02-16 2011-06-08 电子科技大学 一种fpga配置文件更新装置
CN102306107A (zh) * 2011-08-30 2012-01-04 四川和芯微电子股份有限公司 Fpga配置装置及配置方法
CN102360302A (zh) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 一种fpga配置文件在线升级方法及装置
CN102662686A (zh) * 2012-03-09 2012-09-12 中国科学院微电子研究所 Fpga的加载方法及其装置

Also Published As

Publication number Publication date
CN103777972A (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
RU2402804C2 (ru) Способ загрузки хостового устройства из устройства mmc/sd, хостовое устройство, загружаемое из устройства mmc/sd, и устройство mmc/sd, из которого может быть загружено хостовое устройство
CN103077058B (zh) 一种安装应用程序的方法及装置
KR100804647B1 (ko) 병렬형 플래시 인터페이스를 지원하는 직렬형 플래시메모리 장치를 이용한 시스템 부팅 방법 및 장치
CN100557588C (zh) 更新数据传输方法、主机设备和固件写入系统
CN103207797B (zh) 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
JP2012234568A (ja) 組込みコントローラを介するフラッシュストレージの初期化
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
US5729683A (en) Programming memory devices through the parallel port of a computer system
CN103399840B (zh) 一种计算机配置文件的带外修改方法及计算机
KR20060132847A (ko) 상호-모듈 메모리 액세스를 가지는 다중 모듈 회로 카드
JP2005508547A (ja) メモリカード上のファームウェアを更新するインシステムプログラムのインプリメンテーション
US20050132137A1 (en) Multiple mode communication system
CN102609287B (zh) 一种通过cpu远程更新fpga的装置及其方法
CN105359120B (zh) 使用双phy来支持多个pcie链路宽度的存储器和控制器
CN105159731B (zh) 一种fpga配置文件远程升级的装置
CN105745617A (zh) 用于预启动固件更新的选择性功率管理
CN100483348C (zh) 一种用于现场可编程门阵列位文件升级的系统及方法
TW200413937A (en) Combination non-volatile memory and input-output card with direct memory access
CN104541280A (zh) 用于利用非易失性存储器装置的备选引导路径支持
CN103777983B (zh) 一种星载软件在轨维护及升级方法
CN103827834B (zh) 一种内存数据的迁移方法、计算机和装置
US20090119659A1 (en) Method of Computer Based Data Card Software Downloading and Updating
CN102662697B (zh) 一种软件升级方法及装置
CN104199706A (zh) 一种eMMC的固件升级方法及其设备
US10866737B2 (en) Apparatus, method and system to store information for a solid state drive

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 201815 No. 1180 Xingxian Road, Jiading Industrial Zone, Jiading District, Shanghai

Patentee after: Shanghai Lianying Medical Technology Co., Ltd

Address before: 201815 No. 1180 Xingxian Road, Jiading Industrial Zone, Jiading District, Shanghai

Patentee before: SHANGHAI UNITED IMAGING HEALTHCARE Co.,Ltd.

CP01 Change in the name or title of a patent holder