CN113806277A - 基于srio协议的fpga与dsp的数据传输系统 - Google Patents

基于srio协议的fpga与dsp的数据传输系统 Download PDF

Info

Publication number
CN113806277A
CN113806277A CN202111037539.0A CN202111037539A CN113806277A CN 113806277 A CN113806277 A CN 113806277A CN 202111037539 A CN202111037539 A CN 202111037539A CN 113806277 A CN113806277 A CN 113806277A
Authority
CN
China
Prior art keywords
data
module
bit width
transmission
srio
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.)
Granted
Application number
CN202111037539.0A
Other languages
English (en)
Other versions
CN113806277B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202111037539.0A priority Critical patent/CN113806277B/zh
Publication of CN113806277A publication Critical patent/CN113806277A/zh
Application granted granted Critical
Publication of CN113806277B publication Critical patent/CN113806277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种基于SRIO协议的FPGA与DSP间的数据传输系统,时钟生成模块生成M个同步采样时钟,M个通道绑定模块用于对采用对应同步采样时钟的采集板卡的采集数据进行拼合并存储,轮询模块用于根据DSP的读取信号从对应通道绑定模块中读取拼合数据,并由数据解绑定模块进行数据位宽扩展和数据解绑定之后存入异步FIFO5,传输包生成模块从异步FIFO5中读取数据,按照SRIO协议的要求生成传输包,SRIO传输模块将传输包发送至DSP模块进行后续处理。本发明可以实现多同步系统、多通道、任意位宽的数据传输。

Description

基于SRIO协议的FPGA与DSP的数据传输系统
技术领域
本发明属于数据传输技术领域,更为具体地讲,涉及一种基于SRIO协议的FPGA与DSP的数据传输系统。
背景技术
随着集成电路工艺的发展,FPGA与CPU、DSP等处理器也不断更新迭代,性能大幅提升,FPGA与这些处理器之间的高速数据传输是十分常见的,常用于各种高速数据采集系统。数据采集系统随着技术的发展越来越趋向于复杂的嵌入式系统,其中必备的主流微处理器搭载的高速传输接口也越来越丰富与高效。而随着FPGA性能的不断提升,逐步成为了数据采集系统中不可或缺的部分。FPGA内部常常集成了高速的Serdes接口,作为专用高速接口用于高速串行传输。
当今应用最为广泛的高速数据总线是PCIe总线,它由PCI总线演变而来,Intel公司开发,一般广泛应用在嵌入式领域以计算机为核心的传输技术中。SRIO是基于RapidIO总线协议,面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IECDIS 18372标准。在基于FPGA的高速传输架构中SRIO常被用作与DSP进行数据通信的接口。FPGA端的SRIO传输协议基于Xilinx公司的Serial RapidIO IP核来实现、IP核底层硬件基于FPGA的GTX收发器。
示波功率分析仪作为高速数据采集系统重要的应用,是一种高精度测试仪器。它具有高速数据采集与传输的技术指标,而满足这些指标首先要面对高速数据流传输、可变速率的数据传输、不同来源的数据源传输等一些复杂传输情形,不仅要保证系统中各个接口的传输速率,更要保证传输系统对于不同传输情形的适应性。
在现有的常规技术中,多通道的数据向后端DSP或PC机传输时通常有两种方式,第一种是采用将所有数据拼合为一整个长数据段的方式进行传输。这样做方法最为简单结构也最容易实现,在低通道数、低数据量传输时比较方便。但是该方法存在着后端传输带宽的浪费,尤其当多通道中只有单通道处于工作状态下时,这种浪费达到最大。另一种是所有通道都独立传输,DSP或PC机采用轮询的方式读取每个通道单元的数据。这样做能自由的开启关闭每一个传输通道,避免了非工作状态的通道对后端传输带宽的占用,减小了带宽的浪费。但相应地需要加入轮询模块3,为了缓存数据需要每一个存储元件很大的存储深度。并且当系统复杂,通道数繁多的情况下,上述任意一种方式都会存在带宽的浪费或存储资源的消耗,因此在通道数庞大的系统中采用传统的传输架构显然是不合理的。另外,在现有技术中一般通常采用同步采样的方式实现整周期采样以减小频谱泄露带来的误差。而同步采样技术作为一种可变速率采样,采样时钟随待测信号变化,因此同步采样时钟的稳定性通常难以保证,进而影响后端数据处理的准确性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于SRIO协议的FPGA与DSP间的数据传输系统,可以实现多同步系统、多通道、任意位宽的数据传输。
为了实现上述发明目的,本发明基于SRIO协议的FPGA与DSP间的数据传输系统包括在FPGA中实现的时钟产生模块、M个通道绑定模块、轮询模块、数据解绑定模块、后端传输包生成模块、SRIO传输模块,以及DSP模块,其中;
时钟产生模块用于根据实际需要生成M个同步采样时钟,供采集板卡选择使用,M的值根据实际情况确定;
每个通道绑定模块包括拼合模块和数据存储FIFO,第m个通道绑定模块的拼合模块将使用第m个同步采样时钟的采集板卡的采集数据进行拼合得到拼合数据,记采集数据的位宽为W,使用第m个同步采样时钟的采集板卡数量为Km,记采集板卡数量Km中的最大值为max(Km),当Km<max(Km),则将对应拼合数据进行高位补零使得其数据位宽为max(Km)×W,否则不作任何操作;拼合模块将其输出的拼合数据缓存至对应数据存储FIFO中,数据存储FIFO的存储深度根据实际需要设置,当第m个通道绑定模块的数据存储FIFO存满,即拉高其编程满标志信号prog_full_m,并将编程满标志信号prog_full_m发送至SRIO传输模块;
轮询模块用于根据来自DSP模块的读取信号rd_en_m,从通道绑定模块的对应数据存储FIFO中读取出拼合数据,发送至数据解绑定模块,并在拼合数据读取完毕后发送读取完毕标志rd_finish_flag至SRIO传输模块;
数据解绑定模块包括位宽转换模块和位宽转换FIFO,其中位宽转换模块在接收到拼合数据后,采用以上方法进行数据位宽扩展:
记大于max(Km)的2的整数次幂最小值为
Figure BDA0003247823120000031
则位宽扩展数据data_w的数据位宽为
Figure BDA0003247823120000032
W′表示后端系统中单个采集板卡采集数据的存储位宽,将位宽扩展数据data_w的数据位宽均分为
Figure BDA0003247823120000033
个区段;如果拼合数据中存在第k个采集板卡的采集数据,
Figure BDA0003247823120000034
则将第k个区段中最高位设置为通道有效标志,次高的n位作为通道ID,其中2n≥N,N表示采集板卡总数,第k个采集板卡的采集数据占用数据data_w数据位宽中第k个区段的低W位,其余空闲位采用预设的填充数据进行填充;如果不存在第k个采集板卡的采集数据,则将对应区段全部采用填充数据进行填充;
位宽转换模块将得到的位宽扩展数据data_w存入位宽转换FIFO中,同时输出各个数据对应的数据有效信号;
位宽转换FIFO按照输出位宽W′将存储的数据data_w输出至异步FIFO;
异步FIFO用于对接收的数据进行跨时钟域转换,将数据的时钟域转换至后端传输模块时钟域,同时异步FIFO将接收数据中最高位和接收数据对应数据有效信号中数据有效位相与后的信号作为异步FIFO的写使能信号,滤除无效数据段;
传输包生成模块用于从异步FIFO中读取数据,按照SRIO协议的要求生成传输包,将生成的传输包发送至SRIO传输模块;
SRIO传输模块用于从DSP模块接收读取信号rd_en_m并转发给轮询模块,将来自数据存储FIFO的编程满标志信号prog_full_m、来自轮询模块的读取完毕标志rd_finish_flag、来自传输包生成模块的传输包发送至DSP模块;
DSP模块在接收到编程满标志信号prog_full_m后,生成对该数据存储FIFO的读取信号rd_en_m发送给SRIO传输模块,当同时接收到两个以上编程满标志信号prog_full_m时,根据预先设置的数据存储FIFO的优先级,生成优先级最高的数据存储FIFO的读取信号rd_en_m并发送给SRIO传输模块,在接收到读取完毕标志rd_finish_flag后再生成下一个读取信号rd_en_m;DSP模块在接收到SRIO传输模块发送的传输包,根据预先设置的处理方法对传输包进行处理。
本发明基于SRIO协议的FPGA与DSP间的数据传输系统,时钟产生模块生成M个同步采样时钟,M个通道绑定模块用于对采用对应同步采样时钟的采集板卡的采集数据进行拼合并存储,轮询模块用于根据DSP的读取信号从对应通道绑定模块中读取拼合数据,并由数据解绑定模块进行数据位宽扩展和数据解绑定之后存入异步FIFO5,传输包生成模块从异步FIFO5中读取数据,按照SRIO协议的要求生成传输包,SRIO传输模块将传输包发送至DSP模块进行后续处理。
本发明所提出的传输架构能够很好的适配FPGA与后端DSP系统的数据交互,并且具有很好的通用性,例如可以适配任意板卡数量,任意同步系统数量,可适用多同步系统同时工作,也可适用单同步系统单通道工作。
附图说明
图1是本发明基于SRIO协议的FPGA与DSP的数据传输系统的具体实施方式结构图;
图2是本实施例中拼合数据示意图;
图3是数据位宽扩展后数据的示例图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于SRIO协议的FPGA与DSP的数据传输系统的具体实施方式结构图。如图1所示,本发明基于SRIO协议的FPGA与DSP间的数据传输系统包括在FPGA中实现的时钟产生模块1、M个通道绑定模块2、轮询模块3、数据解绑定模块4、异步FIFO5、传输包生成模块6、SRIO传输模块7,以及DSP模块8。下面分别对各个模块进行详细说明。
时钟产生模块1用于根据实际需要生成M个同步采样时钟,供采集板卡选择使用,M的值根据实际情况确定。
每个通道绑定模块2包括拼合模块21和数据存储FIFO22,第m个通道绑定模块的拼合模块21将使用第m个同步采样时钟的采集板卡的采集数据进行拼合得到拼合数据,记采集数据的位宽为W,使用第m个同步采样时钟的采集板卡数量为Km,记采集板卡数量Km中的最大值为max(Km),当Km<max(Km),则将对应拼合数据进行高位补零使得其数据位宽为max(Km)×W,否则不作任何操作;拼合模块21将其输出的拼合数据缓存至对应数据存储FIFO22中,数据存储FIFO22的存储深度根据实际需要设置,当第m个通道绑定模块的数据存储FIFO22存满,即拉高其编程满标志信号prog_full_m,并将编程满标志信号prog_full_m发送至SRIO传输模块7。
可见,多张采集板卡分属M个同步系统,同一个同步系统的采集板卡为同一时钟域,不同同步系统的板卡为不同时钟域。本实施例中每张采集板卡包含两个通道,分别采集电压电流数据,假设电压电流采集数据位宽均为w,则采集数据的位宽W=2w。因此拼合数据的数据位宽,也就是各个FIFO的存储位宽为fifo_width=max(Km)×2w,各个FIFO的存储深度即为DSP模块8分析一幅波形所需点数。
如图1所示,本实施例中由七张采集板卡进行数据采集,所使用的同步采样时钟有3个,即构成3个同步系统。前2个同步系统包括三个采集板卡,最后一个同步系统包括一个采集板卡。每张采集板卡包括两个18位的ADC,分别用于采集电压和电流。通道绑定模块2中拼合模块21,先将同一采集板卡的电压数据和电流数据拼合,然后再将不同采集板卡的电压电流数据拼合。图2是本实施例中拼合数据示意图。如图2所示,三个采集板卡拼合完成后的输出位宽为108bit,虽然第三个同步系统只有一个采集板卡,但为了适配前面两个同步系统也设置输出位宽为108bit,不过未使用的高位全部置0。本实施例中编程满深度设置为8192。
值得注意的是,如果每个同步系统所对应的数据存储FIFO22的写入速度一样,则各个数据存储FIFO22会同时写满深度,即同时发送编程满标志信号。本发明中各个数据存储FIFO22的编程满标志信号各不相同,DSP模块8根据编程满标志信号即可确定哪一个数据存储FIFO存满,无需另外设置信号。此外,本发明中DSP模块8在同时接收到两个以上编程满标志信号时,会根据优先级依次发送读取信号,此时优先级低的同步系统FIFO将继续写入数据。那么如果同步系统过多,必然存在一种极端情况,使得优先级低的数据存储FIFO22已经存满FIFO总深度,但还没有对该FIFO进行读取,那么必将导致数据的丢失。为了避免这种情况,必须要求数据存储FIFO22深度和编程满深度有一定的差距。
假设系统时钟周期t,数据存储FIFO22的编程满深度为D,总深度为D+d,M个同步系统写入速度相等,为v。那么这些数据存储FIFO22一定同时写满编程满深度,假设优先读取数据存储FIFO221的数据,读取D个数据需要D个系统时钟周期。此时其他M-1个同步系统依旧在写入数据,每个数据存储FIFO22共写入Dt/v个数据。之后同理继续读取第二个、第三个同步系统数据,直到所有的数据存储FIFO22均被读取一次。最后一个数据存储FIFO22被读取之前被多写入了(M-1)Dt/v个数据,因此有如下限定关系:
D+d≥D+(M-1)Dt/v
D≥(M-1)Dt/v
第一个公式表示了最后一个被读的FIFO的深度必须满足的条件,第二个公式表示了最开始被读的FIFO的编程满深度必须满足的条件。
以上推导只是假设了一种情况,在实际应用中可以根据实际情况来设置数据存储FIFO22的总深度,以便保留一定的深度容量,以免造成数据丢失。
轮询模块3用于根据来自DSP模块8的读取信号rd_en_m,从通道绑定模块2的对应数据存储FIFO22中读取出拼合数据,发送至数据解绑定模块4,并在拼合数据读取完毕后发送读取完毕标志rd_finish_flag至SRIO传输模块7。
本实施例中轮询模块3包括选择器和计数器,选择器用于根据来自DSP的读取信号rd_en_m选择对应数据存储FIFO22进行拼合数据读取,计数器用于对所读取数据进行计数,当所读取数据达到预设的编程满深度D后,即发送读取完毕标志rd_finish_flag至SRIO传输模块7。
数据解绑定模块4包括位宽转换模块41和位宽转换FIFO42,用于将所接收的数据进行位宽转换与拆分。
由于数据传输系统将数据送入后端系统将存储在地址空间中,每个地址空间要求的数据位宽是固定的,一般为32bit或者64bit,本实施例中假定为64bit。而前端数据的位宽由ADC分辨率决定,这必然存在前后端位宽不匹配问题,因此为了位宽匹配,需要由位宽转换模块41将长数据段的每一个采集板卡数据段的数据进行位宽扩展以适配后端。此外,由于本发明中设置位宽转换FIFO42的输入位宽和输出位宽的比值要求必须为2的整数次幂,因此当前端同一时钟域的采集板卡个数不为2的整数次幂时,还需要位宽转换模块41在长数据段的最高位补0数据段使得长数据段的位宽是后端地址空间存储数据位宽的2的整数次幂。
根据以上分析可知,本发明中位宽转换模块41在接收到拼合数据后,采用以下方式进行数据位宽扩展:
记大于max(Km)的2的整数次幂最小值为
Figure BDA0003247823120000071
则位宽扩展数据data_w的数据位宽为
Figure BDA0003247823120000072
W′表示后端系统中单个采集板卡采集数据的存储位宽,将数据data_w的数据位宽均分为
Figure BDA0003247823120000073
个区段。如果拼合数据中存在第k个采集板卡的采集数据,
Figure BDA0003247823120000074
则将第k个区段中最高位设置为通道有效标志,次高的n位作为通道ID,其中2n≥N,N表示采集板卡总数,第k个采集板卡的采集数据占用数据data_w数据位宽中第k个区段的低W位,其余空闲位采用预设的填充数据进行填充;如果不存在第k个采集板卡的采集数据,则将对应区段全部采用填充数据进行填充。
图3是数据位宽扩展后数据的示例图。如图3所示,本实施例中使用不同同步采样时钟的采集板卡数量Km中的最大值为3,则
Figure BDA0003247823120000075
后端系统中单个采集板卡采集数据的存储位宽W′=64bit,则数据位宽扩展后数据data_w的数据位宽为256bit。当FIFO中输出的数据为3个采集板卡的拼合数据时,则存在第1、2、3个采集板卡的数据,因此第4个区段没有数据,全部用0进行填充。在第1、2、3个区段中,最高位为通道有效标志,次高的2位作为通道ID。此外,由于采集板卡的采集的电压数据和电流数据位宽均为18bit,为了位宽匹配,需要将长数据段的每一个板卡数据段的电压电流数据均进行位宽扩展以适配后端,这里采用高位补零的方式实现。
位宽转换模块41在对所接收的拼合数据完成数据位宽扩展后,将得到的位宽扩展数据data_w存入位宽转换FIFO42中,同时输出各个数据对应的数据有效信号。
位宽转换FIFO42按照输出位宽W′将存储的数据data_w输出至异步FIFO5。在本实施例中,由于输出位宽W′=64bit,因此位宽转换FIFO42按照64bit进行数据输出。可以看出,本发明可以根据后端DSP或PC机存储空间的要求,自主地设定位宽转换FIFO42的输出位宽(如本实施例中设置输出位宽64bit),根据前端单个同步系统的数据位宽之和,设置输入位宽,仅需要保证输入位宽为输出位宽的2的整数次幂倍数即可(如本实施例中设置输入位宽256bit)。本发明可以通过调整该模块位宽转换中位宽转换FIFO42的输入输出位宽,以保证其良好的通用性。对于总数据量一定的系统,用户可根据实际需求自由调节同步系统个数以及每个同步系统下采集板卡的个数。
异步FIFO5用于对接收的数据进行跨时钟域转换,将数据的时钟域转换至后端SRIO传输模块时钟域,同时异步FIFO5将接收数据中最高位和接收数据对应数据有效信号中数据有效位相与后的信号作为异步FIFO5的写使能信号,滤除无效数据段。采用这种方式,只会有通道有效和数据有效时才会将数据写入异步FIFO5,自动去掉由扩展位宽产生的无效数据和未工作通道的数据段数据,进而提高了后端高速数据总线传输的带宽利用率。
传输包生成模块6用于从异步FIFO5中读取数据,按照SRIO协议的要求生成传输包,将生成的传输包发送至SRIO传输模块7。根据SRIO协议,在生成传输包时,除了需要异步FIFO5的输出数据及数据有效信号外,还需给出写入dsp首地址tx_addr、门铃信号doorbell等信号用于合成包头、数据包及门铃包。
SRIO传输模块7用于从DSP模块8接收读取信号rd_en_m并转发给轮询模块3,将来自数据存储FIFO22的编程满标志信号prog_full_m、来自轮询模块3的读取完毕标志rd_finish_flag、来自传输包生成模块6的传输包发送至DSP模块8。
DSP模块8在接收到编程满标志信号prog_full_m后,生成对该数据存储FIFO22的读取信号rd_en_m发送给SRIO传输模块7,当同时接收到两个以上编程满标志信号prog_full_m时,根据预先设置的数据存储FIFO22的优先级,生成优先级最高的数据存储FIFO22的读取信号rd_en_m并发送给SRIO传输模块7,在接收到读取完毕标志rd_finish_flag后再生成下一个读取信号srio_din_sel。DSP模块8在接收到SRIO传输模块7发送的传输包,根据预先设置的处理方法对传输包进行处理。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种基于SRIO协议的FPGA与DSP的数据传输系统,其特征在于,包括在FPGA中实现的时钟产生模块、M个通道绑定模块、轮询模块、数据解绑定模块、后端传输包生成模块、SRIO传输模块,以及DSP模块,其中;
时钟产生模块用于根据实际需要生成M个同步采样时钟,供采集板卡选择使用,M的值根据实际情况确定;
每个通道绑定模块包括拼合模块和数据存储FIFO,第m个通道绑定模块的拼合模块将使用第m个同步采样时钟的采集板卡的采集数据进行拼合得到拼合数据,记采集数据的位宽为W,使用第m个同步采样时钟的采集板卡数量为Km,记采集板卡数量Km中的最大值为max(Km),当Km<max(Km),则将对应拼合数据进行高位补零使得其数据位宽为max(Km)×W,否则不作任何操作;拼合模块将其输出的拼合数据缓存至对应数据存储FIFO中,数据存储FIFO的存储深度根据实际需要设置,当第m个通道绑定模块的数据存储FIFO存满,即拉高其编程满标志信号prog_full_m,并将编程满标志信号prog_full_m发送至SRIO传输模块;
轮询模块用于根据来自DSP模块的读取信号rd_en_m,从通道绑定模块的对应数据存储FIFO中读取出拼合数据,发送至数据解绑定模块,并在拼合数据读取完毕后发送读取完毕标志rd_finish_flag至SRIO传输模块;
数据解绑定模块包括位宽转换模块和位宽转换FIFO,其中位宽转换模块在接收到拼合数据后,采用以上方法进行数据位宽扩展:
记大于max(Km)的2的整数次幂最小值为
Figure FDA0003247823110000011
则位宽扩展数据data_w的数据位宽为
Figure FDA0003247823110000012
W′表示后端系统中单个采集板卡采集数据的存储位宽,将位宽扩展数据data_w的数据位宽均分为
Figure FDA0003247823110000013
个区段;如果拼合数据中存在第k个采集板卡的采集数据,
Figure FDA0003247823110000014
则将第k个区段中最高位设置为通道有效标志,次高的n位作为通道ID,其中2n≥N,N表示采集板卡总数,第k个采集板卡的采集数据占用数据data_w数据位宽中第k个区段的低W位,其余空闲位采用预设的填充数据进行填充;如果不存在第k个采集板卡的采集数据,则将对应区段全部采用填充数据进行填充;
位宽转换模块将得到的位宽扩展数据data_w存入位宽转换FIFO中,同时输出各个数据对应的数据有效信号;
位宽转换FIFO按照输出位宽W′将存储的数据data_w输出至异步FIFO;
异步FIFO用于对接收的数据进行跨时钟域转换,将数据的时钟域转换至后端传输模块时钟域,同时异步FIFO将接收数据中最高位和接收数据对应数据有效信号中数据有效位相与后的信号作为异步FIFO的写使能信号,滤除无效数据段;
传输包生成模块用于从异步FIFO中读取数据,按照SRIO协议的要求生成传输包,将生成的传输包发送至SRIO传输模块;
SRIO传输模块用于从DSP模块接收读取信号rd_en_m并转发给轮询模块,将来自数据存储FIFO的编程满标志信号prog_full_m、来自轮询模块的读取完毕标志rd_finish_flag、来自传输包生成模块的传输包发送至DSP模块;
DSP模块在接收到编程满标志信号prog_full_m后,生成对该数据存储FIFO的读取信号rd_en_m发送给SRIO传输模块,当同时接收到两个以上编程满标志信号prog_full_m时,根据预先设置的数据存储FIFO的优先级,生成优先级最高的数据存储FIFO的读取信号rd_en_m并发送给SRIO传输模块,在接收到读取完毕标志rd_finish_flag后再生成下一个读取信号rd_en_m;DSP模块在接收到SRIO传输模块发送的传输包,根据预先设置的处理方法对传输包进行处理。
2.根据权利要求1所述的FPGA与DSP的数据传输系统,其特征在于,所述轮询模块包括选择器和计数器,选择器用于根据来自DSP的读取信号rd_en_m选择对应数据存储FIFO进行拼合数据读取,计数器用于对所读取数据进行计数,当所读取数据达到预设的编程满深度D后,即发送读取完毕标志rd_finish_flag至SRIO传输模块。
CN202111037539.0A 2021-09-06 2021-09-06 基于srio协议的fpga与dsp的数据传输系统 Active CN113806277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111037539.0A CN113806277B (zh) 2021-09-06 2021-09-06 基于srio协议的fpga与dsp的数据传输系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111037539.0A CN113806277B (zh) 2021-09-06 2021-09-06 基于srio协议的fpga与dsp的数据传输系统

Publications (2)

Publication Number Publication Date
CN113806277A true CN113806277A (zh) 2021-12-17
CN113806277B CN113806277B (zh) 2023-03-07

Family

ID=78894793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111037539.0A Active CN113806277B (zh) 2021-09-06 2021-09-06 基于srio协议的fpga与dsp的数据传输系统

Country Status (1)

Country Link
CN (1) CN113806277B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237369A (zh) * 2022-09-23 2022-10-25 成都博宇利华科技有限公司 一种高精度信息戳标记方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209089A1 (en) * 2007-02-27 2008-08-28 Integrated Device Technology, Inc. Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
WO2009065268A1 (fr) * 2007-11-21 2009-05-28 Zte Corporation Unité en bande de base, unité radio fréquence et système bs distribué de protocole srio
CN110971542A (zh) * 2019-11-22 2020-04-07 成都凯天电子股份有限公司 基于fpga的srio数据传输系统
CN111339003A (zh) * 2020-01-08 2020-06-26 中国船舶重工集团公司第七二四研究所 一种基于fpga的通用多通道数据发送系统及方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209089A1 (en) * 2007-02-27 2008-08-28 Integrated Device Technology, Inc. Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
WO2009065268A1 (fr) * 2007-11-21 2009-05-28 Zte Corporation Unité en bande de base, unité radio fréquence et système bs distribué de protocole srio
CN110971542A (zh) * 2019-11-22 2020-04-07 成都凯天电子股份有限公司 基于fpga的srio数据传输系统
CN111339003A (zh) * 2020-01-08 2020-06-26 中国船舶重工集团公司第七二四研究所 一种基于fpga的通用多通道数据发送系统及方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WANG YIFAN等: "A high precision fundamental frequency measurement method", 《2019 14TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONIC MEASUREMENT & INSTRUMENTS》 *
张峰等: "基于SRIO 的高速图像串行传输系统设计", 《光电工程》 *
陈婷等: "FPGA和DSP间基于SRIO的高速通信系统设计", 《单片机与嵌入式系统应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237369A (zh) * 2022-09-23 2022-10-25 成都博宇利华科技有限公司 一种高精度信息戳标记方法

Also Published As

Publication number Publication date
CN113806277B (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
CN109918332B (zh) Spi从设备及spi设备
CN107133011B (zh) 一种示波记录仪的多通道数据存储方法
CN111832240B (zh) Fifo数据传输方法及fifo存储装置
CN100452885C (zh) 一种基于pci的高速码流播放和接收装置
CN111949577B (zh) 一种高速高精度采样数据大容量存储快速传输方法
CN104022775A (zh) 一种面向SerDes技术中基于FIFO协议的数字接口电路
CN104639410A (zh) 一种现场总线光纤通信接口的设计方法
CN111930176B (zh) 多路lvds数据处理装置及方法
CN105573922B (zh) 一种实现数据格式转换的方法和装置
CN113806277B (zh) 基于srio协议的fpga与dsp的数据传输系统
CN103246754B (zh) 一种高速数字信号采集、存储系统
CN117852488B (zh) 一种高速串行数据收发系统及时序自适应方法
CN117908790B (zh) 一种基于单Channel多Die的ONFI PHY快速切换训练装置
CN118157807A (zh) 基于多通道adc芯片的阵列数据同步系统及方法
CN113726693A (zh) 一种fpga片间低速并行异步通信方法及通信系统
JP2023547185A (ja) Serdesインタフェース回路
CN111654358B (zh) 一种物理层传输真实误码采集装置及设备
CN112543025A (zh) 基于矩阵化的高速串行ad采样及数据处理系统及方法
CN218331988U (zh) 一种高速数字多通道采集系统
CN104536923B (zh) 一种多通道的干扰信号采集与处理验证系统
CN107608654B (zh) 多路异步信息的传输控制装置及方法
US7454543B2 (en) Early high speed serializer-deserializer (HSS)internal receive (Rx) interface for data sampling clock signals on parallel bus
CN215376139U (zh) 基于arm和fpga的高效数据采集系统
CN115765743A (zh) 基于zynq的多通道adc同步采集的装置及方法
CN110059036B (zh) 一种存储体内部多异步接口访问控制装置及方法

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