CN103914417A - 一种基于dsp的数据传输与处理的方法 - Google Patents
一种基于dsp的数据传输与处理的方法 Download PDFInfo
- Publication number
- CN103914417A CN103914417A CN201410159550.8A CN201410159550A CN103914417A CN 103914417 A CN103914417 A CN 103914417A CN 201410159550 A CN201410159550 A CN 201410159550A CN 103914417 A CN103914417 A CN 103914417A
- Authority
- CN
- China
- Prior art keywords
- dsp
- data
- sdram
- processing
- dma
- 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.)
- Pending
Links
Abstract
本发明公开了一种基于DSP的数据传输与处理的方法,步骤包括:外部输入数据流向FPGA的内部缓存,当缓存数据达到设计数值即触发信号向DSP申请启动DMA飞跃传输模式;DSP响应申请并发出相应的指示信号;缓存数据被直接传输到DSP总线上挂的SDRAM存储器中;DSP启动DMA飞跃传输模式将SDRAM存储器中的数据搬进DSP内进行处理;DSP启动LINK口将处理完的数据回传到FPGA的内部缓存。本发明提供一种优化的传输时序和接口逻辑代码转换,使每个环节能实现有效衔接,输出输入接口均按照流水线节拍处理,数据传输按照一个方向进行而不需要发生单向等待,提高了处理效率和节省了时间开销。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种数据传输和处理的方法。
背景技术
传统的应用设计只使用了LINK口单一的高速传输通道,而没有充分发挥DSP的外部数据总线的高速传输特性,使DSP的运算效率大打折扣。比如由于LINK口不能直接访问DSP外部的SDRAM空间,如果按照传统的设计数据会先被搬运到DSP片内空间,再从DSP片内空间搬运到片外SDRAM空间,这在传输路径上就直接多了一倍时间,并且会需要CPU两次启动干预,这严重制约了DSP的计算效率。DSP将内部片内空间的数据处理完之后就需要将结果输出,并且不能影响后续输入数据的持续性。如果我们此时再次选择外部数据总线进行传输就会大大降低处理能力和整个系统的传输带宽,因为DSP的数据总线在某一个时刻只能作为输出或是输入,当遇到外部有输入数据时就无法同时输出处理结果,这时我们可以利用DSP的另外一种高速传输通道LINK口进行传输。
发明内容
本发明所要解决的技术问题是提供一种基于DSP的数据传输与处理的方法,它可以大大提高数据传输与处理的效率和节省了时间的开销。
为解决上述技术问题,本发明基于DSP的数据传输与处理的方法,其步骤包括:
外部输入数据流向FPGA的内部缓存RAM,当缓存数据达到设计数值即触发信号向DSP申请启动DMA飞跃传输模式。
DSP响应申请并发出相应的指示信号;缓存数据被直接传输到DSP总线上挂的SDRAM存储器中。
DSP启动DMA飞跃传输模式将SDRAM存储器中的数据搬进DSP内进行处理。
DSP在不占用总线的情况下,启动LINK口将处理完的数据回传到FPGA的内部缓存RAM。
FPGA内部缓存RAM在逻辑中设计成8192*32位宽的双口RAM,缓存数据达到32KB的一半即触发信号向DSP申请启动DMA飞跃传输模式;在DMA的参数配置中将目的地址设成SDRAM空间,使用64位总线宽度进行传输。
SDRAM被映射为DSP的一个外部缓冲区,当接受的外部缓存包累加到N*32KB后就一次性搬入DSP进行批量处理,其中N为大于零的整数;若SDRAM中接收的数据包未达到N*32KB,DSP将继续等待下一数据包DMA飞跃模式传输的申请,N为大于零的整数。
同时需设计一个FPGA逻辑里的双沿锁存器转换模块,将LINK口输出的数据宽度为4位、时钟类型为双沿时钟的数据转换成单沿8位数据宽度的数据。
本发明提供一种优化的传输时序和接口逻辑代码转换使每个环节均能实现有效衔接,输出输入接口均按照流水线节拍处理,数据传输按照一个方向进行而不需要发生单向等待。所有的传输方式均采用同步模式传输,每个时钟沿的变化都会发出数据的传输,不会使系统的传输性能影响系统的计算性能。
附图说明
图1为本发明TS201芯片对外接口示意图。
图2为本发明信号处理流程图。
图3为外部数据输入使能时序示意图。
图4双口存储器接口部分示意图。
图5两种传输机制比较示意图。
图6飞跃模式下DSP发出的信号示意图。
图7数据同时高速输入(数据总线)和输出(LINK)示意图。
图8输入型的双沿锁存器的应用。
具体实施方式
TigerSharc201(简称TS201)是ADI公司于推出的全新一代集浮点/定点处理于一身的高速DSP处理器。内含4条相互独立的128位宽度的数据总线,每条总线连接6个4Mb内部存储区,使DSP的内存创纪录的达到24M位。每条总线提供各自数据、指令集I/O访问和28GB/s的内部存储器宽带。处理器内核最高可工作在600 MHz,单周期能执行4条指令,每秒能进行3.4亿次乘累加和2.8亿次浮点操作,在同类产品中远远出于领先地位。TS201有14个DMA控制器,可以配置其寄存器后让数据在无CPU的参与下自由传输;每个DSP包含4个独立的全双工的LINK链路口;每个链路口以4位并行数据总线的方式传输,也可以编码为1位的串行传输方式;每个链路口的双向数据吞吐率可达1GB/S,4个链路口总共传输数据可达4GB/S。TS201系列的DSP接口丰富,外部设备接口包括SDRAM控制器、EPROM接口、主机接口、多处理器接口;其引导程序的加载方法也非常灵活,可以根据实际系统设计的需要灵活选用它。它兼有FPGA和ASIC信号处理性能和指令集处理器的高度可编程性,适用于大存储量、高性能、高速度的信号处理和图像处理。如雷达信号处理、无线基站、图像音频处理等。它的推出在当时令ADI公司保持了浮点DSP领域绝对的长期优势。图1为TS201芯片对外接口示意图。
图2是数据传输和处理的流程图。外部输入数据流向FPGA的内部缓存,当FPGA缓存数据达到32KB的一半即触发信号向DSP申请启动DMA飞跃传输模式;DSP响应申请并发出相应的指示信号,当数据包接收完成,缓存数据被直接传输到DSP总线上挂的SDRAM存储器中,检查SDRAM中接收的数据包是否已经达到预定的数据包N(N为大于零的整数);如果是,DSP启动DMA飞跃传输模式将SDRAM存储器中累计接收的N包数据搬进DSP内进行处理,如果否,继续等待下一包飞跃模式申请;DSP在不占用总线的情况下,启动LINK口将处理完的数据回传到FPGA的内部,FPGA内部逻辑将4位总线转换成8位总线接口方式,用户逻辑二次开发后将结果输出。
外部数据的输入信号包括使能,时钟和数据总线信号。需要被处理的数据在使能和时钟的同步控制下源源不断的写入到FPGA内部的缓存(RAM 图2)。每个CLK时钟的上升沿对准数据中心位置,当使能信号为高时使用时钟锁存数据。同时对每次输入的数据进行加1计数,一旦计数值达到设定的深度(比如4096)则在逻辑中产生一个触发高脉冲(TRIG)向DSP申请飞跃模式的DMA传输。图3和图4是相应的逻辑时序,图3是一个8192×32位的双口RAM存储器,双口的左边是数据写入端口它包括使能、数据和时钟信号;双口的右边是数据输出端口包括时钟,地址和总线的三态控制。
图4是对双口RAM访问的各种控制信号的产生,包括对写地址增加的变化控制,触发脉冲信号的产生等。双口写地址只有在写使能为高的时候在时钟的上升沿才会增加1。当写地址的第11位从高电平变为低电平时(下降沿),即预示着双口的左边已经有32KB的数据写入到存储器之中,此时将写第11位地址线取反之后再跟锁存器和移位寄存器级联,产生一个宽度为5个写时钟宽度的高脉冲(TRIG)通知DSP启动飞跃模式传输。
DSP在收到触发脉冲后,根据程序里预先设置的配置程序启动飞跃模式的DMA传输,将双口中的32KB数据直接传输到片外的SDRAM存储器之中。DMA的传输过程是不需要受DSP干预的,所以数据会直接经外部总线传输到SDRAM,这种直接传输路径大大地节约时间并提高CPU的运算效率。如果按照传统的设计数据会先被搬运到片内空间,再从片内空间搬运到片外SDRAM空间,这在传输路径上就直接多了一倍时间,并且会需要CPU两次启动干预(图5)。
图6中DSP接收到启动飞跃传输命令后发出读使能信号,时钟将数据线上的数据直接从双口传输到SDRAM。
由于飞跃模式下DSP的DMA传输速率远大于外部输入信号的输入速率,即双口右边的读速率大于双口左边的写速率。所以在DSP传输完一次32KB之后下一次触发并没有来到,此时可以根据之前程序的设置判断SDRAM中累计的数据(N(包)*32KB)是否达到处理要求,如果没有达到预设的数目则不用处理,否则再启动一次DMA将SDRAM中的数据(N包)搬进DSP片内空间再进行批量处理。显然一次性批量处理N包数据远比每搬一次再处理一次小包数据的效率高的多。
如果DSP需要将内部片内空间的数据处理完之后就需要将结果输出,并且不能影响后续输入数据的持续性。如果我们此时再次选择外部数据总线进行传输就会大大降低处理能力和整个系统的传输带宽。因为DSP的数据总线在某一个时刻只能作为输出或是输入,当遇到外部有输入数据时就无法同时输出处理结果。这时我么可以利用DSP的另外一种高速传输通道LINK口进行传输。LINK口是TS201 DSP独有的一个非常具有特色的高速接口,它独立于数据总线之外,总共包含四路全双工的LINK口,每路LINK口的双向传输速率可以达到1GB/S,理论上四条LINK口可以同时并且和数据总线同时工作。图7即为数据同时输入和输出示意图。
但是LINK口输出的数据宽度是4位,时钟类型是双沿时钟,这种特点限制了它在FPGA逻辑里的应用,在逻辑里一般需要将它转换成单沿8位数据宽度。新设计中利用双沿锁存器来实现此转换功能。双沿锁存器是FPGA逻辑里面比较有特色的一个转换模块,它不同于一般的锁存器只能在单沿(上升沿或者是下降沿)时刻锁存数据,它可以在每一个边沿的变化时刻锁存数据,并且将锁存的数据放在不同的输出端口上以方便用户使用。图8是一个输入双沿锁存器的使用示意图,将此模块在逻辑里面复制四次就可以完成一个LINK口的数据接收,将数据转换成8位宽度以便于后续处理。
Claims (6)
1.一种基于DSP的数据传输与处理的方法,其特征是,步骤一:外部输入数据流向FPGA的内部缓存RAM,当缓存数据达到设计数值即触发信号向DSP申请启动DMA飞跃传输模式;步骤二:DSP响应申请并发出相应的指示信号,缓存数据被直接传输到DSP总线上挂的SDRAM存储器中;步骤三:DSP启动DMA飞跃传输模式将SDRAM存储器中的数据搬进DSP内进行处理;步骤四:DSP在不占用总线的情况下,启动LINK口将处理完的数据回传到FPGA的内部缓存RAM。
2.根据权利要求1所述的一种基于DSP的数据传输与处理的方法,其特征是:步骤一中的FPGA内部缓存RAM在逻辑中设计成8192*32位宽的双口RAM,当RAM中的缓存数据达到32KB的一半即触发信号向DSP申请启动DMA飞跃传输模式,在DMA的参数配置中将目的地址设成SDRAM空间,使用64位总线宽度进行传输。
3.根据权利要求1所述的一种基于DSP的数据传输与处理的方法,其特征是:步骤二中的SDRAM被映射为DSP的一个外部缓冲区,当接受的外部缓存包累加到N*32KB后就一次性搬入DSP进行批量处理,若SDRAM中接收的数据包未达到N*32KB,DSP将继续等待下一数据包DMA飞跃模式传输的申请, N为大于零的整数。
4.根据权利要求1所述的一种基于DSP的数据传输与处理的方法,其特征是:为实现步骤四,需设计一个FPGA逻辑里的双沿锁存器转换模块,将LINK口输出的数据宽度为4位、时钟类型为双沿时钟的数据转换成单沿8位数据宽度的数据。
5.根据权利要求2所述的一种基于DSP的数据传输与处理的方法,其特征是:步骤二中的SDRAM被映射为DSP的一个外部缓冲区,当接受的外部缓存包累加到N*32KB后就一次性搬入DSP进行批量处理,若SDRAM中接收的数据包未达到N*32KB,DSP将继续等待下一数据包DMA飞跃模式传输的申请。
6.根据权利要求5所述的一种基于DSP的数据传输与处理的方法,其特征是:为实现步骤四,需设计一个FPGA逻辑里的双沿锁存器转换模块,将LINK口输出的数据宽度为4位、时钟类型为双沿时钟的数据转换成单沿8位数据宽度的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410159550.8A CN103914417A (zh) | 2014-04-21 | 2014-04-21 | 一种基于dsp的数据传输与处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410159550.8A CN103914417A (zh) | 2014-04-21 | 2014-04-21 | 一种基于dsp的数据传输与处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103914417A true CN103914417A (zh) | 2014-07-09 |
Family
ID=51040113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410159550.8A Pending CN103914417A (zh) | 2014-04-21 | 2014-04-21 | 一种基于dsp的数据传输与处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914417A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227684A (zh) * | 2016-08-03 | 2016-12-14 | 中国电子科技集团公司第三十八研究所 | 一种高性能dsp访存流水线及其实现方法 |
CN107430672A (zh) * | 2015-12-31 | 2017-12-01 | 京微雅格(北京)科技有限公司 | 一种可编程逻辑块阵列边沿的通用接口及芯片 |
CN108242958A (zh) * | 2016-12-27 | 2018-07-03 | 中国船舶重工集团公司七五○试验场 | 一种fpga水声信号处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028534A (ko) * | 2000-10-10 | 2002-04-17 | 조용범 | 디지털신호 처리 프로세서의 hpi와 dma인터페이스를 가진 pci 버스 컨트롤러 |
US20080010390A1 (en) * | 2004-02-20 | 2008-01-10 | International Business Machines Corporation | Facilitating Inter-DSP Data Communications |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN101694609A (zh) * | 2009-10-15 | 2010-04-14 | 上海大学 | 一种提高高清图像实时采集系统dsp外部存储器接口速度的结构和方法 |
CN102497522A (zh) * | 2011-12-12 | 2012-06-13 | 中国科学院长春光学精密机械与物理研究所 | 一种智能Camera Link转SDI装置 |
CN102831090A (zh) * | 2012-05-07 | 2012-12-19 | 中国科学院空间科学与应用研究中心 | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 |
-
2014
- 2014-04-21 CN CN201410159550.8A patent/CN103914417A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028534A (ko) * | 2000-10-10 | 2002-04-17 | 조용범 | 디지털신호 처리 프로세서의 hpi와 dma인터페이스를 가진 pci 버스 컨트롤러 |
US20080010390A1 (en) * | 2004-02-20 | 2008-01-10 | International Business Machines Corporation | Facilitating Inter-DSP Data Communications |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN101694609A (zh) * | 2009-10-15 | 2010-04-14 | 上海大学 | 一种提高高清图像实时采集系统dsp外部存储器接口速度的结构和方法 |
CN102497522A (zh) * | 2011-12-12 | 2012-06-13 | 中国科学院长春光学精密机械与物理研究所 | 一种智能Camera Link转SDI装置 |
CN102831090A (zh) * | 2012-05-07 | 2012-12-19 | 中国科学院空间科学与应用研究中心 | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 |
Non-Patent Citations (3)
Title |
---|
李乐等: "DSP+FPGA折反射全景视频处理系统中双核高速数据通信", 《电子与信息学报》 * |
胡标: "应用于无线电监测的高速信号处理平台设计", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
鲁昌华等: "给予FPGA+DSP的实时图像处理平台的设计与实现", 《图像与多媒体技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430672A (zh) * | 2015-12-31 | 2017-12-01 | 京微雅格(北京)科技有限公司 | 一种可编程逻辑块阵列边沿的通用接口及芯片 |
CN107430672B (zh) * | 2015-12-31 | 2020-08-04 | 京微雅格(北京)科技有限公司 | 一种可编程逻辑块阵列边沿的通用接口及芯片 |
CN106227684A (zh) * | 2016-08-03 | 2016-12-14 | 中国电子科技集团公司第三十八研究所 | 一种高性能dsp访存流水线及其实现方法 |
CN106227684B (zh) * | 2016-08-03 | 2019-06-04 | 中国电子科技集团公司第三十八研究所 | 一种高性能dsp访存流水线电路及其实现方法 |
CN108242958A (zh) * | 2016-12-27 | 2018-07-03 | 中国船舶重工集团公司七五○试验场 | 一种fpga水声信号处理方法及装置 |
CN108242958B (zh) * | 2016-12-27 | 2021-05-18 | 中国船舶重工集团公司七五○试验场 | 一种fpga水声信号处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101901200B (zh) | 一种基于双AHB Master接口的片上DMA控制器实现方法 | |
CN102243619A (zh) | 一种基于fpga实现多路i2c总线端口扩展的方法 | |
CN109189716A (zh) | 一种基于fpga的数据传输系统及传输方法 | |
CN101089840A (zh) | 基于多fpga的矩阵乘法并行计算系统 | |
CN102555550B (zh) | 一种基于多核处理器的高速印花机图像数据旋转处理系统及方法 | |
CN103714026A (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
CN102621974A (zh) | 基于通信总线的工业自动化实时控制装置及控制方法 | |
CN102752180A (zh) | Can总线网络节点的实现方法 | |
CN103914417A (zh) | 一种基于dsp的数据传输与处理的方法 | |
CN103377170B (zh) | 异构处理器间spi高速双向对等数据通信系统 | |
CN102968396B (zh) | 从Flash芯片到SRAM芯片的专用数据传输模块 | |
CN104461971A (zh) | 一种数据采集控制系统和方法 | |
CN204178172U (zh) | 一种基于dsp和fpga的嵌入式通用总线控制设备 | |
CN103077142A (zh) | 一种简易的总线传输协议的通信方法 | |
CN103729320B (zh) | 一种基于fpga实现cy7c68013通信的方法 | |
CN103412847B (zh) | 基于fpga的usb转多路链路接口电路 | |
CN104035913B (zh) | 基于高性能bw100芯片的sar并行处理方法及装置 | |
CN102662894A (zh) | 总线从单元通用接口 | |
CN105389282A (zh) | 处理器和arinc429总线的通信方法 | |
CN105550133A (zh) | 基于zynq的axis-fifo桥电路及利用该电路进行数据传输的方法 | |
CN102521180B (zh) | 一种多通道实时直读存储器结构 | |
CN205091735U (zh) | 一种基于qpi总线实现扩展系统内存的新型扩展模块 | |
CN102622319A (zh) | 基于mpmc的高速存储器接口ip核的数据交换系统 | |
Zhao et al. | Research on FPGA timing optimization methods with large on-chip memory resource utilization in PCIe DMA | |
CN202332303U (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140709 |
|
WD01 | Invention patent application deemed withdrawn after publication |