CN114721695A - 一种基于双fpga芯片的软件在线升级系统及方法 - Google Patents
一种基于双fpga芯片的软件在线升级系统及方法 Download PDFInfo
- 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
Links
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
Abstract
本发明涉及FPGA芯片软件升级技术领域,公开了一种基于双FPGA芯片的软件在线升级系统及方法,该软件在线升级系统,包括相互通信相连的上位机、升级模块,所述上位机包括升级软件处理模块,所述升级模块包括相互通信相连的第一FPGA芯片、第二FPGA芯片,所述升级软件处理模块与所述第一FPGA芯片通信相连。本发明解决了技术存在的软件升级操作复杂、便捷性差、效率较低等问题。
Description
技术领域
本发明涉及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的网口交互协议表
本发明具有以下特点:
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系列芯片进行在线升级操作。
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)
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的在线升级系统及方法 |
-
2022
- 2022-06-08 CN CN202210637868.7A patent/CN114721695A/zh active Pending
Patent Citations (4)
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 |