CN112147918B - 基于arm+fpga+dsp架构的异步数据交互方法及系统 - Google Patents

基于arm+fpga+dsp架构的异步数据交互方法及系统 Download PDF

Info

Publication number
CN112147918B
CN112147918B CN201910562315.8A CN201910562315A CN112147918B CN 112147918 B CN112147918 B CN 112147918B CN 201910562315 A CN201910562315 A CN 201910562315A CN 112147918 B CN112147918 B CN 112147918B
Authority
CN
China
Prior art keywords
data
fpga
dsp
arm
data frame
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
Application number
CN201910562315.8A
Other languages
English (en)
Other versions
CN112147918A (zh
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.)
CRRC Zhuzhou Institute Co Ltd
Original Assignee
CRRC Zhuzhou Institute 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 CRRC Zhuzhou Institute Co Ltd filed Critical CRRC Zhuzhou Institute Co Ltd
Priority to CN201910562315.8A priority Critical patent/CN112147918B/zh
Publication of CN112147918A publication Critical patent/CN112147918A/zh
Application granted granted Critical
Publication of CN112147918B publication Critical patent/CN112147918B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2214Multicontrollers, multimicrocomputers, multiprocessing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25179Parallel

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于ARM+FPGA+DSP架构的异步数据交互方法及系统,该方法包括:当ARM需要传输数据给DSP时,ARM将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;FPGA收到所述写完成信号后,将FPGA内部双口RAM中的数据帧发送到DSP;DSP接收所述数据帧。本发明可提升数据传输的可靠性和传输效率,降低数据传输的误码率,提升用户体验。

Description

基于ARM+FPGA+DSP架构的异步数据交互方法及系统
技术领域
本发明涉及控制系统领域,尤其涉及一种基于ARM+FPGA+DSP架构的异步数据交互方法及系统。
背景技术
目前普遍采用的控制系统应用架构为ARM+FPGA+DSP,在此系统架构中,ARM主要提供丰富的外设接口和存储资源,可以实现通过以太网口完成与上位机的实时通信;FPGA主要完成数据预处理和转换;DSP主要负责数字信号处理和计算。此系统架构增强了系统控制和计算的灵活性,有利于提升整个系统的安全可靠性,但是衡量一个系统的整体性能需要考虑三个器件之间的通信接口和通信协议,避免在数据通信上消耗过多资源。
针对上述系统架构,ARM的通信接口有FIFO、双口RAM、串行SPI、HPI等多种方式,DSP的通信接口有UPP、HPI、EMIF、串行SPI等多种方式,根据通信接口的不同,系统的通信方式有多种组合。考虑到整个系统的可拓展和灵活性,ARM与DSP之间一般采用双口RAM通信,有两种异步数据通信,第一种是通过物理双口RAM设备,ARM通过将通信数据写入到双口RAM设备,然后DSP通过查询方式进行数据接收,其通信流程如图1所示。该方式需要额外加入双口RAM芯片作为存储设备,在通信过程中需要DSP或者ARM设备对双口RAM进行轮询,根据是否有数据写入进行数据读取操作,通信效率低且通信延时无法确定。
第二种是通过配置FPGA内部寄存器作为双口RAM,把ARM和DSP的相关控制逻辑引入FPGA,实现数据在三个芯片间的传输,其通信流程如图2所示。该方式通过配置FPGA内部寄存器,将双口RAM在FPGA内部实现,其通信速率最大为5MB/s,ARM与FPGA、DSP与FPGA之间通过双口RAM通信需要占用16根数据线、16根地址线以及3根控制线,需要占用大量FPGA外部硬件资源,且ARM和DSP同时对双口RAM同一地址读、写操作时,存在写操作失败情况,导致通信效率低下。
针对工业领域,实时性要求非常高,在所有通信环节中,每个部分的通信延时如果可以确定,将有利于提升系统控制整体性能,上述问题带来的通信传输延时、通信效率低,都对整个系统的控制性能及设备运行的可靠性等有非常大的影响,导致产品的用户体验非常糟糕。
发明内容
本发明提供了一种基于ARM+FPGA+DSP架构的异步数据交互方法及系统,用以解决现有的ARM+FPGA+DSP控制系统应用架构的异步数据传输可靠性不高以及延时不确定的技术问题。
为解决上述技术问题,本发明提出的技术方案为:
一种基于ARM+FPGA+DSP架构的异步数据交互方法,包括以下步骤:
当ARM需要传输数据给DSP时,ARM将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
FPGA收到写完成信号后,将FPGA内部双口RAM中的数据帧发送到DSP;
DSP接收数据帧。
优选地,FPGA与DSP之间通过UPP接口连接,FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;DSP通过UPP中断接收数据帧。
优选地,ARM将需要传输的数据进行封装,包括在数据帧的数据头中插入心跳信号;
DSP收到数据帧后获取数据头中的心跳信号并进行判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则退出中断。
优选地,ARM将需要传输的数据进行封装,包括在数据帧的末尾加入数据校验;
DSP将所有数据接收到DSP内存中,获取数据帧中的数据校验并判断数据校验与DSP计算结果是否一致,如果一致则进行数据解析,解析完成后向ARM发送成功信息,否则DSP向ARM发送数据校验失败信息,并退出中断。
优选地,当ARM接收到数据校验失败信息,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
ARM通过判断接收到成功数据的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
优选地,方法还包括以下步骤:
当DSP需要向ARM发送数据时,DSP将需要发送的数据进行封装,将封装好的数据帧通过UPP接口发送至FPGA;
FPGA将通过UPP接口接收到的数据写入到内部双口RAM中;
ARM通过循环查询的方式,查询是否有数据接收。
优选地,写完成信号为电平信号,通过连接在ARM与FPGA的引脚之间的连接线进行传递。
本发明还提供一种基于ARM+FPGA+DSP架构的异步数据交互系统,包括:
ARM,用于在ARM需要传输数据给DSP时,将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
FPGA,用于在收到写完成信号后,将内部双口RAM中的数据帧发送到DSP;
DSP,用于接收数据帧。
优选地,FPGA与DSP之间通过UPP接口连接;FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;DSP通过UPP中断接收数据帧。
优选地,ARM还用于在将需要传输的数据进行封装时,在数据帧的数据头中插入心跳信号;
DSP还用于在收到数据帧后获取数据头中的心跳信号并进行判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则退出中断。
优选地,ARM还用于将需要传输的数据进行封装,包括在数据帧的末尾加入数据校验;
DSP还用于将所有数据接收到DSP内存中,获取数据帧中的数据校验并判断数据校验与DSP计算结果是否一致,如果一致则进行数据解析,否则DSP向ARM发送数据校验失败信息,并退出中断。
优选地,ARM还用于在接收到数据校验失败信息时,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
ARM还用于通过判断接收到成功数据的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
优选地,DSP,还用于在DSP需要向ARM发送数据时,将需要发送的数据进行封装,将封装好的数据帧通过UPP接口发送至FPGA;
FPGA,还用于将通过UPP接口接收到的数据写入到内部双口RAM中;
ARM,还用于通过循环查询的方式,查询是否有数据接收。
优选地,写完成信号为电平信号,ARM与FPGA的引脚之间设置有用于传递写完成信号的连接线。
本发明具有以下有益效果:
1、本发明的基于ARM+FPGA+DSP架构的异步数据交互方法及系统,ARM在写完成后发送写完成信号给FPGA,避免了轮询或者写操作失败情况,可显著提高通信效率;通过该异步数据交互方法,可实现数据在ARM+FPGA+DSP三者中稳定可靠传输。
2、在优选方案中,本发明基于ARM+FPGA+DSP架构的异步数据交互方法及系统,在数据帧中加入心跳信息,根据心跳信息的变化来解析数据,提升数据解析效率,避免不必要的数据解析。并且数据帧中加入数据校验,能保证数据的正确性。
3、在优选方案中,本发明基于ARM+FPGA+DSP架构的异步数据交互方法及系统,ARM与FPGA之间通常采用并口总线通信,且ARM与FPGA之间加入硬线通信传输写完成信号,FPGA与DSP之间采用UPP高速并口通信,可保障数据传输的时效性。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术的ARM+FPGA+DSP架构的第一种系统通信方式示意图;
图2是现有技术的ARM+FPGA+DSP架构的第二种系统通信方式示意图;
图3是本发明优选实施例的基于ARM+FPGA+DSP架构的系统结构示意图;
图4是本发明优选实施例的基于ARM+FPGA+DSP架构的异步数据交互方法的流程示意图;
图5是本发明优选实施例的基于ARM+FPGA+DSP架构的ARM至DSP的数据传输流程图;
图6是本发明优选实施例1的ARM向DSP发送的数据帧结构示意图;
图7是本发明优选实施例1的DSP向ARM发送的回复数据的数据帧结构示意图;
图8是本发明优选实施例2的DSP向ARM传输数据的流程示意图;
图9是本发明优选实施例3的ARM+FPGA+DSP架构的系统结构以及数据传输流程示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
图3是本实施例中的ARM+FPGA+DSP架构的结构示意图,基于ARM与FPGA之间采用双口RAM通信,DSP与FPGA之间采用高速并行UPP通信。而本实施例中所称的ARM为处理器;FPGA为现场可编程门阵列;DSP为数字信号处理器;双口RAM为两端都支持读写的存储设备。
参见图4,本发明的一种基于ARM+FPGA+DSP架构的异步数据交互方法,包括以下步骤:
S1、当ARM需要传输数据给DSP时,ARM将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
S2、FPGA收到写完成信号后,将FPGA内部双口RAM中的数据帧发送到DSP;
S3、DSP接收数据帧。
通过上述步骤,ARM在写完成后发送写完成信号给FPGA,避免了轮询或者写操作失败情况,可显著提高通信效率;通过该异步数据交互方法,可实现数据在三者中稳定可靠传输。
在实际应用中,在上述步骤的基础上,本发明的还可进行优化:
本实施例中,参见图5,写完成信号为电平信号(高电平或者低电平或者二者的组合),通过连接在ARM与FPGA的引脚之间的连接线(图5中硬线)进行传递,能保证信号传递的时效性。FPGA与DSP之间通过UPP接口连接,有利于减少DSP与FPGA之间的硬件资源。FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;DSP通过UPP中断接收数据帧。UPP接口专用于大量数据的读取与存储,其传输速率为每时钟周期1个数据字(8位或16位);或者针对双数据速率为每时钟周期2个数据字,UPP时钟频率可达75MHz,使得其数据吞吐量可达150MB/s,UPP接口数据接收、传输通过DMA模块来实现,数据传输不占用CPU资源,完全不影响CPU运行的实时性。因而采用UPP中断的方式来可减少数据传输延时,提升数据传输效率。
对应地,本实施例还提供一种基于ARM+FPGA+DSP架构的异步数据交互系统,包括:
ARM,用于在ARM需要传输数据给DSP时,将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。写完成信号优选为电平信号,ARM与FPGA的引脚之间设置有用于传递写完成信号的连接线。
FPGA,用于在收到写完成信号后,将内部双口RAM中的数据帧发送到DSP;
DSP,用于接收数据帧。优选地,FPGA与DSP之间通过UPP接口连接;FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;DSP通过UPP中断接收数据帧。
为了保证数据的实时性和可靠性,ARM还用于在将需要传输的数据进行封装时,在数据帧的数据头中插入心跳信号。DSP还用于在收到数据帧后获取数据头中的心跳信号并进行判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则退出中断。
ARM还用于在数据帧的末尾加入数据校验;DSP还用于将所有数据接收到DSP内存中,获取数据帧中的数据校验并判断数据校验与DSP计算结果是否一致,如果一致则进行数据解析,否则DSP向ARM发送数据校验失败信息,并退出中断。
本实施例中,ARM还用于在接收到数据校验失败信息时,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
ARM还用于通过判断接收到成功数据的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
在反向传输时,DSP还用于在DSP需要向ARM发送数据时,将需要发送的数据进行封装,将封装好的数据帧通过UPP接口发送至FPGA;FPGA还用于将通过UPP接口接收到的数据写入到内部双口RAM中;ARM还用于通过循环查询的方式,查询是否有数据接收。
以下举例进行说明,下述实施例中的技术特征都能相互组合,实施例仅作为示例,不作为对技术特征的正常组合限制。
实施例1:
本实施例说明在上述的本发明的原理基础上,数据帧的结构及其应用方式。
为了保证数据传输的可靠性和稳定性,在通信协议中,本实施例加入心跳信号,通过心跳信号来判断是否有新数据输入,同时,在协议中加入CRC校验字,保障数据在传输过程中的完整性。本实施例采用如下的通信协议进行通信:
本实施例的ARM向DSP发送的数据帧的结构如图6所示,数据帧包含5个字节的数据头、1个字节的数据校验以及可变长度的数据内容构成,数据头包含2个字节的心跳信号,1个字节的功能编码,2个字节的数据长度信息。为了提升数据交互效率,规定一帧数据长度最长为64个字节,如果有超过64个字节的数据需要传输时,将数据分多帧发送。每发送完成一帧新数据,心跳信号加1,如数据发送失败,心跳信号保持不变,其取值范围为0x0000~0xFFFF,当数值超过0xFFFF后从0x000重新开始计数。功能编码用于表示此帧数据功能,其取值范围为0x00~0xFF。数据长度表示数据内容的字节数,其取值范围为0x0000~0xFFFF。数据校验用于对此帧数据进行完整性校验,其取值范围为0x00~0xFF,校验算法可以采用比较通用的CRC校验或者简单的求和校验。
当DSP接收到ARM发送数据并根据数据完成数据校验判断后,向ARM发送回复数据。本实施例的DSP向ARM发送的回复数据的数据帧的结构如图7所示,包括心跳信号、功能编码、错误编码以及数据校验;其中,以错误编码的值区分该回复数据是成功信号还是失败信息,例如,当错误编码的值为0时,判断为成功信息;当错误编码为其他值时,判断为失败信息,并可以通过错误编码的值区分失败的原因,例如校验失败等。
采用上述的数据协议,可避免由于数据传输的不确定性带来的系统不稳定等问题,确定异步数据在传输过程中的延时。
本实施例中也采用图5的传输流程,当ARM需要传输数据给DSP时:
1)ARM将需要传输的数据按照数据帧格式(本实施例采用图6的结构)进行数据封装,将封装好的数据写入FPGA内部双口RAM中,写完后通过硬线(电平形式的写完成信号)告知FPGA数据写完成;
2)FPGA收到硬线的电平变化后,将双口RAM中的数据通过UPP接口发送到DSP;
3)DSP收到UPP数据后产生中断,在中断服务函数中接收数据;
4)DSP收到数据后先进行心跳信号(从数据帧的帧头中获取)的判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则跳出中断;
5)将所有数据接收到DSP内存中,判断数据校验与DSP计算结果是否一致,如果一致则进行数据解析,解析完成后向ARM发送成功信息;否则DSP向ARM发送数据校验失败,并且退出中断服务函数;,此成功信息或者失败信息作为DSP向ARM发送的回复数据;
6)根据功能编码对数据功能进行解析,同时,根据数据长度将数据内容保存到相应的功能编码区间,实现分类管理。
在上述的步骤中,当ARM接收到数据校验失败信息,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;直至完成发送。ARM通过判断接收到成功数据的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
实施例2:
本实施例对DSP至ARM的反向数据传输进行说明。本实施例可与实施例1组合使用。
当DSP需要向ARM发送数据时,具体传输流程如图8所示。
1)DSP将需要发送的数据按照数据传输协议格式进行数据封装,将封装好的数据通过UPP接口发送至FPGA;
2)FPGA将接收的UPP数据写入到内部双口RAM中;
3)ARM通过循环查询的方式,查询是否有数据接收。即ARM每隔固定周期检查双口RAM中的数据,如果双口RAM中数据的心跳信号是当前ARM心跳信号数据加1,表示有数据接收。
实施例3:
本实施例与实施例1基本相同,不同之处在于,本实施例中的FPGA与DSP之间采用双口RAM通信,如图9所示:当FPGA接收到ARM数据后通过双口RAM发送给DSP,DSP通过轮询的方式,查询是否有新的数据需要接收。本实施例的实时性较实施例1差,增加了FPGA的硬件资源消耗较实施例1更多。
综上所述,本发明可显著提高通信效率;通过该异步数据交互方法,可实现数据在三者中稳定可靠传输。并且在数据帧中加入心跳信息和数据校验,根据心跳信息的变化来解析数据,提升数据解析效率,避免不必要的数据解析;数据校验能保证数据的正确性。且ARM与FPGA之间加入硬线通信传输写完成信号,FPGA与DSP之间采用UPP高速并口通信,可保障数据传输的时效性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于ARM+FPGA+DSP架构的异步数据交互方法,其特征在于,包括以下步骤:
当ARM需要传输数据给DSP时,ARM将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;其中,所述ARM将需要传输的数据进行封装,包括在所述数据帧的数据头中插入心跳信号;
FPGA收到所述写完成信号后,将FPGA内部双口RAM中的数据帧发送到DSP;所述FPGA与所述DSP之间通过UPP接口连接,所述FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;DSP通过UPP中断接收所述数据帧;
DSP接收所述数据帧,所述DSP收到数据帧后获取所述数据头中的心跳信号并进行判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则退出中断。
2.根据权利要求1所述的基于ARM+FPGA+DSP架构的异步数据交互方法,其特征在于,所述ARM将需要传输的数据进行封装,包括在所述数据帧的末尾加入数据校验;
所述DSP将所有数据接收到DSP内存中,获取所述数据帧中的数据校验并判断所述数据校验与DSP计算结果是否一致,如果一致则进行数据解析,解析完成后向ARM发送成功信息,否则DSP向ARM发送数据校验失败信息,并退出中断。
3.根据权利要求2所述的基于ARM+FPGA+DSP架构的异步数据交互方法,其特征在于,当所述ARM接收到数据校验失败信息,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
所述ARM通过判断接收到成功信息的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,所述ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
4.根据权利要求1至3中任一项所述的基于ARM+FPGA+DSP架构的异步数据交互方法,其特征在于,所述方法还包括以下步骤:
当DSP需要向ARM发送数据时,DSP将需要发送的数据进行封装,将封装好的数据帧通过UPP接口发送至FPGA;
FPGA将通过UPP接口接收到的数据写入到内部双口RAM中;
ARM通过循环查询的方式,查询是否有数据接收。
5.根据权利要求1至3中任一项所述的基于ARM+FPGA+DSP架构的异步数据交互方法,其特征在于,所述写完成信号为电平信号,通过连接在ARM与FPGA的引脚之间的连接线进行传递。
6.一种基于ARM+FPGA+DSP架构的异步数据交互系统,其特征在于,包括:
ARM,用于在ARM需要传输数据给DSP时,将需要传输的数据进行封装,并将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;所述ARM还用于在将需要传输的数据进行封装时,在所述数据帧的数据头中插入心跳信号;
FPGA,用于在收到所述写完成信号后,将内部双口RAM中的数据帧发送到DSP;所述FPGA与所述DSP之间通过UPP接口连接;所述FPGA将FPGA内部双口RAM中的数据帧通过UPP接口发送到DSP;所述DSP通过UPP中断接收所述数据帧;
DSP,用于接收所述数据帧;所述DSP还用于在收到数据帧后获取所述数据头中的心跳信号并进行判断,如果心跳信号为DSP当前心跳的下一数值,则进行数据接收,否则退出中断。
7.根据权利要求6所述的基于ARM+FPGA+DSP架构的异步数据交互系统,其特征在于,所述ARM还用于将需要传输的数据进行封装,包括在所述数据帧的末尾加入数据校验;
所述DSP还用于将所有数据接收到DSP内存中,获取所述数据帧中的数据校验并判断所述数据校验与DSP计算结果是否一致,如果一致则进行数据解析,解析完成后向ARM发送成功信息,否则DSP向ARM发送数据校验失败信息,并退出中断。
8.根据权利要求7所述的基于ARM+FPGA+DSP架构的异步数据交互系统,其特征在于,所述ARM还用于在接收到数据校验失败信息时,判断为数据发送失败,重新将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA;
所述ARM还用于通过判断接收到成功信息的心跳信号是否等于发送数据的心跳信号判断是否发送成功,在数据发送成功后,所述ARM将心跳信号加1,并将已完成发送的数据的下一段数据进行封装,将封装后的数据帧写入FPGA内部双口RAM中,完成后发送写完成信号给FPGA。
9.根据权利要求6至8中任一项所述的基于ARM+FPGA+DSP架构的异步数据交互系统,其特征在于,所述DSP,还用于在DSP需要向ARM发送数据时,将需要发送的数据进行封装,将封装好的数据帧通过UPP接口发送至FPGA;
所述FPGA,还用于将通过UPP接口接收到的数据写入到内部双口RAM中;
所述ARM,还用于通过循环查询的方式,查询是否有数据接收。
10.根据权利要求6至8中任一项所述的基于ARM+FPGA+DSP架构的异步数据交互系统,其特征在于,所述写完成信号为电平信号,所述ARM与FPGA的引脚之间设置有用于传递所述写完成信号的连接线。
CN201910562315.8A 2019-06-26 2019-06-26 基于arm+fpga+dsp架构的异步数据交互方法及系统 Active CN112147918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910562315.8A CN112147918B (zh) 2019-06-26 2019-06-26 基于arm+fpga+dsp架构的异步数据交互方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910562315.8A CN112147918B (zh) 2019-06-26 2019-06-26 基于arm+fpga+dsp架构的异步数据交互方法及系统

Publications (2)

Publication Number Publication Date
CN112147918A CN112147918A (zh) 2020-12-29
CN112147918B true CN112147918B (zh) 2022-02-11

Family

ID=73869962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910562315.8A Active CN112147918B (zh) 2019-06-26 2019-06-26 基于arm+fpga+dsp架构的异步数据交互方法及系统

Country Status (1)

Country Link
CN (1) CN112147918B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896184B (zh) * 2022-05-24 2023-07-25 西安微电子技术研究所 一种dma控制器fpga及基于其的固态存储器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968642A (zh) * 2010-08-26 2011-02-09 浙江理工大学 一种基于fpga高速通讯方法的横机数控系统
CN202584718U (zh) * 2011-12-23 2012-12-05 成都众询科技有限公司 一种数字音频压缩装置
CN204423040U (zh) * 2015-01-22 2015-06-24 杭州朗杰测控技术开发有限公司 一种动态控制器
CN204667101U (zh) * 2015-05-28 2015-09-23 南车株洲电力机车研究所有限公司 一种变频器控制器
CN105373041A (zh) * 2015-11-19 2016-03-02 中冶南方(武汉)自动化有限公司 一种高性能变频控制器
CN108052066A (zh) * 2017-12-28 2018-05-18 上海澳通韦尔电力电子有限公司 一种多处理器架构的级联型高压变频器主控系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968642A (zh) * 2010-08-26 2011-02-09 浙江理工大学 一种基于fpga高速通讯方法的横机数控系统
CN202584718U (zh) * 2011-12-23 2012-12-05 成都众询科技有限公司 一种数字音频压缩装置
CN204423040U (zh) * 2015-01-22 2015-06-24 杭州朗杰测控技术开发有限公司 一种动态控制器
CN204667101U (zh) * 2015-05-28 2015-09-23 南车株洲电力机车研究所有限公司 一种变频器控制器
CN105373041A (zh) * 2015-11-19 2016-03-02 中冶南方(武汉)自动化有限公司 一种高性能变频控制器
CN108052066A (zh) * 2017-12-28 2018-05-18 上海澳通韦尔电力电子有限公司 一种多处理器架构的级联型高压变频器主控系统

Also Published As

Publication number Publication date
CN112147918A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN110213143B (zh) 一种1553b总线ip核及监视系统
US6651107B1 (en) Reduced hardware network adapter and communication
US4441162A (en) Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium
CN110471872B (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
US9552279B2 (en) Data bus network interface module and method therefor
CN112395230A (zh) 一种基于可编程逻辑器件的uart接口扩展电路
CN113032319B (zh) 基于fpga的车载系统数据传输方法及同步高速串行总线结构
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN111211863B (zh) Mac发射端、mac接收端及电路、fpga芯片及数据传输系统
CN112147918B (zh) 基于arm+fpga+dsp架构的异步数据交互方法及系统
CN115866081A (zh) 一种基于soc的工业以太网协议转换方法
CN113676386B (zh) 一种fc-ae-1553总线协议报文通讯系统
CN106911530B (zh) 一种基于串口冗余策略的关键测试指令传输系统及方法
CN111614533B (zh) Powerlink从站模块扩容系统及从站与总线主节点的交互方法
US11636061B2 (en) On-demand packetization for a chip-to-chip interface
WO2014027223A1 (en) Data bus network interface module and method therefor
CN117349214B (zh) 一种具备拆包组包能力的axi协议转串行通讯协议的转换桥
CN107317773B (zh) 一种片上网络通信接口及通信方法
CN114301991A (zh) 通信方法、设备、系统及计算机可读存储介质
CN111045966A (zh) 一种基于对等结构的多节点数据交互方法
CN112751873B (zh) 蓝牙midi数据转换方法、电路及存储介质
WO2023024720A1 (zh) 数据传输方法、系统、集成电路、多芯片结构和电子设备
CN113595842B (zh) 一种fc-ae-1553协议报文通讯处理系统
CN116366574A (zh) 一种基于双缓冲区的协议转换方法
CN108255770B (zh) 基于1394总线事件消息响应机制的处理方法

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