CN114721695A - 一种基于双fpga芯片的软件在线升级系统及方法 - Google Patents

一种基于双fpga芯片的软件在线升级系统及方法 Download PDF

Info

Publication number
CN114721695A
CN114721695A CN202210637868.7A CN202210637868A CN114721695A CN 114721695 A CN114721695 A CN 114721695A CN 202210637868 A CN202210637868 A CN 202210637868A CN 114721695 A CN114721695 A CN 114721695A
Authority
CN
China
Prior art keywords
chip
upgrading
fpga
software
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.)
Pending
Application number
CN202210637868.7A
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.)
Chengdu Aerospace Communication Equipment Co ltd
Original Assignee
Chengdu Aerospace Communication Equipment 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 Chengdu Aerospace Communication Equipment Co ltd filed Critical Chengdu Aerospace Communication Equipment Co ltd
Priority to CN202210637868.7A priority Critical patent/CN114721695A/zh
Publication of CN114721695A publication Critical patent/CN114721695A/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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

本发明涉及FPGA芯片软件升级技术领域,公开了一种基于双FPGA芯片的软件在线升级系统及方法,该软件在线升级系统,包括相互通信相连的上位机、升级模块,所述上位机包括升级软件处理模块,所述升级模块包括相互通信相连的第一FPGA芯片、第二FPGA芯片,所述升级软件处理模块与所述第一FPGA芯片通信相连。本发明解决了技术存在的软件升级操作复杂、便捷性差、效率较低等问题。

Description

一种基于双FPGA芯片的软件在线升级系统及方法
技术领域
本发明涉及FPGA芯片软件升级技术领域,具体是一种基于双FPGA芯片的软件在线升级系统及方法。
背景技术
在科技高速发展的大趋势下,对于仪器或者通信产品的控制系统都提出了集成化和小型化的需求,单模块的产品随之会集成更多功能,因此模块中会添加多块FPGA芯片来实现复杂法功能的单模块产品。功能的集成在需求进行修改时,产品就需要及时进行升级和维护,满足新的需求。传统的升级程序方法需要升级的FPGA芯片,引出仿真器,将需要升级的程序固化在升级芯片。而实际工程中,单模块也仅为集成设备的一部分,升级时需要升级维护人员拆除相关设备。很多特殊环境不仅进行拆卸十分困难,而且拆卸过程可能影响其他模块产品。传统升级方法实用性差。
发明内容
为克服现有技术的不足,本发明提供了一种基于双FPGA芯片的软件在线升级系统及方法,解决现有技术存在的软件升级操作复杂、便捷性差、效率较低等问题。
本发明解决上述问题所采用的技术方案是:
一种基于双FPGA芯片的软件在线升级系统,包括相互通信相连的上位机、升级模块,所述上位机包括升级软件处理模块,所述升级模块包括相互通信相连的第一FPGA芯片、第二FPGA芯片,所述升级软件处理模块与所述第一FPGA芯片通信相连。
作为一种优选的技术方案,所述第一FPGA芯片为ZYNQ-7000系列芯片,所述第二FPGA芯片为Virtex系列芯片。
作为一种优选的技术方案,所述升级模块还包括与所述第一FPGA芯片通信相连的FLASH芯片。
作为一种优选的技术方案,所述上位机还包括网口,所述升级软件处理模块与所述升级模块通过网口通信相连。
作为一种优选的技术方案,网口交互协议处理内置于ZYNQ-7000系列芯片。
作为一种优选的技术方案,ZYNQ-7000系列芯片的PL中内置有用于控制Virtex系列芯片的Slave SelectMAP启动时序的软件。
作为一种优选的技术方案,用于控制ZYNQ-7000系列芯片、Virtex系列芯片升级程序启动方式的软件均内置于ZYNQ-7000系列芯片的PL中。
作为一种优选的技术方案,所述升级软件处理模块用以,生成用于第一FPGA芯片软件升级的boot1文件和用于第二FPGA芯片软件升级的boot2文件,并存储boot1文件和boot2文件;所述第一FPGA芯片用以,启动boot1文件对第一FPGA芯片进行在线升级操作;所述第二FPGA芯片用以,启动boot2文件对第二FPGA芯片进行在线升级操作。
一种基于双FPGA芯片的软件在线升级方法,采用所述的一种基于双FPGA芯片的软件在线升级系统,包括以下步骤:
S1,确定第一FPGA芯片和第二FPGA芯片的升级程序版本后,升级软件处理模块生成用于第一FPGA芯片软件升级的boot1文件和用于第二FPGA芯片软件升级的boot2文件,并存储boot1文件和boot2文件;
S2,第一FPGA芯片启动boot1文件对第一FPGA芯片进行在线升级操作,而且,第二FPGA芯片启动boot2文件对第二FPGA芯片进行在线升级操作。
作为一种优选的技术方案,采用的一种基于双FPGA芯片的软件在线升级系统的所述升级模块还包括与所述第一FPGA芯片通信相连的FLASH芯片,所述第一FPGA芯片为ZYNQ-7000系列芯片,所述第二FPGA芯片为Virtex系列芯片,步骤S2包括以下步骤:
S21,ZYNQ-7000系列芯片将boot1文件和boot2文件转存于FLASH的相应空间;
S22,ZYNQ-7000系列芯片通过QSPI FLASH启动方式将FLASH相应空间保存的boot1文件启动,实现对ZYNQ-7000系列芯片进行在线升级;而且;Virtex系列芯片SlaveSelectMAP启动时序启动boot2文件,实现对Virtex系列芯片进行在线升级操作。
本发明相比于现有技术,具有以下有益效果:
(1)本发明不仅进行在线升级时不需要连接仿真器,实用性高。而且在模块内集成两块FPGA芯片复杂的功能模块,升级流程的控制都设计在单一ZYNQ-7000芯片中,更简化了功能设计的软件结构;如果模块功能需要添加多芯片,该架构也可以延用,移植性和适用性更高;
(2)本发明对于上位机升级协议的处理设计在ZYNQ-7000芯片中PS端,编译调试速度快,方便修改;对于在线的程序的启动控制设计在ZYNQ-7000的PL端,发挥了FPGA编程的稳定性和实时性。使得整个在线升级架构移植性和鲁棒性更高。
附图说明
图1为本发明所述的一种基于双FPGA芯片的软件在线升级系统的结构框图;
图2为本发明所述的一种基于双FPGA芯片的软件在线升级方法的流程示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1、图2所示,本实施例阐述本发明的一种具体的实施方式。
本实施例阐述双FPGA芯片单模块在线升级方法,其硬件整体框图如图1所示。
本发明选用当前FPGA主流ZYNQ-7000和Virtex芯片,模块的延伸和移植性更好。上位机包括升级软件处理模块,升级软件处理模块硬件包含上位机交互的网口,升级软件处理模块软件包含上位机升级软件。
ZYNQ-7000 系列全可编程片上系统Soc采用 FPGA+ARM 结构,由ARM Cortex A9双核(ProcessingSystem,PS)和逻辑门可编程逻辑(Programmable Logic,PL)单元。通过AXI总线实现PS与PL之间逻辑功能互联,PS可以使用C编程语言进行编程,PL使用verilog等编程语言进行编程。ZYNQ-7000可以通过QSPI FLASH方式启动升级程序。
Virtex系列芯片是Xilinx公司推出的一种高密度、大容量的现场可编程门阵列。可支持动态重构,算法改进或是发现设计上的错误,都能有效进行FPGA编程进行修改。Virtex系列FP(UA提供Master SerialC主串)、Slave Serial(从串)、Master SelectMAP(主并)、Slave SelectMAPC(从并)JTAG等多种配置加载模式,本发明选用Slave SelectMAP模式,其优势可以由外部时钟源或控制信号提供下载同步时钟,不同于与主模式需要FPGA提供,下载时序也没有严格主模式要求,同时支持并行8位数据流,提高了升级程序加载的效率和灵活性,被广泛应用。
ZYNQ-7000和Virtex在升级模块之间硬件设计30根交互总线完成两块芯片的数据交互,Virtex的Slave SelectMAP控制时序用ZYNQ-7000程序编写,通过总线交互实现
上位机上设计一套升级软件,硬件通过网口与升级模块进行交互。在升级软件和升级模块设计了一套升级交互协议。
上位机设计升级软件,ZYNQ-7000和Virtex芯片生成相应的升级程序文件(boot文件)。升级软件通过网口交互将升级程序发送给ZYNQ-7000,ZYNQ-7000根据协议将两个升级程序存储在FLASH中,ZYNQ通过QSPI FLASH方式启动升级程序。Virtex芯片通过ZYNQ-7000编写Slave SelectMAP控制时序让其启动升级程序。
本实施例双FPGA芯片单模块在线升级流程如图2所示。
确定两块芯片(ZYNQ-7000和Virtex芯片)的升级程序版本后分别生成boot1和boot2两个文件,存储在上位机升级软件处理模块中,按照网口交互协议让ZYNQ-7000将boot1和boot2转存于FLASH的相应空间。网口的交互协议处理置于ZYNQ-7000的PS部分。ZYNQ-7000的升级程序通过QSPIFLASH启动方式将FLASH相应空间保存boot1文件启动,Virtex的升级程序通过ZYNQ-7000的PL编写控制Virtex的Slave SelectMAP启动时序启动boot2升级程序。
对于协议网口升级程序的交互,选择用ZYNQ-7000的PS部分,因为升级指令以及传输到FLASH指令时常会根据需求进行修改,PS的开发平台可以用C语言进行代码的编写,进行调试代码编译时间短,调试方便,如果实用PL代码编写,修改一处整个工程都要进行综合,时间一般几个小时,因此该设计让软件整体实用性高。对于两个芯片程序的启动方式都在ZYNQ-7000的PL端进行代码的编写,因为程序启动方式一旦确定,基本不会修改。用PL实现保证了代码的鲁棒性。
升级软件和ZYNQ-7000的网口交互协议如表1所示。
表1升级软件和ZYNQ-7000的网口交互协议表
Figure DEST_PATH_IMAGE001
本发明具有以下特点:
1、面对集成双FPGA芯片单模块,传统方法只能各自芯片使用对应仿真器,完成在线升级。但是现在设备都是高度集成化的,对设备连接仿真器都需要拆卸相邻模块,对于拆卸模块复杂、升级产品数量巨大等情况,进行在线升级实用性都很差。而本发明不仅进行在线升级时不需要连接仿真器,实用性高。而且在模块内集成两块FPGA芯片复杂的功能模块,升级流程的控制都设计在单一ZYNQ-7000芯片中,更简化了功能设计的软件结构。如果模块功能需要添加多芯片,该架构也可以延用,移植性和适用性更高。
2、本发明对于上位机升级协议的处理设计在ZYNQ-7000芯片中PS端,因为升级的交互协议会根据需求时常需要修改,而PS其开发环境应用C语言,编译调试速度快,方便修改。对于在线的程序的启动控制设计在ZYNQ-7000的PL端,因为一旦芯片程序的启动方式确定,基本不会修改。发挥了FPGA编程的稳定性和实时性。使得整个在线升级架构移植性和鲁棒性更高。
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

Claims (10)

1.一种基于双FPGA芯片的软件在线升级系统,其特征在于,包括相互通信相连的上位机、升级模块,所述上位机包括升级软件处理模块,所述升级模块包括相互通信相连的第一FPGA芯片、第二FPGA芯片,所述升级软件处理模块与所述第一FPGA芯片通信相连。
2.根据权利要求1所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,所述第一FPGA芯片为ZYNQ-7000系列芯片,所述第二FPGA芯片为Virtex系列芯片。
3.根据权利要求2所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,所述升级模块还包括与所述第一FPGA芯片通信相连的FLASH芯片。
4.根据权利要求3所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,所述上位机还包括网口,所述升级软件处理模块与所述升级模块通过网口通信相连。
5.根据权利要求4所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,网口交互协议处理内置于ZYNQ-7000系列芯片的PS中。
6.根据权利要求5所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,ZYNQ-7000系列芯片的PL中内置有用于控制Virtex系列芯片的Slave SelectMAP启动时序的软件。
7.根据权利要求6所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,用于控制ZYNQ-7000系列芯片、Virtex系列芯片升级程序启动方式的软件均内置于ZYNQ-7000系列芯片中。
8.根据权利要求1至7任一项所述的一种基于双FPGA芯片的软件在线升级系统,其特征在于,所述升级软件处理模块用以,生成用于第一FPGA芯片软件升级的boot1文件和用于第二FPGA芯片软件升级的boot2文件,并存储boot1文件和boot2文件;所述第一FPGA芯片用以,启动boot1文件对第一FPGA芯片进行在线升级操作;所述第二FPGA芯片用以,启动boot2文件对第二FPGA芯片进行在线升级操作。
9.一种基于双FPGA芯片的软件在线升级方法,其特征在于,采用权利要求1至8任一项所述的一种基于双FPGA芯片的软件在线升级系统,包括以下步骤:
S1,确定第一FPGA芯片和第二FPGA芯片的升级程序版本后,升级软件处理模块生成用于第一FPGA芯片软件升级的boot1文件和用于第二FPGA芯片软件升级的boot2文件,并存储boot1文件和boot2文件;
S2,第一FPGA芯片启动boot1文件对第一FPGA芯片进行在线升级操作,而且,第二FPGA芯片启动boot2文件对第二FPGA芯片进行在线升级操作。
10.根据权利要求9所述的一种基于双FPGA芯片的软件在线升级方法,其特征在于,采用的一种基于双FPGA芯片的软件在线升级系统的所述升级模块还包括与所述第一FPGA芯片通信相连的FLASH芯片,所述第一FPGA芯片为ZYNQ-7000系列芯片,所述第二FPGA芯片为Virtex系列芯片,步骤S2包括以下步骤:
S21,ZYNQ-7000系列芯片将boot1文件和boot2文件转存于FLASH的相应空间;
S22,ZYNQ-7000系列芯片通过QSPI FLASH启动方式将FLASH相应空间保存的boot1文件启动,实现对ZYNQ-7000系列芯片进行在线升级;而且;Virtex系列芯片Slave SelectMAP启动时序启动boot2文件,实现对Virtex系列芯片进行在线升级操作。
CN202210637868.7A 2022-06-08 2022-06-08 一种基于双fpga芯片的软件在线升级系统及方法 Pending CN114721695A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210637868.7A CN114721695A (zh) 2022-06-08 2022-06-08 一种基于双fpga芯片的软件在线升级系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210637868.7A CN114721695A (zh) 2022-06-08 2022-06-08 一种基于双fpga芯片的软件在线升级系统及方法

Publications (1)

Publication Number Publication Date
CN114721695A true CN114721695A (zh) 2022-07-08

Family

ID=82232802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210637868.7A Pending CN114721695A (zh) 2022-06-08 2022-06-08 一种基于双fpga芯片的软件在线升级系统及方法

Country Status (1)

Country Link
CN (1) CN114721695A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656593A (zh) * 2018-12-07 2019-04-19 天津光电通信技术有限公司 基于zynq芯片实现fpga程序远程升级的方法
CN113377408A (zh) * 2021-06-08 2021-09-10 北京计算机技术及应用研究所 一种高可靠sram型fpga在线升级方法及系统
CN114153485A (zh) * 2021-12-06 2022-03-08 成都航天通信设备有限责任公司 基于高速口的多处理器程序升级方法及装置
CN114281390A (zh) * 2022-01-26 2022-04-05 航天科工火箭技术有限公司 一种基于Zynq 7000的在线升级系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656593A (zh) * 2018-12-07 2019-04-19 天津光电通信技术有限公司 基于zynq芯片实现fpga程序远程升级的方法
CN113377408A (zh) * 2021-06-08 2021-09-10 北京计算机技术及应用研究所 一种高可靠sram型fpga在线升级方法及系统
CN114153485A (zh) * 2021-12-06 2022-03-08 成都航天通信设备有限责任公司 基于高速口的多处理器程序升级方法及装置
CN114281390A (zh) * 2022-01-26 2022-04-05 航天科工火箭技术有限公司 一种基于Zynq 7000的在线升级系统及方法

Similar Documents

Publication Publication Date Title
CN112580295B (zh) 多核SoC芯片的自动化验证方法、系统及装置
US7340693B2 (en) System for designing re-programmable digital hardware platforms
US7185293B1 (en) Universal hardware device and method and tools for use therewith
US8584062B2 (en) Tool suite for RTL-level reconfiguration and repartitioning
TWI450117B (zh) 客製化電路板的硬體描述語言產生系統及方法
US8397190B2 (en) Method for manipulating and repartitioning a hierarchical integrated circuit design
CN100498708C (zh) 一种通过个人计算机进行固件下载的方法及装置
CN111190855A (zh) 一种fpga多重远程配置系统及方法
CN106648758A (zh) 一种多核处理器boot启动系统及方法
CN114138360B (zh) DSP在Flash上的多核烧写启动方法及系统
CN114721695A (zh) 一种基于双fpga芯片的软件在线升级系统及方法
CN208766658U (zh) 一种服务器系统
EP1530766A2 (en) Object-oriented design method for the time-effective and cost-effective development of production-grade embedded systems based on a standardized system architecture
CN111710357B (zh) Mcu的mtp单元读写控制电路
US11593547B1 (en) Prediction and optimization of multi-kernel circuit design performance using a programmable overlay
CN113987990A (zh) 一种自动化实现soc芯片io引脚复用的方法及系统
JP5545054B2 (ja) デバッグ回路及びデバッグシステム
CN114896919B (zh) 一种基于fpga的集成电路原型验证系统及方法
CN205353306U (zh) 一种配置适配器
CN114706607B (zh) 一种用于全可编程片上系统的软件在线升级方法
JP2000057188A (ja) ハードウェア・ソフトウェア協調評価装置
CN211857209U (zh) 半实物仿真设备
CN116562204B (zh) 芯片验证方法及装置、电子设备、计算机可读存储介质
CN102662811B (zh) 一种实现对51软核在线应用代码调试的方法
Weber et al. ALS Mini IOC: An FPGA embedded processor based control system module for booster magnet ramping at the ALS

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220708

RJ01 Rejection of invention patent application after publication