CN111857769A - 一种基于usb转spi的fpga升级系统及方法 - Google Patents

一种基于usb转spi的fpga升级系统及方法 Download PDF

Info

Publication number
CN111857769A
CN111857769A CN202010586873.0A CN202010586873A CN111857769A CN 111857769 A CN111857769 A CN 111857769A CN 202010586873 A CN202010586873 A CN 202010586873A CN 111857769 A CN111857769 A CN 111857769A
Authority
CN
China
Prior art keywords
spi
usb
fpga
chip
upgrading
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
CN202010586873.0A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010586873.0A priority Critical patent/CN111857769A/zh
Publication of CN111857769A publication Critical patent/CN111857769A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供一种基于USB转SPI的FPGA升级系统及方法,所述系统包括:若干个设置FPGA芯片的板卡、管理控制单元和USB总线,所述管理控制单元与USB集线器通信连接,所述板卡上还包括:交换机、USB转SPI芯片和SPI FLASH芯片;所述USB总线与所述USB转SPI芯片通信连接;所述USB转SPI芯片与所述交换机通信连接;所述交换机与FPGA芯片和SPI FLASH芯片分别通信连接;本发明提供的一种基于USB转SPI的FPGA升级系统及方法,通过USB转SPI接口实现快速在线升级FPGA程序,从而提高了工作效率;可以使用多个不同板卡的FPGA升级。

Description

一种基于USB转SPI的FPGA升级系统及方法
技术领域
本发明属于服务器技术领域,具体涉及一种基于USB转SPI的FPGA升级系统及方法。
背景技术
随着数据中心的崛起,FPGA因动态可重配且性能功耗比高的优点,适合在云端数据中心进行部署,FPGA的应用越来越广泛,FPGA的灵活性是因为同一套硬件,通过修改不同的FPGA程序实现不同的功能,同时也可以通过在线升级FPGA程序,解决在使用过程中bug,增加产品的功能,因此在线升级FPGA的方法变得越来越重要。
目前提升FPGA的在线升级的速率显得尤为重要,大部分通过JTAG接口升级FPGA,可以完成擦除和读写等功能,但是由于JTAG通常读写速度只有1.5Mbit/s,所以升级时间较长,效率低,随着FPGA的功能越来越强大,需要升级的文件越来越大,读写速度慢的问题,越来越影响FPGA的升级效率;此外通过JTAG串联方式实现多个不同板卡的FPGA升级,每个板卡之间的走线较长,并且由于走线分叉的原因,会保留很长的残桩,JTAG的读写速率将受到严重限制。
发明内容
针对现有技术的上述不足,本发明提供一种基于USB转SPI的FPGA升级系统及方法,以解决上述技术问题。
第一方面,本发明提供一种基于USB转SPI的FPGA升级系统,包括:若干个设置FPGA芯片的板卡、管理控制单元和USB总线,所述管理控制单元与USB集线器通信连接,所述板卡上还包括:交换机、USB转SPI芯片和SPI FLASH芯片;所述USB总线与所述USB转SPI芯片通信连接;所述USB转SPI芯片与所述交换机通信连接;所述交换机与FPGA芯片和SPI FLASH芯片分别通信连接;
所述管理控制单元用于进行FPGA芯片升级和控制整个系统;
所述USB总线用于集成多个板卡的FPGA芯片同时进行升级;
所述SPI FLASH芯片用于以SPI接口实现FPGA升级;
所述USB转SPI芯片用于将USB信号转换为SPI信号;
所述交换机切换系统升级导通的线路。
进一步的,所述板卡包括:交换主板和若干数据接口模块;所述管理控制单元和USB总线设置在交换主板上;所述USB总线连接交换主板和若干数据接口模块上的USB转SPI芯片。
进一步的,所述管理控制单元包括BMC;
第二方面,本发明提供一种基于USB转SPI的FPGA升级方法,包括:
BMC发出升级指令,所述升级指令包括至少一个进行需升级板卡的标记;
解析所述升级指令,根据所述标记选择需升级的板卡作为当前处理板卡;
在当前处理板卡内导通USB转SPI芯片和SPI FLASH芯片之间的线路,对SPI FLASH芯片进行升级;
在当前处理板卡内导通SPI FLASH芯片和FPGA芯片之间的线路,对FPGA芯片升级。
进一步的,在所述对FPGA芯片升级后,所述方法还包括:返回升级完成信号。
进一步的,所述方法还包括:监测BMC是否收到升级完成信号:若无,则FPGA芯片重新加载内部程序,并重新升级FPGA芯片。
进一步的,所述方法还包括:对若干个设置FPGA芯片的板卡进行唯一标记。
本发明的有益效果在于,
本发明提供的一种基于USB转SPI的FPGA升级系统及方法,通过USB转SPI接口实现快速在线升级FPGA程序,利用SPI提升FPGA芯片升级速度,从而提高了工作效率;解决了JTAG的升级方式由于走线分叉的问题,方便了使用多个不同板卡的FPGA升级。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的系统的结构示意图。
图2是本发明一个实施例的方法的示意性流程框图。
图3是本发明一个实施例的方法的指令下发的示意性流程框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面对本发明中出现的关键术语进行解释。
FPGA(Field Programmable Gate Array):一种现场可编程逻辑门阵列集成电路。
BMC(Baseboard Management Controller):基板管理控制器。
SMB(Switch Main Board):交换主板。
PIM(Port Interface Module),是一种数据接口模块。
JTAG(Joint Test Action Group):联合测试工作组,是一种国际标准测试协议,主要用于芯片内部测试。
下面将参考附图并结合实施例来详细说明本发明。
实施例1
如图1所示,本实施例提供一种基于USB转SPI的FPGA升级系统,包括:交换主板和四个数据接口模块,所述交换主板设置BMC和USB集线器;若干个所述数据接口单元上分别设置升级模块,所述升级模块包括:FPGA芯片、交换机、USB转SPI芯片和SPI FLASH芯片;所述USB转SPI芯片与所述交换机通信连接;所述交换机与FPGA芯片和SPI FLASH芯片分别通信连接;所述USB集线器与若干个所述USB转SPI芯片通信连接;所述交换主板上还设置升级模块,用于实现交换主板上FPGA芯片的升级。基于本实施例可实现包括四个数据接口模块和一个交换主板,总五个板卡的FPGA升级;所述升级模块用于以SPI转换方式实现FPGA升级。
图2是本发明一个实施例的方法的示意性流程图。其中,图2执行主体可以为一种基于USB转SPI的FPGA升级系统。
如图2所示,该方法100包括:
步骤110,BMC发出升级指令,所述升级指令包括至少一个进行需升级板卡的标记;
步骤120,解析所述升级指令,根据所述标记选择需升级的板卡作为当前处理板卡;
步骤130,在当前处理板卡内导通USB转SPI芯片和SPI FLASH芯片之间的线路,对SPI FLASH芯片进行升级;
步骤140,在当前处理板卡内导通SPI FLASH芯片和FPGA芯片之间的线路,对FPGA芯片升级。
可选地,作为本发明一个实施例,在所述对FPGA芯片升级后,所述方法还包括:返回升级完成信号。
可选地,作为本发明一个实施例,所述方法还包括:监测BMC是否收到升级完成信号:若无,则FPGA芯片重新加载内部程序,并重新升级FPGA芯片。
可选地,作为本发明一个实施例,所述方法还包括:对若干个设置FPGA芯片的板卡进行唯一标记。
基于上述实施例1所述的系统由一块SMB和四块PIM组成,本实施例以其中一块PIM为例提供一种FPGA在线升级的流程图,如图3所示,下面将图3中使用到的信号进行解释:
1.PIM1_CS:PIM1的交换机的选通信号;
2.PIM1_S:PIM1的交换机的选择导通信号,当PIM1_S定义为0时,USB转SPI FLASH芯片和SPI Flash芯片之间的SPI接口导通,当PIM1_S定义为1时,FPGA芯片和SPI Flash芯片之间的SPI接口导通;
3.PIM1_UP_FLASH:PIM1的SPI Flash文件更新情况,当PIM1_UP_FLASH定义为0时,表示未更新完成,PIM1_UP_FLASH定义为1时,表示SPI Flash更新完成;
4.PIM1_PROGRAM_B:PIM1的FPGA是否重新加载程序,当PIM1_PROGRAM_B定义为0时,重新加载FPGA程序,当PIM1_PROGRAM_B定义为1时,不重新加载程序;
5.PIM1_DONE:PIM1的FPGA升级程序是否成功,当PIM1_DONE定义为0时,加载FPGA程序失败,当PIM1_DONE定义为1时,加载FPGA程序成功。
具体的工作流程如下:
(1)当BMC发出FPGA在线升级的命令时,系统会判断PIM的数值,不同的数值代表不同的PIM,本实施例中PIM=1,表示对PIM1的FPGA进行升级;
(2)此时BMC通过GPIO分别将PIM1_CS置为0,选通PIM1的SPI Switch;
(3)将PIM1_S置为0,选通USB转SPI FLASH芯片和SPI Flash芯片之间的SPI接口,然后BMC通过USB总线转换为SPI总线对SPI Flash进行升级;
(4)等待BMC完成对SPI Flash的升级,会将PIM1_UP_FLASH置为1,表示SPI Flash升级完成,将会继续向下进行,否则将返回上一动作,流程继续执行;
(5)BMC将PIM1_PROGRAM_B置为0,表示将FPGA程序重新加载;
(6)将PIM1_CS置为0,选通PIM1的SPI Switch,将PIM1_S置为1,导通FPGA芯片和SPI Flash芯片之间的SPI接口,然后FPGA通过SPI接口完成升级;
(7)升级完成时,FPGA将PIM1_DONE置为1,表示FPGA在线升级完成,否则将返回(5)。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种基于USB转SPI的FPGA升级系统,其特征在于,包括:若干个设置FPGA芯片的板卡、管理控制单元和USB总线,所述管理控制单元与USB集线器通信连接,所述板卡上还包括:交换机、USB转SPI芯片和SPIFLASH芯片;所述USB总线与所述USB转SPI芯片通信连接;所述USB转SPI芯片与所述交换机通信连接;所述交换机与FPGA芯片和SPI FLASH芯片分别通信连接;
所述管理控制单元用于进行FPGA芯片升级和控制整个系统;
所述USB总线用于集成多个板卡的FPGA芯片同时进行升级;
所述SPI FLASH芯片用于以SPI接口实现FPGA升级;
所述USB转SPI芯片用于将USB信号转换为SPI信号;
所述交换机切换系统升级导通的线路。
2.根据权利要求1所述的一种基于USB转SPI的FPGA升级系统,其特征在于,所述板卡包括:交换主板和若干数据接口模块;所述管理控制单元和USB总线设置在交换主板上;所述USB总线连接交换主板和若干数据接口模块上的USB转SPI芯片。
3.根据权利要求1所述的一种基于USB转SPI的FPGA升级系统,其特征在于,所述管理控制单元包括BMC。
4.一种基于USB转SPI的FPGA升级方法,其特征在于,包括:
BMC发出升级指令,所述升级指令包括至少一个进行需升级板卡的标记;
解析所述升级指令,根据所述标记选择需升级的板卡作为当前处理板卡;
在当前处理板卡内导通USB转SPI芯片和SPI FLASH芯片之间的线路,对SPI FLASH芯片进行升级;
在当前处理板卡内导通SPI FLASH芯片和FPGA芯片之间的线路,对FPGA 芯片升级。
5.根据权利要求4所述的一种基于USB转SPI的FPGA升级方法,其特征在于,在所述对FPGA芯片升级后,所述方法还包括:返回升级完成信号。
6.根据权利要求5所述的一种基于USB转SPI的FPGA升级方法,其特征在于,所述方法还包括:监测BMC是否收到升级完成信号:若无,则FPGA芯片重新加载内部程序,并重新升级FPGA芯片。
7.根据权利要求4所述的一种基于USB转SPI的FPGA升级方法,其特征在于,所述方法还包括:对若干个设置FPGA芯片的板卡进行唯一标记。
CN202010586873.0A 2020-06-24 2020-06-24 一种基于usb转spi的fpga升级系统及方法 Pending CN111857769A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010586873.0A CN111857769A (zh) 2020-06-24 2020-06-24 一种基于usb转spi的fpga升级系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010586873.0A CN111857769A (zh) 2020-06-24 2020-06-24 一种基于usb转spi的fpga升级系统及方法

Publications (1)

Publication Number Publication Date
CN111857769A true CN111857769A (zh) 2020-10-30

Family

ID=72988349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010586873.0A Pending CN111857769A (zh) 2020-06-24 2020-06-24 一种基于usb转spi的fpga升级系统及方法

Country Status (1)

Country Link
CN (1) CN111857769A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN201514768U (zh) * 2009-10-20 2010-06-23 西安瑞日电子发展有限公司 Fpga控制设备的在线flash烧写器
CN104636168A (zh) * 2015-02-09 2015-05-20 南京国电南自美卓控制系统有限公司 基于mlvds总线的soc fpga在线升级方法
CN110780909A (zh) * 2019-10-14 2020-02-11 武汉虹识技术有限公司 分布式嵌入式系统升级方法及装置
CN210573744U (zh) * 2019-10-18 2020-05-19 中科可控信息产业有限公司 一种多颗fpga芯片的bmc在线升级装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN201514768U (zh) * 2009-10-20 2010-06-23 西安瑞日电子发展有限公司 Fpga控制设备的在线flash烧写器
CN104636168A (zh) * 2015-02-09 2015-05-20 南京国电南自美卓控制系统有限公司 基于mlvds总线的soc fpga在线升级方法
CN110780909A (zh) * 2019-10-14 2020-02-11 武汉虹识技术有限公司 分布式嵌入式系统升级方法及装置
CN210573744U (zh) * 2019-10-18 2020-05-19 中科可控信息产业有限公司 一种多颗fpga芯片的bmc在线升级装置

Similar Documents

Publication Publication Date Title
WO2021189322A1 (zh) 一种芯片测试装置及测试方法
CN103559053B (zh) 一种板卡系统及通信接口卡fpga在线升级方法
CN102073562B (zh) 基于硬件的主备倒换仲裁方法
CN107368636B (zh) 一种兼容sparc V8架构SOC的单机应用验证系统
CN102662696B (zh) 大规模并行计算机系统的快速启动方法及装置
CN103399771A (zh) 基于串行高速接口总线的多dsp自举加载系统及其方法
CN110850274A (zh) 一种车载平台综合测试平台及方法
CN102253844B (zh) 一种启动处理器的方法和设备
CN114138360B (zh) DSP在Flash上的多核烧写启动方法及系统
CN111008102B (zh) Fpga加速卡高速接口si测试控制装置、系统及方法
CN107621943A (zh) 一种fpga动态批量烧写系统及方法
CN113608940B (zh) 智能网卡的生产测试方法、系统、装置及可读存储介质
CN113312061B (zh) 用于电力系统数据采集的程序升级方法及系统
CN111857769A (zh) 一种基于usb转spi的fpga升级系统及方法
CN106919734A (zh) 一种多fpga上电自动配置方法
CN110362430A (zh) 一种服务器的自动重启的方法、系统及存储介质
CN110457158A (zh) 基于有限状态机的看门狗实现方法、装置、设备及存储介质
CN110262349A (zh) 一种c8051f系列单片机的远程在线编程方法及系统
CN107168815B (zh) 一种收集硬件错误信息的方法
CN114265786A (zh) 自动化测试方法、装置,计算机设备及可读存储介质
CN110647431B (zh) 一种用于板卡和整机诊断测试的测试盒
CN209132718U (zh) 一种标准pcie子卡及ocp子卡的供电治具
CN106294045B (zh) 一种基于bmc自动化检测烧录主板供电模组芯片数据的方法
CN113868033B (zh) 一种服务器调试方法
CN211403414U (zh) 基于二取二安全控制单元的硬件功能测试装置

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