CN107102965B - 一种数据处理电路、系统及数据处理方法 - Google Patents
一种数据处理电路、系统及数据处理方法 Download PDFInfo
- Publication number
- CN107102965B CN107102965B CN201610095635.3A CN201610095635A CN107102965B CN 107102965 B CN107102965 B CN 107102965B CN 201610095635 A CN201610095635 A CN 201610095635A CN 107102965 B CN107102965 B CN 107102965B
- Authority
- CN
- China
- Prior art keywords
- core
- data
- dsp
- fpga
- dsps
- 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.)
- Active
Links
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
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种数据处理电路、系统及数据处理方法,电路包括:多核可编程逻辑和2个以上的单核DSP,多核可编程逻辑进一步包括FPGA核和1个以上的ARM核。FPGA核将采集到的数据传输至单核DSP,单核DSP对数据进行计算后将计算结果返回至FPGA核,并由FPGA核对外部的控制对象进行实时控制。ARM核通过多核可编程逻辑内部的数据交互读取FPGA核的数据,并对外输出来自于FPGA核的数据。本发明能够解决现有电路存在的数据传输效率低、电路复杂且庞大、占用大量接口资源的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种应用于复杂实时控制与逻辑控制的具有多核可编程逻辑和多个DSP的电路、系统及数据处理方法。
背景技术
在现有技术中,FPGA(Fielde Programmable Logic Array,现场可编程逻辑阵列)具有高效的数据管理与实时数据通讯能力,ARM(Advanced RISC Machine,精简指令集微处理器)具有优秀的逻辑控制能力,而DSP(Digital Signal Processor,数字信号处理器)具有强大的数学运算与实时数据处理能力,将三者结合用于需同时完成复杂实时数据处理与逻辑控制功能的领域,是一种较好的技术方案。在FPGA+ARM+DSP的架构中,FPGA、ARM和DSP三者之间都需要交换数据。在不同的应用场合中,三者之间需交换的数据多少,以及对于实时性的要求并不完全一样。在某些场合中,FPGA与ARM需要交换大量数据但实时性要求低,与DSP需交换的数据较少且实时性要求高,而ARM与DSP交换的数据最少。因此,如何根据工程实际的需要,设计出能在FPGA、ARM和DSP之间更加高效地传输数据的架构,是本领域亟待解决的技术问题。
在现有FPGA+ARM+DSP架构的技术方案中,有的方案是采用FPGA、ARM和DSP均为独立芯片,FPGA与ARM、DSP之间直接交互数据,ARM和DSP之间通过外部双口RAM交换数据。有的方案则是采用ARM和DSP集成在同一芯片内,FPGA与ARM及DSP之间直接交换数据。在第一种现有方案中,FPGA与ARM、DSP都需要交换数据的接口,硬件较为庞大。FPGA和ARM、DSP进行大量数据交换时效率较低,形成实时数据交换的通道瓶颈。同时,ARM和DSP之间通过外部双口RAM交换数据,占用ARM和DSP的大量资源,效率更加低下。而在第二种现有方案中,ARM和DSP之间交换数据的效率较高,但FPGA与ARM、DSP进行大量数据交换时效率较低,形成实时数据交换的通道瓶颈。
包括上述两种技术方案在内的现有技术均存在以下技术缺陷:
(1)现有使用FPGA+ARM+DSP架构的系统,在FPGA与ARM之间大量实时数据交换时会出现通道瓶颈问题,导致数据流无法在FPGA、ARM和DSP中高效率传输;
(2)现有使用FPGA+ARM+DSP架构的系统,由于芯片数量的增加造成控制单元印制板面积增大、外部电路复杂,对控制系统的性能提升产生负面影响;
(3)现有使用FPGA+ARM+DSP架构的系统利用传统的并性总线,传统的并行总线技术是一种单端总线技术,需要占用芯片的大量接口、布线麻烦,且通讯速率受到限制。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理电路、系统及数据处理方法,解决现有电路存在的数据传输效率低、电路复杂且庞大、占用大量接口资源的技术问题。
为了实现上述发明目的,本发明具体提供了一种数据处理电路的技术实现方案,一种数据处理电路,包括:多核可编程逻辑和2个以上的单核DSP,所述多核可编程逻辑进一步包括FPGA核和1个以上的ARM核。所述FPGA核将采集到的数据传输至所述单核DSP,所述单核DSP对数据进行计算后将计算结果返回至所述FPGA核,并由所述FPGA核对外部的控制对象进行实时控制。所述ARM核通过所述多核可编程逻辑内部的数据交互读取所述FPGA核的数据,并对外输出来自于所述FPGA核的数据。
本发明还具体提供了另一种数据处理电路的技术实现方案,一种数据处理电路,包括:多核可编程逻辑和1个以上的多核DSP,所述多核DSP包括2个以上的DSP核,所述多核可编程逻辑进一步包括FPGA核和1个以上的ARM核。所述FPGA核将采集到的数据传输至所述多核DSP,所述多核DSP对数据进行计算后将计算结果返回至所述FPGA核,并由所述FPGA核对外部的控制对象进行实时控制。所述ARM核通过所述多核可编程逻辑内部的数据交互读取所述FPGA核的数据,并对外输出来自于所述FPGA核的数据。
本发明具体提供了第三种数据处理电路的技术实现方案,一种数据处理电路,包括:多核可编程逻辑,1个以上的单核DSP,以及1个以上的多核DSP,所述多核DSP包括2个以上的DSP核,所述多核可编程逻辑进一步包括FPGA核和1个以上的ARM核。所述FPGA核将采集到的数据传输至所述单核DSP和多核DSP,所述单核DSP和多核DSP对数据进行计算后将计算结果返回至所述FPGA核,并由所述FPGA核对外部的控制对象进行实时控制。所述ARM核通过所述多核可编程逻辑内部的数据交互读取所述FPGA核的数据,并对外输出来自于所述FPGA核的数据。
优选的,所述FPGA核与所述单核DSP之间,或所述FPGA核与所述多核DSP之间通过RapidIO总线和/或uPP总线互联。
优选的,所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线互联。
优选的,所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线实现串行结构的相邻单核DSP或相邻多核DSP,或相邻单核DSP与多核DSP通信,所述单核DSP或多核DSP仅与所述多核可编程逻辑,以及相邻的单核DSP或多核DSP直接交换数据。
优选的,采集到的数据经过所述FPGA核处理、分类后,再通过RapidIO接口和/或uPP接口传输至所述单核DSP和/或多核DSP。所述单核DSP和/或DSP核根据分工不同对所述FPGA核传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至所述FPGA核。
本发明还另外具体提供了一种数据处理系统的技术实现方案,一种数据处理系统,包括:数据采集处理模块、通讯模块,以及如上所述的数据处理电路。所述数据采集处理模块将外部采集到的模拟、数字信号,经过调制、转换后传输至所述FPGA核。所述ARM核通过所述FPGA核获取所述数据采集处理模块传输的数据,以及所述单核DSP和/或多核DSP返回的数据,并通过所述通讯模块将获取的数据传输至外部的上位机或数据存储单元。
优选的,所述数据采集处理模块通过LVDS接口与所述多核可编程逻辑进行数据传输,所述通讯模块通过包括RS485、RS232,以及以太网MII在内的任一种或多种通讯接口与所述多核可编程逻辑进行数据传输。
优选的,所述数据处理电路包括4个单核DSP或4个多核DSP;或包括单核DSP和多核DSP,所述单核DSP和多核DSP的数量和为4个。所述多核可编程逻辑包括2个ARM核。
本发明还另外具体提供了一种数据处理方法的技术实现方案,一种数据处理方法,包括以下步骤:
S101:数据采集处理模块将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核;
S102:所述FPGA核将采集到的数据传输至单核DSP和/或多核DSP,所述单核DSP和/或多核DSP对数据进行计算后将计算结果返回至所述FPGA核,并由所述FPGA核对外部的控制对象进行实时控制;
S103:ARM核通过所述多核可编程逻辑内部的数据交互读取所述FPGA核的数据,并向通讯模块输出来自于所述FPGA核的数据;
S103:所述通讯模块接收所述ARM核通过所述FPGA核获取所述数据采集处理模块传输的数据,以及所述单核DSP和/或多核DSP返回的数据,并将获取的数据传输至外部的上位机或数据存储单元。
优选的,所述FPGA核与所述单核DSP之间,或所述FPGA核与所述多核DSP之间,通过RapidIO总线和/或uPP总线进行数据传输。
优选的,所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线进行数据传输。
优选的,在所述步骤S102中,所述数据采集处理模块采集到的数据经过所述FPGA核处理、分类后,再通过RapidIO接口和/或uPP接口传输至所述单核DSP和/或多核DSP。所述单核DSP和/或DSP核根据分工不同对所述FPGA核传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至所述FPGA核。
优选的,在所述步骤S102中,所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多SP之间,通过RapidIO总线实现串行结构的相邻单核DSP或多核DSP通信,所述单核DSP或多核DSP仅与所述多核可编程逻辑,以及相邻的单核DSP或多核DSP直接交换数据。
通过实施上述本发明提供的数据处理电路、系统及数据处理方法的技术方案,具有如下有益效果:
(1)本发明集成FPGA核和一个或多个ARM核的多核可编程逻辑减少了处理器数量,在同样的电路板面积上能够集成更多的控制功能,简化了电路设计,解决了FPGA与ARM之间大量实时数据交换时的通道瓶颈问题,可以使数据流在FPGA核、ARM核和DSP中高效率传输,提高了数据传输效率,使数据处理系统的性能大为提升;
(2)本发明外部的实时数据传输和控制结果输出由多核可编程逻辑中的FPGA核完成,逻辑控制和操作系统管理由多核可编程逻辑中的ARM核完成,不同算法控制、不同控制对象由多个DSP完成(每个单核DSP或多核DSP中的每个DSP核),任务分工明晰;
(3)本发明实时数据传输与逻辑控制在同一器件的不同单元中完成,不论FPGA核和ARM核是共享一个时钟信号,还是采用使用不同时钟信号的异步方式,因为硬件上的独立,两类任务可以并行执行,在运行过程中可以释放资源、缩短系统的计算周期、保证处理器高效地完成任务;
(4)本发明多核可编程逻辑和每片单核DSP和/或多核DSP之间均通过uPP总线或串行RapidIO总线传输数据,数据交互通道实现了冗余设计,同时采用串行RapidIO总线,占用芯片接口资源少、布线简单、速率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1是本发明数据处理电路一种具体实施方式的电路架构图;
图2是本发明数据处理系统一种具体实施方式的系统结构框图;
图3是本发明数据处理电路另一种具体实施方式的电路架构图;
图4是本发明数据处理电路又一种具体实施方式的电路架构图;
图中:1-多核可编程逻辑,2-FPGA核,3-第一ARM核,4-第二ARM核,5-第一DSP,6-第二DSP,7-第三DSP,8-第四DSP,9-数据采集处理模块,10-通讯模块。
具体实施方式
为了引用和清楚起见,将下文中使用的技术名词、简写或缩写记载如下:
FPGA:Fielde Programmable Logic Array,现场可编程逻辑阵列;
ARM:一种精简指令集微处理器;
DSP:Digital Signal Processor,数字信号处理器;
uPP:Universal Parallel Port,通用并行接口;
Rapid IO:快速输入输出通道;
LVDS:Low Voltage Differential Signaling,低电压摆幅差分信号;
RS485:一种串行总线接口标准;
RS232:一种串行总线接口标准;
MII:Medium Independent Interface,介质独立接口的简称,一种以太网总线接口标准。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如附图1至附图4所示,给出了本发明数据处理电路、系统及数据处理方法的具体实施例,下面结合附图和具体实施例对本发明作进一步说明。
实施例1:
如附图3所示,一种数据处理电路的具体实施例,包括:多核可编程逻辑1和2个以上的单核DSP(如:本实施例中的第一DSP~第N DSP N+4共N个DSP),多核可编程逻辑1进一步包括FPGA核2和1个以上的ARM核(如:本实施例中的第一ARM核3和第二ARM核4),两个ARM核可以实现相互冗余,从而符合安全认证的要求。FPGA核2将采集到的数据传输至单核DSP,单核DSP对数据进行计算后将计算结果返回至FPGA核2,并由FPGA核2对外部的控制对象进行直接的实时控制。ARM核通过多核可编程逻辑1内部的数据交互读取FPGA核2的数据,并对外输出来自于FPGA核2的数据。如附图1所示,在一种更为典型的具体实施例中,本发明基于多核可编程逻辑和多DSP电路板的数据处理电路,包括:含FPGA核2和第一ARM核3以及第二ARM核4的多核可编程逻辑1、第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8。DSP芯片的使用数量也可以修改为一片多核DSP,或者除4片以外其它数量的单核或多核DSP。
其中,综合速度和实用性,FPGA核2与第一DSP 5、第二DSP 6、第三DSP 7和第四DSP8之间通过RapidIO总线或uPP总线互联。RapidIO总线接口更加简单仅需要一收一发四根线。第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8之间通过RapidIO总线互联。第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8之间通过RapidIO总线实现串行结构的相邻单核DSP通信,第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8仅与多核可编程逻辑1,以及相邻的单核DSP直接交换数据。作为本发明一种较佳的具体实施例,多核可编程逻辑与第一DSP 5、第二DSP 6、第三DSP 7、第四DSP 8之间均通过uPP接口和RapidIO接口传输数据,当数据传输使用串行RapidIO总线和uPP总线时,两种接口互为冗余,可以实现数据冗余传输。其中,多核可编程逻辑1为含资源丰富、具有uPP接口和RapidIO接口的芯片。第一DSP与第二DSP之间通过RapidIO接口传输数据,第二DSP与第三DSP之间通过RapidIO接口传输数据,第三DSP与第四DSP之间通过RapidIO接口传输数据。当每个单核DSP进行计算时可能需要利用到相邻的前一单核DSP的计算结果,如果多个单核DSP控制同一个被控对象,则多个单核DSP之间需要进行同步操作。如果每个单核DSP独立控制彼此不相关的被控对象,则多个单核DSP之间不需要进行同步操作。
采集到的数据经过FPGA核2处理、分类后,再通过RapidIO接口和/或uPP接口传输至第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8。第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8根据分工不同对FPGA核2传输来的数据分别进行计算,并将计算结果通过RapidIO总线和/或uPP总线返回至FPGA核2。
上述具体实施例1描述的数据处理电路的技术方案,可以解决FPGA和ARM之间大量实时数据交换时的通道瓶颈问题,在FPGA与ARM需要交换大量数据、与DSP需交换的数据较少且实时性要求高,而ARM与DSP交换的数据最少的应用中,可以使资源得到最优的配置。
实施例2:
如附图4所示,第二种数据处理电路的具体实施例,包括:多核可编程逻辑1和1个以上的多核DSP,多核DSP包括2个以上的DSP核(如:本实施例中的DSP100包括第一DSP核101~第N DSP核共N个DSP核),多核可编程逻辑1进一步包括FPGA核2和1个以上的ARM核(如:本实施例中的第一ARM核3和第二ARM核4)。FPGA核2将采集到的数据传输至多核DSP,多核DSP对数据进行计算后将计算结果返回至FPGA核2,并由FPGA核2对外部的控制对象进行实时控制。ARM核通过多核可编程逻辑1内部的数据交互读取FPGA核2的数据,并对外输出来自于FPGA核2的数据。在如附图4所示的实施例2中,本发明基于多核可编程逻辑和多DSP电路板的数据处理电路,包括:含FPGA核2和第一ARM核3以及第二ARM核4的多核可编程逻辑1、多核DSP100,多核DSP100进一步包括第一DSP核101、第二DSP核102、……、第N DSP核100+N。
FPGA核2与多核DSP之间通过RapidIO总线和/或uPP总线互联,当数据处理电路包括多个多核DSP时,多核DSP之间通过RapidIO总线互联。多核DSP之间通过RapidIO总线实现串行结构的相邻多核DSP通信,多核DSP仅与多核可编程逻辑1,以及相邻的多核DSP直接交换数据。其中,多核DSP的多个DSP核之间的数据交换根据多核DSP芯片的具体类型通过多核DSP特有的内部交换机制实现,其功能类似于多个多核DSP之间的RapidIO总线通信。采集到的数据经过FPGA核2处理、分类后,再通过RapidIO接口和/或uPP接口传输至单核DSP和/或多核DSP。单核DSP和/或DSP核根据分工不同对FPGA核2传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至FPGA核2。
实施例3:
第三种数据处理电路的具体实施例,包括:多核可编程逻辑1,1个以上的DSP,以及1个以上的多核DSP,多核DSP包括2个以上的DSP核,多核可编程逻辑1进一步包括FPGA核2和1个以上的ARM核。FPGA核2将采集到的数据传输至单核DSP和多核DSP,单核DSP和多核DSP对数据进行计算后将计算结果返回至FPGA核2,并由FPGA核2对外部的控制对象进行实时控制。ARM核通过多核可编程逻辑1内部的数据交互读取FPGA核2的数据,并对外输出来自于FPGA核2的数据。
FPGA核2与单核DSP之间,FPGA核2与多核DSP之间通过RapidIO总线和/或uPP总线互联。单核DSP之间,或单核DSP与多核DSP之间,或多核DSP与多核DSP之间通过RapidIO总线互联。单核DSP之间,或单核DSP与单核DSP之间,或多核DSP与多核DSP之间通过RapidIO总线实现串行结构的相邻单核DSP或相邻多核DSP,或相邻单核DSP与多核DSP通信,单核DSP或多核DSP仅与多核可编程逻辑1,以及相邻的单核DSP或多核DSP直接交换数据。
采集到的数据经过FPGA核2处理、分类后,再通过RapidIO接口和/或uPP接口传输至单核DSP和多核DSP。单核DSP和/或DSP核根据分工不同对FPGA核2传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至FPGA核2。上述具体实施例1至3描述的数据处理电路采用集成FPGA核2和一个或多个ARM核的多核可编程逻辑1,并采用多核可编程逻辑1和多DSP架构,无独立的FPGA芯片和ARM芯片。多核可编程逻辑1与多个单核DSP、多核DSP之间,以及多个单核DSP和多核DSP相互之间使用串行RapidIO互联,串行RapidIO成为系统互联中的高速通道。当多核可编程逻辑1和多个单核DSP、多核DSP之间同时采用uPP总线和串行RapidIO总线互联时,数据交互通道能够很好地满足冗余设计要求。其中,多DSP结构包括单片(DSP)多核(DSP核)、多片单核、多片多核或单核、多核的混合结构。
实施例4:
如附图2所示,一种数据处理系统的具体实施例,包括:数据采集处理模块9、通讯模块10,以及如上所述的数据处理电路。数据采集处理模块9将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核2。ARM核通过FPGA核2获取数据采集处理模块9传输的数据,以及单核DSP和/或多核DSP返回的数据,并通过通讯模块10将获取的数据传输至外部的上位机或数据存储单元。其中,ARM核进行操作系统管理,同时实现系统的逻辑管理,具体包括:FPGA核2、数据采集处理模块9和通讯模块10的逻辑管理,从系统层面通常包括机车的启停等逻辑控制。数据处理电路包括4个单核DSP或4个多核DSP,或包括单核DSP和多核DSP,单核DSP和多核DSP的数量和为4个。多核可编程逻辑1包括2个ARM核。在如附图2所示的实施例4中,多核可编程逻辑1包括第一ARM核3和第二ARM核4,DSP包括第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8。数据采集处理模块9通过LVDS接口与多核可编程逻辑1进行数据传输,通讯模块10通过包括RS485、RS232,以及以太网MII在内的任一种或多种通讯接口与多核可编程逻辑1进行数据传输。FPGA核2将数据采集处理模块9采集到的数据传输至单核DSP,单核DSP对数据进行计算后将计算结果返回至FPGA核2,并由FPGA核2对外部的控制对象进行实时控制,在此情况下数据采集处理模块9采集的数据为需要实时处理的高速数据。高速数据来自于数据采集处理模块9,并快速传输至DSP。如在轨道交通领域,高速数据通常包括电机逆变控制或同步控制、四象限整流控制等。而通过ARM传输至上位机的数据为慢速数据,通常为显示用的数据,包括故障时的数据。
在如附图2所示的实施例4中,数据采集处理模块9将外部采集来的模拟、数字信号,经过调制、转换后,通过LVDS接口与多核可编程逻辑1之间进行数据传输。数据经过多核可编程逻辑1中的FPGA核2处理、分类后,再通过RapidIO总线和/或uPP总线传输至第一DSP5、第二DSP 6、第三DSP 7和第四DSP 8。第一DSP 5、第二DSP 6、第三DSP 7和第四DSP 8根据分工不同(可以按照设定的控制对象分类,也可以按照设定的控制算法分类),对多核可编程逻辑1传输来的数据进行分别计算,并将计算结果再通过RapidIO总线和/或uPP总线返回至多核可编程逻辑1。经过FPGA核2处理后,通过发送脉冲等方式直接对控制对象进行管理。DSP计算的数据通过RapidIO总线和/或uPP总线传输给FPGA核2,ARM核通过多核可编程逻辑芯片内部的数据交互来读取数据,多核可编程逻辑芯片内部的数据交互速度相较于外部接口能够成倍地提高。ARM核读取数据后再传输至通讯模块10。
受控于多核可编程逻辑芯片中第一ARM核3或第二ARM核4的通讯模块10包含RS485或RS232或以太网等任一种或多种接口处理电路。通讯模块10与多核可编程逻辑1之间通过包括RS485、RS232,以及以太网MII在内的任一种或多种通讯接口将第一DSP5到第四DSP8返回的数据或信号采集处理模块9送来的数据,传输至外部上位机或者数据存储单元。第一DSP 5至第四DSP 8可以通过RapidIO实现串行结构的相邻单核DSP通信(比如实现相邻单核DSP之间的同步等功能),但它们均不与除多核可编程逻辑1,以及相邻单核DSP之外的其它模块直接交换数据。
实施例5:
一种数据处理方法的具体实施例,包括以下步骤:
S101:数据采集处理模块9将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核2;
S102:FPGA核2将采集到的数据传输至单核DSP和/或多核DSP,单核DSP和/或多核DSP对数据进行计算后将计算结果返回至FPGA核2,并由FPGA核2对外部的控制对象进行实时控制;
S103:ARM核通过多核可编程逻辑1内部的数据交互读取FPGA核2的数据,并向通讯模块10输出来自于FPGA核2的数据;
S103:通讯模块10接收ARM核通过FPGA核2获取数据采集处理模块9传输的数据,以及单核DSP和/或多核DSP返回的数据,并将获取的数据传输至外部的上位机或数据存储单元。
FPGA核2与单核DSP之间,或FPGA核2与多核DSP之间通过RapidIO总线和/或uPP总线进行数据传输。单核DSP之间,或单核DSP与多核DSP之间,或多核DSP与多核DSP之间通过RapidIO总线进行数据传输。
在步骤S102中,数据采集处理模块9采集到的数据经过FPGA核2处理、分类后,再通过RapidIO接口和/或uPP接口传输至单核DSP和/或多核DSP。单核DSP和/或DSP核根据分工不同对FPGA核2传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至FPGA核2。
在步骤S102中,单核DSP之间,或单核DSP与多核DSP之间,或多核DSP与多核DSP之间通过RapidIO总线实现串行结构的相邻单核DSP或相邻多核DSP,或相邻单核DSP与多核DSP通信,单核DSP或多核DSP仅与多核可编程逻辑1,以及相邻的单核DSP或多核DSP直接交换数据。
通过实施本发明具体实施例描述的数据处理电路、系统及数据处理方法的技术方案,能够产生如下技术效果:
(1)本发明具体实施例描述的数据处理电路、系统集成FPGA核和一个或多个ARM核的多核可编程逻辑减少了处理器数量,在同样的电路板面积上能够集成更多的控制功能,简化了电路设计,解决了FPGA与ARM之间大量实时数据交换时的通道瓶颈问题,可以使数据流在FPGA核、ARM核和DSP中高效率传输,提高了数据传输效率,使数据处理系统的性能大为提升;
(2)本发明具体实施例描述的数据处理电路、系统及数据处理方法中,外部的实时数据传输和控制结果输出由多核可编程逻辑中的FPGA核完成,逻辑控制和操作系统管理由多核可编程逻辑中的ARM核完成,不同算法控制、不同控制对象由多个DSP完成(每个单核DSP或多核DSP中的每个DSP核),任务分工明晰;
(3)本发明具体实施例描述的数据处理电路、系统及数据处理方法中,实时数据传输与逻辑控制在同一器件的不同单元中完成,不论FPGA核和ARM核是共享一个时钟信号,还是采用使用不同时钟信号的异步方式,因为硬件上的独立,两类任务可以并行执行,在运行过程中可以释放资源、缩短系统的计算周期、保证处理器高效地完成任务;
(4)本发明具体实施例描述的数据处理电路、系统及数据处理方法中,多核可编程逻辑和每片单核DSP和/或多核DSP之间均通过uPP总线或串行RapidIO总线传输数据,数据交互通道实现了冗余设计,同时采用串行RapidIO总线,占用芯片接口资源少、布线简单、速率高。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明的精神实质和技术方案的情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围。
Claims (14)
1.一种数据处理系统,其特征在于,包括:数据采集处理模块(9)、通讯模块(10),以及数据处理电路;所述数据采集处理模块(9)将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核(2);ARM核通过所述FPGA核(2)获取所述数据采集处理模块(9)传输的数据,以及单核DSP和/或多核DSP返回的数据,并通过所述通讯模块(10)将获取的数据传输至外部的上位机或数据存储单元;所述数据处理电路包括:多核可编程逻辑(1)和2个以上的单核DSP,所述多核可编程逻辑(1)进一步包括FPGA核(2)和1个以上的ARM核;所述FPGA核(2)将采集到的数据传输至所述单核DSP,所述单核DSP对数据进行计算后将计算结果返回至所述FPGA核(2),并由所述FPGA核(2)对外部的控制对象进行实时控制;所述ARM核通过所述多核可编程逻辑(1)内部的数据交互读取所述FPGA核(2)的数据,并对外输出来自于所述FPGA核(2)的数据。
2.一种数据处理系统,其特征在于,包括:数据采集处理模块(9)、通讯模块(10),以及数据处理电路;所述数据采集处理模块(9)将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核(2);ARM核通过所述FPGA核(2)获取所述数据采集处理模块(9)传输的数据,以及单核DSP和/或多核DSP返回的数据,并通过所述通讯模块(10)将获取的数据传输至外部的上位机或数据存储单元;所述数据处理电路包括:多核可编程逻辑(1)和1个以上的多核DSP,所述多核DSP包括2个以上的DSP核,所述多核可编程逻辑(1)进一步包括FPGA核(2)和1个以上的ARM核;所述FPGA核(2)将采集到的数据传输至所述多核DSP,所述多核DSP对数据进行计算后将计算结果返回至所述FPGA核(2),并由所述FPGA核(2)对外部的控制对象进行实时控制;所述ARM核通过所述多核可编程逻辑(1)内部的数据交互读取所述FPGA核(2)的数据,并对外输出来自于所述FPGA核(2)的数据。
3.一种数据处理系统,其特征在于,包括:数据采集处理模块(9)、通讯模块(10),以及数据处理电路;所述数据采集处理模块(9)将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核(2);ARM核通过所述FPGA核(2)获取所述数据采集处理模块(9)传输的数据,以及单核DSP和/或多核DSP返回的数据,并通过所述通讯模块(10)将获取的数据传输至外部的上位机或数据存储单元;所述数据处理电路包括:多核可编程逻辑(1),1个以上的单核DSP,以及1个以上的多核DSP,所述多核DSP包括2个以上的DSP核,所述多核可编程逻辑(1)进一步包括FPGA核(2)和1个以上的ARM核;所述FPGA核(2)将采集到的数据传输至所述单核DSP和多核DSP,所述单核DSP和多核DSP对数据进行计算后将计算结果返回至所述FPGA核(2),并由所述FPGA核(2)对外部的控制对象进行实时控制;所述ARM核通过所述多核可编程逻辑(1)内部的数据交互读取所述FPGA核(2)的数据,并对外输出来自于所述FPGA核(2)的数据。
4.根据权利要求1至3中任一项所述的数据处理系统,其特征在于:所述FPGA核(2)与所述单核DSP之间,或所述FPGA核(2)与所述多核DSP之间通过RapidIO总线和/或uPP总线互联。
5.根据权利要求4所述的数据处理系统,其特征在于:所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线互联。
6.根据权利要求5所述的数据处理系统,其特征在于:所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线实现串行结构的相邻单核DSP或相邻多核DSP,或相邻单核DSP与多核DSP通信,所述单核DSP或多核DSP仅与所述多核可编程逻辑(1),以及相邻的单核DSP或多核DSP直接交换数据。
7.根据权利要求5或6所述的数据处理系统,其特征在于:采集到的数据经过所述FPGA核(2)处理、分类后,再通过RapidIO接口和/或uPP接口传输至所述单核DSP和/或多核DSP;所述单核DSP和/或DSP核根据分工不同对所述FPGA核(2)传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至所述FPGA核(2)。
8.根据权利要求7所述的数据处理系统,其特征在于:所述数据采集处理模块(9)通过LVDS接口与所述多核可编程逻辑(1)进行数据传输,所述通讯模块(10)通过包括RS485、RS232,以及以太网MII在内的任一种或多种通讯接口与所述多核可编程逻辑(1)进行数据传输。
9.根据权利要求1-3、5、6、8中任一项所述的数据处理系统,其特征在于:所述数据处理电路包括4个单核DSP或4个多核DSP;或包括单核DSP和多核DSP,所述单核DSP和多核DSP的数量和为4个;所述多核可编程逻辑(1)包括2个ARM核。
10.一种基于权利要求1至9中任一项所述系统的数据处理方法,其特征在于,包括以下步骤:
S101:数据采集处理模块(9)将外部采集到的模拟、数字信号,经过调制、转换后传输至FPGA核(2);
S102:FPGA核(2)将采集到的数据传输至单核DSP和/或多核DSP的DSP核,所述单核DSP和/或多核DSP对数据进行计算后将计算结果返回至所述FPGA核(2),并由所述FPGA核(2)对外部的控制对象进行实时控制;
S103:ARM核通过所述多核可编程逻辑(1)内部的数据交互读取所述FPGA核(2)的数据,并向通讯模块(10)输出来自于所述FPGA核(2)的数据;
S103:所述通讯模块(10)接收所述ARM核通过所述FPGA核(2)获取所述数据采集处理模块(9)传输的数据,以及所述单核DSP和/或多核DSP返回的数据,并将获取的数据传输至外部的上位机或数据存储单元。
11.根据权利要求10所述的数据处理方法,其特征在于:所述FPGA核(2)与所述单核DSP之间,或所述FPGA核(2)与所述多核DSP之间,通过RapidIO总线和/或uPP总线进行数据传输。
12.根据权利要求11所述的数据处理方法,其特征在于:所述单核DSP之间,或所述单核DSP与所述多核DSP之间,或所述多核DSP与所述多核DSP之间,通过RapidIO总线进行数据传输。
13.根据权利要求11或12所述的数据处理方法,其特征在于:在所述步骤S102中,所述数据采集处理模块(9)采集到的数据经过所述FPGA核(2)处理、分类后,再通过RapidIO接口和/或uPP接口传输至所述单核DSP和/或多核DSP;所述单核DSP和/或DSP核根据分工不同对所述FPGA核(2)传输来的数据分别进行计算,计算结果通过RapidIO总线和/或uPP总线返回至所述FPGA核(2)。
14.根据权利要求13所述的数据处理方法,其特征在于:在所述步骤S102中,所述单核DSP之间,或所述多核DSP之间,或所述单核DSP与所述多核DSP之间通过RapidIO总线实现串行结构的相邻单核DSP或多核DSP通信,所述单核DSP或多核DSP仅与所述多核可编程逻辑(1),以及相邻的单核DSP或多核DSP直接交换数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610095635.3A CN107102965B (zh) | 2016-02-22 | 2016-02-22 | 一种数据处理电路、系统及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610095635.3A CN107102965B (zh) | 2016-02-22 | 2016-02-22 | 一种数据处理电路、系统及数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107102965A CN107102965A (zh) | 2017-08-29 |
CN107102965B true CN107102965B (zh) | 2020-02-07 |
Family
ID=59658275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610095635.3A Active CN107102965B (zh) | 2016-02-22 | 2016-02-22 | 一种数据处理电路、系统及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107102965B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052478B (zh) * | 2017-12-28 | 2020-01-21 | 苏州联视泰电子信息技术有限公司 | 一种基于fpga的桥接装置 |
CN109976893A (zh) * | 2019-03-29 | 2019-07-05 | 北京润科通用技术有限公司 | 实时操作系统的时序控制方法及装置 |
CN113761817B (zh) * | 2020-06-03 | 2024-06-18 | 中车株洲电力机车研究所有限公司 | 一种电机实时控制平台及开发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096892A (zh) * | 2010-12-01 | 2011-06-15 | 华中科技大学 | 嵌入式实时图像处理平台装置 |
CN202513870U (zh) * | 2012-03-16 | 2012-10-31 | 苏州汇川技术有限公司 | 高压变频器控制系统 |
CN103868513A (zh) * | 2014-03-17 | 2014-06-18 | 北京航空航天大学 | 一种分布式pos用数据处理计算机系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150193737A1 (en) * | 2014-01-08 | 2015-07-09 | Mercer (US) Inc., | Compensation Optimization Systems And Methods |
-
2016
- 2016-02-22 CN CN201610095635.3A patent/CN107102965B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096892A (zh) * | 2010-12-01 | 2011-06-15 | 华中科技大学 | 嵌入式实时图像处理平台装置 |
CN202513870U (zh) * | 2012-03-16 | 2012-10-31 | 苏州汇川技术有限公司 | 高压变频器控制系统 |
CN103868513A (zh) * | 2014-03-17 | 2014-06-18 | 北京航空航天大学 | 一种分布式pos用数据处理计算机系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107102965A (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893307B (zh) | 一种高速大数据量信息处理系统 | |
CN101819556B (zh) | 一种信号处理板 | |
CN107102965B (zh) | 一种数据处理电路、系统及数据处理方法 | |
CN111510456B (zh) | 一种fc-ae-1553转can/rs422的双冗余通信协议转换器 | |
CN101442283A (zh) | 一种基于dsp的双电机同步伺服驱动装置 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN103905281A (zh) | 可互换实现网络控制器与网络终端功能的fc-ae-1553总线节点卡 | |
CN103106173A (zh) | 多核处理器核间互联的方法 | |
CN104699654A (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN105244065B (zh) | 一种基于fpga技术的核电站dcs控制站架构 | |
CN105867072A (zh) | 一种基于vme-s总线的工件台运动控制系统 | |
CN106873541A (zh) | 一种基于DSP的EtherCAT分布式伺服运动控制系统 | |
CN107127811A (zh) | 柔性材料切割机器人智能数字控制器及实现方法 | |
CN112231161A (zh) | 多芯片调试方法及多芯片调试装置 | |
CN204925719U (zh) | 信号转换装置和系统 | |
CN103901814A (zh) | 一种多轴运动数控系统 | |
CN203645775U (zh) | 数字视频交换系统 | |
CN108015771A (zh) | 一种工业机器人控制系统 | |
CN110855581B (zh) | 适用于vpx架构的40g和srio复用的国产交换刀片装置 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN208046756U (zh) | 视频显示处理装置 | |
CN105528319B (zh) | 基于fpga的加速卡及其加速方法 | |
CN203849590U (zh) | 多轴运动数控系统 | |
CN201758397U (zh) | 一种处理列车通信网络数据的装置 | |
CN112148663A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |