CN113806282A - 异构控制系统及异构控制系统的加载方法 - Google Patents
异构控制系统及异构控制系统的加载方法 Download PDFInfo
- Publication number
- CN113806282A CN113806282A CN202111018833.7A CN202111018833A CN113806282A CN 113806282 A CN113806282 A CN 113806282A CN 202111018833 A CN202111018833 A CN 202111018833A CN 113806282 A CN113806282 A CN 113806282A
- Authority
- CN
- China
- Prior art keywords
- application program
- chip
- upgraded
- fpga chip
- data
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 40
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000000034 method Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种异构控制系统及异构控制系统的加载方法,该异构控制系统包括:DSP芯片,用于对系统进行逻辑与算法控制,并输出控制指令;FPGA芯片,与DSP芯片通过UPP总线连接,用于接收并执行控制指令。本发明解决了DSP芯片与FPGA芯片之间大量实时数据交换时的通道瓶颈问题,不需要模拟总线,可以使数据流在FPGA芯片和DSP芯片中高效率传输,提高了数据传输效率,从而提高异构控制系统的性能。
Description
技术领域
本发明涉及嵌入式系统技术领域,特别涉及一种异构控制系统及异构控制系统的加载方法。
背景技术
随着工业自动化的发展,FPGA芯片在嵌入式板卡中得到了广泛的应用,并且FPGA芯片和DSP芯片构成的系统可以用于需同时完成复杂实时数据处理与逻辑控制功能的领域。系统根据从外部接收到的控制命令实现逻辑控制以及信号交互等对实时性的要求极高,如何在FPGA芯片和DSP芯片之间更加高效地传输数据,是本领域亟待解决的技术问题。
发明内容
本发明的主要目的是提出一种异构控制系统及异构控制系统的加载方法,旨在提高异构控制系统的数据传输效率。
为实现上述目的,本发明提出一种异构控制系统,所述异构控制系统包括:
DSP芯片,用于对系统进行逻辑与算法控制,并输出控制指令;
FPGA芯片,与所述DSP芯片通过UPP总线连接,用于接收并执行所述控制指令。
可选地,所述异构控制系统还包括:
第一存储器,与所述DSP芯片连接,用于存储待升级应用程序;
所述DSP芯片,还用于在读取到所述第一存储器中存储有待升级应用程序时,输出升级控制指令,并对所述待升级应用程序进行数据处理后,输出待升级应用程序数据;
所述FPGA芯片,还用于在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序数据,并进行应用升级。
可选地,所述异构控制系统还包括:
第二存储器,所述第二存储器与所述FPGA芯片电连接,用于存储所述FPGA芯片应用程序。
可选地,所述FPGA芯片还用于在接收到所述升级控制指令时,擦除所述第二存储器的FPGA芯片应用程序;以及,将所述待升级应用程序数据写入至所述第二存储器。
可选地,所述FPGA芯片包括:
加载处理模块,通过所述UPP总线与所述DSP芯片连接,所述加载处理模块用于经所述UPP总线上接收所述DSP芯片输出的待升级应用程序数据,并进行数据处理;
数据缓存模块,与所述加载处理模块连接,所述数据缓存模块用于接收经所述加载处理模块数据处理后的待升级应用程序;
SPI模块,与所述第二存储器电连接,所述SPI模块用于读取和写入所述FPGA芯片的应用程序;
所述SPI模块还用于在接收到所述升级控制指令时,擦除所述第二存储器的FPGA芯片的应用程序,并将经所述加载处理模块进行数据处理后的待升级应用程序数据写入至所述第二存储器。
可选地,所述DSP芯片具体用于对所述待升级应用程序以预设长度进行拆包,以生成所述待升级应用程序数据后输出至所述FPGA芯片。
可选地,所述异构控制系统还包括:
DDR芯片,与所述DSP芯片连接,所述DDR芯片用于向所述DSP芯片加载应用程序。
本发明还提出一种异构控制系统的加载方法,所述异构控制系统包括DSP芯片及与所述DSP芯片通过UPP总线连接的FPGA芯片;异构控制系统的加载方法包括以下步骤:
DSP芯片在获取到待升级应用程序时,输出升级控制指令;
FPGA芯片在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序,并进行应用升级。
可选地,在所述接收所述待升级应用程序,并进行应用升级的步骤之前,所述异构控制系统的加载方法还包括:
对所述待升级应用程序进行数据处理后,输出待升级应用程序数据。
可选地,所述接收所述待升级应用程序数据,并进行应用升级的步骤具体包括:
接收并解析经所述UPP总线输出的升级应用程序数据;
将解析的升级应用程序数据进行组包后写入所述升级应用程序数据控制FPGA芯片进行跳转并重新加载。
本发明异构控制系统通过设置DSP芯片,并且DSP芯片通过UPP接口与FPGA芯片连接,DSP芯片和FPGA芯片之间通过UPP总线实现通信连接,从而通过UPP接口实现DSP芯片与FPGA芯片的控制控制指令及反馈信息等的实时交互,DSP芯片和FPGA芯片之间通过UPP总线以及GPIO接口传输数据,占用芯片接口资源少、布线简单、速率高。本发明解决了DSP芯片与FPGA芯片之间大量实时数据交换时的通道瓶颈问题,不需要模拟总线,可以使数据流在FPGA芯片和DSP芯片中高效率传输,提高了数据传输效率,从而提高异构控制系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明异构控制系统一实施例的电路结构示意图;
图2为图1中FPHA芯片一实施例处的电路结构示意图;
图3为本发明异构控制系统的加载方法一实施例的流程示意图;
图4为本发明异构控制系统的加载方法另一实施例的流程示意图;
图5为图3中步骤S200一实施例的细化流程示意图。
附图标号说明:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明提出一种异构控制系统,可以适用于机器人、运动控制器、自动化设备等具有嵌入式板卡的设备中。
参照图1至图2,在本发明一实施例中,该异构控制系统包括:
DSP芯片(Digital Signal Processing,数字信号处理器)10,用于对系统进行逻辑与算法控制,并输出控制指令;
FPGA芯片(Field Programmable Gate Array,现场可编程门阵列)20,与所述DSP芯片10通过UPP(Universal Parallel Port,通用并行端口)总线连接,用于接收并执行所述控制指令。
本实施例中,DSP芯片10和FPGA芯片20为异构控制系统主要核心芯片,并且DSP芯片10作为异构控制系统的主处理器,FPGA芯片20作为异构控制系统的从处理器,组成高速数字电路系统。FPGA芯片20具有高效的数据管理与实时数据通讯能力,ARM(Advanced RISCMachine,精简指令集微处理器),而DSP芯片10(Digital Signal Processor,数字信号处理器)具有强大的数学运算与实时数据处理能力,以及较强的逻辑控制能力,FPGA芯片20和DSP芯片10两者之间都需要交换数据。FPGA芯片20与DSP芯片10之间大量实时数据交换时通常采用的是串口接口,导致数据流无法在FPGA芯片20和DSP芯片10中高效率传输。DSP芯片10可以通过串口/网口等于外部设备,例如上位机等通信连接,DSP芯片10可以实现外部的实时数据传输和控制结果输出,实现实时控制和参数传递,上位机可以通过以太网或通用串行接口进行运行监控、故障记录、程序下载,程序更新等等功能。同时,DSP芯片10作为主处理器,可以完成内部逻辑控制和操作系统管理,DSP芯片10和FPGA芯片20之间使用通用并行总线(UPP)接口通信,全双工模式,接口时钟50MHz,数据位宽8bits。FPGA芯片20和DSP芯片10之间定义了私有协议报文格式。其中,串口可以是UART接口、RS232接口、RS485接口、I2C串行总线、SPI串行总线、USB串行总线或Ethernet串行总线等。网口为以太网接口。FPGA芯片20基于DSP芯片10的控制,将DSP芯片10下发的控制指令进行处理后执行该指令。
为此,本实施例的DSP芯片10与FPGA芯片20之间通过UPP总线进行通信连接,DSP芯片10与FPGA芯片20之间还可以通过GPIO接口进行通信连接。通过UPP总线,DSP芯片10与FPGA芯片20之间可以实时的进行信号交互,DSP芯片10可以通过UPP总线向FPGA芯片20发送控制指令,DSP芯片10还可以通过GPIO接口向FPGA芯片20发送初始化就绪信号等。异构控制系统还包括第一存储器30、第二存储器40、DDR芯片50(Double Data Rate,双倍速率同步动态随机存储器)。第一存储器30可以通过EMIFA总线与DSP芯片10连接,第二存储器40可以通过SPI接口与FPGA芯片20连接。其中,第一存储器30可以采用NAND FLASH来实现,第二存储器40可以采用SPI FLASH来实现。第一存储器30中存储有DSP芯片10的应用程序,第一存储器30还可以用于临时存放FPGA芯片20待升级的应用程序。第二存储器40用于存储FPGA芯片20的引导程序与FPGA芯片20的应用程序。DDR芯片50可以通过DDR总线与DSP芯片10连接,用于加载运行DSP应用程序。
在异构控制系统正常工作之前,DSP芯片10和FPGA芯片20均需要进行初始化,并进行应有程序等的加载。具体地,在异构控制系统上电时,DSP芯片10从第一存储器30读取DSP芯片10应用程序,第二存储器40加载FPGA芯片20的引导程序,上电完成后,DSP芯片10加载DSP芯片10应用程序并完成初始化,并通过GPIO接口输出初始化就绪信号给FPGA芯片20。FPGA芯片20从0x0地址加载,并从第二存储器40中读取引导程序,以加载到FPGA芯片20中运行并完成UPP总线与GPIO的初始化。FPGA芯片20在接收到DSP芯片10通过GPIO口输出的DSP芯片10初始化就绪信号时,通过GPIO口输出FPGA芯片20初始化就绪信号。DSP芯片10在接收到FPGA芯片20输出的FPGA芯片20初始化就绪信号后,即表示DSP芯片10和FPGA芯片20均完成初始化,两者均进入正常工作模式,可以运行各自加载的应用程序。
在异构控制系统正常工作时,DSP芯片10和FPGA芯片20运行各自的应用程序,DSP芯片10可以通过网口/串口接入的外部数据,并且根据是否接入外部数据,以及外部数据的具体内容,控制DSP芯片10自身和FPGA芯片20进入对应的工作状态,例如,当DSP芯片10没有接收到外部数据时,DSP芯片10可以控制FPGA芯片20进入低功耗工作模式,同时DSP芯片10也可以进入低功耗工作模式。当DSP芯片10接收到外部数据时,中断低功耗工作模式,跳转至正常工作模式,接收外部数据。如果DSP芯片10无法独自处理外部数据,则通过UPP总线发送控制指令,并通过UPP总线向FPGA芯片20发送数据,DSP芯片10和FPGA芯片20一起配合处理外部数据,当外部数据处理完成后,如果没有其他外部数据输入,DSP芯片10自身和FPGA芯片20又进入低功耗工作模式。
本发明异构控制系统DSP芯片10通过UPP接口与FPGA芯片20连接,DSP芯片10和FPGA芯片20之间通过UPP总线实现通信连接,从而通过UPP接口实现DSP芯片10与FPGA芯片20的控制控制指令及反馈信息等的实时交互,DSP芯片10和FPGA芯片20之间通过UPP总线以及GPIO接口传输数据,占用芯片接口资源少、布线简单、速率高。本发明解决了DSP芯片10与FPGA芯片20之间大量实时数据交换时的通道瓶颈问题,不需要模拟总线,可以使数据流在FPGA芯片20和DSP芯片10中高效率传输,提高了数据传输效率,从而提高异构控制系统的性能。
可以理解的是,异构控制系统后期可能需要进行系统升级,尤其是FPGA芯片20。参照图1,为此,在一实施例中,可以通过设置第一存储器30,以存储待升级应用程序;并且DSP芯片10可以通过UPP总线向FPGA芯片20发送加载控制指令,也即升级控制指令:
所述DSP芯片10在读取到所述第一存储器30中存储有待升级应用程序时,输出升级控制指令,并对所述待升级应用程序进行数据处理后,输出待升级应用程序数据;
所述FPGA芯片20,还用于在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序数据,并进行应用升级。
当FPGA芯片20需要加载时,DSP芯片10可以通过串口/网口接收上位机输出的FPGA芯片20待升级的应用程序,并存储至第一存储器30中,此时存储有FPGA芯片20待升级的应用程序,因此DSP芯片10可以读取到FPGA芯片20待升级的应用程序,DSP芯片10可以通过UPP总线向FPGA芯片20发送加载控制命令,并通过UPP总线将FPGA芯片20待升级的应用程序发送给FPGA芯片20,完成FPGA芯片20的应用程序升级。在升级后,FPGA芯片20可以重新加载应用程序,完成升级后再运行应用程序。另外,在FPGA芯片20进行升级之前,FPGA芯片20在接收到所述升级控制指令时,先擦除第二存储器40的FPGA芯片20应用程序,再将所述待升级应用程序数据写入至第二存储器40。
当FPGA芯片20不需要升级时,从第一存储器30中读取FPGA芯片20待升级的应用程序,在FPGA芯片20不需要升级时,第一存储器30中不会存储有FPGA芯片20待升级的应用程序,此时DSP芯片10也就读取不到FPGA芯片20待升级的应用程序,因此可以结束初始化,DSP芯片10开始运行加载的应用程序。同时,FPGA芯片20也结束初始化,可以加载并运行应用程序。本发明异构控制系统可以通过网口/串口等接收FPGA芯片20、DSP芯片10的应用程序,DSP芯片10和FPGA芯片20之间通过UPP总线传输加载控制指令及应用程序,使FPGA芯片20完成FPGA芯片20程序数据的动态加载,能够适应于基于DSP芯片10与FPGA芯片20平台动态高效加载FPGA芯片20程序的场景。
可以理解的是,在一些实施例中,异构控制系统后期可能需要对DSP芯片10进行应用程序升级。参照图1,为此,所述异构控制系统还包括:
DDR芯片50,与所述DSP芯片10连接,所述DDR芯片50用于向所述DSP芯片10加载应用程序。
本实施例中,当DSP芯片10需要加载程序时,DSP芯片10可以通过串口/网口接收上位机输出的DSP芯片10待升级的应用程序,DSP芯片10依次接收待升级的应用程序并存入DDR芯片50内存中;当DSP芯片10将接收的待升级的应用程序存入DDR芯片50之后。在接收到上位机发送的第一存储器30写入命令时,DSP芯片10可以将DDR芯片50中存储的DSP芯片10待升级的应用程序写入第一存储器30中,当DSP芯片10将DSP芯片10待升级的应用程序写入第一存储器30之后,使DSP芯片10重新上电,完成DSP芯片10待升级的应用程序的加载。
参照图1,在一实施例中,所述DSP芯片10具体用于对所述待升级应用程序以预设长度进行拆包,以生成所述待升级应用程序数据后输出至所述FPGA芯片20。
本实施例中,预设长度可以设置为16字节,24字节,或者32字节,具体可以根据UPP总线的传输速率进行设定。在FPGA芯片20的应用程序需要进行升级时,DSP芯片10向FPGA芯片20发送加载控制命令,FPGA芯片20根据加载控制命令,解析出擦除SPI FLASH指令后,擦除SPI FLASH上已存储的应用程序,擦除完成后,FPGA芯片20可以通过GPIO接口输出IO擦除完成信号。DSP芯片10等待FPGA芯片20的IO擦除完成信号后,将FPGA芯片20应用程序按照有效数据长度为24字节进行拆包(不足则补0),并依次通过UPP总线发送给FPGA芯片20,以使FPGA芯片20接收完DSP芯片10发送的所有待升级应用程序数据后,再将应用程序写入第二存储器40中,写入完成后,FPGA芯片20重新加载完成升级。
参照图2,在一实施例中,所述FPGA芯片20包括:
加载处理模块21,通过所述UPP总线与所述DSP芯片10连接,所述加载处理模块21用于经所述UPP总线上接收所述DSP芯片10输出的待升级应用程序数据,并进行数据处理;
数据缓存模块22,与所述加载处理模块21连接,所述数据缓存模块22用于接收经所述加载处理模块21数据处理后的待升级应用程序;
SPI模块23,与所述第二存储器40电连接,所述SPI模块23用于读取和写入所述FPGA芯片20的应用程序;
SPI模块23还用于在接收到所述升级控制指令时,擦除所述第二存储器40的FPGA芯片20的应用程序,并将经所述加载处理模块21进行数据处理后的待升级应用程序数据写入至所述第二存储器40。
本实施例中,加载处理模块21接收并解析加载控制命令中的擦除SPI FLASH指令,通过SPI模块23擦除SPI FLASH固定区域,并输出擦除完成信号。在DSP芯片10将FPGA芯片20应用程序按照有效数据长度为24字节进行拆包(不足则补0),并依次通过UPP总线发送给FPGA芯片20中的加载处理模块21,加载处理模块21接收并解析UPP数据帧,将解析的FPGA芯片20应用程序数据传送至数据缓存模块22进行组包,在加载处理模块21接收FPGA芯片20应用程序数据并组包完成后,加载处理模块21将所有有效数据通过SPI模块23写入SPIFLASH;写入完成后,加载处理模块21控制FPGA芯片20进行跳转并重新加载,完成升级。
本发明还提出一种异构控制系统的FPGA芯片加载方法。
参照图1至图5,所述异构控制系统包括DSP芯片及与所述DSP芯片通过UPP总线连接的FPGA芯片;异构控制系统的加载方法包括以下步骤:
可以理解的是,在步骤S100之前,异构控制系统的加载方法还包括对DSP芯片和FPGA芯片的初始化,具体为:
在异构控制系统上电时,第一存储器加载FPGA芯片待升级的应用程序,第二存储器加载FPGA芯片的引导程序。上电时,DSP芯片从第一存储器读取DSP芯片应用程序,DSP芯片加载DSP芯片应用程序并完成初始化,并通过GPIO接口输出初始化就绪信号给FPGA芯片。FPGA芯片从0x0地址加载,并从第二存储器中读取引导程序,以加载到FPGA芯片中运行并完成UPP总线与GPIO的初始化。FPGA芯片在接收到DSP芯片通过GPIO口输出的DSP芯片初始化就绪信号时,通过GPIO口输出FPGA芯片初始化就绪信号。DSP芯片在接收到FPGA芯片输出的FPGA芯片初始化就绪信号后,即表示DSP芯片和FPGA芯片均完成初始化。随后进入步骤S100:DSP芯片在获取到所述待升级应用程序时,输出升级控制指令;
本实施例中,DSP芯片可以通过串口/网口接收上位机输出的FPGA芯片待升级的应用程序,并存储至第一存储器中,此时存储有FPGA芯片待升级的应用程序,因此DSP芯片可以读取到FPGA芯片待升级的应用程序,DSP芯片可以通过UPP总线向FPGA芯片发送加载控制命令,并通过UPP总线将FPGA芯片待升级的应用程序发送给FPGA芯片。
步骤S200、FPGA芯片在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序,并进行应用升级。
本实施例中,FPGA芯片基于DSP芯片的控制,并接收DSP芯片发送的FPGA芯片待升级的应用程序,以完成FPGA芯片的应用程序升级。在升级后,加载并运行升级后的应用程序,也即FPGA芯片可以重新加载应用程序,完成升级后再运行应用程序。另外,在FPGA芯片进行升级之前,FPGA芯片在接收到所述升级控制指令时,先擦除第二存储器的FPGA芯片应用程序,再将所述待升级应用程序数据写入至第二存储器。
上述实施例中,对FPGA芯片的升级可以在DSP芯片和FPGA芯片初始化之后进行,在升级后,DSP芯片和FPGA芯片运行各自的应用程序,DSP芯片可以通过网口/串口接入的外部数据,并且根据是否接入外部数据,以及外部数据的具体内容,确定是否需要通过UPP总线发送控制指令,并通过UPP总线向FPGA芯片发送数据,DSP芯片和FPGA芯片一起配合处理外部数据。
本发明异构控制系统的FPGA芯片加载方法,DSP芯片通过UPP接口与FPGA芯片连接,DSP芯片和FPGA芯片之间通过UPP总线实现通信连接,从而通过UPP接口传输升级控制指令及待升级应用程序,完成FPGA芯片的应用程序加载,DSP芯片和FPGA芯片之间通过UPP总线以及GPIO接口传输数据,占用芯片接口资源少、布线简单、速率高。本发明解决了DSP芯片与FPGA芯片之间大量实时数据交换时的通道瓶颈问题,可以使数据流在FPGA芯片和DSP芯片中高效率传输,提高了数据传输效率,从而提高异构控制系统的性能。
参照图4,在步骤S100、在获取到所述待升级应用程序时,输出升级控制指令之后,异构控制系统的加载方法还包括:
步骤S300、对所述待升级应用程序进行数据处理后,输出待升级应用程序数据;
本实施例中,对所述待升级应用程序进行数据处理的具体过程为,将待升级应用程序以预设长度进行拆包,以生成所述待升级应用程序数据后输出至所述FPGA芯片。其中,预设长度可以设置为16字节,24字节,或者32字节,具体可以根据UPP总线的传输速率进行设定。在FPGA芯片的应用程序需要进行升级时,DSP芯片向FPGA芯片发送加载控制命令,FPGA芯片根据加载控制命令,解析出擦除SPI FLASH指令后,擦除SPI FLASH上已存储的应用程序,擦除完成后,FPGA芯片可以通过GPIO接口输出IO擦除完成信号。DSP芯片等待FPGA芯片的IO擦除完成信号后,将FPGA芯片应用程序按照有效数据长度为24字节进行拆包(不足则补0),并依次通过UPP总线发送给FPGA芯片,以使FPGA芯片接收完DSP芯片发送的所有待升级应用程序数据后,再将应用程序写入第二存储器中,写入完成后,FPGA芯片重新加载完成升级。
参照图5,在一实施例中,所述接收所述待升级应用程序数据,并进行应用升级的步骤具体包括:
步骤S210、接收并解析经所述UPP总线输出的升级应用程序数据;
步骤S220、将解析的升级应用程序数据进行组包后写入所述升级应用程序数据控制FPGA芯片进行跳转并重新加载。
本实施例中,FPGA芯片包括加载处理模块、数据缓存模块和SPI模块。其中,加载处理模块用于接收UPP总线上的数据,实现与DSP芯片之间信号的交互,控制程序的跳转;数据缓存模块用于实现对接收数据的缓存;SPI模块用于实现对SPI FLASH的擦除、读写操作。在经所述UPP总线接收到所述升级控制指令时,可以接收并解析加载控制命令中的擦除SPIFLASH指令,擦除SPI FLASH固定区域,从而擦除存储的FPGA芯片应用程序,并输出擦除完成信号。在DSP芯片将FPGA芯片应用程序按照有效数据长度为24字节进行拆包(不足则补0),并依次通过UPP总线发送给FPGA芯片,FPGA芯片接收并解析UPP数据帧,将解析的FPGA芯片应用程序数据传送至数据缓存模块进行组包,在FPGA芯片接收FPGA芯片应用程序数据并组包完成后,将所有有效数据写入SPI FLASH;写入完成后,FPGA芯片进行跳转并重新加载,完成升级。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种异构控制系统,其特征在于,所述异构控制系统包括:
DSP芯片,用于对系统进行逻辑与算法控制,并输出控制指令;
FPGA芯片,与所述DSP芯片通过UPP总线连接,用于接收并执行所述控制指令。
2.如权利要求1所述的异构控制系统,其特征在于,所述异构控制系统还包括:
第一存储器,与所述DSP芯片连接,用于存储待升级应用程序;
所述DSP芯片,还用于在读取到所述第一存储器中存储有待升级应用程序时,输出升级控制指令,并对所述待升级应用程序进行数据处理后,输出待升级应用程序数据;
所述FPGA芯片,还用于在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序数据,并进行应用升级。
3.如权利要求2所述的异构控制系统,其特征在于,所述异构控制系统还包括:
第二存储器,所述第二存储器与所述FPGA芯片电连接,用于存储所述FPGA芯片应用程序。
4.如权利要求3所述的异构控制系统,其特征在于,所述FPGA芯片还用于在接收到所述升级控制指令时,擦除所述第二存储器的FPGA芯片应用程序;以及,将所述待升级应用程序数据写入至所述第二存储器。
5.如权利要求3所述的异构控制系统,其特征在于,所述FPGA芯片包括:
加载处理模块,通过所述UPP总线与所述DSP芯片连接,所述加载处理模块用于经所述UPP总线上接收所述DSP芯片输出的待升级应用程序数据,并进行数据处理;
数据缓存模块,与所述加载处理模块连接,所述数据缓存模块用于接收经所述加载处理模块数据处理后的待升级应用程序;
SPI模块,与所述第二存储器电连接,所述SPI模块用于读取和写入所述FPGA芯片的应用程序;
所述SPI模块还用于在接收到所述升级控制指令时,擦除所述第二存储器的FPGA芯片的应用程序,并将经所述加载处理模块进行数据处理后的待升级应用程序数据写入至所述第二存储器。
6.如权利要求2所述的异构控制系统,其特征在于,所述DSP芯片具体用于对所述待升级应用程序以预设长度进行拆包,以生成所述待升级应用程序数据后输出至所述FPGA芯片。
7.如权利要求1至6任意一项所述的异构控制系统,其特征在于,所述异构控制系统还包括:
DDR芯片,与所述DSP芯片连接,所述DDR芯片用于向所述DSP芯片加载应用程序。
8.一种异构控制系统的加载方法,其特征在于,所述异构控制系统包括DSP芯片及与所述DSP芯片通过UPP总线连接的FPGA芯片;异构控制系统的加载方法包括以下步骤:
DSP芯片在获取到待升级应用程序时,输出升级控制指令;
FPGA芯片在经所述UPP总线接收到所述升级控制指令时,接收所述待升级应用程序,并进行应用升级。
9.如权利要求8所述的异构控制系统的加载方法,其特征在于,在所述接收所述待升级应用程序,并进行应用升级的步骤之前,所述异构控制系统的加载方法还包括:
对所述待升级应用程序进行数据处理后,输出待升级应用程序数据。
10.如权利要求9所述的异构控制系统的加载方法,其特征在于,所述接收所述待升级应用程序数据,并进行应用升级的步骤具体包括:
接收并解析经所述UPP总线输出的升级应用程序数据;
将解析的升级应用程序数据进行组包后写入所述升级应用程序数据控制FPGA芯片进行跳转并重新加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018833.7A CN113806282A (zh) | 2021-08-31 | 2021-08-31 | 异构控制系统及异构控制系统的加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018833.7A CN113806282A (zh) | 2021-08-31 | 2021-08-31 | 异构控制系统及异构控制系统的加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806282A true CN113806282A (zh) | 2021-12-17 |
Family
ID=78894527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111018833.7A Pending CN113806282A (zh) | 2021-08-31 | 2021-08-31 | 异构控制系统及异构控制系统的加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806282A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469912A (zh) * | 2022-11-02 | 2022-12-13 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080052178A (ko) * | 2006-12-05 | 2008-06-11 | 한국전자통신연구원 | 에스디알 기반의 단말기 및 그 제어 방법 |
CN103106163A (zh) * | 2013-03-06 | 2013-05-15 | 上海维宏电子科技股份有限公司 | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
WO2017041567A1 (zh) * | 2015-09-07 | 2017-03-16 | 武汉精测电子技术股份有限公司 | 基于软核处理器的fpga多镜像升级加载方法及装置 |
CN107885517A (zh) * | 2017-10-25 | 2018-04-06 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 嵌入式系统处理器程序加载电路 |
CN108037945A (zh) * | 2017-12-13 | 2018-05-15 | 天津津航计算技术研究所 | 基于1553b总线的fpga在线升级装置 |
CN108153541A (zh) * | 2017-12-13 | 2018-06-12 | 天津津航计算技术研究所 | 基于1553b总线的fpga在线升级方法 |
CN108519889A (zh) * | 2018-03-22 | 2018-09-11 | 深圳华中科技大学研究院 | 一种基于jtag标准的fpga程序远程升级系统及方法 |
CN108572831A (zh) * | 2017-12-26 | 2018-09-25 | 中车株洲电力机车研究所有限公司 | 一种软件在线更新升级系统及方法 |
CN110764799A (zh) * | 2019-09-27 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种优化远程更新fpga加速卡的方法、设备及介质 |
CN111008033A (zh) * | 2019-10-30 | 2020-04-14 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于串口的通用dsp在线升级系统及升级方法 |
CN211124042U (zh) * | 2020-03-18 | 2020-07-28 | 河南炬讯信息技术有限公司 | 一种具有强大数据处理能力的amc信号处理板卡 |
CN112783531A (zh) * | 2021-01-29 | 2021-05-11 | 湖北三江航天红峰控制有限公司 | 一种fpga与dsp架构下以太网升级dsp程序方法 |
CN112988271A (zh) * | 2021-03-19 | 2021-06-18 | 四川航天神坤科技有限公司 | 一种被动SelectMAP模式下动态配置FPGA的系统及其方法 |
-
2021
- 2021-08-31 CN CN202111018833.7A patent/CN113806282A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080052178A (ko) * | 2006-12-05 | 2008-06-11 | 한국전자통신연구원 | 에스디알 기반의 단말기 및 그 제어 방법 |
CN103106163A (zh) * | 2013-03-06 | 2013-05-15 | 上海维宏电子科技股份有限公司 | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
WO2017041567A1 (zh) * | 2015-09-07 | 2017-03-16 | 武汉精测电子技术股份有限公司 | 基于软核处理器的fpga多镜像升级加载方法及装置 |
CN107885517A (zh) * | 2017-10-25 | 2018-04-06 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 嵌入式系统处理器程序加载电路 |
CN108153541A (zh) * | 2017-12-13 | 2018-06-12 | 天津津航计算技术研究所 | 基于1553b总线的fpga在线升级方法 |
CN108037945A (zh) * | 2017-12-13 | 2018-05-15 | 天津津航计算技术研究所 | 基于1553b总线的fpga在线升级装置 |
CN108572831A (zh) * | 2017-12-26 | 2018-09-25 | 中车株洲电力机车研究所有限公司 | 一种软件在线更新升级系统及方法 |
CN108519889A (zh) * | 2018-03-22 | 2018-09-11 | 深圳华中科技大学研究院 | 一种基于jtag标准的fpga程序远程升级系统及方法 |
CN110764799A (zh) * | 2019-09-27 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种优化远程更新fpga加速卡的方法、设备及介质 |
CN111008033A (zh) * | 2019-10-30 | 2020-04-14 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于串口的通用dsp在线升级系统及升级方法 |
CN211124042U (zh) * | 2020-03-18 | 2020-07-28 | 河南炬讯信息技术有限公司 | 一种具有强大数据处理能力的amc信号处理板卡 |
CN112783531A (zh) * | 2021-01-29 | 2021-05-11 | 湖北三江航天红峰控制有限公司 | 一种fpga与dsp架构下以太网升级dsp程序方法 |
CN112988271A (zh) * | 2021-03-19 | 2021-06-18 | 四川航天神坤科技有限公司 | 一种被动SelectMAP模式下动态配置FPGA的系统及其方法 |
Non-Patent Citations (3)
Title |
---|
朱道山;: "基于RapidIO的FPGA远程更新系统设计与实现", 雷达科学与技术, no. 05 * |
李文辉;王嘉宸;胡鹏博;: "FPGA双层异构系统配置管理技术", 电子质量, no. 05 * |
郝天琪;孟立凡;孙玉环;: "一种批量FPGA远程并行智能升级的方案", 电子器件, no. 04 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469912A (zh) * | 2022-11-02 | 2022-12-13 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
CN115469912B (zh) * | 2022-11-02 | 2023-01-24 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7155550B2 (en) | Program-executing apparatus and portable information processing apparatus | |
CN113377408B (zh) | 一种高可靠sram型fpga在线升级方法及系统 | |
JPH08263361A (ja) | フラッシュメモリカード | |
CN113434162B (zh) | 远程在线更新fpga多版本程序的方法 | |
US20060224821A1 (en) | System for parallel updating flash memory and method for the same | |
US6708289B1 (en) | Microcomputer, electronic equipment and debugging system | |
CN113010470A (zh) | 边缘节点远程控制系统、方法、设备及存储介质 | |
CN111267111B (zh) | 一种机器人控制方法、装置及系统 | |
US6954815B2 (en) | Microcomputer with universal serial bus interface circuit and method of controlling the same | |
CN106528217B (zh) | 一种现场可编程门阵列程序加载系统和方法 | |
CN113806282A (zh) | 异构控制系统及异构控制系统的加载方法 | |
US6668205B1 (en) | Control method of factory automation system, recording medium recording a program therefor and central processor of factory automation system | |
US7680909B2 (en) | Method for configuration of a processing unit | |
CN116486868A (zh) | 计算高速链路(CXL)上的高速非易失性存储器(NVMe) | |
CN110362526B (zh) | Spi从机设备、存储和适配方法及计算机存储介质 | |
CN115268987A (zh) | 一种异构平台fpga多版本配置文件加载管理方法 | |
WO2002093390A1 (fr) | Processeur de donnees et procede pour mettre a jour une table de donnees | |
US8341334B2 (en) | Flash memory apparatus and method for operating the same and data storage system | |
JP4663210B2 (ja) | 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN114328342A (zh) | 一种用于PCIe异构加速卡的新型程控配置方法 | |
JP2006031123A (ja) | Usbメモリ装置およびusbメモリ装置制御プログラム | |
JP4793798B2 (ja) | マイクロコンピュータ | |
CN112131150B (zh) | 一种多片外存储器控制方法和装置 | |
CN110659056B (zh) | Dsp程序在线更新电路 |
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 |