CN103885804A - 一种fpga多功能项动态加载系统及其方法 - Google Patents
一种fpga多功能项动态加载系统及其方法 Download PDFInfo
- Publication number
- CN103885804A CN103885804A CN201410103752.0A CN201410103752A CN103885804A CN 103885804 A CN103885804 A CN 103885804A CN 201410103752 A CN201410103752 A CN 201410103752A CN 103885804 A CN103885804 A CN 103885804A
- Authority
- CN
- China
- Prior art keywords
- fpga
- module
- dsp
- control word
- dynamic loading
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种FPGA多功能项动态加载系统及其方法。利用FPGA+CPLD+DSP的硬件架构以及高速串行RapidIO接口,通过命令控制字实现功能项的动态加载,通过高速串口数据通道实现功能项的高速动态加载及功能项更新。可以在不同环境、不同需求下进行多功能项高速、灵活地动态加载以及升级更新。
Description
技术领域
本发明涉及一种FPGA多功能项动态加载系统及其方法,特别是涉及一种适用于雷达以及通信等领域嵌入式硬件处理平台的FPGA多功能项动态加载系统及其方法。
背景技术
与半定制专用集成电路(ASIC)相比,随着技术的进步,现场可编程门阵列(FPGA)的集成度、复杂度和面积优势使其日益成为一种颇具吸引力的高性价比ASIC替代方案,其具有高速性和灵活性使得在雷达、通信以及综合航电系统中广泛应用。目前以FPGA和DSP为架构的嵌入式硬件处理平台在雷达以及通信等领域得到广泛应用,但在多任务系统中,这种架构的硬件就不能满足其需求,需要大量的硬件提供保障,因此出现了FPGA动态加载技术。
目前动态加载技术主流应用的FPGA加载方式是采用外挂并行FLASH存储器或者同步串行接口等进行动态加载。无论是哪种方式,在较大规模的使用环境下都无法提供很好的下载速度,满足不了灵活多样的应用需求。
现有的一些方案中还有如下一些缺点:
一.已有方案中,FPGA不仅要完成功能项工作还要具备升级程序时对更新的映像文件进行校验,并且对校验结果进行处理,这就耗费了本就紧张的FPGA逻辑资源,在大型工程中,FPGA资源就不够,从而影响功能项的正常运行。
二.已有方案中,只有一个FLASH,容错能力不够,如果FLASH出问题,整个系统无法正常工作。
三.已有方案中,使用一个接口连接上位机,如果接口出问题,整个系统无法正常更新升级及动态加载。
发明内容
本发明要解决的技术问题是提供一种解决在不同环境、不同需求下的多功能项高速、灵活地动态加载以及升级更新问题的FPGA多功能项动态加载系统及其方法。
本发明采用的技术方案如下:一种FPGA多功能项动态加载系统,其特征在于,包括依次相连的主控模块、FPGA模块、CPLD模块和DSP模块;所述DSP模块又分别与FLASH模块和DDR模块相连。
作为优选,还包括与FPGA模块相连的EEROM模块。
作为优选,所述FPGA模块通过两路串行接口与CPLD模块相连。
作为优选,所述两路串行接口为RapidIO接口。
一种FPGA多功能项动态加载方法,具体方法步骤为:步骤一、系统上电,FPGA加载EEPROM内的通用程序;步骤二、主控模块根据需求向FPGA发送动态加载控制字;步骤三、FPGA收到控制字发送给DSP解析;步骤四、DSP解析后判断控制字是否为动态加载字,否则返回步骤二,是则进入下一步;步骤五、DSP根据控制字的值判断需要加载的功能项类型是否属于预设类型,否则不执行任何操作,是则根据需要加载的功能项类型加载FLASH内相应的bin文件到FPGA,实现功能重构。
作为优选,所述步骤三中,FPGA收到控制字不做判断直接发送给DSP解析。
作为优选,所述步骤还包括,执行完步骤一之后,A、主控模块根据需要向FPGA发送程序更新控制字;B、FPGA收到控制字发送给DSP解析;C、DSP解析后判断控制字是否为程序更新字,否则返回步骤A,是则进入下一步;D、DSP根据控制字的值判断需要更新的功能项程序类型是否属于预设程序类型,否则不执行任何操作,是则执行下一步;E、DSP把需要更新的程序存储在FLASH相应的地址内并覆盖以前的老版本程序。
作为优选,所述步骤B中,FPGA收到控制字不做处理直接发送给DSP解析。
与现有技术相比,本发明的有益效果是:可以在不同环境、不同需求下进行多功能项高速、灵活地动态加载以及升级更新。
附图说明
图1为本发明其中一实施例的系统原理示意图。
图2为图1所示实施例中不需更新程序的情况下的流程示意图。
图3为图1所示实施例中需要更新程序的情况下的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
一种FPGA多功能项动态加载系统,包括依次相连的主控模块、FPGA模块、CPLD模块和DSP模块;所述DSP模块又分别与FLASH模块和DDR模块相连。
还包括与FPGA模块相连的EEROM模块。FPGA一方面通过桥接方式把与DSP相连的FLASH作为自己的存储器,另一方面配一个单独的EEPROM用于存储上电运行的通用程序以及当做备用存储器,使用灵活,提高系统的容错率。
所述FPGA模块通过两路串行接口与CPLD模块相连;所述两路串行接口为RapidIO接口,一个命令通道和一个数据传输通道。相比现在的串口传输方式,大大提升了加载速度及配置的灵活性;传输动态加载的控制命令和程序升级更新数据的接口分开,使用两路高速串行RapidIO接口,并且可以根据不同情况而作修改,使系统更加灵活、稳定可靠。
在系统具有命令控制和数据更新两个独立的高速串行RapidIO接口与主控连接;根据产品功能需求,生成待加载的不同功能项的bin文件;将bin文件写入FLASH中生成映像文件;生成包含同主控模块通信及动态加载的通用功能程序文件;将通用程序固化到FPGA相连的EEPROM中;根据主控发送的命令,DSP核心处理器通过总线以并行传输的方式将所需bin文件动态加载到FPGA芯片中,并且支持通过4倍串行RapidIO接口实时高速传输加载新的功能项。
一种FPGA多功能项动态加载方法,具体方法步骤为:步骤一、系统上电,FPGA加载EEPROM内的通用程序;步骤二、主控模块根据需求向FPGA发送动态加载控制字;步骤三、FPGA收到控制字发送给DSP解析;步骤四、DSP解析后判断控制字的第6字节值是否为动态加载字,否则返回步骤二,是则进入下一步;步骤五、DSP根据控制字的第8字节的值判断需要加载的功能项类型是否属于预设类型,否则不执行任何操作,是则根据需要加载的功能项类型加载FLASH内相应的bin文件到FPGA,实现功能重构。
所述步骤三中,FPGA收到控制字不做判断直接发送给DSP解析。在动态加载过程中,FPGA基本无处理工作,其原本的功能项照常运行,主要工作都放在CPLD和DSP里面,节约FPGA资源的开销。
所述步骤还包括,执行完步骤一之后,A、主控模块根据需要向FPGA发送程序更新控制字;B、FPGA收到控制字发送给DSP解析;C、DSP解析后判断控制字的第6字节值是否为程序更新字,否则返回步骤A,是则进入下一步;D、DSP根据控制字的第8字节的值判断需要更新的功能项程序类型是否属于预设程序类型,否则不执行任何操作,是则执行下一步;E、DSP把需要更新的程序存储在FLASH相应的地址内并覆盖以前的老版本程序。
所述步骤B中,FPGA收到控制字不做处理直接发送给DSP解析。在动态加载过程中,FPGA基本无处理工作,其原本的功能项照常运行,主要工作都放在CPLD和DSP里面,节约FPGA资源的开销。
Claims (8)
1.一种FPGA多功能项动态加载系统,其特征在于:包括依次相连的主控模块、FPGA模块、CPLD模块和DSP模块;所述DSP模块又分别与FLASH模块和DDR模块相连。
2.根据权利要求1所述的动态加载系统,其特征在于:还包括与FPGA模块相连的EEROM模块。
3.根据权利要求1所述的动态加载系统,其特征在于:所述FPGA模块通过两路串行接口与CPLD模块相连。
4.根据权利要求3所述的动态加载系统,其特征在于:所述两路串行接口为RapidIO接口。
5.一种FPGA多功能项动态加载方法,具体方法步骤为:步骤一、系统上电,FPGA加载EEPROM内的通用程序;步骤二、主控模块根据需求向FPGA发送动态加载控制字;步骤三、FPGA收到控制字发送给DSP解析;步骤四、DSP解析后判断控制字是否为动态加载字,否则返回步骤二,是则进入下一步;步骤五、DSP根据控制字的值判断需要加载的功能项类型是否属于预设类型,否则不执行任何操作,是则根据需要加载的功能项类型加载FLASH内相应的bin文件到FPGA,实现功能重构。
6.根据权利要求5所述的动态加载方法,所述步骤三中,FPGA收到控制字不做判断直接发送给DSP解析。
7.根据权利要求5或6所述的动态加载方法,所述步骤还包括,执行完步骤一之后,A、主控模块根据需要向FPGA发送程序更新控制字;B、FPGA收到控制字发送给DSP解析;C、DSP解析后判断控制字是否为程序更新字,否则返回步骤A,是则进入下一步;D、DSP根据控制字的值判断需要更新的功能项程序类型是否属于预设程序类型,否则不执行任何操作,是则执行下一步;E、DSP把需要更新的程序存储在FLASH相应的地址内并覆盖以前的老版本程序。
8.根据权利要求7所述的动态加载方法,所述步骤B中,FPGA收到控制字不做处理直接发送给DSP解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410103752.0A CN103885804A (zh) | 2014-03-20 | 2014-03-20 | 一种fpga多功能项动态加载系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410103752.0A CN103885804A (zh) | 2014-03-20 | 2014-03-20 | 一种fpga多功能项动态加载系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103885804A true CN103885804A (zh) | 2014-06-25 |
Family
ID=50954714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410103752.0A Pending CN103885804A (zh) | 2014-03-20 | 2014-03-20 | 一种fpga多功能项动态加载系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885804A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063257A (zh) * | 2014-07-23 | 2014-09-24 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
CN107038040A (zh) * | 2016-11-01 | 2017-08-11 | 中国人民解放军国防科学技术大学 | 基于pcie的fpga更新系统及更新方法 |
CN109032938A (zh) * | 2018-07-17 | 2018-12-18 | 中国航空无线电电子研究所 | 多核dsp程序开发调试方法、程序文档及加载方法 |
CN110175056A (zh) * | 2019-05-30 | 2019-08-27 | 西安微电子技术研究所 | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 |
CN110221554A (zh) * | 2019-05-23 | 2019-09-10 | 南京双路智能科技有限公司 | 一种基于fpga的并串多路应用系统 |
CN112711560A (zh) * | 2021-02-10 | 2021-04-27 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | ZYNQ芯片单点连接RapidIO总线的重构方法 |
-
2014
- 2014-03-20 CN CN201410103752.0A patent/CN103885804A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063257A (zh) * | 2014-07-23 | 2014-09-24 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
CN104063257B (zh) * | 2014-07-23 | 2017-06-27 | 武汉邮电科学研究院 | 一种fpga自动加载系统及方法 |
CN107038040A (zh) * | 2016-11-01 | 2017-08-11 | 中国人民解放军国防科学技术大学 | 基于pcie的fpga更新系统及更新方法 |
CN109032938A (zh) * | 2018-07-17 | 2018-12-18 | 中国航空无线电电子研究所 | 多核dsp程序开发调试方法、程序文档及加载方法 |
CN110221554A (zh) * | 2019-05-23 | 2019-09-10 | 南京双路智能科技有限公司 | 一种基于fpga的并串多路应用系统 |
CN110175056A (zh) * | 2019-05-30 | 2019-08-27 | 西安微电子技术研究所 | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 |
CN112711560A (zh) * | 2021-02-10 | 2021-04-27 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | ZYNQ芯片单点连接RapidIO总线的重构方法 |
CN112711560B (zh) * | 2021-02-10 | 2023-05-26 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | ZYNQ芯片单点连接RapidIO总线的重构方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885804A (zh) | 一种fpga多功能项动态加载系统及其方法 | |
WO2017063577A1 (zh) | 一种光模块的固件升级方法及装置 | |
US10579349B2 (en) | Verification of a dataflow representation of a program through static type-checking | |
EP3382526B1 (en) | Multi-node storage operation | |
CN104615488A (zh) | 异构多核可重构计算平台上任务调度的方法和装置 | |
WO2016036830A4 (en) | Executing graph-based program specifications | |
WO2006032524A3 (en) | Sharing classes and class loaders | |
CN104317749A (zh) | 信息写入方法和装置 | |
CN104965757A (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
WO2012131507A1 (en) | Running a plurality of instances of an application | |
CN104205780A (zh) | 一种存储数据的方法和装置 | |
CN101025698A (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
EP3528116A1 (en) | Operating method for storage device, and physical server | |
CN103530254B (zh) | 多节点系统的外部设备互联枚举方法和装置 | |
CN104424122A (zh) | 一种电子设备及内存划分方法 | |
CN104298525A (zh) | 复杂约束条件下多组件软件部署的自动化与自适应方法及其部署管理系统 | |
CN103019944A (zh) | 基于代码注入方式的测试方法和装置 | |
US20220035637A1 (en) | On-the-fly adjustment of issue-write back latency to avoid write back collisions using a result buffer | |
US9449714B2 (en) | Flexible interrupt generation mechanism | |
CN104461719A (zh) | 一种面向分区操作系统的虚中断扩展方法 | |
CN111416860B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN110069417B (zh) | A/b测试方法和装置 | |
US9274837B2 (en) | Assigning levels of pools of resources to a super process having sub-processes | |
CN103631648A (zh) | 一种任务处理方法及系统 | |
CN102541577A (zh) | 基于fpga的嵌入式系统及其配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140625 |
|
RJ01 | Rejection of invention patent application after publication |