CN104298634B - 基于fpga和dsp的数据传输系统 - Google Patents
基于fpga和dsp的数据传输系统 Download PDFInfo
- Publication number
- CN104298634B CN104298634B CN201410494048.2A CN201410494048A CN104298634B CN 104298634 B CN104298634 B CN 104298634B CN 201410494048 A CN201410494048 A CN 201410494048A CN 104298634 B CN104298634 B CN 104298634B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- reading
- dsp
- fpga
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于FPGA和DSP的数据传输系统。其包括FPGA模块、DSP模块和外部存储器,FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元。存储器读写控制单元从外部存储器读取预定单位的数据;数据处理单元对每单位的数据进行处理;异步FIFO单元对预定单位的数据进行时钟域转换;同步FIFO单元缓存预定单位的数据,在数据达到预定单位时向DSP模块发中断信号;DSP模块根据中断信号从同步FIFO单元读取数据;数据读写检测单元在检测到DSP模块每读取完一个单位的数据时,向存储器读写控制单元发出反馈信号,以使存储器读写控制单元从外部存储器读取下一单位的数据。本发明能保证在EMIF传输方式下,FPGA与DSP之间的数据传输连续性。
Description
技术领域
本发明涉及数据处理技术领域,尤其是一种基于FPGA和DSP的数据传输系统。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)+DSP(digitalsignal processing,数字信号处理)的架构是最常用的数字信号处理解决方案。FPGA用于完成大数据高速处理,DSP用于完成后期复杂处理。在大多数应用中,FPGA用于实现对大量数据的高速实时处理,然而FPGA内部存储空间比较小,所以一般采用外部存储器来存储数据,FPGA从外部存储器读取数据经过处理后向DSP发中断信号,DSP在收到中断信号后主动从FPGA读取数据进行下一步处理。
然而,在面对大数据传输时,由于FPGA内可设置的缓冲区是很小的。因此,目前采取的方式是仅仅将FPGA作为布线通道,由DSP主动访问FPGA连接的外部存储器。但是,如果仅仅将FPGA作为布线通道,则一些应用中的运算(例如雷达信号处理中的求模运算)只能在DSP里面进行,从而会压缩DSP的处理时间,增加DSP的实时性设计难度,因而难以保证FPGA和DSP之间的数据传输连续性。
发明内容
本发明所要解决的技术问题是:提供一种基于FPGA和DSP的数据传输系统,能够保证在EMIF(External Memory Interface,外部存储器接口)传输方式下,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(First Input First Output,先入先出队列)存储器。同步FIFO单元的读取和写入都在同一时钟完成,而异步FIFO单元的读取和写入在不同时钟完成。
DSP模块用于根据中断信号从同步FIFO单元读取数据。其中,同步FIFO单元缓存预定单位的数据后才向DSP模块发送中断信号,可以保证DSP读取过程中同步FIFO单元始终不会被读空。
数据读写检测单元用于在检测到DSP模块每读取完一个单位的数据时,向存储器读写控制单元发出反馈信号,以使得存储器读写控制单元根据反馈信号从外部存储器读取下一单位的数据。其中,DSP模块每读取一个单位的数据后,存储器读写控制单元就读取下一单位的数据,可以保证数据的连续性传输。
在本实施例中,DSP模块从同步FIFO单元读取预定单位的数据的时间大于存储器读写控制单元与同步FIFO单元之间的群延时。进一步地,存储器读写控制单元读取一个单位的数据的时间小于DSP模块读取一个单位的数据的时间,并且存储器读写控制单元在读取完一个单位的数据的时间后处于空闲状态,直至接收到反馈信号。由于FPGA内部存在异步逻辑,产生反馈信号的数据读写检测单元的运行时钟和存储器读写控制单元的运行时钟不同,为保证数据传输稳定可靠进行,所以在时钟规划上应保证存储器读写控制单元读取一个单位的数据的时间小于DSP模块读取一个单位的数据的时间。
DSP模块具体用于根据中断信号向同步FIFO单元发送读取控制信号。同步FIFO单元用于根据读取控制信号输出数据至DSP模块。具体地,DSP模块向同步FIFO单元发送读取控制信号后,同步FIFO单元将数据发送到与DSP模块之间的总线上,DSP模块从总线上读取该数据。应当注意,本实施例中提及的一个单位的数据包括至少两个数据。
进一步,可选地,DSP模块用于将读取控制信号的脉冲宽度设置为两个时钟周期;同步FIFO单元用于在检测到读取控制信号的第一个时钟周期时输出数据至DSP模块,在检测到读取控制信号的第二个时钟周期时不作处理。其中,本申请的发明人通过大量的实验验证,当DSP模块向FPGA模块发送读取控制信号时会同步反馈一个时钟,该时钟达到较高的速度后该时钟本身的驱动能力减弱,往往不能稳定驱动FPGA内部的接口逻辑,而将读取控制信号的脉冲宽度设置为两个时钟周期,通过监测DSP模块发送的读取控制信号的电平变化,从而在FPGA模块内部产生一个读同步FIFO单元的使能信号,以此解决FPGA模块内部时钟与DSP模块所发送读取控制信号相位不同步的问题以及因DSP模块反馈的时钟的驱动能力减弱的问题。
本发明实施例的基于FPGA和DSP的数据传输系统通过FPGA预先缓存预定单位的数据,并监测FPGA和DSP之间的交互,在DSP从FPGA读取完数据之前FPGA提前从外部存储器读取数据并进行处理和缓存,从而在EMIF传输方式下,FPGA与DSP之间的数据传输连续性,并且数据传输的可靠性也较高,即使在DSP发送的读取控制信号不连续,且不连续的间断点随机出现时,FPGA也能够提前准备数据,保证FPGA到DSP的数据的正确、可靠传输。进一步地,由于FPGA不再简单作为布线通道,可以将部分在DSP内进行的运算移植到FPGA中,为DSP预留更多的处理时间,以降低DSP的实时性设计难度,使整个信号处理系统实时性的设计难度大大降低。例如在雷达信号处理的应用中,能够将CFAR(Constant False-Alarm Rate,恒虚警率)的求平方根的运算移植到FPGA模块中,从而在DSP模块内实现CFAR处理时可以将现行的计算均方根的算法改为最贴近理论的计算平方根的平均值,提高目标检测性能。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (4)
1.一种基于FPGA和DSP的数据传输系统,其特征在于,所述数据传输系统包括FPGA模块、DSP模块和外部存储器,所述FPGA模块包括存储器读写控制单元、数据处理单元、异步FIFO单元、同步FIFO单元和数据读写检测单元,
所述存储器读写控制单元用于从所述外部存储器读取预定单位的数据,并将每单位的数据依次送入所述数据处理单元;
所述数据处理单元用于对每单位的数据进行处理后送入所述异步FIFO单元;
所述异步FIFO单元用于对所述预定单位的数据进行时钟域转换后送入所述同步FIFO单元;
所述同步FIFO单元用于缓存所述异步FIFO单元送入的数据,并在所缓存的数据达到所述预定单位时,向所述DSP模块发出中断信号;
所述DSP模块用于根据所述中断信号从所述同步FIFO单元读取数据;
所述数据读写检测单元用于在检测到所述DSP模块每读取完一个单位的数据时,向所述存储器读写控制单元发出反馈信号,以使得所述存储器读写控制单元根据所述反馈信号从所述外部存储器读取下一单位的数据;
所述DSP模块具体用于根据所述中断信号向所述同步FIFO单元发送读取控制信号;
所述同步FIFO单元用于根据所述读取控制信号输出数据至所述DSP模块;
所述DSP模块用于将所述读取控制信号的脉冲宽度设置为两个时钟周期;
所述同步FIFO单元用于在检测到读取控制信号的第一个时钟周期时输出数据至所述DSP模块,在检测到读取控制信号的第二个时钟周期时不作处理。
2.根据权利要求1所述的数据传输系统,其特征在于,所述DSP模块从所述同步FIFO单元读取所述预定单位的数据的时间大于所述存储器读写控制单元与所述同步FIFO单元之间的群延时,以保证所述同步FIFO单元不会被读空。
3.根据权利要求1或2所述的数据传输系统,其特征在于,所述存储器读写控制单元读取一个单位的数据的时间小于所述DSP模块读取一个单位的数据的时间。
4.根据权利要求3所述的数据传输系统,其特征在于,所述存储器读写控制单元在读取完一个单位的数据的时间后处于空闲状态,直至接收到所述反馈信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410494048.2A CN104298634B (zh) | 2014-09-24 | 2014-09-24 | 基于fpga和dsp的数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410494048.2A CN104298634B (zh) | 2014-09-24 | 2014-09-24 | 基于fpga和dsp的数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298634A CN104298634A (zh) | 2015-01-21 |
CN104298634B true CN104298634B (zh) | 2017-06-30 |
Family
ID=52318364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410494048.2A Active CN104298634B (zh) | 2014-09-24 | 2014-09-24 | 基于fpga和dsp的数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298634B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991883A (zh) * | 2015-06-04 | 2015-10-21 | 青岛海信信芯科技有限公司 | 片间互联的发送、接收装置及发送、接收方法及系统 |
CN105225533A (zh) * | 2015-09-29 | 2016-01-06 | 成都川睿科技有限公司 | 一种基于数据先进先出的智能交通通讯系统 |
CN105225527A (zh) * | 2015-09-29 | 2016-01-06 | 成都川睿科技有限公司 | 一种具有数据先进先出功能的智能交通车辆通讯系统 |
CN105225531B (zh) * | 2015-09-29 | 2018-09-25 | 成都川睿科技有限公司 | 一种使用数据先进先出的智能交通防碰撞设备 |
CN106354069A (zh) * | 2016-10-28 | 2017-01-25 | 成都力雅信息技术有限公司 | 一种采用数模处理方式的商品交易控制系统 |
CN106354067A (zh) * | 2016-10-28 | 2017-01-25 | 成都力雅信息技术有限公司 | 基于高速信号处理的微盘控制系统 |
CN107301136A (zh) * | 2017-06-21 | 2017-10-27 | 天津光电通信技术有限公司 | 一种基于fpga实现数据间隔选择连续输出的方法 |
CN111274171B (zh) * | 2018-12-04 | 2022-02-11 | 珠海格力电器股份有限公司 | 一种数据传输装置及方法 |
CN113760813B (zh) * | 2021-08-30 | 2024-05-24 | 凯迈(洛阳)电子有限公司 | 一种数字信号处理器启动控制的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893388A (zh) * | 2005-07-01 | 2007-01-10 | 中兴通讯股份有限公司 | 一种异步fifo实现系统及实现方法 |
CN203014851U (zh) * | 2012-12-22 | 2013-06-19 | 中国船舶重工集团公司第七0九研究所 | 一种多种接口自适应的雷达视频数字化处理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2412438A1 (en) * | 2000-06-09 | 2001-12-13 | The Trustees Of Columbia University In The City Of New York | Low latency fifo circuits for mixed asynchronous and synchronous systems |
-
2014
- 2014-09-24 CN CN201410494048.2A patent/CN104298634B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893388A (zh) * | 2005-07-01 | 2007-01-10 | 中兴通讯股份有限公司 | 一种异步fifo实现系统及实现方法 |
CN203014851U (zh) * | 2012-12-22 | 2013-06-19 | 中国船舶重工集团公司第七0九研究所 | 一种多种接口自适应的雷达视频数字化处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104298634A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298634B (zh) | 基于fpga和dsp的数据传输系统 | |
CN101938260B (zh) | 用于限制伪唤醒的静噪滤波 | |
CN100465934C (zh) | 一种在异步时钟域传输数据的装置及其方法 | |
CN109359729B (zh) | 一种在fpga上实现缓存数据的系统及方法 | |
CN101692346A (zh) | 一种存储器数据采样装置及一种采样控制器 | |
CN102314400B (zh) | 一种分散聚合式dma方法及装置 | |
CN105404598A (zh) | 实时数据采集系统及方法 | |
US9762224B2 (en) | Timing prediction circuit and method | |
US10592442B2 (en) | Asynchronous buffer with pointer offsets | |
CN103177133A (zh) | 一种数据采集和存储的系统及方法 | |
CN103517085A (zh) | 一种基于视频解码设计实现远程服务器管理的方法 | |
CN105242903B (zh) | 随机数生成装置和方法 | |
WO2017157164A1 (zh) | 数据聚合方法及装置 | |
CN105608028A (zh) | 基于emif接口和双口ram实现dsp与fpga高速通信方法 | |
CN102654852A (zh) | 一种异步数据读写控制方法、装置及系统 | |
CN103412847B (zh) | 基于fpga的usb转多路链路接口电路 | |
CN105577985A (zh) | 一种数字图像处理系统 | |
CN106297889A (zh) | 存储器测试系统及其测试方法 | |
CN116594932A (zh) | 一种首字直通的先进先出存储设备及方法 | |
CN103095595A (zh) | 一种基于单向并行多链表的网络数据管理方法及系统 | |
CN103577110A (zh) | 片上系统及片上系统的读写方法 | |
Wang et al. | High bandwidth memory interface design based on DDR3 SDRAM and FPGA | |
CN205787772U (zh) | 基于fpga实时控制的高速数据采集系统 | |
CN111723027B (zh) | 一种基于电力边缘网关的动态存储缓冲区读取控制方法 | |
CN108446439A (zh) | 用于防止设置时序数据误差的传播的方法和同步数字电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171121 Address after: 621000 Mianyang city of Sichuan Province Branch Chong Park Jiuhua Road No. 6 Patentee after: Sichuan Jiuzhou prevention and control science and Technology Co., Ltd. Address before: 621000 Mianyang city of Sichuan Province Branch Chong Park Jiuhua Road No. 6 Patentee before: Jiuzhou Electrical Appliances Group Co., Ltd., Sichuan |