基于嵌入式处理器之间的零延时数据传输装置及方法

文档序号:6401187阅读:145来源:国知局
专利名称:基于嵌入式处理器之间的零延时数据传输装置及方法
技术领域
本发明涉及基于嵌入式处理器之间的零延时数据传输装置及方法,属于数据通信传输领域。
背景技术
随着制造加工工艺的进步,常用嵌入式处理器的制造工艺已经达到28nm甚至更低,这样在相同封装下,处理器具有更高的处理能力和运算资源。然而处理器性能的提升并未给嵌入式系统的性能带来巨大的飞跃,低效的数据传输方式成为高数据吞吐量的嵌入式系统性能提升的瓶颈。高数据吞吐量的嵌入式系统通常由FPGA (Field 一 Programmable Gate Array的缩写,现场可编程门阵列)结合其他嵌入式处理器构成,由FPGA进行数据采集或数据通信,由DSP、ARM等嵌入式处理器完成数据分析和处理。在嵌入式处理器之间的高速通信中,FPGA与FPGA之间的通信采用专用的串行传输配置,传输速度即可达到数Gbps。而在常见的FPGA与其他嵌入式 处理器之间的数据传输中,由于其他嵌入式处理器通常不具有达到同样传输速度等级的数据传输接口,导致FPGA输出的数据无法及时的传入其他嵌入式处理器。在FPGA端,常见的模式是数据采集、开始数据传输、等待传输结束、继续采集;而在其他嵌入式处理器端,常见的模式是开始数据传输、等待传输结束、数据处理。而在上述过程中,传输的数据量越大,传输时间越长,数据处理时间在整个流程中所占用的比例越小,无法在整个系统中体现嵌入式处理器的高速处理能力,影响了整个系统性能的提升和系统的实时性。即使在其他嵌入式处理器端采用了 DMA的传输模式,当传输时间远大于运算时间时,依然无法有效的保证系统的整体性能。这种情况在包含高分辨率、高速视觉传感器的实时系统中尤为明显。

发明内容
本发明目的是为了解决具有FPGA和其他嵌入式处理器结构的系统中,数据吞吐量大导致系统性能过低的问题,提供了一种基于嵌入式处理器之间的零延时数据传输装置及方法。本发明所述基于嵌入式处理器之间的零延时数据传输装置,它包括FPGA、嵌入式处理器、A存储器、B存储器和η个外部/内部数据源,A存储器和B存储器构成乒乓结构的FPGA的片外存储器,η个外部/内部数据源为FPGA提供的数据存入FPGA的片外存储器中,FPGA的数据传输端与嵌入式处理器的数据传输端相连;η为正整数;FPGAl内部构建有数据源、数据输入切换模块、A存储器接口模块、B存储器接口模块和存储器切换模块,η个外部/内部数据源的输出端与数据源的输入端口相连;数据源的数据输出端与数据输入切换模块的输入端口相连;数据输入切换模块的A输出端与A存储器接口模块的输入端相连;
数据输入切换模块的B输出端与B存储器接口模块的输入端相连;A存储器接口模块的数据传输端与A存储器的数据传输端相连;A存储器接口模块的输出端与存储器切换模块的A输入端相连;B存储器接口模块的数据传输端与B存储器的数据传输端相连;B存储器接口模块的输出端与存储器切换模块的B输入端相连;存储器切换模块的数据传输端与嵌入式处理器的数据传输端相连。基于所述的基于嵌入式处理器之间的零延时数据传输装置的零延时数据传输方法,该方法进行周期性工作,每个周期包括状态I和状态2两个过程,状态1:数据输入切换模块选择向A存储器接口模块存储数据;数据写入时,在A存储器接口模块中使能A数据写入模块,将数据写入A存储器,同时禁用A总线直连模块;当数据写满A存储器接口模块或达到预计存储容量后,数据输入切换模块选择B存储器接口模块继续存储数据,同时使能A总线直连模块,将A存储器的所有引脚直接连接到存储器切换模块,并禁用A数据写入模块;存储器切换模块将通过A总线直连模块连接的A存储器的所有引脚直接连接到嵌入式处理器的外部存储器接口上,此时嵌入式处理器可直接读写与A存储器接口模块相连的A存储器中的数据,完成状态I ;然后切换至状态2;状态2:嵌入式处理器开始处理A存储器中的数据,当处理结束时,等待B存储器写满或达到预计存储容量后,数据输入切换模块重新选择A存储器接口模块继续存储数据,B存储器接口模块使能B总线直连模块,禁用B数据写入模块,存储器切换模块通过B总线直连模块将B存储器的所有引脚直接连接到嵌入式处理器的外部存储器接口上,此时嵌入式处理器可直接读写与B存储器中的数据,完成状态2 ;然后切换至状态1,重复周期性过程。本发明的优点:在数据传输过程中,将发送端为FPGA,接收端为FPGA或其他嵌入式处理器的数据传输延时降低为零,从而增加后续数据处理过程在整个系统处理时间的比重,提升嵌入式系统的运行效率。以合作目标视觉测量系统为例,图像分辨率为2048*2048,FPGA完成图像采集后将数据发送到DSP,而后进行全局特征搜索,在不加入其他优化过程的情况下,相较于常用的DMA传输模式,系统运行效率可提升3.8倍。


图1是具体实施方式
三所述基于嵌入式处理器之间的零延时数据传输方法的状态I的原理框图;图2是具体实施方式
三所述基于嵌入式处理器之间的零延时数据传输方法的状态2的原理框图;图3是FPGA的原理框图。
具体实施例方式具体实施方式
一:下面结合图1、图2和图3说明本实施方式,本实施方式所述基于嵌入式处理器之间的零延时数据传输装置,它包括FPGA1、嵌入式处理器2、A存储器3、B存储器4和η个外部/内部数据源5,A存储器3和B存储器4构成乒乓结构的FPGAl的片外存储器,η个外部/内部数据源5为FPGAl提供的数据存入FPGAl的片外存储器中,FPGAl的数据传输端与嵌入式处理器2的数据传输端相连;η为正整数;FPGAl内部构建有数据源1_1、数据输入切换模块1_2、Α存储器接口模块1_3、Β存储器接口模块1-4和存储器切换模块1-5,η个外部/内部数据源5的输出端与数据源1-1的输入端口相连;数据源1-1的数据输出端与数据输入切换模块1-2的输入端口相连;数据输入切换模块1-2的A输出端与A存储器接口模块1-3的输入端相连;数据输入切换模块1-2的B输出端与B存储器接口模块1-4的输入端相连;A存储器接口模块1-3的数据传输端与A存储器3的数据传输端相连;A存储器接口模块1-3的输出端与存储器切换模块1-5的A输入端相连;B存储器接口模块1-4的数据传输端与B存储器4的数据传输端相连;B存储器接口模块1-4的输出端与存储器切换模块1-5的B输入端相连;存储器切换模块1-5的数据传输端与嵌入式处理器2的数据传输端相连。A存储器接口模块1-3内部设置有A数据写入模块1-3-1和A总线直连模块1_3_2 ;A数据写入 模块1-3-1用于将数据输入切换模块1-2发送的数据写入A存储器3,A总线直连模块1-3-2用于将A存储器3的所有引脚直接与存储器切换模块1-5相连;B存储器接口模块1-4内部设置有B数据写入模块1-4-1和B总线直连模块1-4-2 ;B数据写入模块1-4-1用于将数据输入切换模块1-2发送的数据写入B存储器4,B总线直连模块1-4-2用于将B存储器4的所有引脚直接与存储器切换模块1-5相连。A存储器3和B存储器4可以是SDRAM、SRAM、FLASH等具有数据存储能力的存储芯片、存储芯片组或具有存储功能的存储设备,如SD卡、U盘、硬盘等。外部/内部数据源5将要进行嵌入式处理器之间传输的数据输入到片外存储器,该数据源可以是一个或多个外部数据源通过FPGAl的IO输入,可以是FPGAl内部经过数据处理后的一个或多个内部数据源,片外存储器由A存储器3和B存储器4组成,构成乒乓结构,保证数据传输的连续性并调整数据写入与数据读取的时序,数据传输开始时,外部/内部数据源5将数据写入A存储器3,此时B存储器4闲置,为状态I ;当A存储器3写满或达到预计存储容量后,开始将数据写入B存储器4,A存储器3的所有与FPGAl相连的引脚分别与嵌入式处理器2的外部存储器接口的相应引脚直接相连,为状态2 ;此时A存储器3可以直接当作嵌入式处理器2的片外存储器进行数据的读写或缓存,而待传输的数据已经在A存储器3中,从而完成整个数据传输。
具体实施方式
二:本实施方式对实施方式一作进一步限定,嵌入式处理器2可以采用DSP、ARM处理器或单片机。嵌入式处理器2也可以采用另一片FPGA来实现,但需在其中自行设计外部存储器接口模块。
具体实施方式
三:本实施方式结合图1、图2和图3说明本实施方式,本实施方式是基于实施方式一所述嵌入式处理器之间的零延时数据传输装置的零延时数据传输方法,该方法进行周期性工作,每个周期包括状态I和状态2两个过程,状态1:数据输入切换模块1-2选择向A存储器接口模块1-3存储数据;数据写入时,在A存储器接口模块1-3中使能A数据写入模块1-3-1,将数据写入A存储器3,同时禁用A总线直连模块1-3-2 ;当数据写满A存储器接口模块1-3或达到预计存储容量后,数据输入切换模块1-2选择B存储器接口模块1-4继续存储数据,同时使能A总线直连模块1-3-2,将A存储器3的所有引脚直接连接到存储器切换模块1-5,并禁用A数据写入模块1-3-1 ;存储器切换模块1-5将通过A总线直连模块1-3-2连接的A存储器3的所有引脚直接连接到嵌入式处理器2的外部存储器接口上,此时嵌入式处理器2可直接读写与A存储器接口模块1-3相连的A存储器3中的数据,相当于将A存储器3直接挂接到嵌入式处理器2上,作为嵌入式处理器2的本地外存,从而数据从FPGAl到嵌入式处理器2的过程中,无需任何数据传输时间,完成状态I ;然后切换至状态2 ;状态2:嵌入式处理器2开始处理A存储器3中的数据,当处理结束时,等待B存储器4写满或达到预计存储容量后,数据输入切换模块1-2重新选择A存储器接口模块1-3继续存储数据,B存储器接口模块1-4使能B总线直连模块1-4-2,禁用B数据写入模块1_4_1,存储器切换模块1-5通过B总线直连模块1-4-2将B存储器4的所有引脚直接连接到嵌入式处理器2的外部存储器接口上,此时嵌入式处理器2可直接读写与B存储器4中的数据,相当于将该B存储器4直接挂接到嵌入式处理器2上,作为嵌入式处理器2的本地外存,从而数据从FPGAl到嵌入式处理器2的过程中,无需任何数据传输时间,完成状态2 ;然后切换至状态1,重复周期性过程。FPGAl内数据源1_1可以是外部I个或多个数据输入,也可以是FPGAl内部其他模块的数据输出。在数据传输过程中,数据源1-1将η个数据源的数据调整为一路具有更高频率或位宽的数据输出,进入数据输入切换模块1-2,数据输入切换模块1-2选择A存储器接口模块1-3或B存储器接口模块1-4存储数据;存储器切换模块1-5与嵌入式处理器2的外部存储器接口中所用到的引脚直接相连。在上述过程中,要求嵌入式处理器2的数据处理时间小于将数据写入A存储器接口模块1-3或B存储器接口模块1-4的写入时间;若不能满足,则需要在FPGAl中加入过程控制模块,根据嵌入式处理器2的状态在数据源1-1中加入等待延时。若A存储器3、B存储器4为片外存储器组,即由多片存储器构成,则FPGA可按照功能需要,组织多片存储器与嵌入式处理器的外部存储器接口的连接方式,配合嵌入式处理器2的通用输入输出引脚(GPIO),使存储资源和传输方式更加灵活。若A存储器3、B存储器4为具有存储功能的存储设备,如SD卡、U盘、硬盘等,则可在FPGA中设计相应的存储器 接口模块,且嵌入式处理器2需具备与该存储设备通信的结构与功能。
权利要求
1.基于嵌入式处理器之间的零延时数据传输装置,它包括FPGA(I)、嵌入式处理器(2)、A存储器(3)、B存储器(4)和η个外部/内部数据源(5),A存储器(3)和B存储器(4)构成乒乓结构的FPGA (I)的片外存储器,η个外部/内部数据源(5)为FPGA (I)提供的数据存入FPGA (I)的片外存储器中,FPGA (I)的数据传输端与嵌入式处理器(2)的数据传输端相连;η为正整数; 其特征在于,FPGA (I)内部构建有数据源(1-1)、数据输入切换模块(1-2)、Α存储器接口模块(1-3 )、B存储器接口模块(1-4 )和存储器切换模块(1-5 ), η个外部/内部数据源(5)的输出端与数据源(1-1)的输入端口相连; 数据源(1-1)的数据输出端与数据输入切换模块(1-2)的输入端口相连; 数据输入切换模块(1-2)的A输出端与A存储器接口模块(1-3)的输入端相连; 数据输入切换模块(1-2)的B输出端与 B存储器接口模块(1-4)的输入端相连; A存储器接口模块(1-3)的数据传输端与A存储器(3)的数据传输端相连; A存储器接口模块(1-3)的输出端与存储器切换模块(1-5)的A输入端相连; B存储器接口模块(1-4)的数据传输端与B存储器(4)的数据传输端相连; B存储器接口模块(1-4)的输出端与存储器切换模块(1-5)的B输入端相连; 存储器切换模块(1-5)的数据传输端与嵌入式处理器(2)的数据传输端相连。
2.根据权利要求1所述的基于嵌入式处理器之间的零延时数据传输装置,其特征在于, A存储器接口模块(1-3)内部设置有A数据写入模块(1-3-1)和A总线直连模块(1-3-2); A数据写入模块(1-3-1)用于将数据输入切换模块(1-2)发送的数据写入A存储器(3),A总线直连模块(1-3-2)用于将A存储器(3)的所有引脚直接与存储器切换模块(1-5)相连; B存储器接口模块(1-4)内部设置有B数据写入模块(1-4-1)和B总线直连模块(1-4-2); B数据写入模块(1-4-1)用于将数据输入切换模块(1-2)发送的数据写入B存储器(4),B总线直连模块(1-4-2)用于将B存储器(4)的所有引脚直接与存储器切换模块(1-5)相连。
3.根据权利要求1所述的基于嵌入式处理器之间的零延时数据传输装置,其特征在于,嵌入式处理器(2)采用DSP、ARM处理器或单片机。
4.基于权利要求2所述的基于嵌入式处理器之间的零延时数据传输装置的零延时数据传输方法,其特征在于,该方法进行周期性工作,每个周期包括状态I和状态2两个过程, 状态1:数据输入切换模块(1-2)选择向A存储器接口模块(1-3)存储数据;数据写入时,在A存储器接口模块(1-3)中使能A数据写入模块(1-3-1),将数据写入A存储器(3),同时禁用A总线直连模块(1-3-2); 当数据写满A存储器接口模块(1-3)或达到预计存储容量后,数据输入切换模块(1-2)选择B存储器接口模块(1-4 )继续存储数据,同时使能A总线直连模块(1-3-2 ),将A存储器(3)的所有引脚直接连接到存储器切换模块(1-5),并禁用A数据写入模块(1-3-1);存储器切换模块(1-5)将通过A总线直连模块(1-3-2)连接的A存储器(3)的所有引脚直接连接到嵌入式处理器(2)的外部存储器接口上,此时嵌入式处理器(2)可直接读写与A存储器接口模块(1-3)相连的A存储器(3)中的数据,完成状态I ; 然后切换至状态2 ; 状态2:嵌入式处理器(2 )开始处理A存储器(3 )中的数据,当处理结束时,等待B存储器(4)写满或达到预计存储容量后,数据输入切换模块(1-2)重新选择A存储器接口模块(1-3)继续存储数据,B存储器接口模块(1-4 )使能B总线直连模块(1-4-2 ),禁用B数据写入模块(1-4-1 ),存储器切换模块(1-5)通过B总线直连模块(1-4-2)将B存储器(4)的所有引脚直接连接到嵌入式处理器(2)的外部存储器接口上,此时嵌入式处理器(2)可直接读写与B存储器(4)中的数据,完成状态2 ; 然后切换至状态1,重复 周期性过程。
全文摘要
基于嵌入式处理器之间的零延时数据传输装置及方法,属于数据通信传输领域,本发明为解决具有FPGA和其他嵌入式处理器结构的系统中,数据吞吐量大导致系统性能过低的问题。本发明包括FPGA、嵌入式处理器、A存储器、B存储器和n个外部/内部数据源,FPGA1内部构建有数据源、数据输入切换模块、A存储器接口模块、B存储器接口模块和存储器切换模块,数据传输开始时,外部/内部数据源将数据写入A存储器,此时B存储器闲置,为状态1;当A存储器写满或达到预计存储容量后,开始将数据写入B存储器,A存储器的所有与FPGA1相连的引脚分别与嵌入式处理器的外部存储器接口的相应引脚直接相连,为状态2,重复状态1和状态2。
文档编号G06F13/16GK103218324SQ20131010631
公开日2013年7月24日 申请日期2013年3月29日 优先权日2013年3月29日
发明者叶东, 于潇宇, 郭玉波, 陈刚, 赵振庆 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1