本发明专利技术公开了一种基于FPGA和DSP的数据传输系统。其包括FPGA模块、DSP模块和外部存储器,FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元。存储器读写控制单元从外部存储器读取预定单位的数据;数据处理单元对每单位的数据进行处理;异步FIFO单元对预定单位的数据进行时钟域转换;同步FIFO单元缓存预定单位的数据,在数据达到预定单位时向DSP模块发中断信号;DSP模块根据中断信号从同步FIFO单元读取数据;数据读写检测单元在检测到DSP模块每读取完一个单位的数据时,向存储器读写控制单元发出反馈信号,以使存储器读写控制单元从外部存储器读取下一单位的数据。本发明专利技术能保证在EMIF传输方式下,FPGA与DSP之间的数据传输连续性。
【技术实现步骤摘要】
基于FPGA和DSP的数据传输系统
本专利技术涉及数据处理
,尤其是一种基于FPGA和DSP的数据传输系统。
技术介绍
FPGA(FieldProgrammableGateArray,现场可编程门阵列)+DSP(digitalsignalprocessing,数字信号处理)的架构是最常用的数字信号处理解决方案。FPGA用于完成大数据高速处理,DSP用于完成后期复杂处理。在大多数应用中,FPGA用于实现对大量数据的高速实时处理,然而FPGA内部存储空间比较小,所以一般采用外部存储器来存储数据,FPGA从外部存储器读取数据经过处理后向DSP发中断信号,DSP在收到中断信号后主动从FPGA读取数据进行下一步处理。然而,在面对大数据传输时,由于FPGA内可设置的缓冲区是很小的。因此,目前采取的方式是仅仅将FPGA作为布线通道,由DSP主动访问FPGA连接的外部存储器。但是,如果仅仅将FPGA作为布线通道,则一些应用中的运算(例如雷达信号处理中的求模运算)只能在DSP里面进行,从而会压缩DSP的处理时间,增加DSP的实时性设计难度,因而难以保证FPGA和DSP之间的数据传输连续性。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于FPGA和DSP的数据传输系统,能够保证在EMIF(ExternalMemoryInterface,外部存储器接口)传输方式下,FPGA与DSP之间的数据传输连续性。本专利技术采用的技术方案是:提供一种基于FPGA和DSP的数据传输系统。所述数据传输系统包括FPGA模块、DSP模块和外部存储器,所述FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元,所述存储器读写控制单元用于从所述外部存储器读取预定单位的数据,并将每单位的数据依次送入所述数据处理单元;所述数据处理单元用于对每单位的数据进行处理后送入所述异步FIFO单元;所述异步FIFO单元用于对所述预定单位的数据进行时钟域转换后送入所述同步FIFO单元;所述同步FIFO单元用于缓存所述异步FIFO单元送入的数据,并在所缓存的数据达到所述预定单位时,向所述DSP模块发出中断信号;所述DSP模块用于根据所述中断信号从所述同步FIFO单元读取数据;所述数据读写检测单元用于在检测到所述DSP模块每读取完一个单位的数据时,向所述存储器读写控制单元发出反馈信号,以使得所述存储器读写控制单元根据所述反馈信号从所述外部存储器读取下一单位的数据。优选地,所述DSP模块从所述同步FIFO单元读取所述预定单位的数据的时间大于所述存储器读写控制单元与所述同步FIFO单元之间的群延时,以保证所述同步FIFO单元不会被读空。优选地,所述存储器读写控制单元读取一个单位的数据的时间小于所述DSP模块读取一个单位的数据的时间。优选地,所述存储器读写控制单元在读取完一个单位的数据的时间后处于空闲状态,直至接收到所述反馈信号。优选地,所述DSP模块具体用于根据所述中断信号向所述同步FIFO单元发送读取控制信号;所述同步FIFO单元用于根据所述读取控制信号输出数据至所述DSP模块。优选地,所述DSP模块用于将所述读取控制信号的脉冲宽度设置为两个时钟周期;所述同步FIFO单元用于在检测到读取控制信号的第一个时钟周期时输出数据至所述DSP模块,在检测到读取控制信号的第二个时钟周期时不作处理。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:通过FPGA预先缓存预定单位的数据,并监测FPGA和DSP之间的交互,在DSP从FPGA读取完数据之前FPGA提前从外部存储器读取数据并进行处理和缓存,从而能够保证在EMIF传输方式下,FPGA与DSP之间的数据传输连续性,即使在DSP发送的读取控制信号不连续,且不连续的间断点随机出现时,FPGA也能够提前准备数据,保证FPGA到DSP的数据的正确、可靠传输,并且FPGA不再简单作为布线通道,可以将部分在DSP内进行的运算移植到FPGA中,为DSP预留更多的处理时间,以降低DSP的实时性设计难度。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1是本专利技术实施例的基于FPGA和DSP的数据传输系统的原理框图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。如图1所示,是本专利技术实施例的基于FPGA和DSP的数据传输系统的原理框图。本实施例的数据传输系统包括FPGA模块、DSP模块和外部存储器,FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元。存储器读写控制单元用于从外部存储器读取预定单位的数据,并将每单位的数据依次送入数据处理单元。其中,外部存储器作为大容量存储器,能够将FPGA模块需要的数据重新存储并进行排列。数据处理单元用于对每单位的数据进行处理后送入异步FIFO单元。其中,数据处理单元主要用于执行部分需要在DSP模块中进行的运算,即将DSP中的运算移植到FPGA模块中。异步FIFO单元用于对预定单位的数据进行时钟域转换后送入同步FIFO单元。其中,异步FIFO单元可以对数据进行时钟域的转换,以及数据格式、数据连续性的转换。同步FIFO单元用于缓存异步FIFO单元送入的数据,并在所缓存的数据达到预定单位时,向DSP模块发出中断信号。其中,同步FIFO单元作为和DSP模块的交互逻辑,可以使FPGA和DSP的交互逻辑的设计更加简单、方便和可靠。同步FIFO单元和异步FIFO单元都是基于FIFO(FirstInputFirstOutput,先入先出队列)存储器。同步FIFO单元的读取和写入都在同一时钟完成,而异步FIFO单元的读取和写入在不同时钟完成。DSP模块用于根据中断信号从同步FIFO单元读取数据。其中,同步FIFO单元缓存预定单位的数据后才向DSP模块发送中断信号,可以保证DSP读取过程中同步FIFO单元始终不会被读空。数据读写检测单元用于在检测到DSP模块每读取完一个单位的数据时,向存储器读写控制单元发出反馈信号,以使得存储器读写控制单元根据反馈信号从外部存储器读取下一单位的数据。其中,DSP模块每读取一个单位的数据后,存储器读写控制单元就读取下一单位的数据,可以保证数据的连续性传输。在本实施例中,DSP模块从同步FIFO单元读取预定单位的数据的时间大于存储器读写控制单元与同步FIFO单元之间的群延时。进一步地,存储器读写控制单元读取一个单位的数据的时间小于DSP模块读取一个单位的数据的时间,并且存储器读写控制单元在读取完一个单位的数据的时间后处于空闲状态,直至接收到反馈信号。由于FPGA内部存在异步逻辑,产生反馈信号的数据读写检测单元的运行时钟和存储器读写控制单元的运行时钟不同,为保证数据传输稳定可靠进行,所以在时钟规划上应保证存储器读写控制单元读取一个单位的数据的时间小于DSP模块读取一个单位的数据的时间。DSP模块具体用于根据中断信号向同步FIFO单元发送读取控制信号。同步F本文档来自技高网...
【技术保护点】
一种基于FPGA和DSP的数据传输系统,其特征在于,所述数据传输系统包括FPGA模块、DSP模块和外部存储器,所述FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元,所述存储器读写控制单元用于从所述外部存储器读取预定单位的数据,并将每单位的数据依次送入所述数据处理单元;所述数据处理单元用于对每单位的数据进行处理后送入所述异步FIFO单元;所述异步FIFO单元用于对所述预定单位的数据进行时钟域转换后送入所述同步FIFO单元;所述同步FIFO单元用于缓存所述异步FIFO单元送入的数据,并在所缓存的数据达到所述预定单位时,向所述DSP模块发出中断信号;所述DSP模块用于根据所述中断信号从所述同步FIFO单元读取数据;所述数据读写检测单元用于在检测到所述DSP模块每读取完一个单位的数据时,向所述存储器读写控制单元发出反馈信号,以使得所述存储器读写控制单元根据所述反馈信号从所述外部存储器读取下一单位的数据。
【技术特征摘要】
1.一种基于FPGA和DSP的数据传输系统,其特征在于,所述数据传输系统包括FPGA模块、DSP模块和外部存储器,所述FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元,所述存储器读写控制单元用于从所述外部存储器读取预定单位的数据,并将每单位的数据依次送入所述数据处理单元;所述数据处理单元用于对每单位的数据进行处理后送入所述异步FIFO单元;所述异步FIFO单元用于对所述预定单位的数据进行时钟域转换后送入所述同步FIFO单元;所述同步FIFO单元用于缓存所述异步FIFO单元送入的数据,并在所缓存的数据达到所述预定单位时,向所述DSP模块发出中断信号;所述DSP模块用于根据所述中断信号从所述同步FIFO单元读取数据;所述数据读写检测单元用于在检测到所述DSP模块每读取完一个单位的数据时,向所述存储器读写控制单元发出反馈信号,以使得所述存储器读写控制单元根据所述反馈信号从所述外部存储器读取下一单位...
【专利技术属性】
技术研发人员:罗大鑫,许刚,
申请(专利权)人:四川九洲电器集团有限责任公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。